Beta 3 Build 13
2.04.2006 - Build 13 (Unlucky): - - Dying now properly takes you back to the actual lat/lon of the world's first town (rather than 0,0 every time). - Added 160+ new monsters for the later realms. - Buy Maps now correctly only shows available maps from the Realm you're in. - Fixed some weirdness with the Travel To menu in the second Realm. - Added storyline/quests. - Added item drops from monsters. - Monsters now have a chance to swing first, and to block you from running. - Added Quick Heal to panel_bottom. - Users who are already a member of a guild no longer see the "Apply to Join" link on the Guild List page. - Added Honor Points to guilds. * plus 1 point per member. * plus floored square root of total combined member experience. * plus 2 points per member PVP win. * minus 1 point per member PVP loss. * Calculated every 24 hours automatically, and upon every approve/remove/leave. * Displayed on the Guild List page. - Added stats for your current items on the first Buy screen. - You cannot create/join a guild until Level 10 to help prevent bank abuse. - Added PVP logging - wins, losses, and highest lvl character killed. - Hall of Fame now shows top 25 chars. - Hall of Fame now uses stock mysql_fetch_array() instead of custom dorow(). - Items now have a 1 in 5 chance of having prefixes/suffixes (it used to be 50:50). - Added email verification support.
|
@ -1,6 +1,33 @@
|
|||
DRAGON SCOURGE
|
||||
Changelog
|
||||
|
||||
***** BETA THREE *****
|
||||
2.04.2006 - Build 13 (Unlucky):
|
||||
-
|
||||
- Dying now properly takes you back to the actual lat/lon of the world's first town (rather than 0,0 every time).
|
||||
- Added 160+ new monsters for the later realms.
|
||||
- Buy Maps now correctly only shows available maps from the Realm you're in.
|
||||
- Fixed some weirdness with the Travel To menu in the second Realm.
|
||||
- Added storyline/quests.
|
||||
- Added item drops from monsters.
|
||||
- Monsters now have a chance to swing first, and to block you from running.
|
||||
- Added Quick Heal to panel_bottom.
|
||||
- Users who are already a member of a guild no longer see the "Apply to Join" link on the Guild List page.
|
||||
- Added Honor Points to guilds.
|
||||
* plus 1 point per member.
|
||||
* plus floored square root of total combined member experience.
|
||||
* plus 2 points per member PVP win.
|
||||
* minus 1 point per member PVP loss.
|
||||
* Calculated every 24 hours automatically, and upon every approve/remove/leave.
|
||||
* Displayed on the Guild List page.
|
||||
- Added stats for your current items on the first Buy screen.
|
||||
- You cannot create/join a guild until Level 10 to help prevent bank abuse.
|
||||
- Added PVP logging - wins, losses, and highest lvl character killed.
|
||||
- Hall of Fame now shows top 25 chars.
|
||||
- Hall of Fame now uses stock mysql_fetch_array() instead of custom dorow().
|
||||
- Items now have a 1 in 5 chance of having prefixes/suffixes (it used to be 50:50).
|
||||
- Added email verification support.
|
||||
|
||||
***** BETA TWO *****
|
||||
12.10.2005 - Build 12 (Eggs):
|
||||
- Members can now leave the Guild without requiring an officer to demote them to zero.
|
||||
|
|
126
explore.php
|
@ -36,9 +36,15 @@ function move() { // Primary exploring function. Move them with the compass butt
|
|||
}
|
||||
}
|
||||
|
||||
// Breakout for story.
|
||||
if ($userrow["story"] != "0" && $userrow["storylat"] == $userrow["latitude"] && $userrow["storylon"] == $userrow["longitude"]) {
|
||||
$string = ltrim($string," ,");
|
||||
doquery("UPDATE {{table}} SET $string WHERE id='".$userrow["id"]."' LIMIT 1", "users");
|
||||
die(header("Location: story.php"));
|
||||
}
|
||||
|
||||
// Breakout for towns.
|
||||
$query = doquery("SELECT * FROM {{table}} WHERE world='".$userrow["world"]."' AND latitude='".$userrow["latitude"]."' AND longitude='".$userrow["longitude"]."' LIMIT 1", "towns");
|
||||
$row = dorow($query);
|
||||
$row = dorow(doquery("SELECT * FROM {{table}} WHERE world='".$userrow["world"]."' AND latitude='".$userrow["latitude"]."' AND longitude='".$userrow["longitude"]."' LIMIT 1", "towns"));
|
||||
if ($row != false) {
|
||||
$townslist = explode(",",$userrow["townslist"]);
|
||||
if (!in_array($row["id"], $townslist)) {
|
||||
|
@ -64,7 +70,7 @@ function move() { // Primary exploring function. Move them with the compass butt
|
|||
|
||||
// If we've gotten this far, nothing has happened.
|
||||
$userrow["currentaction"] = "Exploring";
|
||||
doquery("UPDATE {{table}} SET currentaction='Exploring' $string WHERE id='".$userrow["id"]."' LIMIT 1", "users");
|
||||
doquery("UPDATE {{table}} SET currentaction='Exploring', dropidstring='0' $string WHERE id='".$userrow["id"]."' LIMIT 1", "users");
|
||||
display("Exploring", gettemplate("explore"));
|
||||
|
||||
}
|
||||
|
@ -93,11 +99,123 @@ function travel($id) { // Move them with the Travel To list.
|
|||
$userrow["longitude"] = $row["longitude"];
|
||||
$userrow["latitude"] = $row["latitude"];
|
||||
$userrow["currenttp"] -= $row["travelpoints"];
|
||||
$query = doquery("UPDATE {{table}} SET latitude='".$userrow["latitude"]."', longitude='".$userrow["longitude"]."', currenttp='".$userrow["currenttp"]."', currentaction='In Town' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
|
||||
$query = doquery("UPDATE {{table}} SET dropidstring='0', latitude='".$userrow["latitude"]."', longitude='".$userrow["longitude"]."', currenttp='".$userrow["currenttp"]."', currentaction='In Town' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
|
||||
display("Exploring", parsetemplate(gettemplate("town_enter"), $row));
|
||||
|
||||
}
|
||||
|
||||
function quickheal() { // Quick heal.
|
||||
|
||||
global $userrow, $spells;
|
||||
|
||||
if (isset($_GET["id"])) { $id = $_GET["id"]; } else { err("Invalid ID entered. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
|
||||
// Errors.
|
||||
if (!is_numeric($id)) { err("Invalid ID entered. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
if ($userrow["currentaction"] != "Exploring") { err("The Quick Heal function is only available while exploring. You cannot use it in town or while fighting. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
$hasspell = false;
|
||||
for($i=1; $i<11; $i++) {
|
||||
if ($userrow["spell".$i."id"] == $id) { $hasspell = true; }
|
||||
}
|
||||
if ($hasspell == false) { err("You don't have that spell yet. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
if ($spells[$id]["fname"] != "heal") { err("That is not a Heal spell. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
if ($userrow["currentmp"] < $spells[$id]["mp"]) { err("You don't have enough MP to cast that spell. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
if ($userrow["currenthp"] == $userrow["maxhp"]) { err("Your HP is already full. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
|
||||
// Now heal them.
|
||||
$userrow["currenthp"] = min($userrow["currenthp"] + $spells[$id]["value"], $userrow["maxhp"]);
|
||||
$userrow["currentmp"] = $userrow["currentmp"] - $spells[$id]["mp"];
|
||||
doquery("UPDATE {{table}} SET currenthp='".$userrow["currenthp"]."', currentmp='".$userrow["currentmp"]."' WHERE id='".$userrow["id"]."' LIMIT 1", "users");
|
||||
display("Exploring", gettemplate("explore_quickheal"));
|
||||
|
||||
}
|
||||
|
||||
function itemdrop() { // Handling for item drops from monsters.
|
||||
|
||||
global $userrow;
|
||||
|
||||
if ($userrow["dropidstring"] == "0") { err("No item has been dropped. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
|
||||
$premodrow = dorow(doquery("SELECT * FROM {{table}} ORDER BY id","itemmodnames"));
|
||||
foreach($premodrow as $a=>$b) {
|
||||
$modrow[$b["fieldname"]] = $b;
|
||||
}
|
||||
|
||||
$thenewitem = explode(",",$userrow["dropidstring"]);
|
||||
$newitem = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$thenewitem[1]."' LIMIT 1", "itembase"));
|
||||
$newprefix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$thenewitem[0]."' LIMIT 1", "itemprefixes"));
|
||||
$newsuffix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$thenewitem[2]."' LIMIT 1", "itemsuffixes"));
|
||||
$newfullitem = builditem($newprefix, $newitem, $newsuffix, $modrow);
|
||||
$row["itemtable"] = parsetemplate(gettemplate("explore_drop_itemrow"), $newfullitem);
|
||||
|
||||
if ($userrow["item".$newitem["slotnumber"]."idstring"] != "0") {
|
||||
$theolditem = explode(",",$userrow["item".$newitem["slotnumber"]."idstring"]);
|
||||
$olditem = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$theolditem[1]."' LIMIT 1", "itembase"));
|
||||
$oldprefix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$theolditem[0]."' LIMIT 1", "itemprefixes"));
|
||||
$oldsuffix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$theolditem[2]."' LIMIT 1", "itemsuffixes"));
|
||||
$oldfullitem = builditem($oldprefix, $olditem, $oldsuffix, $modrow);
|
||||
$row["olditems"] = parsetemplate(gettemplate("town_buy_olditemrow"), $oldfullitem);
|
||||
} else {
|
||||
$oldfullitem = false; $oldprefix = false; $oldsuffix = false;
|
||||
$row["olditems"] = "You don't have any item in this slot.";
|
||||
}
|
||||
|
||||
if (isset($_POST["accept"])) {
|
||||
|
||||
// Requirements check.
|
||||
if ($newfullitem["requirements"] == false) { err("You do not meet one or more of the requirements for this item. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
|
||||
// Now do stuff to userrow (new item only).
|
||||
$userrow["item" . $newfullitem["slotnumber"] . "idstring"] = $newfullitem["fullid"];
|
||||
$userrow["item" . $newfullitem["slotnumber"] . "name"] = $newfullitem["name"];
|
||||
$userrow[$newfullitem["basename"]] += $newfullitem["baseattr"];
|
||||
for($j=1; $j<7; $j++) {
|
||||
if ($newfullitem["mod".$j."name"] != "") {
|
||||
$userrow[$newfullitem["mod".$j."name"]] += $newfullitem["mod".$j."attr"];
|
||||
}
|
||||
}
|
||||
if ($newprefix != false) {
|
||||
$userrow[$newprefix["basename"]] += $newprefix["baseattr"];
|
||||
}
|
||||
if ($newsuffix != false) {
|
||||
$userrow[$newsuffix["basename"]] += $newsuffix["baseattr"];
|
||||
}
|
||||
|
||||
// Do more stuff to userrow (old item only).
|
||||
if ($oldfullitem != false) {
|
||||
|
||||
$userrow[$oldfullitem["basename"]] -= $oldfullitem["baseattr"];
|
||||
for($j=1; $j<7; $j++) {
|
||||
if ($oldfullitem["mod".$j."name"] != "") {
|
||||
$userrow[$oldfullitem["mod".$j."name"]] -= $oldfullitem["mod".$j."attr"];
|
||||
}
|
||||
}
|
||||
if ($oldprefix != false) {
|
||||
$userrow[$oldprefix["basename"]] -= $oldprefix["baseattr"];
|
||||
}
|
||||
if ($oldsuffix != false) {
|
||||
$userrow[$oldsuffix["basename"]] -= $oldsuffix["baseattr"];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
updateuserrow();
|
||||
display("Item Drop", gettemplate("explore_drop_accept"));
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST["ignore"])) {
|
||||
|
||||
die(header("Location: index.php"));
|
||||
|
||||
}
|
||||
|
||||
// And we're done.
|
||||
display("Item Drop", parsetemplate(gettemplate("explore_drop"),$row));
|
||||
|
||||
|
||||
}
|
||||
|
||||
function botkillah() { // Bust a cap in the asses of macro bots. Word.
|
||||
|
||||
global $userrow;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
-- phpMyAdmin SQL Dump
|
||||
-- version 2.6.0-pl3
|
||||
-- version 2.6.4-pl3
|
||||
-- http://www.phpmyadmin.net
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Generation Time: Dec 10, 2005 at 03:15 PM
|
||||
-- Host: mysql.dragonscourge.com
|
||||
-- Generation Time: Feb 08, 2006 at 07:47 AM
|
||||
-- Server version: 4.1.14
|
||||
-- PHP Version: 5.0.5
|
||||
-- PHP Version: 4.4.1
|
||||
--
|
||||
-- Database: `scourge2`
|
||||
-- Database: `scourge`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
@ -16,11 +16,12 @@
|
|||
-- Table structure for table `sx_accounts`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_accounts`;
|
||||
CREATE TABLE `sx_accounts` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`username` varchar(30) NOT NULL default '',
|
||||
`password` varchar(32) NOT NULL default '',
|
||||
`emailaddress` varchar(50) NOT NULL default '',
|
||||
`emailaddress` varchar(200) NOT NULL default '',
|
||||
`verifycode` varchar(8) NOT NULL default '',
|
||||
`regdate` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
`regip` varchar(16) NOT NULL default '',
|
||||
|
@ -28,9 +29,13 @@ CREATE TABLE `sx_accounts` (
|
|||
`language` varchar(30) NOT NULL default '',
|
||||
`characters` tinyint(3) unsigned NOT NULL default '0',
|
||||
`activechar` int(10) unsigned NOT NULL default '0',
|
||||
`imageformat` varchar(4) NOT NULL default '0',
|
||||
`imageformat` varchar(4) NOT NULL default '',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_accounts`
|
||||
--
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
@ -38,6 +43,7 @@ CREATE TABLE `sx_accounts` (
|
|||
-- Table structure for table `sx_babblebox`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_babblebox`;
|
||||
CREATE TABLE `sx_babblebox` (
|
||||
`id` int(11) unsigned NOT NULL auto_increment,
|
||||
`posttime` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
|
@ -46,7 +52,7 @@ CREATE TABLE `sx_babblebox` (
|
|||
`content` varchar(255) NOT NULL default '',
|
||||
`guild` int(10) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_babblebox`
|
||||
|
@ -58,6 +64,7 @@ CREATE TABLE `sx_babblebox` (
|
|||
-- Table structure for table `sx_classes`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_classes`;
|
||||
CREATE TABLE `sx_classes` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(50) NOT NULL default '',
|
||||
|
@ -67,15 +74,15 @@ CREATE TABLE `sx_classes` (
|
|||
`hpperdexterity` float unsigned NOT NULL default '0',
|
||||
`mpperenergy` float unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_classes`
|
||||
--
|
||||
|
||||
INSERT INTO `sx_classes` VALUES (1, 'Barbarian', 0, 0, 2, 1.5, 1);
|
||||
INSERT INTO `sx_classes` VALUES (2, 'Sorceress', 0, 0, 1, 1.5, 2);
|
||||
INSERT INTO `sx_classes` VALUES (3, 'Paladin', 0, 0, 1.5, 2, 1);
|
||||
INSERT INTO `sx_classes` VALUES (1, 'Barbarian', 0, 0, 3, 2, 1);
|
||||
INSERT INTO `sx_classes` VALUES (2, 'Sorceress', 0, 0, 1, 2, 3);
|
||||
INSERT INTO `sx_classes` VALUES (3, 'Paladin', 0, 0, 2, 3, 1);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
@ -83,11 +90,13 @@ INSERT INTO `sx_classes` VALUES (3, 'Paladin', 0, 0, 1.5, 2, 1);
|
|||
-- Table structure for table `sx_control`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_control`;
|
||||
CREATE TABLE `sx_control` (
|
||||
`id` tinyint(3) unsigned NOT NULL auto_increment,
|
||||
`gamename` varchar(50) NOT NULL default '',
|
||||
`gameopen` tinyint(3) unsigned NOT NULL default '0',
|
||||
`gamepath` varchar(200) NOT NULL default '',
|
||||
`gameurl` varchar(200) NOT NULL default '',
|
||||
`forumtype` tinyint(3) unsigned NOT NULL default '0',
|
||||
`forumurl` varchar(200) NOT NULL default '',
|
||||
`avatarpath` varchar(200) NOT NULL default '',
|
||||
|
@ -97,6 +106,7 @@ CREATE TABLE `sx_control` (
|
|||
`showonline` tinyint(3) unsigned NOT NULL default '0',
|
||||
`shownews` tinyint(3) unsigned NOT NULL default '0',
|
||||
`showimages` tinyint(3) unsigned NOT NULL default '0',
|
||||
`adminemail` varchar(200) NOT NULL default '',
|
||||
`verifyemail` tinyint(3) unsigned NOT NULL default '0',
|
||||
`compression` tinyint(3) unsigned NOT NULL default '0',
|
||||
`debug` tinyint(3) unsigned NOT NULL default '0',
|
||||
|
@ -105,14 +115,15 @@ CREATE TABLE `sx_control` (
|
|||
`pvprefresh` int(10) NOT NULL default '0',
|
||||
`pvptimeout` int(10) NOT NULL default '0',
|
||||
`guildstartup` int(10) unsigned NOT NULL default '100000',
|
||||
`guildupdate` int(10) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_control`
|
||||
--
|
||||
|
||||
INSERT INTO `sx_control` VALUES (1, 'Dragon Scourge', 1, 'd:\\server\\docroot\\scourge\\', 1, 'http://se7enet.com/ubbthreads/ubbthreads.php', 'd:\\server\\docroot\\scourge\\images\\users\\', 'http://localhost/scourge/images/users/', 15000, 1, 1, 1, 1, 0, 1, 1, 1, 100, 15, 600, 100000);
|
||||
INSERT INTO `sx_control` VALUES (1, 'Dragon Scourge', 1, '/home/renderse7en/dragonscourge.com/play/', 'http://www.dragonscourge.com/play/', 1, 'http://se7enet.com/forums/ubbthreads.php', '/home/renderse7en/dragonscourge.com/play/images/users/', 'http://www.dragonscourge.com/play/images/users/', 15000, 1, 1, 1, 1, 'jamin@se7enet.com', 1, 1, 0, 1, 255, 30, 120, 100000, 24);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
@ -120,6 +131,7 @@ INSERT INTO `sx_control` VALUES (1, 'Dragon Scourge', 1, 'd:\\server\\docroot\\s
|
|||
-- Table structure for table `sx_difficulties`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_difficulties`;
|
||||
CREATE TABLE `sx_difficulties` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(50) NOT NULL default '',
|
||||
|
@ -128,7 +140,7 @@ CREATE TABLE `sx_difficulties` (
|
|||
`multiplier` float NOT NULL default '0',
|
||||
`deathpenalty` tinyint(3) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_difficulties`
|
||||
|
@ -144,32 +156,35 @@ INSERT INTO `sx_difficulties` VALUES (3, 'Hard', 5, 5, 2, 7);
|
|||
-- Table structure for table `sx_guildapps`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_guildapps`;
|
||||
CREATE TABLE `sx_guildapps` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`guild` int(10) unsigned NOT NULL default '0',
|
||||
`charid` int(10) unsigned NOT NULL default '0',
|
||||
`charname` varchar(30) NOT NULL default '',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_guildapps`
|
||||
--
|
||||
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `sx_guilds`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_guilds`;
|
||||
CREATE TABLE `sx_guilds` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`lastupdate` bigint(20) unsigned NOT NULL default '0',
|
||||
`name` varchar(50) NOT NULL default '',
|
||||
`tagline` varchar(4) NOT NULL default '',
|
||||
`color1` varchar(7) NOT NULL default '',
|
||||
`color2` varchar(7) NOT NULL default '',
|
||||
`members` int(10) unsigned NOT NULL default '0',
|
||||
`honor` int(10) unsigned NOT NULL default '0',
|
||||
`founder` int(10) unsigned NOT NULL default '0',
|
||||
`bank` int(10) unsigned NOT NULL default '0',
|
||||
`joincost` int(10) unsigned NOT NULL default '0',
|
||||
|
@ -183,7 +198,7 @@ CREATE TABLE `sx_guilds` (
|
|||
`statement` text NOT NULL,
|
||||
`news` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_guilds`
|
||||
|
@ -195,6 +210,7 @@ CREATE TABLE `sx_guilds` (
|
|||
-- Table structure for table `sx_itembase`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_itembase`;
|
||||
CREATE TABLE `sx_itembase` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(50) NOT NULL default '',
|
||||
|
@ -222,7 +238,7 @@ CREATE TABLE `sx_itembase` (
|
|||
`mod6name` varchar(50) NOT NULL default '',
|
||||
`mod6attr` smallint(5) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_itembase`
|
||||
|
@ -278,7 +294,7 @@ INSERT INTO `sx_itembase` VALUES (47, 'Flamberge', 1, 0, 1, 30000, 15000, 75, 34
|
|||
INSERT INTO `sx_itembase` VALUES (48, 'Great Axe', 1, 0, 1, 32000, 16000, 77, 360, 0, 0, 'physattack', 345, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (49, 'Great Sword', 1, 0, 1, 34000, 17000, 79, 375, 0, 0, 'physattack', 360, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (50, 'Giant Axe', 1, 0, 1, 36000, 18000, 81, 390, 0, 0, 'physattack', 380, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (51, 'Giant Maul', 1, 0, 1, 38000, 19000, 83, 405, 0, 0, 'physattack', 400, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (173, 'Xiran''s Bite', 1, 1, 0, 0, 0, 83, 150, 100, 50, 'physattack', 600, 'fireattack', 600, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (52, 'Skivvies', 2, 0, 1, 20, 10, 1, 0, 0, 0, 'physdefense', 2, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (53, 'Cloak', 2, 0, 1, 30, 15, 1, 0, 0, 0, 'physdefense', 3, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (54, 'Cloth Armor', 2, 0, 1, 40, 20, 1, 0, 0, 0, 'physdefense', 3, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
|
@ -301,6 +317,9 @@ INSERT INTO `sx_itembase` VALUES (70, 'Plate Mail Shirt', 2, 0, 1, 950, 475, 19,
|
|||
INSERT INTO `sx_itembase` VALUES (71, 'Plate Mail Hauberk', 2, 0, 1, 1200, 600, 21, 23, 28, 0, 'physdefense', 27, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (72, 'Full Plate Mail', 2, 0, 1, 1500, 750, 23, 25, 30, 0, 'physdefense', 29, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (73, 'Light Scale Mail', 2, 0, 1, 1800, 900, 25, 25, 30, 0, 'physdefense', 30, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (172, 'Crestfall''s Chain Mail', 2, 1, 0, 0, 0, 50, 75, 80, 0, 'physdefense', 100, 'magicdefense', 75, 'firedefense', 75, 'lightdefense', 75, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (171, 'Numoren''s Ring', 5, 1, 0, 0, 0, 0, 0, 0, 0, '', 0, 'magicattack', 25, 'fireattack', 25, 'lightattack', 25, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (170, 'Shirreh''s Sword', 1, 1, 0, 0, 0, 25, 0, 0, 0, 'physattack', 75, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (74, 'Heavy Scale Mail', 2, 0, 1, 2400, 1200, 27, 30, 36, 0, 'physdefense', 33, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (75, 'Scale Mail Shirt', 2, 0, 1, 2800, 1400, 29, 30, 36, 0, 'physdefense', 36, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (76, 'Scale Mail Hauberk', 2, 0, 1, 3500, 1750, 31, 35, 42, 0, 'physdefense', 39, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
|
@ -397,6 +416,7 @@ INSERT INTO `sx_itembase` VALUES (166, 'Bronze Horned Helm', 3, 0, 1, 35000, 175
|
|||
INSERT INTO `sx_itembase` VALUES (167, 'Iron Horned Helm', 3, 0, 1, 40000, 20000, 75, 90, 108, 0, 'physdefense', 145, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (168, 'Steel Horned Helm', 3, 0, 1, 45000, 22500, 80, 98, 118, 0, 'physdefense', 160, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (169, 'Titanium Horned Helm', 3, 0, 1, 50000, 25000, 85, 105, 126, 0, 'physdefense', 175, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
INSERT INTO `sx_itembase` VALUES (51, 'Giant Maul', 1, 0, 1, 38000, 19000, 83, 405, 0, 0, 'physattack', 400, '', 0, '', 0, '', 0, '', 0, '', 0, '', 0);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
@ -404,13 +424,14 @@ INSERT INTO `sx_itembase` VALUES (169, 'Titanium Horned Helm', 3, 0, 1, 50000, 2
|
|||
-- Table structure for table `sx_itemmodnames`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_itemmodnames`;
|
||||
CREATE TABLE `sx_itemmodnames` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`fieldname` varchar(50) NOT NULL default '',
|
||||
`prettyname` varchar(50) NOT NULL default '',
|
||||
`percent` tinyint(3) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_itemmodnames`
|
||||
|
@ -443,6 +464,7 @@ INSERT INTO `sx_itemmodnames` VALUES (20, 'mpgain', 'MP Per Kill', 0);
|
|||
-- Table structure for table `sx_itemprefixes`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_itemprefixes`;
|
||||
CREATE TABLE `sx_itemprefixes` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(50) NOT NULL default '',
|
||||
|
@ -458,7 +480,7 @@ CREATE TABLE `sx_itemprefixes` (
|
|||
`basename` varchar(50) NOT NULL default '',
|
||||
`baseattr` smallint(5) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_itemprefixes`
|
||||
|
@ -473,6 +495,7 @@ INSERT INTO `sx_itemprefixes` VALUES (2, 'Magic', 1, 0, 0, 8, 4, 1, 0, 0, 0, 'ma
|
|||
-- Table structure for table `sx_itemsuffixes`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_itemsuffixes`;
|
||||
CREATE TABLE `sx_itemsuffixes` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(50) NOT NULL default '',
|
||||
|
@ -488,7 +511,7 @@ CREATE TABLE `sx_itemsuffixes` (
|
|||
`basename` varchar(50) NOT NULL default '',
|
||||
`baseattr` smallint(5) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_itemsuffixes`
|
||||
|
@ -503,6 +526,7 @@ INSERT INTO `sx_itemsuffixes` VALUES (2, 'of the Bear', 1, 0, 0, 5, 3, 1, 0, 0,
|
|||
-- Table structure for table `sx_messages`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_messages`;
|
||||
CREATE TABLE `sx_messages` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`postdate` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||
|
@ -515,7 +539,7 @@ CREATE TABLE `sx_messages` (
|
|||
`message` text NOT NULL,
|
||||
`gold` int(10) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_messages`
|
||||
|
@ -527,6 +551,7 @@ CREATE TABLE `sx_messages` (
|
|||
-- Table structure for table `sx_monsters`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_monsters`;
|
||||
CREATE TABLE `sx_monsters` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(30) NOT NULL default '',
|
||||
|
@ -548,55 +573,223 @@ CREATE TABLE `sx_monsters` (
|
|||
`spellimmune1` smallint(5) unsigned NOT NULL default '0',
|
||||
`spellimmune2` smallint(5) unsigned NOT NULL default '0',
|
||||
`boss` tinyint(3) unsigned NOT NULL default '0',
|
||||
`newstory` int(10) unsigned NOT NULL default '0',
|
||||
`hpleech` tinyint(3) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_monsters`
|
||||
--
|
||||
|
||||
INSERT INTO `sx_monsters` VALUES (1, 'Small Slime', 1, 1, 3, 2, 3, 15, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (2, 'Shade', 1, 1, 4, 2, 3, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (3, 'Slime', 1, 2, 5, 3, 4, 21, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (4, 'Small Drake', 1, 2, 6, 3, 5, 24, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (5, 'Skeleton', 1, 3, 7, 4, 7, 27, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (6, 'Haunt', 1, 3, 8, 4, 8, 30, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (7, 'Big Slime', 1, 4, 9, 5, 10, 33, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (8, 'Drake', 1, 4, 10, 5, 11, 36, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (9, 'Ghost', 1, 5, 11, 6, 12, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (10, 'Bee', 1, 5, 12, 6, 12, 42, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (11, 'Scorpion', 1, 6, 14, 7, 13, 45, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (12, 'Dawk', 1, 6, 16, 8, 15, 50, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (13, 'Nymph', 1, 7, 18, 9, 16, 54, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (14, 'Ember', 1, 7, 20, 10, 17, 59, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (15, 'Daydream', 1, 8, 22, 11, 18, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (16, 'Wasp', 1, 8, 24, 12, 20, 68, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (17, 'Shadow', 1, 9, 26, 13, 22, 72, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (18, 'Harpy', 1, 9, 28, 14, 24, 77, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (19, 'Air Elemental', 1, 10, 30, 15, 26, 81, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (20, 'Rogue', 1, 10, 32, 16, 29, 86, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (21, 'Lynx', 1, 11, 35, 18, 32, 90, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (22, 'Trickster', 1, 11, 38, 19, 35, 95, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (23, 'Goblin', 1, 12, 41, 21, 35, 99, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (24, 'Charmer', 1, 12, 44, 22, 38, 53, 53, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (25, 'Raven', 1, 13, 47, 24, 41, 108, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (26, 'Bobcat', 1, 13, 50, 25, 44, 113, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (27, 'Lycan', 1, 14, 53, 27, 48, 119, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (28, 'Fiend', 1, 14, 56, 28, 52, 125, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (29, 'Liche', 1, 15, 59, 30, 56, 131, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (30, 'Dawkin', 1, 15, 62, 31, 60, 137, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (31, 'Anarchist', 1, 16, 66, 33, 64, 143, 143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (32, 'Hellcat', 1, 16, 70, 35, 68, 149, 149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (33, 'Fallen Cherub', 1, 17, 74, 37, 72, 155, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (34, 'Grey Wolf', 1, 17, 78, 39, 76, 161, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (35, 'Black Bear', 1, 18, 82, 41, 80, 167, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (36, 'Knight', 1, 18, 86, 43, 84, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (37, 'Giant', 1, 19, 90, 45, 88, 179, 179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (38, 'Young Wyrm', 1, 19, 94, 47, 92, 185, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (39, 'Lesser Devil', 1, 20, 98, 49, 96, 191, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (40, 'Lesser Demon', 1, 20, 102, 51, 100, 197, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (41, 'Razora', 1, 99, 300, 150, 200, 203, 203, 135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (1, 'Small Slime', 1, 1, 3, 2, 3, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (2, 'Shade', 1, 1, 3, 3, 3, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (3, 'Slime', 1, 2, 4, 3, 4, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (4, 'Small Drake', 1, 2, 5, 4, 5, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (5, 'Skeleton', 1, 3, 7, 5, 7, 12, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (6, 'Haunt', 1, 3, 8, 6, 8, 13, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (7, 'Big Slime', 1, 4, 10, 7, 10, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (8, 'Drake', 1, 4, 11, 8, 11, 18, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (9, 'Ghost', 1, 5, 11, 8, 12, 19, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (10, 'Bee', 1, 5, 12, 9, 12, 19, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (11, 'Scorpion', 1, 6, 12, 9, 13, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (12, 'Dawk', 1, 6, 15, 10, 15, 23, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (13, 'Nymph', 1, 7, 16, 11, 16, 25, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (14, 'Ember', 1, 7, 16, 11, 17, 27, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (15, 'Daydream', 1, 8, 18, 12, 18, 29, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (16, 'Wasp', 1, 8, 19, 13, 20, 30, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (17, 'Shadow', 1, 9, 22, 16, 22, 35, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (18, 'Harpy', 1, 9, 22, 16, 24, 38, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (19, 'Air Elemental', 1, 10, 24, 17, 26, 41, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (20, 'Rogue', 1, 10, 28, 19, 29, 44, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (21, 'Lynx', 1, 11, 31, 23, 32, 49, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (22, 'Trickster', 1, 11, 33, 25, 35, 56, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (23, 'Goblin', 1, 12, 34, 24, 35, 56, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (24, 'Charmer', 1, 12, 38, 26, 38, 61, 58, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (25, 'Raven', 1, 13, 39, 25, 41, 62, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (26, 'Bobcat', 1, 13, 44, 29, 44, 70, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (27, 'Lycan', 1, 14, 48, 34, 48, 73, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (28, 'Fiend', 1, 14, 49, 32, 52, 81, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (29, 'Liche', 1, 15, 51, 38, 56, 84, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (30, 'Dawkin', 1, 15, 54, 36, 60, 94, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (31, 'Anarchist', 1, 16, 58, 45, 64, 102, 113, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (32, 'Hellcat', 1, 16, 64, 47, 68, 102, 101, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (33, 'Fallen Cherub', 1, 17, 70, 46, 72, 111, 109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (34, 'Grey Wolf', 1, 17, 74, 54, 76, 118, 115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (35, 'Black Bear', 1, 18, 77, 50, 80, 127, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (36, 'Knight', 1, 18, 78, 58, 84, 132, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (37, 'Giant', 1, 19, 84, 56, 88, 134, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (38, 'Young Wyrm', 1, 19, 92, 58, 92, 145, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (39, 'Lesser Devil', 1, 20, 91, 62, 96, 153, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (40, 'Lesser Demon', 1, 20, 100, 68, 100, 154, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (42, 'Silver Slime', 2, 1, 100, 70, 104, 165, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (43, 'Apparition', 2, 1, 101, 75, 108, 162, 158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (44, 'Phantasm', 2, 2, 101, 74, 112, 174, 164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (45, 'Poltergeist', 2, 2, 114, 82, 116, 174, 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (46, 'Wraith', 2, 3, 113, 80, 120, 185, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (47, 'Big Drake', 2, 3, 112, 86, 124, 186, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (48, 'Illusion', 2, 4, 118, 81, 128, 198, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (49, 'Dawkare', 2, 4, 130, 89, 132, 201, 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (50, 'Illusionist', 2, 5, 130, 85, 136, 204, 221, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (51, 'Skeleton Soldier', 2, 5, 126, 93, 140, 210, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (52, 'Devil', 2, 6, 141, 101, 145, 232, 209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (53, 'Demon', 2, 6, 150, 99, 150, 228, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (54, 'Brown Bear', 2, 7, 155, 104, 155, 244, 237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (55, 'Black Wolf', 2, 7, 151, 111, 160, 248, 248, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (56, 'Water Elemental', 2, 8, 149, 113, 165, 255, 253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (57, 'Harridan', 2, 8, 169, 102, 170, 269, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (58, 'Sylph', 2, 9, 170, 111, 175, 275, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (59, 'Orc', 2, 9, 164, 121, 180, 287, 302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (60, 'Dawkra', 2, 10, 167, 128, 185, 296, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (61, 'Shaman', 2, 10, 175, 128, 190, 295, 295, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (62, 'Cinder', 2, 11, 194, 133, 195, 309, 322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (63, 'Yellowjacket', 2, 11, 190, 130, 200, 318, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (64, 'Rogue Scorpion', 2, 12, 197, 142, 205, 324, 337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (65, 'Magidrake', 2, 12, 202, 133, 210, 324, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (66, 'Dream', 2, 13, 211, 151, 215, 342, 363, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (67, 'Ocelot', 2, 13, 198, 148, 220, 348, 328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (68, 'Shadow Raven', 2, 14, 216, 156, 225, 342, 342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (69, 'Knave', 2, 14, 217, 141, 230, 357, 329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (70, 'Lycanthor', 2, 15, 217, 165, 235, 365, 362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (71, 'Mirage', 2, 15, 236, 168, 240, 384, 369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (72, 'Magician', 2, 16, 236, 152, 245, 378, 401, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (73, 'Mace Knight', 2, 16, 250, 150, 250, 380, 392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (74, 'Lesser Wyvern', 2, 17, 245, 169, 255, 408, 380, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (75, 'Serafiend', 2, 17, 245, 156, 260, 409, 397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (76, 'Zhora''s Follower', 2, 18, 255, 183, 265, 422, 389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (77, 'Zhora''s Cantor', 2, 18, 268, 181, 270, 416, 425, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (78, 'Liche Captain', 2, 19, 267, 176, 275, 421, 455, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (79, 'Leviathan', 2, 19, 278, 188, 280, 448, 462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (80, 'Renegade', 2, 20, 268, 177, 285, 445, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (81, 'Dark Slime', 3, 1, 270, 195, 290, 456, 429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (82, 'Phantom', 3, 1, 287, 180, 295, 470, 513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (83, 'Spirit', 3, 2, 291, 204, 300, 474, 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (84, 'Specter', 3, 2, 292, 209, 307, 476, 505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (85, 'Winged Drake', 3, 3, 299, 189, 314, 484, 523, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (86, 'Shimmer', 3, 3, 312, 196, 321, 498, 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (87, 'Dawkor', 3, 4, 319, 197, 328, 515, 546, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (88, 'Enchanter', 3, 4, 312, 201, 335, 530, 546, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (89, 'Mounted Skeleton', 3, 5, 336, 209, 342, 548, 565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (90, 'Greater Devil', 3, 5, 336, 224, 349, 559, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (91, 'Greater Demon', 3, 6, 346, 235, 356, 542, 526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (92, 'Polar Bear', 3, 6, 331, 236, 363, 581, 541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (93, 'Red Wolf', 3, 7, 352, 259, 370, 589, 631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (94, 'Earth Elemental', 3, 7, 351, 261, 377, 581, 628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (95, 'Ogress', 3, 8, 377, 231, 384, 603, 664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (96, 'Nisse', 3, 8, 360, 262, 391, 607, 559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (97, 'Troll', 3, 9, 359, 251, 398, 613, 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (98, 'Wizard', 3, 9, 377, 252, 405, 628, 679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (99, 'Fire', 3, 10, 396, 252, 412, 631, 581, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (100, 'Hornet', 3, 10, 407, 260, 419, 650, 618, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (101, 'Red Scorpion', 3, 11, 409, 256, 426, 678, 678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (102, 'Hallucination', 3, 11, 403, 269, 433, 676, 676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (103, 'Leopard', 3, 12, 432, 295, 440, 687, 687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (104, 'Frost Raven', 3, 12, 421, 273, 447, 698, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (105, 'Scoundrel', 3, 13, 441, 296, 454, 691, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (106, 'Fallen Muse', 3, 13, 448, 314, 461, 706, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (107, 'Snow Leopard', 3, 14, 431, 286, 468, 745, 760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (108, 'Lycanthra', 3, 14, 452, 323, 475, 713, 671, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (109, 'Axe Knight', 3, 15, 454, 328, 482, 767, 775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (110, 'Cheetah', 3, 15, 460, 313, 489, 783, 729, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (111, 'Wyvern', 3, 16, 477, 333, 496, 774, 744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (112, 'Cherufiend', 3, 16, 478, 322, 503, 755, 725, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (113, 'Zhora''s Advocate', 3, 17, 485, 342, 510, 781, 750, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (114, 'Zhora''s Elder', 3, 17, 497, 362, 517, 786, 779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (115, 'Liche Prince', 3, 18, 524, 367, 524, 813, 757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (116, 'Behemoth', 3, 18, 505, 319, 531, 829, 788, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (117, 'Insurgent', 3, 19, 517, 350, 538, 818, 761, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (118, 'Greater Wyvern', 3, 20, 491, 371, 545, 834, 901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (119, 'Devil Lord', 4, 1, 500, 339, 555, 866, 841, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (120, 'Demon Lord', 4, 1, 565, 390, 565, 888, 906, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (121, 'Grizzly Bear', 4, 2, 547, 368, 575, 880, 863, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (122, 'Arctic Wolf', 4, 2, 580, 369, 585, 884, 805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (123, 'Fire Elemental', 4, 3, 548, 381, 595, 947, 919, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (124, 'Gorgon', 4, 3, 575, 382, 605, 920, 865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (125, 'Enchantress', 4, 4, 560, 369, 615, 984, 1014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (126, 'Ogre', 4, 4, 588, 432, 625, 938, 845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (127, 'Sorcerer', 4, 5, 610, 445, 635, 991, 932, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (128, 'Blaze', 4, 5, 607, 400, 645, 968, 1056, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (129, 'Demon Hornet', 4, 6, 629, 413, 655, 1009, 1090, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (130, 'Silver Scorpion', 4, 6, 626, 433, 665, 1045, 1045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (131, 'Torment', 4, 7, 648, 459, 675, 1020, 1020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (132, 'Fire Raven', 4, 7, 651, 439, 685, 1090, 1178, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (133, 'Hellion', 4, 8, 640, 480, 695, 1085, 1064, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (134, 'Fallen Angel', 4, 8, 642, 459, 705, 1058, 1037, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (135, 'Werewolf', 4, 9, 673, 444, 715, 1130, 1130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (136, 'Armored Knight', 4, 9, 667, 464, 725, 1153, 1130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (137, 'Archfiend', 4, 10, 684, 486, 735, 1140, 1220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (138, 'Zhora''s Fanatic', 4, 10, 686, 515, 745, 1192, 1145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (139, 'Zhora''s Priest', 4, 11, 718, 529, 755, 1156, 1099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (140, 'Liche King', 4, 11, 765, 490, 765, 1224, 1114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (141, 'Colossus', 4, 12, 706, 473, 775, 1194, 1159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (142, 'Nihilist', 4, 12, 785, 534, 785, 1202, 1178, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (143, 'Armored Skeleton', 4, 13, 795, 501, 795, 1209, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (144, 'Puma', 4, 13, 749, 556, 805, 1248, 1211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (145, 'Devil King', 4, 14, 758, 563, 815, 1304, 1239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (146, 'Demon King', 4, 14, 751, 545, 825, 1246, 1271, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (147, 'Kodiak Bear', 4, 15, 810, 568, 835, 1320, 1360, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (148, 'Haunted Wolf', 4, 15, 829, 507, 845, 1352, 1285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (149, 'Light Elemental', 4, 16, 830, 590, 855, 1368, 1396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (150, 'Medusa', 4, 16, 831, 597, 865, 1384, 1495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (151, 'Siren', 4, 17, 797, 525, 875, 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (152, 'Uruk', 4, 17, 868, 611, 885, 1381, 1492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (153, 'Warlock', 4, 18, 851, 627, 895, 1343, 1249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (154, 'Jaguar', 4, 18, 869, 589, 905, 1394, 1436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (155, 'Necromancer', 4, 19, 842, 577, 915, 1373, 1470, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (156, 'Demagogue', 4, 19, 833, 555, 925, 1434, 1320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (157, 'Titan', 4, 20, 917, 571, 935, 1403, 1263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (158, 'Lion', 4, 20, 870, 577, 945, 1512, 1603, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (159, 'Pyre', 5, 1, 941, 596, 960, 1460, 1606, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (160, 'Figment', 5, 1, 975, 644, 975, 1560, 1701, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (161, 'Demon Scorpion', 5, 1, 981, 674, 990, 1505, 1611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (162, 'Nightmare', 5, 2, 945, 674, 1005, 1558, 1403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (163, 'Silver Raven', 5, 2, 929, 684, 1020, 1632, 1600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (164, 'Bandit', 5, 2, 932, 621, 1035, 1553, 1398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (165, 'Fallen Archangel', 5, 3, 966, 672, 1050, 1607, 1511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (166, 'Tiger', 5, 3, 1044, 693, 1065, 1704, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (167, 'Fallen Seraph', 5, 3, 1070, 670, 1080, 1696, 1595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (168, 'Werebear', 5, 4, 1095, 657, 1095, 1698, 1648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (169, 'Demon Knight', 5, 4, 1110, 700, 1110, 1754, 1912, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (170, 'Magic Wyvern', 5, 4, 1125, 720, 1125, 1789, 1754, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (171, 'Fiendlord', 5, 5, 1026, 764, 1140, 1767, 1927, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (172, 'Zhora''s Zealot', 5, 5, 1144, 740, 1155, 1802, 1983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (173, 'Zhora''s Bishop', 5, 6, 1135, 726, 1170, 1755, 1633, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (174, 'Liche Lord', 5, 6, 1150, 783, 1185, 1825, 1698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (175, 'Fire Wyvern', 5, 7, 1176, 756, 1200, 1800, 1872, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (176, 'Zhora''s Obsessive', 5, 7, 1094, 851, 1215, 1920, 1882, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (177, 'Zhora''s Archbishop', 5, 8, 1194, 861, 1230, 1907, 1736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (178, 'Grey Daemon', 5, 8, 1196, 810, 1245, 1968, 2047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (179, 'Hellhound', 5, 9, 1248, 832, 1260, 1941, 1883, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (180, 'Great Wyrm', 5, 9, 1250, 765, 1275, 2002, 2183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (181, 'Green Dragon', 5, 10, 1252, 787, 1290, 1987, 1809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (182, 'Red Daemon', 5, 10, 1214, 823, 1305, 2023, 2125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (183, 'Hellbeast', 5, 11, 1281, 911, 1320, 2086, 2024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (184, 'Frost Wyrm', 5, 11, 1269, 801, 1335, 2136, 2286, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (185, 'Blue Dragon', 5, 12, 1229, 851, 1350, 2106, 2296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (186, 'Dark Daemon', 5, 12, 1229, 888, 1365, 2144, 1973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (187, 'Hellbear', 5, 13, 1353, 966, 1380, 2195, 2020, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (188, 'Red Wyrm', 5, 13, 1270, 921, 1395, 2107, 2150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (189, 'Red Dragon', 5, 14, 1368, 875, 1410, 2242, 2310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (190, 'Black Daemon', 5, 14, 1326, 984, 1425, 2138, 1946, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (191, 'Hellwolf', 5, 15, 1397, 908, 1440, 2204, 2359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (192, 'Blue Wyrm', 5, 15, 1383, 1004, 1455, 2212, 2257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (193, 'Dark Dragon', 5, 16, 1323, 941, 1470, 2323, 2207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (194, 'Fallen Dragon', 5, 16, 1382, 981, 1485, 2317, 2503, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (195, 'Shadow Dragon', 5, 17, 1440, 1005, 1500, 2355, 2214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (196, 'Black Dragon', 5, 17, 1409, 970, 1515, 2349, 2443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (197, 'Ancient Dragon', 5, 18, 1500, 980, 1530, 2418, 2660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (198, 'False Dragon', 5, 18, 1545, 1020, 1545, 2333, 2124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (199, 'Daemonlord', 5, 19, 1420, 1092, 1560, 2372, 2230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (200, 'Dragonlord', 5, 20, 1497, 1024, 1575, 2410, 2555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (201, 'Razora', 1, 99, 150, 60, 120, 192, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (202, 'Numoren', 2, 99, 300, 300, 300, 453, 499, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (203, 'Crestfall', 3, 99, 800, 1000, 500, 755, 808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 9, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (204, 'Lucifuge''s Throneguard', 4, 99, 200, 300, 700, 1064, 958, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (205, 'Lucifuge', 4, 99, 1500, 1500, 850, 1318, 1358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 13, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (206, 'Xiran''s Minion', 5, 99, 500, 400, 1200, 1908, 1928, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 16, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (207, 'Xiran''s Cardinal', 5, 99, 750, 750, 1300, 1976, 1917, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (208, 'Xiran', 5, 99, 1000, 1000, 1400, 2128, 2150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 18, 0);
|
||||
INSERT INTO `sx_monsters` VALUES (209, 'Xiran', 5, 99, 5000, 5000, 1600, 2528, 2478, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 19, 0);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
@ -604,6 +797,7 @@ INSERT INTO `sx_monsters` VALUES (41, 'Razora', 1, 99, 300, 150, 200, 203, 203,
|
|||
-- Table structure for table `sx_pvp`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_pvp`;
|
||||
CREATE TABLE `sx_pvp` (
|
||||
`id` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`player1id` int(10) unsigned NOT NULL default '0',
|
||||
|
@ -612,22 +806,22 @@ CREATE TABLE `sx_pvp` (
|
|||
`player2name` varchar(30) NOT NULL default '',
|
||||
`playerturn` int(10) unsigned NOT NULL default '0',
|
||||
`accepted` tinyint(3) unsigned NOT NULL default '0',
|
||||
`turntime` timestamp NOT NULL,
|
||||
`turntime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
|
||||
`fightrow` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_pvp`
|
||||
--
|
||||
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `sx_spells`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_spells`;
|
||||
CREATE TABLE `sx_spells` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(30) NOT NULL default '',
|
||||
|
@ -638,7 +832,7 @@ CREATE TABLE `sx_spells` (
|
|||
`classonly` int(10) unsigned NOT NULL default '0',
|
||||
`classexclude` int(10) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_spells`
|
||||
|
@ -707,33 +901,105 @@ INSERT INTO `sx_spells` VALUES (60, 'Stone Skin 5', 'stone', 50, 50, 50, 1, 0);
|
|||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `sx_story`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_story`;
|
||||
CREATE TABLE `sx_story` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`title` text NOT NULL,
|
||||
`story` text NOT NULL,
|
||||
`world` int(10) unsigned NOT NULL default '0',
|
||||
`latitude` smallint(6) NOT NULL default '0',
|
||||
`longitude` smallint(6) NOT NULL default '0',
|
||||
`nextstory` int(10) unsigned NOT NULL default '0',
|
||||
`targetmonster` int(10) unsigned NOT NULL default '0',
|
||||
`targetitem` varchar(10) NOT NULL default '',
|
||||
`targetworld` int(10) unsigned NOT NULL default '0',
|
||||
`targetlat` smallint(6) NOT NULL default '0',
|
||||
`targetlon` smallint(6) NOT NULL default '0',
|
||||
`targetaction` varchar(30) NOT NULL default '',
|
||||
`rewardname` varchar(30) NOT NULL default '',
|
||||
`rewardattr` int(11) NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_story`
|
||||
--
|
||||
|
||||
INSERT INTO `sx_story` VALUES (1, 'Prologue', 'The light has forsaken this land, and not for the first time. Centuries ago, it was overrun by darkness and then saved by a hero whose lifelong quest was to eradicate evil. The hero succeeded, and in the end, Lucifuge, King of the Dragons, was destroyed... at least for the time being. In the many long years since that time, Lucifuge has been gathering his forces and his power, and has finally regained enough of his former strength to return.\r\n\r\nSo the land is once again in need of a saviour. It will be no easy task, dear adventurer. In the last age, Lucifuge and his minions controlled but a small country. This time, he has sent his forces to sow chaos and darkness throughout the world. Only a brave adventurer will be able to conquer him and restore peace and order to the world.\r\n\r\nContinue on, dear adventurer. You shall be tested dearly, but the rewards will be great.', 1, 0, 0, 2, 0, '', 1, 0, 0, 'In Town', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (2, 'Queen of Demons', 'You come to a great stone door, with the inscription ''RAZORA'' carved in the Language of the Fallen. Next to the door lie the skeletons of several dead warriors who failed to enter. One of the skeletons is holding a scrap of paper, which reads:\r\n\r\n"We finally made it. The legends are true, Razora does exist. As I write this, we are standing outside the demon queen''s throneroom. Something is following us, though, and has been for several days. We''re making camp tonight, and we''ll head inside in the morning. After the months of travelling, we definitely need our rest if we''re really preparing to face Razora. We''ve survived this far, surely whatever is following us will hold off one more night..."\r\n\r\nYou are now faced with a choice, dear adventurer. Are you ready to face the demon queen Razora, or do you still need more preparation?', 1, 100, -100, 0, 201, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (3, 'Fallen Queen', 'Razora, the Demon Queen, lies dead at your feet. Even now, her body and all the black blood spilled from it are melting away into the nether. Soon, all that''s left is her heart, which you take with you as proof that you destroyed her.\r\n\r\nOne section of the wall crumbles and falls, and leads to a doorway, guarded by a large statue of an angel. In the angel''s hand is a sword with flames engraved in the blade.\r\n\r\nIt wouldn''t be too much trouble to take the sword, and it does seem like your right to take it, after all the trouble you went through to kill Razora. You can now take the sword and continue through the doorway, or just continue on without it.', 1, 100, -100, 4, 0, '0,170,0', 2, 0, 0, 'Exploring', 'maxhp', 50);
|
||||
INSERT INTO `sx_story` VALUES (4, 'Shirreh''s Door', 'As you step through the doorway, you have a momentary feeling of the ground being swept out beneath you. Then you are surrounded by light, and you enter a new town. The townsfolk, surprised at your sudden entry through a door that has never been opened, quickly inform you of the legend surrounding the door.\r\n\r\nIt was created by the archangel Shirreh, as a path between this land and the last you were in. Shirreh made the door so that whoever did eventually destroy Razora would be able to travel here and attempt to defeat Numoren, the demon who was given dominion over this land by Lucifuge.\r\n\r\nIt''s time to continue on, dear adventurer. You did well in the last land, but a new evil awaits you here. One small dirt path leads out of town and into the dense jungle.', 2, 0, 0, 5, 0, '', 0, 0, 0, 'In Town', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (5, 'Numoren''s Portal', 'Deep in the heart of the jungles that cover this land, you come to a clearing. In the center of the clearing are two large upright stones, with one more stone on top. You walk around it, and looking through the doorway from one side only shows the other side of the clearing. But looking through it from the other side shows a dark hallway.\r\n\r\nWould you like to step through the magic doorway into the hall, or would you like some more time to get ready for this battle?', 2, 100, 100, 0, 202, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (6, 'Numoren''s Ring', 'Numoren has fallen at your hand, and this land is safe. Shirreh''s second door, identical to the first except for the rune carvings at the top of the frame, appears in a wall behind you.\r\n\r\nAs Numoren''s body disappears in a puff of smoke, you hear a small jingling sound and notice a gold ring falling to the ground. Numoren''s ring glows and you can almost hear it calling your name.\r\n\r\nWould you like to pick up the ring, dear adventurer?', 2, 100, 100, 7, 0, '0,171,0', 3, 0, 0, '', 'goldbonus', 5);
|
||||
INSERT INTO `sx_story` VALUES (7, 'Forsaken Land', 'You step through Shirreh''s second door, and again feel the ground fall away for a few seconds. You come out of the darkness into a land even stranger than the last two. The sky is filled with dark storm clouds, but the clouds are a discomforting red color. The ground and trees are all bare. You are standing in what apparently used to be a town, but it''s completely deserted, and looks as if it has been for a long time.\r\n\r\nTwo signs hang from a tree nearby the doorway you came through. The first, which appears to be the only thing in town with a somewhat fresh coat of paint, points east and reads "Fort Kayne - 2 Miles."\r\n\r\nThe second is less friendly: "BEWARE CRESTFALL"', 3, 0, 0, 8, 0, '', 0, 0, 0, 'Exploring', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (8, 'Lord of Plague', 'So much for killing Lucifuge any time soon. Now you have to deal with Crestfall. The castle you''ve seen from a distance looked ominous before, but now that you''re up close, it''s even worse. Skeletons of fallen warriors are hanging on crosses in the courtyard - these are the first signs of actual human "life" you''ve seen since you came through Shirreh''s door. All the bare and stunted trees are covered with flocks of ravens.\r\n\r\n"LORD OF PLAGUE" is carved in the stone above the gateway into the courtyard. With so much already accomplished, and Lucifuge still somewhere ahead of you, you have no other choice now, dear adventurer.', 3, -100, -100, 0, 203, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (9, 'Bellerophon', 'Crestfall, the mortally-wounded Lord of Plague, lies writhing at your feet, and you are rather enjoying watching his throes of agony. As of yet, he has not exactly died, but instead he seems to... age... somehow. His skin is drying up and wrinkling, his hair is falling out, and before long all that''s left is a crusty old skeleton surrounded by a brilliantly gleaming chainmail coat.\r\n\r\nShirreh''s third door appears, but this time you can read the runes carved on it. And you don''t really like what the runes say.\r\n\r\nABANDON HOPE, ALL YE WHO ENTER HERE', 3, -100, -100, 10, 0, '0,172,0', 4, 0, 0, '', 'strength', 50);
|
||||
INSERT INTO `sx_story` VALUES (10, 'Inferno', 'The last land was weird. This land is... spooky. You find yourself in the middle of a desert. The dark red clouds still cover the sky, but now the dry and cracked ground is also red. The exact same color as blood. Everywhere, you can see little vents of steam drifting up from the ground. Whoever - or whatever - created this place must not have much need for decoration. Other than the steam vents, the landscape is completely flat and featureless for miles around.\r\n\r\nOne nice thing about the land being so featureless is that you''ll at least be able to see your enemies long before they ever actually get close enough to do any damage.\r\n\r\nWith nothing but a vague feeling that you should probably head south, you decide not to stick around and wait for something to try eating you for breakfast.', 4, 0, 0, 11, 0, '', 0, 0, 0, 'Exploring', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (11, 'Welcome To My Parlor', 'At long last, you''ve made it. Lucifuge''s mountain fortress is all that stands between you and world peace. The huge black gates swing open, awating your entry, before you even arrive. No sunlight penetrates into the courtyard, even though you can''t see anything really blocking it out. The only light inside seems to be coming directly from the great stone gargoyle statue in the center.\r\n\r\nBut as you get closer, the stone gargoyle stands up and turns around.\r\n\r\n"Greetings, human. Lucifuge has been expecting you. He doesn''t really like to be bothered, though, so I''m here to take care of you."', 4, -100, 100, 0, 204, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (12, 'Throneguard''s Demise', 'The throneguard screams, and falls. From deep in the bowels of the fortress, you hear a roar so loud that even the ground is shaking beneath you.\r\n\r\nYou have nowhere left to go but inside the fortress, and you''ve come too far to give up now.', 4, -100, 100, 0, 205, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (13, 'The Light Restored', 'Lucifuge, the overlord of all the evil that has destroyed this land, lies vanquished at your feet. You take his heart, still warm and dripping with his black blood, and put it in your pack, next to the one you already took from Razora.\r\n\r\nYou can''t help but be mildly disturbed by the last words uttered by Lucifuge before he died, though...\r\n\r\n"But... Xiran said it wouldn''t be like this."', 4, -100, 100, 14, 0, '', 5, 0, 0, '', 'dexterity', 50);
|
||||
INSERT INTO `sx_story` VALUES (14, 'The Blacklands', 'Just as you''re catching your breath, the fortress starts to shake and the floor crumbles beneath you. You fall for what seems like an eternity, until finally landing in yet another place. The ground and sky are both black. This land, like the last, is also dotted with little vents in the ground - here, though, the vents spout fire instead of steam. And it''s a good thing, too, because in this place there is no sun. The fire vents are your only source of light. Thankfully the place where you fell is only a short distance from what looks like a town.\r\n\r\nAs you enter the place, which the sign out front identifies as simply "Outpost 5," the guards tell you just what you''ve been waiting for: your quest isn''t over.\r\n\r\n"Lucifuge was Xiran''s highest ranking general. But he was still only second in command. Xiran himself is locked in his ice prison, Dreadguard, to the north. Shirreh banished him there ages ago, and throughout the centuries these outposts have served as guard stations to make sure he doesn''t escape. But now through the work of Lucifuge, Xiran could regain enough of his strength to escape the prison and destroy the world. You must hurry, traveller. Your only chance at killing Xiran rests on getting there while Xiran is still chained down."', 5, 0, 0, 15, 0, '', 0, 0, 0, 'In Town', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (15, 'Xiran''s Minion', 'The ice prison Dreadguard looms tall and white before you. In an odd little twist that seems to defy all logic, more of the fire vents seem to be coming straight out of the ice.\r\n\r\nAs you come close to the prison, a large beast strides out towards you. The beast has the body of a man, but the head of a snake, and wings like a bat.\r\n\r\nJust before drawing its sword and preparing to fight, the beast calls out a warning: "Take heed, hero, you now come to the palace of Xiran, and it shall not fall quietly. Better souls than yours now inhabit this place, and Xiran takes pleasure in their eternal torment."', 5, 100, 100, 0, 206, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (16, 'Xiran''s Cardinal', 'As the minion falls, another figure steps out of the darkness. This one looks like a man, a plain ordinary man. The Cardinal, highest among all the mortals who worship Xiran, wears only a plain black cloak, and carries nothing more than a walking stick.\r\n\r\nSurely it can''t be this easy...', 5, 100, 100, 0, 207, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (17, 'The Demon God', 'With both the minion and the Cardinal slain, you enter the prison. The entire building seems to be one huge room, and in the very center of it is the demon god, Xiran. He looks something like a man, except he is about twenty feet tall and covered with black scales. Two horns are coming out of his head, and his eyes are bright red. His arms are stretched out, held by massive chains to the walls. But despite the obvious pain this is causing him, he seems to be smiling at you.\r\n\r\n"Welcome, mortal. I''m glad you''ve come, for it is you who shall set me free."', 5, 100, 100, 0, 208, '', 0, 0, 0, 'Fighting', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (18, 'Bonds Broken', 'After a great battle, Xiran finally sags down as far as the chains will stretch. The red light from his eyes dims and goes out. You listen closely, and the beating from his huge heart slows and finally stops altogether.\r\n\r\nSuddenly the temperature drops, and the huge chains holding Xiran''s lifeless body get frosty with ice crystals. Then you see the chains glowing beneath the layer of ice, and with a thunderous crack, the shackles break and fall away from Xiran''s hands.\r\n\r\nImmediately his eyes flash, and almost before you can blink, Xiran has lept into the air and a great sword has appeared in his hands.\r\n\r\n"See, mortal! I told you I would be freed. You should have left well enough alone in matters that did not concern you. You''ve come so far, it will be such a shame to have to kill you now."', 5, 100, 100, 0, 209, '', 0, 0, 0, 'Fighting', 'energy', 50);
|
||||
INSERT INTO `sx_story` VALUES (19, 'Epilogue', 'With one final triumphant swing, you pierce Xiran''s heart and immediately your weapon disintegrates in front of your eyes. Xiran falls to the ground, and as the walls of the ice prison are falling down around you, Xiran''s body bursts into flames and is utterly consumed in seconds, leaving only a pile of ash on the floor.\r\n\r\nHis sword, though, remains unscathed by the fire, so as you are looking for the quickest way out of the crumbling building, you grab it and sling it over your shoulder. It''s only fair, after all, since the demon god''s heart took your own weapon away from you.\r\n\r\nYou make your way back to the last outpost, and the entire population has come out to see you. After many long ages, the dreadful task of awating Xiran''s escape has been lifted from their shoulders.\r\n\r\nNow that you''ve finally saved the world, you can''t wait to have a drink...\r\n\r\nThe End', 5, 100, 100, 20, 0, '0,173,0', 0, 0, 0, '', '', 0);
|
||||
INSERT INTO `sx_story` VALUES (20, 'Fin', 'You have now beat the game and have been added to the Scroll of Heroes. You may continue playing if you want, or of course you could also take a well-deserved rest. Thank you for playing, and we hope you''ve enjoyed it.', 5, 100, 100, 9999, 0, '', 0, 0, 0, '', '', 0);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Table structure for table `sx_towns`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_towns`;
|
||||
CREATE TABLE `sx_towns` (
|
||||
`id` tinyint(3) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(30) NOT NULL default '',
|
||||
`world` tinyint(3) unsigned NOT NULL default '0',
|
||||
`latitude` smallint(6) NOT NULL default '0',
|
||||
`longitude` smallint(6) NOT NULL default '0',
|
||||
`innprice` tinyint(4) NOT NULL default '0',
|
||||
`mapprice` smallint(6) NOT NULL default '0',
|
||||
`innprice` int(10) unsigned NOT NULL default '0',
|
||||
`mapprice` int(10) unsigned NOT NULL default '0',
|
||||
`travelpoints` smallint(5) unsigned NOT NULL default '0',
|
||||
`itemminlvl` int(10) unsigned NOT NULL default '0',
|
||||
`itemmaxlvl` int(10) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_towns`
|
||||
--
|
||||
|
||||
INSERT INTO `sx_towns` VALUES (1, 'Middleton', 1, 0, 0, 5, 0, 0, 1, 5);
|
||||
INSERT INTO `sx_towns` VALUES (2, 'Norfolk', 1, 25, 25, 10, 25, 5, 3, 9);
|
||||
INSERT INTO `sx_towns` VALUES (3, 'Calentia', 1, 50, -50, 25, 50, 15, 6, 14);
|
||||
INSERT INTO `sx_towns` VALUES (4, 'Resmark', 1, -75, 75, 40, 100, 30, 11, 19);
|
||||
INSERT INTO `sx_towns` VALUES (5, 'Erdricksburg', 1, 99, 99, 60, 500, 50, 16, 25);
|
||||
INSERT INTO `sx_towns` VALUES (2, 'Norfolk', 1, 25, 25, 10, 25, 5, 3, 8);
|
||||
INSERT INTO `sx_towns` VALUES (3, 'Calentia', 1, 50, -50, 25, 50, 15, 6, 11);
|
||||
INSERT INTO `sx_towns` VALUES (4, 'Resmark', 1, -75, 75, 40, 100, 30, 9, 14);
|
||||
INSERT INTO `sx_towns` VALUES (5, 'Erdricksburg', 1, 99, 99, 60, 500, 50, 12, 17);
|
||||
INSERT INTO `sx_towns` VALUES (6, 'Lorensgaard', 2, 0, 0, 75, 0, 40, 15, 20);
|
||||
INSERT INTO `sx_towns` VALUES (7, 'Nailes', 2, 17, -23, 100, 150, 55, 18, 23);
|
||||
INSERT INTO `sx_towns` VALUES (8, 'Nostrum', 2, 46, 33, 150, 300, 70, 21, 27);
|
||||
INSERT INTO `sx_towns` VALUES (9, 'Vauderellin', 2, -70, 65, 200, 500, 85, 24, 30);
|
||||
INSERT INTO `sx_towns` VALUES (10, 'Underwood', 2, -95, -95, 250, 750, 90, 27, 33);
|
||||
INSERT INTO `sx_towns` VALUES (11, 'Fort Kayne', 3, 0, 2, 200, 0, 75, 30, 36);
|
||||
INSERT INTO `sx_towns` VALUES (12, 'Fort Minor', 3, -20, -25, 250, 800, 100, 33, 40);
|
||||
INSERT INTO `sx_towns` VALUES (13, 'Fort Oligard', 3, 48, 37, 300, 1000, 125, 37, 44);
|
||||
INSERT INTO `sx_towns` VALUES (14, 'Fort Wilmor', 3, 78, 68, 350, 1200, 150, 41, 48);
|
||||
INSERT INTO `sx_towns` VALUES (15, 'Fort Plastid', 3, 98, 98, 400, 1400, 175, 45, 52);
|
||||
INSERT INTO `sx_towns` VALUES (16, 'Luxor', 4, -5, 0, 200, 0, 200, 49, 56);
|
||||
INSERT INTO `sx_towns` VALUES (17, 'Trake', 4, -20, 5, 300, 1800, 225, 53, 60);
|
||||
INSERT INTO `sx_towns` VALUES (18, 'Cormorent', 4, -40, 15, 400, 2000, 250, 57, 64);
|
||||
INSERT INTO `sx_towns` VALUES (19, 'Illuvian', 4, -60, 35, 500, 2500, 275, 61, 68);
|
||||
INSERT INTO `sx_towns` VALUES (20, 'Pogue', 4, -80, 60, 600, 3000, 300, 65, 72);
|
||||
INSERT INTO `sx_towns` VALUES (21, 'Outpost 5', 5, 0, 0, 350, 0, 325, 69, 76);
|
||||
INSERT INTO `sx_towns` VALUES (22, 'Outpost 7', 5, 20, 20, 500, 3500, 350, 73, 80);
|
||||
INSERT INTO `sx_towns` VALUES (23, 'Outpost 15', 5, 35, -55, 650, 4000, 375, 77, 82);
|
||||
INSERT INTO `sx_towns` VALUES (24, 'Outpost 22', 5, -74, -69, 800, 4500, 400, 80, 84);
|
||||
INSERT INTO `sx_towns` VALUES (25, 'Outpost 42', 5, 89, 94, 950, 5000, 425, 83, 85);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
@ -741,6 +1007,7 @@ INSERT INTO `sx_towns` VALUES (5, 'Erdricksburg', 1, 99, 99, 60, 500, 50, 16, 25
|
|||
-- Table structure for table `sx_users`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_users`;
|
||||
CREATE TABLE `sx_users` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`account` int(10) unsigned NOT NULL default '0',
|
||||
|
@ -758,6 +1025,8 @@ CREATE TABLE `sx_users` (
|
|||
`latitude` smallint(6) NOT NULL default '0',
|
||||
`longitude` smallint(6) NOT NULL default '0',
|
||||
`story` tinyint(3) unsigned NOT NULL default '1',
|
||||
`storylat` smallint(6) NOT NULL default '0',
|
||||
`storylon` smallint(6) NOT NULL default '0',
|
||||
`world` tinyint(3) unsigned NOT NULL default '1',
|
||||
`guild` int(10) unsigned NOT NULL default '0',
|
||||
`guildrank` int(10) unsigned NOT NULL default '0',
|
||||
|
@ -791,12 +1060,16 @@ CREATE TABLE `sx_users` (
|
|||
`lightdefense` smallint(5) unsigned NOT NULL default '0',
|
||||
`spellslist` varchar(200) NOT NULL default '0',
|
||||
`townslist` varchar(200) NOT NULL default '0,1',
|
||||
`pvpwins` int(10) unsigned NOT NULL default '0',
|
||||
`pvplosses` int(10) unsigned NOT NULL default '0',
|
||||
`pvphighest` int(10) unsigned NOT NULL default '0',
|
||||
`currentpvp` bigint(20) unsigned NOT NULL default '0',
|
||||
`currentaction` varchar(30) NOT NULL default 'In Town',
|
||||
`currentfight` tinyint(3) unsigned NOT NULL default '0',
|
||||
`currentmonsterid` smallint(5) unsigned NOT NULL default '0',
|
||||
`currentmonsterhp` smallint(5) unsigned NOT NULL default '0',
|
||||
`currentmonstersleep` tinyint(3) unsigned NOT NULL default '0',
|
||||
`dropidstring` varchar(10) NOT NULL default '0',
|
||||
`item1idstring` varchar(10) NOT NULL default '0',
|
||||
`item2idstring` varchar(10) NOT NULL default '0',
|
||||
`item3idstring` varchar(10) NOT NULL default '0',
|
||||
|
@ -835,7 +1108,7 @@ CREATE TABLE `sx_users` (
|
|||
`mpgain` tinyint(3) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`),
|
||||
FULLTEXT KEY `item1name` (`item1name`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_users`
|
||||
|
@ -847,13 +1120,14 @@ CREATE TABLE `sx_users` (
|
|||
-- Table structure for table `sx_worlds`
|
||||
--
|
||||
|
||||
DROP TABLE IF EXISTS `sx_worlds`;
|
||||
CREATE TABLE `sx_worlds` (
|
||||
`id` smallint(5) unsigned NOT NULL auto_increment,
|
||||
`name` varchar(30) NOT NULL default '',
|
||||
`size` smallint(5) unsigned NOT NULL default '0',
|
||||
`bossid` mediumint(8) unsigned NOT NULL default '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
--
|
||||
-- Dumping data for table `sx_worlds`
|
||||
|
@ -863,4 +1137,4 @@ INSERT INTO `sx_worlds` VALUES (1, 'Raenslide', 100, 1);
|
|||
INSERT INTO `sx_worlds` VALUES (2, 'Lorenfall', 100, 0);
|
||||
INSERT INTO `sx_worlds` VALUES (3, 'Borderlands', 100, 0);
|
||||
INSERT INTO `sx_worlds` VALUES (4, 'Inferno', 100, 0);
|
||||
INSERT INTO `sx_worlds` VALUES (5, 'Unreality', 100, 0);
|
||||
INSERT INTO `sx_worlds` VALUES (5, 'Unreality', 100, 0);
|
||||
|
|
67
fight.php
|
@ -97,6 +97,26 @@ function dofight() {
|
|||
display("Fighting",parsetemplate(gettemplate("fight_turn"),$pagerow));
|
||||
|
||||
} elseif (isset($_POST["run"])) {
|
||||
|
||||
if (rand(4,10) + ceil(sqrt($userrow["physdefense"])) < (rand(1,5) + ceil(sqrt($monsterrow["physattack"])))) {
|
||||
|
||||
monsterturn();
|
||||
$fightrow["message"] = "You tried to run away, but the monster blocked you!<br />";
|
||||
if ($userrow["currenthp"] <= 0) { youlose(); }
|
||||
updateuserrow();
|
||||
|
||||
$pagerow = array(
|
||||
"message"=>$fightrow["message"],
|
||||
"monstername"=>$monsterrow["name"],
|
||||
"monsterhp"=>$userrow["currentmonsterhp"],
|
||||
"monsterphysdamage"=>$fightrow["monsterphysdamage"],
|
||||
"monstermagicdamage"=>$fightrow["monstermagicdamage"],
|
||||
"monsterfiredamage"=>$fightrow["monsterfiredamage"],
|
||||
"monsterlightdamage"=>$fightrow["monsterlightdamage"]);
|
||||
$pagerow["spells"] = dospellslist();
|
||||
display("Fighting",parsetemplate(gettemplate("fight_monsteronly"),$pagerow));
|
||||
|
||||
}
|
||||
|
||||
$userrow["currentaction"] = "Exploring";
|
||||
$userrow["currentmonsterid"] = 0;
|
||||
|
@ -105,6 +125,26 @@ function dofight() {
|
|||
die(header("Location: index.php"));
|
||||
|
||||
} else {
|
||||
|
||||
if (rand(1,10) + ceil(sqrt($userrow["physdefense"])) < (rand(1,7) + ceil(sqrt($monsterrow["physattack"])))) {
|
||||
|
||||
monsterturn();
|
||||
$fightrow["message"] = "The monster attacked before you were ready!<br />";
|
||||
if ($userrow["currenthp"] <= 0) { youlose(); }
|
||||
updateuserrow();
|
||||
|
||||
$pagerow = array(
|
||||
"message"=>$fightrow["message"],
|
||||
"monstername"=>$monsterrow["name"],
|
||||
"monsterhp"=>$userrow["currentmonsterhp"],
|
||||
"monsterphysdamage"=>$fightrow["monsterphysdamage"],
|
||||
"monstermagicdamage"=>$fightrow["monstermagicdamage"],
|
||||
"monsterfiredamage"=>$fightrow["monsterfiredamage"],
|
||||
"monsterlightdamage"=>$fightrow["monsterlightdamage"]);
|
||||
$pagerow["spells"] = dospellslist();
|
||||
display("Fighting",parsetemplate(gettemplate("fight_monsteronly"),$pagerow));
|
||||
|
||||
}
|
||||
|
||||
$pagerow = array(
|
||||
"monstername"=>$monsterrow["name"],
|
||||
|
@ -224,8 +264,8 @@ function youwin() {
|
|||
$userrow["currentfight"] = 0;
|
||||
$userrow["currentmonsterid"] = 0;
|
||||
$userrow["currentmonsterhp"] = 0;
|
||||
if ($monsterrow["boss"] == 1) {
|
||||
$userrow["story"]++;
|
||||
if ($monsterrow["newstory"] != "0") {
|
||||
$userrow["story"] = $monsterrow["newstory"];
|
||||
}
|
||||
|
||||
// Now we add Per Kill mods.
|
||||
|
@ -244,6 +284,23 @@ function youwin() {
|
|||
if (($userrow["level"] % 5 == 0)) { $userrow["levelspell"]++; $template = "fight_levelupspell"; }
|
||||
}
|
||||
|
||||
// Roll for monster drop.
|
||||
if (rand(0,7) == 1) {
|
||||
|
||||
// Grab lots of stuff from the DB.
|
||||
$preitemsrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel>='".($userrow["level"] - 5)."' AND reqlevel<='".$userrow["level"]."' AND willdrop='1' ORDER BY RAND() LIMIT 1", "itembase"));
|
||||
$preprefixrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel<='".$userrow["level"]."' ORDER BY RAND() LIMIT 1", "itemprefixes"));
|
||||
$presuffixrow = dorow(doquery("SELECT * FROM {{table}} 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"; }
|
||||
$userrow["dropidstring"] = $idstring;
|
||||
$fightrow["message"] .= "<a href=\"index.php?do=itemdrop\" class=\"red\"><b>The monster has dropped an item! Click here for more information.</b></a><br />";
|
||||
|
||||
}
|
||||
|
||||
// Update for new stats.
|
||||
updateuserrow();
|
||||
|
||||
|
@ -294,8 +351,10 @@ function youlose() {
|
|||
"deathpenalty"=>$userrow["deathpenalty"]);
|
||||
|
||||
// Then put them in town & reset fight stuff.
|
||||
$userrow["latitude"] = 0;
|
||||
$userrow["longitude"] = 0;
|
||||
$townquery = doquery("SELECT * FROM {{table}} WHERE world='".$userrow["world"]."' ORDER BY id ASC LIMIT 1", "towns");
|
||||
$townrow = mysql_fetch_array($townquery);
|
||||
$userrow["latitude"] = $townrow["latitude"];
|
||||
$userrow["longitude"] = $townrow["longitude"];
|
||||
$userrow["currentaction"] = "In Town";
|
||||
$userrow["currentfight"] = 0;
|
||||
$userrow["currentmonsterid"] = 0;
|
||||
|
|
39
guilds.php
|
@ -12,12 +12,13 @@ function guildmain() {
|
|||
if (!isset($_GET["list"])) { guildhome(); }
|
||||
}
|
||||
|
||||
$guilds = doquery("SELECT * FROM {{table}} WHERE isactive='1' ORDER BY name", "guilds");
|
||||
$row["guildlist"] = "<table style=\"width: 95%;\" cellspacing=\"0\" cellpadding=\"0\">";
|
||||
$guilds = doquery("SELECT * FROM {{table}} WHERE isactive='1' ORDER BY honor", "guilds");
|
||||
$row["guildlist"] = "<table style=\"width: 95%;\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><b>Guild Name & Tag</b></td><td style=\"text-align: center;\"><b>Honor</b></td><td style=\"text-align: right;\"><b>Functions</b></td></tr>";
|
||||
$bgcolor = "background-color: #ffffff;";
|
||||
if (mysql_num_rows($guilds) > 0) {
|
||||
while ($guildrow = mysql_fetch_array($guilds)) {
|
||||
$row["guildlist"] .= "<tr><td style=\"$bgcolor padding: 3px;\">[<span style=\"color: ".$guildrow["color1"].";\"><b>".$guildrow["tagline"]."</b></span>] <span style=\"color: ".$guildrow["color2"].";\"><b>".$guildrow["name"]."</b></span></td><td style=\"$bgcolor padding: 3px; text-align: right;\"><a href=\"index.php?do=guildapp&id=".$guildrow["id"]."\">Apply to Join</a> | <a href=\"index.php?do=guildmembers&id=".$guildrow["id"]."\">Member List</a></td></tr>\n";
|
||||
if ($userrow["guild"] == 0) { $applylink = "<a href=\"index.php?do=guildapp&id=".$guildrow["id"]."\">Apply to Join</a> | "; } else { $applylink = ""; }
|
||||
$row["guildlist"] .= "<tr><td style=\"$bgcolor padding: 3px;\">[<span style=\"color: ".$guildrow["color1"].";\"><b>".$guildrow["tagline"]."</b></span>] <span style=\"color: ".$guildrow["color2"].";\"><b>".$guildrow["name"]."</b></span></td><td style=\"$bgcolor padding: 3px; text-align: center;\">".$guildrow["honor"]."</td><td style=\"$bgcolor padding: 3px; text-align: right;\">$applylink<a href=\"index.php?do=guildmembers&id=".$guildrow["id"]."\">Member List</a></td></tr>\n";
|
||||
if ($bgcolor == "background-color: #ffffff;") { $bgcolor = "background-color: #dddddd;"; } else { $bgcolor = "background-color: #ffffff;"; }
|
||||
}
|
||||
} else {
|
||||
|
@ -31,11 +32,13 @@ function guildmain() {
|
|||
|
||||
function guildhome() {
|
||||
|
||||
global $userrow;
|
||||
global $userrow, $controlrow;
|
||||
|
||||
if ($userrow["guild"] == 0) { err("You are not yet a member of any Guild. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
$guild = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$userrow["guild"]."' LIMIT 1", "guilds"));
|
||||
|
||||
if ($guild["lastupdate"] <= (mktime() - ($controlrow["guildupdate"] * 3600))) { guildupdate(); }
|
||||
|
||||
switch($userrow["guildrank"]) {
|
||||
case 1: $template = "guild_homelow"; break;
|
||||
case 2: $template = "guild_homelow"; break;
|
||||
|
@ -76,7 +79,7 @@ function guildhome() {
|
|||
$pagerow["news"] = nl2br($guild["news"]);
|
||||
} else { $pagerow["news"] = "No news yet."; }
|
||||
|
||||
$title = "[".$guild["tagline"]."] ".$guild["name"];
|
||||
$title = "[".$guild["tagline"]."] ".$guild["name"] . " (Honor: ".$guild["honor"].")";
|
||||
display($title, parsetemplate(gettemplate($template),$pagerow));
|
||||
|
||||
}
|
||||
|
@ -90,6 +93,7 @@ function guildcreate() {
|
|||
if ($userrow["guild"] != 0) { err("You are already a member of another Guild. You must renounce your current membership before starting your own Guild. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
$appquery = doquery("SELECT * FROM {{table}} WHERE charid='".$userrow["id"]."' LIMIT 1", "guildapps");
|
||||
if (mysql_num_rows($appquery) != 0) { err("You have already applied to join another Guild. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
if ($userrow["level"] < 10) { err("You cannot join a guild until you are at least Level 10. Please continue playing until you make Level 10, then try again."); }
|
||||
|
||||
if (isset($_POST["submit"])) {
|
||||
|
||||
|
@ -223,6 +227,7 @@ function guildapp() {
|
|||
if ($userrow["guild"] != 0) { err("You are already a member of another Guild. You must renounce your current membership before joining this Guild. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
$appquery = doquery("SELECT * FROM {{table}} WHERE charid='".$userrow["id"]."' LIMIT 1", "guildapps");
|
||||
if (mysql_num_rows($appquery) != 0) { err("You have already applied to join another Guild. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
if ($userrow["level"] < 10) { err("You cannot join a guild until you are at least Level 10. Please continue playing until you make Level 10, then try again."); }
|
||||
|
||||
if (isset($_POST["yes"])) {
|
||||
|
||||
|
@ -371,6 +376,7 @@ function guildapprove() {
|
|||
$updateguild = doquery("UPDATE {{table}} SET members=members+1 WHERE id='".$userrow["guild"]."' LIMIT 1", "guilds");
|
||||
$deleteapp = doquery("DELETE FROM {{table}} WHERE guild='".$userrow["guild"]."' AND charid='$charid' LIMIT 1", "guildapps");
|
||||
$send = doquery("INSERT INTO {{table}} SET id='', postdate=NOW(), senderid='0', sendername='".$guild["name"]."', recipientid='$charid', recipientname='".$member["charname"]."', status='0', title='Guild Approval', message='The Guild has approved you for membership, and you are now a member of ".$guild["name"].". Congratulations!<br /><br /><b>Do not reply to this message!</b>', gold='0'", "messages");
|
||||
guildupdate();
|
||||
display("Approve Members", "Thank you for approving this user.<br /><br />You may now return to <a href=\"index.php\">Town</a> or to your <a href=\"index.php?do=guildhome\">Guild Hall</a>.");
|
||||
} else {
|
||||
$deleteapp = doquery("DELETE FROM {{table}} WHERE guild='".$userrow["guild"]."' AND charid='$charid' LIMIT 1", "guildapps");
|
||||
|
@ -393,6 +399,7 @@ function guildremove() {
|
|||
$update = doquery("UPDATE {{table}} SET members=members-1 WHERE id='".$guild["id"]."' LIMIT 1", "guilds");
|
||||
$updatemem = doquery("UPDATE {{table}} SET guild='0', guildrank='0', guildtag='', tagcolor='', namecolor='' WHERE id='$charid' LIMIT 1", "users");
|
||||
$send = doquery("INSERT INTO {{table}} SET id='', postdate=NOW(), senderid='0', sendername='".$guild["name"]."', recipientid='$charid', recipientname='".$member["charname"]."', status='0', title='Guild Removal', message='The Guild has removed you from their membership. Sorry.<br /><br /><b>Do not reply to this message!</b>', gold='0'", "messages");
|
||||
guildupdate();
|
||||
display("Remove Members", "Thank you for removing this user.<br /><br />You may now return to <a href=\"index.php\">Town</a> or to your <a href=\"index.php?do=guildhome\">Guild Hall</a>.");
|
||||
|
||||
} elseif (isset($_POST["no"])) {
|
||||
|
@ -469,6 +476,7 @@ function guildleave() {
|
|||
|
||||
$updatemem = doquery("UPDATE {{table}} SET guild='0', guildrank='0', guildtag='', tagcolor='', namecolor='' WHERE id='".$userrow["id"]."'", "users");
|
||||
$update = doquery("UPDATE {{table}} SET members=members-1 WHERE id='".$userrow["guild"]."' LIMIT 1", "guilds");
|
||||
guildupdate();
|
||||
display("Leave Guild", "Thank you for leaving your Guild.<br /><br />You may now return to <a href=\"index.php\">Town</a>.");
|
||||
|
||||
} elseif (isset($_POST["no"])) {
|
||||
|
@ -481,4 +489,25 @@ function guildleave() {
|
|||
|
||||
}
|
||||
|
||||
function guildupdate() {
|
||||
|
||||
global $userrow;
|
||||
|
||||
$guild = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$userrow["guild"]."' LIMIT 1", "guilds"));
|
||||
$userquery = doquery("SELECT * FROM {{table}} WHERE guild='".$userrow["guild"]."'", "users");
|
||||
|
||||
$honor = $guild["members"];
|
||||
$totalexp = 0;
|
||||
while ($users = mysql_fetch_array($userquery)) {
|
||||
$totalexp += $users["experience"];
|
||||
$honor += ($users["pvpwins"] * 2);
|
||||
$honor -= $users["pvplosses"];
|
||||
}
|
||||
$honor += floor(sqrt($totalexp));
|
||||
|
||||
$lastupdate = mktime();
|
||||
$update = doquery("UPDATE {{table}} SET honor='$honor',lastupdate='$lastupdate' WHERE id='".$userrow["guild"]."' LIMIT 1", "guilds");
|
||||
|
||||
}
|
||||
|
||||
?>
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
BIN
images/items/5.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
images/sigtag.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1019 B After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.3 KiB |
|
@ -10,6 +10,8 @@ if(isset($_GET["do"])) {
|
|||
// Exploring.
|
||||
case "explore": include("explore.php"); move(); break;
|
||||
case "travel": include("explore.php"); travel($do[1]); break;
|
||||
case "quickheal": include("explore.php"); quickheal(); break;
|
||||
case "itemdrop": include("explore.php"); itemdrop(); break;
|
||||
case "humanity": include("explore.php"); botkillah(); break;
|
||||
// Towns.
|
||||
case "inn": include("town.php"); inn(); break;
|
||||
|
@ -43,6 +45,7 @@ if(isset($_GET["do"])) {
|
|||
case "guilddisband": include("guilds.php"); guilddisband(); break;
|
||||
case "guildedit": include("guilds.php"); guildedit(); break;
|
||||
case "guildleave": include("guilds.php"); guildleave(); break;
|
||||
case "guildupdate": include("guilds.php"); guildupdate(); break;
|
||||
// Misc.
|
||||
case "babblebox": include("misc.php"); babblebox2(); break;
|
||||
case "showmap": include("misc.php"); showmap(); break;
|
||||
|
@ -58,6 +61,9 @@ if(isset($_GET["do"])) {
|
|||
function donothing() {
|
||||
|
||||
global $userrow;
|
||||
if ($userrow["story"] != "0" && $userrow["storylat"] == $userrow["latitude"] && $userrow["storylon"] == $userrow["longitude"]) {
|
||||
die(header("Location: story.php"));
|
||||
}
|
||||
if ($userrow["currentpvp"] != 0) {
|
||||
die(header("Location: pvp.php"));
|
||||
}
|
||||
|
|
141
lib.php
|
@ -4,10 +4,10 @@
|
|||
$starttime = getmicrotime();
|
||||
$numqueries = 0;
|
||||
$link = opendb();
|
||||
$version = "Beta 2";
|
||||
$bnumber = "12";
|
||||
$bname = "Eggs";
|
||||
$bdate = "12.10.2005";
|
||||
$version = "Beta 3";
|
||||
$bnumber = "13";
|
||||
$bname = "Unlucky";
|
||||
$bdate = "2.04.2006";
|
||||
|
||||
// Handling for servers with magic_quotes turned on.
|
||||
// Example from php.net.
|
||||
|
@ -136,6 +136,41 @@ function makesafe($d) {
|
|||
|
||||
}
|
||||
|
||||
function mymail($to, $title, $body, $from = '') { // thanks to arto dot PLEASE dot DO dot NOT dot SPAM at artoaaltonen dot fi.
|
||||
|
||||
global $controlrow;
|
||||
extract($controlrow);
|
||||
|
||||
|
||||
$from = trim($from);
|
||||
|
||||
if (!$from) {
|
||||
$from = '<$adminemail>';
|
||||
}
|
||||
|
||||
$rp = $adminemail;
|
||||
$org = '$gameurl';
|
||||
$mailer = 'PHP';
|
||||
|
||||
$head = '';
|
||||
$head .= "Content-Type: text/plain \r\n";
|
||||
$head .= "Date: ". date('r'). " \r\n";
|
||||
$head .= "Return-Path: $rp \r\n";
|
||||
$head .= "From: $from \r\n";
|
||||
$head .= "Sender: $from \r\n";
|
||||
$head .= "Reply-To: $from \r\n";
|
||||
$head .= "Organization: $org \r\n";
|
||||
$head .= "X-Sender: $from \r\n";
|
||||
$head .= "X-Priority: 3 \r\n";
|
||||
$head .= "X-Mailer: $mailer \r\n";
|
||||
|
||||
$body = str_replace("\r\n", "\n", $body);
|
||||
$body = str_replace("\n", "\r\n", $body);
|
||||
|
||||
return mail($to, $title, $body, $head);
|
||||
|
||||
}
|
||||
|
||||
function err($error, $system = false, $panels = true) { // Basic little error handler.
|
||||
|
||||
display("Error", $error, $panels);
|
||||
|
@ -171,6 +206,101 @@ function updateuserrow() {
|
|||
|
||||
}
|
||||
|
||||
function builditem($prefix, $baseitem, $suffix, $modrow) { // Copy of town.php's builditem().
|
||||
|
||||
global $controlrow, $acctrow, $userrow;
|
||||
|
||||
// First setup the basic item attributes.
|
||||
$baseitem["baseid"] = $baseitem["id"];
|
||||
$baseitem["fullid"] = $baseitem["id"];
|
||||
$baseitem["attrtype"] = $modrow[$baseitem["basename"]]["prettyname"];
|
||||
$baseitem["basevalue"] = $baseitem["baseattr"];
|
||||
$baseitem["image"] = "";
|
||||
|
||||
// Next give pretty names to any item modifiers.
|
||||
$baseitem["itemmods"] = "";
|
||||
for($j=1; $j<7; $j++) {
|
||||
if ($baseitem["mod".$j."name"] != "") {
|
||||
$baseitem["itemmods"] .= $modrow[$baseitem["mod".$j."name"]]["prettyname"] . ": +" . $baseitem["mod".$j."attr"];
|
||||
if ($modrow[$baseitem["mod".$j."name"]]["percent"] == 1) { $baseitem["itemmods"] .= "%"; }
|
||||
$baseitem["itemmods"] .= "<br />\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Add prefix mods if applicable.
|
||||
if ($prefix != false) {
|
||||
$baseitem["fullid"] = $prefix["id"] . "," . $baseitem["fullid"];
|
||||
$baseitem["name"] = $prefix["name"] . " " . $baseitem["name"];
|
||||
$baseitem["buycost"] += $prefix["buycost"];
|
||||
$baseitem["sellcost"] += $prefix["sellcost"];
|
||||
$baseitem["reqlevel"] = max($baseitem["reqlevel"], $prefix["reqlevel"]);
|
||||
$baseitem["reqstrength"] += $prefix["reqstrength"];
|
||||
$baseitem["reqenergy"] += $prefix["reqenergy"];
|
||||
$baseitem["reqdexterity"] += $prefix["reqdexterity"];
|
||||
$baseitem["itemmods"] .= $modrow[$prefix["basename"]]["prettyname"] . ": +" . $prefix["baseattr"];
|
||||
if ($modrow[$prefix["basename"]]["percent"] == 1) { $baseitem["itemmods"] .= "%"; }
|
||||
$baseitem["itemmods"] .= "<br />\n";
|
||||
} else { $baseitem["fullid"] = "0," . $baseitem["fullid"]; }
|
||||
|
||||
// Add suffix mods if applicable.
|
||||
if ($suffix != false) {
|
||||
$baseitem["fullid"] .= "," . $suffix["id"];
|
||||
$baseitem["name"] .= " " . $suffix["name"];
|
||||
$baseitem["buycost"] += $suffix["buycost"];
|
||||
$baseitem["sellcost"] += $suffix["sellcost"];
|
||||
$baseitem["reqlevel"] = max($baseitem["reqlevel"], $suffix["reqlevel"]);
|
||||
$baseitem["reqstrength"] += $suffix["reqstrength"];
|
||||
$baseitem["reqenergy"] += $suffix["reqenergy"];
|
||||
$baseitem["reqdexterity"] += $suffix["reqdexterity"];
|
||||
$baseitem["itemmods"] .= $modrow[$suffix["basename"]]["prettyname"] . ": +" . $suffix["baseattr"];
|
||||
if ($modrow[$suffix["basename"]]["percent"] == 1) { $baseitem["itemmods"] .= "%"; }
|
||||
$baseitem["itemmods"] .= "<br />\n";
|
||||
} else { $baseitem["fullid"] .= ",0"; }
|
||||
|
||||
// Check requirements.
|
||||
$baseitem["requirements"] = true;
|
||||
if ($baseitem["reqlevel"] == 1) { $baseitem["level"] = ""; } else {
|
||||
$baseitem["level"] = "Required Level: " . $baseitem["reqlevel"];
|
||||
if ($baseitem["reqlevel"] > $userrow["level"]) {
|
||||
$baseitem["level"] = "<span class=\"red\">".$baseitem["level"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["level"] .= "<br />\n";
|
||||
}
|
||||
if ($baseitem["reqstrength"] == 0) { $baseitem["strength"] = ""; } else {
|
||||
$baseitem["strength"] = "Required Strength: " . $baseitem["reqstrength"];
|
||||
if ($baseitem["reqstrength"] > $userrow["strength"]) {
|
||||
$baseitem["strength"] = "<span class=\"red\">".$baseitem["strength"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["strength"] .= "<br />\n";
|
||||
}
|
||||
if ($baseitem["reqdexterity"] == 0) { $baseitem["dexterity"] = ""; } else {
|
||||
$baseitem["dexterity"] = "Required Dexterity: " . $baseitem["reqdexterity"];
|
||||
if ($baseitem["reqdexterity"] > $userrow["dexterity"]) {
|
||||
$baseitem["dexterity"] = "<span class=\"red\">".$baseitem["dexterity"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["dexterity"] .= "<br />\n";
|
||||
}
|
||||
if ($baseitem["reqenergy"] == 0) { $baseitem["energy"] = ""; } else {
|
||||
$baseitem["energy"] = "Required Energy: " . $baseitem["reqenergy"];
|
||||
if ($baseitem["reqenergy"] > $userrow["energy"]) {
|
||||
$baseitem["energy"] = "<span class=\"red\">".$baseitem["energy"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["energy"] .= "<br />\n";
|
||||
}
|
||||
|
||||
if ($controlrow["showimages"] == 1) {
|
||||
$baseitem["image"] = "<img src=\"images/items/".$baseitem["slotnumber"].$acctrow["imageformat"]."\" alt=\"".$baseitem["name"]."\" title=\"".$baseitem["name"]."\" />";
|
||||
}
|
||||
|
||||
// And send it back.
|
||||
return $baseitem;
|
||||
|
||||
}
|
||||
|
||||
function display($title, $content, $panels = true) { // Finalize page and output to browser.
|
||||
|
||||
include('config.php');
|
||||
|
@ -190,11 +320,12 @@ function display($title, $content, $panels = true) { // Finalize page and output
|
|||
$row = array();
|
||||
$row["gamename"] = $controlrow["gamename"];
|
||||
$row["pagetitle"] = $title;
|
||||
$row["background"] = "background";
|
||||
$row["background"] = "background" . $userrow["world"];
|
||||
$row["version"] = $version;
|
||||
$row["numqueries"] = $numqueries;
|
||||
$row["totaltime"] = round(getmicrotime()-$starttime,4);
|
||||
$row["content"] = $content;
|
||||
if ($controlrow["forumurl"] != "") { $row["forumslink"] = "<a href=\"".$controlrow["forumurl"]."\">Support Forums</a>"; } else { $row["forumslink"] = ""; }
|
||||
|
||||
// Setup for side panels.
|
||||
include("panels.php");
|
||||
|
|
|
@ -18,12 +18,13 @@ function login() {
|
|||
// Setup.
|
||||
include("config.php");
|
||||
extract($_POST);
|
||||
$query = doquery("SELECT id,password FROM {{table}} WHERE username='$username' LIMIT 1", "accounts");
|
||||
$query = doquery("SELECT * FROM {{table}} WHERE username='$username' LIMIT 1", "accounts");
|
||||
$row = dorow($query);
|
||||
|
||||
// Errors.
|
||||
if ($row == false) { err("Invalid username. Please <a href=\"index.php\">go back</a> and try again.", false, false); }
|
||||
if ($row["password"] != md5($password)) { err("Invalid password. Please <a href=\"index.php\">go back</a> and try again.", false, false); }
|
||||
if ($row["verifycode"] != 1) { err("You have not yet verified your account. Please click the link found in your Accoutn Verification email before continuing. If you never received the email, please check your spam filter settings or contact the game administrator for further assistance.", false, false); }
|
||||
|
||||
// Finish.
|
||||
$newcookie = $row["id"] . " " . $username . " " . md5($row["password"] . "--" . $dbsettings["secretword"]);
|
||||
|
|
16
map.php
|
@ -30,6 +30,7 @@ $text .= "player_x=".$x."&";
|
|||
$text .= "player_y=".$y."&";
|
||||
$text .= "player_name=".$userrow["charname"]."&";
|
||||
|
||||
// Then do everyone else.
|
||||
$users = doquery("SELECT * FROM {{table}} WHERE world='".$worldrow["id"]."' AND UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."' AND id != '".$userrow["id"]."'", "users");
|
||||
$text .= "users=".mysql_num_rows($users)."&";
|
||||
$count = 0;
|
||||
|
@ -44,6 +45,21 @@ while ($b = mysql_fetch_array($users)) {
|
|||
$count++;
|
||||
}
|
||||
|
||||
// Then do quests.
|
||||
if ($userrow["story"] != "0" && $userrow["story"] != "9999") {
|
||||
|
||||
$lat = $userrow["storylat"];
|
||||
$lon = $userrow["storylon"];
|
||||
if ($lat >= 0) { $y = ceil(($worldrow["size"] - $lat) * $perpix); } else { $y = 250 + ceil(($lat * -1) * $perpix); }
|
||||
if ($lon >= 0) { $x = 250 + ceil($lon * $perpix); } else { $x = ceil(($worldrow["size"] + $lon) * $perpix); }
|
||||
|
||||
$text .= "story=1&";
|
||||
$text .= "story_x=".$x."&";
|
||||
$text .= "story_y=".$y."&";
|
||||
$text .= "story_name=Quest&";
|
||||
|
||||
} else { $text .= "story=0&"; }
|
||||
|
||||
echo($text);
|
||||
|
||||
?>
|
16
mapmini.php
|
@ -28,6 +28,7 @@ if ($lon >= 0) { $x = 50 + ceil($lon * $perpix); } else { $x = ceil(($worldrow["
|
|||
$text .= "player_x=".$x."&";
|
||||
$text .= "player_y=".$y."&";
|
||||
|
||||
// Then do everyone else.
|
||||
$users = doquery("SELECT * FROM {{table}} WHERE world='".$worldrow["id"]."' AND UNIX_TIMESTAMP(onlinetime) >= '".(time()-600)."' AND id != '".$userrow["id"]."'", "users");
|
||||
$text .= "users=".mysql_num_rows($users)."&";
|
||||
$count = 0;
|
||||
|
@ -41,6 +42,21 @@ while ($b = mysql_fetch_array($users)) {
|
|||
$count++;
|
||||
}
|
||||
|
||||
// Then do quests.
|
||||
if ($userrow["story"] != "0" && $userrow["story"] != "9999") {
|
||||
|
||||
$lat = $userrow["storylat"];
|
||||
$lon = $userrow["storylon"];
|
||||
if ($lat >= 0) { $y = ceil(($worldrow["size"] - $lat) * $perpix); } else { $y = 250 + ceil(($lat * -1) * $perpix); }
|
||||
if ($lon >= 0) { $x = 250 + ceil($lon * $perpix); } else { $x = ceil(($worldrow["size"] + $lon) * $perpix); }
|
||||
|
||||
$text .= "story=1&";
|
||||
$text .= "story_x=".$x."&";
|
||||
$text .= "story_y=".$y."&";
|
||||
$text .= "story_name=Quest&";
|
||||
|
||||
} else { $text .= "story=0&"; }
|
||||
|
||||
echo($text);
|
||||
|
||||
?>
|
BIN
mapmini.swf
33
panels.php
|
@ -44,15 +44,10 @@ function panelleft() {
|
|||
|
||||
// Then we do the query.
|
||||
$traveltoquery = doquery("SELECT id,name FROM {{table}} WHERE $townstring ORDER BY id", "towns");
|
||||
$traveltorow = dorow($traveltoquery);
|
||||
|
||||
// Finally we build the link list.
|
||||
if ($userrow["townslist"] != "0,1") { // Multiple towns means multiple arrays.
|
||||
foreach($traveltorow as $c=>$d) {
|
||||
$row["travelto"] .= "<a href=\"index.php?do=travel:".$d["id"]."\">".$d["name"]."</a><br />\n";
|
||||
}
|
||||
} else { // One town means one array.
|
||||
$row["travelto"] .= "<a href=\"index.php?do=travel:".$traveltorow["id"]."\">".$traveltorow["name"]."</a><br />\n";
|
||||
while ($d = mysql_fetch_array($traveltoquery)) {
|
||||
$row["travelto"] .= "<a href=\"index.php?do=travel:".$d["id"]."\">".$d["name"]."</a><br />\n";
|
||||
}
|
||||
|
||||
// And then we're done with this panel.
|
||||
|
@ -124,7 +119,7 @@ function paneltop($loggedin = true) {
|
|||
|
||||
function panelbottom() {
|
||||
|
||||
global $userrow;
|
||||
global $userrow, $spells;
|
||||
$row = array();
|
||||
|
||||
if ($userrow["charpicture"] != "") {
|
||||
|
@ -133,6 +128,28 @@ function panelbottom() {
|
|||
$row["charpicture"] = "images/users/nopicture.gif";
|
||||
}
|
||||
|
||||
// Do quickspell stuff.
|
||||
$quickhealid = 0;
|
||||
$quickhealvalue = 0;
|
||||
if ($userrow["currentaction"] == "Exploring") {
|
||||
for ($i=1; $i<11; $i++) {
|
||||
if ($userrow["spell".$i."id"] != 0) {
|
||||
if ($spells[$userrow["spell".$i."id"]]["fname"] == "heal") {
|
||||
if ($spells[$userrow["spell".$i."id"]]["value"] > $quickhealvalue) {
|
||||
$quickhealvalue = $spells[$userrow["spell".$i."id"]]["value"];
|
||||
$quickhealid = $spells[$userrow["spell".$i."id"]]["id"];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($quickhealid != 0) {
|
||||
$row["quickheal"] = "<a href=\"index.php?do=quickheal&id=$quickhealid\" class=\"red\">(Heal)</a>";
|
||||
} else {
|
||||
$row["quickheal"] = "";
|
||||
}
|
||||
|
||||
// Do the rest of it.
|
||||
$row["level"] = $userrow["level"];
|
||||
if ($userrow["levelup"] > 0) { $row["levelup"] = "<a href=\"users.php?do=levelup\" class=\"red\">(".$userrow["levelup"]." LP)</a>"; } else { $row["levelup"] = ""; }
|
||||
if ($userrow["levelspell"] > 0) { $row["levelspell"] = "<a href=\"users.php?do=levelspell\" class=\"blue\">(".$userrow["levelspell"]." SP)</a>"; } else { $row["levelspell"] = ""; }
|
||||
|
|
3
pvp.php
|
@ -305,6 +305,9 @@ function youwin() {
|
|||
mpgain();
|
||||
|
||||
// Update for new stats.
|
||||
$userrow["pvpwins"] += 1;
|
||||
$monsterrow["pvplosses"] += 1;
|
||||
if ($monsterrow["level"] > $userrow["pvphighest"]) { $userrow["pvphighest"] = $monsterrow["level"]; }
|
||||
updateopponent();
|
||||
updateuserrow();
|
||||
$fightrowimploded = $fightrow["playerphysdamage"].",".$fightrow["playermagicdamage"].",".$fightrow["playerfiredamage"].",".$fightrow["playerlightdamage"].",".$fightrow["message"];
|
||||
|
|
209
story.php
Normal file
|
@ -0,0 +1,209 @@
|
|||
<?php // story.php :: Storyline handling.
|
||||
|
||||
include("lib.php");
|
||||
include("globals.php");
|
||||
|
||||
$story = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$userrow["story"]."' LIMIT 1", "story"));
|
||||
|
||||
// Decide which type of story to run.
|
||||
if ($story["targetmonster"] != "0") { storymonster(); }
|
||||
if ($story["targetitem"] != "") { storyitem(); }
|
||||
storyteleport();
|
||||
|
||||
function storyteleport() { // Sends to a new location, or just displays a chunk of the story with no associated action.
|
||||
|
||||
global $userrow, $story;
|
||||
|
||||
if (isset($_POST["submit"])) {
|
||||
|
||||
if ($story["nextstory"] != "0") {
|
||||
$nextstory = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$story["nextstory"]."' LIMIT 1", "story"));
|
||||
$userrow["story"] = $nextstory["id"];
|
||||
$userrow["storylat"] = $nextstory["latitude"];
|
||||
$userrow["storylon"] = $nextstory["longitude"];
|
||||
}
|
||||
if ($story["targetworld"] != "0") {
|
||||
$userrow["world"] = $story["targetworld"];
|
||||
$userrow["latitude"] = $story["targetlat"];
|
||||
$userrow["longitude"] = $story["targetlon"];
|
||||
}
|
||||
if ($story["targetaction"] != "") {
|
||||
$userrow["currentaction"] = $story["targetaction"];
|
||||
}
|
||||
if ($story["rewardname"] != "") {
|
||||
$userrow[$story["rewardname"]] += $story["rewardattr"];
|
||||
}
|
||||
|
||||
updateuserrow();
|
||||
die(header("Location: index.php"));
|
||||
|
||||
}
|
||||
|
||||
$story["reward"] = "";
|
||||
if ($story["rewardname"] != "") {
|
||||
$premodrow = dorow(doquery("SELECT * FROM {{table}} ORDER BY id","itemmodnames"));
|
||||
foreach($premodrow as $a=>$b) {
|
||||
$modrow[$b["fieldname"]] = $b;
|
||||
}
|
||||
$story["reward"] .= "<hr />You've gained a permanent reward from this quest:<br />";
|
||||
$story["reward"] .= $modrow[$story["rewardname"]]["prettyname"] . ": +" . $story["rewardattr"];
|
||||
if ($modrow[$story["rewardname"]]["percent"] == 1) { $story["reward"] .= "%"; }
|
||||
$story["reward"] .= "<br />This reward will be applied when you continue on your adventure.";
|
||||
}
|
||||
|
||||
$story["story"] = nl2br($story["story"]);
|
||||
display($story["title"], parsetemplate(gettemplate("story_teleport"), $story));
|
||||
|
||||
}
|
||||
|
||||
function storymonster() {
|
||||
|
||||
global $userrow, $story;
|
||||
|
||||
if (isset($_POST["submit"])) {
|
||||
|
||||
$monster = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$story["targetmonster"]."' LIMIT 1", "monsters"));
|
||||
$querystring = "currentmonsterid='".$monster["id"]."', currentmonsterhp='".(ceil(rand($monster["maxhp"] * .75, $monster["maxhp"]) * $userrow["difficulty"]))."', currentaction='Fighting'";
|
||||
$update = doquery("UPDATE {{table}} SET $querystring WHERE id='".$userrow["id"]."' LIMIT 1", "users");
|
||||
die(header("Location: fight.php"));
|
||||
|
||||
}
|
||||
|
||||
$story["story"] = nl2br($story["story"]);
|
||||
display($story["title"], parsetemplate(gettemplate("story_monster"), $story));
|
||||
|
||||
}
|
||||
|
||||
function storyitem() {
|
||||
|
||||
global $userrow, $story;
|
||||
|
||||
$premodrow = dorow(doquery("SELECT * FROM {{table}} ORDER BY id","itemmodnames"));
|
||||
foreach($premodrow as $a=>$b) {
|
||||
$modrow[$b["fieldname"]] = $b;
|
||||
}
|
||||
|
||||
$thenewitem = explode(",",$story["targetitem"]);
|
||||
$newitem = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$thenewitem[1]."' LIMIT 1", "itembase"));
|
||||
$newprefix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$thenewitem[0]."' LIMIT 1", "itemprefixes"));
|
||||
$newsuffix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$thenewitem[2]."' LIMIT 1", "itemsuffixes"));
|
||||
$newfullitem = builditem($newprefix, $newitem, $newsuffix, $modrow);
|
||||
$story["itemtable"] = parsetemplate(gettemplate("explore_drop_itemrow"), $newfullitem);
|
||||
|
||||
if ($userrow["item".$newitem["slotnumber"]."idstring"] != "0") {
|
||||
$theolditem = explode(",",$userrow["item".$newitem["slotnumber"]."idstring"]);
|
||||
$olditem = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$theolditem[1]."' LIMIT 1", "itembase"));
|
||||
$oldprefix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$theolditem[0]."' LIMIT 1", "itemprefixes"));
|
||||
$oldsuffix = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$theolditem[2]."' LIMIT 1", "itemsuffixes"));
|
||||
$oldfullitem = builditem($oldprefix, $olditem, $oldsuffix, $modrow);
|
||||
$story["olditems"] = parsetemplate(gettemplate("town_buy_olditemrow"), $oldfullitem);
|
||||
} else {
|
||||
$oldfullitem = false; $oldprefix = false; $oldsuffix = false;
|
||||
$story["olditems"] = "You don't have any item in this slot.";
|
||||
}
|
||||
|
||||
if (isset($_POST["takeitem"])) {
|
||||
|
||||
// Requirements check.
|
||||
if ($newfullitem["requirements"] == false) { err("You do not meet one or more of the requirements for this item. Please <a href=\"index.php\">go back</a> and try again."); }
|
||||
|
||||
// Now do stuff to userrow (new item only).
|
||||
$userrow["item" . $newfullitem["slotnumber"] . "idstring"] = $newfullitem["fullid"];
|
||||
$userrow["item" . $newfullitem["slotnumber"] . "name"] = $newfullitem["name"];
|
||||
$userrow[$newfullitem["basename"]] += $newfullitem["baseattr"];
|
||||
for($j=1; $j<7; $j++) {
|
||||
if ($newfullitem["mod".$j."name"] != "") {
|
||||
$userrow[$newfullitem["mod".$j."name"]] += $newfullitem["mod".$j."attr"];
|
||||
}
|
||||
}
|
||||
if ($newprefix != false) {
|
||||
$userrow[$newprefix["basename"]] += $newprefix["baseattr"];
|
||||
}
|
||||
if ($newsuffix != false) {
|
||||
$userrow[$newsuffix["basename"]] += $newsuffix["baseattr"];
|
||||
}
|
||||
|
||||
// Do more stuff to userrow (old item only).
|
||||
if ($oldfullitem != false) {
|
||||
|
||||
$userrow[$oldfullitem["basename"]] -= $oldfullitem["baseattr"];
|
||||
for($j=1; $j<7; $j++) {
|
||||
if ($oldfullitem["mod".$j."name"] != "") {
|
||||
$userrow[$oldfullitem["mod".$j."name"]] -= $oldfullitem["mod".$j."attr"];
|
||||
}
|
||||
}
|
||||
if ($oldprefix != false) {
|
||||
$userrow[$oldprefix["basename"]] -= $oldprefix["baseattr"];
|
||||
}
|
||||
if ($oldsuffix != false) {
|
||||
$userrow[$oldsuffix["basename"]] -= $oldsuffix["baseattr"];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($story["nextstory"] != "0") {
|
||||
$nextstory = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$story["nextstory"]."' LIMIT 1", "story"));
|
||||
$userrow["story"] = $nextstory["id"];
|
||||
$userrow["storylat"] = $nextstory["latitude"];
|
||||
$userrow["storylon"] = $nextstory["longitude"];
|
||||
}
|
||||
if ($story["targetworld"] != "0") {
|
||||
$userrow["world"] = $story["targetworld"];
|
||||
$userrow["latitude"] = $story["targetlat"];
|
||||
$userrow["longitude"] = $story["targetlon"];
|
||||
}
|
||||
if ($story["targetaction"] != "") {
|
||||
$userrow["currentaction"] = $story["targetaction"];
|
||||
}
|
||||
if ($story["rewardname"] != "") {
|
||||
$userrow[$story["rewardname"]] += $story["rewardattr"];
|
||||
}
|
||||
|
||||
updateuserrow();
|
||||
die(header("Location: index.php"));
|
||||
|
||||
}
|
||||
|
||||
if (isset($_POST["noitem"])) {
|
||||
|
||||
if ($story["nextstory"] != "0") {
|
||||
$nextstory = dorow(doquery("SELECT * FROM {{table}} WHERE id='".$story["nextstory"]."' LIMIT 1", "story"));
|
||||
$userrow["story"] = $nextstory["id"];
|
||||
$userrow["storylat"] = $nextstory["latitude"];
|
||||
$userrow["storylon"] = $nextstory["longitude"];
|
||||
}
|
||||
if ($story["targetworld"] != "0") {
|
||||
$userrow["world"] = $story["targetworld"];
|
||||
$userrow["latitude"] = $story["targetlat"];
|
||||
$userrow["longitude"] = $story["targetlon"];
|
||||
}
|
||||
if ($story["targetaction"] != "") {
|
||||
$userrow["currentaction"] = $story["targetaction"];
|
||||
}
|
||||
if ($story["rewardname"] != "") {
|
||||
$userrow[$story["rewardname"]] += $story["rewardattr"];
|
||||
}
|
||||
|
||||
updateuserrow();
|
||||
die(header("Location: index.php"));
|
||||
|
||||
}
|
||||
|
||||
$story["reward"] = "";
|
||||
if ($story["rewardname"] != "") {
|
||||
$premodrow = dorow(doquery("SELECT * FROM {{table}} ORDER BY id","itemmodnames"));
|
||||
foreach($premodrow as $a=>$b) {
|
||||
$modrow[$b["fieldname"]] = $b;
|
||||
}
|
||||
$story["reward"] .= "<hr />You've gained a permanent reward from this quest:<br />";
|
||||
$story["reward"] .= $modrow[$story["rewardname"]]["prettyname"] . ": +" . $story["rewardattr"];
|
||||
if ($modrow[$story["rewardname"]]["percent"] == 1) { $story["reward"] .= "%"; }
|
||||
$story["reward"] .= "<br />This reward will be applied when you continue on your adventure.";
|
||||
}
|
||||
|
||||
$story["story"] = nl2br($story["story"]);
|
||||
display($story["title"], parsetemplate(gettemplate("story_item"), $story));
|
||||
|
||||
}
|
||||
|
||||
?>
|
70
templates/admin_primary.php
Normal file
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
MODIFYING THIS FILE IN ANY WAY WILL CAUSE THE GAME TO STOP FUNCTIONING.
|
||||
In order to protect my intellectual property, certain security measures had to be taken.
|
||||
As such, the primary template is locked. Any change to this file will result in the game
|
||||
becoming nonfunctional. While I realize that there are valid reasons for wanting to change
|
||||
the page structure, it is impossible to allow that without users also being able to remove
|
||||
or change my copyright information. If you feel you absolutely must have access to change
|
||||
this file at will, consider upgrading to the licensed commercial version of Dragon Scourge.
|
||||
Thank you.
|
||||
*/
|
||||
|
||||
$template = <<<END
|
||||
<head>
|
||||
<title>{{gamename}} :: {{pagetitle}}</title>
|
||||
<style type="text/css">
|
||||
body { font: 10px Verdana; background-image: url(images/{{background}}.jpg); padding: 0px; }
|
||||
table { font: 10px Verdana; }
|
||||
td { vertical-align: top; }
|
||||
input { font: 10px Verdana; }
|
||||
img { border-style: none; }
|
||||
a { color: #996600; text-decoration: none; font-weight: bold; }
|
||||
a:hover { color: #663300; }
|
||||
.main { border: solid 1px black; }
|
||||
.grey { color: #999999; }
|
||||
.red { color: #ff0000; }
|
||||
.blue { color: #0000ff; }
|
||||
.big { font: 11px Verdana; background-color: #dddddd; border: solid 1px #aaaaaa; padding: 2px; margin-bottom: 3px; }
|
||||
.babble1 { background-color: #eeeeee; font: 10px Verdana; margin: 0px; padding: 2px; }
|
||||
.babble2 { background-color: #ffffff; font: 10px Verdana; margin: 0px; padding: 2px; }
|
||||
</style>
|
||||
</head>
|
||||
<body><center>
|
||||
|
||||
<table cellspacing="0" cellpadding="3" style="width: 800px; height: 570px; border: solid 1px black; background-color: white; ">
|
||||
<tr>
|
||||
<td style="border-bottom: solid 1px #cccccc;">
|
||||
<table width="100%" cellspacing="0" cellpadding="0"><tr><td width="65%">
|
||||
<a href="index.php"><img src="images/logo.png" alt="{{gamename}}" title="{{gamename}}" /></a>
|
||||
</td><td style="vertical-align:middle; white-space:nowrap;">
|
||||
{{topnav}}
|
||||
</td></tr></table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" style="height: 100%; border-right: solid 1px #cccccc;">
|
||||
<img src="images/spacer.gif" alt="" width="140" height="1" /><br />
|
||||
{{leftnav}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" style="border-top: solid 1px #cccccc;">{{bottomnav}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table cellspacing="0" cellpadding="3" style="width: 800px; border: solid 1px black; background-color: white; margin-top: 2px;">
|
||||
<tr>
|
||||
<td width="50%">
|
||||
Version <a href="index.php?do=version">{{version}}</a> / {{numqueries}} Queries / {{totaltime}} Seconds
|
||||
</td>
|
||||
<td width="50%" style="text-align:right;">
|
||||
<a href="http://www.dragonscourge.com">Dragon Scourge</a> © 2003-2005 by <a href="http://www.renderse7en.com">renderse7en</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></body>
|
||||
</html>
|
||||
END;
|
||||
|
||||
?>
|
15
templates/explore_drop.php
Normal file
|
@ -0,0 +1,15 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
The monster dropped an item. You can either accept or ignore the item, but any item you currently have in that slot will be discarded if you choose to accept the item.<br /><br />
|
||||
<div class="big"><b>The stats for your current item are:</b></div>
|
||||
{{olditems}}<br />
|
||||
<div class="big"><b>The stats for the dropped item are:</b></b></div>
|
||||
{{itemtable}}
|
||||
<br />
|
||||
<form action="index.php?do=itemdrop" method="post">
|
||||
<input type="submit" name="accept" value="Accept This Item" /> <input type="submit" name="ignore" value="Ignore This Item" />
|
||||
</form>
|
||||
END;
|
||||
|
||||
?>
|
8
templates/explore_drop_accept.php
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
Thank you for accepting this item.<br /><br />
|
||||
You may now <a href="index.php">continue exploring</a>.
|
||||
END;
|
||||
|
||||
?>
|
18
templates/explore_drop_itemrow.php
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
<table style="border-bottom: solid 1px black; width: 95%;" cellspacing="0" cellpadding="0"><tr>
|
||||
<td>{{image}}</td>
|
||||
<td style="vertical-align: middle; width: 100%;">
|
||||
<b>{{name}}</b><br />
|
||||
{{attrtype}}: {{basevalue}}<br />
|
||||
{{level}}
|
||||
{{strength}}
|
||||
{{dexterity}}
|
||||
{{energy}}
|
||||
<span class="blue">{{itemmods}}</span>
|
||||
</td>
|
||||
</tr></table>
|
||||
END;
|
||||
|
||||
?>
|
7
templates/explore_quickheal.php
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
You have healed yourself. Continue exploring using the direction buttons or the Travel To menus.
|
||||
END;
|
||||
|
||||
?>
|
16
templates/fight_monsteronly.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
You are fighting a <b>{{monstername}}</b>.<br />
|
||||
Monster's HP: {{monsterhp}}<br /><br />
|
||||
{{message}}
|
||||
The monster attacks you for (<span style="color: black; font-weight: bold;">{{monsterphysdamage}}</span>|<span style="color: green; font-weight: bold;">{{monstermagicdamage}}</span>|<span style="color: red; font-weight: bold;">{{monsterfiredamage}}</span>|<span style="color: blue; font-weight: bold;">{{monsterlightdamage}}</span>) damage.<br /><br />
|
||||
Command?
|
||||
<form action="fight.php" method="post">
|
||||
<input type="submit" name="fight" value="Fight" /> <br />
|
||||
{{spells}}<br />
|
||||
<input type="submit" name="run" value="Run" />
|
||||
</form>
|
||||
END;
|
||||
|
||||
?>
|
|
@ -15,8 +15,9 @@ $template = <<<END
|
|||
</tr>
|
||||
</table>
|
||||
</td><td style="vertical-align: middle;">
|
||||
<span class="red">{{levelup}}</span><br />
|
||||
<span class="blue">{{levelspell}}</span>
|
||||
{{levelup}}<br />
|
||||
{{levelspell}}<br />
|
||||
{{quickheal}}
|
||||
</td>
|
||||
</td><td style="vertical-align: middle;">
|
||||
<table width="100%" cellspacing="0" cellpadding="0">
|
||||
|
|
|
@ -65,10 +65,13 @@ a:hover { color: #663300; }
|
|||
</table>
|
||||
<table cellspacing="0" cellpadding="3" style="width: 800px; border: solid 1px black; background-color: white; margin-top: 2px;">
|
||||
<tr>
|
||||
<td width="50%">
|
||||
<td width="40%">
|
||||
Version <a href="index.php?do=version">{{version}}</a> / {{numqueries}} Queries / {{totaltime}} Seconds
|
||||
</td>
|
||||
<td width="50%" style="text-align:right;">
|
||||
<td width="20%" style="text-align: center;">
|
||||
{{forumslink}}
|
||||
</td>
|
||||
<td width="40%" style="text-align:right;">
|
||||
<a href="http://www.dragonscourge.com">Dragon Scourge</a> © 2003-2005 by <a href="http://www.renderse7en.com">renderse7en</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
|
||||
$template = <<<END
|
||||
{{avatar}}<br />
|
||||
You have been challenged to a duel by <b>{{charname}} (Level {{level}})</b>. Do you accept?<br /><br />
|
||||
You have been challenged to a duel by <b>{{charname}} (Level {{level}})</b>.<br />
|
||||
Duels Won: <b>{{pvpwins}}</b><br />
|
||||
Duels Lost: <b>{{pvplosses}}</b><br />
|
||||
Highest Character Defeated: <b>{{pvphighest}}</b><br /><br />
|
||||
Do you accept?<br /><br />
|
||||
<form action="pvp.php?do=accept" method="post">
|
||||
<input type="submit" name="yes" value="Yes" /> <input type="submit" name="no" value="No" />
|
||||
</form>
|
||||
|
|
16
templates/story_item.php
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
{{story}}
|
||||
{{reward}}
|
||||
<br /><br />
|
||||
<div class="big"><b>The stats for your current item are:</b></div>
|
||||
{{olditems}}<br />
|
||||
<div class="big"><b>The stats for the dropped item are:</b></b></div>
|
||||
{{itemtable}}<br />
|
||||
<form action="story.php" method="post">
|
||||
<input type="submit" name="takeitem" value="Take the Item" /> <input type="submit" name="noitem" value="Don't Take the Item" />
|
||||
</form><br /><br />
|
||||
END;
|
||||
|
||||
?>
|
12
templates/story_monster.php
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
{{story}}
|
||||
<hr />
|
||||
<form action="story.php" method="post">
|
||||
<input type="submit" name="submit" value="Fight the Monster" />
|
||||
</form><br /><br />
|
||||
If you don't want to fight the monster yet, please continue exploring using the direction buttons or the Travel To menus.
|
||||
END;
|
||||
|
||||
?>
|
12
templates/story_teleport.php
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
{{story}}
|
||||
{{reward}}
|
||||
<hr />
|
||||
<form action="story.php" method="post">
|
||||
<input type="submit" name="submit" value="Continue" />
|
||||
</form>
|
||||
END;
|
||||
|
||||
?>
|
|
@ -4,22 +4,19 @@ $template = <<<END
|
|||
<center>
|
||||
<table style="width: 450px;">
|
||||
<tr>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=inn">Stay at the Inn<br /><img src="images/town_inn.png" alt="" /></a><br /><br /><br /><br /></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=buy">Buy Weapons and Armor<br /><img src="images/town_buy.png" alt="" /></a><br /><br /><br /><br /></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=maps">Buy Maps<br /><img src="images/town_maps.png" alt="" /></a><br /><br /><br /><br /></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=duel">Duelling Grounds<br /><img src="images/town_duel.png" alt="" /></a><br /><br /><br /><br /></td>
|
||||
<td width="33%" style="text-align: center; vertical-align: top;"><a href="index.php?do=inn">The Inn<br /><img src="images/town_inn.png" alt="" /></a><br /><br /></td>
|
||||
<td width="34%" style="text-align: center; vertical-align: top;"><a href="index.php?do=buy">Buy Items<br /><img src="images/town_buy.png" alt="" /></a><br /><br /></td>
|
||||
<td width="33%" style="text-align: center; vertical-align: top;"><a href="index.php?do=maps">Buy Maps<br /><img src="images/town_maps.png" alt="" /></a><br /><br /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=bank">Deposit/Withdraw Gold at the Bank<br /><img src="images/town_bank.png" alt="" /></a></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=mailbox">Enter the Post Office<br /><img src="images/town_post.png" alt="" /></a> {{unread}}</td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=gamble">Enter the Gambling Hall<br /><img src="images/town_gamble.png" alt="" /></a></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=top10">View the Hall of Fame<br /><img src="images/town_hall.png" alt="" /></a></td>
|
||||
<td width="33%" style="text-align: center; vertical-align: top;"><a href="index.php?do=bank">The Bank<br /><img src="images/town_bank.png" alt="" /></a><br /><br /></td>
|
||||
<td width="34%" style="text-align: center; vertical-align: top;"><a href="index.php?do=mailbox">The Post Office {{unread}}<br /><img src="images/town_post.png" alt="" /></a> <br /><br /></td>
|
||||
<td width="33%" style="text-align: center; vertical-align: top;"><a href="index.php?do=gamble">The Gambling Hall<br /><img src="images/town_gamble.png" alt="" /></a><br /><br /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"><a href="index.php?do=guilds">Enter the Guild Hall<br /><img src="images/town_guilds.png" alt="" /></a></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"></td>
|
||||
<td width="25%" style="text-align: center; vertical-align: top;"></td>
|
||||
<td width="33%" style="text-align: center; vertical-align: top;"><a href="index.php?do=duel">Duelling Grounds<br /><img src="images/town_duel.png" alt="" /></a></td>
|
||||
<td width="34%" style="text-align: center; vertical-align: top;"><a href="index.php?do=guilds">The Guild Hall<br /><img src="images/town_guilds.png" alt="" /></a></td>
|
||||
<td width="33%" style="text-align: center; vertical-align: top;"><a href="index.php?do=top10">Hall of Fame<br /><img src="images/town_hall.png" alt="" /></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
|
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
$template = <<<END
|
||||
Buying weapons will increase your Attack Power. Buying armor, shields and other items will increase your Defense Power.<br /><br />
|
||||
Click an item's name to purchase it.<br /><br />
|
||||
The following items are available in this town:<br /><br />
|
||||
<div class="big"><b>The stats for your current items are:</b></div>
|
||||
{{olditems}}<br />
|
||||
<div class="big"><b>The following items are available in this town:</b></b></div>
|
||||
{{itemtable}}
|
||||
<br />
|
||||
If you've changed your mind, you may also return to <a href="index.php">town</a>.
|
||||
|
|
14
templates/town_buy_olditemrow.php
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
<table style="border-bottom: solid 1px black; width: 95%;" cellspacing="0" cellpadding="0"><tr>
|
||||
<td>{{image}}</td>
|
||||
<td style="vertical-align: middle; width: 100%;">
|
||||
<b>{{name}}</b><br />
|
||||
{{attrtype}}: {{basevalue}}<br />
|
||||
<span class="blue">{{itemmods}}</span>
|
||||
</td>
|
||||
</tr></table>
|
||||
END;
|
||||
|
||||
?>
|
|
@ -9,7 +9,8 @@ $template = <<<END
|
|||
<a href="users.php?do=profile&uid={{id}}">{{newcharname}}</a><br />
|
||||
Level: <b>{{level}}</b><br />
|
||||
Exp: <b>{{experience}}</b><br />
|
||||
Birthday: <b>{{fregdate}}</b>
|
||||
Birthday: <b>{{fregdate}}</b><br />
|
||||
Duel Record: <b>{{pvpwins}} Won / {{pvplosses}} Lost / Highest Won: {{pvphighest}}</b>
|
||||
</td></tr>
|
||||
</table>
|
||||
END;
|
||||
|
|
|
@ -33,6 +33,10 @@ Fire Defense: <b><span style="color: red">{{firedefense}}</span></b><br /><br />
|
|||
|
||||
Lightning Damage: <b><span style="color: blue">{{lightattack}}</span></b><br />
|
||||
Lightning Defense: <b><span style="color: blue">{{lightdefense}}</span></b><br /><br />
|
||||
|
||||
Duels Won: <b>{{pvpwins}}</b><br />
|
||||
Duels Lost: <b>{{pvplosses}}</b><br />
|
||||
Highest Character Defeated: <b>{{pvphighest}}</b><br /><br />
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td colspan="2" style="border-top: solid 1px #cccccc"><center><a href="index.php">Return to the game.</a></center></td>
|
||||
|
|
|
@ -37,6 +37,10 @@ Fire Defense: <b><span style="color: red">{{firedefense}}</span></b><br /><br />
|
|||
|
||||
Lightning Damage: <b><span style="color: blue">{{lightattack}}</span></b><br />
|
||||
Lightning Defense: <b><span style="color: blue">{{lightdefense}}</span></b><br /><br />
|
||||
|
||||
Duels Won: <b>{{pvpwins}}</b><br />
|
||||
Duels Lost: <b>{{pvplosses}}</b><br />
|
||||
Highest Character Defeated: <b>{{pvphighest}}</b><br /><br />
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td colspan="2" style="border-top: solid 1px #cccccc"><center><a href="index.php">Return to the game.</a></center></td>
|
||||
|
|
|
@ -6,8 +6,8 @@ $template = <<<END
|
|||
<tr><td width="30%">Username:</td><td><input type="text" name="username" size="30" maxlength="30" /><br />Usernames must be 30 alphanumeric characters or less.<br /><br /><br /></td></tr>
|
||||
<tr><td width="30%">Password:</td><td><input type="password" name="password1" size="30" maxlength="30" /></td></tr>
|
||||
<tr><td width="30%">Verify Password:</td><td><input type="password" name="password2" size="30" maxlength="30" /><br />Passwords must be 30 alphanumeric characters or less.<br /><br /><br /></td></tr>
|
||||
<tr><td width="30%">Email Address:</td><td><input type="text" name="email1" size="30" maxlength="30" /></td></tr>
|
||||
<tr><td width="30%">Verify Email Address:</td><td><input type="text" name="email2" size="30" maxlength="30" /><br /><br /><br /></td></tr>
|
||||
<tr><td width="30%">Email Address:</td><td><input type="text" name="email1" size="30" maxlength="200" /></td></tr>
|
||||
<tr><td width="30%">Verify Email Address:</td><td><input type="text" name="email2" size="30" maxlength="200" /><br /><br /><br /></td></tr>
|
||||
<tr><td width="30%">Image Format:</td><td><select name="imageformat">{{imageformat}}</select><br />(Some versions of Internet Explorer may not be compatible with the PNG image format.)</td></tr>
|
||||
<tr><td colspan="2"><input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /></td></tr>
|
||||
</table>
|
||||
|
|
|
@ -9,7 +9,7 @@ Old Password:<br /><input type="password" name="oldpassword" size="30" maxlength
|
|||
New Password:<br /><input type="password" name="password1" size="30" maxlength="30" /><br />
|
||||
Verify New Password:<br /><input type="password" name="password2" size="30" maxlength="30" /><br />Passwords must be 30 alphanumeric characters or less.<br /><br /><br />
|
||||
</td></tr>
|
||||
<tr><td width="30%">Email Address:</td><td><input type="text" name="email" size="30" maxlength="30" value="{{emailaddress}}"/></td></tr>
|
||||
<tr><td width="30%">Email Address:</td><td><input type="text" name="email" size="30" maxlength="200" value="{{emailaddress}}"/></td></tr>
|
||||
<tr><td width="30%">Image Format:</td><td><select name="imageformat">{{imageformat}}</select><br />(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.)</td></tr>
|
||||
<tr><td colspan="2"><input type="submit" name="submit" value="Submit" /> <input type="reset" name="reset" value="Reset" /></td></tr>
|
||||
</table>
|
||||
|
|
8
templates/users_verified.php
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?php
|
||||
|
||||
$template = <<<END
|
||||
Thank you. Your account has now been verified.<br /><br />
|
||||
<a href="login.php?do=login">Click here</a> to continue to the Login screen.
|
||||
END;
|
||||
|
||||
?>
|
183
town.php
|
@ -76,7 +76,7 @@ function map() { // Buy maps to towns for the Travel To menu.
|
|||
|
||||
} else {
|
||||
|
||||
$townquery = doquery("SELECT * FROM {{table}} ORDER BY id", "towns");
|
||||
$townquery = doquery("SELECT * FROM {{table}} WHERE world='".$userrow["world"]."' ORDER BY id", "towns");
|
||||
$townrow = dorow($townquery);
|
||||
$townslist = explode(",",$userrow["townslist"]);
|
||||
|
||||
|
@ -232,23 +232,50 @@ function buy() { // Buy items from merchants.
|
|||
} else {
|
||||
|
||||
// Grab lots of stuff from the DB.
|
||||
$itemsrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel>='".$townrow["itemminlvl"]."' AND reqlevel<='".$townrow["itemmaxlvl"]."' ORDER BY RAND() LIMIT 10 ", "itembase"));
|
||||
$prefixrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel<='".$userrow["level"]."'", "itemprefixes"));
|
||||
$suffixrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel<='".$userrow["level"]."'", "itemsuffixes"));
|
||||
$preitemsrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel>='".$townrow["itemminlvl"]."' AND reqlevel<='".$townrow["itemmaxlvl"]."' ORDER BY RAND() LIMIT 10 ", "itembase"));
|
||||
$preprefixrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel<='".$userrow["level"]."'", "itemprefixes"));
|
||||
$presuffixrow = dorow(doquery("SELECT * FROM {{table}} WHERE reqlevel<='".$userrow["level"]."'", "itemsuffixes"));
|
||||
$allitemsrow = dorow(doquery("SELECT * FROM {{table}}", "itembase"));
|
||||
$allprefixrow = dorow(doquery("SELECT * FROM {{table}}", "itemprefixes"));
|
||||
$allsuffixrow = dorow(doquery("SELECT * FROM {{table}}", "itemsuffixes"));
|
||||
$premodrow = dorow(doquery("SELECT * FROM {{table}} ORDER BY id","itemmodnames"));
|
||||
|
||||
// Format the mod name row.
|
||||
// Format the rows.
|
||||
foreach($allitemsrow as $a=>$b) {
|
||||
$itemsrow[$b["id"]] = $b;
|
||||
}
|
||||
foreach($allprefixrow as $a=>$b) {
|
||||
$prefixrow[$b["id"]] = $b;
|
||||
}
|
||||
foreach($allsuffixrow as $a=>$b) {
|
||||
$suffixrow[$b["id"]] = $b;
|
||||
}
|
||||
foreach($premodrow as $a=>$b) {
|
||||
$modrow[$b["fieldname"]] = $b;
|
||||
}
|
||||
|
||||
// Now build the item table.
|
||||
// Build old item table.
|
||||
$row["olditems"] = "";
|
||||
for($i=1; $i<7; $i++) {
|
||||
|
||||
if ($userrow["item".$i."idstring"] != "0") {
|
||||
$ids = explode(",",$userrow["item".$i."idstring"]);
|
||||
$baseitem = $itemsrow[$ids[1]];
|
||||
if ($ids[0] != 0) { $prefix = $prefixrow[$ids[0]]; } else { $prefix = false; }
|
||||
if ($ids[2] != 0) { $suffix = $suffixrow[$ids[2]]; } else { $suffix = false; }
|
||||
$fullitem = builditem($prefix, $baseitem, $suffix, $modrow);
|
||||
$row["olditems"] .= parsetemplate(gettemplate("town_buy_olditemrow"), $fullitem);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Now build the new item table.
|
||||
$row["itemtable"] = "";
|
||||
for($i=0; $i<10; $i++) {
|
||||
|
||||
$baseitem = $itemsrow[rand(0,(sizeof($itemsrow)-1))];
|
||||
if (rand(0,1)==1) { $prefix = $prefixrow[rand(0,(sizeof($prefixrow)-1))]; } else { $prefix = false; }
|
||||
if (rand(0,1)==1) { $suffix = $suffixrow[rand(0,(sizeof($suffixrow)-1))]; } else { $suffix = false; }
|
||||
$baseitem = $preitemsrow[rand(0,(sizeof($preitemsrow)-1))];
|
||||
if (rand(0,4)==1) { $prefix = $preprefixrow[rand(0,(sizeof($preprefixrow)-1))]; } else { $prefix = false; }
|
||||
if (rand(0,4)==1) { $suffix = $presuffixrow[rand(0,(sizeof($presuffixrow)-1))]; } else { $suffix = false; }
|
||||
$fullitem = builditem($prefix, $baseitem, $suffix, $modrow);
|
||||
$row["itemtable"] .= parsetemplate(gettemplate("town_buy_itemrow"), $fullitem);
|
||||
|
||||
|
@ -261,101 +288,6 @@ function buy() { // Buy items from merchants.
|
|||
|
||||
}
|
||||
|
||||
function builditem($prefix, $baseitem, $suffix, $modrow) {
|
||||
|
||||
global $controlrow, $acctrow, $userrow;
|
||||
|
||||
// First setup the basic item attributes.
|
||||
$baseitem["baseid"] = $baseitem["id"];
|
||||
$baseitem["fullid"] = $baseitem["id"];
|
||||
$baseitem["attrtype"] = $modrow[$baseitem["basename"]]["prettyname"];
|
||||
$baseitem["basevalue"] = $baseitem["baseattr"];
|
||||
$baseitem["image"] = "";
|
||||
|
||||
// Next give pretty names to any item modifiers.
|
||||
$baseitem["itemmods"] = "";
|
||||
for($j=1; $j<7; $j++) {
|
||||
if ($baseitem["mod".$j."name"] != "") {
|
||||
$baseitem["itemmods"] .= $modrow[$baseitem["mod".$j."name"]]["prettyname"] . ": +" . $baseitem["mod".$j."attr"];
|
||||
if ($modrow[$baseitem["mod".$j."name"]]["percent"] == 1) { $baseitem["itemmods"] .= "%"; }
|
||||
$baseitem["itemmods"] .= "<br />\n";
|
||||
}
|
||||
}
|
||||
|
||||
// Add prefix mods if applicable.
|
||||
if ($prefix != false) {
|
||||
$baseitem["fullid"] = $prefix["id"] . "," . $baseitem["fullid"];
|
||||
$baseitem["name"] = $prefix["name"] . " " . $baseitem["name"];
|
||||
$baseitem["buycost"] += $prefix["buycost"];
|
||||
$baseitem["sellcost"] += $prefix["sellcost"];
|
||||
$baseitem["reqlevel"] = max($baseitem["reqlevel"], $prefix["reqlevel"]);
|
||||
$baseitem["reqstrength"] += $prefix["reqstrength"];
|
||||
$baseitem["reqenergy"] += $prefix["reqenergy"];
|
||||
$baseitem["reqdexterity"] += $prefix["reqdexterity"];
|
||||
$baseitem["itemmods"] .= $modrow[$prefix["basename"]]["prettyname"] . ": +" . $prefix["baseattr"];
|
||||
if ($modrow[$prefix["basename"]]["percent"] == 1) { $baseitem["itemmods"] .= "%"; }
|
||||
$baseitem["itemmods"] .= "<br />\n";
|
||||
} else { $baseitem["fullid"] = "0," . $baseitem["fullid"]; }
|
||||
|
||||
// Add suffix mods if applicable.
|
||||
if ($suffix != false) {
|
||||
$baseitem["fullid"] .= "," . $suffix["id"];
|
||||
$baseitem["name"] .= " " . $suffix["name"];
|
||||
$baseitem["buycost"] += $suffix["buycost"];
|
||||
$baseitem["sellcost"] += $suffix["sellcost"];
|
||||
$baseitem["reqlevel"] = max($baseitem["reqlevel"], $suffix["reqlevel"]);
|
||||
$baseitem["reqstrength"] += $suffix["reqstrength"];
|
||||
$baseitem["reqenergy"] += $suffix["reqenergy"];
|
||||
$baseitem["reqdexterity"] += $suffix["reqdexterity"];
|
||||
$baseitem["itemmods"] .= $modrow[$suffix["basename"]]["prettyname"] . ": +" . $suffix["baseattr"];
|
||||
if ($modrow[$suffix["basename"]]["percent"] == 1) { $baseitem["itemmods"] .= "%"; }
|
||||
$baseitem["itemmods"] .= "<br />\n";
|
||||
} else { $baseitem["fullid"] .= ",0"; }
|
||||
|
||||
// Check requirements.
|
||||
$baseitem["requirements"] = true;
|
||||
if ($baseitem["reqlevel"] == 1) { $baseitem["level"] = ""; } else {
|
||||
$baseitem["level"] = "Required Level: " . $baseitem["reqlevel"];
|
||||
if ($baseitem["reqlevel"] > $userrow["level"]) {
|
||||
$baseitem["level"] = "<span class=\"red\">".$baseitem["level"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["level"] .= "<br />\n";
|
||||
}
|
||||
if ($baseitem["reqstrength"] == 0) { $baseitem["strength"] = ""; } else {
|
||||
$baseitem["strength"] = "Required Strength: " . $baseitem["reqstrength"];
|
||||
if ($baseitem["reqstrength"] > $userrow["strength"]) {
|
||||
$baseitem["strength"] = "<span class=\"red\">".$baseitem["strength"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["strength"] .= "<br />\n";
|
||||
}
|
||||
if ($baseitem["reqdexterity"] == 0) { $baseitem["dexterity"] = ""; } else {
|
||||
$baseitem["dexterity"] = "Required Dexterity: " . $baseitem["reqdexterity"];
|
||||
if ($baseitem["reqdexterity"] > $userrow["dexterity"]) {
|
||||
$baseitem["dexterity"] = "<span class=\"red\">".$baseitem["dexterity"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["dexterity"] .= "<br />\n";
|
||||
}
|
||||
if ($baseitem["reqenergy"] == 0) { $baseitem["energy"] = ""; } else {
|
||||
$baseitem["energy"] = "Required Energy: " . $baseitem["reqenergy"];
|
||||
if ($baseitem["reqenergy"] > $userrow["energy"]) {
|
||||
$baseitem["energy"] = "<span class=\"red\">".$baseitem["energy"]."</span>";
|
||||
$baseitem["requirements"] = false;
|
||||
}
|
||||
$baseitem["energy"] .= "<br />\n";
|
||||
}
|
||||
|
||||
if ($controlrow["showimages"] == 1) {
|
||||
$baseitem["image"] = "<img src=\"images/items/".$baseitem["slotnumber"].$acctrow["imageformat"]."\" alt=\"".$baseitem["name"]."\" title=\"".$baseitem["name"]."\" />";
|
||||
}
|
||||
|
||||
// And send it back.
|
||||
return $baseitem;
|
||||
|
||||
}
|
||||
|
||||
function gamble() {
|
||||
|
||||
display("Gamble", gettemplate("town_gamble1"));
|
||||
|
@ -405,44 +337,25 @@ function bank() {
|
|||
|
||||
function halloffame() {
|
||||
|
||||
$topquery = doquery("SELECT *, DATE_FORMAT(birthdate, '%m.%d.%Y') AS fregdate FROM {{table}} ORDER BY experience DESC LIMIT 10", "users");
|
||||
$top = dorow($topquery);
|
||||
$topquery = doquery("SELECT *, DATE_FORMAT(birthdate, '%m.%d.%Y') AS fregdate FROM {{table}} ORDER BY experience DESC LIMIT 25", "users");
|
||||
$row["halltable"] = "";
|
||||
$i = 1;
|
||||
|
||||
if (mysql_num_rows($topquery) > 1) {
|
||||
foreach($top as $a=>$b) {
|
||||
if ($b["charpicture"] != "") {
|
||||
$b["avatar"] = "<img src=\"".$b["charpicture"]."\" alt=\"".$b["charname"]."\" />";
|
||||
} else {
|
||||
$b["avatar"] = "<img src=\"images/users/nopicture.gif\" alt=\"".$b["charname"]."\" />";
|
||||
}
|
||||
$b["experience"] = number_format($b["experience"]);
|
||||
$b["number"] = $i;
|
||||
if ($b["guild"] != 0) {
|
||||
$charname = "[<span style=\"color: ".$b["tagcolor"].";\">".$b["guildtag"]."</span>]<span style=\"color: ".$b["namecolor"].";\">".$b["charname"]."</span>";
|
||||
} else {
|
||||
$charname = $b["charname"];
|
||||
}
|
||||
$b["newcharname"] = $charname;
|
||||
$row["halltable"] .= parsetemplate(gettemplate("town_halloffamerow"), $b);
|
||||
$i++;
|
||||
}
|
||||
} else {
|
||||
if ($top["charpicture"] != "") {
|
||||
$top["avatar"] = "<img src=\"".$top["charpicture"]."\" alt=\"".$top["charname"]."\" />";
|
||||
while ($b = mysql_fetch_array($topquery)) {
|
||||
if ($b["charpicture"] != "") {
|
||||
$b["avatar"] = "<img src=\"".$b["charpicture"]."\" alt=\"".$b["charname"]."\" />";
|
||||
} else {
|
||||
$top["avatar"] = "<img src=\"images/users/nopicture.gif\" alt=\"".$top["charname"]."\" />";
|
||||
$b["avatar"] = "<img src=\"images/users/nopicture.gif\" alt=\"".$b["charname"]."\" />";
|
||||
}
|
||||
$top["experience"] = number_format($top["experience"]);
|
||||
$top["number"] = $i;
|
||||
if ($top["guild"] != 0) {
|
||||
$charname = "[<span style=\"color: ".$top["tagcolor"].";\">".$top["guildtag"]."</span>]<span style=\"color: ".$top["namecolor"].";\">".$top["charname"]."</span>";
|
||||
$b["experience"] = number_format($b["experience"]);
|
||||
$b["number"] = $i;
|
||||
if ($b["guild"] != 0) {
|
||||
$charname = "[<span style=\"color: ".$b["tagcolor"].";\">".$b["guildtag"]."</span>]<span style=\"color: ".$b["namecolor"].";\">".$b["charname"]."</span>";
|
||||
} else {
|
||||
$charname = $top["charname"];
|
||||
$charname = $b["charname"];
|
||||
}
|
||||
$top["newcharname"] = $charname;
|
||||
$row["halltable"] .= parsetemplate(gettemplate("town_halloffamerow"), $top);
|
||||
$b["newcharname"] = $charname;
|
||||
$row["halltable"] .= parsetemplate(gettemplate("town_halloffamerow"), $b);
|
||||
$i++;
|
||||
}
|
||||
$row["halltable"] .= "<br />\n";
|
||||
|
|
24
users.php
|
@ -65,6 +65,7 @@ function register() {
|
|||
for ($i=0; $i<8; $i++) {
|
||||
$verifycode .= chr(rand(65,90));
|
||||
}
|
||||
$verifycode = md5($verifycode);
|
||||
} else {
|
||||
$verifycode='1';
|
||||
}
|
||||
|
@ -99,6 +100,29 @@ function register() {
|
|||
|
||||
}
|
||||
|
||||
function sendregmail($emailaddress, $vercode) {
|
||||
|
||||
global $controlrow;
|
||||
extract($controlrow);
|
||||
$verurl = $gameurl . "verify.php?code=$vercode";
|
||||
|
||||
$email = <<<END
|
||||
You or someone using your email address recently signed up for an account on the $gamename server, located at $gameurl.
|
||||
|
||||
This email is sent to verify your registration email. In order to begin using your account, you must verify your email address.
|
||||
Please click on the link below or copy/paste it into your browser to activate your account. You will not be able to play the game until your account is activated.
|
||||
|
||||
Verification URL:
|
||||
$verurl
|
||||
|
||||
If you were not the person who signed up for the game, please disregard this message. You will not be emailed again.
|
||||
END;
|
||||
|
||||
$status = mymail($emailaddress, "$gamename Account Verification", $email);
|
||||
return $status;
|
||||
|
||||
}
|
||||
|
||||
function profile() {
|
||||
|
||||
global $userrow;
|
||||
|
|
17
verify.php
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?php // verify.php :: Standalone file for verifying accounts.
|
||||
|
||||
include("lib.php");
|
||||
|
||||
if (isset($_GET["code"])) {
|
||||
$code = $_GET["code"];
|
||||
} else { die("Invalid account verification code."); }
|
||||
|
||||
$query = doquery("SELECT * FROM {{table}} WHERE verifycode='$code' LIMIT 1", "accounts");
|
||||
if (mysql_num_rows($query) != 1) {
|
||||
die("Invalid account verification code.");
|
||||
} else {
|
||||
$update = doquery("UPDATE {{table}} SET verifycode='1' WHERE verifycode='$code' LIMIT 1", "accounts");
|
||||
}
|
||||
display("Account Verification",gettemplate("users_verified"), false);
|
||||
|
||||
?>
|