def createGlobals(self): """ Create "global" objects, e.g. TimeManager et al. """ self.notify.info('Creating District Stats') self.districtStats = ToontownDistrictStatsAI(self) self.districtStats.settoontownDistrictId(self.districtId) self.districtStats.generateWithRequiredAndId(self.allocateChannel(), self.getGameDoId(), 3) self.notify.info('Creating Time Manager') self.timeManager = TimeManagerAI(self) self.timeManager.generateWithRequired(2) self.notify.info('Creating News Manager') self.newsManager = NewsManagerAI(self) self.newsManager.generateWithRequired(2) if config.GetBool('want-mw-manager', True): self.notify.info('Creating Magic Words Manager') self.magicWordManager = MagicWordManagerAI(self) self.magicWordManager.generateWithRequired(2) if config.GetBool('want-friends-manager', True): self.notify.info('Creating Friends Manager') self.friendManager = FriendManagerAI(self) self.friendManager.generateWithRequired(2) if config.GetBool('want-parties', True): self.notify.info('Creating Parties Manager') self.partyManager = DistributedPartyManagerAI(self) self.partyManager.generateWithRequired(2) # Setup our view of the global party manager ud self.globalPartyMgr = self.generateGlobalObject( OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager') if config.GetBool('want-estates-manager', True): self.notify.info('Creating Estates') self.estateManager = EstateManagerAI(self) self.estateManager.generateWithRequired(2) self.notify.info('Creating TrophyMgr') self.trophyMgr = DistributedTrophyMgrAI(self) self.trophyMgr.generateWithRequired(2) self.notify.info('Creating Toontorial Manager') self.tutorialManager = TutorialManagerAI(self) self.tutorialManager.generateWithRequired(2) self.notify.info('Creating Catalog Manager') self.catalogManager = CatalogManagerAI(self) self.catalogManager.generateWithRequired(2) if config.GetBool('want-pets', True): self.notify.info('Creating Pets Manager') self.PetManager = PetManagerAI(self) self.notify.info('Creating Code Redemption Manager') self.codeRedemptionManager = TTCodeRedemptionMgrAI(self) self.codeRedemptionManager.generateWithRequired(2)
def createGlobals(self): """ Create "global" objects, e.g. TimeManager et al. """ self.districtStats = ToontownDistrictStatsAI(self) self.districtStats.settoontownDistrictId(self.districtId) self.districtStats.generateWithRequiredAndId(self.allocateChannel(), self.getGameDoId(), 3) self.notify.info('Created district stats AI (%d).' % self.districtStats.doId) self.timeManager = TimeManagerAI(self) self.timeManager.generateWithRequired(2) self.newsManager = NewsManagerAI(self) self.newsManager.generateWithRequired(2) self.staffManager = StaffManagerAI(self) self.staffManager.generateWithRequired(2) self.banManager = BanManagerAI(self) self.banManager.generateWithRequired(2) self.magicWordManager = MagicWordManagerAI(self) self.magicWordManager.generateWithRequired(2) self.friendManager = FriendManagerAI(self) self.friendManager.generateWithRequired(2) if config.GetBool('want-parties', True): self.partyManager = DistributedPartyManagerAI(self) self.partyManager.generateWithRequired(2) # setup our view of the global party manager ud self.globalPartyMgr = self.generateGlobalObject( OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager') self.estateManager = EstateManagerAI(self) self.estateManager.generateWithRequired(2) self.trophyMgr = DistributedTrophyMgrAI(self) self.trophyMgr.generateWithRequired(2) if config.GetBool('want-pets', True): self.petMgr = PetManagerAI(self) self.tutorialManager = TutorialManagerAI(self) self.tutorialManager.generateWithRequired(2) self.catalogManager = CatalogManagerAI(self) self.catalogManager.generateWithRequired(2) self.codeRedemptionManager = TTCodeRedemptionMgrAI(self) self.codeRedemptionManager.generateWithRequired(2) self.ttFriendsManager = self.generateGlobalObject( OTP_DO_ID_TT_FRIENDS_MANAGER, 'TTFriendsManager') self.csm = self.generateGlobalObject(OTP_DO_ID_CLIENT_SERVICES_MANAGER, 'ClientServicesManager')
def createManagers(self): self.timeManager = TimeManagerAI(self) self.timeManager.generateWithRequired(2) self.magicWordManager = MagicWordManagerAI(self) self.magicWordManager.generateWithRequired(2) self.newsManager = NewsManagerAI(self) self.newsManager.generateWithRequired(2) self.safeZoneManager = SafeZoneManagerAI(self) self.safeZoneManager.generateWithRequired(2) self.tutorialManager = TutorialManagerAI(self) self.tutorialManager.generateWithRequired(2) self.friendManager = FriendManagerAI(self) self.friendManager.generateWithRequired(2) self.questManager = QuestManagerAI(self) self.banManager = BanManagerAI.BanManagerAI(self) self.achievementsManager = AchievementsManagerAI(self) self.certManager = CertificateManagerAI(self) self.suitInvasionManager = SuitInvasionManagerAI(self) self.trophyMgr = DistributedTrophyMgrAI(self) self.trophyMgr.generateWithRequired(2) self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI(self) self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self) self.experienceMgr = ExperienceRewardManagerAI.ExperienceRewardManagerAI(self) self.cogPageManager = CogPageManagerAI.CogPageManagerAI() self.sillyMeterMgr = DistributedSillyMeterMgrAI.DistributedSillyMeterMgrAI(self) self.sillyMeterMgr.generateWithRequired(2) self.hydrantZeroMgr = DistributedHydrantZeroMgrAI.DistributedHydrantZeroMgrAI(self) self.hydrantZeroMgr.generateWithRequired(2) self.mailboxZeroMgr = DistributedMailboxZeroMgrAI.DistributedMailboxZeroMgrAI(self) self.mailboxZeroMgr.generateWithRequired(2) self.trashcanZeroMgr = DistributedTrashcanZeroMgrAI.DistributedTrashcanZeroMgrAI(self) self.trashcanZeroMgr.generateWithRequired(2) self.dialogueManager = DialogueManagerAI(self) self.bingoHolidayMgr = BingoHolidayMgrAI(self, ToontownGlobals.FISH_BINGO_NIGHT) self.bingoWeekendMgr = BingoWeekendMgrAI(self, ToontownGlobals.SILLY_SATURDAY_BINGO) self.trolleyHolidayMgr = TrolleyHolidayMgrAI(self, ToontownGlobals.TROLLEY_HOLIDAY) self.trolleyWeekendMgr = TrolleyWeekendMgrAI(self, ToontownGlobals.TROLLEY_WEEKEND) self.holidayManager = HolidayManagerAI(self) if self.wantFishing: self.fishManager = FishManagerAI(self) if self.wantHousing: self.estateManager = EstateManagerAI(self) self.estateManager.generateWithRequired(2) self.catalogManager = CatalogManagerAI(self) self.catalogManager.generateWithRequired(2) self.deliveryManager = self.generateGlobalObject(OTP_DO_ID_TOONTOWN_DELIVERY_MANAGER, 'DistributedDeliveryManager') self.mailManager = self.generateGlobalObject(OTP_DO_ID_TOONTOWN_MAIL_MANAGER, 'DistributedMailManager') if self.wantPets: self.petMgr = PetManagerAI(self) if self.wantParties: self.partyManager = DistributedPartyManagerAI(self) self.partyManager.generateWithRequired(2) self.globalPartyMgr = self.generateGlobalObject(OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager') self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self) self.codeRedemptionMgr.generateWithRequired(2) self.chatAgent = simbase.air.generateGlobalObject(OTP_DO_ID_CHAT_MANAGER, 'ChatAgent')
def createManagers(self): self.timeManager = TimeManagerAI(self) self.timeManager.generateWithRequired(2) self.magicWordManager = MagicWordManagerAI(self) self.magicWordManager.generateWithRequired(2) self.newsManager = NewsManagerAI(self) self.newsManager.generateWithRequired(2) self.holidayManager = HolidayManagerAI(self) self.safeZoneManager = SafeZoneManagerAI(self) self.safeZoneManager.generateWithRequired(2) self.tutorialManager = TutorialManagerAI(self) self.tutorialManager.generateWithRequired(2) self.friendManager = FriendManagerAI(self) self.friendManager.generateWithRequired(2) self.questManager = QuestManagerAI(self) self.banManager = BanManagerAI.BanManagerAI(self) self.suitInvasionManager = SuitInvasionManagerAI(self) self.trophyMgr = DistributedTrophyMgrAI(self) self.trophyMgr.generateWithRequired(2) self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI(self) self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self) self.cogPageManager = CogPageManagerAI.CogPageManagerAI() if self.wantFishing: self.fishManager = FishManagerAI(self) if self.wantHousing: self.estateManager = EstateManagerAI(self) self.estateManager.generateWithRequired(2) self.catalogManager = CatalogManagerAI(self) self.catalogManager.generateWithRequired(2) self.deliveryManager = self.generateGlobalObject( OTP_DO_ID_TOONTOWN_DELIVERY_MANAGER, 'DistributedDeliveryManager') if self.wantPets: self.petMgr = PetManagerAI(self) if self.wantParties: self.partyManager = DistributedPartyManagerAI(self) self.partyManager.generateWithRequired(2) # Setup view of global ub party manager self.globalPartyMgr = self.generateGlobalObject( OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager') self.wantLeaderBoardMgr = True if self.wantLeaderBoardMgr: self.leaderBoardMgr = DistributedLeaderBoardManagerAI(self) # Need work self.codeRedemptionManager = TTCodeRedemptionMgrAI(self) self.codeRedemptionManager.generateWithRequired(2)
def createManagers(self): self.timeManager = TimeManagerAI(self) self.timeManager.generateWithRequired(2) self.magicWordManager = MagicWordManagerAI(self) self.magicWordManager.generateWithRequired(2) self.newsManager = NewsManagerAI(self) self.newsManager.generateWithRequired(2) self.safeZoneManager = SafeZoneManagerAI(self) self.safeZoneManager.generateWithRequired(2) self.topToonsMgr = TopToonsManagerAI(self) #self.topToonsMgr.generateWithRequired(2) self.tutorialManager = TutorialManagerAI(self) self.tutorialManager.generateWithRequired(2) self.friendManager = FriendManagerAI(self) self.friendManager.generateWithRequired(2) self.questManager = QuestManagerAI(self) self.banManager = BanManagerAI.BanManagerAI(self) self.suitInvasionManager = SuitInvasionManagerAI(self) self.blackCatMgr = DistributedBlackCatMgrAI(self) self.blackCatMgr.generateWithRequired(2) self.reportMgr = DistributedReportMgrAI(self) self.reportMgr.generateWithRequired(2) self.trophyMgr = DistributedTrophyMgrAI(self) self.trophyMgr.generateWithRequired(2) self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI() self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self) self.cogPageManager = CogPageManagerAI.CogPageManagerAI() self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self) self.codeRedemptionMgr.generateWithRequired(2) self.buildingQueryMgr = DistributedBuildingQueryMgrAI(self) self.buildingQueryMgr.generateWithRequired(2) if self.wantTopToons: self.topToonsMgr = TopToonsManagerAI(self) if self.wantKarts: self.leaderboardMgr = LeaderboardMgrAI(self) if self.wantFishing: self.fishManager = FishManagerAI(self) if self.wantHousing: self.estateManager = EstateManagerAI(self) self.estateManager.generateWithRequired(2) self.catalogManager = CatalogManagerAI(self) self.catalogManager.generateWithRequired(2) if self.wantPets: self.petMgr = PetManagerAI(self) if self.wantParties: self.partyManager = DistributedPartyManagerAI(self) self.partyManager.generateWithRequired(2) self.globalPartyMgr = self.generateGlobalObject( OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager')
def createGlobals(self): self.districtStats = ToontownDistrictStatsAI(self) self.districtStats.settoontownDistrictId(self.districtId) self.districtStats.generateWithRequiredAndId(self.allocateChannel(), self.getGameDoId(), OTP_ZONE_ID_DISTRICTS) self.notify.info('Created district stats AI (%d).' % self.districtStats.doId) self.timeManager = TimeManagerAI(self) self.timeManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.newsManager = NewsManagerAI(self) self.newsManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.suitInvasionManager = SuitInvasionManagerAI(self) self.holidayManager = HolidayManagerAI(self) self.magicWordManager = MagicWordManagerAI(self) self.magicWordManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.friendManager = FriendManagerAI(self) self.friendManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.sillyMeterMgr = DistributedSillyMeterMgrAI(self) self.sillyMeterMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) if config.GetBool('want-code-redemption', True): self.codeRedemptionMgr = TTCodeRedemptionMgrAI(self) self.codeRedemptionMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) if config.GetBool('want-parties', True): self.partyManager = DistributedPartyManagerAI(self) self.partyManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.globalPartyMgr = self.generateGlobalObject( OTP_DO_ID_GLOBAL_PARTY_MANAGER, 'GlobalPartyManager') if config.GetBool('want-estates', True): self.estateManager = EstateManagerAI(self) self.estateManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.trophyMgr = DistributedTrophyMgrAI(self) self.trophyMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) if simbase.wantPets: self.petMgr = PetManagerAI(self) self.tutorialManager = TutorialManagerAI(self) self.tutorialManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.catalogManager = CatalogManagerAI(self) self.catalogManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) if config.GetBool('want-event-manager', False): self.eventManager = DistributedEventManagerAI(self) self.eventManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) if config.GetBool('want-news-page', False): self.inGameNewsMgr = DistributedInGameNewsMgrAI(self) self.inGameNewsMgr.setLatestIssueStr('2013-08-22 23:49:46') self.inGameNewsMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT) self.banManager = self.generateGlobalObject(OTP_DO_ID_BAN_MANAGER, 'BanManager')
def createObjects(self): # First, load up all of our DNA files for the world. self.loadDNA() # Create a new district (aka shard) for this AI: self.district = ToontownDistrictAI(self, self.districtName) self.district.generateOtpObject(OTP_DO_ID_TOONTOWN, OTP_ZONE_ID_DISTRICTS, doId=self.districtId) # The Time manager. This negotiates a timestamp exchange for # the purposes of synchronizing clocks between client and # server with a more accurate handshaking protocol than we # would otherwise get. # # We must create this object first, so clients who happen to # come into the world while the AI is still coming up # (particularly likely if the AI crashed while players were # in) will get a chance to synchronize. self.timeManager = TimeManagerAI.TimeManagerAI(self) self.timeManager.generateOtpObject(self.district.getDoId(), OTPGlobals.UberZone) self.partyManager = DistributedPartyManagerAI.DistributedPartyManagerAI( self) self.partyManager.generateOtpObject(self.district.getDoId(), OTPGlobals.UberZone) self.inGameNewsMgr = DistributedInGameNewsMgrAI.DistributedInGameNewsMgrAI( self) self.inGameNewsMgr.generateOtpObject(self.district.getDoId(), OTPGlobals.UberZone) self.cpuInfoMgr = DistributedCpuInfoMgrAI.DistributedCpuInfoMgrAI(self) self.cpuInfoMgr.generateOtpObject(self.district.getDoId(), OTPGlobals.UberZone) if config.GetBool('want-code-redemption', 1): self.codeRedemptionManager = TTCodeRedemptionMgrAI(self) self.codeRedemptionManager.generateOtpObject( self.district.getDoId(), OTPGlobals.UberZone) self.randomSourceManager = NonRepeatableRandomSourceAI(self) # QuietZone so that the client doesn't get a generate self.randomSourceManager.generateOtpObject(self.district.getDoId(), OTPGlobals.QuietZone) self.welcomeValleyManager = WelcomeValleyManagerAI.WelcomeValleyManagerAI( self) self.welcomeValleyManager.generateWithRequired(OTPGlobals.UberZone) # The trophy manager should be created before the building # managers. self.trophyMgr = DistributedTrophyMgrAI.DistributedTrophyMgrAI(self) self.trophyMgr.generateWithRequired(OTPGlobals.UberZone) # The bank manager handles banking transactions self.bankMgr = DistributedBankMgrAI.DistributedBankMgrAI(self) self.bankMgr.generateWithRequired(OTPGlobals.UberZone) # The Friend Manager #self.friendManager = FriendManagerAI.FriendManagerAI(self) #self.friendManager.generateWithRequired(OTPGlobals.UberZone) # The Delete Manager self.deleteManager = DeleteManagerAI.DeleteManagerAI(self) self.deleteManager.generateWithRequired(OTPGlobals.UberZone) # The Safe Zone manager self.safeZoneManager = SafeZoneManagerAI.SafeZoneManagerAI(self) self.safeZoneManager.generateWithRequired(OTPGlobals.UberZone) # The Magic Word Manager magicWordString = simbase.config.GetString('want-magic-words', '1') if magicWordString not in ('', '0', '#f'): self.magicWordManager = ToontownMagicWordManagerAI.ToontownMagicWordManagerAI( self) self.magicWordManager.generateWithRequired(OTPGlobals.UberZone) # The Tutorial manager self.tutorialManager = TutorialManagerAI.TutorialManagerAI(self) self.tutorialManager.generateWithRequired(OTPGlobals.UberZone) # The Catalog Manager self.catalogManager = CatalogManagerAI.CatalogManagerAI(self) self.catalogManager.generateWithRequired(OTPGlobals.UberZone) # The Quest manager self.questManager = QuestManagerAI.QuestManagerAI(self) # The Fish manager self.fishManager = FishManagerAI.FishManagerAI(self) # The Cog Page manager self.cogPageManager = CogPageManagerAI.CogPageManagerAI(self) # The Suit Invasion Manager self.suitInvasionManager = SuitInvasionManagerAI.SuitInvasionManagerAI( self) # The Firework Manager: This object really only exists so we can # fire off fireworks with magic words. Normally this is a holiday # manager driven event and therefore the constructor needs a # holidayId. Pass in fourth of july as default. To do: override # holiday ID with a magic word self.fireworkManager = FireworkManagerAI.FireworkManagerAI( self, NEWYEARS_FIREWORKS) # Create an NPC Dialogue manager that manages conversations # amongst a set of NPC's self.dialogueManager = NPCDialogueManagerAI.NPCDialogueManagerAI() # The News manager self.newsManager = NewsManagerAI.NewsManagerAI(self) self.newsManager.generateWithRequired(OTPGlobals.UberZone) # The Factory Manager self.factoryMgr = FactoryManagerAI.FactoryManagerAI(self) # The Mint Manager self.mintMgr = MintManagerAI.MintManagerAI(self) #the Law Office Manager self.lawMgr = LawOfficeManagerAI.LawOfficeManagerAI(self) # The Cog Country Club Manager self.countryClubMgr = CountryClubManagerAI.CountryClubManagerAI(self) if simbase.wantKarts: # The Race Manager self.raceMgr = RaceManagerAI.RaceManagerAI(self) self.cogSuitMgr = CogSuitManagerAI.CogSuitManagerAI(self) self.promotionMgr = PromotionManagerAI.PromotionManagerAI(self) # Housing self.estateMgr = EstateManagerAI.EstateManagerAI(self) self.estateMgr.generateWithRequired(OTPGlobals.UberZone) if simbase.wantPets: # Pets -- must be created after estateMgr self.petMgr = PetManagerAI.PetManagerAI(self) # Now create the neighborhood-specific objects. self.startupHood(TTHoodDataAI.TTHoodDataAI(self)) self.startupHood(DDHoodDataAI.DDHoodDataAI(self)) self.startupHood(MMHoodDataAI.MMHoodDataAI(self)) self.startupHood(DGHoodDataAI.DGHoodDataAI(self)) self.startupHood(BRHoodDataAI.BRHoodDataAI(self)) self.startupHood(DLHoodDataAI.DLHoodDataAI(self)) self.startupHood(CSHoodDataAI.CSHoodDataAI(self)) self.startupHood(GSHoodDataAI.GSHoodDataAI(self)) self.startupHood(OZHoodDataAI.OZHoodDataAI(self)) self.startupHood(GZHoodDataAI.GZHoodDataAI(self)) self.startupHood(CashbotHQDataAI.CashbotHQDataAI(self)) self.startupHood(LawbotHQDataAI.LawbotHQDataAI(self)) self.startupHood(BossbotHQDataAI.BossbotHQDataAI(self)) # The Holiday Manager should be instantiated after the each # of the hoods and estateMgrAI are generated because Bingo Night # needs to reference the HoodDataAI and EstateMgrAI for pond # information. (JJT - 7/22/04) self.holidayManager = HolidayManagerAI.HolidayManagerAI(self) self.banManager = BanManagerAI.BanManagerAI() # Now that we've created all the suit planners, any one of # them can be used to fill the world with requests for suit # buildings. if self.suitPlanners: list(self.suitPlanners.values())[0].assignInitialSuitBuildings() # mark district as avaliable self.district.b_setAvailable(1) # Now that everything's created, start checking the leader # boards for correctness. We only need to check every 30 # seconds or so. self.__leaderboardFlush(None) taskMgr.doMethodLater(30, self.__leaderboardFlush, 'leaderboardFlush', appendTask=True)