historical/toontown-classic.git/toontown/hood/FFHood.py

70 lines
2.9 KiB
Python
Raw Normal View History

2024-01-16 11:20:27 -06:00
from panda3d.core import *
from direct.interval.IntervalGlobal import *
import ToonHood
from toontown.town import FFTownLoader
from toontown.safezone import FFSafeZoneLoader
from toontown.toonbase.ToontownGlobals import *
import SkyUtil
from direct.directnotify import DirectNotifyGlobal
class FFHood(ToonHood.ToonHood):
notify = DirectNotifyGlobal.directNotify.newCategory('FFHood')
def __init__(self, parentFSM, doneEvent, dnaStore, hoodId):
ToonHood.ToonHood.__init__(self, parentFSM, doneEvent, dnaStore, hoodId)
self.id = ToontownCentral
self.townLoaderClass = FFTownLoader.FFTownLoader
self.safeZoneLoaderClass = FFSafeZoneLoader.FFSafeZoneLoader
self.storageDNAFile = 'phase_8/dna/storage_FF.dna'
self.holidayStorageDNADict = {WINTER_DECORATIONS: ['phase_8/dna/winter_storage_FF.dna', 'phase_8/dna/winter_storage_FF_sz.dna'],
WACKY_WINTER_DECORATIONS: ['phase_8/dna/winter_storage_FF.dna', 'phase_8/dna/winter_storage_FF_sz.dna'],
HALLOWEEN_PROPS: ['phase_8/dna/halloween_props_storage_FF.dna', 'phase_8/dna/halloween_props_storage_TFFsz.dna'],
SPOOKY_PROPS: ['phase_8/dna/halloween_props_storage_FF.dna', 'phase_8/dna/halloween_props_storage_FF_sz.dna']}
self.skyFile = 'phase_3.5/models/props/TT_sky'
self.spookySkyFile = 'phase_3.5/models/props/BR_sky'
self.titleColor = (1.0, 0.5, 0.4, 1.0)
def load(self):
ToonHood.ToonHood.load(self)
self.parentFSM.getStateNamed('FFHood').addChild(self.fsm)
def unload(self):
self.parentFSM.getStateNamed('FFHood').removeChild(self.fsm)
ToonHood.ToonHood.unload(self)
def enter(self, *args):
ToonHood.ToonHood.enter(self, *args)
def exit(self):
ToonHood.ToonHood.exit(self)
def skyTrack(self, task):
return SkyUtil.cloudSkyTrack(task)
def startSky(self):
#self.sky.setTransparency(TransparencyAttrib.MDual, 1)
#self.notify.debug('The sky is: %s' % self.sky)
#if not self.sky.getTag('sky') == 'Regular':
# self.endSpookySky()
FFHood.startSpookySky(self)
def startSpookySky(self):
#if hasattr(self, 'sky') and self.sky:
# self.stopSky()
self.sky = loader.loadModel(self.spookySkyFile)
self.sky.setTag('sky', 'Halloween')
self.sky.setScale(1.0)
self.sky.setDepthTest(0)
self.sky.setDepthWrite(0)
self.sky.setColor(1, 0, 0, 1)
self.sky.setBin('background', 100)
self.sky.setFogOff()
self.sky.reparentTo(camera)
self.sky.setTransparency(TransparencyAttrib.MDual, 1)
fadeIn = self.sky.colorScaleInterval(1.5, Vec4(1, 1, 1, 1), startColorScale=Vec4(1, 1, 1, 0.25), blendType='easeInOut')
fadeIn.start()
self.sky.setZ(0.0)
self.sky.setHpr(0.0, 0.0, 0.0)
ce = CompassEffect.make(NodePath(), CompassEffect.PRot | CompassEffect.PZ)
self.sky.node().setEffect(ce)