Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ' ****COMBAT ARENA****
- ' ***Version 1.51***
- ' **By: Jeff Copperthite**
- '
- '
- ' **This game may be distributed freely among friends or whomever, as long as
- ' ****this file remains UNCHANGED!!!!! Please enjoy the game****
- '
- ' **Please email any comments or suggestions to:**
- ' *****JRC80@aol.com*****
- '
- ' ***I distribute all of my versions to AOL's file systems. You can find them
- ' **at file search: Copperthite or you can join my mailing list.**
- '
- ' *****IF YOU WANT TO BE ON MY MAILING PLEASE LEAVE ME FEEDBACK*****
- '
- ' ***Online help is provided***
- '
- DECLARE SUB help ()
- DECLARE SUB deathfight ()
- DECLARE SUB endgame ()
- DECLARE SUB dragon ()
- DECLARE SUB beginquest ()
- DECLARE SUB reward ()
- DECLARE SUB skillattack ()
- DECLARE SUB quest1 ()
- DECLARE SUB town ()
- DECLARE SUB playerfight ()
- DECLARE SUB skillprint ()
- DECLARE SUB save ()
- DECLARE SUB load ()
- DECLARE SUB levelraise ()
- DECLARE SUB fight1 ()
- DECLARE SUB title ()
- DECLARE SUB startload ()
- DECLARE SUB dostat ()
- DECLARE SUB stat ()
- DECLARE SUB menu ()
- DECLARE SUB verify ()
- COMMON SHARED str, con, dex, in, wis, cha, chp, mhp, mmp, cmp, up, mpheal, heal, hit, attack, defense, weapon, armor, armor$, weapon$, name$, pass, message, choice, gold, bank, cxp, lxp, quest, ski, cod, leave, fr, trek, rewad, level, ehp, qhp, ele, attack1, defense1
- DEF fnrnd (a) = INT(RND * a) + 1
- RANDOMIZE TIMER
- ON ERROR GOTO 350
- CALL title
- SCREEN 0
- CALL startload
- IF level <> 0 THEN GOTO 12345
- CALL dostat
- CALL help
- 12345
- CALL menu
- CALL verify
- GOTO 12345
- 350
- COLOR 15, 0
- COLOR 20: PRINT "An error has occured in the program"
- COLOR 15
- PRINT "If you were loading a file was not found or the file is too small for"
- PRINT "the input required"
- PRINT "If you tried to visit the hall of honor there is no one in the hall of"
- PRINT "honor."
- SLEEP 1
- PRINT "you are now returning to the main menu"
- GOTO 12345
- SUB beginquest
- IF level = 10 THEN
- quest = 1
- up = 6
- PRINT "The village people have called you!"
- SLEEP 1
- PRINT "We need you to kill a bone golem that is threating our village"
- SLEEP 2
- PRINT "We will restore your HP's!"
- chp = mhp
- SLEEP 2
- PRINT "Good luck!"
- SLEEP 1: CLS
- CALL quest1
- END IF
- IF level = 20 THEN
- quest = 2
- up = 17
- PRINT "The village people have called you again!"
- SLEEP 1
- PRINT "Our prized family statue has been stolen by an evil wyvern"
- PRINT "We need you to retrieve the statue and kill the wyvern"
- SLEEP 2
- PRINT "Let me give you a boost."
- chp = mhp
- SLEEP 2
- PRINT "Best of luck to you"
- SLEEP 1: CLS
- CALL quest1
- END IF
- IF level = 30 THEN
- quest = 3
- up = 28
- PRINT "A cry for help has been let out in the village!"
- SLEEP 1
- PRINT "You rush to the scene after the battles in the arena"
- SLEEP 1
- PRINT " A vampire has come and killed 5 people and taken the king"
- PRINT "Can you please save him! You are the strongest in the land "
- PRINT "and you can save the king for us."
- DO: LOOP WHILE INKEY$ = ""
- PRINT "You can do one of two things: you can partake tomorrow morning"
- PRINT "during the daylight and surprise the vampire, however alot of guards"
- PRINT "will be up if you do, or you can go at night, where there are fewer "
- PRINT "guards but the vampire will be out."
- DO: LOOP WHILE INKEY$ = ""
- DO
- INPUT "(1) Leave tomorrow or (2) go now", leave
- IF leave = 1 THEN PRINT "Stay at the inn and recover your HP's"
- IF leave = 2 THEN PRINT "Take this quick heal"
- LOOP UNTIL leave = 1 OR leave = 2
- chp = mhp
- PRINT "HP RESTORED!"
- SLEEP 1
- CLS
- IF leave = 1 THEN fr = 2
- IF leave = 2 THEN fr = 5
- CALL quest1
- END IF
- IF level = 40 THEN
- quest = 4
- PRINT "Worthy "; name$; "! We are being severly threatened by a VERY tough"
- PRINT "monster named a tarrasque. He is threatening to kill this village"
- PRINT "and he constantly says your name in bitter anger. I think for your"
- PRINT "good and ours that you should go to the mountainside cave and find"
- PRINT "him before we are lost and our only hope for killing the dragon is"
- PRINT "lost as well!"
- DO: LOOP WHILE INKEY$ = ""
- PRINT "You will definitly need this.."
- chp = mhp
- SLEEP 1
- PRINT "HP restored!"
- SLEEP 2
- PRINT "Best of luck to you, oh mighty "; name$; "!"
- SLEEP 2
- CLS
- up = 39
- trek = 0
- CALL quest1
- END IF
- IF level = 60 THEN
- PRINT name$; "! You have finally reached level 60! You must speak"
- PRINT "to the king. Follow me"
- SLEEP 2
- PRINT "You are lead to the kings room"
- DO: LOOP UNTIL INKEY$ <> ""
- PRINT "KING:You have shown that you are very worthy of defeating and"
- PRINT "ridding the land of this dragon."
- DO: LOOP UNTIL INKEY$ <> ""
- PRINT "QUEEN:If you don't think that you are strong enough to face"
- PRINT "the dragon now you can get stronger at the arena and face the "
- PRINT "dragon when you think you are strong enough."
- DO: LOOP UNTIL INKEY$ <> ""
- PRINT "Good luck when you decide to fight the dragon."
- PRINT "Until then take this 2000000 gold"
- gold = gold + 2000000
- SLEEP 3
- END IF
- END SUB
- SUB deathfight
- DO
- dmg = attack + fnrnd(10) - defense1
- IF dmg <= 0 THEN dmg = 0
- PRINT "You hit for"; dmg; "damage"
- ehp = ehp - dmg
- IF ehp < 1 THEN EXIT DO
- dmg = attack1 + fnrnd(10) - defense
- IF dmg <= 0 THEN dmg = 0
- PRINT "You are hit for"; dmg; "damage"
- chp = chp - dmg
- LOOP WHILE ehp > 0 AND chp > 0
- IF ehp < 1 THEN EXIT SUB
- IF chp < 1 THEN
- IF quest <> 0 THEN
- PRINT "You have lost the deathfight"
- PRINT "TEN PERCENT OF XP WAS";
- COLOR 4: PRINT " LOST"
- COLOR 15: PRINT "HALF OF GOLD WAS";
- COLOR 4: PRINT " LOST"
- COLOR 15
- cxp = INT(cxp - (cxp * .1))
- gold = gold \ 2
- EXIT SUB
- END IF
- PRINT "You fall to the ground..."
- SLEEP 1
- PRINT "You look up at your adversary, who reaches for a long sword. He brings"
- PRINT "it up and into your chest, you actually feel your lungs bleed as everything"
- PRINT "goes black......"
- SLEEP 3
- PRINT "YOU HAVE LOST THE DEATHFIGHT!"
- PRINT "TEN PERCENT OF XP WAS";
- COLOR 4: PRINT " LOST"
- COLOR 15: PRINT "HALF OF GOLD WAS";
- COLOR 4: PRINT " LOST"
- COLOR 15
- chp = mhp
- cxp = INT(cxp - (cxp * .1))
- gold = gold \ 2
- CALL save
- SYSTEM
- END IF
- END SUB
- SUB dostat
- IF level > 0 THEN EXIT SUB
- INPUT "Tell me your name....", name$
- 54321
- PRINT "Now you will enter your password....ALL PASSWORDS HAVE TO BE NUMBERS!"
- COLOR 3, 3: INPUT pass
- COLOR 15, 0: PRINT "Now type it again for confirmation"
- COLOR 3, 3: INPUT pass2
- COLOR 15, 0
- IF pass <> pass2 THEN PRINT "The passwords are different!": GOTO 54321
- PRINT "Now ability scores will be generated"
- hp = fnrnd(10) + 10
- mp = fnrnd(4)
- str = 3
- dex = 3
- con = 3
- wis = 3
- in = 3
- cha = 3
- dis = 55
- heal = 5
- mpheal = 1
- lxp = 200
- 1
- CLS
- level = 1
- PRINT "You have"; dis; "ability points left to distribute"
- PRINT "Current status: Str:"; str; " Dex:"; dex; " Con:"; con; " Wis:"; wis; " int:"; in; "Cha:"; cha
- INPUT "What ability?(1,str,2,dex,3,con,4,wis,5,int,6,cha)", raise
- IF raise = 1 THEN
- INPUT "How much do you want to put into this ability?", raise
- IF raise > dis THEN PRINT "You don't have that much ability points": GOTO 1
- IF (str + raise) > 18 THEN PRINT "You can only have 18 points in one ability!": GOTO 1
- str = str + raise
- dis = dis - raise
- END IF
- IF raise = 2 THEN
- INPUT "How much do you want to put into this ability?", raise
- IF raise > dis THEN PRINT "You don't have that much ability points": GOTO 1
- IF (dex + raise) > 18 THEN PRINT "You can only have 18 points in one ability!": GOTO 1
- dex = dex + raise
- dis = dis - raise
- END IF
- IF raise = 3 THEN
- INPUT "How much do you want to put into this ability?", raise
- IF raise > dis THEN PRINT "You don't have that much ability points!": GOTO 1
- IF (con + raise) > 18 THEN PRINT "You can only have 18 points in one ability!": GOTO 1
- con = con + raise
- dis = dis - raise
- END IF
- IF raise = 4 THEN
- INPUT "How much do you want to put into this ability?", raise
- IF raise > dis THEN PRINT "You don't have that much ability points!": GOTO 1
- IF (wis + raise) > 18 THEN PRINT "You can only have 18 points in one ability!": GOTO 1
- wis = wis + raise
- dis = dis - raise
- END IF
- IF raise = 5 THEN
- INPUT "How much do you want to put into this ability?", raise
- IF raise > dis THEN PRINT "You don't have that much ability points!": GOTO 1
- IF (in + raise) > 18 THEN PRINT "You can only have 18 points in one ability!": GOTO 1
- in = in + raise
- dis = dis - raise
- END IF
- IF raise = 6 THEN
- INPUT "How much do you want to put into this ability?", raise
- IF raise > dis THEN PRINT "You don't have that much ability points!": GOTO 1
- IF (cha + raise) > 18 THEN PRINT "You can only have 18 points in one ability!": GOTO 1
- cha = cha + raise
- dis = dis - raise
- END IF
- IF dis > 0 THEN GOTO 1
- level = 1
- cxp = 0
- lxp = 200
- chp = hp
- mhp = hp
- cmp = mp
- mmp = mp
- heal = 5
- mpheal = 1
- armor = 3
- armor$ = "Thin leather armor"
- weapon = 7
- weapon$ = "Copper sword"
- gold = 400
- bank = 0
- END SUB
- SUB dragon
- 60
- PRINT "You go to tell the townspeople that you are going to fight the dragon.."
- SLEEP 2
- COLOR 5: PRINT "KING: We know you can do it,"; name$; " , so do this village proud and "
- PRINT "rid the land of Rakies."
- DO: LOOP WHILE INKEY$ = ""
- COLOR 31: INPUT "Are you SURE you are going to fight the dragon? There is no turning back", y$
- IF UCASE$(LEFT$(y$, 1)) = "N" THEN EXIT SUB
- COLOR 15: PRINT "QUEEN: You must take this elixer before you go."
- chp = mhp
- cmp = mmp
- SLEEP 3
- COLOR 22: PRINT "HP and MP restored!"
- SLEEP 2
- COLOR 15: PRINT "You WILL do it "; name$; "!"
- SLEEP 4
- CLS
- PRINT "After about 1 hour of searching you find the dragon."
- SLEEP 1
- PRINT UCASE$(name$); ": Rakies, you must die because of all of your raids"
- DO: LOOP WHILE INKEY$ = ""
- COLOR 4: PRINT "RAKIES: Neeeevvvveeerrr human. You dare to challenge me? Prepare to "
- PRINT "have an easy defeat!"
- hit1 = 87: ele = 5: mst = 62: mdx = 58: mcn = 43: mws = 25: min = 73: mch = 34: attack1 = 254: defense1 = 129: xp = 10000: qhp = 50000: ehp = qhp
- COLOR 20: PRINT "Now the REAL FIGHT BEGINS...."
- COLOR 15
- SLEEP 2
- 61
- CLS
- PRINT "You:";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp;
- COLOR 15
- PRINT "/"; mhp
- PRINT "[A]ttack"
- PRINT "[S]kill"
- PRINT "[H]eal"
- PRINT "[M]p heal"
- INPUT "command>", attack$
- attack$ = UCASE$(attack$)
- SELECT CASE attack$
- CASE "M"
- res = INT(wis * .75 + fnrnd(5))
- PRINT res; " MP's restored!"
- cmp = cmp + res
- mpheal = mpheal - 1
- CASE "S"
- CALL skillprint
- IF cod = 0 THEN GOTO 61
- CALL skillattack
- CASE "H"
- IF heal < 1 THEN GOTO 61
- IF chp = mhp THEN PRINT "You don't need a heal!": GOTO 61
- hpheal = fnrnd(5) + (in + con + wis)
- COLOR 11: PRINT hpheal; " HP's healed!"
- COLOR 15
- chp = chp + hpheal
- IF chp > mhp THEN chp = mhp
- heal = heal - 1
- GOTO 62
- CASE "A"
- dmg = fnrnd(10) + attack
- IF dmg <= defense1 THEN SOUND (dmg + 500), 3: PRINT "Your attack does no damage": GOTO 62
- dmg = INT(dmg - defense1)
- re = fnrnd(100)
- IF re <= hit THEN
- dmg = dmg * 2
- COLOR 20: PRINT "CRITICAL!"
- COLOR 15
- SOUND (dmg + 500), 3
- PRINT "You hit the monster for"; dmg; "hit points!"
- END IF
- IF re > hit THEN SOUND (dmg + 500), 3: PRINT "you inflicted "; dmg; "hp on the monster"
- ehp = ehp - dmg
- CASE ELSE
- GOTO 61
- END SELECT
- IF ehp <= 0 THEN
- COLOR 31: PRINT "you have defeated the monster!"
- COLOR 15
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- OPEN "O", 1, "Honor": WRITE #1, name$: CLOSE #1
- CALL endgame
- END IF
- 62
- at = fnrnd(3)
- IF at = 1 THEN
- COLOR 4: PRINT "Rakies attacks!"
- COLOR 15
- dmg = attack1 + fnrnd(10) - defense
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "It did no damage!": DO: LOOP WHILE INKEY$ = "": GOTO 61
- re = fnrnd(100)
- IF re <= hit1 THEN
- COLOR 20: PRINT "CRITICAL!!!"
- SOUND (dmg + 500), 3
- dmg = dmg * 3 + fnrnd(2)
- COLOR 4: PRINT "Rakies hit you for"; dmg; " damage"
- COLOR 15
- chp = chp - dmg
- END IF
- IF re > hit1 THEN
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "Rakies hit you for"; dmg; " damage"
- COLOR 15
- chp = chp - dmg
- END IF
- END IF
- IF at = 2 THEN
- COLOR 20: PRINT "The dragon breathes fire at you!"
- COLOR 15
- dmg = attack1 + (mws * 3) + fnrnd(20)
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "The attack did no damage!": DO: LOOP WHILE INKEY$ = "": GOTO 61
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The fire nailed you for"; dmg; "damage"
- COLOR 15
- chp = chp - dmg
- END IF
- IF at = 3 THEN
- COLOR 25: PRINT "The dragon rises...."
- COLOR 15
- dmg = attack1 + INT(attack1 * .65) + fnrnd(20)
- SOUND (dmg + 500), 3
- COLOR 2
- PRINT "The dive drops your defenses and hits you for"; dmg; " damage"
- COLOR 15
- chp = chp - dmg
- END IF
- IF chp <= 0 THEN
- COLOR 14: PRINT "You lost!....get stronger first."
- SYSTEM
- END IF
- DO: LOOP WHILE INKEY$ = ""
- GOTO 61
- END SUB
- SUB endgame
- PRINT "You have defeated the dragon? Unbeleiveable!"
- DO: LOOP WHILE INKEY$ = ""
- PRINT "QUEEN: You have done the unexpectable, be sure to take care of other"
- PRINT "lands as well!"
- DO: LOOP WHILE INKEY$ = ""
- PRINT "Your name is now in the hall of honor, it will remain there until some-"
- PRINT "one else decides to kill the dragon next."
- DO: LOOP WHILE INKEY$ = ""
- PRINT "Thanks for playing COMBAT ARENA!"
- PRINT "Credits:"
- SLEEP 1
- CLS
- PRINT "Programming: Jeff Copperthite"
- PRINT "Concept: Jeff Copperthite and Alan Kingsley"
- PRINT "Special thanks: SOCC2ME@aol.com, JasonDBird@aol.com, SASEisME@aol.com"
- PRINT "Borg953@aol.com, Marc Doherty"
- PRINT "Couldn't have done it without these guys!"
- SLEEP 3
- PRINT "Be sure to give your suggestions to Jeff!"
- PRINT "Thanks for playing again.."
- SYSTEM
- END SUB
- SUB fight1
- mst = fnrnd(15) + INT(up * .75)
- mdx = fnrnd(15) + INT(up * .75)
- mcn = fnrnd(15) + INT(up * .75)
- min = fnrnd(15) + INT(up * .75)
- mws = fnrnd(15) + INT(up * .75)
- mch = fnrnd(15) + INT(up * .75)
- attack1 = INT((mst + up) * 1.5)
- defense1 = ((mdx \ 2) + up)
- raigold = INT((((level * 3.5) + (up * 3.5)) + fnrnd(10) + 200) * 1.5 + fnrnd(2)) + (125 * up)
- ele = fnrnd(6)
- leve = up
- qhr = ((up \ 5) + (mst \ 2))
- IF qhr > 99 THEN qhr = 99
- qhp = fnrnd(10) + INT((mcn * 2) + (up * 16.2) + (up * (mst \ 3)))
- ehp = qhp
- xp = (up + (qhp \ 2)) + (mst + mdx + min + mws + mcn + mch \ 6)
- PRINT "Level:"; leve
- PRINT "HP:"; qhp; "/"; qhp
- IF ele = 1 THEN PRINT "Fire"
- IF ele = 2 THEN PRINT "Water"
- IF ele = 3 THEN PRINT "Earth"
- IF ele = 4 THEN PRINT "Air"
- IF ele = 5 THEN PRINT "Darkness"
- IF ele = 6 THEN PRINT "Light"
- PRINT " Hit%:"; qhr
- PRINT " Attack:"; attack1
- PRINT " Defense:"; defense1
- PRINT " Strength: "; mst
- PRINT " Dexterity: "; mdx
- PRINT " Intelligence: "; min
- PRINT " Wisdom: "; mws
- PRINT " Constitution: "; mcn
- PRINT " Charisma: "; mch
- PRINT " Xp value: "; xp
- PRINT " Gold:"; raigold
- INPUT "Fight this monster?", y$
- IF y$ = "N" OR y$ = "n" THEN EXIT SUB
- PRINT "You will get"; xp; " experience for defeating this monster"
- PRINT "LET'S FIGHT!"
- ehp = qhp
- 4
- CLS
- PRINT "You:";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp;
- COLOR 15
- PRINT "/"; mhp
- IF quest = 1 THEN COLOR 0
- PRINT "Monster:"; ehp; "/"; qhp
- COLOR 15
- PRINT "[A]ttack"
- PRINT "[S]kill"
- PRINT "[F]lee"
- PRINT "[D]eathfight"
- PRINT "[H]eal"
- PRINT "[M]p heal"
- INPUT "command>", attack$
- attack$ = UCASE$(attack$)
- SELECT CASE attack$
- CASE "D"
- CALL deathfight
- CASE "M"
- res = INT(wis * .75 + fnrnd(5))
- PRINT res; " MP's restored!"
- cmp = cmp + res
- mpheal = mpheal - 1
- CASE "F"
- fle = dex + wis + cha
- elf = mdx + mws + mch
- IF fle > elf THEN PRINT "you flee from the battle": EXIT SUB
- IF fle <= elf THEN PRINT "you can't run!"
- CASE "H"
- IF heal < 1 THEN GOTO 4
- IF chp = mhp THEN PRINT "You don't need a heal!": GOTO 4
- hpheal = fnrnd(5) + (in + con + wis)
- COLOR 6: PRINT hpheal; " HP's healed!"
- COLOR 15
- chp = chp + hpheal
- IF chp > mhp THEN chp = mhp
- heal = heal - 1
- GOTO 5
- CASE "S"
- CALL skillprint
- IF cod = 0 THEN GOTO 4
- CALL skillattack
- CASE "A"
- dmg = fnrnd(10) + attack
- dmg = INT(dmg - defense1)
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "Your attack does no damage": GOTO 5
- re = fnrnd(100)
- IF re <= hit THEN
- dmg = dmg * 3 + fnrnd(2)
- COLOR 20: PRINT "CRITICAL!"
- SOUND (dmg + 500), 3
- COLOR 15: PRINT "You hit the monster for"; dmg; "hit points!"
- END IF
- IF re > hit THEN SOUND (dmg + 500), 3: PRINT "you inflicted "; dmg; "hp on the monster"
- ehp = ehp - dmg
- IF ehp <= 0 THEN
- COLOR 25: PRINT "you have defeated the monster!"
- COLOR 15
- gold = gold + raigold
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- EXIT SUB
- END IF
- CASE ELSE
- GOTO 4
- END SELECT
- IF ehp <= 0 THEN
- COLOR 25: PRINT "you have defeated the monster!"
- COLOR 15
- gold = gold + raigold
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- EXIT SUB
- END IF
- 5
- PRINT "The monster attacks!"
- dmg = fnrnd(10) + attack1
- dmg = INT(dmg - defense)
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "The attack does no damage": DO: LOOP WHILE INKEY$ = "": GOTO 4
- re = fnrnd(100)
- IF re <= qhr THEN
- dmg = dmg * 3 + fnrnd(2)
- COLOR 20: PRINT "CRITICAL!"
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The monster hit you for"; dmg; " hit points."
- COLOR 15
- END IF
- IF re > qhr THEN SOUND (dmg + 500), 3: COLOR 4: PRINT "The monster hits you for"; dmg; " hp"
- COLOR 15
- chp = chp - dmg
- IF chp <= 0 THEN
- INPUT "You lost!...keep playing?", e$
- gold = gold \ 1.2
- cxp = INT(cxp - (cxp * .01))
- IF gold <= 0 THEN gold = 0
- chp = mhp
- IF e$ = "N" OR e$ = "n" THEN SYSTEM
- END IF
- DO: LOOP WHILE INKEY$ = ""
- GOTO 4
- END SUB
- SUB help
- 560
- CLS
- PRINT "[1] What is COMBAT ARENA?"
- PRINT "[2] Help with stats"
- PRINT "[3] Fighting"
- PRINT "[4] Overview of skills"
- PRINT "[5] Using Playerfights"
- PRINT "[6] The town"
- PRINT "[7] Getting your level up (and what happens)"
- PRINT "[8] Tips"
- PRINT "[9] Quit COMBAT ARENA help"
- INPUT menu1
- SELECT CASE menu1
- CASE 1
- PRINT "COMBAT ARENA is a text based fighting game for qbasic. This appeals"
- PRINT "mostly to RPG fans but I made this game almost totally based on"
- PRINT "fighting. I have gotten lots of reviews on this game that were good"
- PRINT "Please enjoy the game."
- PRINT " - Jeff Copperthite"
- DO: LOOP WHILE INKEY$ = ""
- CASE 2
- PRINT "Name: Your characters name"
- PRINT "Weapon: Your current sword in hand"
- PRINT "Armor: Your current armor"
- PRINT "Attack: The rate of damage you can cause"
- PRINT "Defense: How much damage you can absorb from an attack"
- PRINT "Critical hit %: Chance of one of your strikes being critical (3X damage!)"
- PRINT "HP: How much damage you can take before dying / max HP's"
- PRINT "MP: How much mystic force you have left / Max MP's"
- PRINT "Strength: Helps with attack and learning sword skills"
- PRINT "Dexterity: Helps defense and learning quickness skills"
- PRINT "Constitution: Your health rating..helps with gaining max HP's"
- PRINT "Wisdom: Your mystic power. Helps with learning magic spells"
- PRINT "Intelligence: How smart you are..helps with healing spells(mostly)"
- PRINT "Charisma: Your personal charm...helps with fleeing battles and healing"
- PRINT "Experience: Your number of xp points from defeating monsters."
- PRINT "For Level up: How much xp you need to raise a level"
- PRINT "Gold in hand...gold in bank: Pretty self explanitory <g>"
- PRINT "Healings: How many healing potions you have in your hand"
- PRINT "Ethers: How many Ether potions you have in your hand"
- DO: LOOP WHILE INKEY$ = ""
- CASE 3
- PRINT "When you fight you are either fighting on a quest or in the arena"
- PRINT "gaining xp. You have 6 choices in battle...attack, skills, flee,deathfight"
- PRINT "MP heal, and heal. Skills will call up your current skills for use. Attack"
- PRINT "is a regular attack using your current weapon. Deathfight is a fight"
- PRINT "to the death. If you die in a deathfight you will suffer consequences"
- PRINT "like loss of ten percent of xp and half of your gold. MP heal and heal"
- PRINT "will use one of your ethers or healings respectively. Be careful when"
- PRINT "using deathfight..."
- PRINT " When you defeat a monster you will gain xp for defeating the monster"
- PRINT "and some gold. If you lose you will have an option to try again. "
- PRINT "You will lose gold and xp if you do get defeated. "
- DO: LOOP WHILE INKEY$ = ""
- CASE 4
- PRINT "You have two groups of skills...magic and physical skills. Each "
- PRINT "requires a certain ability or abilities to be at a specified point."
- PRINT "For example to learn Quad Attack you would need a strength of 31"
- PRINT "or higher."
- PRINT " Each skill needs a certain amount of mystic power to invoke. Some"
- PRINT "of the more powerful skills (like flare and dark side) will need you"
- PRINT "to get many of your abilities to a certain point."
- PRINT " Skills are an important part of this game. Be sure to learn as many"
- PRINT "skills as you can!"
- DO: LOOP WHILE INKEY$ = ""
- CASE 5
- PRINT "Playerfights are an interesting and neat part of the game. What it is"
- PRINT "is it allows you to fight another saved character and, if successful,"
- PRINT "win gold and xp. The character you just killed will be rendered dead"
- PRINT "until the player is loaded again. This is cool if you have a brother"
- PRINT "or sister that plays this game as well <g>"
- PRINT " To use playerfights you have to have the knowledge of knowing the"
- PRINT "character's name. When you successfully have a character ready to fight"
- PRINT "it will tell you the current weapon and armor of that character. You"
- PRINT "will be given a chance to back out."
- PRINT " During the fight you will not be able to use any skills. But the"
- PRINT "fight to the death option is still there. Fight on as if this was"
- PRINT "an arena battle (just keep an eye on your HP's)."
- PRINT " Sometimes your opponet will purposely use a healing to keep HP's"
- PRINT "up. That is why it is good to carry around a few healings."
- PRINT " If you win you will gain all gold in your opponets hand, and"
- PRINT "ten percent of your opponets xp. If you lose all of the above will"
- PRINT "happen to you!"
- DO: LOOP WHILE INKEY$ = ""
- CASE 6
- PRINT "The town is the spot where you buy all of your weapons, armor, ethers,"
- PRINT "and healings. You are given the option of going to the bank,JR's "
- PRINT "swords, MAD armor, Alan's professional healing shop, and the hall"
- PRINT "of honor. Here is a brief explanation of the town."
- PRINT
- PRINT " Bank: This is where you keep your gold. The bank is useful so you can"
- PRINT "keep your gold safe from attackers"
- PRINT " Weapon shop: This is where you can buy new swords. You can also sell"
- PRINT "your old sword for some extra dough. "
- PRINT " Armor shop: This is where you can buy new armor. You can also sell"
- PRINT "your old armor for extra money"
- PRINT " Healing shop: This is where you buy healings, ethers, and get your"
- PRINT "wounds healed. An essential in the town"
- PRINT " Hall of Honor: This shows the last person that has beaten the dragon"
- DO: LOOP WHILE INKEY$ = ""
- CASE 7
- PRINT "When you get your level up you basically go up in skill. You have"
- PRINT "3 ability points to distribute through your 6 abilities. Then you"
- PRINT "also go up in max HP's and MP's. Your base attack and defense are "
- PRINT "raised by 1, and other things may change according to ability "
- PRINT "changes (attack or defense may go up more, your critical hit % may"
- PRINT "go up, you may learn a new skill or two)."
- DO: LOOP WHILE INKEY$ = ""
- CASE 8
- PRINT "- Keep monster toughness around your current level. You gain more"
- PRINT " gold for defeating a tougher monster."
- PRINT "- Keep a high stock of healings incase you get attacked."
- PRINT "- Note when you go on quests take some ether's along because you may"
- PRINT " need MP's when you least expect it"
- PRINT "- Keep your gold in the bank to keep it safe from attackers"
- PRINT "- NEVER FORGET YOUR PASSWORD!"
- PRINT "- Join Jeff's mailing list on AOL!(send me mail at JRC80@aol.com)"
- PRINT " ^--Just had to put it in <g>"
- DO: LOOP WHILE INKEY$ = ""
- CASE 9
- EXIT SUB
- END SELECT
- GOTO 560
- END SUB
- SUB levelraise
- COLOR 17: PRINT "You have raised a level!"
- COLOR 15
- level = level + 1
- dis = 3
- 324
- PRINT "You have"; dis; "points left"
- INPUT "(1.Str 2.Dex 3.Con 4.Wis 5.Int 6.Cha)", ab
- SELECT CASE ab
- CASE 1
- str = str + 1
- dis = dis - 1
- CASE 2
- dex = dex + 1
- dis = dis - 1
- CASE 3
- con = con + 1
- dis = dis - 1
- CASE 4
- wis = wis + 1
- dis = dis - 1
- CASE 5
- in = in + 1
- dis = dis - 1
- CASE 6
- cha = cha + 1
- dis = dis - 1
- END SELECT
- IF dis > 0 THEN GOTO 324
- raihp = fnrnd(10) + con + (con \ 2)
- raimp = fnrnd(2) + (wis \ 7)
- CLS
- PRINT "Your max HP's are raised by"; raihp
- PRINT "Your max MP's are raised by"; raimp
- mhp = mhp + raihp
- mmp = mmp + raimp
- lxp = lxp + (level * 171)
- cmp = mmp
- CALL stat
- IF level = 10 OR level = 20 OR level = 30 OR level = 40 OR level = 60 THEN CALL beginquest
- END SUB
- SUB load
- INPUT "Tell me your name....", name$
- PRINT "Enter your password"
- COLOR 3, 3: INPUT upass
- COLOR 15, 0
- OPEN "I", 1, name$
- INPUT #1, up, str, dex, con, in, wis, cha, heal, chp, mhp, cxp, lxp, level, cmp, mmp, defense, attack, hit, armor, weapon, bank, gold, message, pass, armor$, weapon$, mpheal
- CLOSE
- IF upass <> pass THEN PRINT "WRONG PASSWORD!": CLEAR
- END SUB
- SUB menu
- CLOSE
- IF cxp > lxp THEN CALL levelraise
- IF message = 1 THEN
- PRINT "*****BULLETIN*****"
- SLEEP 2
- PRINT "While away you were attacked and got killed!"
- SLEEP 1
- END IF
- IF message = 2 THEN
- PRINT "*****BULLETIN*****"
- SLEEP 2
- PRINT "While away you were attacked and killed the challenger in self defense!"
- SLEEP 1
- END IF
- message = 0
- PRINT "(1) See stat screen"
- PRINT "(2) Fight monster"
- PRINT "(3) Change monster level"
- PRINT "(4) Use healing"
- PRINT "(5) Save character"
- PRINT "(6) Load character"
- PRINT "(7) View skills"
- PRINT "(8) Venture to town"
- PRINT "(9) Fight another player"
- PRINT "(10) Use ether"
- PRINT "(11) Quit COMBAT ARENA"
- PRINT "(12) Help on COMBAT ARENA"
- IF level > 59 THEN PRINT "(13) Fight Rakies"
- INPUT choice
- END SUB
- SUB playerfight
- INPUT "What is the name of the character you wish to fight?", name2$
- IF UCASE$(name2$) = UCASE$(name$) THEN PRINT "You can't fight yourself!": EXIT SUB
- IF name2$ = "" THEN EXIT SUB
- OPEN "I", 1, name2$: INPUT #1, up1, str1, dex1, con1, in1, wis1, cha1, heal1, chp1, mhp1, cxp1, lxp1, level1, cmp1, mmp1, defense1, attack1, hit1, armor1, weapon1, bank1, gold1, message1, pass5, armor1$, weapon1$, mpheal1: CLOSE #1
- IF message1 = 1 THEN PRINT "This character is dead already!": EXIT SUB
- PRINT "The character you are going to fight has "; armor1$; " on and"
- PRINT "is holding a "; weapon1$; " for a weapon."
- DO: LOOP WHILE INKEY$ = ""
- INPUT "Are you sure you want to fight this character?", s$
- IF UCASE$(s$) = "N" THEN EXIT SUB
- PRINT "Here we go! "; name$; " vs. "; name2$
- chp1 = mhp1
- 1000
- PRINT name$; " :";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp; "/";
- COLOR 15
- PRINT mhp
- PRINT name2$; " :";
- COLOR 15
- IF chp1 <= INT(mhp1 * .5) THEN COLOR 12
- IF chp1 <= INT(mhp1 * .15) THEN COLOR 20
- PRINT chp1; "/";
- COLOR 15
- PRINT mhp1
- PRINT "You attack"
- PRINT "[a]ttack"
- PRINT "[h]eal"
- PRINT "[f]ight to the death!"
- PRINT "[r]un"
- INPUT "command>", attack$
- IF (attack$ = "h" OR attack$ = "H") AND heal > 0 THEN
- hpheal = cha + in + wis + con
- PRINT hpheal; " HP's healed!"
- chp = chp + hpheal
- heal = heal - 1
- IF chp > mhp THEN chp = mhp
- END IF
- IF attack$ = "f" OR attack$ = "F" THEN
- DO
- dmg = attack - defense1 + fnrnd(10)
- IF dmg < 0 THEN dmg = 0
- PRINT "You hit for"; dmg; "damage"
- chp1 = chp1 - dmg
- dmg = attack1 - defense + fnrnd(10)
- IF dmg < 0 THEN dmg = 0
- PRINT "You are hit for"; dmg; "damage"
- chp = chp - dmg
- LOOP WHILE (chp > 0 AND chp1 > 0)
- IF chp1 <= 0 THEN
- PRINT "You have defeated "; name2$
- SLEEP 1
- xpgain = INT(cxp1 - (cxp1 * .9))
- PRINT name2$; " has "; gold1; "gold..now it is yours!"
- PRINT "You earn"; xpgain; " experience"
- gold = gold + gold1
- gold1 = 0
- cxp = cxp + xpgain
- cxp1 = cxp1 - xpgain
- chp1 = mhp1
- message1 = 1
- GOTO saveend
- END IF
- IF chp <= 0 THEN
- PRINT "You have been defeated by "; name2$
- SLEEP 1
- PRINT "TEN PERCENT OF XP WAS LOST"
- PRINT "ALL GOLD ON HAND WAS LOST AND GIVEN TO "; UCASE$(name2$)
- gold1 = gold1 + gold
- xpgain = INT(cxp - (cxp * .9))
- cxp1 = cxp1 + xpgain
- cxp = cxp - xpgain
- chp = mhp
- gold = 0
- message1 = 2
- GOTO saveend
- END IF
- END IF
- IF attack$ = "r" OR attack$ = "R" THEN
- IF dex < dex1 THEN
- PRINT name2$; " trips you as you scurry away, taking"; INT(gold - (gold * .9)); " gold away"
- PRINT "from you."
- goldloss = INT(gold - (gold * .9))
- gold = gold - goldloss
- gold1 = gold1 + goldloss
- GOTO saveend
- END IF
- IF dex >= dex1 THEN
- PRINT "You use your quickness to run away from the battle"
- GOTO saveend
- END IF
- END IF
- IF attack$ = "a" OR attack$ = "A" THEN
- PRINT "You attack"
- dmg = attack + fnrnd(10) - defense1
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "You didn't do damage!": GOTO 2000
- re = fnrnd(100)
- IF re <= hit THEN
- COLOR 20: PRINT "CRITICAL!"
- COLOR 15
- dmg = dmg * 3 + fnrnd(2)
- SOUND (dmg + 500), 3
- PRINT "You did"; dmg; " damage to "; name2$
- chp1 = chp1 - dmg
- END IF
- IF re > hit THEN
- SOUND (dmg + 500), 3
- PRINT "You did"; dmg; " damage to "; name2$
- chp1 = chp1 - dmg
- END IF
- END IF
- IF chp1 <= 0 THEN
- PRINT "You have defeated "; name2$
- SLEEP 1
- xpgain = INT(cxp1 - (cxp1 * .9))
- PRINT name2$; " has "; gold1; "gold..now it is yours!"
- PRINT "You earn"; xpgain; " experience"
- gold = gold + gold1
- gold1 = 0
- cxp = cxp + xpgain
- cxp1 = cxp1 - xpgain
- chp1 = mhp1
- message1 = 1
- GOTO saveend
- END IF
- 2000
- attac = fnrnd(10)
- IF attac = 10 AND heal1 < 1 THEN GOTO 2000
- IF attac = 10 THEN
- PRINT name2$; " takes a heal!"
- SLEEP 1
- hpheal = cha1 + in1 + wis1 + con1
- PRINT hpheal; "HP's healed!"
- chp1 = chp1 + hpheal
- heal1 = heal1 - 1
- IF chp1 > mhp1 THEN chp1 = mhp1
- END IF
- IF attac <> 10 THEN
- PRINT name2$; " attacks you!"
- dmg = attack1 + fnrnd(10) - defense
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "The attack did no damage!": GOTO 1000
- re = fnrnd(100)
- IF re <= hit1 THEN
- COLOR 20: PRINT "CRITICAL!"
- COLOR 15
- dmg = dmg * 3 + fnrnd(2)
- SOUND (dmg + 500), 3
- PRINT name2$; " hit you for"; dmg; " damage"
- chp = chp - dmg
- END IF
- IF re > hit1 THEN
- SOUND (dmg + 500), 3
- PRINT name2$; " hit you for"; dmg; " damage"
- chp = chp - dmg
- END IF
- END IF
- IF chp <= 0 THEN
- PRINT "You have been defeated by "; name2$
- SLEEP 1
- PRINT "TEN PERCENT OF XP WAS LOST"
- PRINT "ALL GOLD ON HAND WAS LOST AND GIVEN TO "; UCASE$(name2$)
- gold1 = gold1 + gold
- xpgain = INT(cxp - (cxp * .9))
- cxp1 = cxp1 + xpgain
- cxp = cxp - xpgain
- chp = mhp
- gold = 0
- message1 = 2
- GOTO saveend
- END IF
- GOTO 1000
- saveend:
- OPEN "O", 1, name$: WRITE #1, up, str, dex, con, in, wis, cha, heal, chp, mhp, cxp, lxp, level, cmp, mmp, defense, attack, hit, armor, weapon, bank, gold, message, pass, armor$, weapon$, mpheal: CLOSE #1
- OPEN "O", 1, name2$: WRITE #1, up1, str1, dex1, con1, in1, wis1, cha1, heal1, chp1, mhp1, cxp1, lxp1, level1, cmp1, mmp1, defense1, attack1, hit1, armor1, weapon1, bank1, gold1, message1, pass5, armor1$, weapon1$, mpheal1: CLOSE #1
- END SUB
- SUB quest1
- IF quest = 2 THEN GOTO 20
- IF quest = 3 THEN GOTO 40
- IF quest = 4 THEN GOTO 50
- DO
- COLOR 2
- PRINT "You are in the forest"
- COLOR 15
- PRINT "(esc) to view stats"
- PRINT "(enter) to heal"
- PRINT "Any other key to move on"
- DO: trash$ = INKEY$: LOOP WHILE trash$ = ""
- IF trash$ = CHR$(27) AND heal > 0 THEN chp = chp + wis + in + cha: heal = heal - 1
- IF trash$ = CHR$(13) THEN CALL stat
- encount = fnrnd(4)
- IF encount = 1 THEN GOSUB fight10
- trek = trek + 1
- LOOP WHILE (trek < 15)
- COLOR 24: PRINT "You have encountered the bone golem!"
- SLEEP 2
- COLOR 15
- xp = 1000
- qhp = 2000
- mst = 25: mdx = 23: mcn = 19: mws = 27: min = 24: mch = 23
- attack1 = 46
- defense1 = 20
- hit1 = 19
- ele = 4
- ehp = 2000
- DO
- 11
- CLS
- PRINT "You:";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp;
- COLOR 15
- PRINT "/"; mhp
- PRINT "[A]ttack"
- PRINT "[S]kill"
- COLOR 2: PRINT "[F]lee"
- COLOR 15: PRINT "[H]eal"
- PRINT "[M]p heal"
- INPUT "command>", attack$
- attack$ = UCASE$(attack$)
- SELECT CASE attack$
- CASE "M"
- res = INT(wis * .75 + fnrnd(5))
- PRINT res; " MP's restored!"
- cmp = cmp + res
- mpheal = mpheal - 1
- CASE "F"
- COLOR 18
- PRINT "You can't flee from this battle!": GOTO 11
- COLOR 15
- CASE "H"
- IF heal < 1 THEN GOTO 11
- IF chp = mhp THEN PRINT "You don't need a heal!": GOTO 11
- hpheal = fnrnd(5) + (in + con + wis)
- COLOR 10
- PRINT hpheal; " HP's healed!"
- COLOR 15
- chp = chp + hpheal
- IF chp > mhp THEN chp = mhp
- heal = heal - 1
- GOTO 12
- CASE "S"
- CALL skillprint
- IF cod = 0 THEN GOTO 11
- CALL skillattack
- CASE "A"
- dmg = fnrnd(10) + attack
- IF dmg <= defense1 THEN COLOR 24: SOUND (dmg + 500), 3: PRINT "Your attack does no damage": COLOR 15: GOTO 12
- dmg = INT(dmg - defense1)
- re = fnrnd(100)
- IF re <= hit THEN
- dmg = dmg * 2
- COLOR 20
- PRINT "CRITICAL!"
- SOUND (dmg + 500), 3
- COLOR 15
- PRINT "You hit the monster for"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT "hit points!"
- END IF
- IF re > hit THEN SOUND (dmg + 500), 3: PRINT "you inflicted "; : COLOR 4: PRINT dmg; : COLOR 15: PRINT "hp on the monster"
- ehp = ehp - dmg
- CASE ELSE
- GOTO 11
- END SELECT
- IF ehp <= 0 THEN
- COLOR 13
- PRINT "you have defeated the monster!"
- COLOR 15
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- rewad = 1: CALL reward
- EXIT SUB
- END IF
- 12
- at = fnrnd(3)
- IF at = 1 THEN
- dmg = attack1 + fnrnd(10)
- IF dmg <= defense THEN PRINT "The attack does no damage": DO: LOOP WHILE INKEY$ = "": GOTO 11
- dmg = dmg - defense
- re = fnrnd(100)
- IF re <= hit1 THEN
- dmg = dmg * 3 + fnrnd(2)
- PRINT "The monster attacks!"
- COLOR 20
- PRINT "CRITICAL!"
- COLOR 15
- SOUND (dmg + 500), 3
- PRINT "The bone golem hit you for"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " HP's"
- chp = chp - dmg
- END IF
- IF re > hit1 THEN
- PRINT "The bone golem attacks"
- SOUND (dmg + 500), 3
- PRINT "He hit you for"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " HP's"
- chp = chp - dmg
- END IF
- END IF
- IF at = 2 THEN
- PRINT "He tosses a bone at you!"
- dmg = INT(attack1 + 10 + fnrnd(10))
- dmg = dmg - defense
- IF dmg < 0 THEN dmg = 0
- SOUND (dmg + 500), 3
- PRINT "It hits you for"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " damage"
- chp = chp - dmg
- END IF
- IF at = 3 THEN
- PRINT "He runs into you!"
- dmg = INT(attack1 * 1.5) + fnrnd(10)
- dmg = dmg - defense
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "it didn't do any damage!": DO: LOOP WHILE INKEY$ = "": GOTO 11
- SOUND (dmg + 500), 3
- PRINT "He hits you for"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " damage"
- chp = chp - dmg
- END IF
- IF chp <= 0 THEN
- COLOR 25
- PRINT "You died!....you will try again.."
- COLOR 15
- chp = mhp
- ehp = qhp
- IF cmp <= 0 THEN cmp = INT(mmp * .5)
- IF cmp > mmp THEN cmp = mmp
- GOTO 11
- END IF
- DO: LOOP WHILE INKEY$ = ""
- LOOP WHILE ehp > 0 AND chp > 0
- 20
- trek = 0
- DO
- trek = trek + 1
- COLOR 6
- PRINT "You are in the mountain ranges"
- COLOR 15
- PRINT "(esc) for heal"
- PRINT "(enter) for stats"
- PRINT "Any other key to continue"
- DO: trash$ = INKEY$: LOOP WHILE (trash$ = "")
- IF trash$ = CHR$(27) AND heal > 0 THEN chp = chp + wis + in + cha: heal = heal - 1: IF chp > mhp THEN chp = mhp
- IF trash$ = CHR$(13) THEN CALL stat
- encount = fnrnd(3)
- IF encount = 1 THEN GOSUB fight10
- LOOP WHILE (trek < 20)
- COLOR 29: PRINT "You have found the wyvern!"
- COLOR 15
- SLEEP 2
- xp = 2000
- qhp = 5000
- mst = 27: mdx = 32: mcn = 26: mws = 30: min = 28: mch = 35
- attack1 = 59
- defense1 = 35
- hit1 = 25
- ele = 1
- ehp = 2500
- 21
- CLS
- PRINT "You:";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp;
- COLOR 15
- PRINT "/"; mhp
- PRINT "[A]ttack"
- PRINT "[S]kill"
- COLOR 2: PRINT "[F]lee"
- COLOR 15: PRINT "[H]eal"
- PRINT "[M]p heal"
- INPUT "command>", attack$
- attack$ = UCASE$(attack$)
- SELECT CASE attack$
- CASE "M"
- res = INT(wis * .75 + fnrnd(5))
- PRINT res; " MP's restored!"
- cmp = cmp + res
- mpheal = mpheal - 1
- CASE "S"
- CALL skillprint
- IF cod = 0 THEN GOTO 21
- CALL skillattack
- CASE "H"
- IF chp = mhp THEN PRINT "You don't need a heal!": GOTO 21
- hpheal = fnrnd(5) + (in + con + wis)
- COLOR 8
- PRINT hpheal; " HP's healed!"
- COLOR 15
- chp = chp + hpheal
- IF chp > mhp THEN chp = mhp
- heal = heal - 1
- GOTO 22
- CASE "A"
- dmg = fnrnd(10) + attack
- dmg = INT(dmg - defense1)
- IF dmg <= 0 THEN COLOR 19: SOUND (dmg + 500), 3: PRINT "Your attack does no damage": COLOR 15: GOTO 22
- re = fnrnd(100)
- IF re <= hit THEN
- dmg = dmg * 2
- COLOR 20
- PRINT "CRITICAL!"
- COLOR 15
- SOUND (dmg + 500), 3
- PRINT "You hit the monster for"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT "hit points!"
- END IF
- IF re > hit THEN SOUND (dmg + 500), 3: PRINT "you inflicted "; : COLOR 4: PRINT dmg; : COLOR 15: PRINT "hp on the monster"
- ehp = ehp - dmg
- CASE ELSE
- GOTO 21
- END SELECT
- IF ehp <= 0 THEN
- COLOR 25
- PRINT "you have defeated the monster!"
- COLOR 15
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- rewad = 2: CALL reward
- EXIT SUB
- END IF
- 22
- at = fnrnd(3)
- IF at = 1 THEN
- COLOR 2
- PRINT "The wyvern attacks!"
- COLOR 15
- dmg = attack1 + fnrnd(10)
- dmg = dmg - defense
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "The attack didn't hurt you!": DO: LOOP WHILE INKEY$ = "": GOTO 21
- re = fnrnd(100)
- IF re <= hit1 THEN
- dmg = dmg * 2
- COLOR 20: PRINT "CRITICAL!"
- COLOR 15
- SOUND (dmg + 500), 3
- PRINT "The wyvern did"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " damage on you"
- chp = chp - dmg
- END IF
- IF re > hit1 THEN
- SOUND (dmg + 500), 3
- PRINT "The wyvern did"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " damage on you"
- chp = chp - dmg
- END IF
- END IF
- IF at = 2 THEN
- COLOR 2: PRINT "The wyvern hits you with the wing slap"
- dmg = INT(attack1 * 1.5) + fnrnd(15)
- COLOR 15
- SOUND (dmg + 500), 3
- dmg = dmg - defense
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "it didn't do any damage!": DO: LOOP WHILE INKEY$ = "": GOTO 21
- PRINT "It did"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " HP of damage on you"
- chp = chp - dmg
- END IF
- IF at = 3 THEN
- COLOR 20: PRINT "The wyvern breathes fire at you!"
- dmg = INT(mws * 1.5 + fnrnd(20))
- COLOR 15
- SOUND (dmg + 500), 3
- PRINT "It does"; : COLOR 4: PRINT dmg; : COLOR 15: PRINT " damage to you"
- chp = chp - dmg
- END IF
- IF chp <= 0 THEN
- COLOR 25
- PRINT "You lost!...you will try again"
- COLOR 15
- chp = mhp
- ehp = qhp
- IF cmp = 0 THEN cmp = INT(mmp * .5)
- GOTO 21
- END IF
- DO: LOOP WHILE INKEY$ = ""
- GOTO 21
- 40
- PRINT "Good luck!"
- trek = 0
- DO
- IF trek < 11 THEN COLOR 2: PRINT "You are in the plains"
- IF trek > 10 THEN COLOR 11: PRINT "You are in the castle"
- COLOR 15
- PRINT "(esc) for a heal"
- PRINT "(enter) for stats"
- PRINT "any other key to move on"
- DO: trash$ = INKEY$: LOOP WHILE (trash$ = "")
- IF trash$ = CHR$(13) THEN CALL stat
- IF trash$ = CHR$(27) AND heal > 0 THEN chp = mhp: heal = heal - 1: IF chp > mhp THEN chp = mhp
- trek = trek + 1
- encount = fnrnd(fr)
- IF encount = 1 THEN GOSUB fight10
- LOOP WHILE (trek < 20)
- 41
- ele = 2: hit1 = 28: mst = 32: mdx = 23: mcn = 31: mws = 36: min = 23: mch = 27: xp = 3400: qhp = 6500: ehp = 3000: attack = 102: defense1 = 58: IF leave = 2 THEN defense1 = 23: IF fr = 5 THEN defense1 = 58
- COLOR 24: PRINT "You have found the vampire!"
- COLOR 15
- 42
- CLS
- PRINT "You:";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp;
- COLOR 15
- PRINT "/"; mhp
- PRINT "[A]ttack"
- PRINT "[S]kill"
- COLOR 2: PRINT "[F]lee"
- COLOR 15: PRINT "[H]eal"
- PRINT "[M]p heal"
- INPUT "command>", attack$
- attack$ = UCASE$(attack$)
- SELECT CASE attack$
- CASE "M"
- res = INT(wis * .75 + fnrnd(5))
- PRINT res; " MP's restored!"
- cmp = cmp + res
- mpheal = mpheal - 1
- CASE "S"
- CALL skillprint
- IF cod = 0 THEN GOTO 42
- CALL skillattack
- CASE "H"
- IF heal < 1 THEN GOTO 42
- IF chp = mhp THEN PRINT "You don't need a heal!": GOTO 42
- hpheal = fnrnd(5) + (in + con + wis)
- COLOR 11
- PRINT hpheal; " HP's healed!"
- COLOR 15
- chp = chp + hpheal
- IF chp > mhp THEN chp = mhp
- heal = heal - 1
- GOTO 43
- CASE "A"
- dmg = fnrnd(10) + attack
- dmg = INT(dmg - defense1)
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "Your attack does no damage": GOTO 43
- re = fnrnd(100)
- IF re <= hit THEN
- dmg = dmg * 3 + fnrnd(2)
- COLOR 20
- PRINT "CRITICAL!"
- COLOR 15
- SOUND (dmg + 500), 3
- PRINT "You hit the monster for"; dmg; "hit points!"
- END IF
- IF re > hit THEN SOUND (dmg + 500), 3: PRINT "you inflicted "; dmg; "hp on the monster"
- ehp = ehp - dmg
- CASE ELSE
- GOTO 42
- END SELECT
- IF ehp <= 0 THEN
- COLOR 25
- PRINT "you have defeated the monster!"
- COLOR 15
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- rewad = 3: CALL reward
- EXIT SUB
- END IF
- 43
- at = fnrnd(3)
- IF at = 1 THEN
- PRINT "The vampire attacks!"
- dmg = attack1 + fnrnd(10)
- dmg = dmg - defense
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "It did no damage!": DO: LOOP WHILE INKEY$ = "": GOTO 42
- re = fnrnd(100)
- IF re <= hit1 THEN
- COLOR 20: PRINT "CRITICAL!"
- dmg = dmg * 3 + fnrnd(2)
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The vampire hit you for"; dmg; " damage"
- COLOR 15
- chp = chp - dmg
- END IF
- IF re > hit1 THEN
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The vampire hit you for"; dmg; " damage"
- COLOR 15
- chp = chp - dmg
- END IF
- END IF
- IF at = 2 THEN
- er = fnrnd(100)
- dmg = INT(attack1 * 2)
- IF er > 25 THEN SOUND (dmg + 500), 3: PRINT "The vampire missed with the drain.": DO: LOOP WHILE INKEY$ = "": GOTO 42
- IF er <= 25 THEN
- COLOR 29: PRINT "The vampire sinks his teeth in"
- COLOR 15
- SOUND (dmg + 500), 3
- IF dmg <= (wis + con) + level THEN PRINT "It didn't hurt you!": DO: LOOP WHILE INKEY$ = "": GOTO 42
- dmg = dmg - (wis + con + level)
- COLOR 20: PRINT "You lost"; dmg; " HPs"
- COLOR 2: PRINT "The vampire gained"; (dmg \ 2 + fnrnd(4)); " HPs"
- COLOR 15
- chp = chp - dmg
- ehp = ehp + (dmg \ 2 + fnrnd(4))
- IF ehp > qhp THEN ehp = qhp
- END IF
- END IF
- IF at = 3 THEN
- COLOR 20: PRINT "The vampire casts fire!"
- COLOR 15
- dmg = (mws * 2) + fnrnd(10)
- SOUND (dmg + 500), 3
- PRINT "The spell does"; dmg; " to you"
- chp = chp - dmg
- END IF
- IF chp <= 0 THEN
- COLOR 21: PRINT "You lost!....you will try again"
- COLOR 15: chp = mhp
- IF cmp = 0 THEN cmp = INT(mmp * .5)
- GOTO 43
- END IF
- DO: LOOP WHILE INKEY$ = ""
- GOTO 42
- 50
- DO WHILE trek < 20
- COLOR 8: PRINT "You are in the mountainside cave"
- COLOR 15
- PRINT "(esc) to use a heal"
- PRINT "(enter) to see stats"
- PRINT "Any other key to move on"
- DO: trash$ = INKEY$: LOOP WHILE trash$ = ""
- IF trash$ = CHR$(13) THEN CALL stat
- IF trash$ = CHR$(27) AND heal > 0 THEN chp = chp + wis + cha + in: heal = heal - 1: IF chp > mhp THEN chp = mhp
- trek = trek + 1
- encount = fnrnd(4)
- IF encount = 1 THEN GOSUB fight10
- LOOP
- COLOR 6: PRINT "You have found the tarrasque and he is MAD!"
- hit1 = 30: mst = 41: mdx = 21: mcn = 31: mws = 15: min = 27: mch = 25: attack1 = 122: defense1 = 61: xp = 5000: qhp = 7000: ehp = qhp: ele = 4
- 51
- CLS
- PRINT "You:";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp;
- COLOR 15
- PRINT "/"; mhp
- PRINT "[A]ttack"
- PRINT "[S]kill"
- COLOR 2: PRINT "[F]lee"
- COLOR 15: PRINT "[H]eal"
- PRINT "[M]p heal"
- INPUT "command>", attack$
- attack$ = UCASE$(attack$)
- SELECT CASE attack$
- CASE "M"
- res = INT(wis * .75 + fnrnd(5))
- PRINT res; " MP's restored!"
- cmp = cmp + res
- mpheal = mpheal - 1
- CASE "S"
- CALL skillprint
- IF cod = 0 THEN GOTO 51
- CALL skillattack
- CASE "H"
- IF heal < 1 THEN GOTO 51
- IF chp = mhp THEN PRINT "You don't need a heal!": GOTO 51
- hpheal = fnrnd(5) + (in + con + wis)
- COLOR 10: PRINT hpheal; " HP's healed!"
- COLOR 15
- chp = chp + hpheal
- IF chp > mhp THEN chp = mhp
- heal = heal - 1
- GOTO 52
- CASE "A"
- dmg = fnrnd(10) + attack
- IF dmg <= defense1 THEN SOUND (dmg + 500), 3: PRINT "Your attack does no damage": GOTO 52
- dmg = INT(dmg - defense1)
- re = fnrnd(100)
- IF re <= hit THEN
- dmg = dmg * 2
- COLOR 20: PRINT "CRITICAL!"
- COLOR 15
- SOUND (dmg + 500), 3
- PRINT "You hit the monster for"; dmg; "hit points!"
- END IF
- IF re > hit THEN SOUND (dmg + 500), 3: PRINT "you inflicted "; dmg; "hp on the monster"
- ehp = ehp - dmg
- CASE ELSE
- GOTO 51
- END SELECT
- IF ehp <= 0 THEN
- COLOR 25: PRINT "you have defeated the monster!"
- COLOR 15
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- rewad = 4: CALL reward
- EXIT SUB
- END IF
- 52
- at = fnrnd(3)
- IF at = 1 THEN
- PRINT "The tarrasque attacks!"
- dmg = attack1 + fnrnd(10) - defense
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "The attack did no damage!": DO: LOOP WHILE INKEY$ = "": GOTO 51
- re = fnrnd(100)
- IF re <= hit1 THEN
- COLOR 20: PRINT "CRITICAL!"
- dmg = dmg * 3 + fnrnd(2)
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The attack did"; dmg; "damage to you"
- COLOR 15
- chp = chp - dmg
- END IF
- IF re > hit1 THEN
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The attack did"; dmg; " damage to you"
- COLOR 15
- chp = chp - dmg
- END IF
- END IF
- IF at = 2 THEN
- COLOR 4: PRINT "The tarrasque bashes into you!"
- COLOR 15
- dmg = attack1 + fnrnd(20) - (dex \ 2.5)
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "The attack didn't phase you!": DO: LOOP WHILE INKEY$ = "": GOTO 51
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The bash did"; dmg; " damage to you"
- COLOR 15
- chp = chp - dmg
- END IF
- IF at = 3 THEN
- PRINT "The double claw attack!"
- er = fnrnd(100)
- IF er <= 75 THEN
- SOUND (dmg + 500), 3
- dmg = attack1 + fnrnd(10) - (dex \ 3)
- COLOR 19: PRINT "The claw hits you for"; dmg; " damage"
- COLOR 15
- chp = chp - dmg
- END IF
- IF er > 75 THEN
- SOUND (dmg + 500), 3
- PRINT "The tarrasque roars as the claw misses"
- END IF
- er = fnrnd(100)
- IF er <= 75 THEN
- SOUND (dmg + 500), 3
- dmg = attack1 + fnrnd(10) - (dex \ 3)
- COLOR 20: PRINT "The second claw hits you or"; dmg; " damage"
- COLOR 15
- chp = chp - dmg
- END IF
- IF er > 75 THEN
- SOUND (dmg + 500), 3
- PRINT "The claw missed!"
- END IF
- END IF
- IF chp <= 0 THEN
- COLOR 21: PRINT "You lost!....you will try again"
- COLOR 15
- chp = mhp
- IF cmp = 0 THEN cmp = INT(mmp * .5)
- GOTO 50
- END IF
- DO: LOOP WHILE INKEY$ = ""
- GOTO 51
- fight10:
- mst = fnrnd(15) + INT(up * .75)
- mdx = fnrnd(15) + INT(up * .75)
- mcn = fnrnd(15) + INT(up * .75)
- min = fnrnd(15) + INT(up * .75)
- mws = fnrnd(15) + INT(up * .75)
- mch = fnrnd(15) + INT(up * .75)
- attack1 = INT((mst + up) * 1.5)
- defense1 = ((mdx \ 2) + up)
- raigold = INT((((level * 3.5) + (up * 3.5)) + fnrnd(10) + 200) * 1.5 + fnrnd(2)) + (125 * up)
- ele = fnrnd(6)
- leve = up
- qhr = ((up \ 5) + (mst \ 2))
- IF qhr > 99 THEN qhr = 99
- qhp = fnrnd(10) + INT(mcn + (up * 10) + (mhp \ 2))
- ehp = qhp
- xp = (up + (qhp \ 2)) + (mst + mdx + min + mws + mcn + mch \ 6)
- PRINT "LET'S FIGHT!"
- ehp = qhp
- 400
- CLS
- PRINT "You:";
- COLOR 15
- IF chp <= INT(mhp * .5) THEN COLOR 12
- IF chp <= INT(mhp * .15) THEN COLOR 20
- PRINT chp;
- COLOR 15
- PRINT "/"; mhp
- COLOR 15
- PRINT "[A]ttack"
- PRINT "[S]kill"
- PRINT "[F]lee"
- PRINT "[D]eathfight"
- PRINT "[H]eal"
- PRINT "[M]p heal"
- INPUT "command>", attack$
- attack$ = UCASE$(attack$)
- SELECT CASE attack$
- CASE "D"
- CALL deathfight
- IF chp < 1 THEN chp = mhp: RETURN
- CASE "M"
- res = INT(wis * .75 + fnrnd(5))
- PRINT res; " MP's restored!"
- cmp = cmp + res
- mpheal = mpheal - 1
- CASE "F"
- fle = dex + wis + cha
- elf = mdx + mws + mch
- IF fle > elf THEN PRINT "you flee from the battle": RETURN
- IF fle <= elf THEN PRINT "you can't run!"
- CASE "H"
- IF heal < 1 THEN GOTO 400
- IF chp = mhp THEN PRINT "You don't need a heal!": GOTO 400
- hpheal = fnrnd(5) + (in + con + wis)
- COLOR 6: PRINT hpheal; " HP's healed!"
- COLOR 15
- chp = chp + hpheal
- IF chp > mhp THEN chp = mhp
- heal = heal - 1
- GOTO 500
- CASE "S"
- CALL skillprint
- IF cod = 0 THEN GOTO 400
- CALL skillattack
- CASE "A"
- dmg = fnrnd(10) + attack
- dmg = dmg - defense1
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "Your attack does no damage": GOTO 500
- re = fnrnd(100)
- IF re <= hit THEN
- dmg = dmg * 3 + fnrnd(2)
- COLOR 20: PRINT "CRITICAL!"
- SOUND (dmg + 500), 3
- COLOR 15: PRINT "You hit the monster for"; dmg; "hit points!"
- END IF
- IF re > hit THEN SOUND (dmg + 500), 3: PRINT "you inflicted "; dmg; "hp on the monster"
- ehp = ehp - dmg
- CASE ELSE
- GOTO 400
- END SELECT
- IF ehp <= 0 THEN
- COLOR 25: PRINT "you have defeated the monster!"
- COLOR 15
- PRINT "You gain"; xp; "xp points, and"; raigold; "gold!"
- DO: LOOP WHILE INKEY$ = ""
- gold = gold + raigold
- cxp = cxp + xp
- IF cxp >= lxp THEN CALL levelraise
- RETURN
- END IF
- 500
- PRINT "The monster attacks!"
- dmg = fnrnd(10) + attack1
- dmg = INT(dmg - defense)
- IF dmg <= 0 THEN SOUND (dmg + 500), 3: PRINT "The attack does no damage": DO: LOOP WHILE INKEY$ = "": GOTO 400
- re = fnrnd(100)
- IF re <= qhr THEN
- dmg = dmg * 3 + fnrnd(2)
- COLOR 20: PRINT "CRITICAL!"
- SOUND (dmg + 500), 3
- COLOR 4: PRINT "The monster hit you for"; dmg; " hit points."
- COLOR 15
- END IF
- IF re > qhr THEN SOUND (dmg + 500), 3: COLOR 4: PRINT "The monster hits you for"; dmg; " hp"
- COLOR 15
- chp = chp - dmg
- IF chp <= 0 THEN
- INPUT "You lost!...keep playing?", e$
- IF e$ = "N" OR e$ = "n" THEN SYSTEM
- gold = gold \ 1.2
- IF gold <= 0 THEN gold = 0
- chp = mhp
- END IF
- DO: LOOP WHILE INKEY$ = ""
- GOTO 400
- END SUB
- SUB reward
- IF rewad = 1 THEN GOTO 100
- IF rewad = 2 THEN GOTO 101
- IF rewad = 3 THEN GOTO 102
- IF rewad = 4 THEN GOTO 103
- 100
- quest = 0
- PRINT "Thank you for killing the bone golem!"
- PRINT "Here is 2000 gold": gold = gold + 2000
- PRINT "We will reward you by giving you an ability potion. What ability"
- PRINT "do you want up?"
- SLEEP 1
- INPUT "(1)str (2)dex (3) con (4) wis (5) int (6) cha", ab
- IF ab = 1 THEN PRINT "Strength up by 1!": str = str + 1
- IF ab = 2 THEN PRINT "Dexterity up by 1!": dex = dex + 1
- IF ab = 3 THEN PRINT "Constitution up by 1!": con = con + 1
- IF ab = 4 THEN PRINT "Wisdom up by 1!": wis = wis + 1
- IF ab = 5 THEN PRINT "Intelligence up by 1!": in = in + 1
- IF ab = 6 THEN PRINT "Charisma up by 1!": cha = cha + 1
- IF ab > 6 OR ab < 1 THEN GOTO 100
- PRINT "Thanks again!"
- SLEEP 2
- EXIT SUB
- 101
- quest = 0
- PRINT "You have recovered the statue!"
- SLEEP 1
- PRINT "Here have 10000 gold!": gold = gold + 10000
- PRINT "Thanks for doing such a heroic deed...pick one"
- PRINT "(1) vitality potion"
- PRINT "(2) 15 healings"
- INPUT "", ried
- IF ried = 1 THEN gain = fnrnd(20) + con: PRINT "You have gained"; gain; " max HP's!": mhp = mhp + gain
- IF ried = 2 THEN heal = heal + 15: PRINT "There are your 15 healings!"
- IF ried < 1 OR ried > 2 THEN GOTO 101
- SLEEP 1
- PRINT "Thanks again!"
- SLEEP 2
- EXIT SUB
- 102
- quest = 0
- PRINT "You have saved our king! I know how to thank you..."
- PRINT "Here have 100000 gold!": gold = gold + 100000
- PRINT "Pick one"
- PRINT "(1) MP raise (2) HP raise (3) ability raise"
- INPUT ried
- IF ried = 1 THEN
- mpr = fnrnd(3) + (wis \ 2)
- PRINT "Max MP raised by"; mpr; "!"
- mmp = mmp + mpr
- END IF
- IF ried = 2 THEN
- thp = fnrnd(20) + con + wis
- PRINT "Max HP's raised by"; thp; "!"
- mhp = mhp + thp
- END IF
- IF ried = 3 THEN
- PRINT "What ability do you want up?"
- SLEEP 1
- INPUT "(1)str (2)dex (3) con (4) wis (5) int (6) cha", ab
- IF ab = 1 THEN PRINT "Strength up by 4!": str = str + 4
- IF ab = 2 THEN PRINT "Dexterity up by 4!": dex = dex + 4
- IF ab = 3 THEN PRINT "Constitution up by 4!": con = con + 4
- IF ab = 4 THEN PRINT "Wisdom up by 4!": wis = wis + 4
- IF ab = 5 THEN PRINT "Intelligence up by 4!": in = in + 4
- IF ab = 6 THEN PRINT "Charisma up by 4!": cha = cha + 4
- IF ab > 6 OR ab < 1 THEN GOTO 102
- END IF
- IF ried < 1 OR ried > 3 THEN GOTO 102
- PRINT "Thanks again. You will beat the dragon someday"
- SLEEP 1
- EXIT SUB
- 103
- quest = 0
- PRINT "You have beaten the tarrasque!"
- PRINT "You need 100000 gold don't you?": gold = gold + 100000
- PRINT "How did you do it? I can't believe this! Someone that someday will"
- PRINT "rid us of the DRAGON!"
- SLEEP 2
- PRINT "You need a big reward!"
- PRINT "What ability do you want up?"
- SLEEP 1
- INPUT "(1)str (2)dex (3) con (4) wis (5) int (6) cha", ab
- IF ab = 1 THEN PRINT "Strength up by 4!": str = str + 4
- IF ab = 2 THEN PRINT "Dexterity up by 4!": dex = dex + 4
- IF ab = 3 THEN PRINT "Constitution up by 4!": con = con + 4
- IF ab = 4 THEN PRINT "Wisdom up by 4!": wis = wis + 4
- IF ab = 5 THEN PRINT "Intelligence up by 4!": in = in + 4
- IF ab = 6 THEN PRINT "Charisma up by 4!": cha = cha + 4
- IF ab > 6 OR ab < 1 THEN GOTO 103
- PRINT "You aren't strong enough now but I am sure when you reach "
- PRINT "level 60 you will be able to kill the dragon."
- SLEEP 4
- PRINT "Until then keep at the arena. Bye!"
- SLEEP 3
- CLS
- EXIT SUB
- END SUB
- SUB save
- OPEN "O", 1, name$
- WRITE #1, up, str, dex, con, in, wis, cha, heal, chp, mhp, cxp, lxp, level, cmp, mmp, defense, attack, hit, armor, weapon, bank, gold, message, pass, armor$, weapon$, mpheal
- CLOSE
- END SUB
- SUB skillattack
- IF cod = 0 THEN EXIT SUB
- IF cod = 1 THEN
- PRINT "You jump at the monster with a slash"
- cmp = cmp - 1
- dmg = (attack) + fnrnd(10) + (dex \ 2)
- SOUND (500 + dmg), 3
- PRINT "You inflict "; dmg; " HP's on him"
- ehp = ehp - dmg
- END IF
- IF cod = 2 THEN
- PRINT "You jump at the enemy, coming down with your sword"
- cmp = cmp - 3
- dmg = (attack) * 2 + fnrnd(9) + (dex \ 2)
- SOUND (500 + dmg), 3
- PRINT "You inflict "; dmg; " HP's on him"
- ehp = ehp - dmg
- END IF
- IF cod = 3 THEN
- PRINT "You shoot flames at the enemy"
- cmp = cmp - 2
- IF ele = 2 THEN dmg = ((wis * 2) + fnrnd(10)) * 2
- IF ele <> 2 THEN dmg = (wis * 2) + fnrnd(10)
- SOUND (500 + dmg), 3
- IF ele = 2 THEN
- PRINT "Monster weak against fire!"
- PRINT "You inflict"; dmg; " HP's on the monster"
- END IF
- IF ele = 1 THEN
- PRINT "Monster strong against fire"
- PRINT "The monster gained"; dmg; " HP's"
- END IF
- IF ele <> 1 AND ele <> 2 THEN
- PRINT "You inflicted"; dmg; " HP's on the monster"
- END IF
- IF ele <> 1 THEN ehp = ehp - dmg
- IF ele = 1 THEN ehp = ehp + dmg
- IF ehp > qhp THEN ehp = qhp
- END IF
- IF cod = 4 THEN
- PRINT "You conjure an ice storm on the monster"
- cmp = cmp - 2
- IF ele = 1 THEN dmg = ((wis * 2) + fnrnd(11)) * 2 + fnrnd(2)
- IF ele <> 1 THEN dmg = (wis * 2) + fnrnd(11)
- SOUND (500 + dmg), 3
- IF ele = 1 THEN
- PRINT "Monster weak against ice!"
- PRINT "You inflict"; dmg; " HP's on the monster"
- END IF
- IF ele = 2 THEN
- PRINT "Monster strong against ice"
- PRINT "The monster gained"; dmg; " HP's"
- END IF
- IF ele <> 1 AND ele <> 2 THEN
- PRINT "You inflicted"; dmg; " HP's on the monster"
- END IF
- IF ele <> 2 THEN ehp = ehp - dmg
- IF ele = 2 THEN ehp = ehp + dmg
- IF ehp > qhp THEN ehp = qhp
- END IF
- IF cod = 5 THEN
- PRINT "A bolt of lightning comes down on the enemy"
- cmp = cmp - 3
- IF ele = 5 THEN dmg = ((wis * 2) + fnrnd(12)) * 2
- IF ele <> 5 THEN dmg = (wis * 2) + fnrnd(12)
- SOUND (500 + dmg), 3
- IF ele = 5 THEN
- PRINT "Monster weak against lightning!"
- PRINT "You inflict"; dmg; " HP's on the monster"
- END IF
- IF ele = 6 THEN
- PRINT "Monster strong against lightning"
- PRINT "The monster gained"; dmg; " HP's"
- END IF
- IF ele <> 6 AND ele <> 5 THEN
- PRINT "You inflicted"; dmg; " HP's on the monster"
- END IF
- IF ele <> 6 THEN ehp = ehp - dmg
- IF ele = 6 THEN ehp = ehp + dmg
- IF ehp > qhp THEN ehp = qhp
- END IF
- IF cod = 6 THEN
- PRINT "You cast the spell...."
- cmp = cmp - 2
- gahp = ((in * wis) \ 1.5) + fnrnd(5)
- SOUND (500 + gahp), 3
- PRINT "..and recover"; gahp; " HP's!"
- chp = chp + gahp
- IF chp > mhp THEN chp = mhp
- END IF
- IF cod = 7 THEN
- PRINT "You cast the spell....."
- cmp = cmp - 20
- gahp = (((in * wis) \ 2) * 2 + fnrnd(25))
- SOUND (500 + gahp), 3
- PRINT "...and recover "; gahp; "HP's!"
- chp = chp + gahp
- IF chp > mhp THEN chp = mhp
- END IF
- IF cod = 8 THEN
- PRINT "Here comes the tornado!"
- cmp = cmp - 5
- IF ele = 4 THEN dmg = INT((wis * 2.5) + fnrnd(10)) * 2
- IF ele <> 4 THEN dmg = INT(wis * 2.5) + fnrnd(10)
- SOUND (500 + dmg), 3
- IF ele = 4 THEN
- PRINT "Monster weak against air!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement