Beispiel #1
0
    def createManagers(self):
        self.districtStats = DistributedPopulationTrackerAI(self, populationMin=100, populationMax=700)
        self.districtStats.generateWithRequiredAndId(
            self.allocateChannel(), self.getGameDoId(), 4)
        self.districtStats.b_setShardId(self.distributedDistrict.getDoId())

        self.DistributedTimeOfDayManager = DistributedTimeOfDayManagerAI(self, isPaused=False, isJolly=0)
        self.DistributedTimeOfDayManager.generateWithRequired(3)

        self.DistributedPirateProfileMgr = DistributedPirateProfileMgrAI(self)
        self.DistributedPirateProfileMgr.generateWithRequired(3)

        self.worldManager = WorldManagerAI(self) #TODO: Generate the rest of the islands!
        self.portRoyal = self.worldManager.loadObjectsFromFile(filename="PortRoyalWorld.py")
        self.tortuga = self.worldManager.loadObjectsFromFile(filename="TortugaWorld.py")
        self.islaCangrejos = self.worldManager.loadObjectsFromFile(filename="CangrejosIsland.py")
        self.kingsHead = self.worldManager.loadObjectsFromFile(filename="KingsheadWorld.py")
        self.cuba = self.worldManager.loadObjectsFromFile(filename="CubaWorld.py")
        self.islaRumrunner = self.worldManager.loadObjectsFromFile(filename="RumrunnerWorld.py")
        self.anvilIsland = self.worldManager.loadObjectsFromFile(filename="AnvilIsland.py")
        self.islaTormenta = self.worldManager.loadObjectsFromFile(filename="TormentaIsland.py")

        # Tutorial:
        self.rambleShackIsland = self.worldManager.loadObjectsFromFile(filename="RambleshackWorld.py")

        self.tutorialObject = DistributedPiratesTutorialAI(self)
        self.tutorialObject.generateWithRequired(3)
    def createGlobals(self):
        """
        Create "global" objects, e.g. TimeManager et al.
        """

        self.centralLogger = self.generateGlobalObject(OTP_DO_ID_CENTRAL_LOGGER, 'CentralLogger')

        self.populationTracker = DistributedPopulationTrackerAI(self)
        self.populationTracker.setShardId(self.districtId)
        self.populationTracker.setPopLimits(config.GetInt('shard-pop-limit-low', 100), config.GetInt('shard-pop-limit-high', 300))
        self.populationTracker.generateWithRequiredAndId(self.allocateChannel(), self.getGameDoId(), OTP_ZONE_ID_DISTRICTS_STATS)

        self.timeManager = PiratesTimeManagerAI(self)
        self.timeManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.travelAgent = self.generateGlobalObject(OTP_DO_ID_PIRATES_TRAVEL_AGENT, 'DistributedTravelAgent')

        self.teleportMgr = DistributedTeleportMgrAI(self)
        self.teleportMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.timeOfDayMgr = DistributedTimeOfDayManagerAI(self)
        self.timeOfDayMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.newsManager = NewsManagerAI(self)
        self.newsManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.holidayMgr = self.generateGlobalObject(OTP_DO_ID_PIRATES_HOLIDAY_MANAGER, 'HolidayManager')

        self.gameStatManager = DistributedGameStatManagerAI(self)
        self.gameStatManager.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.targetMgr = TargetManagerAI(self)
        self.targetMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.spawner = DistributedEnemySpawnerAI(self)
        self.spawner.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.inventoryManager = self.generateGlobalObject(OTP_DO_ID_PIRATES_INVENTORY_MANAGER, 'DistributedInventoryManager')

        self.magicWords = PiratesMagicWordManagerAI(self)
        self.magicWords.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.tradeMgr = TradeManagerAI(self)
        self.tradeMgr.generateWithRequired(OTP_ZONE_ID_MANAGEMENT)

        self.crewMatchManager = self.generateGlobalObject(OTP_DO_ID_PIRATES_CREW_MATCH_MANAGER, 'DistributedCrewMatchManager')

        self.guildManager = self.generateGlobalObject(OTP_DO_ID_PIRATES_GUILD_MANAGER, 'PCGuildManager')