".$spellrow["name"]."\n"; } } if ($pagearray["magiclist"] == "") { $pagearray["magiclist"] = "\n"; } $magiclist = $pagearray["magiclist"]; $chancetoswingfirst = 1; // First, check to see if we need to pick a monster. if ($userrow["currentfight"] == 1) { if ($userrow["latitude"] < 0) { $userrow["latitude"] *= -1; } // Equalize negatives. if ($userrow["longitude"] < 0) { $userrow["longitude"] *= -1; } // Ditto. $maxlevel = floor(max($userrow["latitude"]+5, $userrow["longitude"]+5) / 5); // One mlevel per five spaces. if ($maxlevel < 1) { $maxlevel = 1; } $minlevel = $maxlevel - 2; if ($minlevel < 1) { $minlevel = 1; } // Pick a monster. $monsterquery = doquery("SELECT * FROM {{table}} WHERE level>='$minlevel' AND level<='$maxlevel' ORDER BY RAND() LIMIT 1", "monsters"); $monsterrow = mysql_fetch_array($monsterquery); $userrow["currentmonster"] = $monsterrow["id"]; $userrow["currentmonsterhp"] = rand((($monsterrow["maxhp"]/5)*4),$monsterrow["maxhp"]); if ($userrow["difficulty"] == 2) { $userrow["currentmonsterhp"] = ceil($userrow["currentmonsterhp"] * $controlrow["diff2mod"]); } if ($userrow["difficulty"] == 3) { $userrow["currentmonsterhp"] = ceil($userrow["currentmonsterhp"] * $controlrow["diff3mod"]); } $userrow["currentmonstersleep"] = 0; $userrow["currentmonsterimmune"] = $monsterrow["immune"]; $chancetoswingfirst = rand(1,10) + ceil(sqrt($userrow["dexterity"])); if ($chancetoswingfirst > (rand(1,7) + ceil(sqrt($monsterrow["maxdam"])))) { $chancetoswingfirst = 1; } else { $chancetoswingfirst = 0; } unset($monsterquery); unset($monsterrow); } // Next, get the monster statistics. $monsterquery = doquery("SELECT * FROM {{table}} WHERE id='".$userrow["currentmonster"]."' LIMIT 1", "monsters"); $monsterrow = mysql_fetch_array($monsterquery); $pagearray["monstername"] = $monsterrow["name"]; // Do run stuff. if (isset($_POST["run"])) { $chancetorun = rand(4,10) + ceil(sqrt($userrow["dexterity"])); if ($chancetorun > (rand(1,5) + ceil(sqrt($monsterrow["maxdam"])))) { $chancetorun = 1; } else { $chancetorun = 0; } if ($chancetorun == 0) { $pagearray["yourturn"] = "You tried to run away, but were blocked in front!

"; $pagearray["monsterhp"] = "Monster's HP: " . $userrow["currentmonsterhp"] . "

"; $pagearray["monsterturn"] = ""; if ($userrow["currentmonstersleep"] != 0) { // Check to wake up. $chancetowake = rand(1,15); if ($chancetowake > $userrow["currentmonstersleep"]) { $userrow["currentmonstersleep"] = 0; $pagearray["monsterturn"] .= "The monster has woken up.
"; } else { $pagearray["monsterturn"] .= "The monster is still asleep.
"; } } if ($userrow["currentmonstersleep"] == 0) { // Only do this if the monster is awake. $tohit = ceil(rand($monsterrow["maxdam"]*.5,$monsterrow["maxdam"])); if ($userrow["difficulty"] == 2) { $tohit = ceil($tohit * $controlrow["diff2mod"]); } if ($userrow["difficulty"] == 3) { $tohit = ceil($tohit * $controlrow["diff3mod"]); } $toblock = ceil(rand($userrow["defensepower"]*.75,$userrow["defensepower"])/4); $tododge = rand(1,150); if ($tododge <= sqrt($userrow["dexterity"])) { $tohit = 0; $pagearray["monsterturn"] .= "You dodge the monster's attack. No damage has been scored.
"; $persondamage = 0; } else { $persondamage = $tohit - $toblock; if ($persondamage < 1) { $persondamage = 1; } if ($userrow["currentuberdefense"] != 0) { $persondamage -= ceil($persondamage * ($userrow["currentuberdefense"]/100)); } if ($persondamage < 1) { $persondamage = 1; } } $pagearray["monsterturn"] .= "The monster attacks you for $persondamage damage.

