Thanks so much im waiting, also i have a bug after relog or teleport affect timer is frozen and not updating and ideas on fix?
def OnUpdate(self):
try:
currentTime = app.GetGlobalTime()
if currentTime - self.lastUpdateTime > self.TOOLTIP_UPDATE_INTERVAL:
self.lastUpdateTime = currentTime
for image in self.affectImageDict.values():
if not image.isToolTipVisible:
continue
if image.GetAffect() in [chr.NEW_AFFECT_AUTO_HP_RECOVERY, chr.NEW_AFFECT_AUTO_SP_RECOVERY]:
image.UpdateAutoPotionDescription()
elif image.IsSkillAffect():
image.UpdateSkillDescription()
else:
image.UpdateDescription()
except Exception as e:
print "AffectShower::OnUpdate error:", e
if app.ENABLE_RENEWAL_AFFECT_SHOWER:
def SyncAffectImages(self):
for image in self.affectImageDict.values():
image.isToolTipVisible = False
image.toolTip.HideToolTip()
def __QuestionRemoveAffect(self, arg, affect, name):
self.RemoveQuestionDialog = uiCommon.QuestionDialog()
self.RemoveQuestionDialog.SetText(localeInfo.AFFECT_REMOVE_QUESTION % name)
self.RemoveQuestionDialog.SetAcceptEvent(lambda arg=True: self.AnswerRemoveAffect(arg))
self.RemoveQuestionDialog.SetCancelEvent(lambda arg=False: self.AnswerRemoveAffect(arg))
self.RemoveQuestionDialog.affect = affect
self.RemoveQuestionDialog.Open()
def AnswerRemoveAffect(self, flag):
if not self.RemoveQuestionDialog:
return
if flag:
net.SendChatPacket("/remove_affect %d" % self.RemoveQuestionDialog.affect)
self.RemoveQuestionDialog.Close()
self.RemoveQuestionDialog = None
def UpdateDescription(self):
if not self.toolTip:
return
if not self.description:
return
self.toolTip.ClearToolTip()
self.toolTip.AutoAppendTextLine(self.description, self.BONUS_COLOR)
if self.endTime > 0:
remaining_time = self.endTime - app.GetGlobalTimeStamp()
# If duration is absurdly large (e.g., 2+ years), treat as permanent
if remaining_time > 63113904: # 2 years in seconds
timeText = "(Permanent)"
self.toolTip.AutoAppendTextLine(timeText, self.NORMAL_COLOR)
else:
leftTime = self.FormatTime(remaining_time)
timeText = "(%s : %s)" % (localeInfo.LEFT_TIME, leftTime)
self.toolTip.AutoAppendTextLine(timeText, self.NORMAL_COLOR)
if self.Canberemoved:
self.toolTip.AutoAppendTextLine(localeInfo.AFFECTSHOWER_REMOVE_TEXT, self.NORMAL_COLOR)
self.toolTip.AlignHorizonalCenter()
self.toolTip.ResizeToolTip()