Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Shinwa's scratchpad

by Shinwa (Beadle)
on Jun 01, 2004 at 23:18 UTC ( #358787=scratchpad: print w/ replies, xml ) Need Help??

Battle Arena Version
---------------------------
# Errors include skipping of first battle, magic system # and possibly difficulty #!/usr/bin/perl # Coding began Monday January 26th, 2004 # Last updated 26/01/04 # Monster combat routine # This is a test to see if the "monster" routine from Syrosian Legacy # will actually work. $str = 5; $dex = 5; $con = 2; $mag = 1; # User stats # Configuration of user stats into health/mana points $vit = $con * 5; $vitstat = $con *5; $mana = $mag * 5; # Configuration of monster stats into health/mana points $vitality = $constitution * 5; $vitalitystat = 5 *2; $manapoints = $magic * 5; print "Welcome to Syrosian Legacy Arena Mode!\n"; print "\n"; print "Here is a basic run-down of how this works..\n"; print "You and your opponent fight one another obviously\n"; print "You both check for dex, which is a random number. Whoever is hi +gher gets to attack first. Nifty Eh?\n"; print "The main attacker has a strength count. Two random numbers are rolled and added together. This equals your attack damage.\n"; print "This continues till one of you is K.O. \n"; print "Fortunately, I have decided to update! So choose your difficult +y....\n"; print "a)easy b)medium c)hard (a,b,c)\n"; $diff = <STDIN>; chomp ($diff); if ($diff eq "a") { $str = 10; $dex = 10; $con = 5; $mag = 4; $fire = 5; $ice = 6; $bolt = 7; $dstrike = 4; $sdagger = 2; }elsif ($diff eq "b") { $str = 8; $dex = 8; $con = 3; $mag = 2; $fire = 5; $ice = 0; $bolt = 0; $dstrike = 4; $sdagger = 2; }else { $str = 5; $dex = 5; $con = 2; $mag = 1; $fire = 0; $ice = 0; $bolt = 0; $dstrike = 4; $sdagger = 2; } print "\n"; print "Stats have now been set based on your difficulty...\n"; print "Plus a few MAGICAL surprises..\n"; print "\n"; print "When you are ready for your first battle, hit enter to continue +\n"; $ready = <STDIN>; chomp ($ready); print "Alright, your first fight will be one-on-one versus a weak oppo +nent\n"; print "Ready.....FIGHT !\n"; $victory = 0; if ($victory = 0) { #opponent stats $strength = 5; $dexterity = 5; $constitution = 2; $magic = 0; #conversion into vitality & magic $vitality = $constitution * 5; $vitalitystat = $constitution * 5; while (($vit > 0) && ($vitality > 0)){ srand; $dex1=rand($dex); $dex2=rand($dexterity); if ($dex1 > $dex2) { print "You gain an advantage!\n"; print "Shall you...\n"; print "Attack? (attack)\n"; print "Use Magic? (magic)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attack") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $streng; $vitality -= $streng; print "You hit your opponent for "; printf ("%.1f", $streng); print " damage.\n"; print "Your opponent has "; printf ("%.1f", $vitality); print " out of $vitalitystat health\n"; }elsif ($choice eq "magic") { print "Which magical attack shall you use?\n"; print "Fire? (fire)\n"; print "Ice? (ice)\n"; print "Bolt? (bolt)\n"; print "Dark Strike? (dstrike)\n"; print "Shadow Dagger? (sdagger)\n"; $magicattack = <STDIN>; chomp ($magicattack); if ($magicattack eq "fire") { srand; $magdamage =rand($fire); $vitality -= $magdamage; print "You BURN you opponent for "; printf ("%.1f", $magdamage); print " damage.\n"; print "Your opponent has "; printf ("%.1f", $vitality); print " out of $vitalitystat health\n"; }elsif ($magicattack eq "ice") { srand; $magdamage =rand($ice); $vitality -= $magdamage; print "You FREEZE you opponent for "; printf ("%.1f", $magdamage); print " damage.\n"; print "Your opponent has "; printf ("%.1f", $vitality); print " out of $vitalitystat health\n"; }elsif ($magicattack eq "bolt") { srand; $magdamage =rand($bolt); $vitality -= $magdamage; print "You ZAP you opponent for "; printf ("%.1f", $magdamage); print " damage.\n"; print "Your opponent has "; printf ("%.1f", $vitality); print " out of $vitalitystat health\n"; }elsif ($magicattack eq "dstrike") { srand; $magdamage =rand($fire); $vitality -= $magdamage; print "You PIERCE you opponent for "; printf ("%.1f", $magdamage); print " damage.\n"; print "Your opponent has "; printf ("%.1f", $vitality); print " out of $vitalitystat health\n"; }elsif ($magicattack eq "sdagger") { srand; $magdamage =rand($fire); $vitality -= $magdamage; print "You STAB you opponent for "; printf ("%.1f", $magdamage); print " damage.\n"; print "Your opponent has "; printf ("%.1f", $vitality); print " out of $vitalitystat health\n"; }else{ print "You attempt to cast the spell, yet it fails + you.\n"; } }else{ print "You lose the opportunity to attack.\n"; } }elsif ($dex2 > $dex1) { srand; $stre =rand($strength); $stren =rand($strength); $streng = $stre + $stren; $vit -= $streng; print "You are struck for "; printf ("%.1f", $streng); print " damage.\n"; print "You now have "; printf ("%.1f", $vit); print " out of $vit remaining.\n"; }else{ print "Weapons clash together, then part again as both you + and your opponent seek an opening.\n"; } #Death if ($vit < 0) { print "You have been knocked out!\n"; print "Game Over\n"; die; } if ($vitality < 0) { print "You have knocked out your opponent!\n"; print "Your victories increase by 1\n"; $victory += 1; } } }elsif ($victory = 1) { #Battle system for the two guards in the Fishing Town #Guards' Stats $guardonestr = 8; $guardonedex = 5; $guardonecon = 3; $guardtwostr = 7; $guardtwodex = 3; $guardtwocon = 2; #Conversion into vitality $vitalityone = $guardonecon * 5; $vitalityonestat = $guardcon * 5; $vitalitytwo = $guardtwocon * 5; $vitalitytwostat = $guardtwocon * 5; print "Welcome to the second battle! You have done well to defeat +your first opponent.\n"; print "Now, as you go through the various levels, the challenge wi +ll increase.\n"; print "Seeing as how you successfully completed your last round, t +he arena gods shall grant you a boon.\n"; print "Con't (hit enter)\n"; $ready = <STDIN>; chomp ($ready); print "Well then, you have three boons to choose from...choose wis +ely..\n"; print "a)weapon (Grants you access to a weapons locker)\n"; print "b)magic (Grants you access to new spells)\n"; print "c)speed (Grants you access to an adrenaline supply)\n"; print "Choose carefully, as some may have consequences.\n"; $firstboon = <STDIN>; chomp ($firstboon); if ($firstboon eq "weapon") { print "\n"; print "Ah, I see you have wished weapons. Your attacks have in +creased in strength.\n"; $str += 2; }elsif ($firstboon eq "magic") { print "\n"; print "Ah, I see you favour the arcane magics. More spells hav +e been granted to you.\n"; if ($diff eq "a") { $fire = 5; $ice = 6; $bolt = 7; $dstrike = 4; $sdagger = 2; $bio = 10; $earth = 7; }elsif ($diff eq "b") { $fire = 5; $ice = 6; $bolt = 7; $dstrike = 4; $sdagger = 2; $bio = 0; $earth = 0; }else { $fire = 5; $ice = 6; $bolt = 0; $dstrike = 4; $sdagger = 2; $bio = 0; $earth = 0; } }elsif ($firstboon eq "speed") { print "\n"; print "Ah, I see you wish to be swifter. You have been granted + access to adrenaline.\n"; $dex += 3; } print "Are you ready for your next instructions?\n"; print "(hit enter)\n"; $ready = <STDIN>; chomp ($ready); $restore = $vitstat - vit; $vit = $restore; print "Good. Your vitality has been restored, and you are ready fo +r the next round.\n"; print "In the next round you will fight two samurai. These are eli +te warriors.\n"; print "Each will attack you together as a team, and can easily tak +e you down.\n"; print "Good luck in the next round...the arena gods are watching.\ +n"; print "\n"; print "Continue to the next round?\n"; print "(hit enter)\n"; $ready = <STDIN>; chomp ($ready); print "\n"; print "Welcome to the arena! Today we have a spectacular match!\n"; print "Today we have newcomer, $name, fighting against the Shintao + samurai. This is sure to be an amazing test of skills.\n"; print "Now, let the fight begin!\n"; } # Barrier ------------------------------------------------------------ +----------------------------- print "You draw your sword as the two guardsmen do, and prepare fo +r combat.\n"; while (($vit > 0) && ($vitalityone + $vitalitytwo > 0)){ srand; $dex1=rand($dex); $dex2=rand($guardonedex); $dex3=rand($guardtwodex); if ($dex1 > $dex2 && $dex3) { print "Shall you...\n"; print "Attack guard one?(attackone)\n"; print "Attack guard two?(attacktwo)\n"; print "Use Magic on guard one?(magicone)\n"; print "Use Magic on guard two?(magictwo)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attackone") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard with your sword for $streng + damage!!\n"; }elsif ($choice eq "attacktwo") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your sword for $stren +g damage!!\n"; }elsif ($choice eq "magicone") { print "Which magical attack shall you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicattone = <STDIN>; chomp ($magicattone); if ($magicattone eq "Dark Strike") { srand; $magdamage=rand($dstrike); $vitalityone -= $magdamage; print "Your paw darts forward. A dark needle springs f +rom the center, piercing into the first guard for $magdamage damage.\ +n"; }elsif ($magicattone eq "Shadow Dagger") { srand; $magdamage=rand($sdagger); $vitalityone -= $magdamage; print "You summon a dagger composed of the shadows. Yo +u slash the first guard, wounding him for $magdamage damage.\n"; }else{ print "Your spell fails you and nothing happens..\n"; } }elsif ($choice eq "magictwo") { print "Which magical attack shall you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicatttwo = <STDIN>; chomp ($magicatttwo); if ($magicatttwo eq "Dark Strike") { srand; $magdamage=rand($dstrike); $vitalitytwo -= $magdamage; print "Your paw darts forward. A dark needle springs f +rom the center, piercing into the second guard for $magdamage damage. +\n"; }elsif ($magicatttwo eq "Shadow Dagger") { srand; $magdamage=rand($sdagger); $vitalitytwo -= $magdamage; print "You summon a dagger composed of the shadows. Yo +u slash the second guard, wounding him for $magdamage damage.\n"; }else{ print "Your spell fails you and nothing happens..\n"; } }else{ print "You cannot remember a spell quick enough, you attac +k instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your sword for $stren +g damage!!\n"; } }elsif ($dex2 > $dex1 && $dex3) { #First guard attack srand; $stre=rand($guardonestr); $stren=rand($guardonestr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the first guard's pike for $streng damag +e!!\n"; }elsif ($dex3 > $dex1 && $dex2){ #Second guard attack srand; $stre=rand($guardtwostr); $stren=rand($guardtwostr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the second guard's knife for $streng dam +age!!\n"; }else{ print "A clang of metal is heard as your sword strikes against + the second guard's dagger, the pike of the first barely misses you.\ +n"; } if ($vitalityone < 0) { print "The first guard crumples, falling to the ground in a po +ol of his blood.\n"; while(($vit > 0) && ($vitalitytwo > 0)){ srand; $dex1=rand($dex); $dex3=rand($guardtwodex); if ($dex1 > $dex3) { print "Shall you...\n"; print "Attack guard two?(attacktwo)\n"; print "Use Magic on guard two?(magictwo)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attacktwo") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your sword fo +r $streng damage!!\n"; }elsif ($choice eq "magictwo") { print "Which magical attack shall you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicatttwo = <STDIN>; chomp ($magicatttwo); if ($magicatttwo eq "Dark Strike") { srand; $magdamage=rand($dstrike); $vitalitytwo -= $magdamage; print "Your paw darts forward. A dark needle s +prings from the center, piercing into the second guard for $magdamage + damage.\n"; }elsif ($magicatttwo eq "Shadow Dagger") { srand; $magdamage=rand($sdagger); $vitalitytwo -= $magdamage; print "You summon a dagger composed of the sha +dows. You slash the second guard, wounding him for $magdamage damage. +\n"; }else{ print "Your spell fails you and nothing happen +s..\n"; } }else{ print "You cannot remember a spell quick enough, y +ou attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your sword fo +r $streng damage!!\n"; } }elsif ($dex3 > $dex1){ srand; $stre=rand($guardtwostr); $stren=rand($guardtwostr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the second guard's knife for $st +reng damage!!\n"; }else{ print "Both blades strike together for a moment before + drawing back once again to attack.\n"; } if ($vit < 0){ print "You have died....\n"; } if ($vitalitytwo < 0){ print "The second guard succumbs to your attacks.\n"; } if ($vitalitytwo < 0) { print "The second guard succumbs to your attacks.\ +n"; while(($vit > 0) && ($vitvitalityone > 0)){ srand; $dex1=rand($dex); $dex2=rand($guardonedex); if ($dex1 > $dex2) { print "Shall you...\n"; print "Attack guard one?(attackone)\n" +; print "Use Magic on guard one?(magicon +e)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attackone") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard wit +h your sword for $streng damage!!\n"; }elsif ($choice eq "magicone") { print "Which magical attack shall +you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicattone = <STDIN>; chomp ($magicattone); if ($magicattone eq "Dark Strike") + { srand; $magdamage=rand($dstrike); $vitalityone -= $magdamage; print "Your paw darts forward. + A dark needle springs from the center, piercing into the first guard + for $magdamage damage.\n"; }elsif ($magicattone eq "Shadow Da +gger") { srand; $magdamage=rand($sdagger); $vitalityone -= $magdamage; print "You summon a dagger com +posed of the shadows. You slash the first guard, wounding him for $ma +gdamage damage.\n"; }else{ print "Your spell fails you an +d nothing happens..\n"; } }else{ print "You cannot remember a spell + quick enough, you attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard wit +h your sword for $streng damage!!\n"; } }elsif ($dex2 > $dex1){ srand; $stre=rand($guardonestr); $stren=rand($guardonestr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the first guard' +s pike for $streng damage!!\n"; }else{ print "Both blades strike together for + a moment before drawing back once again to attack.\n"; } if ($vit < 0){ print "You have died....\n"; } if ($vitalitytwo < 0){ print "The second guard succumbs to yo +ur attacks.\n"; } } } } } }


Syrosian Legacy version
-------------------------
#!usr/bin/perl -w #Coded by Shinwa Okami #Coded during 2003...began December print "\n"; print "\n"; print "----___- Welcome To Shinny RPG! -___----\n"; print "Please enter a name: \n"; $name = <STDIN>; chomp ($name); print "Please select a class..(war,thf,wiz)\n"; $class = <STDIN>; chomp ($class); if ($class eq "war") { $str = 8; # Used to calculate Damage $dex = 4; # Used to calculate hit Ratio $con = 7; # Used to calculate Health $mag = 2; # Used to calculate magicalness...ness... print "\n"; print "Excellent choice warrior!\n"; }elsif ($class eq "thf") { $str = 6; # Used to calculate Damage $dex = 7; # Used to calculate hit Ratio $con = 5; # Used to calculate Health $mag = 4; # Used to calculate magicalness...ness... print "\n"; print "Excellent choice thief!\n"; }elsif ($class eq "wiz") { $str = 4; # Used to calculate Damage $dex = 5; # Used to calculate hit Ratio $con = 4; # Used to calculate Health $mag = 7; # Used to calculate magicalness...ness... print "\n"; print "Excellent choice sorcerer!\n"; }elsif ($class eq "penguin") { $str = 20; # Used to calculate Damage score $dex = 20; # Used to calculate Hit Ratio $con = 20; # Used to calculate Health $mag = 20; # Used to calculate magicalness...ness... print "\n"; print "You are one with the Penguin...\n"; }else{ print "Please select one of the classes next time...\n"; die; } $mana = $mag * 5; # Mana/Magic points $vit = $con * 10; # Actual health score #Magical Database... $dstrike = 2; $sdagger = 4; print"\n"; print "So young adventurer, welcome to the lands of Syrosia!\n"; print "Your day begins outside of your home in Thet forest, to your le +ft you see your grandfather and teacher. The right contains a pathway. Wh +ere shall you journey first?(left/right) \n"; $begin = <STDIN>; chomp ($begin); if ($begin eq "left") { print "You walk over to your grandfather to begin your daily t +raining.\n"; }elsif ($begin eq "right") { print "You gaze down the path but find nothing of interest. In +stead you go over to your grandfather to begin training.\n"; }else{ print "This is not a choice! I cause death to program!\n"; die; } print "\n"; print "Grandfather: You have many lessons to learn yet young $name. Th +e time will come when you will have to use all that I have taught you to face your destiny.\n"; print"\n"; print "Grandfather: Now, what area of training shall we focus upon tod +ay? (str/dex/con/mag) \n"; $train = <STDIN>; chomp ($train); if ($train eq "str") { print " "; print "Grandfather: Strength is a key component in wounding yo +ur opponent. You may be quicker in battle, but if you cannot break pa +st an enemy's armour, you are as good as dead. \n"; print "Grandfather: Go behind the house, and carry many stones + to build your strength. \n"; print "\n"; print "For the next few hours you train...your strength increa +ses by 1! \n"; $str += 1; }elsif ($train eq "dex") { print "\n"; print "Grandfather: Dexterity is key to hitting your opponent +and dodging his attacks. Even the strongest fall to the blades of tho +se that are swifter than themselves. \n"; print "Grandfather: Go behind the house, and practice your str +etching and dodging techniques. \n"; print "\n"; print "For the next few hours you train...your dexterity incre +ases by 1! \n"; $dex += 1; }elsif ($train eq "con") { print "\n"; print "Grandfather: Being physically healthy is the best way t +o stay alive. Being able to take an attack and survive will give you +an edge in battle, as well as give you time to attack your opponent o +nce more. \n"; print "Grandfather: Go behind the house, there you will find B +arak plants. Eat the roots, after all, what doesn't kill you makes yo +u stronger. \n"; print "\n"; print "For the next few hours you train...your consitution inc +reases by 1! \n"; $con += 1; $vit -= 3; }elsif ($train eq "mag") { print "\n"; print "Grandfather: So you wish to learn of the magics of the +Syrosian people yes? Well every furre of Syros is born with Shadow ma +gic...\n"; print "Grandfather: Go behind the house, there you will find b +ooks. Read and learn. \n"; print "\n"; print "For the next few hours you train...your magicalness inc +reases by 1! \n"; $mag += 1; } else { print "This is not a choice ! I cause death to program !"; die; } print "\n"; print "Grandfather: You have trained for many years $name. From a chil +d I have teached you everything that I know in hopes of preparing you + for the future.\n"; print "\n"; print "Your Grandfather presents you with a sword made of Syrosian ste +el..\n"; print "\n"; print "Grandfather: You have learned well the lessons and skills your +parents were gifted with. As you know, your parents were the greatest + assassins of Syros. This sword is made from the blood metals mined b +y the Ku'tari. Through time it will grow stronger as it tastes the bl +ood of your opponents. I hope one day you will be strong enough to... +\n"; print "\n"; print "Cont..\n"; $cont = <STDIN>; chomp ($cont); print "A rustling nearby grabs your Grandfather's attention...\n"; print "\n"; print "Grandfather: $name be still, there are others nearby..\n"; print "\n"; print "Both you and your Grandfather listen, crouching perfectly still + outside your home. Voices can be heard nearby, and are slowly gettin +g closer.\n"; print "\n"; print "Voice1: There! In the clearing! Grab them quickly!\n"; print "\n"; print "Grandfather: $name take this with you and run! It is soldiers f +rom the army of Kuragari. I will hold them off as long as I can for y +ou to escape!\n"; print "\n"; print "You have received Pendent of Wishing!\n"; print "\n"; print "What shall you do? (stay/run)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "stay") { print "$name: Grandfather let me stay with you ! I know we can + both defeat them..I know we can do it !n"; print " }elsif ($choice eq "run") { print "You nod to your grandfather, and run off into the woods + as he commanded.\n"; }else{ print "This is not a choice! I cause death to program!\n"; die; } print "\n"; print "You take off into the woods. Sounds of battle fade behind you, +yet you can hear the sounds of pursuit closely behind. Using your tra +ining you manage to evade, hide, and even fell one of your pursuers.\ +n"; print "\n"; print "After two long days you manage to lose your pursuers. Remaining + cautious, you venture to a nearby fishing village. You spend time lo +oking around, and generally keeping to yourself. Your path leads you +to the docks.\n"; print "\n"; print "Where shall you go?\n"; print "a) Shipping desk(desk)\n"; print "b) Local Guard Station(guard)\n"; print "c) Observe your surroundings(observe)\n"; $docks = <STDIN>; chomp ($docks); if ($docks eq "desk") { print "\n"; print "You walk over to the Shipping Desk. Behind the desk is +an old man in a worn down sailor outfit. He seems to hardly be able t +o stand, yet his voice remains crisp and loud over the noise of the d +ocks.\n"; }elsif ($docks eq "guard") { print "\n"; print "You walk over to the Local Guard Station. Standing next + to it are two guards similar to the ones who attacked you and your G +randfather. They don't seem to recongnize you for the moment.\n"; print "What shall you do?\n"; print "Check out the Shipping Desk(desk)\n"; print "State your name and challenge them to a duel(duel)\n"; $guardchoice = <STDIN>; chomp ($guardchoice); if ($guardchoice eq "desk") { print "\n"; print "You walk over to the Shipping Desk. Behind the +desk is an old man in a worn down sailor outfit. He seems to hardly b +e able to stand, yet his voice remains crisp and loud over the noise +of the docks.\n"; }elsif ($guardchoice eq "duel") { print "You step before the two guards.\n"; print "\n"; print "Guard One: What do you want kit?\n"; print "$name: I am $name and I challenge you both to a + duel!\n"; #Battle system for the two guards in the Fishing Town #Guards' Stats $guardonestr = 8; $guardonedex = 5; $guardonecon = 3; $guardtwostr = 7; $guardtwodex = 3; $guardtwocon = 2; #Conversion into vitality $vitalityone = $guardonecon * 5; $vitalitytwo = $guardtwocon * 5; print "You draw your sword as the two guardsmen do, an +d prepare for combat.\n"; while (($vit > 0) && ($vitalityone + $vitalitytwo > 0) +){ srand; $dex1=rand($dex); $dex2=rand($guardonedex); $dex3=rand($guardtwodex); if ($dex1 > $dex2 && $dex3) { print "Shall you...\n"; print "Attack guard one?(attackone)\n"; print "Attack guard two?(attacktwo)\n"; print "Use Magic on guard one?(magicone)\n"; print "Use Magic on guard two?(magictwo)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attackone") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard with your s +word for $streng damage!!\n"; }elsif ($choice eq "attacktwo") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your +sword for $streng damage!!\n"; }elsif ($choice eq "magicone") { print "Which magical attack shall you use? +\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicattone = <STDIN>; chomp ($magicattone); if ($magicattone eq "Dark Strike") { srand; $magdamage=rand($dstrike); $vitalityone -= $magdamage; print "Your paw darts forward. A dark +needle springs from the center, piercing into the first guard for $ma +gdamage damage.\n"; }elsif ($magicattone eq "Shadow Dagger") { srand; $magdamage=rand($sdagger); $vitalityone -= $magdamage; print "You summon a dagger composed of + the shadows. You slash the first guard, wounding him for $magdamage +damage.\n"; }else{ print "Your spell fails you and nothin +g happens..\n"; } }elsif ($choice eq "magictwo") { print "Which magical attack shall you use? +\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicatttwo = <STDIN>; chomp ($magicatttwo); if ($magicatttwo eq "Dark Strike") { srand; $magdamage=rand($dstrike); $vitalitytwo -= $magdamage; print "Your paw darts forward. A dark +needle springs from the center, piercing into the second guard for $m +agdamage damage.\n"; }elsif ($magicatttwo eq "Shadow Dagger") { srand; $magdamage=rand($sdagger); $vitalitytwo -= $magdamage; print "You summon a dagger composed of + the shadows. You slash the second guard, wounding him for $magdamage + damage.\n"; }else{ print "Your spell fails you and nothin +g happens..\n"; } }else{ print "You cannot remember a spell quick e +nough, you attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your +sword for $streng damage!!\n"; } }elsif ($dex2 > $dex1 && $dex3) { #First guard att +ack srand; $stre=rand($guardonestr); $stren=rand($guardonestr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the first guard's pike f +or $streng damage!!\n"; }elsif ($dex3 > $dex1 && $dex2){ #Second guard att +ack srand; $stre=rand($guardtwostr); $stren=rand($guardtwostr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the second guard's knife + for $streng damage!!\n"; }else{ print "A clang of metal is heard as your sword + strikes against the second guard's dagger, the pike of the first bar +ely misses you.\n"; } if ($vitalityone < 0) { print "The first guard crumples, falling to th +e ground in a pool of his blood.\n"; while(($vit > 0) && ($vitalitytwo > 0)){ srand; $dex1=rand($dex); $dex3=rand($guardtwodex); if ($dex1 > $dex3) { print "Shall you...\n"; print "Attack guard two?(attacktwo)\n" +; print "Use Magic on guard two?(magictw +o)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attacktwo") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard wi +th your sword for $streng damage!!\n"; }elsif ($choice eq "magictwo") { print "Which magical attack shall +you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicatttwo = <STDIN>; chomp ($magicatttwo); if ($magicatttwo eq "Dark Strike") + { srand; $magdamage=rand($dstrike); $vitalitytwo -= $magdamage; print "Your paw darts forward. + A dark needle springs from the center, piercing into the second guar +d for $magdamage damage.\n"; }elsif ($magicatttwo eq "Shadow Da +gger") { srand; $magdamage=rand($sdagger); $vitalitytwo -= $magdamage; print "You summon a dagger com +posed of the shadows. You slash the second guard, wounding him for $m +agdamage damage.\n"; }else{ print "Your spell fails you an +d nothing happens..\n"; } }else{ print "You cannot remember a spell + quick enough, you attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard wi +th your sword for $streng damage!!\n"; } }elsif ($dex3 > $dex1){ srand; $stre=rand($guardtwostr); $stren=rand($guardtwostr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the second guard +'s knife for $streng damage!!\n"; }else{ print "Both blades strike together for + a moment before drawing back once again to attack.\n"; } if ($vit < 0){ print "You have died....\n"; } if ($vitalitytwo < 0){ print "The second guard succumbs to yo +ur attacks.\n"; } if ($vitalitytwo < 0) { print "The second guard succumbs to your attac +ks.\n"; while(($vit > 0) && ($vitvitalityone > 0)){ srand; $dex1=rand($dex); $dex2=rand($guardonedex); if ($dex1 > $dex2) { print "Shall you...\n"; print "Attack guard one?(attackone)\n" +; print "Use Magic on guard one?(magicon +e)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attackone") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard wit +h your sword for $streng damage!!\n"; }elsif ($choice eq "magicone") { print "Which magical attack shall +you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicattone = <STDIN>; chomp ($magicattone); if ($magicattone eq "Dark Strike") + { srand; $magdamage=rand($dstrike); $vitalityone -= $magdamage; print "Your paw darts forward. + A dark needle springs from the center, piercing into the first guard + for $magdamage damage.\n"; }elsif ($magicattone eq "Shadow Da +gger") { srand; $magdamage=rand($sdagger); $vitalityone -= $magdamage; print "You summon a dagger com +posed of the shadows. You slash the first guard, wounding him for $ma +gdamage damage.\n"; }else{ print "Your spell fails you an +d nothing happens..\n"; } }else{ print "You cannot remember a spell + quick enough, you attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard wit +h your sword for $streng damage!!\n"; } }elsif ($dex2 > $dex1){ srand; $stre=rand($guardonestr); $stren=rand($guardonestr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the first guard' +s pike for $streng damage!!\n"; }else{ print "Both blades strike together for + a moment before drawing back once again to attack.\n"; } if ($vit < 0){ print "You have died....\n"; } if ($vitalitytwo < 0){ print "The second guard succumbs to yo +ur attacks.\n"; } } } print "Both guards lay at your feet, slain by your swo +rd. You feel no shame in taking the lives of these two. They hurt you +, took your Grandfather away, and for that you killed.\n"; print "\n"; print "The town is on alert now. Guards can be seen co +ming in the distance towards you. Quickly you shealth your blade, and + take off at a run for the nearby docks.\n"; print "Upon your arrival you see a ship, the Crimson J +ewel, departing from port. Running still, you unshealth your sword, a +nd leap towards the hull.\n"; }else{ print "This is not a choice!\n"; die; } }elsif ($docks eq "observe") { print "\n"; print "You take a closer look at your surroundings. You can se +e that this is a poor town under the rule of Kuragari Tenshii, the on +e who killed your family. Guards populate the town mainly, as well as + a few fishermen and their families.\n"; print "\n"; print "Where shall you go now?" print "a) Shipping desk(desk)\n"; print "b) Local Guard Station(guard)\n"; $obchoice = <STDIN>; chomp ($obchoice); if ($obchoice eq "desk") { print "\n"; print "You walk over to the Shipping Desk. Behind the desk + is an old man in a worn down sailor outfit. He seems to hardly be ab +le to stand, yet his voice remains crisp and loud over the noise of t +he docks.\n"; }elsif ($docks eq "guard") { print "\n"; print "You walk over to the Local Guard Station. Standing +next to it are two guards similar to the ones who attacked you and yo +ur Grandfather. They don't seem to recongnize you for the moment.\n"; print "What shall you do?\n"; print "Check out the Shipping Desk(desk)\n"; print "State your name and challenge them to a duel(duel)\ +n"; $guardchoice = <STDIN>; chomp ($guardchoice); if ($guardchoice eq "desk") { print "\n"; print "You walk over to the Shipping Desk. Behind the +desk is an old man in a worn down sailor outfit. He seems to hardly b +e able to stand, yet his voice remains crisp and loud over the noise +of the docks.\n"; }elsif ($guardchoice eq "duel") { print "You step before the two guards.\n"; print "\n"; print "Guard One: What do you want kit?\n"; print "$name: I am $name and I challenge you both to a + duel!\n"; #Battle system for the two guards in the Fishing Town #Guards' Stats $guardonestr = 8; $guardonedex = 5; $guardonecon = 3; $guardtwostr = 7; $guardtwodex = 3; $guardtwocon = 2; #Conversion into vitality $vitalityone = $guardonecon * 5; $vitalitytwo = $guardtwocon * 5; print "You draw your sword as the two guardsmen do, an +d prepare for combat.\n"; while (($vit > 0) && ($vitalityone + $vitalitytwo > 0) +){ srand; $dex1=rand($dex); $dex2=rand($guardonedex); $dex3=rand($guardtwodex); if ($dex1 > $dex2 && $dex3) { print "Shall you...\n"; print "Attack guard one?(attackone)\n"; print "Attack guard two?(attacktwo)\n"; print "Use Magic on guard one?(magicone)\n"; print "Use Magic on guard two?(magictwo)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attackone") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard with your s +word for $streng damage!!\n"; }elsif ($choice eq "attacktwo") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your +sword for $streng damage!!\n"; }elsif ($choice eq "magicone") { print "Which magical attack shall you use? +\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicattone = <STDIN>; chomp ($magicattone); if ($magicattone eq "Dark Strike") { srand; $magdamage=rand($dstrike); $vitalityone -= $magdamage; print "Your paw darts forward. A dark +needle springs from the center, piercing into the first guard for $ma +gdamage damage.\n"; }elsif ($magicattone eq "Shadow Dagger") { srand; $magdamage=rand($sdagger); $vitalityone -= $magdamage; print "You summon a dagger composed of + the shadows. You slash the first guard, wounding him for $magdamage +damage.\n"; }else{ print "Your spell fails you and nothin +g happens..\n"; } }elsif ($choice eq "magictwo") { print "Which magical attack shall you use? +\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicatttwo = <STDIN>; chomp ($magicatttwo); if ($magicatttwo eq "Dark Strike") { srand; $magdamage=rand($dstrike); $vitalitytwo -= $magdamage; print "Your paw darts forward. A dark +needle springs from the center, piercing into the second guard for $m +agdamage damage.\n"; }elsif ($magicatttwo eq "Shadow Dagger") { srand; $magdamage=rand($sdagger); $vitalitytwo -= $magdamage; print "You summon a dagger composed of + the shadows. You slash the second guard, wounding him for $magdamage + damage.\n"; }else{ print "Your spell fails you and nothin +g happens..\n"; } }else{ print "You cannot remember a spell quick e +nough, you attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard with your +sword for $streng damage!!\n"; } }elsif ($dex2 > $dex1 && $dex3) { #First guard att +ack srand; $stre=rand($guardonestr); $stren=rand($guardonestr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the first guard's pike f +or $streng damage!!\n"; }elsif ($dex3 > $dex1 && $dex2){ #Second guard att +ack srand; $stre=rand($guardtwostr); $stren=rand($guardtwostr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the second guard's knife + for $streng damage!!\n"; }else{ print "A clang of metal is heard as your sword + strikes against the second guard's dagger, the pike of the first bar +ely misses you.\n"; } if ($vitalityone < 0) { print "The first guard crumples, falling to th +e ground in a pool of his blood.\n"; while(($vit > 0) && ($vitalitytwo > 0)){ srand; $dex1=rand($dex); $dex3=rand($guardtwodex); if ($dex1 > $dex3) { print "Shall you...\n"; print "Attack guard two?(attacktwo)\n" +; print "Use Magic on guard two?(magictw +o)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attacktwo") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard wi +th your sword for $streng damage!!\n"; }elsif ($choice eq "magictwo") { print "Which magical attack shall +you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicatttwo = <STDIN>; chomp ($magicatttwo); if ($magicatttwo eq "Dark Strike") + { srand; $magdamage=rand($dstrike); $vitalitytwo -= $magdamage; print "Your paw darts forward. + A dark needle springs from the center, piercing into the second guar +d for $magdamage damage.\n"; }elsif ($magicatttwo eq "Shadow Da +gger") { srand; $magdamage=rand($sdagger); $vitalitytwo -= $magdamage; print "You summon a dagger com +posed of the shadows. You slash the second guard, wounding him for $m +agdamage damage.\n"; }else{ print "Your spell fails you an +d nothing happens..\n"; } }else{ print "You cannot remember a spell + quick enough, you attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalitytwo -= $streng; print "You hit the second guard wi +th your sword for $streng damage!!\n"; } }elsif ($dex3 > $dex1){ srand; $stre=rand($guardtwostr); $stren=rand($guardtwostr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the second guard +'s knife for $streng damage!!\n"; }else{ print "Both blades strike together for + a moment before drawing back once again to attack.\n"; } if ($vit < 0){ print "You have died....\n"; } if ($vitalitytwo < 0){ print "The second guard succumbs to yo +ur attacks.\n"; } if ($vitalitytwo < 0) { print "The second guard succumbs to your attac +ks.\n"; while(($vit > 0) && ($vitvitalityone > 0)){ srand; $dex1=rand($dex); $dex2=rand($guardonedex); if ($dex1 > $dex2) { print "Shall you...\n"; print "Attack guard one?(attackone)\n" +; print "Use Magic on guard one?(magicon +e)\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attackone") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard wit +h your sword for $streng damage!!\n"; }elsif ($choice eq "magicone") { print "Which magical attack shall +you use?\n"; print "Dark Strike\n"; print "Shadow Dagger\n"; $magicattone = <STDIN>; chomp ($magicattone); if ($magicattone eq "Dark Strike") + { srand; $magdamage=rand($dstrike); $vitalityone -= $magdamage; print "Your paw darts forward. + A dark needle springs from the center, piercing into the first guard + for $magdamage damage.\n"; }elsif ($magicattone eq "Shadow Da +gger") { srand; $magdamage=rand($sdagger); $vitalityone -= $magdamage; print "You summon a dagger com +posed of the shadows. You slash the first guard, wounding him for $ma +gdamage damage.\n"; }else{ print "Your spell fails you an +d nothing happens..\n"; } }else{ print "You cannot remember a spell + quick enough, you attack instead.\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitalityone -= $streng; print "You hit the first guard wit +h your sword for $streng damage!!\n"; } }elsif ($dex2 > $dex1){ srand; $stre=rand($guardonestr); $stren=rand($guardonestr); $streng = $stre + $stren; $vit -= $streng; print "You are hit by the first guard' +s pike for $streng damage!!\n"; }else{ print "Both blades strike together for + a moment before drawing back once again to attack.\n"; } if ($vit < 0){ print "You have died....\n"; } if ($vitalitytwo < 0){ print "The second guard succumbs to yo +ur attacks.\n"; } } } print "Both guards lay at your feet, slain by your swo +rd. You feel no shame in taking the lives of these two. They hurt you +, took your Grandfather away, and for that you killed.\n"; print "\n"; print "The town is on alert now. Guards can be seen co +ming in the distance towards you. Quickly you shealth your blade, and + take off at a run for the nearby docks.\n"; print "Upon your arrival you see a ship, the Crimson J +ewel, departing from port. Running still, you unshealth your sword, a +nd leap towards the hull.\n"; }else{ print "This is not a choice!\n"; die; } sub combat { # Coding began Monday January 26th, 2004 # Last updated 26/01/04 # Monster combat routine # This is an actual working version of the "combat" routine from Syros +ian Legacy # will actually work. # version 1.8 # Fixed spell system # Added Spells # Added Spells # User stats are taken from earlier on $strength = 5; $dexterity = 5; $constitution = 2; $magic = 1; # Monster stats # Configuration of monster stats into health/mana points $vitality = $constitution * 5; $manapoints = $magic * 5; # Magic damage figures $fire = 5; $ice = 6; $bolt = 7; $quake = 8; $shadow = 9; while (($vit > 0) && ($vitality > 0)){ srand; $dex1=rand($dex); $dex2=rand($dexterity); if ($dex1 > $dex2) { print "Shall you...\n"; print "Attack?\n"; print "Use Magic?\n"; $choice = <STDIN>; chomp ($choice); if ($choice eq "attack") { srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $streng *= 1; $vitality -= $streng; print "You hit your opponent for $streng damage!!\n"; }elsif ($choice eq "magic") { if ($mana != 0) { print "Which magical attack shall you use?\n"; print "Fire\n"; print "Ice\n"; print "Bolt\n"; print "Quake\n"; print "Shadow\n"; $magchoice = <STDIN>; chomp ($magchoice); if ($magchoice eq "fire") { $mana -= 1; srand; $magdamage=rand($fire); $vitality -= $magdamage; print "You BURN your opponent for $magdamage damag +e!!\n"; }elsif ($magchoice eq "ice") { $mana -= 1; srand; $magdamage=rand($ice); $vitality -= $magdamage; print "You FREEZE your opponent for $magdamage dam +age!!\n"; }elsif ($magchoice eq "bolt") { $mana -= 2; srand; $magdamage=rand($bolt); $vitality -= $magdamage; print "You ZAP your opponent for $magdamage damage +!!\n"; }elsif ($magchoice eq "quake") { $mana -= 3; srand; $magdamage=rand($quake); $vitality -= $magdamage; print "You SHAKE your opponent for $magdamage dama +ge!!\n"; }elsif ($magchoice eq "shadow") { $mana -= 4; srand; $magdamage=rand($shadow); $vitality -= $magdamage; print "You DECAY your opponent for $magdamage dama +ge!!\n"; }else{ print "You mutter a bunch of gibberish and nothing + happens..\n"; } }else{ print "You cannot muster enough energy for a spell...you a +ttack instead\n"; srand; $stre=rand($str); $stren=rand($str); $streng = $stre + $stren; $vitality -= $streng; print "You hit your opponent for $streng; damage!!\n"; } } }else{ srand; $stre=rand($strength); $stren=rand($strength); $streng = $stre + $stren; $vit -= $streng; print "You are hit for $streng; damage!!\n"; } if ($vit <= 0) { print "You have been Knocked Out!!\n"; } if ($vitality <= 0) { print "You have Knocked Out your opponent!!\n"; } } }
Log In?
Username:
Password:

What's my password?
Create A New User
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2014-07-12 02:39 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (238 votes), past polls