"; $userrow["currenthp"] -= $persondamage; if ($userrow["currenthp"] <= 0) { $newgold = ceil($userrow["gold"]/2); $newhp = ceil($userrow["maxhp"]/4); $updatequery = doquery("UPDATE {{table}} SET currenthp='$newhp',currentaction='In Town',currentmonster='0',currentmonsterhp='0',currentmonstersleep='0',currentmonsterimmune='0',currentfight='0',latitude='0',longitude='0',gold='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); $playerisdead = 1; } } } $updatequery = doquery("UPDATE {{table}} SET currentaction='Exploring' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); header("Location: index.php"); die(); // Do fight stuff. } elseif (isset($_POST["fight"])) { // Your turn. $pagearray["yourturn"] = ""; $tohit = ceil(rand($userrow["attackpower"]*.75,$userrow["attackpower"])/3); $toexcellent = rand(1,150); if ($toexcellent <= sqrt($userrow["strength"])) { $tohit *= 2; $pagearray["yourturn"] .= "Excellent hit!
"; } $toblock = ceil(rand($monsterrow["armor"]*.75,$monsterrow["armor"])/3); $tododge = rand(1,200); if ($tododge <= sqrt($monsterrow["armor"])) { $tohit = 0; $pagearray["yourturn"] .= "The monster is dodging. No damage has been scored.
"; $monsterdamage = 0; } else { $monsterdamage = $tohit - $toblock; if ($monsterdamage < 1) { $monsterdamage = 1; } if ($userrow["currentuberdamage"] != 0) { $monsterdamage += ceil($monsterdamage * ($userrow["currentuberdamage"]/100)); } } $pagearray["yourturn"] .= "You attack the monster for $monsterdamage damage.

"; $userrow["currentmonsterhp"] -= $monsterdamage; $pagearray["monsterhp"] = "Monster's HP: " . $userrow["currentmonsterhp"] . "

"; if ($userrow["currentmonsterhp"] <= 0) { $updatequery = doquery("UPDATE {{table}} SET currentmonsterhp='0' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); header("Location: index.php?do=victory"); die(); } // Monster's turn. $pagearray["monsterturn"] = ""; if ($userrow["currentmonstersleep"] != 0) { // Check to wake up. $chancetowake = rand(1,15); if ($chancetowake > $userrow["currentmonstersleep"]) { $userrow["currentmonstersleep"] = 0; $pagearray["monsterturn"] .= "The monster has woken up.
"; } else { $pagearray["monsterturn"] .= "The monster is still asleep.
"; } } if ($userrow["currentmonstersleep"] == 0) { // Only do this if the monster is awake. $tohit = ceil(rand($monsterrow["maxdam"]*.5,$monsterrow["maxdam"])); if ($userrow["difficulty"] == 2) { $tohit = ceil($tohit * $controlrow["diff2mod"]); } if ($userrow["difficulty"] == 3) { $tohit = ceil($tohit * $controlrow["diff3mod"]); } $toblock = ceil(rand($userrow["defensepower"]*.75,$userrow["defensepower"])/4); $tododge = rand(1,150); if ($tododge <= sqrt($userrow["dexterity"])) { $tohit = 0; $pagearray["monsterturn"] .= "You dodge the monster's attack. No damage has been scored.
"; $persondamage = 0; } else { $persondamage = $tohit - $toblock; if ($persondamage < 1) { $persondamage = 1; } if ($userrow["currentuberdefense"] != 0) { $persondamage -= ceil($persondamage * ($userrow["currentuberdefense"]/100)); } if ($persondamage < 1) { $persondamage = 1; } } $pagearray["monsterturn"] .= "The monster attacks you for $persondamage damage.

