mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-24 12:12:36 -06:00
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
|
from otp.speedchat import SpeedChatGlobals
|
||
|
from direct.directnotify import DirectNotifyGlobal
|
||
|
from direct.distributed import DistributedObject
|
||
|
from direct.interval.IntervalGlobal import *
|
||
|
|
||
|
class DistributedWinterCarolingTarget(DistributedObject.DistributedObject):
|
||
|
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedWinterCarolingTarget')
|
||
|
|
||
|
def __init__(self, cr):
|
||
|
DistributedObject.DistributedObject.__init__(self, cr)
|
||
|
self.triggered = False
|
||
|
self.triggerDelay = 15
|
||
|
|
||
|
def announceGenerate(self):
|
||
|
DistributedObject.DistributedObject.announceGenerate(self)
|
||
|
DistributedWinterCarolingTarget.notify.debug('announceGenerate')
|
||
|
self.accept(SpeedChatGlobals.SCStaticTextMsgEvent, self.phraseSaid)
|
||
|
|
||
|
def phraseSaid(self, phraseId):
|
||
|
self.notify.debug('Checking if phrase was said')
|
||
|
helpPhrases = []
|
||
|
for i in xrange(6):
|
||
|
helpPhrases.append(30220 + i)
|
||
|
|
||
|
def reset():
|
||
|
self.triggered = False
|
||
|
|
||
|
if phraseId in helpPhrases and not self.triggered:
|
||
|
self.triggered = True
|
||
|
self.d_requestScavengerHunt()
|
||
|
taskMgr.doMethodLater(self.triggerDelay, reset, 'ScavengerHunt-phrase-reset', extraArgs=[])
|
||
|
|
||
|
def delete(self):
|
||
|
self.ignore(SpeedChatGlobals.SCStaticTextMsgEvent)
|
||
|
DistributedObject.DistributedObject.delete(self)
|
||
|
|
||
|
def d_requestScavengerHunt(self):
|
||
|
self.sendUpdate('requestScavengerHunt', [])
|
||
|
|
||
|
def doScavengerHunt(self, amount):
|
||
|
DistributedWinterCarolingTarget.notify.debug('doScavengerHunt')
|
||
|
av = base.localAvatar
|
||
|
av.winterCarolingTargetMet(amount)
|