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:
+1
-1
@@ -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
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user