# IFM map for "Sorcerer" by Infocom (Steve Meretzky) # https://ifdb.tads.org/viewgame?id=lidg5nx9ig0bwk55 # # Copyright 2006 Alan De Smet, Some Rights Reserved # Released under a Creative Commons Attribution-ShareAlike 2.5 License # http://creativecommons.org/licenses/by-sa/2.5/ # More IFM maps: # http://www.highprogrammer.com/alan/games/video/ifmaps/ # Version 0.1 - Map is bare bones but complete. Tasks and scores are incomplete # Version 0.2 - Map is actually complete (still bare bones). Still impartial tasks and scores # TODO: Confirm that we have gnustoed a spell before we memorize it. # The demon is Jeearr # Spells from reading # foblub - glue to seat # gaspar - resurrection # lobal - sharpen hearing # conbak - strong body in 12 ways # zooka - eggs to overripe cabbage # stegaw - eggs to ripe guano # filfre - fireworks # gondar - extinguish fire # ozmoo # rezrov # sirano - wisdom? charisma? # faift - look younger # imali - worsen eyesight # bayala - some sort of body mod # musdex - some sort of body mod # otsung - erase gnusto'd spell # Discount Scroll House # frotz, rezrov, blorb, nitfol, QUELBO, GRIGPO, YOMIN, ONKIK, YIMFIL, VEZZA # BERZIO, IGNATZ, VILSTU, ONBIT, KWIN, WALDOE, KNALB, BLORT # My Spell book # gnusto - scribe spell # vezza - view future # pulver - dry liquid # izyuk - fly like bird # yomin - mind probe # rezrov - open # frotz - light # gaspar - self-resurrection # malyon - animate inaminate objects # swanzo - exorcise # vardik - shield a mind from an evil spirit # powerful scrolls # aimfiz - teleport to someone else # meef - kill plants # yonk - augment another spell # This style is used for connecting rooms between different map sections style Connection; room_shadow_xoff = 0; room_shadow_yoff = 0; ps.room_border_dashed = 1; tk.room_border_colour = "grey"; tk.room_colour = "grey90"; endstyle Connection; # This style is used fatal rooms style EndGame; room_shadow_xoff = 0; room_shadow_yoff = 0; ps.room_border_dashed = 1; tk.room_border_colour = "grey"; tk.room_colour = "grey90"; endstyle EndGame; style Hidden; ps.link_dashed = 1; endstyle Hidden; title "Sorcerer"; item "spell book" tag spellbook keep; ################################################################################ map "Hall of the Guild of Enchanters"; room "Your Quarters" tag Your_Quarters exit w score 5; task "frotz self. get up."; # must open with. room "Hallway" tag Hallway dir w exit n s w e; item "note" tag the_note; task "read note" need the_note; task "open door" tag door_hallway_n; room "Belboz's Quarters" tag Belbozs_Quarters dir w; task "look behind hanging"; item "small key" tag small_key after last; # hanging task "open drawer"; item "tiny box" tag tiny_box after last; # magic amulet attuned to Belboz item "infotater" tag infotater after last; item "journal" tag journal after last; task "open journal" need journal small_key; # TODO score of 15? task "read journal (note the code word)" tag learn_code after last; # Jeearr the demon, strange language item "magic amulet" tag magic_amulet hidden; task "examine tiny box. open tiny box. get amulet" need tiny_box give magic_amulet in any; # parrot says interesting things. Sounds of Belboz being hiding key and being attacked? room "Hallway" tag Hallway2 dir s from Hallway; room "Frobar's Quarters" tag Frobars_Quarters dir e; room "Helistar's Quarters" tag Helistars_Quarters dir w from Hallway2; item "shiny scroll" tag shiny_scroll; task "examine shiny scroll. gnusto gaspar" tag learned_gaspar need spellbook shiny_scroll lose shiny_scroll in any; room "Lobby" tag Lobby dir s s from Hallway2 exit n e w ne nw se; # se is DOWN task "open receptacle. put matchbook in receptacle. close receptacle" after understand_matchbook need depleted_matchbook lose depleted_matchbook; task "(wait for doorbell) open receptacle." after last; item "orange vial" tag orange_vial after last; # in receptacle item "popular enchanting" tag popular_enchating after last; # in receptacle room "Chamber of the Circle" tag Chamber_of_the_Circle dir n from Hallway after door_hallway_n; # tenets of the order on the walls. empty table. room "Servants' Quarters" tag Servants_Quarters dir ne from Lobby; room "Apprentice Quarters" tag Apprentice_Quarters dir nw from Lobby; room "Library" tag Library dir e from Lobby; item "dusty scroll" tag dusty_scroll; task "examine dusty scroll. gnusto meef" tag learned_meef need spellbook dusty_scroll lose dusty_scroll in any; task "examine volume"; # learn about 27 cubicles in the glass maze. Can consult. room "Store Room" tag Store_Room dir w from Lobby; item "ochre vial" tag ochre_vial; #BERZIO: No food or drink task "get vial. examine vial. open vial. drink potion." need ochre_vial lose ochre_vial; # TODO 10 points? item "calender" tag calender; # Provides light? Odd. item "depleted matchbook" tag depleted_matchbook; task "read matchbook" tag understand_matchbook need depleted_matchbook; # learn of VILSTU potion: don't need to breath room "Cellar" tag Cellar dir se from Lobby go down; task "(push buttons per the code you found earlier (see infotater))" after learn_code; item "moldy scroll" tag moldy_scroll; # aimfiz: transport to someone else ################################################################################ map "The Distant Lands (Dream / aimfiz Belboz)"; room "Twisted Forest" tag Twisted_Forest exit ne start; task "z" goto Your_Quarters; # MUST DO FIRST. We're initially here only in a dream. room "Tree Branch" dir n go up; room "Forest Edge" tag Forest_Edge dir ne from Twisted_Forest exit n e s; # s is down # AMULET: DIM room "Mine Field" dir n; room "Mine Field (Death)" style EndGame dir n; room "Meadow" tag Meadow dir e from Forest_Edge exit e ne; room "River Bank" tag River_Bank dir ne ne exit se sw; task "memorize pulver. pulver river" tag dry_river; room "Fort Entrance (Fort Griffspotter)" dir se exit e; room "Parade Ground" tag Parade_Ground dir e exit n s e w; # multiple exits task "lower flag. examine flag"; item "aqua vial" tag aqua_vial after last; # FOOBLE: muscular coordination item "flag of Quendor" tag flag_of_Quendor after last; room "Snake Pit" tag Snake_Pit dir s from Forest_Edge go down exit s; # s is down room "Drawbridge" tag Drawbridge dir e from Meadow exit e s; # s is down # AMULET: DIM room "Death by alligator and pirana" style EndGame dir s go down; room "Ruins (Egreth Castle)" tag Ruins dir e from Drawbridge exit n s; # up and down # AMULET: DIM room "Turret" dir n go up; room "Slimy Room" dir s from Snake_Pit go down; #DARK # AMULET: DIM room "Crater" tag Crater dir s s exit n s w ne; # AMULET: BRIGHT room "Winding Tunnel" tag Winding_Tunnel dir s from Crater exit n s sw; # AMULET: BRIGHT room "Edge of Chasm" dir w from Crater; # AMULET: BRIGHT task "memorize izyuk. izyuk self" tag flying_chasm need spellbook; # TODO: Really need to do to go either way, each time! room "Bare Passage" dir w after flying_chasm; # AMULET: BRIGHT room "Elbow Room" dir w exit e n; # AMULET: BRIGHT room "Tree Room" dir n; # Tree covered with zorkmids # AMULET: BRIGHT item "zorkmid" tag zorkmid hidden; task "get zorkmid" give zorkmid; room "Edge of Crater" dir ne from Crater exit sw ne; # AMULET: BRIGHT room "Bend" dir ne exit e sw; # AMULET: BRIGHT room "Highway" tag Highway dir e exit n w e; # n is also up #AMULET: BRIGHT room "Dungeon" tag Dungeon dir n go up exit e ne n; # n IS up # DARK #AMULET: DIM room "Torture Chamber" dir e exit w n; item "indigo vial" tag indigo_vial; # flaxo: exquisite torture room "Pit of Bones" tag Pit_of_Bones dir n exit s sw; # TODO: ALSO: small opening in ceiling link Pit_of_Bones to Dungeon; link Dungeon to Ruins go up; room "Toll Gate" dir e from Highway; # AMULET: GLOWING task "wake gnome. give zorkmid to gnome" tag open_gate need zorkmid lose zorkmid; task "search gnome" after last give zorkmid; room "Outside Store" tag Outside_Store dir e after open_gate exit s e w; # AMULET: GLOWING room "Store" tag Store dir s; # TODO: floor waxer # AMULET: GLOWING item "floor waxer CANNOT CARRY?"; room "End of Highway" tag End_of_Highway dir e from Outside_Store exit n e; # n is probably up # AMULET: GLOWING room "Stone Hut" tag Stone_Hut dir e; # empty fireplace # AMULET: GLOWING room "Entrance Hall" tag Entrance_Hall dir n from End_of_Highway exit n s; # AMULET: GLOWING room "Hall of Carvings" tag Hall_of_Carvings dir s from Winding_Tunnel; # AMULET: BRIGHT task "memorize malyon. yonk malyon. malyon dragon" tag moved_dragon after learned_malyon need ordinary_scroll lose ordinary_scroll; room "Park Entrance" tag Park_Entrance dir sw from Winding_Tunnel exit w ne; # Bozbarland; # AMULET: BRIGHT task "w. give zorkmid to gnome" tag open_park need zorkmid lose zorkmid; room "Barracks" dir n from Parade_Ground exit s se; room "Gun Emplacement" tag Gun_Emplacement dir se exit nw w sw; # cannon task "look in cannon"; # TODO: see scrolls. How to get? Something bites me. yippies? task "put guano in cannon" after last need bat_guano lose bat_guano; item "ordinary scroll" tag ordinary_scroll after last; task "examine ordinary scroll" need ordinary_scroll; # YONK: augment another spell. link Gun_Emplacement to Parade_Ground; room "Armory" tag Armory dir s from Parade_Ground exit n ne; link Gun_Emplacement to Armory; room "Outside Glass Arch" tag Outside_Glass_Arch dir n from Entrance_Hall exit e; task "memorize fweep. memorize fweep. memorize fweep. memorize fweep. memorize fweep. e. fweep self. n. e. s. s. w. d. e. e. n. n. u. u. s. e" goto Hollow; # N/S (+/-) and E/W (+/-) and up down (+/-) room "To Glass Maze" style Connection dir e nopath; room "East End of Midway" tag East_End_of_Midway dir w from Park_Entrance after open_park exit e n s; # AMULET: BRIGHT room "West End of Midway" tag West_End_of_Midway dir w exit e n s w; # AMULET: BRIGHT room "Casino" tag Casino dir w; # slot machine. Free? Impossible to win? # AMULET: BRIGHT task "pull lever (repeat until you get a zorkmid). get zorkmid" give zorkmid; room "Roller Coaster" tag Roller_Coaster dir n from West_End_of_Midway; # AMULET: BRIGHT # can get in for a ride. TODO: Can we safely exit mid-ride? room "Arcade" tag Arcade dir s from West_End_of_Midway; # AMULET: BRIGHT item "glittering scroll" tag glittering_scroll hidden; task "read aqua vial. get ball. open aqua vial. drink aqua potion. throw ball at bunny" need aqua_vial give glittering_scroll; task "example glittering scroll. gnusto malyon" tag learned_malyon need spellbook glittering_scroll lose glittering_scroll in any; room "Haunted House" tag Haunted_House dir n from East_End_of_Midway; link Haunted_House to Haunted_House dir nw; link Haunted_House to Haunted_House dir ne; link Haunted_House to Haunted_House dir sw; link Haunted_House to Haunted_House dir se; link Haunted_House to Haunted_House dir n; link Haunted_House to Haunted_House dir e; link Haunted_House to Haunted_House dir w; room "Flume" tag Flume dir s from East_End_of_Midway; # AMULET: BRIGHT # "get in boat" to ride room "River Bed" tag River_Bed dir ne ne from River_Bank go down after dry_river exit nw se sw ne; room "Hidden Cave" tag Hidden_Cave dir ne; item "pile of bat guano" tag bat_guano; item "soiled scroll" tag soiled_scroll; item "amber vial" tag amber_vial; # BLORT: See in dark places. task "examine soiled scroll. gnusto fweep" tag learned_fweep need spellbook soiled_scroll lose soiled_scroll; join Hidden_Cave to Pit_of_Bones cmd "d" oneway; room "Near Stagnant Pool" dir nw from River_Bed; room "Stagnant Pool (death)" style EndGame dir nw; room "Top of Falls" dir se from River_Bed; room "Sooty Room" tag Sooty_Room dir s from Hall_of_Carvings after moved_dragon; task "open orange vial" tag orange_open need orange_vial; join Sooty_Room to Coal_Bin_Room cmd "e" oneway; room "To Coal Bin Room" style Connection dir e oneway nopath; ################################################################################ map "Glass Maze Before Floor 3"; room "Inside the Glass Maze" tag GM200; room "Inside the Glass Maze v" tag GM210 dir e from GM200; join GM210 to GM110 go down; room "Inside the Glass Maze" tag GM201 dir s from GM200 nolink; room "Inside the Glass Maze" tag GM211 dir e from GM201; room "Inside the Glass Maze" tag GM202 dir s from GM201; room "Inside the Glass Maze v" tag GM212 dir e from GM202; room "Inside the Glass Maze" tag GM222 dir e from GM212; join GM212 to GM112 go down; room "Inside the Glass Maze" tag GM220 dir e from GM210 exit s nolink; room "Inside the Glass Maze" tag GM221 dir s from GM220 exit e; room "Hollow" tag Hollow dir e; item "parchment scroll" tag parchment_scroll; # swanzo task "put parchment scroll in hole" need parchment_scroll drop parchment_scroll in Stone_Hut; task "example parchment scroll. gnusto swanzo" tag learned_swanzo need spellbook parchment_scroll lose parchment_scroll in any; task "fweep self. w. w. s. e. d. d. w. w. u. u. n. n. d. e. s. e. fweep self. n. d. w. s. w. u. w" goto Outside_Glass_Arch; ################################################################################ map "Glass Maze Before Floor 2"; room "Inside the Glass Maze" tag GM101; room "To Outside Glass Arch" style Connection dir w from GM101; room "Inside the Glass Maze v" tag GM100 dir n from GM101; room "Inside the Glass Maze ^" tag GM110 dir e from GM100; room "Inside the Glass Maze" tag GM111 dir s from GM110; room "Inside the Glass Maze ^" tag GM112 dir s from GM111; room "Inside the Glass Maze v" tag GM102 dir w from GM112; room "Inside the Glass Maze" tag GM122 dir e from GM112; room "Inside the Glass Maze" tag GM121 dir n from GM122; room "Inside the Glass Maze v ^" tag GM120 dir n from GM121 nolink; join GM120 to GM220 go up; ################################################################################ map "Glass Maze Before Floor 1"; room "Inside the Glass Maze ^" tag GM000; room "Inside the Glass Maze" tag GM001 dir s from GM000; room "Inside the Glass Maze" tag GM011 dir e from GM001; room "Inside the Glass Maze" tag GM010 dir n from GM011; room "Inside the Glass Maze ^" tag GM002 dir s from GM001; room "Inside the Glass Maze" tag GM012 dir e from GM002; room "Inside the Glass Maze" tag GM022 dir e from GM012; room "Inside the Glass Maze" tag GM021 dir n from GM022; room "Inside the Glass Maze ^" tag GM020 dir n from GM021; join GM020 to GM120 go up; join GM000 to GM100 go up; join GM002 to GM102 go up; ################################################################################ map "Glass Maze After Floor 3"; room "Hollow" tag HollowAfter; room "Inside the Glass Maze" tag GMA221 dir w from HollowAfter; room "Inside the Glass Maze" tag GMA211 dir w from GMA221; room "Inside the Glass Maze" tag GMA212 dir s from GMA211; room "Inside the Glass Maze v" tag GMA222 dir e from GMA212; room "Inside the Glass Maze v" tag GMA210 dir n from GMA211 nolink; room "Inside the Glass Maze" tag GMA220 dir e from GMA210; room "Inside the Glass Maze v" tag GMA200 dir w from GMA210 nolink; room "Inside the Glass Maze" tag GMA201 dir s from GMA200; room "Inside the Glass Maze v" tag GMA202 dir s from GMA201; ################################################################################ map "Glass Maze After Floor 2"; room "Inside the Glass Maze v" tag GMA101; room "To Outside Glass Arch" style Connection dir w from GMA101; room "Inside the Glass Maze ^ v" tag GMA102 dir s from GMA101 nolink; room "Inside the Glass Maze ^" tag GMA100 dir n from GMA101 nolink; room "Inside the Glass Maze ^" tag GMA110 dir e from GMA100; room "Inside the Glass Maze" tag GMA111 dir s from GMA110; room "Inside the Glass Maze" tag GMA121 dir e from GMA111; room "Inside the Glass Maze v" tag GMA120 dir n from GMA121; room "Inside the Glass Maze ^ v" tag GMA122 dir s from GMA121 nolink; room "Inside the Glass Maze" tag GMA112 dir w from GMA122; ################################################################################ map "Glass Maze After Floor 1"; room "Inside the Glass Maze" tag GMA000; room "Inside the Glass Maze ^" tag GMA001 dir s from GMA000; room "Inside the Glass Maze" tag GMA011 dir e from GMA001; room "Inside the Glass Maze" tag GMA010 dir n from GMA011; room "Inside the Glass Maze ^" tag GMA020 dir e from GMA010; room "Inside the Glass Maze" tag GMA021 dir s from GMA020; room "Inside the Glass Maze ^" tag GMA022 dir s from GMA021 nolink; room "Inside the Glass Maze" tag GMA012 dir w from GMA022; room "Inside the Glass Maze ^" tag GMA002 dir w from GMA012; ################################################################################ map "Coal Mine (Penultimate Game)"; room "From Sooty Room" style Connection; room "Coal Bin Room" tag Coal_Bin_Room dir e oneway nopath exit n s ; # n - up coal chute, s - down coal chute. task "drink orange potion" after orange_open need orange_vial; task "examine stranger (note combination!). give spellbook to stranger" tag learned_combination need spellbook lose spellbook; task "tell twin, 'The combination is (combination)'. z. z." after time_travel; join Coal_Bin_Room to Lagoon_Shore cmd "d" oneway; room "Dial Room" tag Dial_Room dir e; task "turn dial to (combination)" after learned_combination; task "open door" tag opened_unlocked_door after last; room "Shaft Bottom" dir e after opened_unlocked_door; item "rope" tag rope; room "Shaft Top" tag Shaft_Top dir n n go up; link Shaft_Top to Shaft_Top dir e; room "Coal Mine" tag Coal_Mine_1 dir nw w; # TODO Shaft_Top sw and ne also goes here item "timber" tag timber; task "tie rope to timber" tag made_anchor need rope timber in any; # TODO: e -> Shaft_Top link Coal_Mine_1 to Shaft_Top dir s se ne; room "Coal Mine" tag Coal_Mine_2 dir ne n from Shaft_Top; link Coal_Mine_2 to Coal_Mine_2 dir se; link Coal_Mine_2 to Coal_Mine_1 dir w w sw; room "Coal Mine" tag Coal_Mine_3 dir n w w; room "Top of Shaft" tag Top_of_Shaft dir w; task "drop timber" tag anchor_1 need timber lose timber after made_anchor; task "put rope down chute" tag anchor_2 need rope lose rope after anchor_1; task "d" after anchor_2 goto Slanted_Room; room "Slanted Room" tag Slanted_Room dir nw from Coal_Bin_Room nolink; item "shimmering scroll" tag shimmering_scroll; # golmac: travel temporally item "lantern" tag lantern hidden; item "smelly scroll" tag smelly_scroll hidden; #vardik: shield a mind from an evil spirit task "golmac self. open lantern. get smelly scroll. get lantern" tag time_travel need shimmering_scroll lose shimmering_scroll give lantern smelly_scroll; task "gnusto vardik" tag learned_vardik need spellbook smelly_scroll lose smelly_scroll in any; link Slanted_Room to Coal_Bin_Room dir e s oneway; link Coal_Mine_3 to Coal_Mine_1 dir sw w se; link Coal_Mine_3 to Coal_Mine_3 dir n; room "To Lagoon Shore" style Connection dir s from Coal_Bin_Room oneway nopath; ################################################################################ map "By the Ocean (End Game)"; room "From Coal Bin Room" style Connection; room "Lagoon Shore" tag Lagoon_Shore dir s go down exit ne se oneway nopath; task "memorize meef" tag mem_meef_1 need spellbook; task "read crate. open create" need crate; item "grue suit" tag grue_suit after last; item "grue repellent" tag grue_repellent after last; item "brass lantern" tag brass_lantern after last; room "Ocean Shore North" tag Ocean_Shore_North dir ne exit n sw; room "Mouth of River" tag Mouth_of_River dir n ;#???exit w; task "memorize meef. meef vines" tag killed_vines need spellbook; # they want to eat me? task "spray grue repellent on self" tag repelled need grue_repellent; room "Grue Lair" tag Grue_Lair dir w need grue_suit after repelled; room "Mammoth Cavern" tag Mammoth_Cavern dir w exit nw w sw; # door of black marble, shiny silver, and bleached white wood respectively. task "memorize vardik. vardik self." tag vardik_self need spellbook; task "memorize swanzo" tag mem_swanzo need spellbook; task "memorize vezza. vezza self. memorize vezza. vezza self. memorize vezza. vezza self. memorize vezza. vezza self." tag learned_door need spellbook; # Brute force: four castings should reveal which door belboz is behind. room "Hall of Eternal Pain" style EndGame dir w from Mammoth_Cavern; room "Chamber of Living Death" style EndGame dir nw from Mammoth_Cavern; room "Belboz's Hideout" dir sw from Mammoth_Cavern after learned_door; task "swanzo belboz" score 25 after mem_swanzo vardik_self finish; room "Ocean Shore South" tag Ocean_Shore_South dir se from Lagoon_Shore; # The "leave spellbook" entries attempt to keep the spellbook out of the ocean (destroys the spellbook) room "Surface of Lagoon" tag Surface_of_Lagoon leave spellbook dir e from Lagoon_Shore; room "Lagoon Floor" leave spellbook dir se from Surface_of_Lagoon go down; task "meef spenseweed" after mem_meef_1; item "crate" tag crate after last; link Ocean_Shore_South to Surface_of_Lagoon leave spellbook dir n; link Ocean_Shore_North to Surface_of_Lagoon leave spellbook dir s;