historical/toontown-classic.git/toontown/hood/FFHoodDataAI.py
2024-01-16 11:20:27 -06:00

53 lines
2.1 KiB
Python

from direct.directnotify import DirectNotifyGlobal
import HoodDataAI
from toontown.toonbase import ToontownGlobals
from toontown.safezone import DistributedTrolleyAI
from toontown.safezone import FFTreasurePlannerAI
from toontown.classicchars import DistributedMickeyAI
from toontown.safezone import ButterflyGlobals
from direct.task import Task
class FFHoodDataAI(HoodDataAI.HoodDataAI):
notify = DirectNotifyGlobal.directNotify.newCategory('FFHoodDataAI')
def __init__(self, air, zoneId=None):
hoodId = ToontownGlobals.FunnyFarm
if zoneId == None:
zoneId = hoodId
HoodDataAI.HoodDataAI.__init__(self, air, zoneId, hoodId)
return
def startup(self):
HoodDataAI.HoodDataAI.startup(self)
trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air)
trolley.generateWithRequired(self.zoneId)
trolley.start()
self.addDistObj(trolley)
self.trolley = trolley
self.treasurePlanner = FFTreasurePlannerAI.FFTreasurePlannerAI(self.zoneId)
self.treasurePlanner.start()
self.classicChar = DistributedMickeyAI.DistributedMickeyAI(self.air)
self.classicChar.generateWithRequired(self.zoneId)
self.classicChar.start()
self.addDistObj(self.classicChar)
self.createButterflies(ButterflyGlobals.TTC)
if simbase.blinkTrolley:
taskMgr.doMethodLater(0.5, self._deleteTrolley, 'deleteTrolley')
messenger.send('TTHoodSpawned', [self])
def shutdown(self):
HoodDataAI.HoodDataAI.shutdown(self)
messenger.send('TTHoodDestroyed', [self])
def _deleteTrolley(self, task):
self.trolley.requestDelete()
taskMgr.doMethodLater(0.5, self._createTrolley, 'createTrolley')
return Task.done
def _createTrolley(self, task):
trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air)
trolley.generateWithRequired(self.zoneId)
trolley.start()
self.trolley = trolley
taskMgr.doMethodLater(0.5, self._deleteTrolley, 'deleteTrolley')
return Task.done