-+-+-+-+-+-+-+-+ START OF PART 75 -+-+-+-+-+-+-+-+ X0,80000,259,30,1,-100,0,0,0,'1d1',50), `7B174`7D X('& Prayer Book `5BBeginners Handbook+Words of Wisdom`5D',91,'?',%X'0000FFFF V', X0,2500,258,30,1,-100,0,0,0,'1d1',50), `7B175`7D X('& Prayer Book `5BChants+Blessings+Exorcism+Dispelling`5D',91,'?',%X'7FFF00 V00', X0,90000,261,30,1,-100,0,0,0,'1d1',50));`20 X `20 X X X store_choice := ( X`7B General Store `7D X(105,104,103,102,102,104,42,105,104,27,26,5,4,3,3,2,2,2,1,1,1,1,1,1,1,1), X`7B Armory `7D X(30,31,32,33,34,35,36,37,38,39,40,41,43,44,45,46,47,30,33,34,43,44,28,29,30, V31), X`7B Weaponsmith `7D X( 6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,6,7,23,25,23,25), X`7B Temple `7D X(71,72,73,74,59,59,77,79,80,81,84,85,13,14,15,96,97,98,100,79,79,80,80,81,72 V,98), X`7B Alchemy shop `7D X(55,56,57,58,58,60,61,62,63,64,65,66,75,76,78,82,83,60,61,62,63,64,98,99,98, V98), X`7B Magic-User store`7D V `20 X(67,49,50,51,52,53,54,48,68, X69,69,70,86,87,88,89,90,91,92,93,94,95,86,101,68,88), X`7BBlack Market`7D X(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1) X ); X`20 X`7B Each store will buy only certain items,based on TVAL `7D X store_buy := ( `20 X `5B25,30,32,80,77,15,13`5D, X `5B30,31,33,34,35,36`5D, X `5B10,11,12,20,21,22,23`5D, X `5B21,70,71,75,76,91`5D, X `5B70,71,75,76`5D, X `5B40,45,55,65,70,71,75,76,90`5D, X `5B11,12,20,21,22,23,30,31,32,33,34,35,40,45,55,60,65,70,71,75,76,90, V91,92`5D); X`20 X`7B Store owners have different characteristics for pricing and haggling X Note: Store owners should be added in groups,one for each store `7D X owners := ( X('Erick the Honest (Human) General Store',250,0.75,0.08,0.04,1,12 V), X('Mauglin the Grumpy (Dwarf) Armory',32000,1.00,0.12,0.04,6,5), X('Arndal Beast-Slayer (Half-Elf) Weaponsmith',10000,0.85,0.10,0.05,2,8) V, X('Hardblow the Humble (Human) Temple',3500,0.75,0.09,0.06,1,15), X('Ga-nat the Greedy (Gnome) Alchemist',12000,1.20,0.15,0.04,5,9), X('Valeria Starshine (Elf) Magic Shop',32000,0.75,0.10,0.05,3,11) V, X('Ugluk the Ugly (Orc) Black Market',10000000,2.5,1.5,0.01,7, V6), X('Andy the Friendly (Halfling) General Store',200,0.70,0.08,0.05,4,15 V), X('Darg-Low the Grim (Human) Armory',10000,0.90,0.11,0.04,1,9), X('Oglign Dragon-Slayer (Dwarf) Weaponsmith',32000,0.95,0.12,0.04,6,8) V, X('Gunnar the Paladin (Human) Temple',5000,0.85,0.10,0.05,1,23), X('Mauser the Chemist (Half-Elf) Alchemist',10000,0.90,0.11,0.05,2,8), X('Gopher the Great! (Gnome) Magic Shop',20000,1.15,0.13,0.06,5,10) V, X('Gloin the Fierce (Dwarf) Black Market',20000000,2.5,1.5,0.01,6, V4), X('Lyar-el the Comely (Elf) General Store',300,0.65,0.07,0.06,3,18 V), X('Mauglim the Horrible (Half-Orc) Armory',3000,1.00,0.13,0.05,7,9), X('Ithyl-Mak the Beastly (Half-Troll) Weaponsmith',3000,1.10,0.15,0.06,8,8), X('Delihla the Pure (Half-Elf) Temple',25000,0.80,0.07,0.06,2,20), X('Wizzle the Chaotic (Halfling) Alchemist',10000,0.90,0.10,0.06,4,8), X('Inglorian the Mage (Human?) Magic Shop',32000,1.00,0.10,0.07,1,10) V, X('Grima Wormtongue (Human?) Black Market',15000000,2.5,1.5,0.01,1, V5)); X`20 X`7B Each type of character starts out with a few provisions... X NOTE: the the entries refer to array elements of INVENTORY_INIT array`7D X player_init := ( V `20 X (1,104,42,7,33),`7B Warrior `7D X (1,104,42,7,67),`7B Mage `7D X (1,104,42,7,71),`7B Priest `7D X (1,104,42,7,33),`7B Rogue `7D X (1,104,42,7,67),`7B Ranger `7D `20 X (1,104,42,7,71),`7B Paladin `7D X (1,104,42,7,106),`7B Consultant `7D X (1,104,42,7,106));`7B Consultant `7D X `20 X`20 X`7B Identified objects flags `7D X object_ident := (max_objects of false); X`20 X`7B Traps are just Nasty treasures... `7D X trap_lista := ( `20 X('an open pit',102,' ',%X'00000000',0,0,1,0,0,0,0,0,0,'2d6',-50), X('an arrow trap',101,'.',%X'00000000',0,0,2,0,0,0,0,0,0,'1d8',0), X('a covered pit',101,'.',%X'00000000',0,0,3,0,0,0,0,0,0,'2d6',0), X('a trap door',101,'.',%X'00000000',0,0,4,0,0,0,0,0,0,'2d8',0), X('a gas trap' ,101,'.',%X'00000000',0,0,5,0,0,0,0,0,0,'1d4',0), X('a loose rock' ,101,'.',%X'00000000',0,0,6,0,0,0,0,0,0,'0d0',0), X('a dart trap',101,'.',%X'00000000',0,0,7,0,0,0,0,0,0,'1d4',0), X('a strange rune',101,'.',%X'00000000',0,0,8,0,0,0,0,0,0,'0d0',0), X('some loose rock' ,101,'.',%X'00000000',0,0,9,0,0,0,0,0,0,'2d6',0), X('a gas trap' ,101,'.',%X'00000000',0,0,10,0,0,0,0,0,0,'1d4',0), X('a strange rune',101,'.',%X'00000000',0,0,11,0,0,0,0,0,0,'0d0',0), X('a blackened spot',101,'.',%X'00000000',0,0,12,0,0,0,0,0,0,'4d6',0), X('some corroded rock',101,'.',%X'00000000',0,0,13,0,0,0,0,0,0,'4d6',0), X('a gas trap',101,'.',%X'00000000',0,0,14,0,0,0,0,0,0,'2d6',0), X('a gas trap',101,'.',%X'00000000',5,0,15,0,0,0,0,0,0,'1d4',10), X('a bomb',101,'.',%X'00000000',5,0,16,0,0,0,0,0,0,'10d6',5), X('a dart trap',101,'.',%X'00000000',5,0,17,0,0,0,0,0,0,'1d8',10), X('a dart trap',101,'.',%X'00000000',5,0,18,0,0,0,0,0,0,'1d8',10), X('a teleport trap',101,'.',%X'00000000',5,0,20,0,0,0,0,0,0,'0d0',10)); X`20 X`7B Traps: Level represents the difficulty of disarming;`20 X and P1 represents the experienced gained when disarmed`7D X trap_listb := ( X('an open pit',102,' ',%X'00000000',1,0,1,0,0,0,0,0,0,'2d6',-50), X('an arrow trap',102,'`5E',%X'00000000',3,0,2,0,0,0,0,0,0,'1d8',-10), X('a covered pit',102,'`5E',%X'00000000',2,0,3,0,0,0,0,0,0,'2d6',-40), X('a trap door',102,'`5E',%X'00000000',5,0,4,0,0,0,0,0,0,'2d8',-25), X('a gas trap' ,102,'`5E',%X'00000000',3,0,5,0,0,0,0,0,0,'1d4',5), X('a loose rock' ,102,';',%X'00000000',0,0,6,0,0,0,0,0,0,'0d0',-90), X('a dart trap',102,'`5E',%X'00000000',5,0,7,0,0,0,0,0,0,'1d4',10), X('a strange rune',102,'`5E',%X'00000000',5,0,8,0,0,0,0,0,0,'0d0',-10), X('some loose rock' ,102,'`5E',%X'00000000',5,0,9,0,0,0,0,0,0,'2d6',-10), X('a gas trap',102,'`5E',%X'00000000',10,0,10,0,0,0,0,0,0,'1d4',5), X('a strange rune' ,102,'`5E',%X'00000000',5,0,11,0,0,0,0,0,0,'0d0',-10), X('a blackened spot',102,'`5E',%X'00000000',10,0,12,0,0,0,0,0,0,'4d6',10), X('some shattered rock',102,'`5E',%X'00000000',10,0,13,0,0,0,0,0,0,'4d6',10), X('a gas trap',102,'`5E',%X'00000000',5,0,14,0,0,0,0,0,0,'2d6',5), X('a gas trap',102,'`5E',%X'00000000',5,0,15,0,0,0,0,0,0,'1d4',10), X('a bomb',102,'`5E',%X'00000000',25,0,16,0,0,0,0,0,0,'10d6',25), X('a dart trap',102,'`5E',%X'00000000',5,0,17,0,0,0,0,0,0,'1d8',10), X('a dart trap',102,'`5E',%X'00000000',5,0,18,0,0,0,0,0,0,'1d8',10), X`7B SPECIAL CASE,see DOOR_LIST below (SUBVALS MUST AGREE) `7D X('a closed door',105,'+',%X'00000000',0,0,19,0,0,0,0,0,0,'1d1',0), `2 V0 X('a teleport trap',102,'`5E',%X'00000000',0,0,20,0,0,0,0,0,0,'0d0',50)); X Xblk_mkt_trap :=`20 X('a Black Market Store',111,'7',%X'00000000',5,0,107,0,0,0,0,0,0,'1d1',100); X`20 X`7B Stores are just special traps `7D X store_door := ( X('The entrance to the General Store',110,'1',%X'00000000',0,0,101,0,0,0,0,0, V0,'0d0',0), X('The entrance to the Armory',110,'2',%X'00000000',0,0,102,0,0,0,0,0,0,'0d0' V,0), X('The entrance to the Weapon Smiths',110,'3',%X'00000000',0,0,103,0,0,0,0,0, V0,'0d0',0), X('The entrance to the Temple',110,'4',%X'00000000',0,0,104,0,0,0,0,0,0,'0d0' V,0), X('The entrance to the Alchemy Shop',110,'5',%X'00000000',0,0,105,0,0,0,0,0,0 V,'0d0',0), X('The entrance to the Magic Shop',110,'6',%X'00000000',0,0,106,0,0,0,0,0,0,' V0d0',0), X('The entrance to the Black Market',110,'7',%X'00000000',0,0,107,0,0,0,0,0,0 V,'0d0',1)); X X scare_monster := X('a strange rune',102,'`5E',%X'00000000',0,0,99,0,0,0,0,0,0,'0d0',-90); X`20 Xrubble := ('some rubble',103,':',%X'00000000',0,0,1,0,0,0,0,0,0,'0d0',0); X`20 X`7B Secret door must have same subval as closed door in TRAP_LISTB. X See CHANGE_TRAP`7D X door_list := ( X('an open door',104,'''',%X'00000000',0,0,1,0,0,0,0,0,0,'1d1',0), X('a closed door',105,'+',%X'00000000',0,0,19,0,0,0,0,0,0,'1d1',0), X('a secret door',109,'#',%X'00000000',0,0,19,0,0,0,0,0,0,'1d1',0)); X`20 X up_stair := ('an up staircase ',107,'<',%X'00000000',0,0,1,0,0,0,0,0,0,'1d1 V',0); X`20 X down_stair := ('a down staircase',108,'>',%X'00000000',0,0,1,0,0,0,0,0,0,'1 Vd1',0); X`20 X`20 X`7B Sets for easy testing `7D X floor_set := `5B1,2,4,5,6,7`5D; wall_set := `5B10,11,12`5D; X pwall_set := `5B10,11,12,15`5D; corr_set := `5B4,5`5D; X trap_set := `5B101,102,109,110,111`5D; `20 X light_set := `5B102,103,104,105,107,108,109,110,111`5D; X`20 X`7B Descriptive phrases `7D X colors := ( X 'Amber','Azure','Blue','Blue Speckled','Blue Spotted', X`09`09 'Black','Black Speckled','Black Spotted','Brown', X`09`09 'Brown Speckled','Brown Spotted','Bubbling', X 'Chartreuse','Clear','Cloudy','Copper','Copper Spotted V', X 'Crimson','Cyan','Dark Blue','Dark Green','Dark Red', X 'Ecru','Gold','Gold Spotted','Green','Green Speckled', X 'Green Spotted','Grey','Grey Spotted','Hazy','Indigo', X 'Light Blue','Light Green','Magenta','Metallic Blue', X 'Metallic Red','Metallic Green','Metallic Purple', X 'Misty','Orange','Orange Speckled','Orange Spotted', X 'Pink','Pink Speckled','Plaid','Puce','Purple', X 'Purple Speckled','Purple Spotted','Red','Red Speckled V', X 'Red Spotted','Silver','Silver Speckled', X 'Silver Spotted','Smokey','Tan','Tangerine','Topaz', X 'Turquoise','Violet','Vermilion','White', X 'White Speckled','White Spotted','Yellow' ); X mushrooms := ( X 'Blue','Black','Brown','Copper','Crimson','Dark blue', X 'Dark green','Dark red','Gold','Green','Grey', X 'Light Blue','Light Green','Orange','Pink','Plaid', X 'Purple','Red','Tan','Turquoise','Violet','White', X 'Yellow','Wrinkled','Wooden','Slimey','Speckled', X 'Spotted','Furry' ); X woods := ( X 'Applewood','Ashen','Aspen','Avocado wood','Balsa', X 'Banyan','Birch','Ceder','Cherrywood','Cinnibar', X 'Cottonwood','Cypress','Dogwood','Driftwood','Ebony', X 'Elm wood','Eucalyptus','Grapevine','Hawthorn','Hemloc Vk', X 'Hickory','Iron wood','Juniper','Locust','Mahogany', X 'Magnolia','Manzanita','Maple','Mulberry','Oak','Pecan V', X 'Persimmon','Pine','Redwood','Rosewood','Spruce','Suma Vc', X 'Sycamore','Teak','Walnut','Zebra wood' ); X metals := ( X 'Aluminium','Bone','Brass','Bronze','Cast Iron', X 'Chromium','Copper','Gold','Iron','Lead','Magnesium', X 'Molybdenum','Nickel','Pewter','Rusty','Silver','Steel V', X 'Tin','Titanium','Tungsten','Zirconium','Zinc', X 'Aluminium Plated','Brass Plated','Copper Plated', X 'Gold Plated','Nickel Plated','Silver Plated', X 'Steel Plated','Tin Plated','Zinc Plated' ); X rocks := ( X 'Amber','Agate','Alexandrite','Amethyst','Antlerite', X 'Aquamarine','Argentite','Azurite','Beryl','Bloodstone V', X 'Calcite','Carnelian','Coral','Corundum','Cryolite', X 'Diamond','Diorite','Emerald','Flint','Fluorite', X 'Gabbro','Garnet','Granite','Gypsum','Hematite','Jade' V, X 'Jasper','Kryptonite','Lapus lazuli','Limestone', X 'Malachite','Manganite','Marble','Moonstone', X 'Neptunite','Obsidian','Onyx','Opal','Pearl','Pyrite', X 'Quartz','Quartzite','Rhodonite','Rhyolite','Ruby', X 'Saphire','Sphalerite','Staurolite','Tiger eye','Topaz V', X 'Turquoise','Zircon' ); X amulets := ( X 'Birch','Ceder','Dogwood','Driftwood','Elm wood', X 'Hemlock','Hickory','Mahogany','Maple','Oak','Pine', X 'Redwood','Rosewood','Walnut','Aluminium','Bone','Bras Vs', X 'Bronze','Copper','Iron','Lead','Nickel','Agate', X 'Amethyst','Diamond','Emerald','Flint','Garnet','Jade' V, X 'Obsidian','Onyx','Opal','Pearl','Quartz','Ruby', X 'Saphire','Tiger eye','Topaz','Turquoise' ); X syllables := ( X 'a','ab','ag','aks','ala','an','ankh','app','arg','arz Ve', X 'ash','aus','ban','bar','bat','bek','bie','bin','bit', X 'bjor','blu','bot','bu','byt','comp','con','cos','cre' V, X 'dalf','dan','den','doe','dok','eep','el','eng','er', X 'ere','erk','esh','evs','fa','fid','for','fri','fu','g Van', X 'gar','glen','gop','gre','ha','he','hyd','i','ing','io Vn', X 'ip','ish','it','ite','iv','jo','kho','kli','klis','la V', X 'lech','man','mar','me','mi','mic','mik','mon','mung', X 'mur','nej','nelg','nep','ner','nes','nis','nih','nin' V, X 'o','od','ood','org','orn','ox','oxy','pay','pet','ple V', X 'plu','po','pot','prok','re','rea','rhov','ri','ro','r Vog', X 'rok','rol','sa','san','sat','see','sef','seh','shu', X 'ski','sna','sne','snik','sno','so','sol','sri','sta', X 'sun','ta','tab','tem','ther','ti','tox','trol','tue', X 'turs','u','ulk','um','un','uni','ur','val','viv','vly V', X 'vom','wah','wed','werg','wex','whon','wun','x','yerg' V, X 'yp','zun' );`20 X`20 X`7B Used in DESC.INC for replacing the & in descriptions `7D +-+-+-+-+-+-+-+- END OF PART 75 +-+-+-+-+-+-+-+-