diff --git a/GameEngine/Automation.php b/GameEngine/Automation.php index 5ded8603..d2f3fb95 100644 --- a/GameEngine/Automation.php +++ b/GameEngine/Automation.php @@ -1232,9 +1232,16 @@ class Automation { for ($i = 1; $i <= 40; $i++) { if ($palacelevel['f' . $i . 't'] == 26) $plevel = $i; elseif ($palacelevel['f' . $i . 't'] == 25) $plevel = $i; + elseif ($palacelevel['f' . $i . 't'] == 44) $plevel = $i; // Command Center (Huni) } - if ($palacelevel['f' . $plevel . 't'] == 26) { + // Command Center: sloturi de expansiune ca la Palat (10 -> 1, 15 -> 2, 20 -> 3) + if ($palacelevel['f' . $plevel . 't'] == 44) { + if ($palacelevel['f' . $plevel] < 10) $canconquer = 0; + elseif ($palacelevel['f' . $plevel] < 15) $canconquer = 1; + elseif ($palacelevel['f' . $plevel] < 20) $canconquer = 2; + else $canconquer = 3; + } elseif ($palacelevel['f' . $plevel . 't'] == 26) { if ($palacelevel['f' . $plevel] < 10) $canconquer = 0; elseif ($palacelevel['f' . $plevel] < 15) $canconquer = 1; elseif ($palacelevel['f' . $plevel] < 20) $canconquer = 2; @@ -1270,7 +1277,7 @@ class Automation { return ['info_chief' => $info_chief, 'chiefing_village' => $chiefing_village, 'village_destroyed' => $village_destroyed]; } - if ($database->getFieldLevelInVillage($data['to'], '25, 26')) { + if ($database->getFieldLevelInVillage($data['to'], '25, 26, 44')) { $info_chief = $chief_pic . ',' . rc_tok('RC_RESIDENCE_NOT_DESTROYED'); return ['info_chief' => $info_chief, 'chiefing_village' => $chiefing_village, 'village_destroyed' => $village_destroyed]; } diff --git a/GameEngine/Battle.php b/GameEngine/Battle.php index 719d265f..f3c79cc6 100644 --- a/GameEngine/Battle.php +++ b/GameEngine/Battle.php @@ -152,14 +152,16 @@ class Battle { global $database; $heroarray = $database->getHero($uid); if (empty($heroarray) || empty($heroarray[0])) { + // ob/db sunt MULTIPLICATORI: 0 ar anula toata puterea armatei ($ap *= ob). + // Un erou lipsa/invalid trebuie sa fie neutru, nu catastrofal. return [ 'heroid' => 0, 'unit' => '', 'atk' => 0, 'di' => 0, 'dc' => 0, - 'ob' => 0, - 'db' => 0, + 'ob' => 1, + 'db' => 1, 'health' => 0 ]; } @@ -168,14 +170,16 @@ class Battle { $heroUnit = $hero['unit']; if (!isset($GLOBALS['h'.$heroUnit])) { + // ob/db sunt MULTIPLICATORI: 0 ar anula toata puterea armatei ($ap *= ob). + // Un erou lipsa/invalid trebuie sa fie neutru, nu catastrofal. return [ 'heroid' => 0, 'unit' => '', 'atk' => 0, 'di' => 0, 'dc' => 0, - 'ob' => 0, - 'db' => 0, + 'ob' => 1, + 'db' => 1, 'health' => 0 ]; } @@ -784,8 +788,9 @@ class Battle { $units['Att_unit']['hero'] = $Attacker['uhero']; - $ap *= $atkhero['ob']; - $cap *= $atkhero['ob']; + $heroOb = (!empty($atkhero['ob']) && $atkhero['ob'] > 0) ? $atkhero['ob'] : 1; + $ap *= $heroOb; + $cap *= $heroOb; // T4 hero port (Phase 5): hunting horn boosts the HERO's own // contribution vs the Natars (uid 3); weapon adds +N attack per diff --git a/GameEngine/Data/hero_items.php b/GameEngine/Data/hero_items.php index 947b92ef..9db1e291 100644 --- a/GameEngine/Data/hero_items.php +++ b/GameEngine/Data/hero_items.php @@ -232,6 +232,80 @@ $heroItemCatalog = array( 144 => array('name' => "Haeduan's Lance", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 26, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 26, 'per_unit' => 12))), 145 => array('name' => "Haeduan's Heavy Lance", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 26, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 26, 'per_unit' => 15))), + /* ---------------- WEAPONS: new tribes (Huns / Egyptians / Spartans / Vikings) ---------------- + * Same unit-bound design as the base weapons. Tribe is derived automatically + * by heroItemTribe() from the 'unit' key, so adventure drops and the auction + * filter already handle them without any code change. IDs start at 301 to + * leave 200-299 free for consumables. */ + + // ===== Huns ===== + 301 => array('name' => "Warrior's Hatchet", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 51, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 51, 'per_unit' => 3))), + 302 => array('name' => "Warrior's Axe", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 51, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 51, 'per_unit' => 4))), + 303 => array('name' => "Warrior's War Axe", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 51, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 51, 'per_unit' => 5))), + 304 => array('name' => "Archer's Short Bow", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 53, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 53, 'per_unit' => 6))), + 305 => array('name' => "Archer's Bow", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 53, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 53, 'per_unit' => 8))), + 306 => array('name' => "Archer's Long Bow", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 53, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 53, 'per_unit' => 10))), + 307 => array('name' => "Steppe Short Saber", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 54, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 54, 'per_unit' => 6))), + 308 => array('name' => "Steppe Saber", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 54, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 54, 'per_unit' => 8))), + 309 => array('name' => "Steppe Long Saber", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 54, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 54, 'per_unit' => 10))), + 310 => array('name' => "Lancer's Light Lance", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 55, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 55, 'per_unit' => 9))), + 311 => array('name' => "Lancer's Lance", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 55, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 55, 'per_unit' => 12))), + 312 => array('name' => "Lancer's Heavy Lance", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 55, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 55, 'per_unit' => 15))), + 313 => array('name' => "Elite Light Blade", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 56, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 56, 'per_unit' => 9))), + 314 => array('name' => "Elite Blade", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 56, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 56, 'per_unit' => 12))), + 315 => array('name' => "Elite Heavy Blade", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 56, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 56, 'per_unit' => 15))), + + // ===== Egyptians ===== + 316 => array('name' => "Militia's Club", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 61, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 61, 'per_unit' => 3))), + 317 => array('name' => "Militia's Mace", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 61, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 61, 'per_unit' => 4))), + 318 => array('name' => "Militia's War Mace", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 61, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 61, 'per_unit' => 5))), + 319 => array('name' => "Fighter's Short Sword", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 62, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 62, 'per_unit' => 3))), + 320 => array('name' => "Fighter's Sword", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 62, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 62, 'per_unit' => 4))), + 321 => array('name' => "Fighter's Long Sword", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 62, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 62, 'per_unit' => 5))), + 322 => array('name' => "Guardian's Spear", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 63, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 63, 'per_unit' => 3))), + 323 => array('name' => "Guardian's Pike", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 63, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 63, 'per_unit' => 4))), + 324 => array('name' => "Guardian's War Pike", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 63, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 63, 'per_unit' => 5))), + 325 => array('name' => "Chariot Short Whip", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 65, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 65, 'per_unit' => 6))), + 326 => array('name' => "Chariot Whip", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 65, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 65, 'per_unit' => 8))), + 327 => array('name' => "Chariot War Whip", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 65, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 65, 'per_unit' => 10))), + 328 => array('name' => "Royal Light Blade", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 66, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 66, 'per_unit' => 9))), + 329 => array('name' => "Royal Blade", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 66, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 66, 'per_unit' => 12))), + 330 => array('name' => "Royal Heavy Blade", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 66, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 66, 'per_unit' => 15))), + + // ===== Spartans ===== + 331 => array('name' => "Hoplite's Short Spear", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 71, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 71, 'per_unit' => 3))), + 332 => array('name' => "Hoplite's Spear", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 71, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 71, 'per_unit' => 4))), + 333 => array('name' => "Hoplite's Long Spear", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 71, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 71, 'per_unit' => 5))), + 334 => array('name' => "Sentinel's Short Sword", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 72, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 72, 'per_unit' => 3))), + 335 => array('name' => "Sentinel's Sword", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 72, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 72, 'per_unit' => 4))), + 336 => array('name' => "Sentinel's Long Sword", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 72, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 72, 'per_unit' => 5))), + 337 => array('name' => "Twin's Short Blade", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 73, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 73, 'per_unit' => 3))), + 338 => array('name' => "Twin's Blade", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 73, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 73, 'per_unit' => 4))), + 339 => array('name' => "Twin's Long Blade", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 73, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 73, 'per_unit' => 5))), + 340 => array('name' => "Spartan Short Saber", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 75, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 75, 'per_unit' => 6))), + 341 => array('name' => "Spartan Saber", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 75, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 75, 'per_unit' => 8))), + 342 => array('name' => "Spartan Long Saber", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 75, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 75, 'per_unit' => 10))), + 343 => array('name' => "Elite Light Lance", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 76, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 76, 'per_unit' => 9))), + 344 => array('name' => "Elite Lance", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 76, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 76, 'per_unit' => 12))), + 345 => array('name' => "Elite Heavy Lance", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 76, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 76, 'per_unit' => 15))), + + // ===== Vikings ===== + 346 => array('name' => "Raider's Hatchet", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 81, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 81, 'per_unit' => 3))), + 347 => array('name' => "Raider's Axe", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 81, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 81, 'per_unit' => 4))), + 348 => array('name' => "Raider's War Axe", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 81, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 81, 'per_unit' => 5))), + 349 => array('name' => "Bowman's Short Bow", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 83, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 83, 'per_unit' => 3))), + 350 => array('name' => "Bowman's Bow", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 83, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 83, 'per_unit' => 4))), + 351 => array('name' => "Bowman's Long Bow", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 83, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 83, 'per_unit' => 5))), + 352 => array('name' => "Berserker's Cleaver", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 84, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 84, 'per_unit' => 3))), + 353 => array('name' => "Berserker's Great Axe", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 84, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 84, 'per_unit' => 4))), + 354 => array('name' => "Berserker's War Cleaver", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 84, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 84, 'per_unit' => 5))), + 355 => array('name' => "Viking Short Saber", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 85, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 85, 'per_unit' => 6))), + 356 => array('name' => "Viking Saber", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 85, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 85, 'per_unit' => 8))), + 357 => array('name' => "Viking Long Saber", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 85, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 85, 'per_unit' => 10))), + 358 => array('name' => "Huscarl's Light Lance", 'slot' => HSLOT_RIGHT, 'tier' => 1, 'unit' => 86, 'bonus' => array(HB_FIGHT => 500, HB_UNIT_BONUS => array('unit' => 86, 'per_unit' => 9))), + 359 => array('name' => "Huscarl's Lance", 'slot' => HSLOT_RIGHT, 'tier' => 2, 'unit' => 86, 'bonus' => array(HB_FIGHT => 1000, HB_UNIT_BONUS => array('unit' => 86, 'per_unit' => 12))), + 360 => array('name' => "Huscarl's Heavy Lance", 'slot' => HSLOT_RIGHT, 'tier' => 3, 'unit' => 86, 'bonus' => array(HB_FIGHT => 1500, HB_UNIT_BONUS => array('unit' => 86, 'per_unit' => 15))), + /* ---------------- CONSUMABLES (sheet: Consumabile; stackable, bag) ---------------- */ 200 => array('name' => 'Ointment', 'slot' => HSLOT_BAG, 'tier' => 1, 'bonus' => array(HB_HEAL_SELF => 1)), // +1% HP per unit, max 99%, hero must be alive 201 => array('name' => 'Scroll', 'slot' => HSLOT_BAG, 'tier' => 1, 'bonus' => array(HB_SCROLL => 10)), // +10 XP per scroll diff --git a/css/hero_items.css b/css/hero_items.css index 47a42f01..19756f2d 100644 --- a/css/hero_items.css +++ b/css/hero_items.css @@ -3,7 +3,6 @@ (16 columns, catalog order) and this CSS keeps working unchanged. */ .heroT4Item{display:inline-block;width:48px;height:48px;vertical-align:middle; background-image:url('../img/hero/items.png');background-repeat:no-repeat;} - /* Dedicated dorf1/Rally Point movement icons for hero adventures - separate from the shared img.att2/img.def1 classes so swapping this art never touches the normal raid/reinforcement icons. To change the icon: drop @@ -112,12 +111,72 @@ img.adv_back{background-image:url('../img/hero/adv_back.gif');height:16px;width: .heroT4Item.item143{background-position:-144px -288px;} /* Haeduan's Light Lance */ .heroT4Item.item144{background-position:-192px -288px;} /* Haeduan's Lance */ .heroT4Item.item145{background-position:-240px -288px;} /* Haeduan's Heavy Lance */ -.heroT4Item.item200{background-position:-288px -288px;} /* Ointment */ -.heroT4Item.item201{background-position:-336px -288px;} /* Scroll */ -.heroT4Item.item202{background-position:-384px -288px;} /* Bucket of Water */ -.heroT4Item.item203{background-position:-432px -288px;} /* Law Tablet */ -.heroT4Item.item204{background-position:-480px -288px;} /* Book of Wisdom */ -.heroT4Item.item205{background-position:-528px -288px;} /* Artwork */ -.heroT4Item.item206{background-position:-576px -288px;} /* Small Bandage */ -.heroT4Item.item207{background-position:-624px -288px;} /* Bandage */ -.heroT4Item.item208{background-position:-672px -288px;} /* Cage */ +.heroT4Item.item301{background-position:-288px -288px;} /* Warrior's Hatchet */ +.heroT4Item.item302{background-position:-336px -288px;} /* Warrior's Axe */ +.heroT4Item.item303{background-position:-384px -288px;} /* Warrior's War Axe */ +.heroT4Item.item304{background-position:-432px -288px;} /* Archer's Short Bow */ +.heroT4Item.item305{background-position:-480px -288px;} /* Archer's Bow */ +.heroT4Item.item306{background-position:-528px -288px;} /* Archer's Long Bow */ +.heroT4Item.item307{background-position:-576px -288px;} /* Steppe Short Saber */ +.heroT4Item.item308{background-position:-624px -288px;} /* Steppe Saber */ +.heroT4Item.item309{background-position:-672px -288px;} /* Steppe Long Saber */ +.heroT4Item.item310{background-position:-720px -288px;} /* Lancer's Light Lance */ +.heroT4Item.item311{background-position:-0px -336px;} /* Lancer's Lance */ +.heroT4Item.item312{background-position:-48px -336px;} /* Lancer's Heavy Lance */ +.heroT4Item.item313{background-position:-96px -336px;} /* Elite Light Blade */ +.heroT4Item.item314{background-position:-144px -336px;} /* Elite Blade */ +.heroT4Item.item315{background-position:-192px -336px;} /* Elite Heavy Blade */ +.heroT4Item.item316{background-position:-240px -336px;} /* Militia's Club */ +.heroT4Item.item317{background-position:-288px -336px;} /* Militia's Mace */ +.heroT4Item.item318{background-position:-336px -336px;} /* Militia's War Mace */ +.heroT4Item.item319{background-position:-384px -336px;} /* Fighter's Short Sword */ +.heroT4Item.item320{background-position:-432px -336px;} /* Fighter's Sword */ +.heroT4Item.item321{background-position:-480px -336px;} /* Fighter's Long Sword */ +.heroT4Item.item322{background-position:-528px -336px;} /* Guardian's Spear */ +.heroT4Item.item323{background-position:-576px -336px;} /* Guardian's Pike */ +.heroT4Item.item324{background-position:-624px -336px;} /* Guardian's War Pike */ +.heroT4Item.item325{background-position:-672px -336px;} /* Chariot Short Whip */ +.heroT4Item.item326{background-position:-720px -336px;} /* Chariot Whip */ +.heroT4Item.item327{background-position:-0px -384px;} /* Chariot War Whip */ +.heroT4Item.item328{background-position:-48px -384px;} /* Royal Light Blade */ +.heroT4Item.item329{background-position:-96px -384px;} /* Royal Blade */ +.heroT4Item.item330{background-position:-144px -384px;} /* Royal Heavy Blade */ +.heroT4Item.item331{background-position:-192px -384px;} /* Hoplite's Short Spear */ +.heroT4Item.item332{background-position:-240px -384px;} /* Hoplite's Spear */ +.heroT4Item.item333{background-position:-288px -384px;} /* Hoplite's Long Spear */ +.heroT4Item.item334{background-position:-336px -384px;} /* Sentinel's Short Sword */ +.heroT4Item.item335{background-position:-384px -384px;} /* Sentinel's Sword */ +.heroT4Item.item336{background-position:-432px -384px;} /* Sentinel's Long Sword */ +.heroT4Item.item337{background-position:-480px -384px;} /* Twin's Short Blade */ +.heroT4Item.item338{background-position:-528px -384px;} /* Twin's Blade */ +.heroT4Item.item339{background-position:-576px -384px;} /* Twin's Long Blade */ +.heroT4Item.item340{background-position:-624px -384px;} /* Spartan Short Saber */ +.heroT4Item.item341{background-position:-672px -384px;} /* Spartan Saber */ +.heroT4Item.item342{background-position:-720px -384px;} /* Spartan Long Saber */ +.heroT4Item.item343{background-position:-0px -432px;} /* Elite Light Lance */ +.heroT4Item.item344{background-position:-48px -432px;} /* Elite Lance */ +.heroT4Item.item345{background-position:-96px -432px;} /* Elite Heavy Lance */ +.heroT4Item.item346{background-position:-144px -432px;} /* Raider's Hatchet */ +.heroT4Item.item347{background-position:-192px -432px;} /* Raider's Axe */ +.heroT4Item.item348{background-position:-240px -432px;} /* Raider's War Axe */ +.heroT4Item.item349{background-position:-288px -432px;} /* Bowman's Short Bow */ +.heroT4Item.item350{background-position:-336px -432px;} /* Bowman's Bow */ +.heroT4Item.item351{background-position:-384px -432px;} /* Bowman's Long Bow */ +.heroT4Item.item352{background-position:-432px -432px;} /* Berserker's Cleaver */ +.heroT4Item.item353{background-position:-480px -432px;} /* Berserker's Great Axe */ +.heroT4Item.item354{background-position:-528px -432px;} /* Berserker's War Cleaver */ +.heroT4Item.item355{background-position:-576px -432px;} /* Viking Short Saber */ +.heroT4Item.item356{background-position:-624px -432px;} /* Viking Saber */ +.heroT4Item.item357{background-position:-672px -432px;} /* Viking Long Saber */ +.heroT4Item.item358{background-position:-720px -432px;} /* Huscarl's Light Lance */ +.heroT4Item.item359{background-position:-0px -480px;} /* Huscarl's Lance */ +.heroT4Item.item360{background-position:-48px -480px;} /* Huscarl's Heavy Lance */ +.heroT4Item.item200{background-position:-96px -480px;} /* Ointment */ +.heroT4Item.item201{background-position:-144px -480px;} /* Scroll */ +.heroT4Item.item202{background-position:-192px -480px;} /* Bucket of Water */ +.heroT4Item.item203{background-position:-240px -480px;} /* Law Tablet */ +.heroT4Item.item204{background-position:-288px -480px;} /* Book of Wisdom */ +.heroT4Item.item205{background-position:-336px -480px;} /* Artwork */ +.heroT4Item.item206{background-position:-384px -480px;} /* Small Bandage */ +.heroT4Item.item207{background-position:-432px -480px;} /* Bandage */ +.heroT4Item.item208{background-position:-480px -480px;} /* Cage */