Сумка одержимого зомби: 2 ячейки, Tab; при выходе - мешком, при гибели - мешком с меткой
ZombieBag: своя сумка на одно вселение у зомби с видом от первого лица (число ячеек по виду, пока 2), окно как у сумки волка; пишется в отдельный файл сейва, остаток после вылета выпадает у тела при следующем вселении. Мешок и метка - общие с сумкой волка (WolfBag.DropSack/AddWaypoint). Подсказка Tab - 13 языков. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c98e3f8b74
commit
eb6c5fb4f1
@@ -317,6 +317,10 @@ namespace NecromancerTome
|
||||
_loggedCamera = false;
|
||||
FirstPerson = false;
|
||||
BeltSlot = 0;
|
||||
if (ZombieBag.Has(_zombie, _pet))
|
||||
{
|
||||
ZombieBag.Begin(_player0, _zombie); // сумка зомби на это вселение (13.10)
|
||||
}
|
||||
// Пояс одержимому питомцу ни к чему (указание 06.10); открыться заново не даёт
|
||||
// Patch_GUIWindowManager_openInternal_SnakeToolbelt, после выхода игра откроет его сама.
|
||||
if (_pet)
|
||||
@@ -372,6 +376,7 @@ namespace NecromancerTome
|
||||
ShowPlayerBelt(true);
|
||||
RatLoot.CloseIfViewing();
|
||||
WolfBag.CloseWindow();
|
||||
ZombieBag.End(Zombie); // сумка - мешком на месте зомби (13.10), погиб - с меткой
|
||||
RatPhase.Stop(GameManager.Instance?.World, Zombie, "выход из одержимости");
|
||||
DogSense.Clear();
|
||||
WolfControl.Clear();
|
||||
@@ -520,6 +525,7 @@ namespace NecromancerTome
|
||||
DogSense.Clear();
|
||||
WolfControl.Clear();
|
||||
WolfBag.Forget();
|
||||
ZombieBag.Forget();
|
||||
_zoomCam = null;
|
||||
_zoomBaseFov = -1f;
|
||||
_zoom = 0f;
|
||||
@@ -798,6 +804,17 @@ namespace NecromancerTome
|
||||
// ПКМ (держать) - сквозь постройки, без полёта (BACKLOG, «Могильная крыса» п.4).
|
||||
RatPhase.Tick(world, z, rangedHeld);
|
||||
}
|
||||
if (ZombieBag.Active)
|
||||
{
|
||||
// Tab в зомби - окно его сумки, а не рюкзак персонажа (указание 13.10), как у волка.
|
||||
GUIWindowManager zwm = LocalPlayerUI.GetUIForPlayer(_player)?.windowManager;
|
||||
if (zwm != null && zwm.IsWindowOpen("windowpaging") && !ZombieBag.WindowOpen && !RatLoot.Viewing)
|
||||
{
|
||||
zwm.CloseAllOpenModalWindows();
|
||||
zwm.Close("windowpaging");
|
||||
ZombieBag.OpenWindow(_player, z);
|
||||
}
|
||||
}
|
||||
if (IsPet && WolfControl.Is(z))
|
||||
{
|
||||
// Tab в волке - окно его сумки, а не рюкзак персонажа (тест 10.10: «в волке Tab - вижу сумку игрока»).
|
||||
@@ -1565,6 +1582,10 @@ namespace NecromancerTome
|
||||
{
|
||||
text += ", " + Localization.Get("necroPossessHintView");
|
||||
}
|
||||
if (ZombieBag.Has(_z, IsPet))
|
||||
{
|
||||
text += ", " + Localization.Get("necroPossessHintZombieBag");
|
||||
}
|
||||
if (Flying)
|
||||
{
|
||||
text += ", " + Localization.Get("necroPossessHintFly");
|
||||
|
||||
Reference in New Issue
Block a user