039d537b5417d6e7cf54d74f18f21f997f5e9c5c
The seal previously toggled the mount via a manual AddAffect+socket flag entirely inside UseItemEx, bypassing Equip()/Unequip() and the item's LIMIT_TIMER_BASED_ON_WEAR machinery entirely - so with item_proto set to LIMIT_NONE, the mount never expired at all. Now: activating starts the item's own wear-based countdown (via StartTimerBasedOnWearExpireEvent, reusing socket0 as remaining-seconds exactly like the existing wear-timer convention), deactivating pauses it (StopTimerBasedOnWearExpireEvent), and it only ticks down while the seal is active - matching the intended "usage time" behavior. Moved the seal's own active-flag from socket0 to socket2 to stop colliding with that convention. item_proto now grants 2 days (172800s) per activation. When the usage time fully runs out while riding, both the mount and the seal item are removed (timer_based_on_wear_expire_event now calls ClearMountAttributeAndAffect() for ride items before destroying them, mirroring the existing Unequip() cleanup path).
Description
No description provided
13 MiB
Languages
Lua
76.8%
C++
18.4%
C
3.9%
Assembly
0.6%
Makefile
0.2%