diff --git a/config/servers.php b/config/servers.php index 2eae055a..ffe44379 100644 --- a/config/servers.php +++ b/config/servers.php @@ -58,6 +58,7 @@ 'DateTimezone' => null, // Specifies game server's timezone for this char/map pair. (See: http://php.net/timezones) //'ResetDenyMaps' => 'sec_pri', // Defaults to 'sec_pri'. This value can be an array of map names. //'Database' => 'ragnarok', // Defaults to DbConfig.Database + 'MaxBaseLevel' => 150, 'ExpRates' => array( 'Base' => 100, // Rate at which (base) exp is given 'Job' => 100, // Rate at which job exp is given diff --git a/lib/Flux.php b/lib/Flux.php index 1ebfe99c..1576038c 100644 --- a/lib/Flux.php +++ b/lib/Flux.php @@ -392,6 +392,7 @@ public static function parseServersConfigFile($filename) // // Char/Map normalization. // + $maxBaseLevel = 150; $expRates = array( 'Base' => 100, 'Job' => 100, @@ -410,6 +411,7 @@ public static function parseServersConfigFile($filename) 'CardBoss' => 100, 'MvpItem' => 100 ); + $charMapServer->setMaxBaseLevel($maxBaseLevel, $options); $charMapServer->setExpRates($expRates, $options); $charMapServer->setDropRates($dropRates, $options); $charMapServer->setRenewal(true, $options); diff --git a/lib/Flux/Athena.php b/lib/Flux/Athena.php index fc7fa163..20c7ff00 100644 --- a/lib/Flux/Athena.php +++ b/lib/Flux/Athena.php @@ -25,6 +25,14 @@ class Flux_Athena { */ public $serverName; + /** + * Maximum base level for characters. + * + * @access public + * @var int + */ + public $maxBaseLevel; + /** * Experience rates for base, job, and mvp bonus. Values in percents. * For example, 100 means 100% which is 1x offical rates. @@ -171,6 +179,7 @@ public function __construct(Flux_Config $charMapConfig, Flux_LoginServer $loginS $this->loginDatabase = $loginServer->config->getDatabase(); $this->serverName = $charMapConfig->getServerName(); + $this->maxBaseLevel = (int)$charMapConfig->getMaxBaseLevel(); $this->expRates = $charMapConfig->getExpRates()->toArray(); $this->dropRates = $charMapConfig->getDropRates()->toArray(); $this->isRenewal = (boolean)$charMapConfig->getRenewal(); diff --git a/modules/item/add.php b/modules/item/add.php index 33e06cd5..a4985702 100644 --- a/modules/item/add.php +++ b/modules/item/add.php @@ -14,7 +14,7 @@ $npcBuy = $params->get('npc_buy'); $npcSell = $params->get('npc_sell'); $weight = $params->get('weight'); -$attack = $params->get('attack'); +$atk = $params->get('atk'); $matk = $params->get('matk'); $defense = $params->get('defense'); $range = $params->get('range'); @@ -31,11 +31,103 @@ $equipScript = $params->get('equip_script'); $unequipScript = $params->get('unequip_script'); -// Weight is defaulted to an zero value. +// NPC Buy/Sell is defaulted to twice/half the sell/buy price, or a zero value if both are null. +if (is_null($npcBuy) && is_null($npcSell)) { + $npcBuy = 0; + $npcSell = 0; +} +else if (is_null($npcBuy)) { + $npcBuy = $npcSell * 2; +} +else if (is_null($npcSell)) { + $npcSell = $npcBuy / 2; +} + +// Weight is defaulted to a zero value. if (is_null($weight)) { $weight = 0; } +// ATK is defaulted to a zero value. +if (is_null($atk)) { + $atk = 0; +} + +// MATK is defaulted to a zero value. +if (is_null($matk)) { + $matk = 0; +} + +// Defence is defaulted to a zero value. +if (is_null($defense)) { + $defense = 0; +} + +// Range is defaulted to a zero value. +if (is_null($range)) { + $range = 0; +} + +// Slots is defaulted to a zero value. +if (is_null($slots)) { + $slots = 0; +} + +// Equip Jobs is defaulted to "All Jobs". +if (is_null($equipJobs)) { + $equipJobs = 0xffffffff; +} + +// Equip Upper is defaulted to "No Restrictions". +if (is_null($equipJobs)) { + $equipJobs = 0x63; +} + +// Equip Location is defaulted to a zero value. +if (is_null($equipLocs)) { + $equipLocs = 0; +} + +// Weapon Level is defaulted to a zero value. +if (is_null($weaponLevel)) { + $weaponLevel = 0; +} + +// Equip Level Minimum is defaulted to a zero value. +if (is_null($equipLevelMin)) { + $equipLevelMin = 0; +} + +// Equip Level Maximum is defaulted to server default. +if (is_null($equipLevelMax)) { + $equipLevelMax = $server->maxBaseLevel; +} + +// Refineable is defaulted to true for types 4 or 5. +if (is_null($refineable) && ($type == 4 || $type == 5)) { + $refineable = 1; +} + +// View ID is defaulted to a zero value. +if (is_null($viewID)) { + $viewID = 0; +} + +// Script is defaulted to blank text. +if (is_null($script)) { + $script = ''; +} + +// Equip Script is defaulted to blank text. +if (is_null($equipScript)) { + $equipScript = ''; +} + +// Unequip Script is defaulted to blank text. +if (is_null($unequipScript)) { + $unequipScript = ''; +} + if (count($_POST) && $params->get('additem')) { // Equip locations. if ($equipLocs instanceOf Flux_Config) { @@ -52,15 +144,17 @@ $equipJobs = $equipJobs->toArray(); } - // Sanitize to NULL: viewid, slots, npcbuy, npcsell, weight, attack, defense, range, weaponlevel, equipLevelMin + // Sanitize to NULL $nullables = array( - 'viewID', 'slots', 'npcBuy', 'npcSell', 'weight', 'attack', 'defense', - 'range', 'weaponLevel', 'equipLevelMin', 'script', 'equipScript', 'unequipScript' + 'viewID', 'slots', 'npcBuy', 'npcSell', 'weight', 'atk', 'defense', 'range', + 'weaponLevel', 'equipLevelMin', 'equipLevelMax', 'script', 'equipScript', 'unequipScript' ); + // If renewal is enabled, sanitize matk and equipLevelMax to NULL - if($server->isRenewal) { - array_push($nullables, 'matk', 'equipLevelMax'); + if ($server->isRenewal) { + array_push($nullables, 'matk'); } + foreach ($nullables as $nullable) { if (trim($$nullable) == '') { $$nullable = null; @@ -82,7 +176,7 @@ $errorMessage = 'View ID must be a number.'; } elseif (!$identifier) { - $errorMessage = 'You must specify an identifer.'; + $errorMessage = 'You must specify an identifier.'; } elseif (!$itemName) { $errorMessage = 'You must specify an item name.'; @@ -99,8 +193,8 @@ elseif (!is_null($weight) && !ctype_digit($weight)) { $errorMessage = 'Weight must be a number.'; } - elseif (!is_null($attack) && !ctype_digit($attack)) { - $errorMessage = 'Attack must be a number.'; + elseif (!is_null($atk) && !ctype_digit($atk)) { + $errorMessage = 'ATK must be a number.'; } elseif (!is_null($matk) && !ctype_digit($matk)) { $errorMessage = 'MATK must be a number.'; @@ -172,11 +266,6 @@ $errorMessage = sprintf($errorMessage, $item->name_japanese, $item->origin_table, $item->id); } else { - $equipLevel = $equipLevelMin; - if($server->isRenewal && !is_null($equipLevelMax)) { - $equipLevel .= ':'. $equipLevelMax; - } - $cols = array('id', 'name_english', 'name_japanese', 'type', 'weight'); $bind = array($itemID, $identifier, $itemName, $type, $weight*10); $vals = array( @@ -184,30 +273,21 @@ 'slots' => $slots, 'price_buy' => $npcBuy, 'price_sell' => $npcSell, + 'atk' => $atk, 'defence' => $defense, '`range`' => $range, 'weapon_level' => $weaponLevel, - 'equip_level' => $equipLevel, + 'equip_level_min'=> $equipLevelMin, + 'equip_level_max'=> $equipLevelMax, 'script' => $script, 'equip_script' => $equipScript, 'unequip_script' => $unequipScript, 'refineable' => $refineable ); - if($server->isRenewal) { - if(!is_null($matk)) { - $atk = $attack .':'. $matk; - } - else { - $atk = $attack; - } - $vals = array_merge($vals, array( - '`atk:matk`' => $atk - )); - } - else { + if ($server->isRenewal) { $vals = array_merge($vals, array( - 'attack' => $attack + 'matk' => $matk )); } diff --git a/modules/item/copy.php b/modules/item/copy.php index f12fd783..723eae0a 100644 --- a/modules/item/copy.php +++ b/modules/item/copy.php @@ -20,9 +20,9 @@ $col = "name_english, name_japanese, type, price_buy, price_sell, "; $col .= "weight, defence, `range`, slots, equip_jobs, equip_upper, "; -$col .= "equip_genders, equip_locations, weapon_level, equip_level, refineable, "; +$col .= "equip_genders, equip_locations, weapon_level, equip_level_min, refineable, "; $col .= "view, script, equip_script, unequip_script, "; -$col .= ($server->isRenewal) ? "`atk:matk` AS attack" : "attack"; +$col .= ($server->isRenewal) ? "atk, matk" : "atk"; $sql = "SELECT $col FROM $tableName WHERE id = ? LIMIT 1"; $sth = $server->connection->getStatement($sql); @@ -55,17 +55,21 @@ else { $col = "id, name_english, name_japanese, type, price_buy, price_sell, "; $col .= "weight, defence, `range`, slots, equip_jobs, equip_upper, "; - $col .= "equip_genders, equip_locations, weapon_level, equip_level, refineable, "; + $col .= "equip_genders, equip_locations, weapon_level, equip_level_min, refineable, "; $col .= "view, script, equip_script, unequip_script, "; - $col .= ($server->isRenewal) ? "`atk:matk`" : "attack"; + $col .= ($server->isRenewal) ? "atk, matk" : "atk"; $bind = array( $copyID, $item->name_english, $item->name_japanese, $item->type, $item->price_buy, $item->price_sell, $item->weight, $item->defence, $item->range, $item->slots, $item->equip_jobs, $item->equip_upper, - $item->equip_genders, $item->equip_locations, $item->weapon_level, $item->equip_level, $item->refineable, - $item->view, $item->script, $item->equip_script, $item->unequip_script, $item->attack + $item->equip_genders, $item->equip_locations, $item->weapon_level, $item->equip_level_min, $item->refineable, + $item->view, $item->script, $item->equip_script, $item->unequip_script, $item->atk ); + if ($server->isRenewal) { + array_push($bind, 'matk'); + } + $sql = "INSERT INTO {$server->charMapDatabase}.item_db2 ($col) VALUES (".implode(',', array_fill(0, count($bind), '?')).")"; $sth = $server->connection->getStatement($sql); $res = $sth->execute($bind); diff --git a/modules/item/edit.php b/modules/item/edit.php index 97f5db89..519c8f79 100644 --- a/modules/item/edit.php +++ b/modules/item/edit.php @@ -21,9 +21,11 @@ } $col = "id, view, type, name_english, name_japanese, slots, price_buy, price_sell, weight/10 AS weight, "; -$col .= "defence, `range`, weapon_level, equip_level AS equip_level_min, refineable, equip_locations, equip_upper, "; -$col .= "equip_jobs, equip_genders, script, equip_script, unequip_script, origin_table, "; -$col .= $server->isRenewal ? '`atk:matk` AS attack' : 'attack'; +$col .= "defence, `range`, weapon_level, equip_level_min, equip_level_max, refineable, equip_locations, equip_upper, "; +$col .= "equip_jobs, equip_genders, script, equip_script, unequip_script, origin_table, atk"; +if ($server->isRenewal) { + $col .= ", matk"; +} $sql = "SELECT $col FROM $tableName WHERE id = ? LIMIT 1"; $sth = $server->connection->getStatement($sql); $sth->execute(array($itemID)); @@ -43,15 +45,15 @@ $npcBuy = $params->get('npc_buy'); $npcSell = $params->get('npc_sell'); $weight = $params->get('weight'); - $attack = $params->get('attack'); + $atk = $params->get('atk'); $matk = $params->get('matk'); $defense = $params->get('defense'); $range = $params->get('range'); $weaponLevel = $params->get('weapon_level'); + $refineable = $params->get('refineable'); + $equipLocs = $params->get('equip_locations'); $equipLevelMin = $params->get('equip_level_min'); $equipLevelMax = $params->get('equip_level_max'); - $refineable = $params->get('refineable'); - $equipLoc = $params->get('equip_locations'); if (count($typeSplit = explode('-', $type)) == 2) { $type = $typeSplit[0]; @@ -67,26 +69,24 @@ $npcBuy = $item->price_buy; $npcSell = $item->price_sell; $weight = $item->weight; + $atk = $item->atk; $defense = $item->defence; $range = $item->range; $weaponLevel = $item->weapon_level; $refineable = $item->refineable; - $equipLoc = $item->equip_locations; + $equipLocs = $item->equip_locations; + $equipLevelMin = $item->equip_level_min; + $equipLevelMax = $item->equip_level_max; - if($server->isRenewal) { - $item = $this->itemFieldExplode($item, 'attack', ':', array('attack','matk')); - $item = $this->itemFieldExplode($item, 'equip_level_min', ':', array('equip_level_min','equip_level_max')); - - $matk = $item->matk; - $equipLevelMax = $item->equip_level_max; + if ($server->isRenewal) { + $matk = $item->matk; } - - $attack = $item->attack; - $equipLevelMin = $item->equip_level_min; } + if ($item->equip_upper) { $item->equip_upper = Flux::equipUpperToArray($item->equip_upper); } + if ($item->equip_jobs) { $item->equip_jobs = Flux::equipJobsToArray($item->equip_jobs); } @@ -119,25 +119,119 @@ } if (count($_POST) && $params->get('edititem')) { - // Sanitize to NULL: viewid, slots, npcbuy, npcsell, weight, attack, defense, range, weaponlevel, equiplevel + // Sanitize to NULL $nullables = array( - 'viewID', 'slots', 'npcBuy', 'npcSell', 'weight', 'attack', 'defense', - 'range', 'weaponLevel', 'equipLevelMin', 'script', 'equipScript', 'unequipScript' + 'viewID', 'slots', 'npcBuy', 'npcSell', 'weight', 'atk', 'defense', 'range', 'refineable', + 'weaponLevel', 'equipLevelMin', 'equipLevelMax', 'script', 'equipScript', 'unequipScript' ); + // If renewal is enabled, sanitize matk and equipLevelMax to NULL if($server->isRenewal) { - array_push($nullables, 'matk', 'equipLevelMax'); + array_push($nullables, 'matk'); } + foreach ($nullables as $nullable) { if (trim($$nullable) == '') { $$nullable = null; } } + + // NPC Buy/Sell is defaulted to twice/half the sell/buy price, or a zero value if both are null. + if (is_null($npcBuy) && is_null($npcSell)) { + $npcBuy = 0; + $npcSell = 0; + } + else if (is_null($npcBuy)) { + $npcBuy = $npcSell * 2; + } + else if (is_null($npcSell)) { + $npcSell = $npcBuy / 2; + } - // Weight is defaulted to an zero value. + // Weight is defaulted to a zero value. if (is_null($weight)) { $weight = 0; } + + // ATK is defaulted to a zero value. + if (is_null($atk)) { + $atk = 0; + } + + // MATK is defaulted to a zero value. + if ($server->isRenewal && is_null($matk)) { + $matk = 0; + } + + // Defence is defaulted to a zero value. + if (is_null($defense)) { + $defense = 0; + } + + // Range is defaulted to a zero value. + if (is_null($range)) { + $range = 0; + } + + // Slots is defaulted to a zero value. + if (is_null($slots)) { + $slots = 0; + } + + // Equip Jobs is defaulted to "All Jobs". + if (is_null($equipJobs)) { + $equipJobs = 0xffffffff; + } + + // Equip Upper is defaulted to "No Restrictions". + if (is_null($equipJobs)) { + $equipJobs = 0x63; + } + + // Equip Location is defaulted to a zero value. + if (is_null($equipLocs)) { + $equipLocs = 0; + } + + // Weapon Level is defaulted to a zero value. + if (is_null($weaponLevel)) { + $weaponLevel = 0; + } + + // Equip Level Minimum is defaulted to a zero value. + if (is_null($equipLevelMin)) { + $equipLevelMin = 0; + } + + // Equip Level Maximum is defaulted to server default. + if (is_null($equipLevelMax)) { + $equipLevelMax = $server->maxBaseLevel; + } + + // Refineable is defaulted to true for types 4 or 5. + if (is_null($refineable) && ($type == 4 || $type == 5)) { + $refineable = 1; + } + + // View ID is defaulted to a zero value. + if (is_null($viewID)) { + $viewID = 0; + } + + // Script is defaulted to blank text. + if (is_null($script)) { + $script = ''; + } + + // Equip Script is defaulted to blank text. + if (is_null($equipScript)) { + $equipScript = ''; + } + + // Unequip Script is defaulted to blank text. + if (is_null($unequipScript)) { + $unequipScript = ''; + } // Refineable should be 1 or 0 if it's not null. if (!is_null($refineable)) { @@ -154,7 +248,7 @@ $errorMessage = 'View ID must be a number.'; } elseif (!$identifier) { - $errorMessage = 'You must specify an identifer.'; + $errorMessage = 'You must specify an identifier.'; } elseif (!$itemName) { $errorMessage = 'You must specify an item name.'; @@ -171,8 +265,8 @@ elseif (!is_null($weight) && !ctype_digit($weight)) { $errorMessage = 'Weight must be a number.'; } - elseif (!is_null($attack) && !ctype_digit($attack)) { - $errorMessage = 'Attack must be a number.'; + elseif (!is_null($atk) && !ctype_digit($atk)) { + $errorMessage = 'ATK must be a number.'; } elseif (!is_null($matk) && !ctype_digit($matk)) { $errorMessage = 'MATK must be a number.'; @@ -214,22 +308,19 @@ } } if (empty($errorMessage)) { - $equipLevel = $equipLevelMin; - if($server->isRenewal && !is_null($equipLevelMax)) { - $equipLevel .= ':'. $equipLevelMax; - } - $cols = array('id', 'name_english', 'name_japanese', 'type', 'weight', 'equip_locations'); - $bind = array($itemID, $identifier, $itemName, $type, $weight*10, $equipLoc); + $bind = array($itemID, $identifier, $itemName, $type, $weight*10, $equipLocs); $vals = array( 'view' => $viewID, 'slots' => $slots, 'price_buy' => $npcBuy, 'price_sell' => $npcSell, + 'atk' => $atk, 'defence' => $defense, '`range`' => $range, 'weapon_level' => $weaponLevel, - 'equip_level' => $equipLevel, + 'equip_level_min'=> $equipLevelMin, + 'equip_level_max'=> $equipLevelMax, 'script' => $script, 'equip_script' => $equipScript, 'unequip_script' => $unequipScript, @@ -237,22 +328,11 @@ ); if($server->isRenewal) { - if(!is_null($matk)) { - $atk = $attack .':'. $matk; - } - else { - $atk = $attack; - } $vals = array_merge($vals, array( - '`atk:matk`' => $atk + 'matk' => $matk )); } - else { - $vals = array_merge($vals, array( - 'attack' => $attack - )); - } - + foreach ($vals as $col => $val) { $cols[] = $col; $bind[] = $val; diff --git a/modules/item/index.php b/modules/item/index.php index 9c995e63..0db39a66 100644 --- a/modules/item/index.php +++ b/modules/item/index.php @@ -32,18 +32,18 @@ $opValues = array_keys($opMapping); $itemName = $params->get('name'); $itemType = $params->get('type'); - $equipLoc = $params->get('equip_loc'); + $equipLocs = $params->get('equip_loc'); $npcBuy = $params->get('npc_buy'); $npcBuyOp = $params->get('npc_buy_op'); $npcSell = $params->get('npc_sell'); $npcSellOp = $params->get('npc_sell_op'); $weight = $params->get('weight'); $weightOp = $params->get('weight_op'); - $attack = $params->get('attack'); - $attackOp = $params->get('attack_op'); + $atk = $params->get('atk'); + $atkOp = $params->get('atk_op'); if ($server->isRenewal) { - $matk = $params->get('matk'); - $matkOp = $params->get('matk_op'); + $matk = $params->get('matk'); + $matkOp = $params->get('matk_op'); } $defense = $params->get('defense'); $defenseOp = $params->get('defense_op'); @@ -106,19 +106,19 @@ } } - if ($equipLoc !== false && $equipLoc !== '-1') { - if(is_numeric($equipLoc) && (floatval($equipLoc) == intval($equipLoc))) { + if ($equipLocs !== false && $equipLocs !== '-1') { + if(is_numeric($equipLocs) && (floatval($equipLocs) == intval($equipLocs))) { $equipLocationCombinations = Flux::config('EquipLocationCombinations')->toArray(); - if (array_key_exists($equipLoc, $equipLocationCombinations) && $equipLocationCombinations[$equipLoc]) { - if ($equipLoc === '0') { + if (array_key_exists($equipLocs, $equipLocationCombinations) && $equipLocationCombinations[$equipLocs]) { + if ($equipLocs === '0') { $sqlpartial .= "AND (equip_locations = 0 OR equip_locations IS NULL) "; } else { $sqlpartial .= "AND equip_locations = ? "; - $bind[] = $equipLoc; + $bind[] = $equipLocs; } } } else { - $combinationName = preg_quote($equipLoc, '/'); + $combinationName = preg_quote($equipLocs, '/'); $equipLocationCombinations = preg_grep("/.*?$combinationName.*?/i", Flux::config('EquipLocationCombinations')->toArray()); if (count($equipLocationCombinations)) { @@ -174,14 +174,14 @@ } } - if (in_array($attackOp, $opValues) && trim($attack) != '') { - $op = $opMapping[$attackOp]; - if ($op == '=' && $attack === '0') { + if (in_array($atkOp, $opValues) && trim($atk) != '') { + $op = $opMapping[$atkOp]; + if ($op == '=' && $atk === '0') { $sqlpartial .= "AND (atk IS NULL OR atk = 0) "; } else { $sqlpartial .= "AND atk $op ? "; - $bind[] = $attack; + $bind[] = $atk; } } @@ -264,7 +264,7 @@ $paginator = $this->getPaginator($sth->fetch()->total); $sortable = array( 'item_id' => 'asc', 'name', 'type', 'equip_locations', 'price_buy', 'price_sell', 'weight', - 'attack', 'defense', 'range', 'slots', 'refineable', 'cost', 'origin_table' + 'atk', 'defense', 'range', 'slots', 'refineable', 'cost', 'origin_table' ); if($server->isRenewal) { $sortable[] = 'matk'; @@ -274,10 +274,7 @@ $col = "origin_table, items.id AS item_id, name_japanese AS name, type, "; $col .= "IFNULL(equip_locations, 0) AS equip_locations, price_buy, weight/10 AS weight, "; $col .= "defence AS defense, `range`, slots, refineable, cost, $shopTable.id AS shop_item_id, "; - $col .= "IFNULL(price_sell, FLOOR(price_buy/2)) AS price_sell, view, atk AS attack"; - if ($server->isRenewal) { - $col .= ", matk"; - } + $col .= "IFNULL(price_sell, FLOOR(price_buy/2)) AS price_sell, view, atk, matk"; $sql = $paginator->getSQL("SELECT $col FROM $tableName $sqlpartial GROUP BY items.id"); $sth = $server->connection->getStatement($sql); diff --git a/modules/item/view.php b/modules/item/view.php index 6f74c459..5a351ab7 100644 --- a/modules/item/view.php +++ b/modules/item/view.php @@ -21,15 +21,11 @@ $col = 'items.id AS item_id, name_english AS identifier, '; $col .= 'name_japanese AS name, type, '; $col .= 'price_buy, price_sell, weight/10 AS weight, defence, `range`, slots, '; -$col .= 'equip_jobs, equip_upper, equip_genders, equip_locations, '; -$col .= 'weapon_level, refineable, view, script, '; -$col .= 'equip_script, unequip_script, origin_table, '; -$col .= "$shopTable.cost, $shopTable.id AS shop_item_id, "; -$col .= "atk AS attack"; +$col .= 'equip_jobs, equip_upper, equip_genders, equip_locations, equip_level_min, equip_level_max, '; +$col .= 'weapon_level, refineable, view, script, equip_script, unequip_script, origin_table, '; +$col .= "$shopTable.cost, $shopTable.id AS shop_item_id, atk"; if ($server->isRenewal) { - $col .= ", equip_level_min, equip_level_max, matk"; -} else { - $col .= ", equip_level AS equip_level_min"; + $col .= ", matk"; } $sql = "SELECT $col FROM {$server->charMapDatabase}.items "; diff --git a/themes/default/item/add.php b/themes/default/item/add.php index f2c1c363..878f37a0 100644 --- a/themes/default/item/add.php +++ b/themes/default/item/add.php @@ -53,19 +53,22 @@ - - + + - isRenewal): ?> + isRenewal): ?> + + + + - diff --git a/themes/default/item/edit.php b/themes/default/item/edit.php index 0490fe68..50835cbc 100644 --- a/themes/default/item/edit.php +++ b/themes/default/item/edit.php @@ -65,19 +65,22 @@ - - - + + + - isRenewal): ?> + isRenewal): ?> + + + + - @@ -90,7 +93,7 @@

