ackfuss-4.3.9/area/
ackfuss-4.3.9/board/
ackfuss-4.3.9/help/e/
ackfuss-4.3.9/help/f/
ackfuss-4.3.9/help/h/
ackfuss-4.3.9/help/l/
ackfuss-4.3.9/help/n/
ackfuss-4.3.9/help/q/
ackfuss-4.3.9/help/s/
ackfuss-4.3.9/help/u/
ackfuss-4.3.9/help/v/
ackfuss-4.3.9/help/y/
ackfuss-4.3.9/help/z/
ackfuss-4.3.9/npc/a/
ackfuss-4.3.9/npc/b/
ackfuss-4.3.9/npc/c/
ackfuss-4.3.9/npc/d/
ackfuss-4.3.9/npc/e/
ackfuss-4.3.9/npc/f/
ackfuss-4.3.9/npc/h/
ackfuss-4.3.9/npc/i/
ackfuss-4.3.9/npc/k/
ackfuss-4.3.9/npc/l/
ackfuss-4.3.9/npc/n/
ackfuss-4.3.9/npc/o/
ackfuss-4.3.9/npc/p/
ackfuss-4.3.9/npc/r/
ackfuss-4.3.9/npc/s/
ackfuss-4.3.9/npc/w/
ackfuss-4.3.9/player/c/
/***************************************************************************
 * _/_/_/_/  _/    _/  _/_/_/_/ _/_/_/_/ 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_MONEY_H
#include "money.h"
#endif

affect_data::affect_data()
{
 is_free = false;
 next = NULL;
 prev = NULL;
 type = -1;
 duration = -1;
 location = -1;
 modifier = 0;
 bitvector = 0;
 caster = NULL;
 level = 0;
}

area_data::area_data()
{
 age = 15;
 area_num = 0;
 can_read = &str_empty[0];
 can_write = &str_empty[0];
 control = NULL;
 filename = &str_empty[0];
 flags.reset();
 first_area_mobile = NULL;
 first_area_mobprog = NULL;
 first_area_object = NULL;
 first_area_room = NULL;
 first_area_shop = NULL;
 first_reset = NULL;
 gold = 0;
 is_free = false;
 keyword = &str_empty[0];
 last_area_mobile = NULL;
 last_area_mobprog = NULL;
 last_area_object = NULL;
 last_area_room = NULL;
 last_area_shop = NULL;
 last_reset = NULL;
 level_label = str_dup("[ None ]");
 max_level = 1;
 max_vnum = 0;
 modified = false;
 min_level = 1;
 min_vnum = 0;
 name = str_dup("New Area");;
 next = NULL;
 nplayer = 0;
 owner = &str_empty[0];
 prev = NULL;
 reset_msg = str_dup("The area resets. How mystical...");
 reset_rate = 15;
}

brand_data::brand_data()
{
 branded = &str_empty[0];
 branded_by = &str_empty[0];
 dt_stamp = &str_empty[0];
 message = &str_empty[0];
 priority = &str_empty[0];
}

char_data::char_data()
{
 is_free = false;
 next = NULL;
 prev = NULL;
 is_quitting = false;
 next_in_room = NULL;
 prev_in_room = NULL;
 master = NULL;
 leader = NULL;
 fighting = NULL;
 reply = NULL;
 npc = false;
 hunting = NULL;
 hunt_obj = NULL;
 hunt_for = NULL;
 hunt_home = NULL;
 searching = &str_empty[0];
 hunt_flags = 0;
 switched = false;
 old_body = NULL;
 poly_level = 0;
 spec_fun = NULL;
 pIndexData = NULL;
 desc = NULL;
 first_affect = NULL;
 last_affect = NULL;
 first_saved_aff = NULL;
 last_saved_aff = NULL;
 pnote = NULL;
 first_carry = NULL;
 last_carry = NULL;
 in_room = NULL;
 was_in_room = NULL;
 pcdata = NULL;
 name = &str_empty[0];
 sitting = NULL;
 short_descr = &str_empty[0];
 long_descr = &str_empty[0];
 long_descr_orig = &str_empty[0];
 description = &str_empty[0];
 prompt = &str_empty[0];
 old_prompt = &str_empty[0];
 sex = 0;
 login_sex = 0;
 p_class = 0;
 clan = 0;
 race = 0;
 level = 0;
 for( short i = 0; i < MAX_CLASS; i++ )
  lvl[i] = 0;
 for( short i = 0; i < MAX_CLASS; i++ )
  lvl2[i] = 0;
 adept_level = 0;
 sentence = 0;
 invis = 0;
 incog = 0;
 trust = 0;
 wizbit = false;
 played = 0;
 logon = current_time;
 save_time = 0;
 last_note = 0;
 timer = 0;
 wait = 0;
 hit = 30;
 max_hit = 50;
 mana = 50;
 max_mana = 50;
 move = 50;
 max_move = 50;
 gold = 0;
 balance = 0;
 exp = 0;
 intell_exp = 0;
 act.reset();
 deaf.reset();
 act_build = 0;
 build_vnum = 0;
 affected_by = 0;
 position = POS_STANDING;
 practice = 21;
 carry_weight = 0.00;
 carry_number = 0;
 saving_throw = 0;
 alignment = 0;
 hitroll = 5;
 damroll = 5;
 armor = 100;
 ac_mod = 0;
 stance_ac_mod = 0;
 hr_mod = 0;
 stance_hr_mod = 0;
 dr_mod = 0;
 stance_dr_mod = 0;
 target = &str_empty[0];
 wimpy = 0;
 first_mpact = NULL;
 last_mpact = NULL;
 mpactnum = 0;
 skills = 0;
 cast = 0;
 def = 0;
 strong_magic = 0;
 weak_magic = 0;
 resist = 0;
 suscept = 0;
 race_mods = 0;
 power_skills = 0;
 power_cast = 0;
 riding = NULL;
 rider = NULL;
 first_shield = NULL;
 last_shield = NULL;
 stunTimer = 0;
 num_followers = 0;
 extract_timer = 0;
 current_brand = NULL;
 stance = 0;
 using_named_door = false;
 money = NULL;
 bank_money = NULL;
 ngroup = NULL;
 for( short i = 0; i < MAX_SPEED; i++ )
  speed[i] = 0;
 reset = NULL;
}

exit_data::exit_data()
{
 description = &str_empty[0];
 exit_info.reset();
 is_free = false;
 key = 0;
 keyword = &str_empty[0];
 next = NULL;
 to_room = NULL;
 vnum = 0;
}

mob_index_data::mob_index_data()
{
 act.reset();
 ac_mod = 0;
 affected_by = 0;
 alignment = 0;
 area = NULL;
 cast = 0;
 clan = 0;
 def = 0;
 description = &str_empty[0];
 dr_mod = 0;
 hr_mod = 0;
 first_mprog = NULL;
 hunt_flags = 0;
 is_free = false;
 killed = 0;
 last_mprog = NULL;
 for( short i = 0; i < MAX_SKILL; i++ )
  learned[i] = 0;
 level = 1;
 long_descr = &str_empty[0];
 next = NULL;
 player_name = &str_empty[0];
 position = 0;
 power_cast = 0;
 power_skills = 0;
 progtypes = 0;
 pShop = NULL;
 p_class = 0;
 race = 0;
 race_mods = 0;
 resist = 0;
 sex = 0;
 short_descr = &str_empty[0];
 skills = 0;
 spec_fun = NULL;
 for( short i = 0; i < MAX_SPEED; i++ )
  speed[i] = 0;
 strong_magic = 0;
 suscept = 0;
 target = &str_empty[0];
 vnum = 0;
 weak_magic = 0;
}

note_data::note_data()
{
 is_free = false;
 next = NULL;
 prev = NULL;
 sender = &str_empty[0];
 date = &str_empty[0];
 to_list = &str_empty[0];
 subject = &str_empty[0];
 text = &str_empty[0];
 date_stamp = 0;
}

obj_data::obj_data()
{
 is_free = false;
 next = NULL;
 prev = NULL;
 extra_flags.reset();
 wear_flags.reset();
 reset = NULL;
 next_in_carry_list = NULL;
 prev_in_carry_list = NULL;
 first_in_carry_list = NULL;
 last_in_carry_list = NULL;
 next_in_room = NULL;
 prev_in_room = NULL;
 first_in_room = NULL;
 last_in_room = NULL;
 first_content = NULL;
 last_content = NULL;
 next_content = NULL;
 prev_content = NULL;
 in_obj = NULL;
 obj_fun = NULL;
 carried_by = NULL;
 first_exdesc = NULL;
 last_exdesc = NULL;
 first_apply = NULL;
 last_apply = NULL;
 pIndexData = NULL;
 in_room = NULL;
 owner = &str_empty[0];
 name = &str_empty[0];
 short_descr = &str_empty[0];
 long_descr = &str_empty[0];
 item_type = 0;
 item_apply = 0;
 wear_loc = 0;
 weight = 0;
 cost = 0;
 level = 0;
 timer = 0;
 for( short i = 0; i < MAX_OBJ_VALUE; i++ )
  value[i] = 0;
 durability = 0;
 max_durability = 0;
 money = NULL;
 speed = 1.00;
}

obj_index_data::obj_index_data()
{
 area = NULL;
 durability = max_durability;
 extra_flags.reset();
 first_apply = NULL;
 first_exdesc = NULL;
 first_trigger = NULL;
 is_free = false;
 item_apply = 1;
 item_type = 1;
 last_apply = NULL;
 last_exdesc = NULL;
 last_trigger = NULL;
 level = 1;
 long_descr = &str_empty[0];
 max_durability = number_range(2,100);
 name = &str_empty[0];
 next = NULL;
 obj_fun = NULL;
 owner = &str_empty[0];
 short_descr = &str_empty[0];
 speed = number_speed();
 for( short i = 0; i < MAX_OBJ_VALUE; i++ )
  value[i] = 0;
 vnum = 0;
 wear_flags.reset();
 weight = 1;
}

pc_data::pc_data()
{
 is_free = false;
 next = NULL;
 prev = NULL;
 for( short i = 0; i < MAX_COLOR; i++ )
  color[i] = 0;
 pwd = &str_empty[0];
 bamfin = &str_empty[0];
 room_enter = &str_empty[0];
 room_exit = &str_empty[0];
 bamfout = &str_empty[0];
 title = &str_empty[0];
 host = str_dup("Unknown!");
 failures = 0;
 clan = 0;
 perm_str = 0;
 perm_int = 0;
 perm_wis = 0;
 perm_dex = 0;
 perm_con = 0;
 max_str = 0;
 max_int = 0;
 max_wis = 0;
 max_dex = 0;
 max_con = 0;
 mod_str = 0;
 mod_int = 0;
 mod_wis = 0;
 mod_dex = 0;
 mod_con = 0;
 monitor.reset();
 for( short i = 0; i < 3; i++ )
  condition[i] = 0;
 super = NULL;
 pagelen = 0;
 for( short i = 0; i < MAX_SKILL; i++ )
  learned[i] = 0;
 header = &str_empty[0];
 message = &str_empty[0];
 for( short i = 0; i < MAX_ALIASES; i++ )
 {
  alias_name[i] = &str_empty[0];
  alias[i] = &str_empty[0];
 }
 who_name = str_dup("off");;
 records = NULL;
 lastlogin = str_dup("Unknown!");
 for( short i = 0; i < MAX_CLASS; i++ )
  order[i] = 0;
 quest_points = 0;
 for( short i = 0; i < MAX_IGNORES; i++ )
  ignore_list[i] = &str_empty[0];
 recall_vnum = 0;
 mana_from_gain = 0;
 hp_from_gain = 0;
 move_from_gain = 0;
 load_msg = &str_empty[0];
 hicol = '\0';
 dimcol = '\0';
 ruler_rank = 0;
 pedit_state = &str_empty[0];
 for( short i = 0; i < 5; i++ )
  pedit_string[i] = &str_empty[0];
 term_rows = 0;
 term_columns = 0;
 email_address = &str_empty[0];
 valid_email = false;
 assist_msg = &str_empty[0];
 quest_info = NULL;
 movement = 0;
#ifdef IMC
 imcchardata = NULL;
#endif
}

reset_data::reset_data()
{
 is_free = false;
 next = NULL;
 prev = NULL;
 command = '\0';
 arg1 = 0;
 arg2 = 0;
 arg3 = 0;
 notes = &str_empty[0];
 count = 0;
}

room_index_data::room_index_data()
{
 static MONEY_TYPE *room_treasure;

 affected_by = 0;
 area = NULL;
 description = &str_empty[0];
 for( short i = 0; i < MAX_DIR; i++ )
  exit[i] = 0;
 first_content = NULL;
 first_exdesc = NULL;
 first_mark_list = NULL;
 first_person = NULL;
 first_room_affect = NULL;
 first_room_reset = NULL;
 is_free = false;
 last_content = NULL;
 last_exdesc = NULL;
 last_mark_list = NULL;
 last_person = NULL;
 last_room_affect = NULL;
 last_room_reset = NULL;
 light = 0;
 name = str_dup("New Room");
 next = NULL;
 room_flags.reset();
 sector_type = SECT_INSIDE;
 GET_FREE( room_treasure, money_type_free );
#ifdef DEBUG_MONEY
 {
  char testbuf[MSL];
  snprintf( testbuf, MSL,  "loading rooms, vnum %d", pRoomIndex->vnum );
  room_treasure->money_key = str_dup( testbuf );
 }
#endif
 treasure = room_treasure;
 vnum = 0;
}

shop_data::shop_data()
{
 is_free = false;
 next = NULL;
 prev = NULL;
 keeper = 0;
 for( short i = 0; i < MAX_TRADE; i++  )
  buy_type[i] = 0;
 profit_buy = 1;
 profit_sell = 1;
 open_hour = 0;
 close_hour = 0;
}