/*************************************************************************** * _/_/_/_/ _/ _/ _/_/_/_/ _/_/_/_/ AckFUSS is modified ACK!MUD 4.3.1 * * _/ _/ _/ _/ _/ copyright Matt Goff (Kline) 2008 * * _/_/ _/ _/ _/_/_/_/ _/_/_/_/ * * _/ _/ _/ _/ _/ Support for this code is provided * * _/ _/_/_/_/ _/_/_/_/ _/_/_/_/ at www.ackmud.net -- check it out!* ***************************************************************************/ #include <ctype.h> #include <stdio.h> #include <string.h> #include <time.h> #include "globals.h" #ifndef DEC_ACT_WIZ_H #include "h/act_wiz.h" #endif #ifndef DEC_COMM_H #include "h/comm.h" #endif affect_data::~affect_data() { is_free = true; } area_data::~area_data() { is_free = true; } brand_data::~brand_data() { free_string(branded); free_string(branded_by); free_string(dt_stamp); free_string(message); free_string(priority); } char_data::~char_data() { int i = 0; MPROG_ACT_LIST *mpact; CHAR_DATA *rch; AFFECT_DATA *paf; ROOM_INDEX_DATA *room; ROOM_AFFECT_DATA *raf; is_free = true; while( first_carry != NULL ) extract_obj(first_carry); while( first_affect != NULL ) affect_remove(this,first_affect); while( (mpact = first_mpact) != NULL ) { first_mpact = mpact->next; PUT_FREE(mpact,mpact_free); } for( rch = first_char; rch; rch = rch->next ) { if( rch->master == this ) rch->master = NULL; if( rch->leader == this ) rch->leader = NULL; if( rch->fighting == this ) rch->fighting = NULL; if( rch->reply == this ) rch->reply = NULL; if( rch->hunting == this ) { if( IS_NPC(rch) && !IS_NPC(this) ) { free_string(rch->searching); rch->searching = str_dup(name); } else if( !IS_NPC(rch) ) send_to_char("@@RYou seem to have lost your prey.\n\r",rch); end_hunt(rch); } if( rch->hunt_for == this ) rch->hunt_for = NULL; if( rch->old_body == this ) { do_return(rch,""); rch->old_body = NULL; } for( mpact = rch->first_mpact; mpact; mpact = mpact->next ) { if( mpact->ch == this ) mpact->ch = NULL; if( mpact->vo == this ) mpact->vo = NULL; } for( paf = rch->first_affect; paf; paf = paf->next ) if( paf->caster == this ) paf->caster = NULL; } for( i = 0; i < MAX_KEY_HASH; i++ ) for( room = room_index_hash[i]; room; room = room->next ) for( raf = room->first_room_affect; raf; raf = raf->next ) if( raf->caster == this ) raf->caster = NULL; free_string(name); free_string(short_descr); free_string(long_descr); free_string(long_descr_orig); free_string(description); free_string(prompt); free_string(old_prompt); free_string(searching); free_string(target); #ifdef IMC imc_freechardata(this); #endif #ifdef I3 free_i3chardata(this); #endif delete current_brand; delete pnote; delete pcdata; } exit_data::~exit_data() { is_free = true; free_string(description); free_string(keyword); } mob_index_data::~mob_index_data() { is_free = true; free_string(player_name); free_string(short_descr); free_string(description); } note_data::~note_data() { is_free = true; free_string(text); free_string(subject); free_string(to_list); free_string(date); free_string(sender); } obj_data::~obj_data() { is_free = true; free_string(name); free_string(owner); free_string(short_descr); free_string(long_descr); } obj_index_data::~obj_index_data() { is_free = true; free_string(name); free_string(short_descr); free_string(long_descr); } pc_data::~pc_data() { PUT_FREE(quest_info,quest_info_free); PUT_FREE(records,record_free); PUT_FREE(super,super_free); free_string(pwd); free_string(bamfin); free_string(room_enter); free_string(room_exit); free_string(bamfout); free_string(title); free_string(host); free_string(header); free_string(message); free_string(who_name); free_string(lastlogin); free_string(assist_msg); for( short i = 0; i < MAX_ALIASES; i++ ) { free_string(alias_name[i]); free_string(alias[i]); } for( short i = 0; i < MAX_IGNORES; i++ ) free_string(ignore_list[i]); free_string(load_msg); free_string(pedit_state); for( short i = 0; i < 5; i++ ) free_string(pedit_string[i]); free_string(email_address); is_free = true; } reset_data::~reset_data() { is_free = true; free_string(notes); } room_index_data::~room_index_data() { free_string(name); free_string(description); } shop_data::~shop_data() { is_free = true; }