- - + + + - + ... isRenewal): ?> @@ -147,7 +147,7 @@ sortableColumn('price_buy', 'NPC Buy') ?> sortableColumn('price_sell', 'NPC Sell') ?> sortableColumn('weight', 'Weight') ?> - sortableColumn('attack', 'Attack') ?> + sortableColumn('atk', 'ATK') ?> isRenewal): ?> sortableColumn('matk', 'MATK') ?> @@ -190,7 +190,7 @@ price_buy) ?> price_sell) ?> weight, 1) ?> - attack) ?> + atk) ?> isRenewal): ?> matk) ?> diff --git a/themes/default/item/view.php b/themes/default/item/view.php index 8c2ffa50..b1e4d331 100644 --- a/themes/default/item/view.php +++ b/themes/default/item/view.php @@ -83,15 +83,19 @@ - Attack - attack) ?> + ATK + atk) ?> Min Equip Level equip_level_min) ?> - isRenewal): ?> + isRenewal): ?> MATK matk) ?> + + + + Max Equip Level equip_level_max == 0): ?> @@ -101,7 +105,6 @@ - Equip Locations diff --git a/themes/emphaino/item/add.php b/themes/emphaino/item/add.php index f2c1c363..878f37a0 100644 --- a/themes/emphaino/item/add.php +++ b/themes/emphaino/item/add.php @@ -53,19 +53,22 @@ - - + + - isRenewal): ?> + isRenewal): ?> + + + + - diff --git a/themes/emphaino/item/edit.php b/themes/emphaino/item/edit.php index 0490fe68..50835cbc 100644 --- a/themes/emphaino/item/edit.php +++ b/themes/emphaino/item/edit.php @@ -65,19 +65,22 @@ - - - + + + - isRenewal): ?> + isRenewal): ?> + + + + - @@ -90,7 +93,7 @@

- - + + + - + ... isRenewal): ?> @@ -147,7 +147,7 @@ sortableColumn('price_buy', 'NPC Buy') ?> sortableColumn('price_sell', 'NPC Sell') ?> sortableColumn('weight', 'Weight') ?> - sortableColumn('attack', 'Attack') ?> + sortableColumn('atk', 'ATK') ?> isRenewal): ?> sortableColumn('matk', 'MATK') ?> @@ -190,7 +190,7 @@ price_buy) ?> price_sell) ?> weight, 1) ?> - attack) ?> + atk) ?> isRenewal): ?> matk) ?> diff --git a/themes/emphaino/item/view.php b/themes/emphaino/item/view.php index 8c2ffa50..b1e4d331 100644 --- a/themes/emphaino/item/view.php +++ b/themes/emphaino/item/view.php @@ -83,15 +83,19 @@ - Attack - attack) ?> + ATK + atk) ?> Min Equip Level equip_level_min) ?> - isRenewal): ?> + isRenewal): ?> MATK matk) ?> + + + + Max Equip Level equip_level_max == 0): ?> @@ -101,7 +105,6 @@ - Equip Locations