def fadeIn(self): self.potionGame = PotionGame(self) base.cr.loadingScreen.hide() base.transitions.fadeIn(self.fadeTime)
class DistributedPotionGame(DistributedObject): notify = DirectNotifyGlobal.directNotify.newCategory( 'DistributedRepairGame') IslandColorSets = { LocationIds.DEL_FUEGO_ISLAND: 1, LocationIds.TORTUGA_ISLAND: 2, LocationIds.CUBA_ISLAND: 3 } def __init__(self, cr): DistributedObject.__init__(self, cr) self.colorSet = 0 self.fadeTime = 0.10000000000000001 self.fadeTask = None self.xpBonus = 0 def setColorSet(self, colorSet): self.colorSet = colorSet def setXpBonus(self, xpBonusAmt): self.xpBonus = xpBonusAmt self.potionGame.updateResultsScreen() def getXpBonus(self): return self.xpBonus def announceGenerate(self): DistributedObject.announceGenerate(self) self.fadeTask = taskMgr.doMethodLater(1, self.fadeIn, 'potionfade', extraArgs=[]) self.determineColorSet() def disable(self): if self.fadeTask: taskMgr.remove(self.fadeTask) self.fadeTask = None DistributedObject.disable(self) def determineColorSet(self): potionTable = self.getParentObj() if potionTable: island = potionTable.getParentObj() if island: colorSet = self.IslandColorSets.get(island.uniqueId, 0) self.setColorSet(colorSet) def fadeOut(self): base.transitions.setFadeColor(0, 0, 0) if not base.transitions.fadeOutActive(): base.transitions.fadeOut(self.fadeTime) def fadeIn(self): self.potionGame = PotionGame(self) base.cr.loadingScreen.hide() base.transitions.fadeIn(self.fadeTime) def done(self): if base.transitions.fadeOutActive(): self.loadingSequence = Sequence(Func(self.fadeOut), Wait(self.fadeTime), Func(self.d_finish)) self.loadingSequence.start() else: self.d_finish() def d_completeRecipe(self, recipeID, clearNewFlag): self.sendUpdate('completeRecipe', [recipeID, clearNewFlag]) def d_completeSurvival(self, ingredients, tiles): self.sendUpdate('completeSurvival', [ingredients, tiles]) def d_claimXPBonus(self, bonusLevel): self.sendUpdate('claimXPBonus', [bonusLevel]) def d_setHintsActive(self, active): self.sendUpdate('setHintsActive', [active]) def d_finish(self): self.sendUpdate('finish') def d_reset(self): self.sendUpdate('reset') def checkExit(self): if self.potionGame.gameFSM.getCurrentOrNextState() in [ 'Input', 'Anim', 'Hint', 'Idle', 'Welcome' ]: self.potionGame.confirmQuit() elif self.potionGame.gameFSM.getCurrentOrNextState() in ['Results']: self.potionGame.resultsScreen.quit() def getPlayerNotNewFlags(self): madeList = [] inv = localAvatar.getInventory() for madeID in InventoryType.HaveMadeList: if inv.getStackQuantity(madeID) > 0: potionID = PotionGlobals.getPotionForHaveMadeID(madeID) if potionID > 0: madeList.append(potionID) potionID > 0 return madeList def getPlayerPotionLevel(self): inv = localAvatar.getInventory() repAmt = inv.getAccumulator(InventoryType.PotionsRep) repLvl = ReputationGlobals.getLevelFromTotalReputation( InventoryType.PotionsRep, repAmt) return repLvl[0] def handleArrivedOnShip(self, ship): pass
class DistributedPotionGame(DistributedObject): notify = DirectNotifyGlobal.directNotify.newCategory('DistributedRepairGame') IslandColorSets = { LocationIds.DEL_FUEGO_ISLAND: 1, LocationIds.TORTUGA_ISLAND: 2, LocationIds.CUBA_ISLAND: 3 } def __init__(self, cr): DistributedObject.__init__(self, cr) self.colorSet = 0 self.fadeTime = 0.10000000000000001 self.fadeTask = None self.xpBonus = 0 def setColorSet(self, colorSet): self.colorSet = colorSet def setXpBonus(self, xpBonusAmt): self.xpBonus = xpBonusAmt self.potionGame.updateResultsScreen() def getXpBonus(self): return self.xpBonus def announceGenerate(self): DistributedObject.announceGenerate(self) self.fadeTask = taskMgr.doMethodLater(1, self.fadeIn, 'potionfade', extraArgs = []) self.determineColorSet() def disable(self): if self.fadeTask: taskMgr.remove(self.fadeTask) self.fadeTask = None DistributedObject.disable(self) def determineColorSet(self): potionTable = self.getParentObj() if potionTable: island = potionTable.getParentObj() if island: colorSet = self.IslandColorSets.get(island.uniqueId, 0) self.setColorSet(colorSet) def fadeOut(self): base.transitions.setFadeColor(0, 0, 0) if not base.transitions.fadeOutActive(): base.transitions.fadeOut(self.fadeTime) def fadeIn(self): self.potionGame = PotionGame(self) base.cr.loadingScreen.hide() base.transitions.fadeIn(self.fadeTime) def done(self): if base.transitions.fadeOutActive(): self.loadingSequence = Sequence(Func(self.fadeOut), Wait(self.fadeTime), Func(self.d_finish)) self.loadingSequence.start() else: self.d_finish() def d_completeRecipe(self, recipeID, clearNewFlag): self.sendUpdate('completeRecipe', [ recipeID, clearNewFlag]) def d_completeSurvival(self, ingredients, tiles): self.sendUpdate('completeSurvival', [ ingredients, tiles]) def d_claimXPBonus(self, bonusLevel): self.sendUpdate('claimXPBonus', [ bonusLevel]) def d_setHintsActive(self, active): self.sendUpdate('setHintsActive', [ active]) def d_finish(self): self.sendUpdate('finish') def d_reset(self): self.sendUpdate('reset') def checkExit(self): if self.potionGame.gameFSM.getCurrentOrNextState() in [ 'Input', 'Anim', 'Hint', 'Idle', 'Welcome']: self.potionGame.confirmQuit() elif self.potionGame.gameFSM.getCurrentOrNextState() in [ 'Results']: self.potionGame.resultsScreen.quit() def getPlayerNotNewFlags(self): madeList = [] inv = localAvatar.getInventory() for madeID in InventoryType.HaveMadeList: if inv.getStackQuantity(madeID) > 0: potionID = PotionGlobals.getPotionForHaveMadeID(madeID) if potionID > 0: madeList.append(potionID) potionID > 0 return madeList def getPlayerPotionLevel(self): inv = localAvatar.getInventory() repAmt = inv.getAccumulator(InventoryType.PotionsRep) repLvl = ReputationGlobals.getLevelFromTotalReputation(InventoryType.PotionsRep, repAmt) return repLvl[0]