Прилив: пересоздание ножа без NRE в Hand.Unequip (копия с другим Seed вместо ItemValue.None); DLL с меловой доской
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
3780a69d93
commit
7d87903302
@@ -114,7 +114,11 @@ namespace NecromancerTome
|
||||
{
|
||||
// NeedsRebuild - «собранный» предмет не совпадает с тем, что в слоте: сбрасываем собранный, и
|
||||
// повторный выбор того же слота снимает нож и собирает его заново (Hand.SelectHoldingMode).
|
||||
held.physicalItemValue = ItemValue.None.Clone();
|
||||
// Не ItemValue.None (тест 10.10: NRE в Hand.Unequip - он читает класс предмета у собранного): копия того же
|
||||
// ножа с другим Seed - класс прежний, а EqualsExceptUseTimesAndMeta (по нему NeedsRebuild) уже не совпадёт.
|
||||
ItemValue pv = (held.physicalItemValue ?? held.itemValue).Clone();
|
||||
pv.Seed = (ushort)(pv.Seed + 1);
|
||||
held.physicalItemValue = pv;
|
||||
inv.SetHoldingItemIdx(inv.holdingItemIdx);
|
||||
}
|
||||
Debug.Log("[NecromancerTome] BloodTide: нож - хват " + knife.HoldType.Value + (held != null && held.item == knife ? ", в руке пересоздан" : ""));
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user