Hi this is my version of "Tower of Rodinia"
https://docs.google.com/file/d/0B38tCbo ... sp=sharing
~Keagster101
Tower of Rodinia My version, made by Alex J. Rodinson I thin
-
- Posts: 6
- Joined: Sat Sep 14, 2013 5:32 pm
-
- Posts: 6
- Joined: Sat Sep 14, 2013 5:32 pm
Re: Tower of Rodinia My version, made by Alex J. Rodinson I
Hey guys, I am stuck on adding another shopkeeper, can someone PLEASE help me!
Code: Select all
[INTRO]
LEVEL = 1
CHARACTERHEALTH = 1000
CHARACTERGOLD = 200
MAGICITEMDESCRIPTOR$ = "your hands and feet"
ZOMBIESCRATCH$ = "NO"
OUTSIDETHETOWER$ = "YES"
LATITUDE = 300
LONGITUDE = 300
FIGHTINGSKILL = 50
CHARACTEREXP = 0
CHARACTERLEVEL = 1
CHARACTERMAXHEALTH = 1000
PRINT ""
PRINT "Game"
PRINT ""
GOTO [ROOMDESCRIPTION]
[SOULEATERTELEPORT]
PRINT ""
PRINT "A frindly Soul Eater walks up to you to ask if you want to be teleported to a random spot?"
PRINT ""
PRINT "(1) Do you want to teleport or"
PRINT "(2) Continue on your way."
PRINT ""
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [SOULEATERTELEPORT3]
IF REPLY$ = "2" THEN GOTO [REPEATROOMDESCRIPTIONOPTIONS]
PRINT ""
PRINT "Please enter a number from above."
PRINT ""
[SOULEATERTELEPORT3]
LATITUDE = INT(RND(0)*1000)+1
LONGITUDE = INT(RND(0)*1000)+1
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[GOLEMBUYPOTION]
IF LATITUDE = 15 THEN
GOTO [GOLEMBUYPOTION1]
END IF
IF LATITUDE > 15 OR LATITUDE < 15 THEN
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[GOLEMBUYPOTION1]
IF LONGITUDE = 15 THEN
GOTO [GOLEMBUYPOTION2]
END IF
IF LONGITUDE > 15 OR LONGITUDE < 15 THEN
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[GOLEMBUYPOTION2]
PRINT ""
PRINT "Golem says: 'Do you want to buy some health potions?'"
PRINT ""
PRINT "Do you want to..."
print ""
print "(1) Buy some health potions from the 'friendly' golem or"
print "(2) Not buy potions."
INPUT REPLY$
IF REPLY$ = "1" THEN
CHARACTERGOLD = CHARACTERGOLD - 100
CHARACTERHEALTH = 1000
END IF
IF REPLY$ = "2" THEN
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
IF CHARACTERGOLD < 0 THEN
CHARACTERGOLD = 0
END IF
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[NAGA]
IF LATITUDE = 10 THEN
GOTO [NAGAMAN]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[NAGAMAN]
IF LONGITUDE = 10 THEN
GOTO [NAGABUYWEAPON]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[NAGABUYWEAPON]
PRINT "A friendly Naga walks up to you and says: 'Do you want to buy some weapons?"
PRINT ""
PRINT ""
PRINT "Do you..."
PRINT ""
PRINT "(1) Buy some weapons or"
PRINT "(2) Not buy weapons."
INPUT REPLY$
GOTO [IFNAGABUYWEAPON]
[IFNAGABUYWEAPON]
IF REPLY$ = "1" THEN
GOTO [PICKUPMAGICITEM1]
ELSE
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[WINNING3]
IF LEVEL < -500 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[WINNING2]
IF LEVEL > 500 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[WINNING1]
IF LATITUDE < -500 AND LONGITUDE < -750 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[WINNING]
IF LATITUDE > 500 AND LONGITUDE > 750 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[WINNINGTHEGAME]
PRINT ""
PRINT "You won, you are the hero, the champion, of the ENDLESS JUNGLE!"
PRINT ""
GOTO [REPEATFATALINJURYOPTION]
[ROOMDESCRIPTION]
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
IF LATITUDE = 0 AND LONGITUDE = 0 AND OUTSIDETHETOWER$ = "YES" THEN GOTO [BASEOFTHETOWER]
IF OUTSIDETHETOWER$ = "YES" THEN FIRSTOPTION$ = "(1) walk north"
IF OUTSIDETHETOWER$ = "YES" THEN SECONDOPTION$ = "(2) walk east"
IF OUTSIDETHETOWER$ = "YES" THEN THIRDOPTION$ = "(3) walk south"
IF OUTSIDETHETOWER$ = "YES" THEN FOURTHOPTION$ = "(4) walk west"
IF OUTSIDETHETOWER$ = "YES" THEN FIFTHOPTION$ = "(5) exit the game"
IF OUTSIDETHETOWER$ = "YES" THEN SIXTHOPTION$ = "(6) Buy potions if at (15, 15)"
IF OUTSIDETHETOWER$ = "YES" THEN SEVENTHOPTION$ = "(7) Teleport if at (300, 300)"
IF OUTSIDETHETOWER$ = "NO" THEN FIRSTOPTION$ = "(1) go up the staircase"
IF OUTSIDETHETOWER$ = "NO" THEN SECONDOPTION$ = "(2) go down the staircase"
IF OUTSIDETHETOWER$ = "NO" THEN THIRDOPTION$ = "(3) explore this floor"
IF OUTSIDETHETOWER$ = "NO" THEN FOURTHOPTION$ = "(4) exit the game"
IF OUTSIDETHETOWER$ = "NO" AND LEVEL > 0 THEN FIFTHOPTION$ = "(5) jump out the window"
IF OUTSIDETHETOWER$ = "NO" AND LEVEL < 0 THEN FIFTHOPTION$ = ""
IF OUTSIDETHETOWER$ = "NO" AND LEVEL < 1 THEN SIXTHOPTION$ = ""
IF OUTSIDETHETOWER$ = "NO" AND LEVEL = 1 THEN SIXTHOPTION$ = "(6) leave the tower"
IF OUTSIDETHETOWER$ = "NO" AND LEVEL > 1 THEN SIXTHOPTION$ = ""
IF OUTSIDETHETOWER$ = "NO" THEN SEVENTHOPTION$ = ""
PRINT ""
GOTO [NAGA]
[ENVIRONMENTDESCRIPTION]
IF LEVEL < -1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 4
IF LEVEL <= -500 AND LEVEL > -1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 3
IF LEVEL <= -300 AND LEVEL > -500 THEN CHARACTERHEALTH = CHARACTERHEALTH - 2
IF LEVEL <= -100 AND LEVEL > -300 THEN CHARACTERHEALTH = CHARACTERHEALTH - 1
IF LEVEL < -50 THEN ENVIRONMENTDESCRIPTION$ = "The stifling conditions are starting to have a noticable effect on you."
IF LEVEL >= -50 AND LEVEL < -25 THEN ENVIRONMENTDESCRIPTION$ = "The lower you climb, the warmer it gets."
IF LEVEL >= -25 AND LEVEL < 1 AND OUTSIDETHETOWER$ = "NO" THEN ENVIRONMENTDESCRIPTION$ = "It is hot, humid and unpleasant down here."
IF LEVEL >= 1 AND LEVEL < 25 AND OUTSIDETHETOWER$ = "NO" THEN ENVIRONMENTDESCRIPTION$ = "The air is cool and calm here."
IF LEVEL >= 25 AND LEVEL < 50 AND OUTSIDETHETOWER$ = "NO" THEN ENVIRONMENTDESCRIPTION$ = "The air is getting noticeably cooler."
IF LEVEL >= 50 AND LEVEL < 100 THEN ENVIRONMENTDESCRIPTION$ = "The air is getting thin up here."
IF LEVEL >= 100 AND LEVEL < 200 THEN ENVIRONMENTDESCRIPTION$ = "Your nose is starting to bleed. You feel weak."
IF LEVEL >= 200 THEN ENVIRONMENTDESCRIPTION$ = "You are weakening with every step up."
IF OUTSIDETHETOWER$ = "YES" THEN ENVIRONMENTDESCRIPTION$ = "The air is tepid, still and stangnant."
IF OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN SURROUNDINGS$ = "You are standing in a dense jungle, outside the doors to a tall black round tower." ELSE SURROUNDINGS$ = "You are standing in a dense jungle, the tall black mysterious tower nearby."
IF LATITUDE > 50 OR LONGITUDE > 50 THEN SURROUNDINGS$ = "You are standing in a dense jungle. You see the black tower far in the distance."
IF OUTSIDETHETOWER$ = "NO" AND LEVEL > 0 THEN SURROUNDINGS$ = "You are inside a massive black round tower with a giant central spiral staircase."
IF OUTSIDETHETOWER$ = "NO" AND LEVEL < 1 THEN SURROUNDINGS$ = "You are inside a massive black round tower, underground. "
PRINT "Surroundings: " + SURROUNDINGS$'
GOTO [WINNING]
[WINDOWVIEW]
PRINT "Environment: " + ENVIRONMENTDESCRIPTION$
IF LEVEL > 0 AND LEVEL <= 10 THEN PRINT "View: You can see hills and farm fields."
IF LEVEL > 10 AND LEVEL <= 50 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: You are getting pretty high, but you still cannot see the top."
IF LEVEL > 50 AND LEVEL <= 100 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: You see birds of prey circling the tower."
IF LEVEL > 100 AND LEVEL <= 200 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: It is starting to get cloudy."
IF LEVEL > 200 AND LEVEL <= 300 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: The view is completely obscured by clouds and it is getting very cold."
IF LEVEL > 300 AND LEVEL <= 500 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: The clouds are starting to clear."
IF LEVEL > 500 AND LEVEL <= 1000 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: You can see the tops of the clouds! You should not be able to breathe up here."
IF LEVEL > 100 AND LEVEL <= 300 THEN CHARACTERHEALTH = CHARACTERHEALTH - 1
IF LEVEL > 300 AND LEVEL <= 500 THEN CHARACTERHEALTH = CHARACTERHEALTH - 2
IF LEVEL > 500 AND LEVEL <= 1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 3
IF LEVEL > 1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 4
IF ZOMBIESCRATCH$ = "YES" AND CHARACTERHEALTH <= 0 THEN GOTO [ZOMBIEENDING]
IF ZOMBIESCRATCH$ = "YES" AND CHARACTERHEALTH > 0 THEN GOTO [REPEATZOMBIEOPTION]
IF ZOMBIESCRATCH$ = "NO" THEN GOTO [ROOMDESCRIPTION2]
[REPEATZOMBIEOPTION]
CHARACTERHEALTH = CHARACTERHEALTH - 2
PRINT ""
PRINT "That zombie scratch is looking red, puffy and nasty. You're getting feverish."
PRINT ""
[ROOMDESCRIPTION2]
IF LEVEL < 1 THEN PRINT "Location: Level " ; LEVEL ; ", Latitude: " ; LATITUDE ; ", Longitude: " ; LONGITUDE ; ", HP: " ; CHARACTERHEALTH ; ", Gold: " ; CHARACTERGOLD ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP ; " Weapon: " ; MAGICITEMDESCRIPTOR$
IF LEVEL = 1 THEN PRINT "Location: Ground floor, Latitude: " ; LATITUDE ; ", Longitude: " ; LONGITUDE ; ", HP: " ; CHARACTERHEALTH ; ", Gold: " ; CHARACTERGOLD ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP ; " Weapon: " ; MAGICITEMDESCRIPTOR$
IF LEVEL > 1 THEN PRINT "Location: Level " ; LEVEL ; ", Latitude: " ; LATITUDE ; ", Longitude: " ; LONGITUDE ; ", HP: " ; CHARACTERHEALTH ; ", Gold: " ; CHARACTERGOLD ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP ; " Weapon: " ; MAGICITEMDESCRIPTOR$
PRINT "Character: Species: Human, Gender: Male, Fighting Skill: " ; FIGHTINGSKILL
[REPEATROOMDESCRIPTIONOPTIONS]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT FIRSTOPTION$ + " " + SECONDOPTION$ + " " + THIRDOPTION$ + " " + FOURTHOPTION$ + " " + FIFTHOPTION$ + " " + SIXTHOPTION$ + " " + SEVENTHOPTION$ + ""
INPUT REPLY$
IF REPLY$ = "1" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [ENTERTHETOWER]
IF REPLY$ = "1" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "1" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [STAIRCASE]
IF REPLY$ = "2" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "2" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [STAIRCASE]
IF REPLY$ = "3" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "3" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [RANDOMOCCURENCE]
IF REPLY$ = "4" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "4" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [REPEATENDINGOPTION]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "NO" AND LEVEL >= 1 THEN GOTO [JUMPOUTTHEWINDOW]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "NO" AND LEVEL < 1 THEN GOTO [OPTIONCORRECTION1]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [REPEATENDINGOPTION]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "NO" AND LEVEL = 1 THEN GOTO [LEAVETHETOWER]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 15 AND LONGITUDE = 15 THEN GOTO [OPTIONCORRECTION] ELSE GOTO [OPTIONCORRECTION1]
IF REPLY$ = "7" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 300 AND LONGITUDE = 300 THEN GOTO [SOULEATERTELEPORT]
IF REPLY$ = "7" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [OPTIONCORRECTION1]
IF REPLY$ = "7" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE > 300 AND LONGITUDE = 300 THEN GOTO [OPTIONCORRECTION1]
IF REPLY$ = "7" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE < 300 AND LONGITUDE = 300 THEN GOTO [OPTIONCORRECTION1]
IF REPLY$ = "7" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 300 AND LONGITUDE > 300 THEN GOTO [OPTIONCORRECTION1]
IF REPLY$ = "7" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 300 AND LONGITUDE < 300 THEN GOTO [OPTIONCORRECTION1]
[OPTIONCORRECTION]
GOTO [GOLEMBUYPOTION]
[OPTIONCORECTION2]
GOTO [SOULEATERTELEPORT]
[OPTIONCORRECTION1]
PRINT ""
PRINT ""
PRINT "Please enter a number from above."
PRINT ""
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[LEAVETHETOWER]
OUTSIDETHETOWER$ = "YES"
GOTO [ROOMDESCRIPTION]
[ENTERTHETOWER]
OUTSIDETHETOWER$ = "NO"
GOTO [ROOMDESCRIPTION]
[STAIRCASE]
IF REPLY$ = "1" AND LEVEL = -1 THEN LEVEL = LEVEL + 1
IF REPLY$ = "1" THEN LEVEL = LEVEL + 1
IF REPLY$ = "2" AND LEVEL < 0 THEN LEVEL = LEVEL - 1
IF REPLY$ = "2" AND LEVEL = 1 THEN LEVEL = LEVEL - 2
IF REPLY$ = "2" AND LEVEL > 0 THEN LEVEL = LEVEL - 1
GOTO [RANDOMOCCURENCE]
REM THIS IS THE END MY ONLY FRIEND
[ENDING]
PRINT "You have sustained fatal injury."
[REPEATFATALINJURYOPTION]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) start over from the beginning"
PRINT "(2) quit"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [INTRO]
IF REPLY$ = "2" GOTO [GAMEOVER]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATFATALINJURYOPTION]
GOTO [GAMEOVER]
[REPEATENDINGOPTION]
PRINT ""
PRINT "Are you certain you wish to leave the game?"
PRINT ""
PRINT "(1) yes"
PRINT "(2) no"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [GAMEOVER]
IF REPLY$ = "2" GOTO [ROOMDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATENDINGOPTION]
[REPEATENDINGOPTION2]
PRINT ""
PRINT "Are you certain you wish to leave the game?"
PRINT ""
PRINT "(1) yes"
PRINT "(2) no"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [GAMEOVER]
IF REPLY$ = "2" THEN GOTO [OUTSIDETHETOWER]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATENDINGOPTION2]
[GAMEOVER]
END
REM EVERY TIME THE PLAYER GOES TO A DIFFERENT FLOOR IN THE TOWER, S/HE MIGHT RUN ACROSS EITHER A CREATURE OR AN ITEM
[RANDOMOCCURENCE]
RANDOMOCCURENCE = INT(RND(0)*105)
IF RANDOMOCCURENCE <= 80 THEN GOTO [ROOMDESCRIPTION]
IF RANDOMOCCURENCE > 80 AND RANDOMOCCURENCE <= 85 THEN GOTO [DRINKVIAL]
IF RANDOMOCCURENCE > 85 AND RANDOMOCCURENCE <= 90 THEN GOTO [PICKUPMAGICITEM]
IF RANDOMOCCURENCE > 90 AND RANDOMOCCURENCE < 92 AND OUTSIDETHETOWER$ = "YES" THEN GOTO [POOL]
REM THIS SECTION IS THE ALGORITM FOR COMBATTING CREATURES IN THE TOWER
[ENCOUNTERACREATURE]
[SELECTCREATURETYPE]
SELECTACREATURETYPE = INT(RND(0)*47)
CREATUREHEALTH = INT(RND(0)*20)+1
CREATUREINITIALHEALTH = CREATUREHEALTH
CREATUREGOLD = INT(RND(0)*30)+20
CREATUREEXP = INT(RND(0)*30)+50
SELECT CASE SELECTACREATURETYPE
CASE 0
SELECTACREATURETYPE$ = "skeleton"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "strangles"
CREATUREWEAPON$ = "its hands"
CREATUREEXP = CREATUREEXP + 100
CASE 1
SELECTACREATURETYPE$ = "zombie"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "scratches"
CREATUREWEAPON$ = "its hands"
CREATUREEXP = CREATUREEXP + 100
CASE 2
SELECTACREATURETYPE$ = "lich"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "curses"
CREATUREWEAPON$ = "its dark magic"
CREATUREEXP = CREATUREEXP + 130
CASE 3
SELECTACREATURETYPE$ = "bandit"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "fires a dart at"
CREATUREWEAPON$ = "his pistol crossbow"
CREATUREEXP = CREATUREEXP + 100
CASE 4
SELECTACREATURETYPE$ = "swordsman"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "chops at"
CREATUREWEAPON$ = "his saber"
CREATUREEXP = CREATUREEXP + 100
CASE 5
SELECTACREATURETYPE$ = "mercenary"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "his trident"
CREATUREEXP = CREATUREEXP + 100
CASE 6
SELECTACREATURETYPE$ = "werewolf"
CREATUREHEALTH = CREATUREHEALTH + 130 + REGENERATION
CREATUREATTACKVERBAGE$ = "tears at"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 130 + REGENERATION
CASE 7
SELECTACREATURETYPE$ = "goblin"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "his trident"
CREATUREEXP = CREATUREEXP + 100
CASE 8
SELECTACREATURETYPE$ = "giant spider"
CREATUREHEALTH = CREATUREHEALTH + 110
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 110
CASE 9
SELECTACREATURETYPE$ = "vampire"
CREATUREHEALTH = CREATUREHEALTH + 130 + REGENERATION
CREATUREATTACKVERBAGE$ = "slices you"
CREATUREWEAPON$ = "his claws"
CREATUREEXP = CREATUREEXP + 130 + REGENERATION
CASE 10
SELECTACREATURETYPE$ = "cave troll"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "pummels"
CREATUREWEAPON$ = "his huge fists"
CREATUREEXP = CREATUREEXP + 200
CASE 11
SELECTACREATURETYPE$ = "basilisk"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "lashes out at"
CREATUREWEAPON$ = "its tail"
CREATUREEXP = CREATUREEXP + 120
CASE 12
SELECTACREATURETYPE$ = "giant bat"
CREATUREHEALTH = CREATUREHEALTH + 110
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 110
CASE 13
SELECTACREATURETYPE$ = "beholder"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "fires a magic missile at"
CREATUREWEAPON$ = "its magical spells"
CREATUREEXP = CREATUREEXP + 120
CASE 14
SELECTACREATURETYPE$ = "carrion crawler"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREXP = CREATUREEXP + 120
CASE 15
SELECTACREATURETYPE$ = "crocodile"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "slams"
CREATUREWEAPON$ = "its tail"
CREATUREEXP = CREATUREEXP + 120
CASE 16
SELECTACREATURETYPE$ = "cyclops"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "bashes"
CREATUREWEAPON$ = "his club"
CREATUREEXP = CREATUREEXP + 130
CASE 17
SELECTACREATURETYPE$ = "centaur"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "fires an arrow at"
CREATUREWEAPON$ = "his long bow"
CREATUREEXP = CREATUREEXP + 120
CASE 18
SELECTACREATURETYPE$ = "minotaur"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "gores"
CREATUREWEAPON$ = "his horns"
CREATUREEXP = CREATUREEXP + 130
CASE 19
SELECTACREATURETYPE$ = "greater demon"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "smothers and saps strength from"
CREATUREWEAPON$ = "its dark magic"
CREATUREEXP = CREATUREEXP + 200
CASE 20
SELECTACREATURETYPE$ = "displacer beast"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "slices"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 120
CASE 21
SELECTACREATURETYPE$ = "dracolich"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "curses"
CREATUREWEAPON$ = "its dark magic"
CREATUREEXP = CREATUREEXP + 200
CASE 22
SELECTACREATURETYPE$ = "dragon"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bashes"
CREATUREWEAPON$ = "its spiked tail"
CREATUREEXP = CREATUREEXP + 200
CASE 23
SELECTACREATURETYPE$ = "drow elf"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "a long knife"
CREATUREEXP = CREATUREEXP + 120
CASE 24
SELECTACREATURETYPE$ = "mummy"
CREATUREHEALTH = CREATUREHEALTH + 110
CREATUREATTACKVERBAGE$ = "strangles"
CREATUREWEAPON$ = "its strong hands"
CREATUREEXP = CREATUREEXP + 110
CASE 25
SELECTACREATURETYPE$ = "phase spider"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "appears above you and bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 100
CASE 26
SELECTACREATURETYPE$ = "medusa"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "hits"
CREATUREWEAPON$ = "her tail"
CREATUREEXP = CREATUREEXP + 120
CASE 27
SELECTACREATURETYPE$ = "manticore"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "slashes"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 120
CASE 28
SELECTACREATURETYPE$ = "hydra"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its many heads"
CREATUREEXP = CREATUREEXP + 200
CASE 29
SELECTACREATURETYPE$ = "golem"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bashes"
CREATUREWEAPON$ = "its stone hands"
CREATUREEXP = CREATUREEXP + 200
CASE 30
SELECTACREATURETYPE$ = "giant lizard"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "lashes"
CREATUREWEAPON$ = "its tail"
CREATUREEXP = CREATUREEXP + 200
CASE 31
SELECTACREATURETYPE$ = "wyvern"
CREATUREHEALTH = CREATUREHEALTH + 170
CREATUREATTACKVERBAGE$ = "stings"
CREATUREWEAPON$ = "its tail stinger"
CREATUREEXP = CREATUREEXP + 170
CASE 32
SELECTACREATURETYPE$ = "shambling mound"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "smothers"
CREATUREWEAPON$ = "layers of vegetation"
CREATUREEXP = CREATUREEXP + 130
CASE 33
SELECTACREATURETYPE$ = "roc"
CREATUREHEALTH = CREATUREHEALTH + 180
CREATUREATTACKVERBAGE$ = "rends"
CREATUREWEAPON$ = "its talons"
CREATUREEXP = CREATUREEXP + 180
CASE 34
SELECTACREATURETYPE$ = "giant rat"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "gnaws on"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 130
CASE 35
SELECTACREATURETYPE$ = "purple worm"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 200
CASE 36
SELECTACREATURETYPE$ = "short-faced bear"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "cuts"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 120
CASE 37
SELECTACREATURETYPE$ = "giant hound"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "death-shakes"
CREATUREWEAPON$ = "its powerful jaws"
CREATUREEXP = CREATUREEXP + 120
CASE 38
SELECTACREATURETYPE$ = "harpy"
CREATUREHEALTH = CREATUREHEALTH + 140
CREATUREATTACKVERBAGE$ = "claws"
CREATUREWEAPON$ = "its talons"
CREATUREEXP = CREATUREEXP + 140
CASE 39
SELECTACREATURETYPE$ = "griffon"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "slashes"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 130
CASE 40
SELECTACREATURETYPE$ = "gargoyle"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "slams"
CREATUREWEAPON$ = "its stone mass"
CREATUREEXP = CREATUREEXP + 200
CASE 41
SELECTACREATURETYPE$ = "blink dog"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its fangs"
CREATUREEXP = CREATUREEXP + 130
CASE 42
SELECTACREATURETYPE$ = "chimera"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "slices"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 130
CASE 43
SELECTACREATURETYPE$ = "dryad"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "her short spear"
CREATUREEXP = CREATUREEXP + 130
CASE 44
SELECTACREATURETYPE$ = "gorgon"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "gazes at"
CREATUREWEAPON$ = "her eyes"
CREATUREEXP = CREATUREEXP + 120
CASE 45
SELECTACREATURETYPE$ = "hippogriff"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "body slams"
CREATUREWEAPON$ = "its body weight"
CREATUREEXP = CREATUREEXP + 130
CASE 46
SELECTACREATURETYPE$ = "naga"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "body slams"
CREATUREWEAPON$ = "its body weight"
CREATUREEXP = CREATUREEXP + 120
CASE 47
SELECTACREATURETYPE$ = "soul eater"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "tries to destroy"
CREATUREWEAPON$ = "other souls"
CREATUREEXP = CREATUREEXP + 200
END SELECT
PRINT ""
PRINT "A " + SELECTACREATURETYPE$ + " confronts you."
[HITCREATUREAGAIN]
PRINT ""
PRINT "you: HP: " ; CHARACTERHEALTH ; " Gold: " ; CHARACTERGOLD ; " Weapon: " ; MAGICITEMDESCRIPTOR$ ; " Fighting Skill: " ; FIGHTINGSKILL ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP
PRINT SELECTACREATURETYPE$ + ": HP: " ; CREATUREHEALTH ; " Gold: " ; CREATUREGOLD ; " Weapon: " ; CREATUREWEAPON$
[REPEATHITCREATURE]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) engage the " + SELECTACREATURETYPE$ + " or"
PRINT "(2) retreat"
INPUT REPLY$
PRINT ""
IF REPLY$ = "1" THEN GOTO [CHARACTERATTACKSCREATURE]
IF REPLY$ = "2" THEN GOTO [ENVIRONMENTDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATHITCREATURE]
[CHARACTERATTACKSCREATURE]
CHARACTERATTACKSCREATURE = INT(RND(0)*100)+1
IF CHARACTERATTACKSCREATURE <= FIGHTINGSKILL THEN GOTO [CHARACTERHITSCREATURE]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN PRINT "You swing at the " + SELECTACREATURETYPE$ + " and miss."
CHARACTEREXPERIENCE = INT(RND(0)*150) + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN FIGHTINGSKILL = FIGHTINGSKILL + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER]
IF CHARACTEREXPERIENCE < FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER]
[CHARACTERHITSCREATURE]
CHARACTERDAMAGESCREATURE = INT(RND(0)*9*CHARACTERLEVEL*FIGHTINGSKILL)+2
TOTALDAMAGE = CHARACTERDAMAGESCREATURE + MAGICITEMDAMAGEFACTOR
CREATUREHEALTH = CREATUREHEALTH - TOTALDAMAGE
PRINT "You hit the " + SELECTACREATURETYPE$ + " and do " ; TOTALDAMAGE ; " points of damage."
IF CREATUREHEALTH <= 0 THEN GOTO [CREATUREDEFEATED]
IF MAGICITEMDESCRIPTOR$ = "staff" THEN
GOTO [SPELLBOOK1]
ELSE
GOTO [CREATUREATTACKSCHARACTER]
END IF
[SPELLBOOK1]
SELECTSPELLTYPE = INT(RND(0) * 4) + 1
SPELLDAMAGE = 5 * CHARACTERLEVEL + 15
SELECT CASE SELECTSPELLTYPE
CASE 1
SELECTSPELLTYPE$ = "Fire Blast"
SPELLDAMAGE = SPELLDAMAGE + 10
CASE 2
SELECTSPELLTYPE$ = "Thunder Storm"
SPELLDAMGE = SPELLAMAGE + 20
CASE 3
SELECTSPELLTYPE$ = "Fire and Ice"
SPELLDAMAGE = SPELLDAMAGE + 30
CASE 4
SELECTSPELLTYPE$ = "Fire Tornado"
SPELLDAMAGE = SPELLDAMAGE + 40
CASE 5
SELECTSPELLTYPE$ = "Thunder Tornado"
SPELLDAMAGE = SPELLDAMAGE + 50
END SELECT
GOTO [SPELLBOOK2]
[SPELLBOOK2]
MAGICITEMDESCRIPTOR$ = "Your powerful spells"
GOTO [REPEATHITCREATURE1]
[REPEATHITCREATURE1]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) engage the " + SELECTACREATURETYPE$ + " or"
PRINT "(2) retreat"
INPUT REPLY$
PRINT ""
IF REPLY$ = "1" THEN GOTO [CHARACTERATTACKSCREATURE1]
IF REPLY$ = "2" THEN GOTO [ENVIRONMENTDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATHITCREATURE1]
[CHARACTERATTACKSCREATURE1]
CHARACTERATTACKSCREATURE = INT(RND(0) * 100) + 1
IF CHARACTERATTACKSCREATURE <= FIGHTINGSKILL THEN GOTO [CHARACTERHITSCREATURE1]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN PRINT "You swing at the " + SELECTACREATURETYPE$ + " and miss."
CHARACTEREXPERIENCE = INT(RND(0)*150) + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN FIGHTINGSKILL = FIGHTINGSKILL + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER1]
IF CHARACTEREXPERIENCE < FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER1]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER1]
[CHARACTERHITSCREATURE1]
CHARACTERDAMAGESCREATURE = SPELLDAMAGE
TOTALDAMAGE = CHARACTERDAMAGESCREATURE + MAGICITEMDAMAGEFACTOR
CREATUREHEALTH = CREATUREHEALTH - TOTALDAMAGE
PRINT "You hit the " + SELECTACREATURETYPE$ + " and do " ; TOTALDAMAGE ; " points of damage."
IF CREATUREHEALTH <= 0 THEN GOTO [CREATUREDEFEATED]
[CREATUREATTACKSCHARACTER1]
IF SELECTCREATURETYPE = 6 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 9 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 47 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
CREATUREATTACKSCHARACTER = INT(RND(0)*2)+1
IF CREATUREATTACKSCHARACTER = 1 THEN GOTO [CREATUREHITSCHARACTER]
IF CREATUREATTACKSCHARACTER = 2 THEN PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and misses."
GOTO [HITCREATUREAGAIN]
[CREATUREHITSCHARACTER1]
CREATUREHITSCHARACTERDAMAGE = INT(RND(0)*9)+2
TOTALDAMAGE = CREATUREHITSCHARACTERDAMAGE
CHARACTERHEALTH=CHARACTERHEALTH-TOTALDAMAGE
PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and does " ; CREATUREHITSCHARACTERDAMAGE ; " points of damage."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [HITCREATUREAGAIN]
[CREATUREATTACKSCHARACTER]
IF SELECTCREATURETYPE = 6 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 9 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 47 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
CREATUREATTACKSCHARACTER = INT(RND(0)*2)+1
IF CREATUREATTACKSCHARACTER = 1 THEN GOTO [CREATUREHITSCHARACTER]
IF CREATUREATTACKSCHARACTER = 2 THEN PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and misses."
GOTO [HITCREATUREAGAIN]
[CREATUREHITSCHARACTER]
CREATUREHITSCHARACTERDAMAGE = INT(RND(0)*9)+2
TOTALDAMAGE = CREATUREHITSCHARACTERDAMAGE
CHARACTERHEALTH=CHARACTERHEALTH-TOTALDAMAGE
PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and does " ; CREATUREHITSCHARACTERDAMAGE ; " points of damage."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [HITCREATUREAGAIN]
[CREATUREDEFEATED]
PRINT ""
PRINT "Victory! The " + SELECTACREATURETYPE$ + " is dead. You also found some gold."
PRINT ""
CHARACTERGOLD = CHARACTERGOLD + CREATUREGOLD
CHARACTEREXP = CHARACTEREXP + CREATUREEXP
GOTO [characterlevel]
[characterlevel]
IF CHARACTEREXP >= 100 * CHARACTERLEVEL THEN
CHARACTERLEVEL = CHARACTERLEVEL + 1
PRINT "You leveled up to: " ; CHARACTERLEVEL ; "!"
CHARACTEREXP = CHARACTEREXP - (100 * CHARACTERLEVEL)
ELSE
GOTO [ENVIRONMENTDESCRIPTION]
END IF
GOTO [ENVIRONMENTDESCRIPTION]
REM THIS CODE ALLOWS THE PLAYER TO PICK UP AND RETAIN A MAGIC ITEM. THE STRENGTH OF THE ITEM IS SELECTED RANDOMLY.
[PICKUPMAGICITEM1]
MAGICITEMTYPE = INT(RND(0)*11)+1
SELECT CASE MAGICITEMTYPE
CASE 1
MAGICITEMTYPE$ = "long sword"
CASE 2
MAGICITEMTYPE$ = "staff"
CASE 3
MAGICITEMTYPE$ = "short sword"
CASE 4
MAGICITEMTYPE$ = "dagger"
CASE 5
MAGICITEMTYPE$ = "mace"
CASE 6
MAGICITEMTYPE$ = "morningstar"
CASE 7
MAGICITEMTYPE$ = "flail"
CASE 8
MAGICITEMTYPE$ = "two-handed sword"
CASE 9
MAGICITEMTYPE$ = "spiked gauntlet"
CASE 10
MAGICITEMTYPE$ = "cudgel"
CASE 11
MAGICITEMTYPE$ = "club"
END SELECT
PRINT "You bought a " + MAGICITEMTYPE$ + "."
GOTO [PICKUPITEM1]
[PICKUPITEM1]
MAGICITEMDAMAGEFACTOR = INT(RND(0)*20)+1
MAGICITEM = MAGICITEMDAMAGEFACTOR
MAGICITEMDESCRIPTOR$ = MAGICITEMTYPE$ + " (+ " ; MAGICITEMDAMAGEFACTOR ; " damage)"
PRINT ""
PRINT "The " + MAGICITEMTYPE$ + " feels very strong, light and balanced in your hand."
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[PICKUPMAGICITEM]
MAGICITEMTYPE = INT(RND(0)*11)+1
SELECT CASE MAGICITEMTYPE
CASE 1
MAGICITEMTYPE$ = "long sword"
CASE 2
MAGICITEMTYPE$ = "staff"
CASE 3
MAGICITEMTYPE$ = "short sword"
CASE 4
MAGICITEMTYPE$ = "dagger"
CASE 5
MAGICITEMTYPE$ = "mace"
CASE 6
MAGICITEMTYPE$ = "morningstar"
CASE 7
MAGICITEMTYPE$ = "flail"
CASE 8
MAGICITEMTYPE$ = "two-handed sword"
CASE 9
MAGICITEMTYPE$ = "spiked gauntlet"
CASE 10
MAGICITEMTYPE$ = "cudgel"
CASE 11
MAGICITEMTYPE$ = "club"
END SELECT
PRINT "You find a " + MAGICITEMTYPE$ + " on the ground."
GOTO [PICKUPMAGICITEMREPEAT]
[PICKUPMAGICITEMREPEAT]
PRINT "HP: " ; CHARACTERHEALTH ; " Gold: " ; CHARACTERGOLD ; " Weapon: " ; MAGICITEMDESCRIPTOR$
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) pick it up or"
PRINT "(2) leave it where it is"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [PICKUPITEM]
IF REPLY$ = "2" THEN GOTO [DONTPICKUPITEM]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [PICKUPMAGICITEMREPEAT]
[PICKUPITEM]
MAGICITEMDAMAGEFACTOR = INT(RND(0)*10)+1
MAGICITEM = MAGICITEMDAMAGEFACTOR
MAGICITEMDESCRIPTOR$ = MAGICITEMTYPE$ + " (+ " ; MAGICITEMDAMAGEFACTOR ; " damage)"
PRINT ""
PRINT "The " + MAGICITEMTYPE$ + " feels very strong, light and balanced in your hand."
GOTO [ENVIRONMENTDESCRIPTION]
[DONTPICKUPITEM]
PRINT ""
PRINT "You leave the unknown " + MAGICITEMTYPE$ + " lying on the ground."
GOTO [ENVIRONMENTDESCRIPTION]
REM THIS CODE CAUSES THE PLAYER TO ENCOUNTER A VIAL OF UNKNOWN LIQUID AND SEE IF IT HELPS OR HURTS
[DRINKVIAL]
LIQUIDCOLOR = INT(RND(0)*20)+1
SELECT CASE LIQUIDCOLOR
CASE 1
LIQUIDCOLOR$ = "red "
CASE 2
LIQUIDCOLOR$ = "pink "
CASE 3
LIQUIDCOLOR$ = "burnt orange "
CASE 4
LIQUIDCOLOR$ = "black "
CASE 5
LIQUIDCOLOR$ = "magenta "
CASE 6
LIQUIDCOLOR$ = "pea green "
CASE 7
LIQUIDCOLOR$ = "sky blue "
CASE 8
LIQUIDCOLOR$ = "custard yellow "
CASE 9
LIQUIDCOLOR$ = "clear "
CASE 10
LIQUIDCOLOR$ = "milky "
CASE 11
LIQUIDCOLOR$ = "brown and yellow "
CASE 12
LIQUIDCOLOR$ = "taupe "
CASE 13
LIQUIDCOLOR$ = "cerulean "
CASE 14
LIQUIDCOLOR$ = "midnight blue "
CASE 15
LIQUIDCOLOR$ = "glittery "
CASE 16
LIQUIDCOLOR$ = "honey-colored "
CASE 17
LIQUIDCOLOR$ = "snow white "
CASE 18
LIQUIDCOLOR$ = "goldenrod "
CASE 19
LIQUIDCOLOR$ = "copper "
CASE 20
LIQUIDCOLOR$ = "silver "
END SELECT
PRINT ""
PRINT "You find a vial with a glowing " + LIQUIDCOLOR$ + "liquid in it."
[DRINKVIALREPEAT]
PRINT "HP: " ; CHARACTERHEALTH ; " Gold: " ; CHARACTERGOLD ; " Weapon: " ; SWORDDESCRIPTOR$
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) drink the liquid or"
PRINT "(2) leave it where it is"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [DODRINKVIAL]
IF REPLY$ = "2" THEN GOTO [DONTDRINKVIAL]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [DRINKVIALREPEAT]
[DODRINKVIAL]
HEALORHURT = INT(RND(0)*2)+1
VIALEFFECTAMOUNT = INT(RND(0)*9)+2
IF HEALORHURT = 1 THEN GOTO [HEAL]
IF HEALORHURT = 2 THEN GOTO [HURT]
[HEAL]
CHARACTERHEALTH = CHARACTERMAXHEALTH
PRINT ""
PRINT "The liquid refreshes and energizes you. You are now at 1000 hit points!"
PRINT ""
GOTO [ENVIRONMENTDESCRIPTION]
[HURT]
CHARACTERHEALTH = CHARACTERHEALTH - VIALEFFECTAMOUNT
PRINT ""
PRINT "The liquid burns you on the inside. You lose " ; VIALEFFECTAMOUNT ; " hit points, bringing you to " ; CHARACTERHEALTH ; " total hit points."
PRINT ""
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [ENVIRONMENTDESCRIPTION]
[DONTDRINKVIAL]
PRINT ""
PRINT "You cautiously decide to leave the unknown liquid where it is."
GOTO [ENVIRONMENTDESCRIPTION]
REM THIS CODE MAKES BOTH THE WEREWOLF AND THE VAMPIRE REGENERATE.
[REGENERATION]
REGENERATION = INT(RND(0)*9)+1
CREATUREHEALTH = CREATUREHEALTH + REGENERATION
PRINT ""
PRINT "The " + SELECTACREATURETYPE$ + " regenerates. It gains " ; REGENERATION ; " hit points, giving it " ; CREATUREHEALTH ; " hit points."
PRINT ""
RETURN
GOTO [WINNING3]
[JUMPOUTTHEWINDOW]
FALLINGDAMAGE = LEVEL * 5
CHARACTERHEALTH = CHARACTERHEALTH - FALLINGDAMAGE
PRINT ""
PRINT "You throw yourself out the window and plummet to the ground, taking " ; FALLINGDAMAGE ; " points of damage."
IF LEVEL > 20 AND LEVEL <= 50 THEN PRINT "Your body hits the ground and bounces like a rag doll. Vultures take notice and rejoice."
IF LEVEL > 50 AND LEVEL <= 100 THEN PRINT "Your body makes an audible crack as it hits the solid earth. Scavengers will dine well tonight."
IF LEVEL > 100 AND LEVEL <= 1000 THEN PRINT "Your body hits the ground so hard that an arm and a leg detach and go flying into the jungle."
IF LEVEL > 1000 THEN PRINT "A dragon spots you falling, swoops down and swallows you just before you hit the ground."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
LEVEL = 1
PRINT "You stand up and brush the dirt off of your clothes."
GOTO [LEAVETHETOWER]
[ZOMBIEENDING]
PRINT ""
PRINT "As your heart stops, you turn into a zombie. You roam the tower,"
PRINT "attacking unlucky visitors and turning them into zombies."
GOTO [REPEATENDINGOPTION]
[WALKTHROUGHTHEJUNGLE]
IF LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [JUNGLEOUTSIDETHETOWER] ELSE GOTO [JUNGLEELSEWHERE]
[JUNGLEOUTSIDETHETOWER]
IF REPLY$ = "1" THEN GOTO [ENTERTHETOWER]
IF REPLY$ = "2" THEN LATITUDE = LATITUDE + 1
IF REPLY$ = "3" THEN LONGITUDE = LONGITUDE + 1
IF REPLY$ = "4" THEN LATITUDE = LATITUDE - 1
IF REPLY$ = "5" THEN LONGITUDE = LONGITUDE - 1
IF REPLY$ = "6" THEN GOTO [REPEATENDINGOPTION]
GOTO [RANDOMOCCURENCE]
[JUNGLEELSEWHERE]
IF REPLY$ = "1" THEN LATITUDE = LATITUDE + 1
IF REPLY$ = "2" THEN LONGITUDE = LONGITUDE + 1
IF REPLY$ = "3" THEN LATITUDE = LATITUDE - 1
IF REPLY$ = "4" THEN LONGITUDE = LONGITUDE - 1
IF REPLY$ = "5" THEN GOTO [REPEATENDINGOPTION]
IF REPLY$ = "6" THEN GOTO [OPTIONCORRECTION]
GOTO [RANDOMOCCURENCE]
[BASEOFTHETOWER]
FIRSTOPTION$ = "(1) enter the tower"
SECONDOPTION$ = "(2) walk north"
THIRDOPTION$ = "(3) walk east"
FOURTHOPTION$ = "(4) walk south"
FIFTHOPTION$ = "(5) walk west"
SIXTHOPTION$ = "(6) exit the game"
GOTO [ENVIRONMENTDESCRIPTION]
[POOL]
PRINT "You stumble upon a small pool of water."
PRINT "Do you"
PRINT ""
PRINT "(1) drink some water or"
PRINT "(2) leave it alone"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [DRINKFROMPOOL]
IF REPLY$ = "2" THEN GOTO [ROOMDESCRIPTION]
[DRINKFROMPOOL]
CHARACTERHEALTH = CHARACTERMAXHEALTH
PRINT "You feel completely rested and refreshed. You now have 1000 hitpoints."
GOTO [ROOMDESCRIPTION]
-
- Posts: 6
- Joined: Sat Sep 14, 2013 5:32 pm
Re: Tower of Rodinia My version, made by Alex J. Rodinson I
Code: Select all
[INTRO]
LEVEL = 1
CHARACTERHEALTH = 1000
CHARACTERGOLD = 200
MAGICITEMDESCRIPTOR$ = "your hands and feet"
ZOMBIESCRATCH$ = "NO"
OUTSIDETHETOWER$ = "YES"
LATITUDE = 350
LONGITUDE = 350
FIGHTINGSKILL = 50
CHARACTEREXP = 0
CHARACTERLEVEL = 1
CHARACTERMAXHEALTH = 1000
PRINT ""
PRINT "Game"
PRINT ""
GOTO [ROOMDESCRIPTION]
[DRAGONWEAPON]
IF LATITUDE = 350 THEN GOTO [DRAGONWEAPON1] ELSE GOTO [ROOMDESCRIPTION]
[DRAGONWEAPON1]
IF LONGITUDE = 350 THEN GOTO [DRAGONWEAPON2] ELSE GOTO [ROOMDESCRIPTION]
[DRAGONWEAPON2]
PRINT ""
PRINT "A dragon (who has always helped travelers) asks you if you want to buy a 'special wepaon'."
PRINT ""
PRINT "(1) Do you buy a special weapon for 20 gold or..."
PRINT "(2) do you continyue on your way."
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [PICKUPMAGICITEM2]
IF REPLY$ = "2" THEN GOTO [ROOMDESRIPTION]
print ""
print "Please enter a number from above."
print ""
[PICKUPMAGICITEM2]
MAGICITEMTYPE = INT(RND(0)*11)+1
MAGICITEMDAMAGEFACTOR = INT(RND(0)*20)+1
SELECT CASE MAGICITEMTYPE
CASE 1
MAGICITEMTYPE$ = "long sword"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 5
CASE 2
MAGICITEMTYPE$ = "staff"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 10
CASE 3
MAGICITEMTYPE$ = "short sword"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 15
CASE 4
MAGICITEMTYPE$ = "dagger"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 20
CASE 5
MAGICITEMTYPE$ = "mace"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 25
CASE 6
MAGICITEMTYPE$ = "morningstar"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 30
CASE 7
MAGICITEMTYPE$ = "flail"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 35
CASE 8
MAGICITEMTYPE$ = "two-handed sword"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 40
CASE 9
MAGICITEMTYPE$ = "spiked gauntlet"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 45
CASE 10
MAGICITEMTYPE$ = "cudgel"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 50
CASE 11
MAGICITEMTYPE$ = "club"
MAGICITEMDAMAGEFACTOR = MAGICITEMDAMAGEFACTOR + 55
END SELECT
PRINT "You bought a " + MAGICITEMTYPE$ + "."
CHARACTERGOLD = CHAACTERGOLD - 20
IF CHARACTERGOLD < 0 THEN CHARACETERGOLD = 0
GOTO [PICKUPITEM2]
[PICKUPITEM2]
MAGICITEM = MAGICITEMDAMAGEFACTOR
MAGICITEMDESCRIPTOR$ = MAGICITEMTYPE$ + " (+ " ; MAGICITEMDAMAGEFACTOR ; " damage)"
PRINT ""
PRINT "The " + MAGICITEMTYPE$ + " feels very strong, light and balanced in your hand."
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[SKELETONDAMAGE]
IF LATITUDE = 500 THEN GOTO [SKELETONDAMAGE1] ELSE GOTO [ROOMDECRIPTION]
[SKELETONDAMAGE1]
IF LONGITUDE = 500 THEN GOTO [SKELETONDAMAGE2] ELSE GOTO [ROOMDESCRIPTION]
[SKELETONDAMAGE2]
PRINT ""
PRINT "A skeleton walks up to you and asks if you want a Soul Eater to be Summoned."
PRINT ""
PRINT "(1) Tell him yes OR..."
PRINT "(2) tell him no..."
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [SKELETONSUMMON]
IF REPLY$ = "2" THEN GOTO [ROOMDESCRIPTION]
PRINT ""
PRINT "Please enter a number from above..."
PRINT ""
[SKELETONSUMMON]
SELECTACREATURETYPE = INT(RND(0)*1)
CREATUREHEALTH = INT(RND(0)*20)+1
CREATUREINITIALHEALTH = CREATUREHEALTH
CREATUREGOLD = INT(RND(0)*30)+20
CREATUREEXP = INT(RND(0)*30)+50
SELECT CASE SELECTACREATURETYPE
CASE 0
SELECTACREATURETYPE$ = "soul eater"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "tries to destroy"
CREATUREWEAPON$ = "other souls"
CREATUREEXP = CREATUREEXP + 200
END SELECT
PRINT ""
PRINT "A " + SELECTACREATURETYPE$ + " confronts you."
[HITCREATUREAGAIN2]
PRINT ""
PRINT "you: HP: " ; CHARACTERHEALTH ; " Gold: " ; CHARACTERGOLD ; " Weapon: " ; MAGICITEMDESCRIPTOR$ ; " Fighting Skill: " ; FIGHTINGSKILL ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP
PRINT SELECTACREATURETYPE$ + ": HP: " ; CREATUREHEALTH ; " Gold: " ; CREATUREGOLD ; " Weapon: " ; CREATUREWEAPON$
[REPEATHITCREATURE2]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) engage the " + SELECTACREATURETYPE$ + " or"
PRINT "(2) retreat"
INPUT REPLY$
PRINT ""
IF REPLY$ = "1" THEN GOTO [CHARACTERATTACKSCREATURE]
IF REPLY$ = "2" THEN GOTO [ENVIRONMENTDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATHITCREATURE2]
[CHARACTERATTACKSCREATURE2]
CHARACTERATTACKSCREATURE = INT(RND(0)*100)+1
IF CHARACTERATTACKSCREATURE <= FIGHTINGSKILL THEN GOTO [CHARACTERHITSCREATURE2]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN PRINT "You swing at the " + SELECTACREATURETYPE$ + " and miss."
CHARACTEREXPERIENCE = INT(RND(0)*150) + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN FIGHTINGSKILL = FIGHTINGSKILL + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER2]
IF CHARACTEREXPERIENCE < FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER2]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER2]
[CHARACTERHITSCREATURE2]
CHARACTERDAMAGESCREATURE = INT(RND(0)*9*CHARACTERLEVEL*FIGHTINGSKILL)+2
TOTALDAMAGE = CHARACTERDAMAGESCREATURE + MAGICITEMDAMAGEFACTOR
CREATUREHEALTH = CREATUREHEALTH - TOTALDAMAGE
PRINT "You hit the " + SELECTACREATURETYPE$ + " and do " ; TOTALDAMAGE ; " points of damage."
IF CREATUREHEALTH <= 0 THEN GOTO [CREATUREDEFEATED2]
IF MAGICITEMDESCRIPTOR$ = "staff" THEN
GOTO [SPELLBOOK2]
ELSE
GOTO [CREATUREATTACKSCHARACTER2]
END IF
[SPELLBOOK4]
SELECTSPELLTYPE = INT(RND(0) * 4) + 1
SPELLDAMAGE = 5 * CHARACTERLEVEL + 15
SELECT CASE SELECTSPELLTYPE
CASE 1
SELECTSPELLTYPE$ = "Fire Blast"
SPELLDAMAGE = SPELLDAMAGE + 10
CASE 2
SELECTSPELLTYPE$ = "Thunder Storm"
SPELLDAMGE = SPELLAMAGE + 20
CASE 3
SELECTSPELLTYPE$ = "Fire and Ice"
SPELLDAMAGE = SPELLDAMAGE + 30
CASE 4
SELECTSPELLTYPE$ = "Fire Tornado"
SPELLDAMAGE = SPELLDAMAGE + 40
CASE 5
SELECTSPELLTYPE$ = "Thunder Tornado"
SPELLDAMAGE = SPELLDAMAGE + 50
END SELECT
GOTO [SPELLBOOK3]
[SPELLBOOK3]
MAGICITEMDESCRIPTOR$ = "Your powerful spells"
GOTO [REPEATHITCREATURE3]
[REPEATHITCREATURE3]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) engage the " + SELECTACREATURETYPE$ + " or"
PRINT "(2) retreat"
INPUT REPLY$
PRINT ""
IF REPLY$ = "1" THEN GOTO [CHARACTERATTACKSCREATURE1]
IF REPLY$ = "2" THEN GOTO [ENVIRONMENTDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATHITCREATURE3]
[CHARACTERATTACKSCREATURE4]
CHARACTERATTACKSCREATURE = INT(RND(0) * 100) + 1
IF CHARACTERATTACKSCREATURE <= FIGHTINGSKILL THEN GOTO [CHARACTERHITSCREATURE3]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN PRINT "You swing at the " + SELECTACREATURETYPE$ + " and miss."
CHARACTEREXPERIENCE = INT(RND(0)*150) + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN FIGHTINGSKILL = FIGHTINGSKILL + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER4]
IF CHARACTEREXPERIENCE < FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER4]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER4]
[CHARACTERHITSCREATURE4]
CHARACTERDAMAGESCREATURE = SPELLDAMAGE
TOTALDAMAGE = CHARACTERDAMAGESCREATURE + MAGICITEMDAMAGEFACTOR
CREATUREHEALTH = CREATUREHEALTH - TOTALDAMAGE
PRINT "You hit the " + SELECTACREATURETYPE$ + " and do " ; TOTALDAMAGE ; " points of damage."
IF CREATUREHEALTH <= 0 THEN GOTO [CREATUREDEFEATED2]
[CREATUREATTACKSCHARACTER4]
IF SELECTCREATURETYPE = 6 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION2]
IF SELECTCREATURETYPE = 9 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION2]
IF SELECTCREATURETYPE = 47 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION2]
CREATUREATTACKSCHARACTER = INT(RND(0)*2)+1
IF CREATUREATTACKSCHARACTER = 1 THEN GOTO [CREATUREHITSCHARACTER3]
IF CREATUREATTACKSCHARACTER = 2 THEN PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and misses."
GOTO [HITCREATUREAGAIN3]
[CREATUREHITSCHARACTER4]
CREATUREHITSCHARACTERDAMAGE = INT(RND(0)*9)+2
TOTALDAMAGE = CREATUREHITSCHARACTERDAMAGE
CHARACTERHEALTH=CHARACTERHEALTH-TOTALDAMAGE
PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and does " ; CREATUREHITSCHARACTERDAMAGE ; " points of damage."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [HITCREATUREAGAIN3]
[CREATUREATTACKSCHARACTER3]
IF SELECTCREATURETYPE = 6 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION2]
IF SELECTCREATURETYPE = 9 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION2]
IF SELECTCREATURETYPE = 47 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION2]
CREATUREATTACKSCHARACTER = INT(RND(0)*2)+1
IF CREATUREATTACKSCHARACTER = 1 THEN GOTO [CREATUREHITSCHARACTER2]
IF CREATUREATTACKSCHARACTER = 2 THEN PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and misses."
GOTO [HITCREATUREAGAIN3]
[CREATUREHITSCHARACTER3]
CREATUREHITSCHARACTERDAMAGE = INT(RND(0)*9)+2
TOTALDAMAGE = CREATUREHITSCHARACTERDAMAGE
CHARACTERHEALTH=CHARACTERHEALTH-TOTALDAMAGE
PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and does " ; CREATUREHITSCHARACTERDAMAGE ; " points of damage."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [HITCREATUREAGAIN3]
[CREATUREDEFEATED2]
PRINT ""
PRINT "Victory! The " + SELECTACREATURETYPE$ + " is dead. You also found some gold."
PRINT ""
CHARACTERGOLD = CHARACTERGOLD + CREATUREGOLD
CHARACTEREXP = CHARACTEREXP + CREATUREEXP
GOTO [characterlevel2]
[characterlevel2]
IF CHARACTEREXP >= 100 * CHARACTERLEVEL THEN
CHARACTERLEVEL = CHARACTERLEVEL + 1
PRINT "You leveled up to: " ; CHARACTERLEVEL ; "!"
CHARACTEREXP = CHARACTEREXP - (100 * CHARACTERLEVEL)
ELSE
GOTO [ENVIRONMENTDESCRIPTION]
END IF
GOTO [ENVIRONMENTDESCRIPTION]
[REGENERATION2]
REGENERATION = INT(RND(0)*9)+1
CREATUREHEALTH = CREATUREHEALTH + REGENERATION
PRINT ""
PRINT "The " + SELECTACREATURETYPE$ + " regenerates. It gains " ; REGENERATION ; " hit points, giving it " ; CREATUREHEALTH ; " hit points."
PRINT ""
RETURN
goto [CHARACTERHITCREATURE3]
[HYDRAADDMAXHEALTH]
IF LATITUDE = 750 THEN GOTO [HYDRAADDMAXHEALTH1] ELSE GOTO [ROOMDESCRIPTION]
[HYDRAADDMAXHEALTH1]
IF LONGITUDE = 250 THEN GOTO [HYDRAADDMAXHEALTH2] ELSE GOTO [ROOMDESRIPTION]
[HYDRAADDMAXHEALTH2]
PRINT ""
PRINT "A Hydra with MANY heads walks up to you to ask if you want to add 1000 to your max health for 100 gold?"
PRINT ""
PRINT "(1) Tell the Hydra yes."
PRINT "(2) Tell him no."
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [HYDRAADDMAXHEALTH3]
IF REPLY$ = "2" THEN GOTO [ROOMDESCRIPTION]
PRINT ""
PRINT "Please enter a number from above."
PRINT ""
[HYDRAADDMAXHEALTH3]
CHARACTERMAXHEALTH = CHARACTERMAXHEALTH + 1000
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[WEREWOLFSUMMON]
IF LATITUDE = 500 THEN GOTO [WEREWOLFSUMMON1] ELSE GOTO [ROOMDESCRIPTION]
[WEREWOLFSUMMON1]
IF LONGITUDE = 450 THEN GOTO [WEREWOLFSUMMON2] ELSE GOTO [ROOMDESCRIPTION]
[WEREWOLFSUMMON2]
PRINT ""
PRINT "A WereWolf walks up to you and asks if you want a random creature to be summoned."
PRINT ""
PRINT "(1) Tell the werewolf 'Yes' or..."
PRINT "(2) TELL HIM NOT IN A MILLION YEARS!"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [SELECTCREATURETYPE]
IF REPLY$ = "2" THEN GOTO [ROOMDESCRIPTION]
PRINT ""
PRINT "Please enter a number from above."
PRINT ""
[SOULEATERTELEPORT]
PRINT ""
PRINT "A frindly Soul Eater walks up to you to ask if you want to be teleported to a random spot?"
PRINT ""
PRINT "(1) Do you want to teleport or"
PRINT "(2) Continue on your way."
PRINT ""
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [SOULEATERTELEPORT3]
IF REPLY$ = "2" THEN GOTO [REPEATROOMDESCRIPTIONOPTIONS]
PRINT ""
PRINT "Please enter a number from above."
PRINT ""
[SOULEATERTELEPORT3]
LATITUDE = INT(RND(0)*1000)+1
LONGITUDE = INT(RND(0)*1000)+1
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[GOLEMBUYPOTION]
IF LATITUDE = 15 THEN
GOTO [GOLEMBUYPOTION1]
END IF
IF LATITUDE > 15 OR LATITUDE < 15 THEN
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[GOLEMBUYPOTION1]
IF LONGITUDE = 15 THEN
GOTO [GOLEMBUYPOTION2]
END IF
IF LONGITUDE > 15 OR LONGITUDE < 15 THEN
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[GOLEMBUYPOTION2]
PRINT ""
PRINT "Golem says: 'Do you want to buy some health potions?'"
PRINT ""
PRINT "Do you want to..."
print ""
print "(1) Buy some health potions from the 'friendly' golem or"
print "(2) Not buy potions."
INPUT REPLY$
IF REPLY$ = "1" THEN
CHARACTERHEALTH = CHARACTERMAXHEALTH
CHARACTERGOLD = CHARACTERGOLD - 100
CHARACTERHEALTH = 1000
END IF
IF REPLY$ = "2" THEN
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
IF CHARACTERGOLD < 0 THEN
CHARACTERGOLD = 0
END IF
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[NAGA]
IF LATITUDE = 10 THEN
GOTO [NAGAMAN]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[NAGAMAN]
IF LONGITUDE = 10 THEN
GOTO [NAGABUYWEAPON]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[NAGABUYWEAPON]
PRINT "A friendly Naga walks up to you and says: 'Do you want to buy some weapons?"
PRINT ""
PRINT ""
PRINT "Do you..."
PRINT ""
PRINT "(1) Buy some weapons or"
PRINT "(2) Not buy weapons."
INPUT REPLY$
GOTO [IFNAGABUYWEAPON]
[IFNAGABUYWEAPON]
IF REPLY$ = "1" THEN
GOTO [PICKUPMAGICITEM1]
ELSE
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[WINNING3]
IF LEVEL < -500 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
END IF
[WINNING2]
IF LEVEL > 500 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[WINNING1]
IF LATITUDE < -500 AND LONGITUDE < -750 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[WINNING]
IF LATITUDE > 500 AND LONGITUDE > 750 AND CHARACTERLEVEL > 100 AND FIGHTINGSKILL > 100 THEN
GOTO [WINNINGTHEGAME]
ELSE
GOTO [ROOMDESCRIPTION2]
END IF
[WINNINGTHEGAME]
PRINT ""
PRINT "You won, you are the hero, the champion, of the ENDLESS JUNGLE!"
PRINT ""
GOTO [REPEATFATALINJURYOPTION]
[ROOMDESCRIPTION]
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
IF LATITUDE = 0 AND LONGITUDE = 0 AND OUTSIDETHETOWER$ = "YES" THEN GOTO [BASEOFTHETOWER]
IF OUTSIDETHETOWER$ = "YES" THEN FIRSTOPTION$ = "(1) walk north"
IF OUTSIDETHETOWER$ = "YES" THEN SECONDOPTION$ = "(2) walk east"
IF OUTSIDETHETOWER$ = "YES" THEN THIRDOPTION$ = "(3) walk south"
IF OUTSIDETHETOWER$ = "YES" THEN FOURTHOPTION$ = "(4) walk west"
IF OUTSIDETHETOWER$ = "YES" THEN FIFTHOPTION$ = "(5) exit the game"
IF OUTSIDETHETOWER$ = "YES" THEN SIXTHOPTION$ = "(6) Type '6' for any shops at: (10, 10), (15, 15), (300, 300), (500, 450), (750, 250), (500, 500), (350, 350)"
IF OUTSIDETHETOWER$ = "NO" THEN FIRSTOPTION$ = "(1) go up the staircase"
IF OUTSIDETHETOWER$ = "NO" THEN SECONDOPTION$ = "(2) go down the staircase"
IF OUTSIDETHETOWER$ = "NO" THEN THIRDOPTION$ = "(3) explore this floor"
IF OUTSIDETHETOWER$ = "NO" THEN FOURTHOPTION$ = "(4) exit the game"
IF OUTSIDETHETOWER$ = "NO" AND LEVEL > 0 THEN FIFTHOPTION$ = "(5) jump out the window"
IF OUTSIDETHETOWER$ = "NO" AND LEVEL < 0 THEN FIFTHOPTION$ = ""
IF OUTSIDETHETOWER$ = "NO" AND LEVEL < 1 THEN SIXTHOPTION$ = ""
IF OUTSIDETHETOWER$ = "NO" AND LEVEL = 1 THEN SIXTHOPTION$ = "(6) leave the tower"
IF OUTSIDETHETOWER$ = "NO" AND LEVEL > 1 THEN SIXTHOPTION$ = ""
PRINT ""
GOTO [NAGA]
[ENVIRONMENTDESCRIPTION]
IF LEVEL < -1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 4
IF LEVEL <= -500 AND LEVEL > -1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 3
IF LEVEL <= -300 AND LEVEL > -500 THEN CHARACTERHEALTH = CHARACTERHEALTH - 2
IF LEVEL <= -100 AND LEVEL > -300 THEN CHARACTERHEALTH = CHARACTERHEALTH - 1
IF LEVEL < -50 THEN ENVIRONMENTDESCRIPTION$ = "The stifling conditions are starting to have a noticable effect on you."
IF LEVEL >= -50 AND LEVEL < -25 THEN ENVIRONMENTDESCRIPTION$ = "The lower you climb, the warmer it gets."
IF LEVEL >= -25 AND LEVEL < 1 AND OUTSIDETHETOWER$ = "NO" THEN ENVIRONMENTDESCRIPTION$ = "It is hot, humid and unpleasant down here."
IF LEVEL >= 1 AND LEVEL < 25 AND OUTSIDETHETOWER$ = "NO" THEN ENVIRONMENTDESCRIPTION$ = "The air is cool and calm here."
IF LEVEL >= 25 AND LEVEL < 50 AND OUTSIDETHETOWER$ = "NO" THEN ENVIRONMENTDESCRIPTION$ = "The air is getting noticeably cooler."
IF LEVEL >= 50 AND LEVEL < 100 THEN ENVIRONMENTDESCRIPTION$ = "The air is getting thin up here."
IF LEVEL >= 100 AND LEVEL < 200 THEN ENVIRONMENTDESCRIPTION$ = "Your nose is starting to bleed. You feel weak."
IF LEVEL >= 200 THEN ENVIRONMENTDESCRIPTION$ = "You are weakening with every step up."
IF OUTSIDETHETOWER$ = "YES" THEN ENVIRONMENTDESCRIPTION$ = "The air is tepid, still and stangnant."
IF OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN SURROUNDINGS$ = "You are standing in a dense jungle, outside the doors to a tall black round tower." ELSE SURROUNDINGS$ = "You are standing in a dense jungle, the tall black mysterious tower nearby."
IF LATITUDE > 50 OR LONGITUDE > 50 THEN SURROUNDINGS$ = "You are standing in a dense jungle. You see the black tower far in the distance."
IF OUTSIDETHETOWER$ = "NO" AND LEVEL > 0 THEN SURROUNDINGS$ = "You are inside a massive black round tower with a giant central spiral staircase."
IF OUTSIDETHETOWER$ = "NO" AND LEVEL < 1 THEN SURROUNDINGS$ = "You are inside a massive black round tower, underground. "
PRINT "Surroundings: " + SURROUNDINGS$'
GOTO [WINNING]
[WINDOWVIEW]
PRINT "Environment: " + ENVIRONMENTDESCRIPTION$
IF LEVEL > 0 AND LEVEL <= 10 THEN PRINT "View: You can see hills and farm fields."
IF LEVEL > 10 AND LEVEL <= 50 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: You are getting pretty high, but you still cannot see the top."
IF LEVEL > 50 AND LEVEL <= 100 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: You see birds of prey circling the tower."
IF LEVEL > 100 AND LEVEL <= 200 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: It is starting to get cloudy."
IF LEVEL > 200 AND LEVEL <= 300 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: The view is completely obscured by clouds and it is getting very cold."
IF LEVEL > 300 AND LEVEL <= 500 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: The clouds are starting to clear."
IF LEVEL > 500 AND LEVEL <= 1000 AND OUTSIDETHETOWER$ = "NO" THEN PRINT "View: You can see the tops of the clouds! You should not be able to breathe up here."
IF LEVEL > 100 AND LEVEL <= 300 THEN CHARACTERHEALTH = CHARACTERHEALTH - 1
IF LEVEL > 300 AND LEVEL <= 500 THEN CHARACTERHEALTH = CHARACTERHEALTH - 2
IF LEVEL > 500 AND LEVEL <= 1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 3
IF LEVEL > 1000 THEN CHARACTERHEALTH = CHARACTERHEALTH - 4
IF ZOMBIESCRATCH$ = "YES" AND CHARACTERHEALTH <= 0 THEN GOTO [ZOMBIEENDING]
IF ZOMBIESCRATCH$ = "YES" AND CHARACTERHEALTH > 0 THEN GOTO [REPEATZOMBIEOPTION]
IF ZOMBIESCRATCH$ = "NO" THEN GOTO [ROOMDESCRIPTION2]
[REPEATZOMBIEOPTION]
CHARACTERHEALTH = CHARACTERHEALTH - 2
PRINT ""
PRINT "That zombie scratch is looking red, puffy and nasty. You're getting feverish."
PRINT ""
[ROOMDESCRIPTION2]
IF LEVEL < 1 THEN PRINT "Location: Level " ; LEVEL ; ", Latitude: " ; LATITUDE ; ", Longitude: " ; LONGITUDE ; ", HP: " ; CHARACTERHEALTH ; ", Gold: " ; CHARACTERGOLD ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP ; " Weapon: " ; MAGICITEMDESCRIPTOR$
IF LEVEL = 1 THEN PRINT "Location: Ground floor, Latitude: " ; LATITUDE ; ", Longitude: " ; LONGITUDE ; ", HP: " ; CHARACTERHEALTH ; ", Gold: " ; CHARACTERGOLD ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP ; " Weapon: " ; MAGICITEMDESCRIPTOR$
IF LEVEL > 1 THEN PRINT "Location: Level " ; LEVEL ; ", Latitude: " ; LATITUDE ; ", Longitude: " ; LONGITUDE ; ", HP: " ; CHARACTERHEALTH ; ", Gold: " ; CHARACTERGOLD ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP ; " Weapon: " ; MAGICITEMDESCRIPTOR$
PRINT "Character: Species: Human, Gender: Male, Fighting Skill: " ; FIGHTINGSKILL
[REPEATROOMDESCRIPTIONOPTIONS]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT FIRSTOPTION$ + " " + SECONDOPTION$ + " " + THIRDOPTION$ + " " + FOURTHOPTION$ + " " + FIFTHOPTION$ + " " + SIXTHOPTION$
INPUT REPLY$
IF REPLY$ = "1" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [ENTERTHETOWER]
IF REPLY$ = "1" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "1" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [STAIRCASE]
IF REPLY$ = "2" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "2" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [STAIRCASE]
IF REPLY$ = "3" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "3" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [RANDOMOCCURENCE]
IF REPLY$ = "4" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "4" AND OUTSIDETHETOWER$ = "NO" THEN GOTO [REPEATENDINGOPTION]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "YES" THEN GOTO [WALKTHROUGHTHEJUNGLE]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "NO" AND LEVEL >= 1 THEN GOTO [JUMPOUTTHEWINDOW]
IF REPLY$ = "5" AND OUTSIDETHETOWER$ = "NO" AND LEVEL < 1 THEN GOTO [OPTIONCORRECTION1]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [REPEATENDINGOPTION]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "NO" AND LEVEL = 1 THEN GOTO [LEAVETHETOWER]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 15 AND LONGITUDE = 15 THEN GOTO [OPTIONCORRECTION]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 300 AND LONGITUDE = 300 THEN GOTO [SOULEATERTELEPORT]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 500 AND LONGITUDE = 450 THEN GOTO [WEREWOLFSUMMON]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 750 AND LONGITUDE = 250 THEN GOTO [HYDRAADDMAXHEALTH]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 500 AND LONGITUDE = 500 THEN GOTO [SKELETONDAMAGE]
IF REPLY$ = "6" AND OUTSIDETHETOWER$ = "YES" AND LATITUDE = 350 AND LONGITUDE = 350 THEN GOTO [DRAGONWEAPON] ELSE GOTO [OPTIONCORRECTION1]
[OPTIONCORRECTION]
GOTO [GOLEMBUYPOTION]
[OPTIONCORRECTION1]
PRINT ""
PRINT ""
PRINT "Please enter a number from above."
PRINT ""
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[LEAVETHETOWER]
OUTSIDETHETOWER$ = "YES"
GOTO [ROOMDESCRIPTION]
[ENTERTHETOWER]
OUTSIDETHETOWER$ = "NO"
GOTO [ROOMDESCRIPTION]
[STAIRCASE]
IF REPLY$ = "1" AND LEVEL = -1 THEN LEVEL = LEVEL + 1
IF REPLY$ = "1" THEN LEVEL = LEVEL + 1
IF REPLY$ = "2" AND LEVEL < 0 THEN LEVEL = LEVEL - 1
IF REPLY$ = "2" AND LEVEL = 1 THEN LEVEL = LEVEL - 2
IF REPLY$ = "2" AND LEVEL > 0 THEN LEVEL = LEVEL - 1
GOTO [RANDOMOCCURENCE]
REM THIS IS THE END MY ONLY FRIEND
[ENDING]
PRINT "You have sustained fatal injury."
[REPEATFATALINJURYOPTION]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) start over from the beginning"
PRINT "(2) quit"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [INTRO]
IF REPLY$ = "2" GOTO [GAMEOVER]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATFATALINJURYOPTION]
GOTO [GAMEOVER]
[REPEATENDINGOPTION]
PRINT ""
PRINT "Are you certain you wish to leave the game?"
PRINT ""
PRINT "(1) yes"
PRINT "(2) no"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [GAMEOVER]
IF REPLY$ = "2" GOTO [ROOMDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATENDINGOPTION]
[REPEATENDINGOPTION2]
PRINT ""
PRINT "Are you certain you wish to leave the game?"
PRINT ""
PRINT "(1) yes"
PRINT "(2) no"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [GAMEOVER]
IF REPLY$ = "2" THEN GOTO [OUTSIDETHETOWER]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATENDINGOPTION2]
[GAMEOVER]
END
REM EVERY TIME THE PLAYER GOES TO A DIFFERENT FLOOR IN THE TOWER, S/HE MIGHT RUN ACROSS EITHER A CREATURE OR AN ITEM
[RANDOMOCCURENCE]
RANDOMOCCURENCE = INT(RND(0)*105)
IF RANDOMOCCURENCE <= 80 THEN GOTO [ROOMDESCRIPTION]
IF RANDOMOCCURENCE > 80 AND RANDOMOCCURENCE <= 85 THEN GOTO [DRINKVIAL]
IF RANDOMOCCURENCE > 85 AND RANDOMOCCURENCE <= 90 THEN GOTO [PICKUPMAGICITEM]
IF RANDOMOCCURENCE > 90 AND RANDOMOCCURENCE < 92 AND OUTSIDETHETOWER$ = "YES" THEN GOTO [POOL]
REM THIS SECTION IS THE ALGORITM FOR COMBATTING CREATURES IN THE TOWER
[ENCOUNTERACREATURE]
[SELECTCREATURETYPE]
SELECTACREATURETYPE = INT(RND(0)*47)
CREATUREHEALTH = INT(RND(0)*20)+1
CREATUREINITIALHEALTH = CREATUREHEALTH
CREATUREGOLD = INT(RND(0)*30)+20
CREATUREEXP = INT(RND(0)*30)+50
SELECT CASE SELECTACREATURETYPE
CASE 0
SELECTACREATURETYPE$ = "skeleton"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "strangles"
CREATUREWEAPON$ = "its hands"
CREATUREEXP = CREATUREEXP + 100
CASE 1
SELECTACREATURETYPE$ = "zombie"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "scratches"
CREATUREWEAPON$ = "its hands"
CREATUREEXP = CREATUREEXP + 100
CASE 2
SELECTACREATURETYPE$ = "lich"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "curses"
CREATUREWEAPON$ = "its dark magic"
CREATUREEXP = CREATUREEXP + 130
CASE 3
SELECTACREATURETYPE$ = "bandit"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "fires a dart at"
CREATUREWEAPON$ = "his pistol crossbow"
CREATUREEXP = CREATUREEXP + 100
CASE 4
SELECTACREATURETYPE$ = "swordsman"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "chops at"
CREATUREWEAPON$ = "his saber"
CREATUREEXP = CREATUREEXP + 100
CASE 5
SELECTACREATURETYPE$ = "mercenary"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "his trident"
CREATUREEXP = CREATUREEXP + 100
CASE 6
SELECTACREATURETYPE$ = "werewolf"
CREATUREHEALTH = CREATUREHEALTH + 130 + REGENERATION
CREATUREATTACKVERBAGE$ = "tears at"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 130 + REGENERATION
CASE 7
SELECTACREATURETYPE$ = "goblin"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "his trident"
CREATUREEXP = CREATUREEXP + 100
CASE 8
SELECTACREATURETYPE$ = "giant spider"
CREATUREHEALTH = CREATUREHEALTH + 110
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 110
CASE 9
SELECTACREATURETYPE$ = "vampire"
CREATUREHEALTH = CREATUREHEALTH + 130 + REGENERATION
CREATUREATTACKVERBAGE$ = "slices you"
CREATUREWEAPON$ = "his claws"
CREATUREEXP = CREATUREEXP + 130 + REGENERATION
CASE 10
SELECTACREATURETYPE$ = "cave troll"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "pummels"
CREATUREWEAPON$ = "his huge fists"
CREATUREEXP = CREATUREEXP + 200
CASE 11
SELECTACREATURETYPE$ = "basilisk"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "lashes out at"
CREATUREWEAPON$ = "its tail"
CREATUREEXP = CREATUREEXP + 120
CASE 12
SELECTACREATURETYPE$ = "giant bat"
CREATUREHEALTH = CREATUREHEALTH + 110
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 110
CASE 13
SELECTACREATURETYPE$ = "beholder"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "fires a magic missile at"
CREATUREWEAPON$ = "its magical spells"
CREATUREEXP = CREATUREEXP + 120
CASE 14
SELECTACREATURETYPE$ = "carrion crawler"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREXP = CREATUREEXP + 120
CASE 15
SELECTACREATURETYPE$ = "crocodile"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "slams"
CREATUREWEAPON$ = "its tail"
CREATUREEXP = CREATUREEXP + 120
CASE 16
SELECTACREATURETYPE$ = "cyclops"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "bashes"
CREATUREWEAPON$ = "his club"
CREATUREEXP = CREATUREEXP + 130
CASE 17
SELECTACREATURETYPE$ = "centaur"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "fires an arrow at"
CREATUREWEAPON$ = "his long bow"
CREATUREEXP = CREATUREEXP + 120
CASE 18
SELECTACREATURETYPE$ = "minotaur"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "gores"
CREATUREWEAPON$ = "his horns"
CREATUREEXP = CREATUREEXP + 130
CASE 19
SELECTACREATURETYPE$ = "greater demon"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "smothers and saps strength from"
CREATUREWEAPON$ = "its dark magic"
CREATUREEXP = CREATUREEXP + 200
CASE 20
SELECTACREATURETYPE$ = "displacer beast"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "slices"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 120
CASE 21
SELECTACREATURETYPE$ = "dracolich"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "curses"
CREATUREWEAPON$ = "its dark magic"
CREATUREEXP = CREATUREEXP + 200
CASE 22
SELECTACREATURETYPE$ = "dragon"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bashes"
CREATUREWEAPON$ = "its spiked tail"
CREATUREEXP = CREATUREEXP + 200
CASE 23
SELECTACREATURETYPE$ = "drow elf"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "a long knife"
CREATUREEXP = CREATUREEXP + 120
CASE 24
SELECTACREATURETYPE$ = "mummy"
CREATUREHEALTH = CREATUREHEALTH + 110
CREATUREATTACKVERBAGE$ = "strangles"
CREATUREWEAPON$ = "its strong hands"
CREATUREEXP = CREATUREEXP + 110
CASE 25
SELECTACREATURETYPE$ = "phase spider"
CREATUREHEALTH = CREATUREHEALTH + 100
CREATUREATTACKVERBAGE$ = "appears above you and bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 100
CASE 26
SELECTACREATURETYPE$ = "medusa"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "hits"
CREATUREWEAPON$ = "her tail"
CREATUREEXP = CREATUREEXP + 120
CASE 27
SELECTACREATURETYPE$ = "manticore"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "slashes"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 120
CASE 28
SELECTACREATURETYPE$ = "hydra"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its many heads"
CREATUREEXP = CREATUREEXP + 200
CASE 29
SELECTACREATURETYPE$ = "golem"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bashes"
CREATUREWEAPON$ = "its stone hands"
CREATUREEXP = CREATUREEXP + 200
CASE 30
SELECTACREATURETYPE$ = "giant lizard"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "lashes"
CREATUREWEAPON$ = "its tail"
CREATUREEXP = CREATUREEXP + 200
CASE 31
SELECTACREATURETYPE$ = "wyvern"
CREATUREHEALTH = CREATUREHEALTH + 170
CREATUREATTACKVERBAGE$ = "stings"
CREATUREWEAPON$ = "its tail stinger"
CREATUREEXP = CREATUREEXP + 170
CASE 32
SELECTACREATURETYPE$ = "shambling mound"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "smothers"
CREATUREWEAPON$ = "layers of vegetation"
CREATUREEXP = CREATUREEXP + 130
CASE 33
SELECTACREATURETYPE$ = "roc"
CREATUREHEALTH = CREATUREHEALTH + 180
CREATUREATTACKVERBAGE$ = "rends"
CREATUREWEAPON$ = "its talons"
CREATUREEXP = CREATUREEXP + 180
CASE 34
SELECTACREATURETYPE$ = "giant rat"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "gnaws on"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 130
CASE 35
SELECTACREATURETYPE$ = "purple worm"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its teeth"
CREATUREEXP = CREATUREEXP + 200
CASE 36
SELECTACREATURETYPE$ = "short-faced bear"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "cuts"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 120
CASE 37
SELECTACREATURETYPE$ = "giant hound"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "death-shakes"
CREATUREWEAPON$ = "its powerful jaws"
CREATUREEXP = CREATUREEXP + 120
CASE 38
SELECTACREATURETYPE$ = "harpy"
CREATUREHEALTH = CREATUREHEALTH + 140
CREATUREATTACKVERBAGE$ = "claws"
CREATUREWEAPON$ = "its talons"
CREATUREEXP = CREATUREEXP + 140
CASE 39
SELECTACREATURETYPE$ = "griffon"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "slashes"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 130
CASE 40
SELECTACREATURETYPE$ = "gargoyle"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "slams"
CREATUREWEAPON$ = "its stone mass"
CREATUREEXP = CREATUREEXP + 200
CASE 41
SELECTACREATURETYPE$ = "blink dog"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "bites"
CREATUREWEAPON$ = "its fangs"
CREATUREEXP = CREATUREEXP + 130
CASE 42
SELECTACREATURETYPE$ = "chimera"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "slices"
CREATUREWEAPON$ = "its claws"
CREATUREEXP = CREATUREEXP + 130
CASE 43
SELECTACREATURETYPE$ = "dryad"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "stabs"
CREATUREWEAPON$ = "her short spear"
CREATUREEXP = CREATUREEXP + 130
CASE 44
SELECTACREATURETYPE$ = "gorgon"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "gazes at"
CREATUREWEAPON$ = "her eyes"
CREATUREEXP = CREATUREEXP + 120
CASE 45
SELECTACREATURETYPE$ = "hippogriff"
CREATUREHEALTH = CREATUREHEALTH + 130
CREATUREATTACKVERBAGE$ = "body slams"
CREATUREWEAPON$ = "its body weight"
CREATUREEXP = CREATUREEXP + 130
CASE 46
SELECTACREATURETYPE$ = "naga"
CREATUREHEALTH = CREATUREHEALTH + 120
CREATUREATTACKVERBAGE$ = "body slams"
CREATUREWEAPON$ = "its body weight"
CREATUREEXP = CREATUREEXP + 120
CASE 47
SELECTACREATURETYPE$ = "soul eater"
CREATUREHEALTH = CREATUREHEALTH + 200
CREATUREATTACKVERBAGE$ = "tries to destroy"
CREATUREWEAPON$ = "other souls"
CREATUREEXP = CREATUREEXP + 200
END SELECT
PRINT ""
PRINT "A " + SELECTACREATURETYPE$ + " confronts you."
[HITCREATUREAGAIN]
PRINT ""
PRINT "you: HP: " ; CHARACTERHEALTH ; " Gold: " ; CHARACTERGOLD ; " Weapon: " ; MAGICITEMDESCRIPTOR$ ; " Fighting Skill: " ; FIGHTINGSKILL ; " Level: " ; CHARACTERLEVEL ; " Experience: " ; CHARACTEREXP
PRINT SELECTACREATURETYPE$ + ": HP: " ; CREATUREHEALTH ; " Gold: " ; CREATUREGOLD ; " Weapon: " ; CREATUREWEAPON$
[REPEATHITCREATURE]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) engage the " + SELECTACREATURETYPE$ + " or"
PRINT "(2) retreat"
INPUT REPLY$
PRINT ""
IF REPLY$ = "1" THEN GOTO [CHARACTERATTACKSCREATURE]
IF REPLY$ = "2" THEN GOTO [ENVIRONMENTDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATHITCREATURE]
[CHARACTERATTACKSCREATURE]
CHARACTERATTACKSCREATURE = INT(RND(0)*100)+1
IF CHARACTERATTACKSCREATURE <= FIGHTINGSKILL THEN GOTO [CHARACTERHITSCREATURE]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN PRINT "You swing at the " + SELECTACREATURETYPE$ + " and miss."
CHARACTEREXPERIENCE = INT(RND(0)*150) + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN FIGHTINGSKILL = FIGHTINGSKILL + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER]
IF CHARACTEREXPERIENCE < FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER]
[CHARACTERHITSCREATURE]
CHARACTERDAMAGESCREATURE = INT(RND(0)*9*CHARACTERLEVEL*FIGHTINGSKILL)+2
TOTALDAMAGE = CHARACTERDAMAGESCREATURE + MAGICITEMDAMAGEFACTOR
CREATUREHEALTH = CREATUREHEALTH - TOTALDAMAGE
PRINT "You hit the " + SELECTACREATURETYPE$ + " and do " ; TOTALDAMAGE ; " points of damage."
IF CREATUREHEALTH <= 0 THEN GOTO [CREATUREDEFEATED]
IF MAGICITEMDESCRIPTOR$ = "staff" THEN
GOTO [SPELLBOOK1]
ELSE
GOTO [CREATUREATTACKSCHARACTER]
END IF
[SPELLBOOK1]
SELECTSPELLTYPE = INT(RND(0) * 4) + 1
SPELLDAMAGE = 5 * CHARACTERLEVEL + 15
SELECT CASE SELECTSPELLTYPE
CASE 1
SELECTSPELLTYPE$ = "Fire Blast"
SPELLDAMAGE = SPELLDAMAGE + 10
CASE 2
SELECTSPELLTYPE$ = "Thunder Storm"
SPELLDAMGE = SPELLAMAGE + 20
CASE 3
SELECTSPELLTYPE$ = "Fire and Ice"
SPELLDAMAGE = SPELLDAMAGE + 30
CASE 4
SELECTSPELLTYPE$ = "Fire Tornado"
SPELLDAMAGE = SPELLDAMAGE + 40
CASE 5
SELECTSPELLTYPE$ = "Thunder Tornado"
SPELLDAMAGE = SPELLDAMAGE + 50
END SELECT
GOTO [SPELLBOOK2]
[SPELLBOOK2]
MAGICITEMDESCRIPTOR$ = "Your powerful spells"
GOTO [REPEATHITCREATURE1]
[REPEATHITCREATURE1]
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) engage the " + SELECTACREATURETYPE$ + " or"
PRINT "(2) retreat"
INPUT REPLY$
PRINT ""
IF REPLY$ = "1" THEN GOTO [CHARACTERATTACKSCREATURE1]
IF REPLY$ = "2" THEN GOTO [ENVIRONMENTDESCRIPTION]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [REPEATHITCREATURE1]
[CHARACTERATTACKSCREATURE1]
CHARACTERATTACKSCREATURE = INT(RND(0) * 100) + 1
IF CHARACTERATTACKSCREATURE <= FIGHTINGSKILL THEN GOTO [CHARACTERHITSCREATURE1]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN PRINT "You swing at the " + SELECTACREATURETYPE$ + " and miss."
CHARACTEREXPERIENCE = INT(RND(0)*150) + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN FIGHTINGSKILL = FIGHTINGSKILL + 1
IF CHARACTEREXPERIENCE >= FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER1]
IF CHARACTEREXPERIENCE < FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER1]
IF CHARACTERATTACKSCREATURE > FIGHTINGSKILL THEN GOTO [CREATUREATTACKSCHARACTER1]
[CHARACTERHITSCREATURE1]
CHARACTERDAMAGESCREATURE = SPELLDAMAGE
TOTALDAMAGE = CHARACTERDAMAGESCREATURE + MAGICITEMDAMAGEFACTOR
CREATUREHEALTH = CREATUREHEALTH - TOTALDAMAGE
PRINT "You hit the " + SELECTACREATURETYPE$ + " and do " ; TOTALDAMAGE ; " points of damage."
IF CREATUREHEALTH <= 0 THEN GOTO [CREATUREDEFEATED]
[CREATUREATTACKSCHARACTER1]
IF SELECTCREATURETYPE = 6 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 9 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 47 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
CREATUREATTACKSCHARACTER = INT(RND(0)*2)+1
IF CREATUREATTACKSCHARACTER = 1 THEN GOTO [CREATUREHITSCHARACTER]
IF CREATUREATTACKSCHARACTER = 2 THEN PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and misses."
GOTO [HITCREATUREAGAIN]
[CREATUREHITSCHARACTER1]
CREATUREHITSCHARACTERDAMAGE = INT(RND(0)*9)+2
TOTALDAMAGE = CREATUREHITSCHARACTERDAMAGE
CHARACTERHEALTH=CHARACTERHEALTH-TOTALDAMAGE
PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and does " ; CREATUREHITSCHARACTERDAMAGE ; " points of damage."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [HITCREATUREAGAIN]
[CREATUREATTACKSCHARACTER]
IF SELECTCREATURETYPE = 6 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 9 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
IF SELECTCREATURETYPE = 47 AND CREATUREHEALTH < CREATUREINITIALHEALTH THEN GOSUB [REGENERATION]
CREATUREATTACKSCHARACTER = INT(RND(0)*2)+1
IF CREATUREATTACKSCHARACTER = 1 THEN GOTO [CREATUREHITSCHARACTER]
IF CREATUREATTACKSCHARACTER = 2 THEN PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and misses."
GOTO [HITCREATUREAGAIN]
[CREATUREHITSCHARACTER]
CREATUREHITSCHARACTERDAMAGE = INT(RND(0)*9)+2
TOTALDAMAGE = CREATUREHITSCHARACTERDAMAGE
CHARACTERHEALTH=CHARACTERHEALTH-TOTALDAMAGE
PRINT "The " + SELECTACREATURETYPE$ + " " + CREATUREATTACKVERBAGE$ + " you with " + CREATUREWEAPON$ + " and does " ; CREATUREHITSCHARACTERDAMAGE ; " points of damage."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [HITCREATUREAGAIN]
[CREATUREDEFEATED]
PRINT ""
PRINT "Victory! The " + SELECTACREATURETYPE$ + " is dead. You also found some gold."
PRINT ""
CHARACTERGOLD = CHARACTERGOLD + CREATUREGOLD
CHARACTEREXP = CHARACTEREXP + CREATUREEXP
GOTO [characterlevel]
[characterlevel]
IF CHARACTEREXP >= 100 * CHARACTERLEVEL THEN
CHARACTERLEVEL = CHARACTERLEVEL + 1
PRINT "You leveled up to: " ; CHARACTERLEVEL ; "!"
CHARACTEREXP = CHARACTEREXP - (100 * CHARACTERLEVEL)
ELSE
GOTO [ENVIRONMENTDESCRIPTION]
END IF
GOTO [ENVIRONMENTDESCRIPTION]
REM THIS CODE ALLOWS THE PLAYER TO PICK UP AND RETAIN A MAGIC ITEM. THE STRENGTH OF THE ITEM IS SELECTED RANDOMLY.
[PICKUPMAGICITEM1]
MAGICITEMTYPE = INT(RND(0)*11)+1
MAGICITEMDAMAGEFACTOR = INT(RND(0)*20)+1
SELECT CASE MAGICITEMTYPE
CASE 1
MAGICITEMTYPE$ = "long sword"
CASE 2
MAGICITEMTYPE$ = "staff"
CASE 3
MAGICITEMTYPE$ = "short sword"
CASE 4
MAGICITEMTYPE$ = "dagger"
CASE 5
MAGICITEMTYPE$ = "mace"
CASE 6
MAGICITEMTYPE$ = "morningstar"
CASE 7
MAGICITEMTYPE$ = "flail"
CASE 8
MAGICITEMTYPE$ = "two-handed sword"
CASE 9
MAGICITEMTYPE$ = "spiked gauntlet"
CASE 10
MAGICITEMTYPE$ = "cudgel"
CASE 11
MAGICITEMTYPE$ = "club"
END SELECT
PRINT "You bought a " + MAGICITEMTYPE$ + "."
GOTO [PICKUPITEM1]
[PICKUPITEM1]
MAGICITEM = MAGICITEMDAMAGEFACTOR
MAGICITEMDESCRIPTOR$ = MAGICITEMTYPE$ + " (+ " ; MAGICITEMDAMAGEFACTOR ; " damage)"
PRINT ""
PRINT "The " + MAGICITEMTYPE$ + " feels very strong, light and balanced in your hand."
GOTO [REPEATROOMDESCRIPTIONOPTIONS]
[PICKUPMAGICITEM]
MAGICITEMTYPE = INT(RND(0)*11)+1
SELECT CASE MAGICITEMTYPE
CASE 1
MAGICITEMTYPE$ = "long sword"
CASE 2
MAGICITEMTYPE$ = "staff"
CASE 3
MAGICITEMTYPE$ = "short sword"
CASE 4
MAGICITEMTYPE$ = "dagger"
CASE 5
MAGICITEMTYPE$ = "mace"
CASE 6
MAGICITEMTYPE$ = "morningstar"
CASE 7
MAGICITEMTYPE$ = "flail"
CASE 8
MAGICITEMTYPE$ = "two-handed sword"
CASE 9
MAGICITEMTYPE$ = "spiked gauntlet"
CASE 10
MAGICITEMTYPE$ = "cudgel"
CASE 11
MAGICITEMTYPE$ = "club"
END SELECT
PRINT "You find a " + MAGICITEMTYPE$ + " on the ground."
GOTO [PICKUPMAGICITEMREPEAT]
[PICKUPMAGICITEMREPEAT]
PRINT "HP: " ; CHARACTERHEALTH ; " Gold: " ; CHARACTERGOLD ; " Weapon: " ; MAGICITEMDESCRIPTOR$
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) pick it up or"
PRINT "(2) leave it where it is"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [PICKUPITEM]
IF REPLY$ = "2" THEN GOTO [DONTPICKUPITEM]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [PICKUPMAGICITEMREPEAT]
[PICKUPITEM]
MAGICITEMDAMAGEFACTOR = INT(RND(0)*10)+1
MAGICITEM = MAGICITEMDAMAGEFACTOR
MAGICITEMDESCRIPTOR$ = MAGICITEMTYPE$ + " (+ " ; MAGICITEMDAMAGEFACTOR ; " damage)"
PRINT ""
PRINT "The " + MAGICITEMTYPE$ + " feels very strong, light and balanced in your hand."
GOTO [ENVIRONMENTDESCRIPTION]
[DONTPICKUPITEM]
PRINT ""
PRINT "You leave the unknown " + MAGICITEMTYPE$ + " lying on the ground."
GOTO [ENVIRONMENTDESCRIPTION]
REM THIS CODE CAUSES THE PLAYER TO ENCOUNTER A VIAL OF UNKNOWN LIQUID AND SEE IF IT HELPS OR HURTS
[DRINKVIAL]
LIQUIDCOLOR = INT(RND(0)*20)+1
SELECT CASE LIQUIDCOLOR
CASE 1
LIQUIDCOLOR$ = "red "
CASE 2
LIQUIDCOLOR$ = "pink "
CASE 3
LIQUIDCOLOR$ = "burnt orange "
CASE 4
LIQUIDCOLOR$ = "black "
CASE 5
LIQUIDCOLOR$ = "magenta "
CASE 6
LIQUIDCOLOR$ = "pea green "
CASE 7
LIQUIDCOLOR$ = "sky blue "
CASE 8
LIQUIDCOLOR$ = "custard yellow "
CASE 9
LIQUIDCOLOR$ = "clear "
CASE 10
LIQUIDCOLOR$ = "milky "
CASE 11
LIQUIDCOLOR$ = "brown and yellow "
CASE 12
LIQUIDCOLOR$ = "taupe "
CASE 13
LIQUIDCOLOR$ = "cerulean "
CASE 14
LIQUIDCOLOR$ = "midnight blue "
CASE 15
LIQUIDCOLOR$ = "glittery "
CASE 16
LIQUIDCOLOR$ = "honey-colored "
CASE 17
LIQUIDCOLOR$ = "snow white "
CASE 18
LIQUIDCOLOR$ = "goldenrod "
CASE 19
LIQUIDCOLOR$ = "copper "
CASE 20
LIQUIDCOLOR$ = "silver "
END SELECT
PRINT ""
PRINT "You find a vial with a glowing " + LIQUIDCOLOR$ + "liquid in it."
[DRINKVIALREPEAT]
PRINT "HP: " ; CHARACTERHEALTH ; " Gold: " ; CHARACTERGOLD ; " Weapon: " ; SWORDDESCRIPTOR$
PRINT ""
PRINT "Do you want to..."
PRINT ""
PRINT "(1) drink the liquid or"
PRINT "(2) leave it where it is"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [DODRINKVIAL]
IF REPLY$ = "2" THEN GOTO [DONTDRINKVIAL]
PRINT ""
PRINT "Please enter a number from the menu above."
GOTO [DRINKVIALREPEAT]
[DODRINKVIAL]
HEALORHURT = INT(RND(0)*2)+1
VIALEFFECTAMOUNT = INT(RND(0)*9)+2
IF HEALORHURT = 1 THEN GOTO [HEAL]
IF HEALORHURT = 2 THEN GOTO [HURT]
[HEAL]
CHARACTERHEALTH = CHARACTERMAXHEALTH
PRINT ""
PRINT "The liquid refreshes and energizes you. You are now at ";CHARACTERMAXHEALTH;" hit points!"
PRINT ""
GOTO [ENVIRONMENTDESCRIPTION]
[HURT]
CHARACTERHEALTH = CHARACTERHEALTH - VIALEFFECTAMOUNT
PRINT ""
PRINT "The liquid burns you on the inside. You lose " ; VIALEFFECTAMOUNT ; " hit points, bringing you to " ; CHARACTERHEALTH ; " total hit points."
PRINT ""
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
GOTO [ENVIRONMENTDESCRIPTION]
[DONTDRINKVIAL]
PRINT ""
PRINT "You cautiously decide to leave the unknown liquid where it is."
GOTO [ENVIRONMENTDESCRIPTION]
REM THIS CODE MAKES BOTH THE WEREWOLF AND THE VAMPIRE REGENERATE.
[REGENERATION]
REGENERATION = INT(RND(0)*9)+1
CREATUREHEALTH = CREATUREHEALTH + REGENERATION
PRINT ""
PRINT "The " + SELECTACREATURETYPE$ + " regenerates. It gains " ; REGENERATION ; " hit points, giving it " ; CREATUREHEALTH ; " hit points."
PRINT ""
RETURN
goto [REPEATCHARACTERHITCREATURE]
[JUMPOUTTHEWINDOW]
FALLINGDAMAGE = LEVEL * 5
CHARACTERHEALTH = CHARACTERHEALTH - FALLINGDAMAGE
PRINT ""
PRINT "You throw yourself out the window and plummet to the ground, taking " ; FALLINGDAMAGE ; " points of damage."
IF LEVEL > 20 AND LEVEL <= 50 THEN PRINT "Your body hits the ground and bounces like a rag doll. Vultures take notice and rejoice."
IF LEVEL > 50 AND LEVEL <= 100 THEN PRINT "Your body makes an audible crack as it hits the solid earth. Scavengers will dine well tonight."
IF LEVEL > 100 AND LEVEL <= 1000 THEN PRINT "Your body hits the ground so hard that an arm and a leg detach and go flying into the jungle."
IF LEVEL > 1000 THEN PRINT "A dragon spots you falling, swoops down and swallows you just before you hit the ground."
IF CHARACTERHEALTH <= 0 THEN GOTO [ENDING]
LEVEL = 1
PRINT "You stand up and brush the dirt off of your clothes."
GOTO [LEAVETHETOWER]
[ZOMBIEENDING]
PRINT ""
PRINT "As your heart stops, you turn into a zombie. You roam the tower,"
PRINT "attacking unlucky visitors and turning them into zombies."
GOTO [REPEATENDINGOPTION]
[WALKTHROUGHTHEJUNGLE]
IF LATITUDE = 0 AND LONGITUDE = 0 THEN GOTO [JUNGLEOUTSIDETHETOWER] ELSE GOTO [JUNGLEELSEWHERE]
[JUNGLEOUTSIDETHETOWER]
IF REPLY$ = "1" THEN GOTO [ENTERTHETOWER]
IF REPLY$ = "2" THEN LATITUDE = LATITUDE + 1
IF REPLY$ = "3" THEN LONGITUDE = LONGITUDE + 1
IF REPLY$ = "4" THEN LATITUDE = LATITUDE - 1
IF REPLY$ = "5" THEN LONGITUDE = LONGITUDE - 1
IF REPLY$ = "6" THEN GOTO [REPEATENDINGOPTION]
GOTO [RANDOMOCCURENCE]
[JUNGLEELSEWHERE]
IF REPLY$ = "1" THEN LATITUDE = LATITUDE + 1
IF REPLY$ = "2" THEN LONGITUDE = LONGITUDE + 1
IF REPLY$ = "3" THEN LATITUDE = LATITUDE - 1
IF REPLY$ = "4" THEN LONGITUDE = LONGITUDE - 1
IF REPLY$ = "5" THEN GOTO [REPEATENDINGOPTION]
IF REPLY$ = "6" THEN GOTO [OPTIONCORRECTION]
GOTO [RANDOMOCCURENCE]
[BASEOFTHETOWER]
FIRSTOPTION$ = "(1) enter the tower"
SECONDOPTION$ = "(2) walk north"
THIRDOPTION$ = "(3) walk east"
FOURTHOPTION$ = "(4) walk south"
FIFTHOPTION$ = "(5) walk west"
SIXTHOPTION$ = "(6) exit the game"
GOTO [ENVIRONMENTDESCRIPTION]
[POOL]
PRINT "You stumble upon a small pool of water."
PRINT "Do you"
PRINT ""
PRINT "(1) drink some water or"
PRINT "(2) leave it alone"
INPUT REPLY$
IF REPLY$ = "1" THEN GOTO [DRINKFROMPOOL]
IF REPLY$ = "2" THEN GOTO [ROOMDESCRIPTION]
[DRINKFROMPOOL]
CHARACTERHEALTH = CHARACTERMAXHEALTH
PRINT "You feel completely rested and refreshed. You now have " ;CHARACTERMAXHEALTH; " hitpoints."
GOTO [ROOMDESCRIPTION]
-
- Posts: 6
- Joined: Sat Sep 14, 2013 5:32 pm
Re: Tower of Rodinia My version, made by Alex J. Rodinson I
Hi, if you want help or chat about JB programming please use the forums atHey guys, I am stuck on adding another shopkeeper, can someone PLEASE help me!
http://justbasic.conforums.com/index.cgi