"; $userrow["currenthp"] -= $persondamage; if ($userrow["currenthp"] <= 0) { $newgold = ceil($userrow["gold"]/2); $newhp = ceil($userrow["maxhp"]/4); $updatequery = doquery("UPDATE {{table}} SET currenthp='$newhp',currentaction='In Town',currentmonster='0',currentmonsterhp='0',currentmonstersleep='0',currentmonsterimmune='0',currentfight='0',latitude='0',longitude='0',gold='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); $playerisdead = 1; } } // Do spell stuff. } elseif (isset($_POST["spell"])) { // Your turn. $pickedspell = $_POST["userspell"]; if ($pickedspell == 0) { display("You must select a spell first. Please go back and try again.", "Error"); die(); } $newspellquery = doquery("SELECT * FROM {{table}} WHERE id='$pickedspell' LIMIT 1", "spells"); $newspellrow = mysql_fetch_array($newspellquery); if ($userspells[$pickedspell] != 1) { display("You have not yet learned this spell. Please go back and try again.", "Error"); die(); } if ($userrow["currentmp"] < $newspellrow["mp"]) { display("You do not have enough Magic Points to cast this spell. Please go back and try again.", "Error"); die(); } if ($newspellrow["type"] == 1) { // Heal spell. $newhp = $userrow["currenthp"] + $newspellrow["attribute"]; if ($userrow["maxhp"] < $newhp) { $newspellrow["attribute"] = $userrow["maxhp"] - $userrow["currenthp"]; $newhp = $userrow["currenthp"] + $newspellrow["attribute"]; } $userrow["currenthp"] = $newhp; $userrow["currentmp"] -= $newspellrow["mp"]; $pagearray["yourturn"] = "You have cast the ".$newspellrow["name"]." spell, and gained ".$newspellrow["attribute"]." Hit Points.

"; } elseif ($newspellrow["type"] == 2) { // Hurt spell. if ($userrow["currentmonsterimmune"] == 0) { $monsterdamage = rand((($newspellrow["attribute"]/6)*5), $newspellrow["attribute"]); $userrow["currentmonsterhp"] -= $monsterdamage; $pagearray["yourturn"] = "You have cast the ".$newspellrow["name"]." spell for $monsterdamage damage.

"; } else { $pagearray["yourturn"] = "You have cast the ".$newspellrow["name"]." spell, but the monster is immune to it.

"; } $userrow["currentmp"] -= $newspellrow["mp"]; } elseif ($newspellrow["type"] == 3) { // Sleep spell. if ($userrow["currentmonsterimmune"] != 2) { $userrow["currentmonstersleep"] = $newspellrow["attribute"]; $pagearray["yourturn"] = "You have cast the ".$newspellrow["name"]." spell. The monster is asleep.

"; } else { $pagearray["yourturn"] = "You have cast the ".$newspellrow["name"]." spell, but the monster is immune to it.

"; } $userrow["currentmp"] -= $newspellrow["mp"]; } elseif ($newspellrow["type"] == 4) { // +Damage spell. $userrow["currentuberdamage"] = $newspellrow["attribute"]; $userrow["currentmp"] -= $newspellrow["mp"]; $pagearray["yourturn"] = "You have cast the ".$newspellrow["name"]." spell, and will gain ".$newspellrow["attribute"]."% damage until the end of this fight.

"; } elseif ($newspellrow["type"] == 5) { // +Defense spell. $userrow["currentuberdefense"] = $newspellrow["attribute"]; $userrow["currentmp"] -= $newspellrow["mp"]; $pagearray["yourturn"] = "You have cast the ".$newspellrow["name"]." spell, and will gain ".$newspellrow["attribute"]."% defense until the end of this fight.

"; } $pagearray["monsterhp"] = "Monster's HP: " . $userrow["currentmonsterhp"] . "

