diff --git a/Config/Localization.csv b/Config/Localization.csv index 66803e7..5628016 100644 --- a/Config/Localization.csv +++ b/Config/Localization.csv @@ -104,6 +104,8 @@ necroCinerariumDesc,blocks,Block,,,,"A funeral urn that houses a skull taken fro necroCinerariumSkull,blocks,Block,,,,Harvest Cinerarium (with skull),,Ernte-Cinerarium (mit Schädel),Cinerario de cosecha (con cráneo),Cinéraire des moissons (avec crâne),Cinerario del raccolto (con teschio),収穫の納骨壺(頭蓋骨入り),수확의 유골함 (두개골 포함),Cinerarium żniw (z czaszką),Cinerário da colheita (com crânio),Цинерарий с черепом,Hasat Küllüğü (kafatasıyla),丰收骨灰瓮(含头骨),豐收骨灰甕(含頭骨) blockcommand_TEFeatureCinerarium:trunk,blocks,Block,,,,Trunk,,Kofferraum,Maletero,Coffre,Bagagliaio,トランク,트렁크,Bagażnik,Porta-malas,Багажник,Bagaj,后备箱,後車廂 blockcommand_trunk,blocks,Block,,,,Trunk,,Kofferraum,Maletero,Coffre,Bagagliaio,トランク,트렁크,Bagażnik,Porta-malas,Багажник,Bagaj,后备箱,後車廂 +blockcommand_TEFeatureCinerarium:bag,blocks,Block,,,,Bag,,Tasche,Bolsa,Sac,Borsa,鞄,가방,Torba,Bolsa,Сумка,Çanta,背包,背包 +blockcommand_bag,blocks,Block,,,,Bag,,Tasche,Bolsa,Sac,Borsa,鞄,가방,Torba,Bolsa,Сумка,Çanta,背包,背包 blockcommand_TEFeatureCinerarium:urn_repair,blocks,Block,,,,Repair,,Reparieren,Reparar,Réparer,Riparare,修理,수리,Napraw,Reparar,Починить,Onar,修理,修理 blockcommand_urn_repair,blocks,Block,,,,Repair,,Reparieren,Reparar,Réparer,Riparare,修理,수리,Napraw,Reparar,Починить,Onar,修理,修理 necroCinerariumNoBones,UI,Tooltip,,,,Repair needs 5 bones,,Zum Reparieren braucht es 5 Knochen,Reparar requiere 5 huesos,Réparer demande 5 os,Per riparare servono 5 ossa,修理には骨が5本必要,수리에는 뼈 5개가 필요하다,Naprawa wymaga 5 kości,Reparar exige 5 ossos,Для починки нужно 5 костей,Onarmak için 5 kemik gerekir,修理需要5根骨头,修理需要5根骨頭 diff --git a/HarmonySrc/Cinerarium.cs b/HarmonySrc/Cinerarium.cs index c206c04..6f74096 100644 --- a/HarmonySrc/Cinerarium.cs +++ b/HarmonySrc/Cinerarium.cs @@ -117,10 +117,14 @@ namespace NecromancerTome /// Меню как у велосипеда (EntityVehicle.InitLocalActivationCommands): «service» - багажник (у транспорта /// «Обслуживание», окно модификаций), «wrench» - починить, «frames» - границы, как у земельного камня. Сумку даёт - /// TEFeatureStorage («Search»), подъём - TEFeaturePickup («Take»), обе детали игры. + /// TEFeatureStorage, подъём - TEFeaturePickup («Take»), обе детали игры. «Сумка» (16.10: «переименуй в Сумка») - + /// своя команда с иконкой мешка, как «Хранилище» у транспорта: открывает то же хранилище командой + /// TEFeatureStorage:Search (составной блок выполняет команду по имени, не глядя на enabled), а «Обыскать» игры у + /// урны спрятан. Стоит первой - короткое E открывает сумку. public override void InitBlockActivationCommands(Action _addCallback) { base.InitBlockActivationCommands(_addCallback); + _addCallback(new BlockActivationCommand("bag", "loot_sack", _enabled: false), TileEntityComposite.EBlockCommandOrder.First, FeatureData); _addCallback(new BlockActivationCommand("trunk", "service", _enabled: false), TileEntityComposite.EBlockCommandOrder.Normal, FeatureData); _addCallback(new BlockActivationCommand("urn_repair", "wrench", _enabled: false), TileEntityComposite.EBlockCommandOrder.Normal, FeatureData); _addCallback(new BlockActivationCommand("bounds_show", "frames", _enabled: false), TileEntityComposite.EBlockCommandOrder.Normal, FeatureData); @@ -430,10 +434,14 @@ namespace NecromancerTome { continue; } - if (text.EndsWith(":trunk") || text == "trunk") + if (text.EndsWith(":trunk") || text == "trunk" || text.EndsWith(":bag")) { _commands[i].enabled = true; } + else if (text == "TEFeatureStorage:Search") + { + _commands[i].enabled = false; // вместо него - «Сумка» + } else if (text.EndsWith("urn_repair")) { _commands[i].enabled = _world != null && _world.GetBlock(_blockPos).damage > 0; @@ -469,8 +477,9 @@ namespace NecromancerTome } bool skull = _commandName.EndsWith(":trunk") || _commandName == "trunk"; bool repair = _commandName.EndsWith("urn_repair"); + bool bag = _commandName.EndsWith("TEFeatureCinerarium:bag"); bool bounds = _commandName.EndsWith("bounds_show") || _commandName.EndsWith("bounds_hide"); - if (!skull && !bounds && !repair) + if (!skull && !bounds && !repair && !bag) { return true; } @@ -480,6 +489,11 @@ namespace NecromancerTome { return true; } + if (bag) + { + __result = composite.OnBlockActivated(null, "TEFeatureStorage:Search", world, _blockPos, world.GetBlock(_blockPos), _player); + return false; + } if (skull) { XUiC_NecroCinerariumSkullGrid.Open(_player, urn); diff --git a/NecromancerHarmony.dll b/NecromancerHarmony.dll index 9ecb36c..8c6ca6b 100644 Binary files a/NecromancerHarmony.dll and b/NecromancerHarmony.dll differ