diff --git a/localization/locale_dede.php b/localization/locale_dede.php index bf3c04dc..60e73e44 100644 --- a/localization/locale_dede.php +++ b/localization/locale_dede.php @@ -863,7 +863,7 @@ $lang = array( -4 => "Völkerfertigkeiten", -2 => "Talente", -6 => "Haustiere", - -5 => "Reittiere", + -5 => ["Reittiere", 1 => "Reittiere", 2 => "Flugreittiere", 3 => "Verschiedene"], -3 => array( "Begleiterfertigkeiten", 782 => "Ghul", 270 => "Allgemein", 213 => "Aasvogel", 210 => "Bär", 763 => "Drachenfalke", 211 => "Eber", 767 => "Felshetzer", 653 => "Fledermaus", 788 => "Geisterbestie", 215 => "Gorilla", 654 => "Hyäne", 209 => "Katze", 787 => "Kernhund", diff --git a/localization/locale_enus.php b/localization/locale_enus.php index f9160cee..1cf74a13 100644 --- a/localization/locale_enus.php +++ b/localization/locale_enus.php @@ -859,11 +859,11 @@ $lang = array( 'cat' => array( // as per menu in locale_enus.js 7 => "Class Skills", // classList -13 => "Glyphs", // classList - -11 => array("Proficiencies", 8 => "Armor", 6 => "Weapon", 10 => "Languages"), + -11 => ["Proficiencies", 8 => "Armor", 6 => "Weapon", 10 => "Languages"], -4 => "Racial Traits", -2 => "Talents", // classList -6 => "Companions", - -5 => "Mounts", + -5 => ["Mounts", 1 => "Ground Mounts", 2 => "Flying Mounts", 3 => "Miscellaneous"], -3 => array( "Pet Skills", 782 => "Ghoul", 270 => "Generic", 653 => "Bat", 210 => "Bear", 655 => "Bird of Prey", 211 => "Boar", 213 => "Carrion Bird", 209 => "Cat", 780 => "Chimaera", 787 => "Core Hound", 214 => "Crab", 212 => "Crocolisk", 781 => "Devilsaur", diff --git a/localization/locale_eses.php b/localization/locale_eses.php index e25bd537..b1462167 100644 --- a/localization/locale_eses.php +++ b/localization/locale_eses.php @@ -863,7 +863,7 @@ $lang = array( -4 => "Habilidades de raza", -2 => "Talentos", -6 => "Compañeros", - -5 => "Monturas", + -5 => ["Monturas", 1=> "Monturas terrestres", 2 => "Monturas voladoras", 3 => "Miscelánea"], -3 => array( "Habilidades de mascota", 782 => "Necrófago", 270 => "Genérico", 766 => "Acechador deformado", 203 => "Araña", 655 => "Ave rapaz", 785 => "Avispa", 788 => "Bestia espíritu", 787 => "Can del Núcleo", 214 => "Cangrejo", 213 => "Carroñero", 212 => "Crocolisco", 781 => "Demosaurio", 767 => "Devastador", diff --git a/localization/locale_frfr.php b/localization/locale_frfr.php index 85f2e269..cfb523cd 100644 --- a/localization/locale_frfr.php +++ b/localization/locale_frfr.php @@ -864,7 +864,7 @@ $lang = array( -4 => "Traits raciaux", -2 => "Talents", -6 => "Compagnons", - -5 => "Montures", + -5 => ["Montures", 1=> "Montures Terrestres", 2 => "Montures volantes", 3 => "Divers"], -3 => array( "Habilité de familier", 782 => "Goule", 270 => "Générique", 203 => "Araignée", 213 => "Charognard", 653 => "Chauve-souris", 787 => "Chien du Magma", 780 => "Chimère", 214 => "Crabe", 212 => "Crocilisque", 781 => "Diablosaure", 788 => "Esprit de bête", 763 => "Faucon-dragon", 209 => "Félin", diff --git a/localization/locale_ruru.php b/localization/locale_ruru.php index ada5abbb..b5ea76b1 100644 --- a/localization/locale_ruru.php +++ b/localization/locale_ruru.php @@ -863,7 +863,7 @@ $lang = array( -4 => "Классовые навыки", -2 => "Таланты", -6 => "Спутники", - -5 => "Транспорт", + -5 => ["Транспорт", 1=> "Наземные средства передвижения", 2 => "Летающие средства передвижения", 3 => "Разное"], -3 => array( "Способности питомцев", 782 => "Вурдалак", 270 => "Общий", 211 => "Вепрь", 208 => "Волк", 654 => "Гиена", 787 => "Гончая Недр", 215 => "Горилла", 218 => "Долгоног", 763 => "Дракондор", 788 => "Дух зверя", 781 => "Дьявозавр", 768 => "Змей", 209 => "Кошка", diff --git a/localization/locale_zhcn.php b/localization/locale_zhcn.php index d6a71897..7240bb6e 100644 --- a/localization/locale_zhcn.php +++ b/localization/locale_zhcn.php @@ -864,7 +864,7 @@ $lang = array( -4 => "种族特性", -2 => "天赋", -6 => "伙伴", - -5 => "坐骑", + -5 => ["坐骑", 1=> "陆地坐骑", 2 => "飞行坐骑", 3 => "其它"], -3 => array( "宠物能力", 782 => "食尸鬼", 270 => "通用", 653 => "蝙蝠", 210 => "熊", 655 => "猛禽", 211 => "野猪", 213 => "食腐鸟", 209 => "豹", 780 => "奇美拉", 787 => "熔岩犬", 214 => "螃蟹", 212 => "鳄鱼", 781 => "魔暴龙", diff --git a/pages/spell.php b/pages/spell.php index 97da8d00..6d7f0b8d 100644 --- a/pages/spell.php +++ b/pages/spell.php @@ -102,11 +102,19 @@ class SpellPage extends GenericPage break; case -7: // only spells unique in skillLineAbility will always point to the right skillLine :/ if ($cf & SPELL_CU_PET_TALENT_TYPE0) - $this->path[] = 411; // Ferocity + $this->path[] = 411; // Ferocity else if ($cf & SPELL_CU_PET_TALENT_TYPE1) - $this->path[] = 409; // Tenacity + $this->path[] = 409; // Tenacity else if ($cf & SPELL_CU_PET_TALENT_TYPE2) - $this->path[] = 410; // Cunning + $this->path[] = 410; // Cunning + break; + case -5: + if ($this->subject->getField('effect2AuraId') == 207 || $this->subject->getField('effect3AuraId') == 207) + $this->path[] = 2; // flying (also contains 32, so checked first) + else if ($this->subject->getField('effect2AuraId') == 32 || $this->subject->getField('effect3AuraId') == 32) + $this->path[] = 1; // ground + else + $this->path[] = 3; // misc } } diff --git a/pages/spells.php b/pages/spells.php index fa2e0dd0..c4107fea 100644 --- a/pages/spells.php +++ b/pages/spells.php @@ -31,7 +31,7 @@ class SpellsPage extends GenericPage ), -3 => [782, 270, 653, 210, 655, 211, 213, 209, 780, 787, 214, 212, 781, 763, 215, 654, 775, 764, 217, 767, 786, 236, 768, 783, 203, 788, 765, 218, 251, 766, 785, 656, 208, 784, 761, 189, 188, 205, 204], // Pet Spells => Skill -4 => true, // Racial Traits - -5 => true, // Mounts + -5 => [1, 2, 3], // Mounts [Ground, Flying, Misc] -6 => true, // Companions -7 => [409, 410, 411], // PetTalents => TalentTabId -8 => true, // NPC Abilities @@ -102,6 +102,7 @@ class SpellsPage extends GenericPage $conditions = []; $visibleCols = []; $hiddenCols = []; + $extraCols = []; $tabData = ['data' => []]; // the next lengthy ~250 lines determine $conditions and lvParams @@ -171,6 +172,26 @@ class SpellsPage extends GenericPage case -9: // GM Spells array_push($visibleCols, 'level'); case -5: // Mounts + array_push($extraCols, "\$Listview.funcBox.createSimpleCol('speed', 'speed', '90px', 'speed')"); + + if (isset($this->category[1])) + { + switch ($this->category[1]) + { + case 1: + $conditions[] = ['OR', + ['AND', ['effect2AuraId', 32], ['effect3AuraId', 207, '!']], + ['AND', ['effect3AuraId', 32], ['effect2AuraId', 207, '!']] + ]; + break; + case 2: + $conditions[] = ['OR', ['effect2AuraId', 207], ['effect3AuraId', 207]]; + break; + case 3: + $conditions[] = ['AND', ['effect2AuraId', 32, '!'], ['effect2AuraId', 207, '!'], ['effect3AuraId', 32, '!'],['effect3AuraId', 207, '!']]; + break; + } + } case -6: // Companions $conditions[] = ['s.typeCat', $this->category[0]]; @@ -365,7 +386,29 @@ class SpellsPage extends GenericPage $spells = new SpellList($conditions); $this->extendGlobalData($spells->getJSGlobals(GLOBALINFO_SELF | GLOBALINFO_RELATED)); - $tabData['data'] = array_values($spells->getListviewData()); + + $lvData = $spells->getListviewData(); + + // add speed-data for mounts + if ($this->category && $this->category[0] == -5) + { + foreach ($spells->iterate() as $spellId => $__) + { + $lvData[$spellId]['speed'] = 0; + + if (in_array($spells->getField('effect2AuraId'), [32, 207, 58])) + $lvData[$spellId]['speed'] = $spells->getField('effect2BasePoints') + 1; + if (in_array($spells->getField('effect3AuraId'), [32, 207, 58])) + $lvData[$spellId]['speed'] = max($lvData[$spellId]['speed'], $spells->getField('effect3BasePoints') + 1); + + if (!$lvData[$spellId]['speed'] && ($spells->getField('effect2AuraId') == 4 || $spells->getField('effect3AuraId') == 4)) + $lvData[$spellId]['speed'] = '?'; + else + $lvData[$spellId]['speed'] = '+'.$lvData[$spellId]['speed'].'%'; + } + } + + $tabData['data'] = array_values($lvData); // recreate form selection $this->filter = $this->filterObj->getForm(); @@ -377,6 +420,8 @@ class SpellsPage extends GenericPage $this->filter['initData']['ec'] = $ec; $tabData['extraCols'] = '$fi_getExtraCols(fi_extraCols, 0, 0)'; } + else if ($extraCols) + $tabData['extraCols'] = $extraCols; if ($sc = $this->filterObj->getSetCriteria()) { diff --git a/static/js/locale_dede.js b/static/js/locale_dede.js index 58a3caf8..b187e487 100644 --- a/static/js/locale_dede.js +++ b/static/js/locale_dede.js @@ -610,7 +610,11 @@ var mn_spells = [ ]], [,"Begleiter"], [-6,"Haustiere"], - [-5,"Reittiere"], + [-5,"Reittiere",,[ + [1,"Reittiere"], + [2,"Flugreittiere"], + [3,"Verschiedene"] + ]], [-3,"Begleiterfertigkeiten",,[ [,"Todesritter"], [782,"Ghul",,,{tinyIcon:"Spell_Shadow_AnimateDead"}], diff --git a/static/js/locale_enus.js b/static/js/locale_enus.js index e0fe9a4d..cd3be492 100644 --- a/static/js/locale_enus.js +++ b/static/js/locale_enus.js @@ -610,7 +610,11 @@ var mn_spells = [ ]], [,"Pets"], [-6,"Companions"], - [-5,"Mounts"], + [-5,"Mounts",,[ + [1,"Ground Mounts"], + [2,"Flying Mounts"], + [3,"Miscellaneous"] + ]], [-3,"Pet Skills",,[ [,"Death Knight"], [782,"Ghoul",,,{tinyIcon:"Spell_Shadow_AnimateDead"}], diff --git a/static/js/locale_eses.js b/static/js/locale_eses.js index aecc97e6..9c0413da 100644 --- a/static/js/locale_eses.js +++ b/static/js/locale_eses.js @@ -610,7 +610,11 @@ var mn_spells = [ ]], [,"Mascotas"], [-6,"Compañeros"], - [-5,"Monturas"], + [-5,"Monturas",,[ + [1,"Monturas terrestres"], + [2,"Monturas voladoras"], + [3,"Miscelánea"] + ]], [-3,"Habilidades de mascota",,[ [,"Caballero de la muerte"], [782,"Necrófago",,,{tinyIcon:"Spell_Shadow_AnimateDead"}], diff --git a/static/js/locale_frfr.js b/static/js/locale_frfr.js index 26d32a6a..92c3f1f1 100644 --- a/static/js/locale_frfr.js +++ b/static/js/locale_frfr.js @@ -610,7 +610,11 @@ var mn_spells = [ ]], [,"Familiers"], [-6,"Compagnons"], - [-5,"Montures"], + [-5,"Montures",,[ + [1,"Montures Terrestres"], + [2,"Montures volantes"], + [3,"Divers"] + ]], [-3,"Habilité de familier",,[ [,"Chevalier de la mort"], [782,"Goule",,,{tinyIcon:"Spell_Shadow_AnimateDead"}], diff --git a/static/js/locale_ruru.js b/static/js/locale_ruru.js index d053c893..b46a6d91 100644 --- a/static/js/locale_ruru.js +++ b/static/js/locale_ruru.js @@ -610,7 +610,11 @@ var mn_spells = [ ]], [,"Питомцы"], [-6,"Спутники"], - [-5,"Транспорт"], + [-5,"Транспорт",,[ + [1,"Наземные средства передвижения"], + [2,"Летающие средства передвижения"], + [3,"Разное"] + ]], [-3,"Способности питомцев",,[ [,"Рыцарь смерти"], [782,"Вурдалак",,,{tinyIcon:"Spell_Shadow_AnimateDead"}], @@ -770,8 +774,8 @@ var mn_holidays = [ [3,"PvP","?events=3"] ]; var mn_currencies = [ - [22,"Подземелья и рейды","?currencies=1"], - [1,"Разное","?currencies=22"], + [22,"Подземелья и рейды","?currencies=22"], + [1,"Разное","?currencies=1"], [2,"PvP","?currencies=2"] ]; var mn_enchantments = [ diff --git a/static/js/locale_zhcn.js b/static/js/locale_zhcn.js index 8cdc1849..5a789b7d 100644 --- a/static/js/locale_zhcn.js +++ b/static/js/locale_zhcn.js @@ -610,7 +610,12 @@ var mn_spells = [ ]], [,"宠物"], [-6,"伙伴"], - [-5,"坐骑"], + [-5,""], + [-5,"坐骑",,[ + [1,"陆地坐骑"], + [2,"飞行坐骑"], + [3,"其它"] + ]], [-3,"宠物能力",,[ [,"死亡骑士"], [782,"食尸鬼",,,{tinyIcon:"Spell_Shadow_AnimateDead"}],