"; if ($userrow["currentmonsterhp"] <= 0) { $updatequery = doquery("UPDATE {{table}} SET currentmonsterhp='0',currenthp='".$userrow["currenthp"]."',currentmp='".$userrow["currentmp"]."' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); header("Location: index.php?do=victory"); die(); } // Monster's turn. $pagearray["monsterturn"] = ""; if ($userrow["currentmonstersleep"] != 0) { // Check to wake up. $chancetowake = rand(1,15); if ($chancetowake > $userrow["currentmonstersleep"]) { $userrow["currentmonstersleep"] = 0; $pagearray["monsterturn"] .= "The monster has woken up.
"; } else { $pagearray["monsterturn"] .= "The monster is still asleep.
"; } } if ($userrow["currentmonstersleep"] == 0) { // Only do this if the monster is awake. $tohit = ceil(rand($monsterrow["maxdam"]*.5,$monsterrow["maxdam"])); if ($userrow["difficulty"] == 2) { $tohit = ceil($tohit * $controlrow["diff2mod"]); } if ($userrow["difficulty"] == 3) { $tohit = ceil($tohit * $controlrow["diff3mod"]); } $toblock = ceil(rand($userrow["defensepower"]*.75,$userrow["defensepower"])/4); $tododge = rand(1,150); if ($tododge <= sqrt($userrow["dexterity"])) { $tohit = 0; $pagearray["monsterturn"] .= "You dodge the monster's attack. No damage has been scored.
"; $persondamage = 0; } else { if ($tohit <= $toblock) { $tohit = $toblock + 1; } $persondamage = $tohit - $toblock; if ($userrow["currentuberdefense"] != 0) { $persondamage -= ceil($persondamage * ($userrow["currentuberdefense"]/100)); } if ($persondamage < 1) { $persondamage = 1; } } $pagearray["monsterturn"] .= "The monster attacks you for $persondamage damage.

