-+-+-+-+-+-+-+-+ START OF PART 101 -+-+-+-+-+-+-+-+ X`7BAll-Night Deli `7D(' ',' ',' ',' V ', X ' ',' ',' '), X`7BQuest Store `7D(' ',' ',' ',' V ', X`09`09 ' ',' ',' ')); X`09`7B Store owners can be bribed to open up their shop during X`09 certain hours (so that you can always have the opportunity to X`09 buy insurance, and suchlike.)`09`09`09`09`09`7D X`09store_bribe := ( X`09`09`09`0950, X`09`09`09`09150, `20 X`09`09`09`09150, X`09`09`09`0975, X`09`09`09`0975, X`09`09`09`09300, X`09`09`09`0925, X`09`09`09`0950, X`09`09`09`09100, X`09`09`09`0950, X`09`09`09`0975, X`09`09`09`09100, X`09`09`09`09100, X`09`09`09`0925, X`09`09`09`09100, X`09`09`09`090, X`09`09`09`090); X`20 X`09`7B Store owners have different characteristics for pricing and haggling` V7D X`09`7B Note: Store owners should be added in groups, one for each store ` V7D X`09owners`09`09:=`09( X`7Bset number one`7D X('Erick the Honest (Human) General Store', X`09 2500, 0.75, 0.08, 0.04, 1, 12), X('Mauglin the Grumpy (Dwarf) Armory'`09 , X`0932000, 1.00, 0.12, 0.04, 6, 5), X('Arndal Beast-Slayer (Half-Elf) Weaponsmith' , X`0910000, 0.85, 0.10, 0.05, 2, 8), X('Hardblow the Humble (Human) Temple'`09 , X`09 3500, 0.75, 0.09, 0.06, 1, 15), X('Ga-nat the Greedy (Gnome) Alchemist' , X`0912000, 1.20, 0.15, 0.04, 5, 9), X('Valeria Starshine (Elf) Magic Shop' , X`0932000, 0.75, 0.10, 0.05, 3, 11), X('Tika Majere (Human) Inn'`09 , X`0932000, 1.00, 0.08, 0.05, 1, 7), X('Socrates the Philosopher (Human) Library', X`09 5000, 1.00, 0.10, 0.05, 1, 10), X('Dysella of Oakglade (Dryad) Music Shop', X`0910000, 1.00, 0.10, 0.05,10, 10), X('The Dragon Master (Human) Gem Store', X 15000, 0.95, 0.10, 0.05, 1, 5), X('Grond the Grotesque`09(Half-Orc) All-Nite Deli', X`09 3000, 1.00, 0.10, 0.05, 7, 5), X X X`7Bset number two`7D X('Andy the Friendly (Halfling) General Store', X`09 2000, 0.70, 0.08, 0.05, 4, 15), X('Darg-Low the Grim (Human) Armory'`09 , X`0910000, 0.90, 0.11, 0.04, 1, 9), X('Oglign Dragon-Slayer (Dwarf) Weaponsmith' , X `0932000, 0.95, 0.12, 0.04, 6, 8), X('Gunnar the Paladin (Human) Temple'`09 , X`09 5000, 0.85, 0.10, 0.05, 1, 23), X('Mauser the Chemist (Half-Elf) Alchemist' , X`0910000, 0.90, 0.11, 0.05, 2, 8), X('K''rek Kwith the Quick (Phraint) Magic Shop' , X`0932000, 0.90, 0.10, 0.05, 9, 5), X('Samwise (Halfling) Inn'`09 , X`0932000, 0.70, 0.10, 0.05, 4, 12), X('Elrond the Wise (Elf) Library', X`09 5000, 1.00, 0.10, 0.05, 3, 10), X('Shaun the Bard (Human) Music Shop', X`0910000, 1.00, 0.10, 0.05, 1, 10), X('Ari-San (Elf) Gem Store', X 15000, 1.00, 0.10, 0.05, 3, 10), X('Gerald Ciceau`09`09 (Human) All-Nite Deli', X`09 3000, 1.00, 0.07, 0.05, 1, 5), X X`7Bset number three`7D X('Lyar-el the Comely (Elf) General Store', X`09 3000, 0.65, 0.07, 0.06, 3, 18), X('Mauglim the Horrible (Half-Orc) Armory'`09 , X`09 3000, 1.00, 0.13, 0.05, 7, 9), X('Ithyl-Mak the Beastly`09 (Half-Troll) Weaponsmith' , X`09 3000, 1.10, 0.15, 0.06, 8, 8), X('Delihla the Pure (Half-Elf) Temple'`09 , X`0925000, 0.80, 0.07, 0.06, 2, 20), X('Wizzle the Chaotic (Halfling) Alchemist' , X`0910000, 0.90, 0.10, 0.06, 4, 8), X('Inglorian the Mage (Human?) Magic Shop' , X`0932000, 1.00, 0.10, 0.07, 1, 10), X('Lucas the Portly (Human) Inn'`09 , X`0932000, 0.75, 0.10, 0.03, 1, 3), X('Dyxel the Beautiful (Dryad) Library', X`09 5000, 1.00, 0.10, 0.05,10, 15), X('Roland the Melodic (Halfling) Music Shop', X`0910000, 1.00, 0.10, 0.05, 4, 10), X('Galton the turrible (Half-Orc) Gem Store', X 15000, 0.95, 0.20, 0.05, 7, 4), X('Joseph Tansli`09`09 (Human) All-Nite Deli', X`09 3000, 1.00, 0.10, 0.05, 1, 10), X X`7Bset number four`7D X('Felimid mac Fal (Half-Elf) General Store', X`09 3500, 1.10, 0.15, 0.10, 2, 5), X('Andre the Dull (Half-Troll) Armory'`09 , X`0910000, 1.00, 0.08, 0.04, 7, 8), X('Vlad Taltos (Human) Weaponsmith' , X`0925000, 0.80, 0.10, 0.03, 1, 15), X('Brother Maynard (Human) Temple'`09 , X`0915000, 1.00, 0.15, 0.08, 1, 5), X('Questor Thews`09 (Gnome) Alchemist' , X`0920000, 0.70, 0.10, 0.02, 5, 10), X('Gopher the Great! (Gnome) Magic Shop' , X`0920000, 1.15, 0.13, 0.06, 5, 10), X('Dean the *Very* large (Phraint) Inn'`09 , X`0932000, 0.90, 0.10, 0.05, 9, 1), X('Kelstor the Sage (Human) Library', X`09 5000, 1.00, 0.10, 0.05, 1, 10), `20 X('K''phelt the Drone (Phraint) Music Shop', X`0910000, 1.00, 0.10, 0.05, 9, 10), X('Daphnea the Tender (Dryad) Gem Store', X 15000, 0.80, 0.10, 0.05,10, 3), X('Clarion the Exotic `09 (Dryad) All-Nite Deli', X`09 3000, 1.00, 0.10, 0.05,10, 5) X`09`09`09`09); X X`09`7B Each type of character starts out with a few provisions...`09`7D X`09`7B Note the the entries refer to array elements of INVENTORY_INIT array` V7D X`09player_init`09:=`09( X`09`09( 1, 104, 42, 7, 33),`09`7B Warrior`09`7D X`09`09( 1, 104, 42, 7, 67),`09`7B Mage`09`09`7D X`09`09( 1, 104, 42, 156, 71),`09`7B Priest`09`7D X`09`09( 1, 104, 33, 7, 111),`09`7B Rogue`09`09`7D X`09`09( 1, 104, 42, 7, 107),`09`7B Ranger`09`7D X`09`09( 1, 104, 42, 7, 71),`09`7B Paladin`09`7D X`09`09( 1, 104, 42, 156, 107),`09`7B Druid`09`09`7D X`09`09( 1, 104, 42, 7, 111),`09`7B Bard`09`09`7D X`09`09( 1, 104, 42, 7, 67),`09`7B Adventurer`09`7D X`09`09( 1, 104, 42, 28, 43)`09`7B Monk`09`09`7D X`09`09); X`20 X `20 X`09`7B Identified objects flags`09`09`09`09`09`7D X`09object_ident := (max_objects of false); X`20 X`09`7B Traps are just Nasty treasures...`09`09`09`09`7D X`09trap_lista`09:=`09( X('an open pit'`09`09`09`09`09 , Seen_trap, ' ',%X'00000000',%X'00000000', X 0,`09 0,`09 1, 0, 0,`090, 0,`09 0, 0, '2d6'`09 ,-50), X('an arrow trap'`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 0,`09 0,`09 2, 0, 0,`090, 0,`09 0, 0, '1d8'`09 , 0), X('a covered pit'`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 0,`09 0,`09 3, 0, 0,`090, 0,`09 0, 0, '2d6'`09 , 0), X('a trap door'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000' V, X 0,`09 0,`09 4, 0, 0,`090, 0,`09 0, 0, '2d8'`09 , 0), X('a gas trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 0,`09 0,`09 5, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 0), X('a loose rock'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000 V', X 0,`09 0,`09 6, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('a dart trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000' V, X 0,`09 0,`09 7, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 0), X('a strange rune'`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000' V, X 0,`09 0,`09 8, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('some loose rock'`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000 V', X 0,`09 0,`09 9, 0, 0,`090, 0,`09 0, 0, '2d6'`09 , 0), X('a gas trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 0,`09 0,`0910, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 0), X('a strange rune'`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000' V, X 0,`09 0,`0911, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('a blackened spot'`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'0000000 V0', X 0,`09 0,`0912, 0, 0,`090, 0,`09 0, 0, '4d6'`09 , 0), X('some corroded rock'`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000 V000', X 0,`09 0,`0913, 0, 0,`090, 0,`09 0, 0, '4d6'`09 , 0), X('a gas trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 0,`09 0,`0914, 0, 0,`090, 0,`09 0, 0, '2d6'`09 , 0), X('a gas trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 5,`09 0,`0915, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 10), X('a gas trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 5,`09 0,`0916, 0, 0,`090, 0,`09 0, 0, '1d8'`09 , 5), X('a dart trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000' V, X 5,`09 0,`0917, 0, 0,`090, 0,`09 0, 0, '1d8'`09 , 10), X('a dart trap'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000' V, X 5,`09 0,`0918, 0, 0,`090, 0,`09 0, 0, '1d8'`09 , 10), X('a chute'`09`09`09`09`09 , Unseen_trap, '.',%X'00000000',%X'00000000', X 5,`09 0,`0920, 0, 0,`090, 0,`09 0, 0, '4d8'`09 , 20) X`09`09`09`09); X`20 X`09`7B Traps: Level represents the difficulty of disarming;`09`7D X`09`7B and P1 represents the experienced gained when disarmed`7D X`09trap_listb`09:=`09( X('an open pit'`09`09`09`09`09 , Seen_trap, ' ',%X'00000000',%X'00000000', X 1,`09 0,`09 1, 0, 0,`090, 0,`09 0, 0, '2d6'`09 ,-50), X('an arrow trap'`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 3,`09 0,`09 2, 0, 0,`090, 0,`09 0, 0, '1d8'`09 ,-10), X('a covered pit'`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 2,`09 0,`09 3, 0, 0,`090, 0,`09 0, 0, '2d6'`09 ,-40), X('a trap door'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000' V, X 5,`09 0,`09 4, 0, 0,`090, 0,`09 0, 0, '2d8'`09 ,-25), X('a gas trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 3,`09 0,`09 5, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 5), X('a loose rock'`09`09`09`09`09 , Seen_trap, ';',%X'00000000',%X'00000000', X 0,`09 0,`09 6, 0, 0,`090, 0,`09 0, 0, '0d0'`09 ,-90), X('a dart trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000' V, X 5,`09 0,`09 7, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 10), X('a strange rune'`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000' V, X 5,`09 0,`09 8, 0, 0,`090, 0,`09 0, 0, '0d0'`09 ,-10), X('some loose rock'`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000 V', X 5,`09 0,`09 9, 0, 0,`090, 0,`09 0, 0, '2d6'`09 ,-10), X('a gas trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 10,`09 0,`0910, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 5), X('a strange rune'`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000' V, X 5,`09 0,`0911, 0, 0,`090, 0,`09 0, 0, '0d0'`09 ,-10), X('a blackened spot'`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'0000000 V0', X 10,`09 0,`0912, 0, 0,`090, 0,`09 0, 0, '4d6'`09 , 10), X('some corroded rock'`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000 V000', X 10,`09 0,`0913, 0, 0,`090, 0,`09 0, 0, '4d6'`09 , 10), X('a gas trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 5,`09 0,`0914, 0, 0,`090, 0,`09 0, 0, '2d6'`09 , 5), X('a gas trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 5,`09 0,`0915, 0, 0,`090, 0,`09 0, 0, '1d4'`09 , 10), X('a gas trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 5,`09 0,`0916, 0, 0,`090, 0,`09 0, 0, '1d8'`09 , 5), X('a dart trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000' V, X 5,`09 0,`0917, 0, 0,`090, 0,`09 0, 0, '1d8'`09 , 10), X('a dart trap'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000' V, X 5,`09 0,`0918, 0, 0,`090, 0,`09 0, 0, '1d8'`09 , 10), X`09`7B Special case, see DOOR_LIST below (subvals must agree)`09`7D X('a closed door'`09`09`09`09 , Closed_door, '+',%X'00000000',%X'00000000', X 0,`09 0,`0919, 0, 0,`090, 0,`09 0, 0, '1d1'`09 , 0), X('a chute'`09`09`09`09`09 , Seen_trap, '`5E',%X'00000000',%X'00000000', X 5,`09 0,`0920, 0, 0,`090, 0,`09 0, 0, '4d8'`09 , 20) X`09`09`09`09); X`20 X`09`7B Stores are just special traps`09`09`09`7D X`09store_door`09:= ( X('the entrance to the General Store'`09`09 , Entrance_to_store, 'G',%X'000 V00000',%X'00000000', X 0,`09 0, 101, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Armory'`09`09`09 , Entrance_to_store, 'R',%X'0000000 V0',%X'00000000', X 0,`09 0, 102, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Weapon Smiths'`09`09 , Entrance_to_store, 'W',%X'000 V00000',%X'00000000', X 0,`09 0, 103, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Temple'`09`09`09 , Entrance_to_store, 'T',%X'0000000 V0',%X'00000000', X 0,`09 0, 104, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Alchemy Shop'`09`09 , Entrance_to_store, 'A',%X'0000 V0000',%X'00000000', X 0,`09 0, 105, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Magic Shop'`09`09 , Entrance_to_store, 'M',%X'000000 V00',%X'00000000', X 0,`09 0, 106, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Inn'`09`09`09 , Entrance_to_store, 'I',%X'00000000', V%X'00000000', X 0,`09 0, 107, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Trading Post'`09`09 , Entrance_to_store, 'P',%X'0000 V0000',%X'00000000', X 0,`09 0, 108, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Library'`09`09`09 , Entrance_to_store, 'L',%X'000000 V00',%X'00000000', X 0,`09 0, 109, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Music Shop'`09`09 , Entrance_to_store, 'U',%X'000000 V00',%X'00000000', X 0,`09 0, 110, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Gem Store'`09`09 , Entrance_to_store, 'J',%X'0000000 V0',%X'00000000', X 0,`09 0, 113, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Insurance Shop'`09`09 , Entrance_to_store, 'N',%X'00 V000000',%X'00000000', X 0,`09 0, 111, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Bank'`09`09`09 , Entrance_to_store, 'B',%X'00000000' V,%X'00000000', X 0,`09 0, 112, 0, 0,`090, 0,`09 0, 0, '0d0'`09 , 0), X('the entrance to the Money Exchange'`09`09 , Entrance_to_store, 'X',%X'00 +-+-+-+-+-+-+-+- END OF PART 101 +-+-+-+-+-+-+-+-