Files
taverne-server-source/server/game
Andreas Lierschaft 039d537b54 Fix white lion mount seal (71124): timer now runs only while riding
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).
2026-08-18 00:59:07 +02:00
..