Урна: «Содержимое» с иконкой черепа вместо «Багажника»; «Взять» везде, как у транспорта
Команда багажника переименована в «Содержимое» (меню, заголовок окна, описание - 13 языков), иконка - ui_game_symbol_skull. «Взять» игра даёт станциям только внутри своего земельного камня; урне - как транспорту: везде, кроме зоны торговца, хозяину, с пустой сумкой. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
845455c6a0
commit
e590fab082
File diff suppressed because one or more lines are too long
@@ -117,8 +117,8 @@ namespace NecromancerTome
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Меню как у велосипеда (EntityVehicle.InitLocalActivationCommands): «service» - багажник (у транспорта
|
||||
/// «Обслуживание», окно модификаций), «wrench» - починить, «frames» - границы, как у земельного камня. Сумку даёт
|
||||
/// <summary>Меню как у велосипеда (EntityVehicle.InitLocalActivationCommands): «skull» - «Содержимое» (ячейка черепа; 16.10: «вместо пиктограммы
|
||||
/// багажника... хотя бы череп» - ui_game_symbol_skull, иконка = ui_game_symbol_<имя>, XUiC_Radial), «wrench» - починить, «frames» - границы, как у земельного камня. Сумку даёт
|
||||
/// TEFeatureStorage, подъём - TEFeaturePickup («Take»), обе детали игры. «Сумка» (16.10: «переименуй в Сумка») -
|
||||
/// своя команда с иконкой мешка, как «Хранилище» у транспорта: открывает то же хранилище командой
|
||||
/// TEFeatureStorage:Search (составной блок выполняет команду по имени, не глядя на enabled), а «Обыскать» игры у
|
||||
@@ -127,7 +127,7 @@ namespace NecromancerTome
|
||||
{
|
||||
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("trunk", "skull", _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);
|
||||
_addCallback(new BlockActivationCommand("bounds_hide", "frames", _enabled: false), TileEntityComposite.EBlockCommandOrder.Normal, FeatureData);
|
||||
@@ -551,11 +551,14 @@ namespace NecromancerTome
|
||||
}
|
||||
else if (text.EndsWith(":Take"))
|
||||
{
|
||||
// Как у транспорта: поднять можно, только вынув вещи из сумки; череп (модификация) остаётся в урне.
|
||||
if (__instance.TryGetSelfOrFeature<TEFeatureStorage>(out TEFeatureStorage bag) && !bag.IsEmpty())
|
||||
{
|
||||
_commands[i].enabled = false;
|
||||
}
|
||||
// Как у транспорта (16.10: «почему нету значка Забрать с рукой?»): игра даёт «Забрать» станциям только внутри
|
||||
// своего земельного камня (TEFeaturePickup -> World.IsMyLandProtectedBlock), транспорт же поднимается где
|
||||
// угодно. Урне - как транспорту: везде, кроме зоны торговца, только хозяину и только с пустой сумкой;
|
||||
// череп (модификация) остаётся в урне.
|
||||
World w = _world as World;
|
||||
bool bagEmpty = !__instance.TryGetSelfOrFeature<TEFeatureStorage>(out TEFeatureStorage bag) || bag.IsEmpty();
|
||||
bool mine = __instance.Owner == null || __instance.LocalPlayerIsOwner;
|
||||
_commands[i].enabled = bagEmpty && mine && (w == null || !w.IsWithinTraderArea(_blockPos));
|
||||
}
|
||||
else if (text.EndsWith("bounds_show"))
|
||||
{
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user