"; $userrow["currenthp"] -= $persondamage; if ($userrow["currenthp"] <= 0) { $newgold = ceil($userrow["gold"]/2); $newhp = ceil($userrow["maxhp"]/4); $updatequery = doquery("UPDATE {{table}} SET currenthp='$newhp',currentaction='In Town',currentmonster='0',currentmonsterhp='0',currentmonstersleep='0',currentmonsterimmune='0',currentfight='0',latitude='0',longitude='0',gold='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); $playerisdead = 1; } } // Do a monster's turn if person lost the chance to swing first. Serves him right! } elseif ( $chancetoswingfirst == 0 ) { $pagearray["yourturn"] = "The monster attacks before you are ready!

"; $pagearray["monsterhp"] = "Monster's HP: " . $userrow["currentmonsterhp"] . "

"; $pagearray["monsterturn"] = ""; if ($userrow["currentmonstersleep"] != 0) { // Check to wake up. $chancetowake = rand(1,15); if ($chancetowake > $userrow["currentmonstersleep"]) { $userrow["currentmonstersleep"] = 0; $pagearray["monsterturn"] .= "The monster has woken up.
"; } else { $pagearray["monsterturn"] .= "The monster is still asleep.
"; } } if ($userrow["currentmonstersleep"] == 0) { // Only do this if the monster is awake. $tohit = ceil(rand($monsterrow["maxdam"]*.5,$monsterrow["maxdam"])); if ($userrow["difficulty"] == 2) { $tohit = ceil($tohit * $controlrow["diff2mod"]); } if ($userrow["difficulty"] == 3) { $tohit = ceil($tohit * $controlrow["diff3mod"]); } $toblock = ceil(rand($userrow["defensepower"]*.75,$userrow["defensepower"])/4); $tododge = rand(1,150); if ($tododge <= sqrt($userrow["dexterity"])) { $tohit = 0; $pagearray["monsterturn"] .= "You dodge the monster's attack. No damage has been scored.
"; $persondamage = 0; } else { $persondamage = $tohit - $toblock; if ($persondamage < 1) { $persondamage = 1; } if ($userrow["currentuberdefense"] != 0) { $persondamage -= ceil($persondamage * ($userrow["currentuberdefense"]/100)); } if ($persondamage < 1) { $persondamage = 1; } } $pagearray["monsterturn"] .= "The monster attacks you for $persondamage damage.

"; $userrow["currenthp"] -= $persondamage; if ($userrow["currenthp"] <= 0) { $newgold = ceil($userrow["gold"]/2); $newhp = ceil($userrow["maxhp"]/4); $updatequery = doquery("UPDATE {{table}} SET currenthp='$newhp',currentaction='In Town',currentmonster='0',currentmonsterhp='0',currentmonstersleep='0',currentmonsterimmune='0',currentfight='0',latitude='0',longitude='0',gold='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); $playerisdead = 1; } } } else { $pagearray["yourturn"] = ""; $pagearray["monsterhp"] = "Monster's HP: " . $userrow["currentmonsterhp"] . "

"; $pagearray["monsterturn"] = ""; } $newmonster = $userrow["currentmonster"]; $newmonsterhp = $userrow["currentmonsterhp"]; $newmonstersleep = $userrow["currentmonstersleep"]; $newmonsterimmune = $userrow["currentmonsterimmune"]; $newuberdamage = $userrow["currentuberdamage"]; $newuberdefense = $userrow["currentuberdefense"]; $newfight = $userrow["currentfight"] + 1; $newhp = $userrow["currenthp"]; $newmp = $userrow["currentmp"]; if ($playerisdead != 1) { $pagearray["command"] = <<






END; $updatequery = doquery("UPDATE {{table}} SET currentaction='Fighting',currenthp='$newhp',currentmp='$newmp',currentfight='$newfight',currentmonster='$newmonster',currentmonsterhp='$newmonsterhp',currentmonstersleep='$newmonstersleep',currentmonsterimmune='$newmonsterimmune',currentuberdamage='$newuberdamage',currentuberdefense='$newuberdefense' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); } else { $pagearray["command"] = "You have died.

As a consequence, you've lost half of your gold. However, you have been given back a portion of your hit points to continue your journey.

You may now continue back to town, and we hope you fair better next time."; } // Finalize page and display it. $template = gettemplate("fight"); $page = parsetemplate($template,$pagearray); display($page, "Fighting"); } function victory() { global $userrow, $controlrow; if ($userrow["currentmonsterhp"] != 0) { header("Location: index.php?do=fight"); die(); } if ($userrow["currentfight"] == 0) { header("Location: index.php"); die(); } $monsterquery = doquery("SELECT * FROM {{table}} WHERE id='".$userrow["currentmonster"]."' LIMIT 1", "monsters"); $monsterrow = mysql_fetch_array($monsterquery); $exp = rand((($monsterrow["maxexp"]/6)*5),$monsterrow["maxexp"]); if ($exp < 1) { $exp = 1; } if ($userrow["difficulty"] == 2) { $exp = ceil($exp * $controlrow["diff2mod"]); } if ($userrow["difficulty"] == 3) { $exp = ceil($exp * $controlrow["diff3mod"]); } if ($userrow["expbonus"] != 0) { $exp += ceil(($userrow["expbonus"]/100)*$exp); } $gold = rand((($monsterrow["maxgold"]/6)*5),$monsterrow["maxgold"]); if ($gold < 1) { $gold = 1; } if ($userrow["difficulty"] == 2) { $gold = ceil($gold * $controlrow["diff2mod"]); } if ($userrow["difficulty"] == 3) { $gold = ceil($gold * $controlrow["diff3mod"]); } if ($userrow["goldbonus"] != 0) { $gold += ceil(($userrow["goldbonus"]/100)*$exp); } $newexp = $userrow["experience"] + $exp; $newgold = $userrow["gold"] + $gold; $levelquery = doquery("SELECT * FROM {{table}} WHERE id='".($userrow["level"]+1)."' LIMIT 1", "levels"); if (mysql_num_rows($levelquery) == 1) { $levelrow = mysql_fetch_array($levelquery); } if ($userrow["level"] < 100) { if ($newexp >= $levelrow[$userrow["charclass"]."_exp"]) { $newhp = $userrow["maxhp"] + $levelrow[$userrow["charclass"]."_hp"]; $newmp = $userrow["maxmp"] + $levelrow[$userrow["charclass"]."_mp"]; $newtp = $userrow["maxtp"] + $levelrow[$userrow["charclass"]."_tp"]; $newstrength = $userrow["strength"] + $levelrow[$userrow["charclass"]."_strength"]; $newdexterity = $userrow["dexterity"] + $levelrow[$userrow["charclass"]."_dexterity"]; $newattack = $userrow["attackpower"] + $levelrow[$userrow["charclass"]."_strength"]; $newdefense = $userrow["defensepower"] + $levelrow[$userrow["charclass"]."_dexterity"]; $newlevel = $levelrow["id"]; if ($levelrow[$userrow["charclass"]."_spells"] != 0) { $userspells = explode(",",$userrow["spells"]); $userspells[$levelrow[$userrow["charclass"]."_spells"]] = 1; $userspells = implode(",",$userspells); $newspell = "spells='$userspells',"; $spelltext = "You have learned a new spell.
"; } else { $spelltext = ""; $newspell=""; } $page = "Congratulations. You have defeated the ".$monsterrow["name"].".
You gain $exp experience.
You gain $gold gold.

You have gained a level!

You gain ".$levelrow[$userrow["charclass"]."_hp"]." hit points.
You gain ".$levelrow[$userrow["charclass"]."_mp"]." magic points.
You gain ".$levelrow[$userrow["charclass"]."_tp"]." travel points.
You gain ".$levelrow[$userrow["charclass"]."_strength"]." strength.
You gain ".$levelrow[$userrow["charclass"]."_dexterity"]." dexterity.
$spelltext
You can now continue exploring."; $title = "Courage and Wit have served thee well!"; } else { $newhp = $userrow["maxhp"]; $newmp = $userrow["maxmp"]; $newtp = $userrow["maxtp"]; $newstrength = $userrow["strength"]; $newdexterity = $userrow["dexterity"]; $newattack = $userrow["attackpower"]; $newdefense = $userrow["defensepower"]; $newlevel = $userrow["level"]; $newspell = ""; $page = "Congratulations. You have defeated the ".$monsterrow["name"].".
You gain $exp experience.
You gain $gold gold.

"; if (rand(1,30) == 1) { $dropquery = doquery("SELECT * FROM {{table}} WHERE mlevel <= '".$monsterrow["level"]."' ORDER BY RAND() LIMIT 1", "drops"); $droprow = mysql_fetch_array($dropquery); $dropcode = "dropcode='".$droprow["id"]."',"; $page .= "This monster has dropped an item. Click here to reveal and equip the item, or you may also move on and continue exploring."; } else { $dropcode = ""; $page .= "You can now continue exploring."; } $title = "Victory!"; } } $updatequery = doquery("UPDATE {{table}} SET currentaction='Exploring',level='$newlevel',maxhp='$newhp',maxmp='$newmp',maxtp='$newtp',strength='$newstrength',dexterity='$newdexterity',attackpower='$newattack',defensepower='$newdefense', $newspell currentfight='0',currentmonster='0',currentmonsterhp='0',currentmonstersleep='0',currentmonsterimmune='0',currentuberdamage='0',currentuberdefense='0',$dropcode experience='$newexp',gold='$newgold' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); display($page, $title); } function drop() { global $userrow; if ($userrow["dropcode"] == 0) { header("Location: index.php"); die(); } $dropquery = doquery("SELECT * FROM {{table}} WHERE id='".$userrow["dropcode"]."' LIMIT 1", "drops"); $droprow = mysql_fetch_array($dropquery); if (isset($_POST["submit"])) { $slot = $_POST["slot"]; if ($slot == 0) { display("Please go back and select an inventory slot to continue.","Error"); } if ($userrow["slot".$slot."id"] != 0) { $slotquery = doquery("SELECT * FROM {{table}} WHERE id='".$userrow["slot".$slot."id"]."' LIMIT 1", "drops"); $slotrow = mysql_fetch_array($slotquery); $old1 = explode(",",$slotrow["attribute1"]); if ($slotrow["attribute2"] != "X") { $old2 = explode(",",$slotrow["attribute2"]); } else { $old2 = array(0=>"maxhp",1=>0); } $new1 = explode(",",$droprow["attribute1"]); if ($droprow["attribute2"] != "X") { $new2 = explode(",",$droprow["attribute2"]); } else { $new2 = array(0=>"maxhp",1=>0); } $userrow[$old1[0]] -= $old1[1]; $userrow[$old2[0]] -= $old2[1]; if ($old1[0] == "strength") { $userrow["attackpower"] -= $old1[1]; } if ($old1[0] == "dexterity") { $userrow["defensepower"] -= $old1[1]; } if ($old2[0] == "strength") { $userrow["attackpower"] -= $old2[1]; } if ($old2[0] == "dexterity") { $userrow["defensepower"] -= $old2[1]; } $userrow[$new1[0]] += $new1[1]; $userrow[$new2[0]] += $new2[1]; if ($new1[0] == "strength") { $userrow["attackpower"] += $new1[1]; } if ($new1[0] == "dexterity") { $userrow["defensepower"] += $new1[1]; } if ($new2[0] == "strength") { $userrow["attackpower"] += $new2[1]; } if ($new2[0] == "dexterity") { $userrow["defensepower"] += $new2[1]; } if ($userrow["currenthp"] > $userrow["maxhp"]) { $userrow["currenthp"] = $userrow["maxhp"]; } if ($userrow["currentmp"] > $userrow["maxmp"]) { $userrow["currentmp"] = $userrow["maxmp"]; } if ($userrow["currenttp"] > $userrow["maxtp"]) { $userrow["currenttp"] = $userrow["maxtp"]; } $newname = addslashes($droprow["name"]); $query = doquery("UPDATE {{table}} SET slot".$_POST["slot"]."name='$newname',slot".$_POST["slot"]."id='".$droprow["id"]."',$old1[0]='".$userrow[$old1[0]]."',$old2[0]='".$userrow[$old2[0]]."',$new1[0]='".$userrow[$new1[0]]."',$new2[0]='".$userrow[$new2[0]]."',attackpower='".$userrow["attackpower"]."',defensepower='".$userrow["defensepower"]."',currenthp='".$userrow["currenthp"]."',currentmp='".$userrow["currentmp"]."',currenttp='".$userrow["currenttp"]."',dropcode='0' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); } else { $new1 = explode(",",$droprow["attribute1"]); if ($droprow["attribute2"] != "X") { $new2 = explode(",",$droprow["attribute2"]); } else { $new2 = array(0=>"maxhp",1=>0); } $userrow[$new1[0]] += $new1[1]; $userrow[$new2[0]] += $new2[1]; if ($new1[0] == "strength") { $userrow["attackpower"] += $new1[1]; } if ($new1[0] == "dexterity") { $userrow["defensepower"] += $new1[1]; } if ($new2[0] == "strength") { $userrow["attackpower"] += $new2[1]; } if ($new2[0] == "dexterity") { $userrow["defensepower"] += $new2[1]; } $newname = addslashes($droprow["name"]); $query = doquery("UPDATE {{table}} SET slot".$_POST["slot"]."name='$newname',slot".$_POST["slot"]."id='".$droprow["id"]."',$new1[0]='".$userrow[$new1[0]]."',$new2[0]='".$userrow[$new2[0]]."',attackpower='".$userrow["attackpower"]."',defensepower='".$userrow["defensepower"]."',dropcode='0' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); } $page = "The item has been equipped. You can now continue exploring."; display($page, "Item Drop"); } $attributearray = array("maxhp"=>"Max HP", "maxmp"=>"Max MP", "maxtp"=>"Max TP", "defensepower"=>"Defense Power", "attackpower"=>"Attack Power", "strength"=>"Strength", "dexterity"=>"Dexterity", "expbonus"=>"Experience Bonus", "goldbonus"=>"Gold Bonus"); $page = "The monster dropped the following item: ".$droprow["name"]."

"; $page .= "This item has the following attribute(s):
"; $attribute1 = explode(",",$droprow["attribute1"]); $page .= $attributearray[$attribute1[0]]; if ($attribute1[1] > 0) { $page .= " +" . $attribute1[1] . "
"; } else { $page .= $attribute1[1] . "
"; } if ($droprow["attribute2"] != "X") { $attribute2 = explode(",",$droprow["attribute2"]); $page .= $attributearray[$attribute2[0]]; if ($attribute2[1] > 0) { $page .= " +" . $attribute2[1] . "
"; } else { $page .= $attribute2[1] . "
"; } } $page .= "
Select an inventory slot from the list below to equip this item. If the inventory slot is already full, the old item will be discarded."; $page .= "
"; $page .= "You may also choose to just continue exploring and give up this item."; display($page, "Item Drop"); } function dead() { $page = "You have died.

As a consequence, you've lost half of your gold. However, you have been given back a portion of your hit points to continue your journey.

You may now continue back to town, and we hope you fair better next time."; } ?>