def __init__(self, category, width = 0.40000000000000002): DirectFrame.__init__(self, state = DGG.DISABLED, relief = None) self.initialiseoptions(ReputationMeterDial) self.category = category self.level = 0 self.value = 0 self.max = 0 self.masteredIval = None name = self.getCategoryName() self.changeMeter = ChangeDialMeter(parent = self, meterColor = VBase4(0.69999999999999996, 0.0, 0.0, 1), meterColor2 = VBase4(0.69999999999999996, 0.69999999999999996, 0.0, 1), baseColor = VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover = 0, scale = 0.45000000000000001) self.changeMeter.hide() self.meter = DialMeter(parent = self, meterColor = VBase4(0.69999999999999996, 0.0, 0.0, 1), baseColor = VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover = 0, scale = 0.45000000000000001) self.meter.setBackwards() self.lastLevel = None self.lastExp = None self.mastered = False self.categoryLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = name, text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), pos = (0, 0, 0), textMayChange = 1) self.levelLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_scale = 0.080000000000000002, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_font = PiratesGlobals.getPirateFont(), pos = (-0.014999999999999999, 0, -0.080000000000000002), textMayChange = 1) logoModel = loader.loadModel('models/gui/potcLogo') guiModel = loader.loadModel('models/gui/toplevel_gui') self.valueLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), pos = (0.0, 0, -0.20000000000000001), textMayChange = 1) self.levelCapScroll = DirectFrame(parent = self, relief = None, image = guiModel.find('**/main_gui_quest_scroll'), image_scale = (0.13, 1.0, 0.089999999999999997), pos = (0.0, 0.0, -0.16250000000000001)) self.levelCapScroll.hide() self.levelCapIcon = DirectFrame(parent = self, relief = None, image = logoModel.find('**/skull'), image_pos = (0.0, 0.0, 0.0), image_scale = 0.90000000000000002, pos = (-0.0275, 0.0, -0.105)) self.levelCapIcon.hide() self.levelCapScroll.setTransparency(1) self.levelCapIcon.setTransparency(1) self.valueLabel.setTransparency(1)
class ReputationMeterDial(DirectFrame): def __init__(self, category, width=0.40000000000000002): DirectFrame.__init__(self, state=DGG.DISABLED, relief=None) self.initialiseoptions(ReputationMeterDial) self.category = category self.level = 0 self.value = 0 self.max = 0 self.masteredIval = None name = self.getCategoryName() self.changeMeter = ChangeDialMeter( parent=self, meterColor=VBase4(0.69999999999999996, 0.0, 0.0, 1), meterColor2=VBase4(0.69999999999999996, 0.69999999999999996, 0.0, 1), baseColor=VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover=0, scale=0.45000000000000001) self.changeMeter.hide() self.meter = DialMeter(parent=self, meterColor=VBase4(0.69999999999999996, 0.0, 0.0, 1), baseColor=VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover=0, scale=0.45000000000000001) self.meter.setBackwards() self.lastLevel = None self.lastExp = None self.mastered = False self.categoryLabel = DirectLabel( parent=self, state=DGG.DISABLED, relief=None, text=name, text_scale=PiratesGuiGlobals.TextScaleLarge, text_align=TextNode.ACenter, text_fg=PiratesGuiGlobals.TextFG2, text_shadow=PiratesGuiGlobals.TextShadow, text_font=PiratesGlobals.getInterfaceFont(), pos=(0, 0, 0), textMayChange=1) self.levelLabel = DirectLabel(parent=self, state=DGG.DISABLED, relief=None, text='', text_scale=0.080000000000000002, text_align=TextNode.ACenter, text_fg=PiratesGuiGlobals.TextFG2, text_font=PiratesGlobals.getPirateFont(), pos=(-0.014999999999999999, 0, -0.080000000000000002), textMayChange=1) logoModel = loader.loadModel('models/gui/potcLogo') guiModel = loader.loadModel('models/gui/toplevel_gui') self.valueLabel = DirectLabel( parent=self, state=DGG.DISABLED, relief=None, text='', text_scale=PiratesGuiGlobals.TextScaleLarge, text_align=TextNode.ACenter, text_fg=PiratesGuiGlobals.TextFG2, text_shadow=PiratesGuiGlobals.TextShadow, text_font=PiratesGlobals.getInterfaceFont(), pos=(0.0, 0, -0.20000000000000001), textMayChange=1) self.levelCapScroll = DirectFrame( parent=self, relief=None, image=guiModel.find('**/main_gui_quest_scroll'), image_scale=(0.13, 1.0, 0.089999999999999997), pos=(0.0, 0.0, -0.16250000000000001)) self.levelCapScroll.hide() self.levelCapIcon = DirectFrame(parent=self, relief=None, image=logoModel.find('**/skull'), image_pos=(0.0, 0.0, 0.0), image_scale=0.90000000000000002, pos=(-0.0275, 0.0, -0.105)) self.levelCapIcon.hide() self.levelCapScroll.setTransparency(1) self.levelCapIcon.setTransparency(1) self.valueLabel.setTransparency(1) def destroy(self): DirectFrame.destroy(self) if self.masteredIval: self.masteredIval.pause() self.masteredIval = None def hideMasterOrnament(self): self.levelCapScroll.hide() self.levelCapIcon.hide() self.levelLabel.show() def showMasterOrnament(self): self.levelCapScroll.show() self.levelCapIcon.show() self.levelLabel.hide() self.mastered = True def masteredFX(self): if self.masteredIval: self.masteredIval.start() return None startColor = Vec4(1.0, 1.0, 1.0, 0.0) endColor = Vec4(1.0, 1.0, 1.0, 1.0) duration = 1.5 fade = Parallel( LerpColorScaleInterval(self.levelCapScroll, duration, endColor, startColor, blendType='easeInOut'), LerpColorScaleInterval(self.levelCapIcon, duration, endColor, startColor, blendType='easeInOut'), LerpColorScaleInterval(self.valueLabel, duration, endColor, startColor, blendType='easeInOut')) startScale = Vec3(0.75, 0.75, 0.75) endScale = Vec3(1.0, 1.0, 1.0) duration = 1.0 scale = Parallel( LerpScaleInterval(self.levelCapScroll, duration, endScale, startScale, blendType='easeInOut'), LerpScaleInterval(self.levelCapIcon, duration, endScale, startScale * 0.10000000000000001, blendType='easeInOut'), LerpScaleInterval(self.valueLabel, duration, endScale, startScale, blendType='easeInOut')) self.masteredIval = Parallel(fade, scale) self.masteredIval.start() def update(self, value, updateLocal=0): if self.mastered: return None self.value = value (level, leftoverValue) = ReputationGlobals.getLevelFromTotalReputation( self.category, value) self.max = ReputationGlobals.getReputationNeededToLevel( self.category, level) self.levelLabel['text'] = '%s' % level if self.category == InventoryType.OverallRep: levelCap = ReputationGlobals.GlobalLevelCap if updateLocal and level != self.level: localAvatar.setLevel(level) else: levelCap = ReputationGlobals.LevelCap self.level = level if level == levelCap: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG4 self.valueLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.valueLabel['text_scale'] = 0.042999999999999997 self.valueLabel['text'] = PLocalizer.RepCapText_Overall % level self.categoryLabel.hide() self.meter.meterFaceHalf1.hide() self.meter.meterFaceHalf2.hide() self.meter.meterFace.setColor(0.10000000000000001, 0.40000000000000002, 0.10000000000000001, 1.0) self.valueLabel.setZ(0.029999999999999999) self.showMasterOrnament() self.masteredFX() else: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.meter.show() self.categoryLabel.show() self.valueLabel['text'] = '%s / %s' % (leftoverValue, self.max) self.valueLabel['text_scale'] = PiratesGuiGlobals.TextScaleLarge self.valueLabel['text_fg'] = PiratesGuiGlobals.TextFG2 self.valueLabel.setZ(0.0) self.meter.update(leftoverValue, self.max) self.hideMasterOrnament() if self.lastLevel == None: self.lastLevel = level if self.lastExp == None: if hasattr(base, 'localAvatar'): self.lastExp = localAvatar.getInventory().getReputation( self.category) if self.lastExp: expChange = value - self.lastExp if expChange and localAvatar.getGameState() != 'Fishing': localAvatar.guiMgr.gameGui.createExpAlert( expChange, 4.0, Vec3(-0.93000000000000005, 0.0, 0.75), Vec3(0.0, 0.0, 0.25)) if self.lastLevel != level: self.lastLevel = level glowFrameColor = Vec4(0.69999999999999996, 0.0, 0.0, 1.0) glowLevelColor = Vec4(0.80000000000000004, 0.0, 0.0, 1.0) startFrameColor = self.meter.meterFace.getColor() startLevelColor = Vec4(0.90000000000000002, 0.80000000000000004, 0.63, 1.0) startFrameScale = self.meter.meterFace.getScale() startLevelScale = self.levelLabel.getScale() scale = Vec3(1.2, 1.2, 1.2) objFrame = self.meter.meterFace objLevel = self.levelLabel levelUpIval = Sequence( Func(self.meter.meterFaceHalf1.hide), Func(self.meter.meterFaceHalf2.hide), Parallel( LerpColorInterval(objFrame, 3.0, startFrameColor, glowFrameColor, blendType='easeInOut'), LerpColorInterval(objLevel, 3.0, startLevelColor, glowLevelColor, blendType='easeInOut'), Sequence( LerpScaleInterval(objLevel, 0.25, scale, startFrameScale, blendType='easeInOut'), LerpScaleInterval(objLevel, 2.0, startFrameScale, blendType='easeInOut'))), Func(self.meter.meterFaceHalf1.show), Func(self.meter.meterFaceHalf2.show), Func(objLevel.clearColor)) levelUpIval.start() elif self.lastExp is not None: if self.lastExp == value: return None self.lastExp = value glowFrameColor = Vec4(1.0, 0, 0, 1.0) startFrameColorA = self.meter.meterFaceHalf1.getColor() startFrameColorB = self.meter.meterFaceHalf2.getColor() objFrameA = self.meter.meterFaceHalf1 objFrameB = self.meter.meterFaceHalf2 objFrameC = self.meter.meterFace if leftoverValue and float(self.max) / float(leftoverValue) > 2.0: expUpIval = Sequence( LerpColorScaleInterval(objFrameA, 0.20000000000000001, glowFrameColor, blendType='easeInOut'), Wait(0.20000000000000001), LerpColorScaleInterval(objFrameA, 0.5, startFrameColorA, blendType='easeInOut'), LerpColorScaleInterval(objFrameA, 0.10000000000000001, glowFrameColor, blendType='easeInOut'), Wait(0.10000000000000001), LerpColorScaleInterval(objFrameA, 0.29999999999999999, startFrameColorA, blendType='easeInOut')) else: expUpIval = Sequence( Parallel( LerpColorScaleInterval(objFrameA, 0.20000000000000001, glowFrameColor, blendType='easeInOut'), LerpColorScaleInterval(objFrameB, 0.20000000000000001, glowFrameColor, blendType='easeInOut')), Wait(0.20000000000000001), Parallel( LerpColorScaleInterval(objFrameA, 0.5, startFrameColorA, blendType='easeInOut'), LerpColorScaleInterval(objFrameB, 0.5, startFrameColorA, blendType='easeInOut')), Parallel( LerpColorScaleInterval(objFrameA, 0.10000000000000001, glowFrameColor, blendType='easeInOut'), LerpColorScaleInterval(objFrameB, 0.10000000000000001, glowFrameColor, blendType='easeInOut')), Wait(0.10000000000000001), Parallel( LerpColorScaleInterval(objFrameA, 0.29999999999999999, startFrameColorA, blendType='easeInOut'), LerpColorScaleInterval(objFrameB, 0.29999999999999999, startFrameColorA, blendType='easeInOut'))) expUpIval.start() def updateChange(self, value, newValue): self.value = value (level, leftoverValue) = ReputationGlobals.getLevelFromTotalReputation( self.category, value + newValue) self.max = ReputationGlobals.getReputationNeededToLevel( self.category, level) self.levelLabel['text'] = '%s' % level oldValue = leftoverValue - newValue if oldValue < 0: oldValue = 0 if self.category == InventoryType.OverallRep: levelCap = ReputationGlobals.GlobalLevelCap else: levelCap = ReputationGlobals.LevelCap if level == levelCap: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG4 self.valueLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.valueLabel['text_scale'] = 0.042999999999999997 self.valueLabel['text'] = PLocalizer.RepCapText_Overall % level self.categoryLabel.hide() self.meter.meterFaceHalf1.hide() self.meter.meterFaceHalf2.hide() self.meter.meterFace.setColor(0.10000000000000001, 0.40000000000000002, 0.10000000000000001, 1.0) self.valueLabel.setZ(0.029999999999999999) self.showMasterOrnament() self.masteredFX() else: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.categoryLabel.show() self.valueLabel.hide() self.changeMeter.update(oldValue, leftoverValue, self.max) self.changeMeter.show() self.meter.hide() self.hideMasterOrnament() def setCategory(self, category): self.category = category name = self.getCategoryName() self.categoryLabel['text'] = name def getCategory(self): return self.category def getCategoryName(self): return PLocalizer.InventoryTypeNames[self.category]
class ReputationMeterDial(DirectFrame): def __init__(self, category, width = 0.40000000000000002): DirectFrame.__init__(self, state = DGG.DISABLED, relief = None) self.initialiseoptions(ReputationMeterDial) self.category = category self.level = 0 self.value = 0 self.max = 0 self.masteredIval = None name = self.getCategoryName() self.changeMeter = ChangeDialMeter(parent = self, meterColor = VBase4(0.69999999999999996, 0.0, 0.0, 1), meterColor2 = VBase4(0.69999999999999996, 0.69999999999999996, 0.0, 1), baseColor = VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover = 0, scale = 0.45000000000000001) self.changeMeter.hide() self.meter = DialMeter(parent = self, meterColor = VBase4(0.69999999999999996, 0.0, 0.0, 1), baseColor = VBase4(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 1), wantCover = 0, scale = 0.45000000000000001) self.meter.setBackwards() self.lastLevel = None self.lastExp = None self.mastered = False self.categoryLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = name, text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), pos = (0, 0, 0), textMayChange = 1) self.levelLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_scale = 0.080000000000000002, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_font = PiratesGlobals.getPirateFont(), pos = (-0.014999999999999999, 0, -0.080000000000000002), textMayChange = 1) logoModel = loader.loadModel('models/gui/potcLogo') guiModel = loader.loadModel('models/gui/toplevel_gui') self.valueLabel = DirectLabel(parent = self, state = DGG.DISABLED, relief = None, text = '', text_scale = PiratesGuiGlobals.TextScaleLarge, text_align = TextNode.ACenter, text_fg = PiratesGuiGlobals.TextFG2, text_shadow = PiratesGuiGlobals.TextShadow, text_font = PiratesGlobals.getInterfaceFont(), pos = (0.0, 0, -0.20000000000000001), textMayChange = 1) self.levelCapScroll = DirectFrame(parent = self, relief = None, image = guiModel.find('**/main_gui_quest_scroll'), image_scale = (0.13, 1.0, 0.089999999999999997), pos = (0.0, 0.0, -0.16250000000000001)) self.levelCapScroll.hide() self.levelCapIcon = DirectFrame(parent = self, relief = None, image = logoModel.find('**/skull'), image_pos = (0.0, 0.0, 0.0), image_scale = 0.90000000000000002, pos = (-0.0275, 0.0, -0.105)) self.levelCapIcon.hide() self.levelCapScroll.setTransparency(1) self.levelCapIcon.setTransparency(1) self.valueLabel.setTransparency(1) def destroy(self): DirectFrame.destroy(self) if self.masteredIval: self.masteredIval.pause() self.masteredIval = None def hideMasterOrnament(self): self.levelCapScroll.hide() self.levelCapIcon.hide() self.levelLabel.show() def showMasterOrnament(self): self.levelCapScroll.show() self.levelCapIcon.show() self.levelLabel.hide() self.mastered = True def masteredFX(self): if self.masteredIval: self.masteredIval.start() return None startColor = Vec4(1.0, 1.0, 1.0, 0.0) endColor = Vec4(1.0, 1.0, 1.0, 1.0) duration = 1.5 fade = Parallel(LerpColorScaleInterval(self.levelCapScroll, duration, endColor, startColor, blendType = 'easeInOut'), LerpColorScaleInterval(self.levelCapIcon, duration, endColor, startColor, blendType = 'easeInOut'), LerpColorScaleInterval(self.valueLabel, duration, endColor, startColor, blendType = 'easeInOut')) startScale = Vec3(0.75, 0.75, 0.75) endScale = Vec3(1.0, 1.0, 1.0) duration = 1.0 scale = Parallel(LerpScaleInterval(self.levelCapScroll, duration, endScale, startScale, blendType = 'easeInOut'), LerpScaleInterval(self.levelCapIcon, duration, endScale, startScale * 0.10000000000000001, blendType = 'easeInOut'), LerpScaleInterval(self.valueLabel, duration, endScale, startScale, blendType = 'easeInOut')) self.masteredIval = Parallel(fade, scale) self.masteredIval.start() def update(self, value, updateLocal = 0): if self.mastered: return None self.value = value (level, leftoverValue) = ReputationGlobals.getLevelFromTotalReputation(self.category, value) self.max = ReputationGlobals.getReputationNeededToLevel(self.category, level) self.levelLabel['text'] = '%s' % level if self.category == InventoryType.OverallRep: levelCap = ReputationGlobals.GlobalLevelCap if updateLocal and level != self.level: localAvatar.setLevel(level) else: levelCap = ReputationGlobals.LevelCap self.level = level if level == levelCap: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG4 self.valueLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.valueLabel['text_scale'] = 0.042999999999999997 self.valueLabel['text'] = PLocalizer.RepCapText_Overall % level self.categoryLabel.hide() self.meter.meterFaceHalf1.hide() self.meter.meterFaceHalf2.hide() self.meter.meterFace.setColor(0.10000000000000001, 0.40000000000000002, 0.10000000000000001, 1.0) self.valueLabel.setZ(0.029999999999999999) self.showMasterOrnament() self.masteredFX() else: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.meter.show() self.categoryLabel.show() self.valueLabel['text'] = '%s / %s' % (leftoverValue, self.max) self.valueLabel['text_scale'] = PiratesGuiGlobals.TextScaleLarge self.valueLabel['text_fg'] = PiratesGuiGlobals.TextFG2 self.valueLabel.setZ(0.0) self.meter.update(leftoverValue, self.max) self.hideMasterOrnament() if self.lastLevel == None: self.lastLevel = level if self.lastExp == None: if hasattr(base, 'localAvatar'): self.lastExp = localAvatar.getInventory().getReputation(self.category) if self.lastExp: expChange = value - self.lastExp if expChange and localAvatar.getGameState() != 'Fishing': localAvatar.guiMgr.gameGui.createExpAlert(expChange, 4.0, Vec3(-0.93000000000000005, 0.0, 0.75), Vec3(0.0, 0.0, 0.25)) if self.lastLevel != level: self.lastLevel = level glowFrameColor = Vec4(0.69999999999999996, 0.0, 0.0, 1.0) glowLevelColor = Vec4(0.80000000000000004, 0.0, 0.0, 1.0) startFrameColor = self.meter.meterFace.getColor() startLevelColor = Vec4(0.90000000000000002, 0.80000000000000004, 0.63, 1.0) startFrameScale = self.meter.meterFace.getScale() startLevelScale = self.levelLabel.getScale() scale = Vec3(1.2, 1.2, 1.2) objFrame = self.meter.meterFace objLevel = self.levelLabel levelUpIval = Sequence(Func(self.meter.meterFaceHalf1.hide), Func(self.meter.meterFaceHalf2.hide), Parallel(LerpColorInterval(objFrame, 3.0, startFrameColor, glowFrameColor, blendType = 'easeInOut'), LerpColorInterval(objLevel, 3.0, startLevelColor, glowLevelColor, blendType = 'easeInOut'), Sequence(LerpScaleInterval(objLevel, 0.25, scale, startFrameScale, blendType = 'easeInOut'), LerpScaleInterval(objLevel, 2.0, startFrameScale, blendType = 'easeInOut'))), Func(self.meter.meterFaceHalf1.show), Func(self.meter.meterFaceHalf2.show), Func(objLevel.clearColor)) levelUpIval.start() elif self.lastExp is not None: if self.lastExp == value: return None self.lastExp = value glowFrameColor = Vec4(1.0, 0, 0, 1.0) startFrameColorA = self.meter.meterFaceHalf1.getColor() startFrameColorB = self.meter.meterFaceHalf2.getColor() objFrameA = self.meter.meterFaceHalf1 objFrameB = self.meter.meterFaceHalf2 objFrameC = self.meter.meterFace if leftoverValue and float(self.max) / float(leftoverValue) > 2.0: expUpIval = Sequence(LerpColorScaleInterval(objFrameA, 0.20000000000000001, glowFrameColor, blendType = 'easeInOut'), Wait(0.20000000000000001), LerpColorScaleInterval(objFrameA, 0.5, startFrameColorA, blendType = 'easeInOut'), LerpColorScaleInterval(objFrameA, 0.10000000000000001, glowFrameColor, blendType = 'easeInOut'), Wait(0.10000000000000001), LerpColorScaleInterval(objFrameA, 0.29999999999999999, startFrameColorA, blendType = 'easeInOut')) else: expUpIval = Sequence(Parallel(LerpColorScaleInterval(objFrameA, 0.20000000000000001, glowFrameColor, blendType = 'easeInOut'), LerpColorScaleInterval(objFrameB, 0.20000000000000001, glowFrameColor, blendType = 'easeInOut')), Wait(0.20000000000000001), Parallel(LerpColorScaleInterval(objFrameA, 0.5, startFrameColorA, blendType = 'easeInOut'), LerpColorScaleInterval(objFrameB, 0.5, startFrameColorA, blendType = 'easeInOut')), Parallel(LerpColorScaleInterval(objFrameA, 0.10000000000000001, glowFrameColor, blendType = 'easeInOut'), LerpColorScaleInterval(objFrameB, 0.10000000000000001, glowFrameColor, blendType = 'easeInOut')), Wait(0.10000000000000001), Parallel(LerpColorScaleInterval(objFrameA, 0.29999999999999999, startFrameColorA, blendType = 'easeInOut'), LerpColorScaleInterval(objFrameB, 0.29999999999999999, startFrameColorA, blendType = 'easeInOut'))) expUpIval.start() def updateChange(self, value, newValue): self.value = value (level, leftoverValue) = ReputationGlobals.getLevelFromTotalReputation(self.category, value + newValue) self.max = ReputationGlobals.getReputationNeededToLevel(self.category, level) self.levelLabel['text'] = '%s' % level oldValue = leftoverValue - newValue if oldValue < 0: oldValue = 0 if self.category == InventoryType.OverallRep: levelCap = ReputationGlobals.GlobalLevelCap else: levelCap = ReputationGlobals.LevelCap if level == levelCap: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG4 self.valueLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.valueLabel['text_scale'] = 0.042999999999999997 self.valueLabel['text'] = PLocalizer.RepCapText_Overall % level self.categoryLabel.hide() self.meter.meterFaceHalf1.hide() self.meter.meterFaceHalf2.hide() self.meter.meterFace.setColor(0.10000000000000001, 0.40000000000000002, 0.10000000000000001, 1.0) self.valueLabel.setZ(0.029999999999999999) self.showMasterOrnament() self.masteredFX() else: self.levelLabel['text_fg'] = PiratesGuiGlobals.TextFG1 self.categoryLabel.show() self.valueLabel.hide() self.changeMeter.update(oldValue, leftoverValue, self.max) self.changeMeter.show() self.meter.hide() self.hideMasterOrnament() def setCategory(self, category): self.category = category name = self.getCategoryName() self.categoryLabel['text'] = name def getCategory(self): return self.category def getCategoryName(self): return PLocalizer.InventoryTypeNames[self.category]