toontown-just-works/toontown/parties/DistributedPartyWinterCatchActivity.py
2024-07-07 18:08:39 -05:00

46 lines
2 KiB
Python

from pandac.PandaModules import NodePath
from toontown.toonbase import TTLocalizer
from toontown.parties.DistributedPartyCatchActivity import DistributedPartyCatchActivity
from toontown.parties import PartyGlobals
from toontown.parties import WinterPartyCatchActivityToonSD
class DistributedPartyWinterCatchActivity(DistributedPartyCatchActivity):
def __init__(self, cr):
DistributedPartyCatchActivity.__init__(self, cr)
def getInstructions(self):
return TTLocalizer.WinterPartyCatchActivityInstructions % {'badThing': self.DropObjectPlurals['anvil']}
def load(self):
DistributedPartyCatchActivity.load(self, loadModels=0, arenaModel='tt_m_ara_pty_partyCatchTreeWinter')
self.__loadDropModels()
def __loadDropModels(self):
for objType in PartyGlobals.DropObjectTypes:
model = None
if not objType == PartyGlobals.Name2DropObjectType['anvil']:
model = loader.loadModel('phase_13/models/parties/tt_m_ara_pty_winterPresent')
model.setScale(0.5)
else:
model = loader.loadModel(objType.modelPath)
self.dropObjModels[objType.name] = model
model.flattenStrong()
return
def handleToonJoined(self, toonId):
if toonId not in self.toonSDs:
toonSD = WinterPartyCatchActivityToonSD.WinterPartyCatchActivityToonSD(toonId, self)
self.toonSDs[toonId] = toonSD
toonSD.load()
self.notify.debug('handleToonJoined : currentState = %s' % self.activityFSM.state)
self.cr.doId2do[toonId].useLOD(500)
if self.activityFSM.state == 'Active':
if toonId in self.toonSDs:
self.toonSDs[toonId].enter()
if base.localAvatar.doId == toonId:
base.localAvatar.b_setParent(self._avatarNodePathParentToken)
self.putLocalAvatarInActivity()
if toonId in self.toonSDs:
self.toonSDs[toonId].fsm.request('rules')