class OZHoodAI(SZHoodAI): HOOD = ToontownGlobals.OutdoorZone def createZone(self): SZHoodAI.createTreasurePlanner(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD)
class OZHoodAI(HoodAI): HOOD = ToontownGlobals.OutdoorZone def createSafeZone(self): HoodAI.createTreasurePlanner(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD)
class OZHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.OutdoorZone, ToontownGlobals.OutdoorZone) self.timer = None self.picnicTables = [] self.gameTables = [] self.startup() def startup(self): HoodAI.HoodAI.startup(self) self.createTimer() self.createPicnicTables() def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId) def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): picnicTables = [] if isinstance(dnaGroup, DNAGroup) and ('picnic_table' in dnaGroup.getName()): nameInfo = dnaGroup.getName().split('_') for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'picnic_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() picnicTable = DistributedPicnicBasketAI( simbase.air, nameInfo[2], pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) picnicTable.generateWithRequired(zoneId) picnicTables.append(picnicTable) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId( int(dnaGroup.getName().split(':')[0]), zoneId) for i in xrange(dnaGroup.getNumChildren()): foundPicnicTables = self.findPicnicTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) picnicTables.extend(foundPicnicTables) return picnicTables def createPicnicTables(self): self.picnicTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundPicnicTables = self.findPicnicTables(dnaData, zoneId, area, overrideDNAZone=True) self.picnicTables.extend(foundPicnicTables) for picnicTable in self.picnicTables: picnicTable.start()
class OZHoodAI(SZHoodAI): HOOD = ToontownGlobals.OutdoorZone def createZone(self): SZHoodAI.createTreasurePlanner(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD) self.spawnObjects() def spawnObjects(self): HoodAI.spawnObjects(self) filename = self.air.genDNAFileName(self.HOOD) self.air.dnaSpawner.spawnObjects(filename, self.HOOD)
class OZHoodAI(SZHoodAI): HOOD = ToontownGlobals.OutdoorZone def createZone(self): SZHoodAI.createTreasurePlanner(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD) self.spawnObjects() def spawnObjects(self): HoodAI.spawnObjects(self) filename = self.air.genDNAFileName(self.HOOD) self.air.dnaSpawner.spawnObjects(filename, self.HOOD)
def startup(self): HoodAI.HoodAI.startup(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD) self.flippyStand = DistributedFlippyStandAI.DistributedFlippyStandAI( self.air) self.flippyStand.generateWithRequired(self.HOOD) self.toonfestTower = DistributedToonfestTowerBaseAI.DistributedToonfestTowerBaseAI( self.air) self.toonfestTower.generateWithRequired(self.HOOD) self.balloon = DistributedToonfestBalloonAI.DistributedToonfestBalloonAI( self.air) self.balloon.generateWithRequired(self.HOOD) self.balloon.b_setState('Waiting') self.toonfest = DistributedToonFestAI.DistributedToonFestAI(self.air) self.toonfest.generateWithRequired(self.HOOD) self.duckTank = DistributedDuckTankAI.DistributedDuckTankAI(self.air) self.duckTank.generateWithRequired(self.HOOD)
class OZHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.OutdoorZone, ToontownGlobals.OutdoorZone) self.trolley = None self.timer = None self.classicCharChip = None self.classicCharDale = None self.startup() def startup(self): HoodAI.HoodAI.startup(self) if simbase.config.GetBool('want-minigames', True): self.createTrolley() pass self.createTimer() if simbase.config.GetBool('want-classic-chars', True): if simbase.config.GetBool('want-chip-and-dale', True): self.createClassicChars() def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId) def createTrolley(self): self.trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air) self.trolley.generateWithRequired(self.zoneId) self.trolley.start() def createClassicChars(self): self.classicCharChip = DistributedChipAI.DistributedChipAI(self.air) self.classicCharChip.generateWithRequired(self.zoneId) self.classicCharChip.start() self.classicCharDale = DistributedDaleAI.DistributedDaleAI( self.air, self.classicCharChip.doId) self.classicCharDale.generateWithRequired(self.zoneId) self.classicCharDale.start() self.classicCharChip.setDaleId(self.classicCharDale.doId)
def createZone(self): #SZHoodAI.createTreasurePlanner(self) #SZHoodAI.createZone(self, False) self.spawnObjects() self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD) #self.flippyStand = DistributedFlippyStandAI.DistributedFlippyStandAI(self.air) #self.flippyStand.generateWithRequired(self.HOOD) #self.toonfestTower = DistributedToonfestTowerAI.DistributedToonfestTowerAI(self.air) #self.toonfestTower.generateWithRequired(self.HOOD) #self.toonfestTower = DistributedToonfestTowerBaseAI.DistributedToonfestTowerBaseAI(self.air) #self.toonfestTower.generateWithRequired(self.HOOD) #self.balloon = DistributedToonfestBalloonAI.DistributedToonfestBalloonAI(self.air) #self.balloon.generateWithRequired(self.HOOD) #self.balloon.b_setState('Waiting') self.toonfest = DistributedToonFestAI.DistributedToonFestAI(self.air) self.toonfest.generateWithRequired(self.HOOD) self.duckTank = DistributedDuckTankAI.DistributedDuckTankAI(self.air) self.duckTank.generateWithRequired(self.HOOD) self.cogs = []
class OZHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.OutdoorZone, ToontownGlobals.OutdoorZone) self.timer = None self.classicCharChip = None self.classicCharDale = None self.picnicTables = [] self.gameTables = [] self.startup() def startup(self): HoodAI.HoodAI.startup(self) self.createTimer() if simbase.config.GetBool('want-classic-chars', True): if simbase.config.GetBool('want-chip-and-dale', True): self.createClassicChar() self.createPicnicTables() if simbase.config.GetBool('want-game-tables', True): self.createGameTables() def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId) def createClassicChar(self): if simbase.air.holidayManager.isHolidayRunning(ToontownGlobals.HALLOWEEN_COSTUMES): self.classicCharChip = DistributedPoliceChipAI.DistributedPoliceChipAI(self.air) self.classicCharChip.setCurrentCostume(ToontownGlobals.HALLOWEEN_COSTUMES) # We're using holidayIDs as costume IDs. else: self.classicCharChip = DistributedChipAI.DistributedChipAI(self.air) self.classicCharChip.setCurrentCostume(ToontownGlobals.NO_COSTUMES) # We're using holidayIDs as costume IDs. self.classicCharChip.generateWithRequired(self.zoneId) self.classicCharChip.start() if simbase.air.holidayManager.isHolidayRunning(ToontownGlobals.HALLOWEEN_COSTUMES): self.classicCharDale = DistributedJailbirdDaleAI.DistributedJailbirdDaleAI(self.air, self.classicCharChip.doId) self.classicCharDale.setCurrentCostume(ToontownGlobals.HALLOWEEN_COSTUMES) # We're using holidayIDs as costume IDs. else: self.classicCharDale = DistributedDaleAI.DistributedDaleAI(self.air, self.classicCharChip.doId) self.classicCharDale.setCurrentCostume(ToontownGlobals.NO_COSTUMES) # We're using holidayIDs as costume IDs. self.classicCharDale.generateWithRequired(self.zoneId) self.classicCharDale.start() self.classicCharChip.setDaleId(self.classicCharDale.doId) def swapOutClassicChar(self): destNodeChip = self.classicCharChip.walk.getDestNode() destNodeDale = self.classicCharDale.followChip.getDestNode() self.classicCharChip.requestDelete() self.classicCharDale.requestDelete() self.createClassicChar() self.classicCharChip.walk.setCurNode(destNodeChip) self.classicCharDale.followChip.setCurNode(destNodeDale) self.classicCharChip.fsm.request('Walk') self.classicCharDale.fsm.request('Walk') self.classicCharChip.fadeAway() self.classicCharDale.fadeAway() def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): picnicTables = [] if isinstance(dnaGroup, DNAGroup) and ('picnic_table' in dnaGroup.getName()): nameInfo = dnaGroup.getName().split('_') for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'picnic_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() picnicTable = DistributedPicnicBasketAI( simbase.air, nameInfo[2], pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) picnicTable.generateWithRequired(zoneId) picnicTables.append(picnicTable) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId(int(dnaGroup.getName().split(':')[0]), zoneId) for i in xrange(dnaGroup.getNumChildren()): foundPicnicTables = self.findPicnicTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) picnicTables.extend(foundPicnicTables) return picnicTables def createPicnicTables(self): self.picnicTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundPicnicTables = self.findPicnicTables( dnaData, zoneId, area, overrideDNAZone=True) self.picnicTables.extend(foundPicnicTables) for picnicTable in self.picnicTables: picnicTable.start() def findGameTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): gameTables = [] if isinstance(dnaGroup, DNAGroup) and ('game_table' in dnaGroup.getName()): for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'game_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() gameTable = DistributedGameTableAI.DistributedGameTableAI(simbase.air) gameTable.setPosHpr(pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) gameTable.generateWithRequired(zoneId) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId(int(dnaGroup.getName().split(':')[0]), zoneId) for i in xrange(dnaGroup.getNumChildren()): foundGameTables = self.findGameTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) gameTables.extend(foundGameTables) return gameTables def createGameTables(self): self.gameTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundGameTables = self.findGameTables( dnaData, zoneId, area, overrideDNAZone=True) self.gameTables.extend(foundGameTables)
def createZone(self): SZHoodAI.createTreasurePlanner(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD) self.spawnObjects()
def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId)
class OZHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.OutdoorZone, ToontownGlobals.OutdoorZone) self.timer = None self.classicCharChip = None self.classicCharDale = None self.picnicTables = [] self.gameTables = [] self.trolley = None self.gagshop = None self.startup() def startup(self): HoodAI.HoodAI.startup(self) self.createTimer() if simbase.config.GetBool('want-classic-chars', True): if simbase.config.GetBool('want-chip-and-dale', True): self.createClassicChars() self.createPicnicTables() if simbase.config.GetBool('want-game-tables', True): self.createGameTables() def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId) def createTrolley(self): self.trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air) self.trolley.generateWithRequired(self.zoneId) self.trolley.start() def createClassicChars(self): self.classicCharChip = DistributedChipAI.DistributedChipAI(self.air) self.classicCharChip.generateWithRequired(self.zoneId) self.classicCharChip.start() self.classicCharDale = DistributedDaleAI.DistributedDaleAI( self.air, self.classicCharChip.doId) self.classicCharDale.generateWithRequired(self.zoneId) self.classicCharDale.start() self.classicCharChip.setDaleId(self.classicCharDale.doId) def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): picnicTables = [] if isinstance(dnaGroup, DNAGroup) and ('picnic_table' in dnaGroup.getName()): nameInfo = dnaGroup.getName().split('_') for i in range(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'picnic_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() picnicTable = DistributedPicnicBasketAI( simbase.air, nameInfo[2], pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) picnicTable.generateWithRequired(zoneId) picnicTables.append(picnicTable) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId( int(dnaGroup.getName().split(':')[0]), zoneId) for i in range(dnaGroup.getNumChildren()): foundPicnicTables = self.findPicnicTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) picnicTables.extend(foundPicnicTables) return picnicTables def createPicnicTables(self): self.picnicTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundPicnicTables = self.findPicnicTables(dnaData, zoneId, area, overrideDNAZone=True) self.picnicTables.extend(foundPicnicTables) for picnicTable in self.picnicTables: picnicTable.start() def findGameTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): gameTables = [] if isinstance(dnaGroup, DNAGroup) and ('game_table' in dnaGroup.getName()): for i in range(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'game_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() gameTable = DistributedGameTableAI.DistributedGameTableAI( simbase.air) gameTable.setPosHpr(pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) gameTable.generateWithRequired(zoneId) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId( int(dnaGroup.getName().split(':')[0]), zoneId) for i in range(dnaGroup.getNumChildren()): foundGameTables = self.findGameTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) gameTables.extend(foundGameTables) return gameTables def createGameTables(self): self.gameTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundGameTables = self.findGameTables(dnaData, zoneId, area, overrideDNAZone=True) self.gameTables.extend(foundGameTables)
def createSafeZone(self): HoodAI.createTreasurePlanner(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD)
class OZHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.OutdoorZone, ToontownGlobals.OutdoorZone) self.timer = None self.classicCharChip = None self.classicCharDale = None self.picnicTables = [] self.gameTables = [] self.startup() def startup(self): HoodAI.HoodAI.startup(self) self.createTimer() if simbase.config.GetBool("want-classic-chars", True): if simbase.config.GetBool("want-chip-and-dale", True): self.createClassicChars() self.createPicnicTables() if simbase.config.GetBool("want-game-tables", False): self.createGameTables() def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId) def createClassicChars(self): self.classicCharChip = DistributedChipAI.DistributedChipAI(self.air) self.classicCharChip.generateWithRequired(self.zoneId) self.classicCharChip.start() self.classicCharDale = DistributedDaleAI.DistributedDaleAI(self.air, self.classicCharChip.doId) self.classicCharDale.generateWithRequired(self.zoneId) self.classicCharDale.start() self.classicCharChip.setDaleId(self.classicCharDale.doId) def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): picnicTables = [] if isinstance(dnaGroup, DNAGroup) and ("picnic_table" in dnaGroup.getName()): nameInfo = dnaGroup.getName().split("_") for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if "picnic_table" in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() picnicTable = DistributedPicnicBasketAI( simbase.air, nameInfo[2], pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2] ) picnicTable.generateWithRequired(zoneId) picnicTables.append(picnicTable) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId(int(dnaGroup.getName().split(":")[0]), zoneId) for i in xrange(dnaGroup.getNumChildren()): foundPicnicTables = self.findPicnicTables(dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) picnicTables.extend(foundPicnicTables) return picnicTables def createPicnicTables(self): self.picnicTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if isinstance(dnaData, DNAData): area = ZoneUtil.getCanonicalZoneId(zoneId) foundPicnicTables = self.findPicnicTables(dnaData, zoneId, area, overrideDNAZone=True) self.picnicTables.extend(foundPicnicTables) for picnicTable in self.picnicTables: picnicTable.start() def findGameTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): gameTables = [] if isinstance(dnaGroup, DNAGroup) and ("game_table" in dnaGroup.getName()): for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if "game_table" in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() gameTable = DistributedGameTableAI.DistributedGameTableAI(simbase.air) gameTable.setPosHpr(pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) gameTable.generateWithRequired(zoneId) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId(int(dnaGroup.getName().split(":")[0]), zoneId) for i in xrange(dnaGroup.getNumChildren()): foundGameTables = self.findGameTables(dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) gameTables.extend(foundGameTables) return gameTables def createGameTables(self): self.gameTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if isinstance(dnaData, DNAData): area = ZoneUtil.getCanonicalZoneId(zoneId) foundGameTables = self.findGameTables(dnaData, zoneId, area, overrideDNAZone=True) self.gameTables.extend(foundGameTables)
def createZone(self): SZHoodAI.createTreasurePlanner(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD)
def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId)
class OZHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.OutdoorZone, ToontownGlobals.OutdoorZone) self.timer = None self.picnicTables = [] self.gameTables = [] self.startup() def startup(self): HoodAI.HoodAI.startup(self) self.createTimer() self.createPicnicTables() if simbase.config.GetBool('want-game-tables', True): self.createGameTables() def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId) def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): picnicTables = [] if isinstance(dnaGroup, DNAGroup) and ('picnic_table' in dnaGroup.getName()): nameInfo = dnaGroup.getName().split('_') for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'picnic_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() picnicTable = DistributedPicnicBasketAI( simbase.air, nameInfo[2], pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) picnicTable.generateWithRequired(zoneId) picnicTables.append(picnicTable) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = int(dnaGroup.getName().split(':')[0]) for i in xrange(dnaGroup.getNumChildren()): foundPicnicTables = self.findPicnicTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) picnicTables.extend(foundPicnicTables) return picnicTables def createPicnicTables(self): self.picnicTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundPicnicTables = self.findPicnicTables( dnaData, zoneId, area, overrideDNAZone=True) self.picnicTables.extend(foundPicnicTables) for picnicTable in self.picnicTables: picnicTable.start() def findGameTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): gameTables = [] if isinstance(dnaGroup, DNAGroup) and ('game_table' in dnaGroup.getName()): for i in xrange(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'game_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() nameInfo = childDnaGroup.getName().split('_') tableIndex = int(childDnaGroup.get_parent().getName().split('_')[-1]) gameTable = DistributedPicnicTableAI.DistributedPicnicTableAI(simbase.air, zoneId, nameInfo[2], pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) gameTable.setTableIndex(tableIndex) gameTable.generateOtpObject(simbase.air.districtId, zoneId, ['setX', 'setY', 'setZ', 'setH', 'setP', 'setR']) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = int(dnaGroup.getName().split(':')[0]) for i in xrange(dnaGroup.getNumChildren()): foundGameTables = self.findGameTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) gameTables.extend(foundGameTables) return gameTables def createGameTables(self): self.gameTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundGameTables = self.findGameTables( dnaData, zoneId, area, overrideDNAZone=True) self.gameTables.extend(foundGameTables)
class TFHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.ToonFest, ToontownGlobals.ToonFest) self.trolley = None self.classicChar = None self.HOOD = ToontownGlobals.ToonFest self.startup() def startup(self): HoodAI.HoodAI.startup(self) self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD) self.flippyStand = DistributedFlippyStandAI.DistributedFlippyStandAI( self.air) self.flippyStand.generateWithRequired(self.HOOD) self.toonfestTower = DistributedToonfestTowerBaseAI.DistributedToonfestTowerBaseAI( self.air) self.toonfestTower.generateWithRequired(self.HOOD) self.balloon = DistributedToonfestBalloonAI.DistributedToonfestBalloonAI( self.air) self.balloon.generateWithRequired(self.HOOD) self.balloon.b_setState('Waiting') self.toonfest = DistributedToonFestAI.DistributedToonFestAI(self.air) self.toonfest.generateWithRequired(self.HOOD) self.duckTank = DistributedDuckTankAI.DistributedDuckTankAI(self.air) self.duckTank.generateWithRequired(self.HOOD) #filename = self.air.lookupDNAFileName(self.HOOD) #self.air.dnaSpawner.spawnObjects(filename, self.HOOD) def createZone(self): #SZHoodAI.createTreasurePlanner(self) #SZHoodAI.createZone(self, False) self.spawnObjects() self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.HOOD) #self.flippyStand = DistributedFlippyStandAI.DistributedFlippyStandAI(self.air) #self.flippyStand.generateWithRequired(self.HOOD) #self.toonfestTower = DistributedToonfestTowerAI.DistributedToonfestTowerAI(self.air) #self.toonfestTower.generateWithRequired(self.HOOD) #self.toonfestTower = DistributedToonfestTowerBaseAI.DistributedToonfestTowerBaseAI(self.air) #self.toonfestTower.generateWithRequired(self.HOOD) #self.balloon = DistributedToonfestBalloonAI.DistributedToonfestBalloonAI(self.air) #self.balloon.generateWithRequired(self.HOOD) #self.balloon.b_setState('Waiting') self.toonfest = DistributedToonFestAI.DistributedToonFestAI(self.air) self.toonfest.generateWithRequired(self.HOOD) self.duckTank = DistributedDuckTankAI.DistributedDuckTankAI(self.air) self.duckTank.generateWithRequired(self.HOOD) self.cogs = [] #self.createCogs() def createCogs(self): # [x, y, z, id] posList = [[224, -146, 4.597, 1]] for pos in posList: self.cog = DistributedToonfestCogAI.DistributedToonfestCogAI( self.air) self.cog.generateWithRequired(self.HOOD) self.cog.setPos(pos[0], pos[1], pos[2]) self.cog.setId(pos[3]) self.cogs.append(self.cog)
class OZHoodAI(HoodAI.HoodAI): def __init__(self, air): HoodAI.HoodAI.__init__(self, air, ToontownGlobals.OutdoorZone, ToontownGlobals.OutdoorZone) self.timer = None self.classicCharChip = None self.classicCharDale = None self.picnicTables = [] self.gameTables = [] self.startup() def startup(self): HoodAI.HoodAI.startup(self) self.createTimer() if simbase.config.GetBool('want-classic-chars', True): if simbase.config.GetBool('want-chip-and-dale', True): self.createClassicChar() self.createPicnicTables() if simbase.config.GetBool('want-game-tables', True): self.createGameTables() def createTimer(self): self.timer = DistributedTimerAI(self.air) self.timer.generateWithRequired(self.zoneId) def createClassicChar(self): if simbase.air.holidayManager.isHolidayRunning(ToontownGlobals.HALLOWEEN_COSTUMES): self.classicCharChip = DistributedPoliceChipAI.DistributedPoliceChipAI(self.air) self.classicCharChip.setCurrentCostume(ToontownGlobals.HALLOWEEN_COSTUMES) # We're using holidayIDs as costume IDs. else: self.classicCharChip = DistributedChipAI.DistributedChipAI(self.air) self.classicCharChip.setCurrentCostume(ToontownGlobals.NO_COSTUMES) # We're using holidayIDs as costume IDs. self.classicCharChip.generateWithRequired(self.zoneId) self.classicCharChip.start() if simbase.air.holidayManager.isHolidayRunning(ToontownGlobals.HALLOWEEN_COSTUMES): self.classicCharDale = DistributedJailbirdDaleAI.DistributedJailbirdDaleAI(self.air, self.classicCharChip.doId) self.classicCharDale.setCurrentCostume(ToontownGlobals.HALLOWEEN_COSTUMES) # We're using holidayIDs as costume IDs. else: self.classicCharDale = DistributedDaleAI.DistributedDaleAI(self.air, self.classicCharChip.doId) self.classicCharDale.setCurrentCostume(ToontownGlobals.NO_COSTUMES) # We're using holidayIDs as costume IDs. self.classicCharDale.generateWithRequired(self.zoneId) self.classicCharDale.start() self.classicCharChip.setDaleId(self.classicCharDale.doId) def swapOutClassicChar(self): destNodeChip = self.classicCharChip.walk.getDestNode() destNodeDale = self.classicCharDale.followChip.getDestNode() self.classicCharChip.requestDelete() self.classicCharDale.requestDelete() self.createClassicChar() self.classicCharChip.walk.setCurNode(destNodeChip) self.classicCharDale.followChip.setCurNode(destNodeDale) self.classicCharChip.fsm.request('Walk') self.classicCharDale.fsm.request('Walk') self.classicCharChip.fadeAway() self.classicCharDale.fadeAway() def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): picnicTables = [] if isinstance(dnaGroup, DNAGroup) and ('picnic_table' in dnaGroup.getName()): nameInfo = dnaGroup.getName().split('_') for i in range(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'picnic_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() picnicTable = DistributedPicnicBasketAI( simbase.air, nameInfo[2], pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) picnicTable.generateWithRequired(zoneId) picnicTables.append(picnicTable) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId(int(dnaGroup.getName().split(':')[0]), zoneId) for i in range(dnaGroup.getNumChildren()): foundPicnicTables = self.findPicnicTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) picnicTables.extend(foundPicnicTables) return picnicTables def createPicnicTables(self): self.picnicTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundPicnicTables = self.findPicnicTables( dnaData, zoneId, area, overrideDNAZone=True) self.picnicTables.extend(foundPicnicTables) for picnicTable in self.picnicTables: picnicTable.start() def findGameTables(self, dnaGroup, zoneId, area, overrideDNAZone=False): gameTables = [] if isinstance(dnaGroup, DNAGroup) and ('game_table' in dnaGroup.getName()): for i in range(dnaGroup.getNumChildren()): childDnaGroup = dnaGroup.at(i) if 'game_table' in childDnaGroup.getName(): pos = childDnaGroup.getPos() hpr = childDnaGroup.getHpr() gameTable = DistributedGameTableAI.DistributedGameTableAI(simbase.air) gameTable.setPosHpr(pos[0], pos[1], pos[2], hpr[0], hpr[1], hpr[2]) gameTable.generateWithRequired(zoneId) elif isinstance(dnaGroup, DNAVisGroup) and (not overrideDNAZone): zoneId = ZoneUtil.getTrueZoneId(int(dnaGroup.getName().split(':')[0]), zoneId) for i in range(dnaGroup.getNumChildren()): foundGameTables = self.findGameTables( dnaGroup.at(i), zoneId, area, overrideDNAZone=overrideDNAZone) gameTables.extend(foundGameTables) return gameTables def createGameTables(self): self.gameTables = [] for zoneId in self.getZoneTable(): dnaData = self.air.dnaDataMap.get(zoneId, None) zoneId = ZoneUtil.getTrueZoneId(zoneId, self.zoneId) if dnaData.getName() == 'root': area = ZoneUtil.getCanonicalZoneId(zoneId) foundGameTables = self.findGameTables( dnaData, zoneId, area, overrideDNAZone=True) self.gameTables.extend(foundGameTables)