// Destroy snippet made by Melker, no credit is needed. IN ACT_OBJ.C add following: void do_destroy( CHAR_DATA *ch, char *argument ) { char arg[MAX_INPUT_LENGTH]; OBJ_DATA *obj; one_argument( argument, arg ); if( arg[0] == '\0' ) { send_to_char( "Destroy what?\n\r", ch ); return; } if(IS_AFFECTED(ch, AFF_CHARM)) { send_to_char("{cNoone can order you to destroy items.{x\n\r", ch ); return; } if((obj = get_obj_carry( ch, arg)) == NULL) { send_to_char("You do not have that item.\n\r", ch); return; } if( !str_cmp( arg, "all") || !str_prefix( "all.", arg )) { send_to_char( "One item at a time please.\n\r", ch ); return; } if(IS_OBJ_STAT(obj,ITEM_QUEST)) { send_to_char( "You can't destroy quest equipment.\n\r", ch); return; } if(!CAN_WEAR(obj,ITEM_TAKE)) { if(obj->timer) SET_BIT(obj->extra_flags,ITEM_HAD_TIMER); else obj->timer = number_range(100,200); } obj_from_char( obj ); extract_obj( obj ); act( "$p has been destroyed by $n.", ch, obj, NULL, TO_ROOM ); act( "$p has been destroyed!", ch, obj, NULL, TO_CHAR ); return; } IN INTERP.C add this: { "destroy", do_destroy, 1, POS_STANDING 0, 1, LOG_NORMAL, 1 }, IN INTERP.H add this: DECLARE_DO_FUN (do_destroy);