Poodletooth-iLand/toontown/safezone/DDSafeZoneLoader.py
2015-05-10 12:20:39 -04:00

72 lines
2.9 KiB
Python

from direct.interval.IntervalGlobal import Sequence, Func, Wait
from toontown.safezone import SafeZoneLoader
from toontown.safezone import DDPlayground
from toontown.chat.ChatGlobals import CFSpeech
from toontown.toon import NPCToons
from toontown.toonbase import TTLocalizer
import random
class DDSafeZoneLoader(SafeZoneLoader.SafeZoneLoader):
def __init__(self, hood, parentFSM, doneEvent):
SafeZoneLoader.SafeZoneLoader.__init__(self, hood, parentFSM, doneEvent)
self.playgroundClass = DDPlayground.DDPlayground
self.musicFile = 'phase_6/audio/bgm/DD_nbrhood.ogg'
self.activityMusicFile = 'phase_6/audio/bgm/DD_SZ_activity.ogg'
self.dnaFile = 'phase_6/dna/donalds_dock_sz.pdna'
self.safeZoneStorageDNAFile = 'phase_6/dna/storage_DD_sz.pdna'
def load(self):
SafeZoneLoader.SafeZoneLoader.load(self)
self.seagullSound = base.loadSfx('phase_6/audio/sfx/SZ_DD_Seagull.ogg')
self.underwaterSound = base.loadSfx('phase_4/audio/sfx/AV_ambient_water.ogg')
self.swimSound = base.loadSfx('phase_4/audio/sfx/AV_swim_single_stroke.ogg')
self.submergeSound = base.loadSfx('phase_5.5/audio/sfx/AV_jump_in_water.ogg')
self.boat = self.geom.find('**/donalds_boat')
self.dockSound = base.loadSfx('phase_6/audio/sfx/SZ_DD_dockcreak.ogg')
self.foghornSound = base.loadSfx('phase_5/audio/sfx/SZ_DD_foghorn.ogg')
self.bellSound = base.loadSfx('phase_6/audio/sfx/SZ_DD_shipbell.ogg')
self.waterSound = base.loadSfx('phase_6/audio/sfx/SZ_DD_waterlap.ogg')
if not self.boat.isEmpty():
wheel = self.boat.find('**/wheel')
if not wheel.isEmpty():
wheel.hide()
self.boat.stash()
self.donald = NPCToons.createLocalNPC(7011)
self.donald.setPos(0, -1, 3.95)
self.donald.reparentTo(self.boat)
self.donald.setHat(48, 0, 0)
self.donaldSpeech = Sequence()
random.shuffle(TTLocalizer.DonaldChatter)
for speechText in TTLocalizer.DonaldChatter:
self.donaldSpeech.append(Func(self.donald.setChatAbsolute, speechText, CFSpeech))
self.donaldSpeech.append(Wait(len(speechText.split(' '))))
self.donaldSpeech.append(Func(self.donald.clearChat))
self.donaldSpeech.append(Wait(15))
self.donaldSpeech.loop(0)
def unload(self):
SafeZoneLoader.SafeZoneLoader.unload(self)
if hasattr(self, 'donald'):
self.donaldSpeech.pause()
self.donald.delete()
del self.donaldSpeech
del self.donald
del self.seagullSound
del self.underwaterSound
del self.swimSound
del self.dockSound
del self.foghornSound
del self.bellSound
del self.waterSound
del self.submergeSound
del self.boat