fix(items): port retail useability and autowear rejection
Use the exact low USEABLE_NO-bit predicate so reset/zero-valued direct-use items such as Blackmoor's Favor reach the ordinary Use request. Port AutoWear's clothing-priority blocker lookup and exact named system notice through the shared activation owner. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
60387668d0
commit
f71f947475
13 changed files with 289 additions and 57 deletions
|
|
@ -307,13 +307,9 @@ internal sealed class WorldSelectionQuery
|
|||
public bool IsUseable(uint serverGuid)
|
||||
{
|
||||
if (_liveEntities.TryGetSnapshot(serverGuid, out var spawn))
|
||||
{
|
||||
if (spawn.Useability is uint useability)
|
||||
return useability is not 0u and not 1u;
|
||||
if (((spawn.ObjectDescriptionFlags ?? 0u) & LargeUseObjectFlags) != 0u)
|
||||
return true;
|
||||
}
|
||||
return (GetItemType(serverGuid) & ItemType.Creature) != 0;
|
||||
return ItemUseability.IsUseable(
|
||||
spawn.Useability ?? ItemUseability.Undef);
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>ItemHolder::DetermineUseResult @ 0x00588460 pickup gate.</summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue