Tower of Rodinia My version, made by Alex J. Rodinson I thin

Just BASIC Games
Post Reply
Keagster101
Posts: 6
Joined: Sat Sep 14, 2013 5:32 pm

Tower of Rodinia My version, made by Alex J. Rodinson I thin

Post by Keagster101 »

Hi this is my version of "Tower of Rodinia"

https://docs.google.com/file/d/0B38tCbo ... sp=sharing

~Keagster101
Keagster101
Posts: 6
Joined: Sat Sep 14, 2013 5:32 pm

Re: Tower of Rodinia My version, made by Alex J. Rodinson I

Post by Keagster101 »

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]

Keagster101
Posts: 6
Joined: Sat Sep 14, 2013 5:32 pm

Re: Tower of Rodinia My version, made by Alex J. Rodinson I

Post by Keagster101 »

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]
Keagster101
Posts: 6
Joined: Sat Sep 14, 2013 5:32 pm

Re: Tower of Rodinia My version, made by Alex J. Rodinson I

Post by Keagster101 »

here is the website

https://docs.google.com/document/d/1OSZ ... P3ZEs/edit

Hope you like it :D
cundo
Posts: 20
Joined: Wed Mar 12, 2008 11:12 pm

Re: Tower of Rodinia My version, made by Alex J. Rodinson I

Post by cundo »

Hey guys, I am stuck on adding another shopkeeper, can someone PLEASE help me!
Hi, if you want help or chat about JB programming please use the forums at
http://justbasic.conforums.com/index.cgi
Post Reply