Show "(Aktiv)" + remaining time on the white lion mount seal

The slot-highlight for activatable items (uiinventory.py) read
metinSocket[0], which the server now uses for the seal's remaining
usage-time countdown instead of the active flag - moved the check to
socket[2] to match.

Tooltip now shows "(Aktiv)" plus the standard remaining-time line
(reusing the existing AppendTimerBasedOnWearLastTime renderer) for any
IS_MOUNT_SEAL item, replacing the generic ITEM_TYPE_UNIQUE tooltip
logic that would otherwise have misread the active-flag socket as a
unique-item decay timestamp.
This commit is contained in:
Andreas Lierschaft
2026-08-18 00:59:26 +02:00
parent 39b5232e64
commit 472bea1de6
2 changed files with 21 additions and 14 deletions
+1 -1
View File
@@ -561,7 +561,7 @@ class InventoryWindow(ui.ScriptWindow):
## Allgemein aktivierbare Items (z.B. Reit-Siegel) - Rahmen ueber metinSocket[0], ohne Auto-Potion-Logik ## Allgemein aktivierbare Items (z.B. Reit-Siegel) - Rahmen ueber metinSocket[0], ohne Auto-Potion-Logik
elif constInfo.IS_ACTIVATABLE_ITEM(itemVnum): elif constInfo.IS_ACTIVATABLE_ITEM(itemVnum):
isActivated = 0 != player.GetItemMetinSocket(slotNumber, 0) isActivated = 0 != player.GetItemMetinSocket(slotNumber, 2) # Socket2: Aktiv-Flag (Socket0 ist bei zeitbasierten Siegeln die Restzeit)
if slotNumber >= player.INVENTORY_PAGE_SIZE: if slotNumber >= player.INVENTORY_PAGE_SIZE:
slotNumber -= player.INVENTORY_PAGE_SIZE slotNumber -= player.INVENTORY_PAGE_SIZE
+20 -13
View File
@@ -1035,23 +1035,30 @@ class ItemToolTip(ToolTip):
elif item.ITEM_TYPE_UNIQUE == itemType: elif item.ITEM_TYPE_UNIQUE == itemType:
if 0 != metinSlot: if 0 != metinSlot:
bHasRealtimeFlag = 0 if constInfo.IS_MOUNT_SEAL(itemVnum):
if 0 != metinSlot[2]:
for i in xrange(item.LIMIT_MAX_NUM): self.AppendSpace(5)
(limitType, limitValue) = item.GetLimit(i) self.AppendTextLine("(Aktiv)", self.SPECIAL_POSITIVE_COLOR)
if item.LIMIT_REAL_TIME == limitType: self.AppendTimerBasedOnWearLastTime(metinSlot)
bHasRealtimeFlag = 1
if 1 == bHasRealtimeFlag:
self.AppendMallItemLastTime(metinSlot[0])
else: else:
time = metinSlot[player.METIN_SOCKET_MAX_NUM-1] bHasRealtimeFlag = 0
for i in xrange(item.LIMIT_MAX_NUM):
(limitType, limitValue) = item.GetLimit(i)
if 1 == item.GetValue(2): ## 실시간 이용 Flag / 장착 안해도 준다 if item.LIMIT_REAL_TIME == limitType:
self.AppendMallItemLastTime(time) bHasRealtimeFlag = 1
if 1 == bHasRealtimeFlag:
self.AppendMallItemLastTime(metinSlot[0])
else: else:
self.AppendUniqueItemLastTime(time) time = metinSlot[player.METIN_SOCKET_MAX_NUM-1]
if 1 == item.GetValue(2): ## 실시간 이용 Flag / 장착 안해도 준다
self.AppendMallItemLastTime(time)
else:
self.AppendUniqueItemLastTime(time)
### Use ### ### Use ###
elif item.ITEM_TYPE_USE == itemType: elif item.ITEM_TYPE_USE == itemType: