-+-+-+-+-+-+-+-+ START OF PART 6 -+-+-+-+-+-+-+-+ X`09inven_init_max`09= 157;`09`7B Size of store init array`09`09`7D X`09cost_adj`09= 240.00; `7B FLOAT(Gold$value)--adjusts store costs `7D X`09weight_adj`09= 100;`09`7B Adjust weights of items `09`09`7D X`09quest_delay`09= 800; `7B # of turns to wait before char can get quest`7D X`20 X`09`7B Treasure constants`09`09`09`09`09`09`7D X`09equip_max = 15;`09`7B Size of equipment array`09`09`7D X`09max_obj_level = 256;`09`7B Maximum level of magic in dungeon`09`7D X`09max_objects = 471;`09`7B Number of objects for universe`09`7D X`09max_gold = 25;`09`7B Number of different types of gold`09`7D X`09max_talloc = 225;`09`7B Max objects per level`09`09`09`7D X`20 X`09`7B Money constants, for those of us who can't remember '12480' `7D X`09mithril$value`09= 12480;`7B Iron Pieces`09`09`09`09`7D X`09platinum$value`09= 960; X`09gold$value`09= 240; X`09silver$value`09= 20; X`09copper$value`09= 4; X`09iron$value`09= 1; X X`09`7B Constants describing limits of certain objects`09`09`7D X`09obj$lamp_max`09=15000; `7B Maximum amount that lamp can be filled`7D X`09obj$bolt_range`09= 18;`09`7B Maximum range of bolts and balls`09`7D X`09obj$rune_prot`09= 3000; `7B Rune of protection resistance`09`09`7D X`20 X`09`7B Creature contants`09`09`09`09`09`09`7D X`09max_creatures`09 = 415; `7B Number of creatures defined for univ`09`7D X`09max_malloc`09 = 100 + 1;`7B Max that can be allocated`09`09`7D X`09max_malloc_chance= 160; `7B 1/x chance of new monster each round`09`7D X`09max_mons_level`09 = 100; `7B Maximum level of creatures`09`09`7D X`09max_sight`09 = 20; `7B Maximum dis a creature can be seen`09`7D X`09max_spell_dis`09 = 18; `7B Maximum dis creat. spell can be cast`09`7D X`09max_mon_mult`09 = 75; `7B Maximum reproductions on a level`09`7D X`09min_malloc_level = 14; `7B Minimum number of monsters/level`09`7D X`09min_malloc_td`09 = 8; `7B Number of people on town level (day)`09`7D X`09min_malloc_tn`09 = 12; `7B Number of people on town level (night)`7D X`09win_mon_tot`09 = 2; `7B Total number of "win" creatures`09`7D X`09win_mon_appear`09 = 100; `7B Level where winning creatures begin`09`7D X`09out_of_env_dam`09 = 32; `7B max HP lost/rnd/2`5Emove in wrong env`09`7D X`09mon$summon_adj`09 = 2; `7B Adjust level of summoned creatures`09`7D X`09mon$drain_life`09 = 5; `7B Percent of player exp drained per hit `7D X`20 X`09`7B Trap constants`09`09`09`09`09`09`7D X`09max_trapa`09 = 19;`09`7B Number of defined traps`09`09`7D X`09max_trapb`09 = 20;`09`7B Includes secret doors`09`09`09`7D X`20 X`09`7B Descriptive constants`09`09`09`09`09`09`7D X`09max_colors = 67;`09`7B Used with potions`09`7D X`09max_mush = 29;`09`7B Used with mushrooms`09`7D X`09max_woods = 41;`09`7B Used with staffs`09`7D X`09max_metals = 32;`09`7B Used with wands`09`7D X`09max_horns = 13;`09`7B Used with horns`09`7D X`09max_rocks = 53;`09`7B Used with rings`09`7D X`09max_cloths = 7;`09`7B Used with bags/sacks`09`7D X`09max_amulets = 39;`09`7B Used with amulets`09`7D X`09max_syllables = 156;`09`7B Used with scrolls`09`7D X`20 X`09`7B Player constants`09`09`09`09`09`09`7D X`09max_quests`09 = 35;`09`7B Maximum number of quests per game`09`7D X`09max_spells`09 = 40;`09`7B Maximum number of spells per class`09`7D X`09max_player_level = 40;`09`7B Maximum possible character level`09`7D X`09max_races`09 = 10; `7B Number of defined races`09 `7D X`09max_class`09 = 10;`09`7B Number of defined classes`09`09`7D X`09max_messages`09 = 50; `7B Previous messages that in buffer`09`7D X`09use_device`09 = 3;`09`7B x> Harder devices x< Easier devices`09`7D X`09max_background`09 = 177; `7B Number of types of histories for univ `7D X`09num_quests`09 = 5;`09`7B # of possible quests to select from`09`7D X`09player_food_full =10000;`7B Getting full`09`09`09`09`7D X`09player_food_max`09 =15000;`7B Maximum food value, beyond is wasted`09`7D X`09player_food_faint= 300;`7B Character begins fainting`09`09`7D X`09player_food_weak = 1000;`7B Warn player that he is getting very low`7D X`09player_food_alert= 2000;`7B Warn player that he is getting low`09`7D X`09player$regen_faint = 0.0005;`09`7B Regen factor when fainting`09`7D X`09player$regen_weak = 0.0015;`09`7B Regen factor when weak`09`7D X`09player$regen_normal = 0.0030;`09`7B Regen factor when full`09`7D X`09player$regen_hpbase = 0.0220;`09`7B Min amount hp regen`09`09`7D X`09player$regen_mnbase = 0.0080;`09`7B Min amount mana regen`09`09`7D X`09player_weight_cap= 13;`09`7B "#"*(1/10 pounds) per strength point`09`7D X`09player_exit_pause= 0;`09`7B Pause time before player can re-roll`09`7D X`09max_high_scores = 100;`09`7B Maximum number of high scores to keep `7D X`09female`09= 1 ; X`09male`09= 2 ; X`09`7B Base to hit constants`09`09`09`09`09`09`7D X`09bth_lev_adj`09= 3;`09`7B Adjust BTH per level`09`09`09`7D X`09bth_plus_adj`09= 3;`09`7B Adjust BTH per plus-to-hit`09`09`7D X`09bth_hit`09`09= 12;`09`7B Automatic hit; 1/bth_hit`09`09`7D X`20 X`09`7B Misc`09`09`09`09`09`09`09`09`7D X`09null`09`09= chr(0); X`20 X`09Nothing_flag`09`09`09=`09%x'00000000'; X`09Everything_flag`09`09`09=`09%x'FFFFFFFF'; X`20 X`09`7B Flags for items that can be worn or wielded`09`09-DCJ-`09`7D X`09Strength_worn_bit`09`09=`09%x'00000001'; X`09Dexterity_worn_bit`09`09=`09%x'00000002'; X`09Constitution_worn_bit`09`09=`09%x'00000004'; X`09Intelligence_worn_bit`09`09=`09%x'00000008'; X`09Wisdom_worn_bit`09`09`09=`09%x'00000010'; X`09Charisma_worn_bit`09`09=`09%x'00000020'; X`09Searching_worn_bit`09`09=`09%x'00000040'; X`09Slow_digestion_worn_bit`09`09=`09%x'00000080'; X`09Stealth_worn_bit`09`09=`09%x'00000100'; X`09Aggravation_worn_bit`09`09=`09%x'00000200'; X`09Teleportation_worn_bit`09`09=`09%x'00000400'; X`09Regeneration_worn_bit`09`09=`09%x'00000800'; X`09Speed_worn_bit`09`09`09=`09%x'00001000'; X`09Slay_Dragon_worn_bit`09`09=`09%x'00002000'; X`09Slay_Monster_worn_bit`09`09=`09%x'00004000'; X`09Slay_Evil_worn_bit`09`09=`09%x'00008000'; X`09Slay_Undead_worn_bit`09`09=`09%x'00010000'; X`09Cold_Brand_worn_bit`09`09=`09%x'00020000'; X`09Flame_Brand_worn_bit`09`09=`09%x'00040000'; X`09Resist_Fire_worn_bit`09`09=`09%x'00080000'; X`09Resist_Acid_worn_bit`09`09=`09%x'00100000'; X`09Resist_Cold_worn_bit`09`09=`09%x'00200000'; X`09Sustain_Stat_worn_bit`09`09=`09%x'00400000'; X`09Free_Action_worn_bit`09`09=`09%x'00800000'; X`09See_Invisible_worn_bit`09`09=`09%x'01000000'; X`09Resist_Lightning_worn_bit`09=`09%x'02000000'; X`09Feather_Fall_worn_bit`09`09=`09%x'04000000'; X`09Blindness_worn_bit`09`09=`09%x'08000000'; X`09Timidness_worn_bit`09`09=`09%x'10000000'; X`09Tunneling_worn_bit`09`09=`09%x'20000000'; X`09Infra_vision_worn_bit`09`09=`09%x'40000000'; X`09Cursed_worn_bit`09`09`09=`09%x'80000000'; X`20 X`09`7B Flags for items that can be worn or wielded (flags2)`09`09`7D X`09Slay_demon_worn_bit`09`09=`09%x'00000001'; X`09Soul_Sword_worn_bit`09`09=`09%x'00000002'; X`09Slay_regen_worn_bit `09`09=`09%x'00000004'; X`09Swimming_worn_bit`09`09=`09%x'00000008'; X`09Magic_proof_worn_bit`09`09=`09%x'00000010'; X`09Disarm_worn_bit`09`09`09=`09%x'00000020'; X`09Sharp_worn_bit`09`09`09=`09%x'00000040'; X`7B`09Unused_bit`09`09`09=`09%x'00000080';`09`09`7D X`7B`09Unused_bit_set`09`09`09=`09%x'000FFF00';`09`09`7D X`7B`09Unused_bit`09`09`09=`09%x'00100000';`09`09`7D X`09Bad_repute_worn_bit`09`09=`09%x'00200000'; X`09Hunger_worn_bit`09`09`09=`09%x'00400000'; X`09Negative_gem_bit`09`09=`09%x'00800000'; X`09Increase_carry_worn_bit`09`09=`09%x'01000000'; X`7B`09Unused_bit`09`09`09=`09%x'02000000';`09`09`7D X`09Holding_bit`09`09`09=`09%x'04000000'; X`09Swallowing_bit`09`09`09=`09%x'08000000'; X`09Sharp_bit`09`09`09=`09%x'10000000'; `20 X`7B`09Unused_bit`09`09`09=`09%x'20000000';`09`09`7D X`09Insured_bit`09`09`09=`09%x'40000000'; X`09Known_cursed_bit`09`09=`09%x'80000000'; X`20 X`20 X`09`7B Constants for equipment inventory items`09`09-KRC-`09`7D X`20 X`09Equipment_min`09`09=`091; X`09Equipment_primary`09=`09Equipment_min; X`09Equipment_helm`09`09=`09Equipment_primary + 1; X`09Equipment_amulet`09=`09Equipment_helm + 1; X`09Equipment_armor`09`09=`09Equipment_amulet + 1; X`09Equipment_belt`09`09=`09Equipment_armor + 1; X`09Equipment_shield`09=`09Equipment_belt + 1; X`09Equipment_gloves`09=`09Equipment_shield + 1; X`09Equipment_bracers`09=`09Equipment_gloves + 1; X`09Equipment_right_ring`09=`09Equipment_bracers + 1; X`09Equipment_left_ring`09=`09Equipment_right_ring + 1; X`09Equipment_boots`09`09=`09Equipment_left_ring + 1; X`09Equipment_cloak`09`09=`09Equipment_boots + 1; X`09Equipment_light`09`09=`09Equipment_cloak + 1; X`09Equipment_secondary`09=`09Equipment_light + 1; X`20 X`09`7B tval constants`09`09`09`09`09-DCJ-`09`7D X`20 X`09Miscellaneous_Object`09=`091; X`09chest`09`09`09=`092; X`09misc_usable`09`09=`093; X`09valuable_jewelry`09=`094; X`09valuable_gems`09`09=`095; X`09bag_or_sack`09`09=`096; X`09valuable_gems_wear`09=`097; X`09sling_ammo`09`09=`0910; X`09bolt`09`09`09=`0911; X`09arrow`09`09`09=`0912; X`09spike`09`09`09=`0913; X`09Lamp_or_Torch`09`09=`0915; X`09bow_crossbow_or_sling`09=`0920; X`09hafted_weapon`09`09=`0921; X`09pole_arm`09`09=`0922; X`09dagger`09`09`09=`0923; X`09sword`09`09`09=`0924; X`09pick_or_shovel`09`09=`0925; X`09maul`09`09`09=`0926; X`09gem_helm`09`09=`0929; X`09boots`09`09`09=`0930; X`09gloves_and_gauntlets`09=`0931; X`09Cloak`09`09`09=`0932; X`09helm`09`09`09=`0933; X`09shield`09`09`09=`0934; X`09hard_armor`09`09=`0935; X`09soft_armor`09`09=`0936; X`09bracers`09`09`09=`0937; X`09belt`09`09`09=`0938; X`09amulet`09`09`09=`0940; X`09ring`09`09`09=`0945; X`09staff`09`09`09=`0955; X`09rod`09`09`09=`0960; X`09wand`09`09`09=`0965; X`09scroll1`09`09`09=`0970; X`09scroll2`09`09`09=`0971; X`09potion1`09`09`09=`0975; X`09potion2`09`09`09=`0976; X`09flask_of_oil`09`09=`0977; X`09food`09`09`09=`0980; X`09Junk_food`09`09= `0981; X`09chime`09`09`09=`0985; X`09horn`09`09`09=`0986; X`09Magic_Book`09`09=`0990; X`09Prayer_Book`09`09=`0991; X`09Instrument`09`09=`0992; X`09Song_Book`09`09=`0993; X`09valuable_metal`09`09=`09100; X`09Unseen_trap`09`09=`09101; X`09Seen_trap`09`09=`09102; X`09Rubble`09`09`09=`09103; X`09Open_door`09`09=`09104; X`09Closed_door`09`09=`09105; X`09Up_staircase`09`09=`09107; X`09Down_staircase`09`09=`09108; X`09Secret_door`09`09=`09109; X`09Entrance_to_store`09=`09110; X`09Up_steep_staircase`09=`09111; X`09Down_steep_staircase`09=`09112; `20 X `09Whirlpool`09`09=`09113; X X`09mithril_pos`09`09=`09max_gold; X`09platinum_pos`09`09=`09max_gold-1; X`09gold_pos`09`09=`09max_gold-2; X`09silver_pos`09`09=`09 4; X`09copper_pos`09`09=`09 3; X`09iron_pos`09`09=`09 2; X X`09total$ = 0; X`09iron = 1; X`09copper = 2; X`09silver = 3; X`09gold = 4; X`09platinum = 5; X`09mithril = 6; X X`09coin$weight = 5; X X`09ctrl_A`09`09`09= chr(1); X`09ctrl_B`09`09`09= chr(2); X`09ctrl_C`09`09`09= chr(3); X`09ctrl_D`09`09`09= chr(4); X`09ctrl_E`09`09`09= chr(5); X`09ctrl_F`09`09`09= chr(6); X`09ctrl_G`09`09`09= chr(7); X`09ctrl_H`09`09`09= chr(8); X`09ctrl_I`09`09`09= chr(9); X`09ctrl_J`09`09`09= chr(10); X`09ctrl_K`09`09`09= chr(11); X`09ctrl_L`09`09`09= chr(12); X`09ctrl_M`09`09`09= chr(13); X`09ctrl_N`09`09`09= chr(14); X`09ctrl_O`09`09`09= chr(15); X`09ctrl_P`09`09`09= chr(16); X`09ctrl_Q`09`09`09= chr(17); X`09ctrl_R`09`09`09= chr(18); X`09ctrl_S`09`09`09= chr(19); X`09ctrl_T`09`09`09= chr(20); X`09ctrl_U`09`09`09= chr(21); X`09ctrl_V`09`09`09= chr(22); X`09ctrl_W`09`09`09= chr(23); X`09ctrl_X`09`09`09= chr(24); X`09ctrl_Y`09`09`09= chr(25); X`09ctrl_Z`09`09`09= chr(26); X $ CALL UNPACK CONSTANTS.INC;1 273408782 $ create 'f' X`5BInherit('Moria.Env')`5D Module Create ; X X`09`7B Prints the following information on the screen.`09-JWT-`09`7D X`5Bglobal,psect(create$code)`5D procedure put_character; X begin X clear(1,1); X with py.misc do X`09begin X`09 prt('Name : ' + name,3,3); X`09 prt('Race : ' + race,4,3); X`09 prt('Sex : ' + sex,5,3); X`09 prt('Class : ' + tclass,6,3) X`09end X end; X X`09`7B Prints the following information on the screen.`09-JWT-`09`7D X`5Bglobal,psect(create$code)`5D procedure put_stats; X begin X with py do X`09begin X`09 prt_6_stats(stat.c,3,65); X`09 prt_num('+ To Hit : ',misc.dis_th,10,4); X`09 prt_num('+ To Damage: ',misc.dis_td,11,4); X`09 prt_num('+ To AC : ',misc.dis_tac,12,4); X`09 prt_num(' Total AC : ',misc.dis_ac,13,4); X`09end X end; X X`09`7B Updates the following information on the screen. (wow)-KRC-`09`7D X`5Bglobal,psect(create$code)`5D procedure upd_stats; X var tstat : stat_set; X begin X with py do X`09begin X`09 for tstat := sr to ca do X`09 prt_stat( '', stat.c`5Btstat`5D, 3+ord(tstat), 71 ); X`09 prt_num( '', misc.dis_th, 10, 17 ); X`09 prt_num( '', misc.dis_td, 11, 17 ); X`09 prt_num( '', misc.dis_tac,12, 17 ); X`09 prt_num( '', misc.dis_ac, 13, 17 ); X`09end X end; X X`09`7B Prints age, height, weight, and SC`09`09`09-JWT-`09`7D X`5Bglobal,psect(create$code)`5D procedure put_misc1; X begin X with py do X`09begin X`09 prt_num('Age : ',misc.age`09,3,40); X`09 prt_num('Height : ',misc.ht`09,4,40); X`09 prt_num('Weight : ',misc.wt`09,5,40); X`09 prt_num('Social Class : ',misc.sc`09,6,40); X`09 prt_num('Difficulty : ',misc.diffic`09,7,40); X`09end; X end; X X`09`7B Updates age, height, weight, and SC (amazing, huh?)`09-KRC-`09`7D X`5Bglobal,psect(create$code)`5D procedure upd_misc1; X begin X with py do X`09begin X`09 prt_num( '', misc.age, 3, 55 ); X`09 prt_num( '', misc.ht , 4, 55 ); X`09 prt_num( '', misc.wt , 5, 55 ); X`09 prt_num( '', misc.sc , 6, 55 ); X`09end; X end; X X`09`7B Prints the following information on the screen.`09-JWT-`09`7D X`5Bglobal,psect(create$code)`5D procedure put_misc2; X begin X with py.misc do X`09begin X`09 prt_num('Level : ',lev,10,31); X`09 prt_num('Experience : ',exp,11,31); X`09 prt_num('Gold : ',money`5Btotal$`5D,12,31); X`09 prt_num('Account : ',account,13,31); X`09 prt_num('Max Hit Points : ',mhp,10,54); X`09 prt_num('Cur Hit Points : ',trunc(chp),11,54); X`09 prt_num('Max Mana : ',mana,12,54); X`09 prt_num('Cur Mana : ',trunc(cmana),13,54); X`09end X end; X X`09`7B Prints ratings on certain abilities`09`09`09-RAK-`09`7D X`5Bglobal,psect(create$code)`5D procedure put_misc3; X var X`09xbth,xbthb,xfos,xsrh,xstl,xdis`09: integer; X`09xsave,xdev,xswm,xrep`09`09: integer; X`09xinfra`09`09`09`09: vtype; +-+-+-+-+-+-+-+- END OF PART 6 +-+-+-+-+-+-+-+-