From 0f3f0dc8ede237fb5f0604087f3b09e79719f4cf Mon Sep 17 00:00:00 2001 From: Jamin Blount Date: Sun, 5 Feb 2017 11:58:57 -0600 Subject: [PATCH] Beta 4 Build 18 09.03.2006 - Build 18 (Joe Camel): - Fixed function redeclaration with Blessed Strike & Stone Skin spells. - When you're all alone, you no longer have a little blue "undefined" orb to keep you company. - Changing worlds after a quest now gives you the world's starting town to avoid panel errors. - Minor optimization fix for item building. - Unique items no longer drop with prefixes/suffixes, and you can no longer buy unique items. - Removed alphanumeric requirement for passwords. - hpleech(monster) now properly accounts for difficulty multiplier when checking against the monster's maxhp. - Added Deposit/Withdraw All links to the Bank. - Fixed PVP and Post office bugs related to the new doquery syntax. - Fixed single-quote bugs in mymail(). - Removed verbiage from the levelup template that was no longer necessary. - Fixed some more verbiage in the registration message that was also no longer necessary. - Added admin-definable cookie name and cookie domain to controlrow. --- admin/cookies.php | 7 +-- admin/lib.php | 6 +-- changelog.txt | 15 ++++++ cookies.php | 7 +-- css/primary.css | 3 ++ extras/map.fla | Bin 61952 -> 62464 bytes extras/mapmini.fla | Bin 62976 -> 54784 bytes extras/update_build18.sql | 3 ++ fight.php | 55 +++++++++++++------ fightmods.php | 99 +++++++++++++++++++--------------- globals.php | 1 + index.php | 2 + lib.php | 14 ++--- lib2.php | 2 +- login.php | 6 ++- mailbox.php | 2 +- map.php | 2 +- map.swf | Bin 9899 -> 9914 bytes mapmini.php | 2 +- mapmini.swf | Bin 1274 -> 1287 bytes pvp.php | 2 +- story.php | 22 ++++++-- templates/town_bank1.php | 10 +++- templates/users_levelup1.php | 2 +- templates/users_register1.php | 4 +- templates/users_settings.php | 2 +- town.php | 11 ++-- users.php | 4 +- 28 files changed, 179 insertions(+), 104 deletions(-) create mode 100644 extras/update_build18.sql diff --git a/admin/cookies.php b/admin/cookies.php index ca508c1..585775e 100644 --- a/admin/cookies.php +++ b/admin/cookies.php @@ -3,14 +3,15 @@ function checkcookies() { include("../config.php"); + global $controlrow; $row = false; - if (isset($_COOKIE["scourge"])) { + if (isset($_COOKIE[$controlrow["cookiename"]])) { // COOKIE FORMAT: // {ID} {USERNAME} {PASSWORDHASH} {REMEMBERME} - $theuser = explode(" ",$_COOKIE["scourge"]); + $theuser = explode(" ",$_COOKIE[$controlrow["cookiename"]]); if (!is_numeric($theuser[0])) { err("Invalid cookie data (Error 0). Please clear cookies and log in again."); } $row = dorow(doquery("SELECT * FROM {{table}} WHERE username='$theuser[1]' LIMIT 1", "accounts")); if ($row == false) { err("Invalid cookie data (Error 1). Please clear cookies and log in again."); } @@ -20,7 +21,7 @@ function checkcookies() { // If we've gotten this far, cookie should be valid, so write a new one. $newcookie = implode(" ",$theuser); if ($theuser[3] == 1) { $expiretime = time()+31536000; } else { $expiretime = 0; } - setcookie ("scourge", $newcookie, $expiretime, "/", "", 0); + setcookie ($controlrow["cookiename"], $newcookie, $expiretime, "/", $controlrow["cookiedomain"], 0); } diff --git a/admin/lib.php b/admin/lib.php index 083e45f..063ed40 100644 --- a/admin/lib.php +++ b/admin/lib.php @@ -5,9 +5,9 @@ $starttime = getmicrotime(); $numqueries = 0; $link = opendb(); $version = "Beta 4"; -$bnumber = "17"; -$bname = "Haiku"; -$bdate = "8.09.2006"; +$bnumber = "18"; +$bname = "Joe Camel"; +$bdate = "9.03.2006"; // Handling for servers with magic_quotes turned on. if (get_magic_quotes_gpc()) { diff --git a/changelog.txt b/changelog.txt index 6b70a4e..82b6bde 100644 --- a/changelog.txt +++ b/changelog.txt @@ -3,6 +3,21 @@ Changelog ***** BETA FOUR ***** +09.03.2006 - Build 18 (Joe Camel): +- Fixed function redeclaration with Blessed Strike & Stone Skin spells. +- When you're all alone, you no longer have a little blue "undefined" orb to keep you company. +- Changing worlds after a quest now gives you the world's starting town to avoid panel errors. +- Minor optimization fix for item building. +- Unique items no longer drop with prefixes/suffixes, and you can no longer buy unique items. +- Removed alphanumeric requirement for passwords. +- hpleech(monster) now properly accounts for difficulty multiplier when checking against the monster's maxhp. +- Added Deposit/Withdraw All links to the Bank. +- Fixed PVP and Post office bugs related to the new doquery syntax. +- Fixed single-quote bugs in mymail(). +- Removed verbiage from the levelup template that was no longer necessary. +- Fixed some more verbiage in the registration message that was also no longer necessary. +- Added admin-definable cookie name and cookie domain to controlrow. + 8.09.2006 - Build 17 (Haiku): - Moved stylesheets into .css files. - Added javascript tooltips for the class info when creating a new character. diff --git a/cookies.php b/cookies.php index d356503..b66a52b 100644 --- a/cookies.php +++ b/cookies.php @@ -3,14 +3,15 @@ function checkcookies() { include('config.php'); + global $controlrow; $row = false; - if (isset($_COOKIE["scourge"])) { + if (isset($_COOKIE[$controlrow["cookiename"]])) { // COOKIE FORMAT: // {ID} {USERNAME} {PASSWORDHASH} {REMEMBERME} - $theuser = explode(" ",$_COOKIE["scourge"]); + $theuser = explode(" ",$_COOKIE[$controlrow["cookiename"]]); if (!is_numeric($theuser[0])) { err("Invalid cookie data (Error 0). Please clear cookies and log in again."); } $row = dorow(doquery("SELECT * FROM <> WHERE username='$theuser[1]' LIMIT 1")); if ($row == false) { err("Invalid cookie data (Error 1). Please clear cookies and log in again."); } @@ -20,7 +21,7 @@ function checkcookies() { // If we've gotten this far, cookie should be valid, so write a new one. $newcookie = implode(" ",$theuser); if ($theuser[3] == 1) { $expiretime = time()+31536000; } else { $expiretime = 0; } - setcookie ("scourge", $newcookie, $expiretime, "/", "", 0); + setcookie ($controlrow["cookiename"], $newcookie, $expiretime, "/", $controlrow["cookiedomain"], 0); } diff --git a/css/primary.css b/css/primary.css index a79f81b..a95f4e4 100644 --- a/css/primary.css +++ b/css/primary.css @@ -14,6 +14,9 @@ td { input { font: 10px Verdana; } +select { + font: 10px Verdana; + } img { border-style: none; diff --git a/extras/map.fla b/extras/map.fla index 95c45cc696d0cd2363a700fdfbc909703ab025ba..4808b91ba62caf6785c740ac6e1ae0595a7fdc3c 100644 GIT binary patch delta 1633 zcmZWpdrXs89Q|&oq(!6@v{e}7Tw(9{@AA5vWLkegDmb3++@G|)tM!0(%$>^e)pbp ze&_t|(VrrY-jC?WLC4L=PK$;y>{%dAHNVMD$X<;6{BfJT{TBAhUS$P%C_5%gSsXeP z;bV$?K@c9#&(Gt&{3~{VZ|Q87v&Ws=#0!zH#V$JDO6&BQr+3;z-5Q+(@^x{TDN$%& z7E**pAxS8vZ;p^bzlViILX@DyRG|xt#qDS)DudM)hX=)ZG{#`2$b!`3Wwho%M{(8v z)~vQ@>@L}kYsnTusK7h4H@1+YSuv0rg??Ki{gUlt#gB6rhN$XkABA@)s}VRV>qb>~Es3y^NF!1WOon!GEp(5}PPMl-hb zDX?X5DSme+;j&+W>5WQ^RNL`Nsd1<|AJ6*YnGv%s zrP$LXVpliUQG}BLH7>ag*zT^u0|)250%o_!5^<&8x`5Kba&Uf!8y9z&@%jz}<~%CQ zx47_eOD1{;OlWT@!EUNJuSrIWiIDg_1>bpe#4a6o`qg;BqeZNz0w?@NJZxSrvE>dG z`JxeOULvXGxLob+rv2oGS*ppsKstWgsb`{87hNz4r+2C(=3HBwGYYPqYTWj2Wy`V6 zyGp9`R&Oz8y2{uJs6E;Ex>ZZ-CLC@xN+UnR+^S_OF*}%p<<+8u6HZGEx_$9d4MblN zslGz)RJxWz*&~u~X7rrYLvd;&o;jI?i{0xfXKEbmE`*_b9p-#0h@K=VL)=ZShUe+u z`9iyNI?Ir}ztksUsf#DmNGF*%Z>GZ!?rgl@tHt78H9WmW8Vgy9q~aklIMB11So1vD zd-Tu@u7@>9IQ6OIiUNxUm6Ag|C!td!@qCHpN!k5!V9gV+DIEhkX5cs>Pb!zX?*20|`{uV00Gfm{ls6}~_oiplty z;ms^n+BaRJe`-e@B1TqAVH-OWPtBu7?HN5H&)9G^Sc;>;4ag6cQw!w75DYgfH#dwE zwuQGNS16udORe}tz=Gj(qGaH$`b?Cc)6<1gg*V1lhu}>MW7BrsKQTVvtpGUP)%{T+D-9MUuxX~&KP6f-9tn3;Iw>rOm_|@d1Mw+vm z@n}MX##N3>6YC{=pPMk?{CJC0V;(K4AY#WI5+>g}eJ(k)Z1R_=p|@f#yvt-E7MN!j qZZO#}3&w=l&Cgg&8(sA|azVHoL6ZfrX*8kPX_ai~$Jn9oW&Z#O;E;X* delta 210 zcmV;@04@K3=mUV{1CTHQ0+BHr0Rxk91s}0slmU_gYy`lzvnrEt2801Qll20F0>%@w zdIM$w2>$>7|2hBw0F&qh)B*mHQA4r@iV(AkGIjy77_?Hev^)|ClOl2|lkh(fl18ty zuXIrXqDUZMzR>;j_D4wJ&x ME3+%^)dQm95Qdppg#Z8m diff --git a/extras/mapmini.fla b/extras/mapmini.fla index 6568e16c6ce4faed58c5a37a612165d7695baeb8..fdc5076c869f949e48de354104921b0cd39283b2 100644 GIT binary patch delta 1595 zcmX|BdrVVj9Q`ikQ3Sk}s(?~21zMmYw+|7DsK}7gOG`@&m29HubaUBDU{3cyB{8~< z%qVAR|wUd?)z@Zn)H6Zd)wdRoZmV3 z*e{A>pD9ioHBn^ovy6~L8nXLm;c%EeRa|rmu}KG%Z@ql-)>oX8KDmZ>V#CTxp8ZM) z+Bc*Hh&Gc&|dGz`oNg_)~JT|Sf;)p2|*P07()0BCo7-u%~J*?pA3qPS20&dD_vA0Y@f|I#hT{Yw=PB z@*FyRS-k-dr%f2B*2!n%s1mi+8ZH~PQ~8Jw>Tp~thty|*(32WN>Enzz-CcxTO|gh` z2}rHx;gYfus40TE#*E`*DkRnD;OpTLZpy%2XAXRqS!_U?GY`K0br78^C>9G6JSw!* zzJ!M(BE;EPIBRtjS7f$-1F9%)J%a9h85S$m;TDkWj?fahPmJ>tC$SR;3TDzMRR+B2 zSEJm!7pJ-+WprK*z6+{w%ag<9;7L<420a=sQwC@E2&fyfP$)d+@jOmhEx52fhcjTS zWQKM77Toh0I5W7}Qe5zvFnWoH;B%pPCQ|!Jy?}AI3K!~A@ILL)UY`biy~GJPQo8zUactu(p73ii*|!6Fmj!Kog*3O4(?I1j;@9339O>PR^4?PX-cutlmSxP< zY30e7cH4WXb|_s8#Yw95w?`@ILxprf7Cauzp%Wd(?Q?JZzu?e0O=$gqn?vG2F7EXk zWrN%gWZ;{A6)jXr`D8+lY$HhM`Wz08+Nj>G*f$!nEL&Kl4I_Hx zFy~LiohE@xmk0Q{Hw}AhEcj_Qi>@Yu^ysWbeyNDF8g2!+v2;A1p=zTeGKQ#%76HHy&N$T7N%0*o^nuONYpp3c>}(^ zWRW|tWr~s#UDP#CZ5G()1Z2Bxh?^@%$CV;3A7>oJ5U=D>k{y&pmfLS e{d1w^OJApNZeuhdKPYGr169My(3bh@ivIu@y=X=N delta 928 zcmdr~T}YE*6n@`rZG-8)t(6&e~jUn0J zdInBNB*kr6Ew?wO+cX-KH(n%NMI>Ex(M@1jM0L^E=j^uIF1k28oFC44&U23Mk<|A| zddG_Ryj)KR(GX%4K_c2OK@dbBG~wmtGGEI*H`*nBe3ko^OX}qWA?V#Vc5$t&GXMvlt#^T19}gc zu@K?Wb4-hYh#pN58;lVbEyk{Z4P2xU$`KBhR5jj>ap1!xcoNX#K!U^j#u6xUo3Z+a z8VnthC}2i zm-mseYV(}FOqWw0+HfU~=XhF)V4n*|rpxjDnjIgq)sT4i;(m5Fwr6>Ec80A{%PAq} rR}m7F5#o_U+g!wUzRvwqwW&3KyZX4{KbATy{{O6oX$fightrow["monsterphysdamage"], "monstermagicdamage"=>$fightrow["monstermagicdamage"], "monsterfiredamage"=>$fightrow["monsterfiredamage"], - "monsterlightdamage"=>$fightrow["monsterlightdamage"]); + "monsterlightdamage"=>$fightrow["monsterlightdamage"], + "track"=>$fightrow["track"]); $pagerow["spells"] = dospellslist(); display("Fighting",parsetemplate(gettemplate("fight_turn"),$pagerow)); @@ -92,7 +98,8 @@ function dofight() { "monsterphysdamage"=>$fightrow["monsterphysdamage"], "monstermagicdamage"=>$fightrow["monstermagicdamage"], "monsterfiredamage"=>$fightrow["monsterfiredamage"], - "monsterlightdamage"=>$fightrow["monsterlightdamage"]); + "monsterlightdamage"=>$fightrow["monsterlightdamage"], + "track"=>$fightrow["track"]); $pagerow["spells"] = dospellslist(); display("Fighting",parsetemplate(gettemplate("fight_turn"),$pagerow)); @@ -101,7 +108,7 @@ function dofight() { if (rand(4,10) + ceil(sqrt($userrow["dexterity"])) < (rand(1,5) + ceil(sqrt((0.75 * $monsterrow["physattack"]))))) { monsterturn(); - $fightrow["message"] = "You tried to run away, but the monster blocked you!
"; + $fightrow["message"] .= "You tried to run away, but the monster blocked you!
"; if ($userrow["currenthp"] <= 0) { youlose(); } updateuserrow(); @@ -112,7 +119,8 @@ function dofight() { "monsterphysdamage"=>$fightrow["monsterphysdamage"], "monstermagicdamage"=>$fightrow["monstermagicdamage"], "monsterfiredamage"=>$fightrow["monsterfiredamage"], - "monsterlightdamage"=>$fightrow["monsterlightdamage"]); + "monsterlightdamage"=>$fightrow["monsterlightdamage"], + "track"=>$fightrow["track"]); $pagerow["spells"] = dospellslist(); display("Fighting",parsetemplate(gettemplate("fight_monsteronly"),$pagerow)); @@ -129,7 +137,7 @@ function dofight() { if (rand(1,10) + ceil(sqrt($userrow["dexterity"])) < (rand(1,7) + ceil(sqrt((0.75 * $monsterrow["physattack"]))))) { monsterturn(); - $fightrow["message"] = "The monster attacked before you were ready!
"; + $fightrow["message"] .= "The monster attacked before you were ready!
"; if ($userrow["currenthp"] <= 0) { youlose(); } updateuserrow(); @@ -140,7 +148,8 @@ function dofight() { "monsterphysdamage"=>$fightrow["monsterphysdamage"], "monstermagicdamage"=>$fightrow["monstermagicdamage"], "monsterfiredamage"=>$fightrow["monsterfiredamage"], - "monsterlightdamage"=>$fightrow["monsterlightdamage"]); + "monsterlightdamage"=>$fightrow["monsterlightdamage"], + "track"=>$fightrow["track"]); $pagerow["spells"] = dospellslist(); display("Fighting",parsetemplate(gettemplate("fight_monsteronly"),$pagerow)); @@ -148,7 +157,8 @@ function dofight() { $pagerow = array( "monstername"=>$monsterrow["name"], - "monsterhp"=>$userrow["currentmonsterhp"]); + "monsterhp"=>$userrow["currentmonsterhp"], + "track"=>$fightrow["track"]); $pagerow["spells"] = dospellslist(); display("Fighting",parsetemplate(gettemplate("fight_new"),$pagerow)); @@ -165,24 +175,28 @@ function playerturn() { $physhit = ceil(rand($userrow["physattack"]*.75, $userrow["physattack"]) / 3); $physblock = ceil(rand($monsterrow["physdefense"]*.75, $monsterrow["physdefense"]) / 3); $fightrow["playerphysdamage"] = max($physhit - $physblock, 1); + $fightrow["track"] .= "physdam init: " . $fightrow["playerphysdamage"] . "\n"; } if ($userrow["magicattack"] != 0) { $magichit = ceil(rand($userrow["magicattack"]*.75, $userrow["magicattack"]) / 3); $magicblock = ceil(rand($monsterrow["magicdefense"]*.75, $monsterrow["magicdefense"]) / 3); $fightrow["playermagicdamage"] = max($magichit - $magicblock, 0); + $fightrow["track"] .= "magicdam init: " . $fightrow["playermagicdamage"] . "\n"; } if ($userrow["fireattack"] != 0) { $firehit = ceil(rand($userrow["fireattack"]*.75, $userrow["fireattack"]) / 3); $fireblock = ceil(rand($monsterrow["firedefense"]*.75, $monsterrow["firedefense"]) / 3); $fightrow["playerfiredamage"] = max($firehit - $fireblock, 0); + $fightrow["track"] .= "firedam init: " . $fightrow["playerfiredamage"] . "\n"; } if ($userrow["lightattack"] != 0) { $lighthit = ceil(rand($userrow["lightattack"]*.75, $userrow["lightattack"]) / 3); $lightblock = ceil(rand($monsterrow["lightdefense"]*.75, $monsterrow["lightdefense"]) / 3); $fightrow["playerlightdamage"] = max($lighthit - $lightblock, 0); + $fightrow["track"] .= "lightdam init: " . $fightrow["playerlightdamage"] . "\n"; } // Chance to make an excellent hit. @@ -192,7 +206,8 @@ function playerturn() { $fightrow["playermagicdamage"] *= 2; $fightrow["playerfiredamage"] *= 2; $fightrow["playerlightdamage"] *= 2; - $fightrow["message"] = "Excellent hit!
"; + $fightrow["message"] .= "Excellent hit!
"; + $fightrow["track"] .= "excellent\nphys:".$fightrow["playerphysdamage"]."\nmagic:".$fightrow["playermagicdamage"]."\nfire:".$fightrow["playerfiredamage"]."\nlight:".$fightrow["playerlightdamage"]."\n"; } // Chance for monster to dodge. @@ -202,7 +217,8 @@ function playerturn() { $fightrow["playermagicdamage"] = 0; $fightrow["playerfiredamage"] = 0; $fightrow["playerlightdamage"] = 0; - $fightrow["message"] = "The monster dodged your hit!
"; + $fightrow["message"] .= "The monster dodged your hit!
"; + $fightrow["track"] .= "monster dodge: all damage to zero\n"; } // Now we add Per Turn mods. @@ -212,6 +228,7 @@ function playerturn() { // Subtract all damage from monster's hp. $userrow["currentmonsterhp"] -= ($fightrow["playerphysdamage"] + $fightrow["playermagicdamage"] + $fightrow["playerfiredamage"] + $fightrow["playerlightdamage"]); + $fightrow["track"] .= "end turn - mhp:".$userrow["currentmonsterhp"]; } @@ -245,12 +262,12 @@ function monsterturn() { // Chance to make an excellent hit. $toexcellent = rand(0,150); - if ($toexcellent <= sqrt($monsterrow["dexterity"])) { + if ($toexcellent <= sqrt($monsterrow["physdefense"])) { $fightrow["monsterphysdamage"] *= 2; $fightrow["monstermagicdamage"] *= 2; $fightrow["monsterfiredamage"] *= 2; $fightrow["monsterlightdamage"] *= 2; - $fightrow["message"] = "Excellent hit!
"; + $fightrow["message"] .= "The monster made an excellent hit!
"; } // Chance for player to dodge. @@ -260,7 +277,7 @@ function monsterturn() { $fightrow["monstermagicdamage"] = 0; $fightrow["monsterfiredamage"] = 0; $fightrow["monsterlightdamage"] = 0; - $fightrow["message"] = "You dodged the monster's hit!
"; + $fightrow["message"] .= "You dodged the monster's hit!
"; } // Now we add Per Turn mods. @@ -316,10 +333,14 @@ function youwin() { $preprefixrow = dorow(doquery("SELECT * FROM <> WHERE reqlevel<='".$userrow["level"]."' ORDER BY RAND() LIMIT 1", "itemprefixes")); $presuffixrow = dorow(doquery("SELECT * FROM <> WHERE reqlevel<='".$userrow["level"]."' ORDER BY RAND() LIMIT 1", "itemsuffixes")); - $idstring = ""; - if (rand(0,4)==1) { $idstring .= $preprefixrow["id"] . ","; } else { $idstring .= "0,"; } - $idstring .= $preitemsrow["id"] . ","; - if (rand(0,4)==1) { $idstring .= $presuffixrow["id"]; } else { $idstring .= "0"; } + if ($preitemsrow["isunique"] == 1) { + $idstring = "0," . $preitemsrow["id"] . ",0"; + } else { + $idstring = ""; + if (rand(0,4)==1) { $idstring .= $preprefixrow["id"] . ","; } else { $idstring .= "0,"; } + $idstring .= $preitemsrow["id"] . ","; + if (rand(0,4)==1) { $idstring .= $presuffixrow["id"]; } else { $idstring .= "0"; } + } $userrow["dropidstring"] = $idstring; $fightrow["message"] .= "The monster has dropped an item! Click here for more information.
"; diff --git a/fightmods.php b/fightmods.php index db837d7..c312d43 100644 --- a/fightmods.php +++ b/fightmods.php @@ -14,7 +14,7 @@ function hpleech($player) { if ($userrow["currenthp"] > $userrow["maxhp"]) { $userrow["currenthp"] = $userrow["maxhp"]; } } else { $userrow["currentmonsterhp"] += floor(($fightrow["monsterphysdamage"]+$fightrow["monstermagicdamage"]+$fightrow["monsterfiredamage"]+$fightrow["monsterlightdamage"]) * ($monsterrow["hpleech"]/100)); - if ($userrow["currentmonsterhp"] > $monsterrow["maxhp"]) { $userrow["currentmonsterhp"] = $monsterrow["maxhp"]; } + if ($userrow["currentmonsterhp"] > ($monsterrow["maxhp"] * $userrow["difficulty"])) { $userrow["currentmonsterhp"] = ($monsterrow["maxhp"] * $userrow["difficulty"]); } } } @@ -71,19 +71,24 @@ function bonusattack() { ***********/ global $userrow, $fightrow; + + if ($userrow["bonusattack"] > 0) { - $first = $userrow["bonusattack"] * 0.25; - $sec = $userrow["bonusattack"] * 0.5; - $third = $userrow["bonusattack"] * 0.75; - $rand = rand(0,100); - - if ($rand <= $first) { $multiplier = 2; } - elseif ($rand <= $sec) { $multiplier = 1.75; } - elseif ($rand <= $third) { $multiplier = 1.5; } - elseif ($rand <= $userrow["bonusattack"] && $rand > $third) { $multiplier = 1.25; } - else { $multiplier = 1; } - - $fightrow["playerphysdamage"] = floor($fightrow["playerphysdamage"] * $multiplier); + $first = $userrow["bonusattack"] * 0.25; + $sec = $userrow["bonusattack"] * 0.5; + $third = $userrow["bonusattack"] * 0.75; + $rand = rand(0,100); + + if ($rand <= $first) { $multiplier = 2; } + elseif ($rand <= $sec) { $multiplier = 1.75; } + elseif ($rand <= $third) { $multiplier = 1.5; } + elseif ($rand <= $userrow["bonusattack"] && $rand > $third) { $multiplier = 1.25; } + else { $multiplier = 1; } + + $fightrow["playerphysdamage"] = floor($fightrow["playerphysdamage"] * $multiplier); + $fightrow["track"] .= "bonusattack - physdamage:".$fightrow["playerphysdamage"]."\n"; + + } } @@ -97,22 +102,26 @@ function bonusdefense() { ***********/ global $userrow, $fightrow; + + if ($userrow["bonusdefense"] > 0) { - $first = $userrow["bonusdefense"] * 0.25; - $sec = $userrow["bonusdefense"] * 0.5; - $third = $userrow["bonusdefense"] * 0.75; - $rand = rand(0,100); - - if ($rand <= $first) { $multiplier = 0; } - elseif ($rand <= $sec) { $multiplier = 0.25; } - elseif ($rand <= $third) { $multiplier = 0.5; } - elseif ($rand <= $userrow["bonusdefense"] && $rand > $third) { $multiplier = 0.75; } - else { $multiplier = 1; } - - $fightrow["monsterphysdamage"] = floor($fightrow["monsterphysdamage"] * $multiplier); - $fightrow["monstermagicdamage"] = floor($fightrow["monstermagicdamage"] * $multiplier); - $fightrow["monsterfiredamage"] = floor($fightrow["monsterfiredamage"] * $multiplier); - $fightrow["monsterlightdamage"] = floor($fightrow["monsterlightdamage"] * $multiplier); + $first = $userrow["bonusdefense"] * 0.25; + $sec = $userrow["bonusdefense"] * 0.5; + $third = $userrow["bonusdefense"] * 0.75; + $rand = rand(0,100); + + if ($rand <= $first) { $multiplier = 0; } + elseif ($rand <= $sec) { $multiplier = 0.25; } + elseif ($rand <= $third) { $multiplier = 0.5; } + elseif ($rand <= $userrow["bonusdefense"] && $rand > $third) { $multiplier = 0.75; } + else { $multiplier = 1; } + + $fightrow["monsterphysdamage"] = floor($fightrow["monsterphysdamage"] * $multiplier); + $fightrow["monstermagicdamage"] = floor($fightrow["monstermagicdamage"] * $multiplier); + $fightrow["monsterfiredamage"] = floor($fightrow["monsterfiredamage"] * $multiplier); + $fightrow["monsterlightdamage"] = floor($fightrow["monsterlightdamage"] * $multiplier); + + } } @@ -126,22 +135,26 @@ function bonusdefense_pvp() { ***********/ global $userrow, $monsterrow, $fightrow; + + if ($userrow["bonusdefense"] > 0) { - $first = $monsterrow["bonusdefense"] * 0.25; - $sec = $monsterrow["bonusdefense"] * 0.5; - $third = $monsterrow["bonusdefense"] * 0.75; - $rand = rand(0,100); - - if ($rand <= $first) { $multiplier = 0; } - elseif ($rand <= $sec) { $multiplier = 0.25; } - elseif ($rand <= $third) { $multiplier = 0.5; } - elseif ($rand <= $monsterrow["bonusdefense"] && $rand > $third) { $multiplier = 0.75; } - else { $multiplier = 1; } - - $fightrow["playerphysdamage"] = floor($fightrow["playerphysdamage"] * $multiplier); - $fightrow["playermagicdamage"] = floor($fightrow["playermagicdamage"] * $multiplier); - $fightrow["playerfiredamage"] = floor($fightrow["playerfiredamage"] * $multiplier); - $fightrow["playerlightdamage"] = floor($fightrow["playerlightdamage"] * $multiplier); + $first = $monsterrow["bonusdefense"] * 0.25; + $sec = $monsterrow["bonusdefense"] * 0.5; + $third = $monsterrow["bonusdefense"] * 0.75; + $rand = rand(0,100); + + if ($rand <= $first) { $multiplier = 0; } + elseif ($rand <= $sec) { $multiplier = 0.25; } + elseif ($rand <= $third) { $multiplier = 0.5; } + elseif ($rand <= $monsterrow["bonusdefense"] && $rand > $third) { $multiplier = 0.75; } + else { $multiplier = 1; } + + $fightrow["playerphysdamage"] = floor($fightrow["playerphysdamage"] * $multiplier); + $fightrow["playermagicdamage"] = floor($fightrow["playermagicdamage"] * $multiplier); + $fightrow["playerfiredamage"] = floor($fightrow["playerfiredamage"] * $multiplier); + $fightrow["playerlightdamage"] = floor($fightrow["playerlightdamage"] * $multiplier); + + } } diff --git a/globals.php b/globals.php index dcfea00..65b3810 100644 --- a/globals.php +++ b/globals.php @@ -45,6 +45,7 @@ $fightrow = array( "monstermagicdamage"=>0, "monsterfiredamage"=>0, "monsterlightdamage"=>0, + "track"=>"", "message"=>""); ?> \ No newline at end of file diff --git a/index.php b/index.php index 75c2fa5..b68d54a 100644 --- a/index.php +++ b/index.php @@ -1,5 +1,7 @@ '; + $from = "<$adminemail>"; } $rp = $adminemail; - $org = '$gameurl'; - $mailer = 'PHP'; + $org = "$gameurl"; + $mailer = "PHP"; - $head = ''; + $head = ""; $head .= "Content-Type: text/plain \r\n"; $head .= "Date: ". date('r'). " \r\n"; $head .= "Return-Path: $rp \r\n"; diff --git a/lib2.php b/lib2.php index 95275da..034d6cc 100644 --- a/lib2.php +++ b/lib2.php @@ -3,7 +3,7 @@ function updateuserrow() { global $userrow; - $userrow = array_map("addslashes", $userrow); + $userrow = array_map("uber_mres", $userrow); $querystring = ""; foreach($userrow as $a=>$b) { diff --git a/login.php b/login.php index b4cc47f..b9ea8a3 100644 --- a/login.php +++ b/login.php @@ -13,6 +13,8 @@ switch($do) { function login() { + $controlrow = dorow(doquery("SELECT * FROM <> WHERE id='1' LIMIT 1")); + if (isset($_POST["submit"])) { // Setup. @@ -29,7 +31,7 @@ function login() { // Finish. $newcookie = $row["id"] . " " . $username . " " . md5($row["password"] . "--" . $dbsettings["secretword"]); if (isset($remember)) { $expiretime = time()+31536000; $newcookie .= " 1"; } else { $expiretime = 0; $newcookie .= " 0"; } - setcookie("scourge", $newcookie, $expiretime, "/", "", 0); + setcookie($controlrow["cookiename"], $newcookie, $expiretime, "/", "", 0); die(header("Location: index.php")); } else { @@ -43,7 +45,7 @@ function login() { function logout() { include("globals.php"); - setcookie("scourge", "", (time()-3600), "/", "", 0); + setcookie($controlrow["cookiename"], "", (time()-3600), "/", $controlrow["cookiedomain"], 0); die(header("Location: login.php?do=login")); } diff --git a/mailbox.php b/mailbox.php index f45795b..44c372c 100644 --- a/mailbox.php +++ b/mailbox.php @@ -201,7 +201,7 @@ function maildelete() { if ($message == false) { err("Invalid action. Please go back and try again."); } if ($message["recipientid"] != $userrow["id"]) { err("Invalid action. Please go back and try again."); } - $delete = doquery("DELETE FROM {{table}} WHERE id='".$_GET["id"]."'", "messages"); + $delete = doquery("DELETE FROM <> WHERE id='".$_GET["id"]."'"); die(header("Location: index.php?do=mailbox")); } diff --git a/map.php b/map.php index 0627024..684ee41 100644 --- a/map.php +++ b/map.php @@ -32,7 +32,7 @@ $text .= "player_name=".$userrow["charname"]."&"; // Then do everyone else. $users = dorow(doquery("SELECT * FROM <> WHERE world='".$worldrow["id"]."' AND UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."' AND id != '".$userrow["id"]."'"), "id"); -$text .= "users=".count($users)."&"; +if ($users) { $text .= "users=".count($users)."&"; } else { $text .= "users=0&"; } $count = 0; if ($users != false) { foreach ($users as $a => $b) { diff --git a/map.swf b/map.swf index 26ad82868d489b27f3dec7a32361a6517b83b81e..e4b2a159a09b81bbd037168a7d9c6e445fbe8bdd 100644 GIT binary patch literal 9914 zcmV;rCPmppS5pV(F8}~|oZWhNTvN-|=wv69(4==TB1C#silCwbN^jD8Nq~@q-W8)q z5J3=?9#B+@1(4nm6p$`blwK@=CNom+R&uzm2hGtMai_;=#Ix4onXMp z!~6RCtTYviXP!lQsVY5*Hhxkk^#wic30gU13qOY|?3B4ee?d0;(*ptg?V8n`3{}z9 z6UjERAHD|1dcHdOVhS5k6CN})9@eGG%CfjC^1Z0*r02}TunW$IOH|bT*3PdCYBD$J zur~7H$Ol%x%nT-ltu-I+@2eUNcK#uxwK+ZZ-~&T*&?(RiFaQ7u97QApPk=ax0At#K z4juyRT(zB3o@5g>F93d^+2Ii+Y`a)`dIXFPwBhFiY%G9gPb3Hl!UejJJir0818iXw zK+-I%6+X_Bq_1!|fV+wXfnX!W;lvdKChWsyN&KO}}vkWSUp)sYde!Z=$f zahGwpv$)}QK6uFBy2vGbGAx7~*uN5X^<9t9*H!Bi^Qm7tc^v(@slv(gx1Oi|W{bPK z`@Z3)Q$eG+3%egFPKU=Uh|d0YaB`@SIFPV&?S6;vr*pow1q_>74|c6ja)f%M$)nU` zM3T^^Rxo@iAtuagimJ6Q_IqmT)!jsCh|4LT;UhD4KYGN1ZE& z;z}ypZutC%U+mO^W6QbGrjIfcTD&!)I-@ZH1I;&%sDCwxW8c}s=3u0MB1JYKTQ*-~ zxu9O~VpXO_dz$!(2rF(gb|KP}TzfwP9ZUUZbyZjoJ8 zH%QMvWJ%z9al?`-d^$7zYVw_gzN6n4dLHstTsyS6@&);nm_qvLF1kP5h58G3(f@K6 z-7j~sZn=vd1O@vAM*Q^GDm=vSYeiT+R`5M-&fW2@b^5Fae+pVPA-+$Nk-kg|`9ixj z9%HLhO0;LOKQDIr`R-m!+-C-zQFfLR*$i3t$9(?lsZlJk+tw!+zF!I2W~1{Gk#r`zha}O0439H=y$&wFz`HyE4#NHqL{)}6!xy(#{m6{D;^gZ8 zkWEBc39oOdR@SyXDXXcZ`PJpF=enDTWdlpjBYu@#je{zOoT|U|p?tr(#wcjcgs3iD z%(_<)&%0kqhmZATr`BS_=TR@SHU{a)4k54an`*(1AGawPa!S1}ZF-Zo!N7Utq}@*= zGX7yihQBZ(`j-(Ie;JW&%ZO;;Pjrj;74>*H>Y4tQSNh2aH}3XbC+H6yYBM+_TO`eK zF45L1);4ZfTw40IX~M-<@od+1ysk+w<|{Gtx~QmLGKp#0wITW<7(a-0%6_tMJv-_o zORFN^ZS{oqL&x`THx}pI9g!m*-F&rTj5vON;}av>S!A6f+j6MTjRD4?F4XgcI6}Ty zt)u+D4x;J{Y>wXDbr$_gr86r5>ciY3TXI=BsDe}N_sLz?i$F7QTx3kvw3cJe{ zTdnL0B@|XyIF_sq69-qVGHR#Do)vbLAGc4h-m`W6RQAAq|5?fSaLM$l3H2KTao)S* z-OJ+eH%>+0y>Q=^Vp52_XMI>pbioLF`H}7%Dh+qhAm2Z||Av_)=5n2`EHBqm=;q1T z?E9`5lfujN5W-kzt{~)FL^Qa^+C2Hwcg%nIj_EIa$MVZ}%zw^TEFjn~jJ)MJ7P}n) zu!1uPMr&N4ryJP~1cG_+3eX`W5YdPo&?JQWuuBwji_$aB+8nOLN`hm zPJf-Ai=mXElOd9kAFYBmLle<)=U(=5hpj7AJ;IKI(G;+ z;Mvb($3x|5;pyip6w;62Ef&-aASf&U8s4F3kdgn+StufREhH32%oK*7g?i-HP5 z`-O~!oQ3>^C_=eHEkZLw48n(n{e{zn3q@K)#zgEy(?r<;JF6$t`G_C8)yi!8H=Lc$ z0*h~eXiV%`QXy7S*je#RQQ_Zwc-z;v-<}>N(Rt8E1$-HlOL%+0s;P7wCiYF|3zO0O zV%XRAv>Q8Tb5be4>|~>l{AApzT-Wfxq)mm&@+e#;#P=3oD7Bhv z(01|-X)LE#=S)&pxgz1^n@B@~naR=(r)EL7=Y+R?QxRlq1g9&rN8?yhh5f#DKf$DR zvrT)X1VIk-Elu{^1n#bCbI8j48y9=_FV3Q#WzeOFcytT5W$R9 z_*P}Pwm2RnD|BVFN_j%KTDRqW1amVil1p%)PeeH39uZEIV<-7P#$4uh|o)KL}M1YI?AcBrw1=|P)C znocjOh{D^XSiMST!pJn`qMQNUxfAK6RtVC(S&tUH76aB92uIs^i%vUAYBIDw&pQon z-KVLp{B#a+7;6`Zy9wEAD_u<&m}SO+lxt&WI?UoFJZk$kjHVGXC^}Pe$Gx3=Lrht# z*Di~%2RhHU?94!j7gf8Lx6Pt$C{DMn>P-jlBka#~*cVBFR%%zIR@+46r+_l%YSlx; z;Nu6!$`}*@HUl)aX05P5k!IYn(Vl_YhSdcE&tvh4@ceMiNFE56`u>V z`1FGZj1K0ECT3mt+b8Q*T=ZhOQKti}!-qr&+&y>8aC5d!ow< zVn}VUFLG6X`d;tKHT<63%S{B|nQsL|%*uB;wc_&e$7(Z&RQy~7Y0D}sAY6fs`-po@ z?8G=_avNA(yC*QcL*QFn8b_p5H?g4XupdmbWj*&@}Vespkch)g=}`OT3wdq8=m9Ub`A|4VWwd zlOy9&9bdRHP_QC6?wWnv6)3{1<2mX5r4m8w)jc0hzTQx{B~;W?|46R<`It7UQrlfh zo--=Nut}jX==c?|vlnEu_()pkrF83RJTJc@*@?Q-vVB78+Zp2QmQBJzIChF^+&04^ zREHaD96z@%ZR*+JYk1nc;h@W?@to!6xx|zfnvUWi9Fv%tSiF0}_Ev%G4e{=b3*tz~ zjHB3<>KnZT*}F<4r`e%z1}fm4k5O~pk1xDXNrupEo!D9CL5j_oY?FoW;gZW!wTw}o znbqCJtIC?vxik&78{-s@ofbHf3kJf zUuKt_+k>duHhwI}ka#gNAF;v;*;*+ zuoE}l@D2HhgAPB2HgDhbHSsWeO>Uv`?@U2>wfF&fqP&0YChMj&xRp@z*_TZXy4I3R z!`v2+14D$3(9(OS9pV(o=hq3f@i=ter#W&*F{24ym>gq zHifPv!t)V9Fw5$YKMvU=@mXMGrXW#}Iqo;bl8?pJfW2 z@<%#g?1#}~uANOGb-s!7K4vT^jZ*e+j&oL-ru*(pM_EC*qdS!9tVQMTxw+4xwAgv} zjb`UcerQ*aRo|m;!WmYg)>OU2VuHuJrmT0APZm#q7gSWJ#FN(NT9luUBz z$c!}QNFDO_XFe}gqNu%V4uKY5 zJf~t-`;J(q=usuFslBroVViJKS^lsss&AGNU$H|7NEslm@G8%`vCPY4@`tCCyIZuN zjM#Z{5)vfQA*;s4_bCWjcHV7Qc98?%ZK?>Q{RV4>~M4D`*sORCvj*^9H1*VPv61#!-HN&)WLs4fg0)sknK;_}nXI~C@E`)gBb z{$Zo%Bo%7e#$AS2EqnSmOPWt)3CBFm3$1aR_X7v+WqkQ4t!#fp=KO?_Ky}Tu!--{l zT7k$h{ObYGoB?UbKlf}%Ye72zM?I@H4zY})JSQf%V0QZBuug%;T6moWl~-?E-koA4 zKmH;#YZhr+O>%!sC#9_*9BE#d%y%(pLdc<|!SWlhrs{}V zT59uHEL|B_~%6X8c?WO;_xpY|k<}?hT4hLwRjrG;1t<6hGzz^Cn-lp9i{2 z2dQNY-V=fPce8y+R~ipFv`K@kQlutCoMdNQr0l$K7r(F38jMr8iWd_FRk=RfJDt5{ zFu^BgZr*Y%18TUvMy5^~qpNl+Y!o!l7lW)8=yRy=vnixNB};@keohA%XCRLH@Vez4 z`hY%v{&8%Yw@goYdGNUm$~hRP@IY9zF?>@a`Hv9 zg=5&0hEsGjM2EyV@WTF9$emiUeWw>2Ref(K^7QAq8$yXwceMv^vZQ3+Hn^-SC9cia zjVL)*K4)lj&%h`{)Y?nQEdwGmGWDP6O-6@R8^5j45B|`!PV$>?vwq_efT)sre?-$o zfWPgw1XnIS3p>yC?*}BAj#n7=%k>SuT8Mf(KGWB;i%F*TxABn=(pRzTN9PLqB`0TP zx0Vdy!dytdg8W4rdeS}i3HNP#!s*tHMy52raCv(NPW1JV5eF3MFi#p=ZRj1Uk! z=K0PBR&Dkm69YD{+iXmjcAiM5tq5N)y?KBewxpUHjMm!~K4Y7)XCRwvct3ppCbD*i zGKg?}*%dSA^MPjNLK&EaQA9&|vym z=Mb9*IJUK6`e=dh9nSVjEuWT({7r?59?|c_d7KV^rmN1Mn7V}k)rL!+c$yBKD=)k6 z>|Zp&)mZ6qYI4k$rrD8~^R2?QJXy2Ws}LcXIq6*S7nNXaU;oQm>ZM62(w|O!ATxU) z!vUz}p61%YP;iOZfOm1y5`5u0f$OUd8uwOYjzO=@0SN04>13E?XP6zNsFp@8TP{rH zlTAVi;ha~vY4ryo9E9!)_c38oi6M^Wz|p{RTxu7z*h(fUy)U6@X=sa>t*$1i@<)(j z+rIY|LdNBpW&65QRQandY2cER8Hfb#r^Lf{rL48vseUIyeUyb9c8t$3rurjKc=~w| zli#2&c#EvC2Ae8yX5^Id{9j_~~<++I1H(4lf!;}~1}b~*mZ!|#;F-eOVh zwddxX08N5F2;EV)_@%GApjvVR_Ni~?AtT}H-`s*ygK6OX)${Vo{Q4Pg7(}2e-J>&^ zb%VjZ5_yj}GE4RDv|!6Y%Y4=ks_9;m*7t;S_3}V+9^~`aX1LEbD7*K56!l4txU7ve z1KL8Fz`L{+MMn_QGXXU#YnCpfoxoTaLAkpBYc@Fg2yPPJXs_r# z)3xCWWUC!znmvx{3Z$$got1K0nNP4Gz*Bs?FFmM-NuoT^QudONjZs2dau6WvTrU4q`Sm0AM4RCw7}1!IDX~nm)ji-I&N%ih)}Gq-sAx@)#)ch4$W8a{Qn?(YE}jTa z-?F@-U*JYGg9px)mOP%Fn{C!`ONY?q7watNyf)*fQvBg@Q-sp!?S%sOwFe!_-LK#> z!(aeLR3(S;G*&PK7FGnboDOW9rG-+V6`Z|ZR38uy**lu^{BmFYh0l4tv=W=J+b}{V zsmMfk`|VZu5w}*qCRa1{s$rW$j||NN-dZ43vdaCzfi|-@E#zu;?GN4L>}<*sx%F++?%P^L zj6snF^gdVqplqH6AU$Y0UC%x<9zq__sR6&h(FWZ0QPmyHJR zZ&i$e^FVJ|J>4UrE5H8AEq!0^EF{UVsAjM8L}5X-w1!vpgLNi3>Ep~H-4zZLE+vX^ zfr$ndaD-!|Bi=?(cBy^9&-B)Sv|6UN{35+)k9Z&}RMOe;)7zB&5qM&IW-g~KtxPZ- zX-GR4*{V83-@}4h9_*V6d|4w;ysU;lN(WE4P64Ovba|Hk$?VkaJWV+bJ~@Zs8biYn zGcH@;BV>G?2nH09QUR6i1>M?$QxQ)`@Rj404fsP#6|ir-<7k%jFmw_*6gVuk8#P4X zuMT<_>dM^M!Y5XzoRS>hd$U-6OnT}(Aek_wvZu7IyG<}p7D@7`Q=3^&R(~iYt@l2~ z2*!RO2vL-KL8p$75=WLT>Nb#?k!D-#R8p}kuq@RH`PLVgO|u+ zi~2ziYgiFOoxEogc%)Z7Mb*J>&B2WBsXyIhdTFM7(<{h}9XTv@!HgnWWp}#J`VRH` zM36J7DZva~4E8W%hvdE-nx%a^z+-Q|S8z)D@;WMwpQT`aP6+4?mn?Jhl`3+ERR|AqlzK9Hq=JzS$&n)rW7aeU6J{5{&YG7}pHZ5RktEZn6cAEr7|4S6gRj(m!hZ5SA}1`tCH5mPr+t`_S&lnHNXWAYI%B7@+w2~4~9f{ z*$^F(gk2!h51-k?JfdWSyKhLy_Yyafu+ z+z#K_cbcY33+#|uqFi$r=hvnoV&;g+__MXNPNufCQGWkQO>W1E3Ad;i!Bkw;ri4pz z96GIqxo=)k6?i?fhu!JHR39o)?X@OYZF|sQ6;YuI%*Obdg1LRu72A+VHI1CSMepH5BS*QN>2 zEF0(gXCbi85)!2*UEg-78JH^WjG5akKH~W1W!&X^U)_)m6$mR0t_ju;qXq01X z=aU;8b$)U}y2n@5;I0FPvkv68-RkAGk;!8I)ZJ`p#w8DUg^g_eLDz$-|HOhdhHg<- zAMeQB9h3e>)HbRH&VEX#N|6VchPS>R1up=xFrAH(%g-s;cu-$W+Cc4h%H37n# zA@D{ioGfC0PZo~tnXX)0A2Ph-yx{5k zX%Mit4eav@K~^x5cQ6{;i-^d8W^J$*<&62OZL1=}fS5 zt?s0TR}&{c?D3~BYaB0_Wl;g}YVOq`TtY}EGldxx1{!71WEl4bbT)-*y}9wlo+8VY zR;TIp*|slU-XXuVsXSjMp0I9khwxZ%;MCJI@;$U_&J^FAflxy|Bq9YA(QY8~p`!$NC6Az7B!C1BM2vmPaAK*pbnev9eL^sk=)G1KFvkHw{7DMi#1Ah2QSH3y9R2jQ$Jwf0yi z6BYi%a}O>)d5A=YKoc}{oh^BS}m@$RKl+2Q_VC%IU%gl|OKor|jc zE$pmB@?yl=N2fB&4*!(ex5lCEru!#?tNClsFQ4Us|*I+6Hc#jF`O;O8$JaLV+%(0@pIObnRV<-6OigI4#;#E8Roo@CBf&pSn{WO29vL zW$GiLt3FCocJCT1e~ibuLOBBQl|XupQ~<84KgyWV@J6~R;P@=GMkvDKT>cj*JBdX` zAfeJtwd=&}v@cdic$Y#(Mk7K9=j@7ddyhWbF#z@mFI|W8*3oO{MsLl6LJ|G1FI^&c&3ST)(L8nq77_Ay>7!Fd#fFCTalYq}*j|y<&dev)uJ)w)L zU$PNei646m8pdvBKyMOa$)e0HtVcK1qR>II6k!1)e^1aV;pUy$}@G&0Yr}HZ0YmY zZ}L`2`FdA&UoZrmB_Jj5mi}!Y=~!$+XLtW88AW<8Bc&{)UFl8Q*OG^gp|Wa=ib5ab zSQF$Hq3{GaM$bMkCU}Wd7A?_;ab9G=W~He{xu%aR{gLw2umy=15GK7RwnZrPXRi zu?sI6#WwjGbu|m!X1U8sj)$FbabJ%s3|`ubs`_v1ea(~FYFzG{ade`7R7$nKTDi8v zkD;71azCE#U$fc7ZOyCU6pYu<*g=@qB-IzrHsaI7%TbExq88ziaOuINiSf@_p*or?|zPcN)e^VSVm@^4p`IMucyP<-KP}J<&sx0*eK}sGemz392m58OO5~hS`9m5Y z|JsXCs)I_yh|Ru_z6HGt+(zS1XoZ1K`s!Q?Avveq&GIlX8#lc+zOgdFSKp&MY+U%d z(r18r)bh2?Q+xUA8?80(-;U!ZypmZiOiu$zfXoVScoAC74?BWkWFDy*l!(qwa#0Wu0!hVE)H*x}z=NkqNZ4`=m5 zoB#&w0AgS#5C;+f3w8lXAO)m>43GtKKprRnMW6(ffeP3S_5f9&2GoHD*b6j)7T5>& zg9AVt90Z5JVW0zafgU&ljsksP01SZT6qo^XU;!+_F<=F(feo+)cEBDu07u{i zoPi5)1#Z9{cmPj;19;#CynzoO0AD}^BtQm!z#jyFKoA6iK?n#1VIUktfJhJpj)M~* z8a#w1AubFzh94t<5yS{%L@=Tl3}y#L41>ieVl*&&F+~`$9rUOXFa^93ml019ddLLG z1oaByLJYuH0;Gowf$t$({eQe@IC@Chr2qj`BXkeyfq0N{kTE2PgphX;gNTRFUdRRc z9l|0B@P8-N2!%m!;r0{q9ux}W4pmFnpq9I=R-yQNsL_=|q0KyI747V>~j%0W| z8mdC@LMezi$Qjnl8Eyrkc$h;x^pidT)`1H_yPj@cv=Idu#!LTmF0YV`;Q#*%fRpHb zaLWe5Hqq=SOPRG3cd!E5fg|t({QQ#yK>aWOzz?)2jJFLSKr=nBy9IlLKsU0d9|_=zetv;)+>+eq>U+jJ#-r_?$O&7G){&BF5cHfe;b#x0}>Rb0M8Gjt+`q>Hp{T}i2 z{)_+5!7cXi?5!+}Xg7I(Z+~Fq=jLhc1`G5f)4E&FI8Q*N^^=6QOlRRn_QC-;sHFi! z@*x8x39bP3K^ill|J{+WyM@yrz=*I&Lje>L1u>`50R{vNIKq;~@U!%efFytcI+!yf@(0%&Gdaqc1A%x1?SWnx7Rkr}BOIYU zG9IB3qZyDeAqv6BWC6>8_|oWMk&MhV`u~Z{e8j}`Cy3?mK`b;7JU|Z%FcbNkAl5$% zV*9@(2nKC4p#j+c9)W{~fCda7X-6wz-X_eyTjKAKXg5w1n%x;_ho81gqz=*;w}`d~ z|06nP(@Y5P{+SMjG0}YaKP>|HkT4fB5g6U+`|k!~1&myb-2d7pFc#0BECCPj{u4vP zeE9y#w*Q*XpX~?_^ZyI$ZGrxo&E)@?&Hfqoe`={eI0%@)n*0&gUNm9lh<_970{K( ziXu!RH^=fcU>&1LFVH8u$n7|H6V2j94w&q)>m` sGpSZU6uP literal 9899 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 diff --git a/mapmini.php b/mapmini.php index 1ae8a6d..f0ab5ce 100644 --- a/mapmini.php +++ b/mapmini.php @@ -30,7 +30,7 @@ $text .= "player_y=".$y."&"; // Then do everyone else. $users = dorow(doquery("SELECT * FROM <> WHERE world='".$worldrow["id"]."' AND UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."' AND id != '".$userrow["id"]."'"), "id"); -$text .= "users=".count($users)."&"; +if ($users) { $text .= "users=".count($users)."&"; } else { $text .= "users=0&"; } $count = 0; if ($users != false) { foreach ($users as $a => $b) { diff --git a/mapmini.swf b/mapmini.swf index 67acb00faa6dd26089d333195c275eec8aaf2ac6..4a47010991eecb850daf33662a588940524af7f1 100644 GIT binary patch literal 1287 zcmV+i1^D_yS5pTz2mkM*zwfNRo`?~%hM)ngnQOL}oN)#dS2Z@ouV9N~A)qrC$gsI?=i2=n-5m3lR zAd^t*+@_2GfCOZ6kVAN+%jIzJ zPREKv1F=6so0}h{28Xw8?AUX&;oR2~L$NQ;+0ez0;%e?Ed&!O$)m$*1+qb&;=81T2 z&QrG<9H*)86dAvLa%(8|nWiW-YC}iYcW&1SeY4|bS5_<?np}l7$jDZ3h|N0o{y!SG%w7&p4oixKf8V5GJ`%E|=hBuw&n*Rg1(C zGzqM~wy_>;vJSjM0U}az!Xxi2@1OJZ+_7sX7CcdN%~P|@sBWB*JAbG1M&H{%k6)Vj zFrv1;o_qXcsi~vx<5kuDLFwVqQW^;+TRH~H2`(HjXl29f~DWj%WCQm7o zrIcwzWpWS#ygwpJQ@Zh%V(Kk5INT@e9evs8$P#<65w$*E*g5QS+&BwIW^D+k>xS9} z*Nma=26R=Ee~W$-T{tu9VgkbevjrjH^c7W4rtZ3S2Fhx?Jsp&EspvWZgaa zbuf2_@%IFEIz?SEJ#}S@I-R1f6{#!1$1#!QYf-+2_tH|_4V(9C4(HF5S#nyWZA%ZQ z>DHM_7M^L(^0lsv9W>d~EoOA_=C8Y7+5PfSy5JdO&*#@IZOaZ0zfo25!B*XQ#oAB5 zscGGs*?swp%75HE(AJY(I^J87{ikK&UxtBquar0aJ!WbV`t~lEc=fS?mD(orC4WJ0 z&*=3F``Ulh&$rv=B*dvw;?kxUr%s7e-Ff5G5a2^zQ5xEV06K=i03K*$d}2TlEs!|J z23c-0n+XJ%diQgD(8EG)7-}OBaI;f=x(9_*AR=CIL9~;%UA!AmLe7}HCU=2wa*Ysf z%d3`>rP1T{6#LvhSjscb6%0O=_Yx@jtP?nbw`fx?zMX3!B8{r>8WO&R#f4bRG&QJ_NVB@6*wfj zUq~s2D1B58l$53^S!Dt#DXNkr%5a@!27(B^WrpoisE(5d)9xXnx<3(Y)pwM~R`Wnb zC)2eRQRP&t8c1Ib!GH8mdwc)V|D}JrY5SKxegD$`cmEPBGb)J9TtcY2fZ!ST5S%$} zU$gG+YxaYZ(bGBQ_;gw_*+4qiULIB89EAjX*Pb$khm1{KGs`Qh%p-`Q)hGXR>94O@E{hN3cX@B1|g3#;I_`2 zXEwQ6PlG!kLXLG|U^WGKUt;08I>v9U;7uG~&jdWYmtb6&=SV=Xu3`m~5MTmL0txt8 x!LyF3<5=Rjnm7(;vMhO~&}hk@BwFm^>zjlkycOg<&LXqXlI$^&{SV#S9+&BzhRpx~ literal 1274 zcmVeR|Ag45TmP%u>m`xc0013$CAcyd&PM5>M zI~^+z4MzV8ZE1R(8XDWaseR9l`m^6o4M)E^YeN@4iK)3??1kMgtGQq-yMIm7jgeS( z)-yNj9Ve+D6ls5ac5^uTg{B}hZbL^mbnMUx{c~f*msc*Ge1%2dR58JglTGG!O*(>O z1|tl>qqw{j>?n$&k|h#2X$KjOfNs{lD?L~CrybBiOsT^Ggh_6a%O!X-*s*WZszu@m z8U@y0(@+OCSv!tUfQXc=@TvD!49t6W{>0Uh#ZOgV^;B;+svBlyFWTw6-v92elNYBx zj;O6~W*;9dGPT!!y1Hs0C_OxWqWsKMv2%D&&3IIop-g{iWO$!-W8Ur$n7mG%s(2?L z)Uu1Ry;FeD-1!R2oZ^nmv~%N(WV33bXR}abHW!+Uq)It_`1NC_;>u)6Wz@{d?hkLZn(VvNqEVK6+QOlG09b+!X^)ql}&c<-6Zn$-5 z?F8znM^`ktH|e+0`9tF}XSw{hPWuK!`-!E;xGK~$vCDrT&((af)73WAG`V&{*3+9? z3-h~;f5xfPN$QH3sVkGz=_GZnNL>j&j)^2*i}DQ|OG$D!Y}v0loI6`)$!eCiE2 zTW=~{a=Il&}2`wn9+qBzwdr+_p3+gyyuL)UtY7cRva9AtFro|ZMt)cb)SD% z-Lfsc=hA7F|G0UuwKub9vac}nZ_AQ@41@1qE@}LC!qhDE?_E6g`V)hzw2kJA{=B~4 z@oVSzwf(GLWVg+Wi&G`VrOYf&ofN0K^Tw$mz=yn|G_)B3v=4&;JkY@S#DpMPAbE}r zvfT7;CJn#ExeJ67YlLuH zQMsHf4IZy&fzR!O39YFM*=ZI)Nj2t2XK4+qn*^rCloghUJj>8M>s{%^_AI zT4~wy>D^N3gf0qbgj1y?N|m9ib|Z5>JvxY{uEtWhEuZp zrIccd(s#*$lF~FKD~}^3MU|6{GF+#^KoFr80Iwr^nb$*X8@N^j)deP%` z@*!(TTo&*?)?1K|F&idhWpnaY!Oe&8q~)9Pz2a^RLLO(pZC$v~Y;v=ndUrsC9P7fs zYzpwc_`-9wjNe+un>fCX33zxf!MHHbk%VAf%?c(VzyulvlJK*FXFXHPvBYsTava{t kvgDb3qa}Bm=mHmC*C-U=P>}aH3(Q7KqQ^w`f9kp#DE^0lod5s; diff --git a/pvp.php b/pvp.php index b286ce2..46ed539 100644 --- a/pvp.php +++ b/pvp.php @@ -340,7 +340,7 @@ function youwin() { function youlose() { global $userrow, $monsterrow, $fightrow; - $pvp = dorow(doquery("SELECT * FROM <> WHERE id='".$userrow["currentpvp"]."' LIMIT 1"")); + $pvp = dorow(doquery("SELECT * FROM <> WHERE id='".$userrow["currentpvp"]."' LIMIT 1")); if ($pvp["player1id"] == $userrow["id"]) { $monsterrow = dorow(doquery("SELECT * FROM <> WHERE id='".$pvp["player2id"]."' LIMIT 1")); diff --git a/story.php b/story.php index 3dcde28..62f1721 100644 --- a/story.php +++ b/story.php @@ -26,6 +26,12 @@ function storyteleport() { // Sends to a new location, or just displays a chunk $userrow["world"] = $story["targetworld"]; $userrow["latitude"] = $story["targetlat"]; $userrow["longitude"] = $story["targetlon"]; + // Get first town from new world. + $newtown = dorow(doquery("SELECT * FROM <> WHERE world='".$userrow["world"]."' ORDER BY id LIMIT 1")); + $towns = explode(",",$userrow["townslist"]); + $towns[] = $newtown["id"]; + $userrow["townslist"] = implode(",",$towns); + } if ($story["targetaction"] != "") { $userrow["currentaction"] = $story["targetaction"]; @@ -78,11 +84,7 @@ function storyitem() { global $userrow, $story; - $premodrow = dorow(doquery("SELECT * FROM <> ORDER BY id")); - foreach($premodrow as $a=>$b) { - $modrow[$b["fieldname"]] = $b; - } - + $modrow = dorow(doquery("SELECT * FROM <> ORDER BY id"), "fieldname"); $thenewitem = explode(",",$story["targetitem"]); $newitem = dorow(doquery("SELECT * FROM <> WHERE id='".$thenewitem[1]."' LIMIT 1")); $newprefix = dorow(doquery("SELECT * FROM <> WHERE id='".$thenewitem[0]."' LIMIT 1")); @@ -151,6 +153,11 @@ function storyitem() { $userrow["world"] = $story["targetworld"]; $userrow["latitude"] = $story["targetlat"]; $userrow["longitude"] = $story["targetlon"]; + // Get first town from new world. + $newtown = dorow(doquery("SELECT * FROM <> WHERE world='".$userrow["world"]."' ORDER BY id LIMIT 1")); + $towns = explode(",",$userrow["townslist"]); + $towns[] = $newtown["id"]; + $userrow["townslist"] = implode(",",$towns); } if ($story["targetaction"] != "") { $userrow["currentaction"] = $story["targetaction"]; @@ -176,6 +183,11 @@ function storyitem() { $userrow["world"] = $story["targetworld"]; $userrow["latitude"] = $story["targetlat"]; $userrow["longitude"] = $story["targetlon"]; + // Get first town from new world. + $newtown = dorow(doquery("SELECT * FROM <> WHERE world='".$userrow["world"]."' ORDER BY id LIMIT 1")); + $towns = explode(",",$userrow["townslist"]); + $towns[] = $newtown["id"]; + $userrow["townslist"] = implode(",",$towns); } if ($story["targetaction"] != "") { $userrow["currentaction"] = $story["targetaction"]; diff --git a/templates/town_bank1.php b/templates/town_bank1.php index 04b2f88..0f55850 100644 --- a/templates/town_bank1.php +++ b/templates/town_bank1.php @@ -1,11 +1,17 @@ +function autopop(theValue) { + document.bank.amount.value = theValue; +} + Storing money in the bank prevents you from losing it if you die in combat. However, your money in the bank cannot be used when purchasing of items or maps.

You are currently storing {{formatbank}} gold in the bank, and you are carrying {{formatgold}} gold in your pocket.

-
If you've changed your mind, you may also return to town. END; diff --git a/templates/users_levelup1.php b/templates/users_levelup1.php index 7517188..dd98cb0 100644 --- a/templates/users_levelup1.php +++ b/templates/users_levelup1.php @@ -1,7 +1,7 @@
+You have Level Points to spend. Different character classes get extra bonuses to certain stats from level points. Your stat bonuses are listed below.

Class: {{classname}}
Damage Per Strength: {{damageperstrength}}
Defense Per Dexterity: {{defenseperdex}}
diff --git a/templates/users_register1.php b/templates/users_register1.php index 82908e8..cec44ce 100644 --- a/templates/users_register1.php +++ b/templates/users_register1.php @@ -3,9 +3,9 @@ $template = << - + - + diff --git a/templates/users_settings.php b/templates/users_settings.php index 744e173..0cfd31d 100644 --- a/templates/users_settings.php +++ b/templates/users_settings.php @@ -7,7 +7,7 @@ $template = <<
Old Password:

New Password:

-Verify New Password:

Passwords must be 30 alphanumeric characters or less.


+Verify New Password:



diff --git a/town.php b/town.php index c1d5774..805f297 100644 --- a/town.php +++ b/town.php @@ -119,12 +119,7 @@ function buy() { // Buy items from merchants. $newbaseitem = dorow(doquery("SELECT * FROM <> WHERE id='$idstring[1]' LIMIT 1")); $newprefix = dorow(doquery("SELECT * FROM <> WHERE id='$idstring[0]' LIMIT 1")); $newsuffix = dorow(doquery("SELECT * FROM <> WHERE id='$idstring[2]' LIMIT 1")); - $premodrow = dorow(doquery("SELECT * FROM <> ORDER BY id")); - - // Format the mod name row. - foreach($premodrow as $a=>$b) { - $modrow[$b["fieldname"]] = $b; - } + $modrow = dorow(doquery("SELECT * FROM <> ORDER BY id"), "fieldname"); $newfullitem = builditem($newprefix, $newbaseitem, $newsuffix, $modrow); @@ -232,7 +227,7 @@ function buy() { // Buy items from merchants. } else { // Grab lots of stuff from the DB. - $preitemsrow = dorow(doquery("SELECT * FROM <> WHERE reqlevel>='".$townrow["itemminlvl"]."' AND reqlevel<='".$townrow["itemmaxlvl"]."' ORDER BY RAND() LIMIT 10")); + $preitemsrow = dorow(doquery("SELECT * FROM <> WHERE reqlevel>='".$townrow["itemminlvl"]."' AND reqlevel<='".$townrow["itemmaxlvl"]."' AND isunique='0' ORDER BY RAND() LIMIT 10")); $preprefixrow = dorow(doquery("SELECT * FROM <> WHERE reqlevel<='".$userrow["level"]."'")); $presuffixrow = dorow(doquery("SELECT * FROM <> WHERE reqlevel<='".$userrow["level"]."'")); $allitemsrow = dorow(doquery("SELECT * FROM <>")); @@ -416,6 +411,8 @@ function bank() { $row["formatbank"] = number_format($userrow["bank"]); $row["formatgold"] = number_format($userrow["gold"]); + $row["maxpocket"] = $userrow["gold"]; + $row["maxbank"] = $userrow["bank"]; display("Deposit/Withdraw Gold at the Bank", parsetemplate(gettemplate("town_bank1"),$row)); diff --git a/users.php b/users.php index 0e1a42a..048bb43 100644 --- a/users.php +++ b/users.php @@ -44,7 +44,6 @@ function register() { // Process password. if (trim($password1) == "") { $errors++; $errorlist .= "Password fields is required.
"; } - if (preg_match("/[^A-z0-9_\-]/", $password1)==1) { $errors++; $errorlist .= "Password must be alphanumeric.
"; } // Thanks to "Carlos Pires" from php.net! if ($password1 != $password2) { $errors++; $errorlist .= "Passwords don't match.
"; } $password = md5($password1); @@ -77,7 +76,7 @@ function register() { // Send confirmation email if necessary. if ($controlrow["verifyemail"] == 1) { if (sendregmail($email1, $verifycode) == true) { - $page = "Your account was created successfully.

You should receive an Account Verification email shortly. You will need the verification code contained in that email before you are allowed to log in. Once you have received the email, please visit the Verification Page to enter your code and start playing."; + $page = "Your account was created successfully.

You should receive an Account Verification email shortly. You will need the verification code contained in that email before you are allowed to log in. Once you have received the email, click the verification link it contains to activate your account, and start playing."; } else { $page = "Your account was created successfully.

However, there was a problem sending your verification email. Please check with the game administrator to help resolve this problem."; } @@ -207,7 +206,6 @@ function settings() { // Process password. if (trim($password1) != "") { if (md5($oldpassword) != $acctrow["password"]) { $errors++; $errorlist .= "Incorrect old password.
"; } - if (preg_match("/[^A-z0-9_\-]/", $password1)==1) { $errors++; $errorlist .= "Password must be alphanumeric.
"; } // Thanks to "Carlos Pires" from php.net! if ($password1 != $password2) { $errors++; $errorlist .= "New passwords don't match.
"; } $password = "password='".md5($password1)."',"; $newpass = true;
Username:
Usernames must be 30 alphanumeric characters or less.


Username:
Usernames can contain letters, numbers, dashes and underscores.


Password:
Verify Password:
Passwords must be 30 alphanumeric characters or less.


Verify Password:


Email Address:
Verify Email Address:


Image Format:
(Older versions of Internet Explorer may not be compatible with transparent PNG images. If you notice problems with item and monster images, please select GIF.)
Email Address:
Image Format:
(Older versions of Internet Explorer may not be compatible with transparent PNG images. If you notice problems with item and monster images, please select GIF.)
+ Enter an amount and then click the Deposit or Withdraw button:
- +
+
Deposit All | Withdraw All