diff --git a/localization/locale_dede.php b/localization/locale_dede.php index b49bab64..6964cffe 100644 --- a/localization/locale_dede.php +++ b/localization/locale_dede.php @@ -965,8 +965,8 @@ $lang = array( ), 'gameObject' => array( 'notFound' => "Dieses Objekt existiert nicht.", - 'cat' => [0 => "Anderes", 9 => "Bücher", 3 => "Behälter", -5 => "Truhen", 25 => "Fischschwärme", -3 => "Kräuter", -4 => "Erzadern", -2 => "Quest", -6 => "Werkzeuge"], - 'type' => [ 9 => "Buch", 3 => "Behälter", -5 => "Truhe", 25 => "", -3 => "Kraut", -4 => "Erzvorkommen", -2 => "Quest", -6 => ""], + 'cat' => [0 => "Anderes", 3 => "Behälter", 6 => "Fallen", 9 => "Bücher", 25 => "Fischschwärme", -5 => "Truhen", -3 => "Kräuter", -4 => "Erzadern", -2 => "Quest", -6 => "Werkzeuge"], + 'type' => [ 3 => "Behälter", 6 => "", 9 => "Buch", 25 => "", -5 => "Truhe", -3 => "Kraut", -4 => "Erzvorkommen", -2 => "Quest", -6 => ""], 'unkPosition' => "Der Standort dieses Objekts ist nicht bekannt.", 'npcLootPH' => 'Der Behälter %s beinhaltet die Beute vom Kampf gegen %s. Er erscheint nach seinem Tod.', 'key' => "Schlüssel", diff --git a/localization/locale_enus.php b/localization/locale_enus.php index 82d55043..6b818e22 100644 --- a/localization/locale_enus.php +++ b/localization/locale_enus.php @@ -965,8 +965,8 @@ $lang = array( ), 'gameObject' => array( 'notFound' => "This object doesn't exist.", - 'cat' => [0 => "Other", 9 => "Books", 3 => "Containers", -5 => "Chests", 25 => "Fishing Pools", -3 => "Herbs", -4 => "Mineral Veins", -2 => "Quest", -6 => "Tools"], - 'type' => [ 9 => "Book", 3 => "Container", -5 => "Chest", 25 => "", -3 => "Herb", -4 => "Mineral Vein", -2 => "Quest", -6 => ""], + 'cat' => [0 => "Other", 3 => "Containers", 6 => "Traps", 9 => "Books", 25 => "Fishing Pools", -5 => "Chests", -3 => "Herbs", -4 => "Mineral Veins", -2 => "Quest", -6 => "Tools"], + 'type' => [ 3 => "Container", 6 => "", 9 => "Book", 25 => "", -5 => "Chest", -3 => "Herb", -4 => "Mineral Vein", -2 => "Quest", -6 => ""], // used for tooltip 'unkPosition' => "The location of this object is unknown.", 'npcLootPH' => 'The %s contains the loot from the fight against %s. It spawns after this NPC dies.', 'key' => "Key", diff --git a/localization/locale_eses.php b/localization/locale_eses.php index 871e4515..3c8bab7e 100644 --- a/localization/locale_eses.php +++ b/localization/locale_eses.php @@ -965,8 +965,8 @@ $lang = array( ), 'gameObject' => array( 'notFound' => "Este entidad no existe.", - 'cat' => [0 => "Otros", 9 => "Libros", 3 => "Contenedores", -5 => "Cofres", 25 => "Bancos de peces", -3 => "Hierbas", -4 => "Venas de minerales", -2 => "Misiones", -6 => "Herramientas"], - 'type' => [ 9 => "Libro", 3 => "Contenedore", -5 => "Cofre", 25 => "", -3 => "Hierba", -4 => "Filóne de mineral", -2 => "Misión", -6 => ""], + 'cat' => [0 => "Otros", 3 => "Contenedores", 6 => "Trampas", 9 => "Libros", 25 => "Bancos de peces", -5 => "Cofres", -3 => "Hierbas", -4 => "Venas de minerales", -2 => "Misiones", -6 => "Herramientas"], + 'type' => [ 3 => "Contenedore", 6 => "", 9 => "Libro", 25 => "", -5 => "Cofre", -3 => "Hierba", -4 => "Filóne de mineral", -2 => "Misión", -6 => ""], 'unkPosition' => "No se conoce la ubicación de esta entidad.", 'npcLootPH' => 'El %s contiene el botín de la pelea contra %s. Aparece al morir.', 'key' => "Llave", diff --git a/localization/locale_frfr.php b/localization/locale_frfr.php index e88fb796..8a3e2286 100644 --- a/localization/locale_frfr.php +++ b/localization/locale_frfr.php @@ -965,8 +965,8 @@ $lang = array( ), 'gameObject' => array( 'notFound' => "Cette entité n'existe pas.", - 'cat' => [0 => "Autre", 9 => "Livres", 3 => "Conteneurs", -5 => "Coffres", 25 => "Bancs de poissons", -3 => "Herbes", -4 => "Filons de minerai", -2 => "Quêtes", -6 => "Outils"], - 'type' => [ 9 => "Livre", 3 => "Conteneur", -5 => "Coffre", 25 => "", -3 => "Herbe", -4 => "Filon de minerai", -2 => "Quête", -6 => ""], + 'cat' => [0 => "Autre", 3 => "Conteneurs", 6 => "Pièges", 9 => "Livres", 25 => "Bancs de poissons", -5 => "Coffres", -3 => "Herbes", -4 => "Filons de minerai", -2 => "Quêtes", -6 => "Outils"], + 'type' => [ 3 => "Conteneur", 6 => "", 9 => "Livre", 25 => "", -5 => "Coffre", -3 => "Herbe", -4 => "Filon de minerai", -2 => "Quête", -6 => ""], 'unkPosition' => "L'emplacement de cette entité est inconnu.", 'npcLootPH' => 'Le %s contient les récompenses du combat contre %s. Il apparaît après sa mort.', 'key' => "Clé", diff --git a/localization/locale_ruru.php b/localization/locale_ruru.php index 921c02ee..dd8fe166 100644 --- a/localization/locale_ruru.php +++ b/localization/locale_ruru.php @@ -965,14 +965,14 @@ $lang = array( ), 'gameObject' => array( 'notFound' => "Такой объект не существует.", - 'cat' => [0 => "Другое", 9 => "Книги", 3 => "Контейнеры", -5 => "Сундуки", 25 => "Рыболовные лунки",-3 => "Травы", -4 => "Полезные ископаемые", -2 => "Задания", -6 => "Инструменты"], - 'type' => [ 9 => "Книга", 3 => "Контейнер", -5 => "Сундук", 25 => "", -3 => "Растение", -4 => "Полезное ископаемое", -2 => "Задание", -6 => ""], + 'cat' => [0 => "Другое", 3 => "Контейнеры", 6 => "Ловушки", 9 => "Книги", 25 => "Рыболовные лунки", -5 => "Сундуки", -3 => "Травы", -4 => "Полезные ископаемые", -2 => "Задания", -6 => "Инструменты"], + 'type' => [ 3 => "Контейнер", 6 => "", 9 => "Книга", 25 => "", -5 => "Сундук", -3 => "Растение", -4 => "Полезное ископаемое", -2 => "Задание", -6 => ""], 'unkPosition' => "Местонахождение этого объекта неизвестно.", 'npcLootPH' => '[The %s contains the loot from the fight against %s. It spawns after his death.]', 'key' => "Ключ", 'focus' => "[Spell Focus]", 'focusDesc' => "[Spells requiring this Focus can be cast near this Object]", - 'trap' => "Ловушки", + 'trap' => "Ловушка", 'triggeredBy' => "Срабатывает от", 'capturePoint' => "Точка захвата", 'foundIn' => "Этот НИП может быть найден в следующих зонах:", diff --git a/localization/locale_zhcn.php b/localization/locale_zhcn.php index 78eb668e..5bee11c4 100644 --- a/localization/locale_zhcn.php +++ b/localization/locale_zhcn.php @@ -964,8 +964,8 @@ $lang = array( ), 'gameObject' => array( 'notFound' => "这个对象不存在。", - 'cat' => [0 => "其他", 9 => "书籍", 3 => "容器", -5 => "宝箱", 25 => "钓鱼点", -3 => "草药", -4 => "矿脉", -2 => "任务", -6 => "工具"], - 'type' => [ 9 => "书籍", 3 => "容器", -5 => "宝箱", 25 => "", -3 => "草药", -4 => "矿脉", -2 => "任务", -6 => ""], + 'cat' => [0 => "其他", 3 => "容器", 6 => "陷阱", 9 => "书籍", 25 => "钓鱼点", -5 => "宝箱", -3 => "草药", -4 => "矿脉", -2 => "任务", -6 => "工具"], + 'type' => [ 3 => "容器", 6 => "", 9 => "书籍", 25 => "", -5 => "宝箱", -3 => "草药", -4 => "矿脉", -2 => "任务", -6 => ""], 'unkPosition' => "这个对象的位置未知。", 'npcLootPH' => '这个%s包含战利品,与%s的作战后,在他/她/它死亡后刷新。', 'key' => "钥匙", diff --git a/pages/object.php b/pages/object.php index e785018d..f38e1006 100644 --- a/pages/object.php +++ b/pages/object.php @@ -132,13 +132,7 @@ class ObjectPage extends GenericPage $infobox[] = Lang::gameObject('trap').Lang::main('colon').'[object='.$_.']'; } - // trap for - $trigger = new GameObjectList(array(['linkedTrap', $this->typeId])); - if (!$trigger->error) - { - $this->extendGlobalData($trigger->getJSGlobals()); - $infobox[] = Lang::gameObject('triggeredBy').Lang::main('colon').'[object='.$trigger->id.']'; - } + // trap for X (note: moved to lv-tabs) // SpellFocus if ($_ = $this->subject->getField('spellFocusId')) @@ -483,6 +477,20 @@ class ObjectPage extends GenericPage } } + // tab: trap for X + $trigger = new GameObjectList(array(['linkedTrap', $this->typeId])); + if (!$trigger->error) + { + $this->extendGlobalData($trigger->getJSGlobals()); + + $this->lvTabs[] = [GameObjectList::$brickFile, array( + 'data' => array_values($trigger->getListviewData()), + 'name' => Lang::gameObject('triggeredBy'), + 'id' => 'triggerd-by', + 'note' => sprintf(Util::$filterResultString, '?objects=6') + )]; + } + // tab: Same model as .. whats the fucking point..? $sameModel = new GameObjectList(array(['displayId', $this->subject->getField('displayId')], ['id', $this->typeId, '!'])); if (!$sameModel->error) diff --git a/pages/objects.php b/pages/objects.php index 04c50870..345c3b31 100644 --- a/pages/objects.php +++ b/pages/objects.php @@ -15,14 +15,14 @@ class ObjectsPage extends GenericPage protected $path = [0, 5]; protected $tabId = 0; protected $mode = CACHE_TYPE_PAGE; - protected $validCats = [-2, -3, -4, -5, -6, 0, 3, 9, 25]; + protected $validCats = [-2, -3, -4, -5, -6, 0, 3, 6, 9, 25]; protected $scripts = [[SC_JS_FILE, 'js/filters.js']]; protected $_get = ['filter' => ['filter' => FILTER_UNSAFE_RAW]]; public function __construct($pageCall, $pageParam) { - $this->getCategoryFromUrl($pageParam);; + $this->getCategoryFromUrl($pageParam); $this->filterObj = new GameObjectListFilter(false, ['parentCats' => $this->category]); parent::__construct($pageCall, $pageParam); diff --git a/setup/tools/sqlgen/objects.func.php b/setup/tools/sqlgen/objects.func.php index a4f915e0..9f81fcc0 100644 --- a/setup/tools/sqlgen/objects.func.php +++ b/setup/tools/sqlgen/objects.func.php @@ -23,7 +23,7 @@ SqlGen::register(new class extends SetupScript IF(`type` = 2, -2, -- quests 1 IF(`type` = 8 AND Data0 IN (1, 2, 3, 4, 1552), -6, -- tools IF(`type` = 3 AND IFNULL(gqi.ItemId, 0) <> 0, -2, -- quests 2 - IF(`type` IN (3, 9, 25), `type`, 0)))), -- regular chests, books, pools + IF(`type` IN (3, 6, 9, 25), `type`, 0)))), -- regular chests, traps, books, fishing pools 0 AS event, -- linked worldevent displayId, go.name, diff --git a/setup/updates/1710542696_01.sql b/setup/updates/1710542696_01.sql new file mode 100644 index 00000000..d6f6f21d --- /dev/null +++ b/setup/updates/1710542696_01.sql @@ -0,0 +1 @@ +UPDATE `aowow_dbversion` SET `sql` = CONCAT(IFNULL(`sql`, ''), ' objects'); diff --git a/static/js/locale_dede.js b/static/js/locale_dede.js index 7545a8e7..e5475106 100644 --- a/static/js/locale_dede.js +++ b/static/js/locale_dede.js @@ -325,7 +325,8 @@ var mn_objects = [ [-3,"Kräuter"], [-4,"Erzadern"], [-2,"Quest"], - [-6,"Werkzeuge"] + [-6,"Werkzeuge"], + [6,"Fallen"] ]; var mn_quests = [ [,"Kontinent"], @@ -1449,6 +1450,7 @@ var g_object_types = { 0: 'Anderes', 9: 'Buch', 3: 'Behälter', + 6: 'Falle', "-5": 'Truhe', 25: 'Fischschwarm', "-3": 'Kraut', diff --git a/static/js/locale_enus.js b/static/js/locale_enus.js index d73d08a9..8b91867b 100644 --- a/static/js/locale_enus.js +++ b/static/js/locale_enus.js @@ -325,7 +325,8 @@ var mn_objects = [ [-3,"Herbs"], [-4,"Mineral Veins"], [-2,"Quest"], - [-6,"Tools"] + [-6,"Tools"], + [6,"Traps"] ]; var mn_quests = [ [,"Continents"], @@ -1496,6 +1497,7 @@ var g_object_types = { 0: 'Other', 9: 'Book', 3: 'Container', + 6: 'Trap', "-5": 'Chest', 25: 'Fishing Pool', "-3": 'Herb', diff --git a/static/js/locale_eses.js b/static/js/locale_eses.js index edb956cf..c7ff255e 100644 --- a/static/js/locale_eses.js +++ b/static/js/locale_eses.js @@ -325,7 +325,8 @@ var mn_objects = [ [-3,"Hierbas"], [-4,"Venas de minerales"], [-2,"Misión"], - [-6,"Herramientas"] + [-6,"Herramientas"], + [6,"Trampas"] ]; var mn_quests = [ [,"Continentes"], @@ -1449,6 +1450,7 @@ var g_object_types = { 0: 'Otros', 9: 'Libro', 3: 'Contenedore', + 6: 'Trampa', "-5": 'Cofre', 25: '[Fishing Pool]', "-3": 'Hierba', diff --git a/static/js/locale_frfr.js b/static/js/locale_frfr.js index a95a006a..1b1ce962 100644 --- a/static/js/locale_frfr.js +++ b/static/js/locale_frfr.js @@ -325,7 +325,8 @@ var mn_objects = [ [-3,"Herbes"], [-4,"Filons de minerai"], [-2,"Quête"], - [-6,"Outils"] + [-6,"Outils"], + [6,"Pièges"] ]; var mn_quests = [ [,"Continents"], @@ -1449,6 +1450,7 @@ var g_object_types = { 0: 'Autre', 9: 'Livre', 3: 'Conteneur', + 6: 'Piège', "-5": 'Coffre', 25: 'Banc de poissons', "-3": 'Herbe', diff --git a/static/js/locale_ruru.js b/static/js/locale_ruru.js index 71537c5f..e0c7e4cd 100644 --- a/static/js/locale_ruru.js +++ b/static/js/locale_ruru.js @@ -325,7 +325,8 @@ var mn_objects = [ [-3,"Травы"], [-4,"Полезные ископаемые"], [-2,"Задание"], - [-6,"Инструменты"] + [-6,"Инструменты"], + [6,"Ловушки"] ]; var mn_quests = [ [,"Континенты"], @@ -1449,6 +1450,7 @@ var g_object_types = { 0: 'Другое', 9: 'Книга', 3: 'Контейнер', + 6: 'Ловушка', "-5": 'Сундук', 25: 'Рыболовные лунки', "-3": 'Растение', diff --git a/static/js/locale_zhcn.js b/static/js/locale_zhcn.js index 610ae33d..c4f5bb5a 100644 --- a/static/js/locale_zhcn.js +++ b/static/js/locale_zhcn.js @@ -325,7 +325,8 @@ var mn_objects = [ [-3,"草药"], [-4,"矿点"], [-2,"任务"], - [-6,"工具"] + [-6,"工具"], + [6,"陷阱"] ]; var mn_quests = [ [,"大陆"], @@ -1495,6 +1496,7 @@ var g_object_types = { 0: '其他', 9: "书籍", 3: "容器", + 6: "陷阱", "-5": "提箱", 25: "钓鱼水池", "-3": "草药",