mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-23 11:42:39 -06:00
Knock Knock door toonups
This commit is contained in:
parent
11122c2486
commit
40875ea6f6
5 changed files with 35 additions and 7 deletions
2
dependencies/astron/dclass/stride.dc
vendored
2
dependencies/astron/dclass/stride.dc
vendored
|
@ -749,6 +749,7 @@ dclass DistributedToon : DistributedPlayer {
|
|||
setRedeemedCodes(string [] = []) required ownrecv db;
|
||||
setEmblems(uint32[] = [0, 0]) required ownrecv db;
|
||||
setTrueFriends(uint32[] = []) required clsend ownrecv db;
|
||||
setNextKnockHeal(uint32) ram airecv;
|
||||
};
|
||||
|
||||
dclass DistributedPartyGate : DistributedObject {
|
||||
|
@ -1872,6 +1873,7 @@ dclass DistributedNPCGlove : DistributedNPCToonBase {
|
|||
};
|
||||
|
||||
dclass DistributedKnockKnockDoor : DistributedAnimatedProp {
|
||||
requestToonup() airecv clsend;
|
||||
};
|
||||
|
||||
dclass DistributedElevator : DistributedObject {
|
||||
|
|
|
@ -90,7 +90,11 @@ class DistributedKnockKnockDoor(DistributedAnimatedProp.DistributedAnimatedProp)
|
|||
pos = doorNP.getBounds().getCenter()
|
||||
self.nametagNP.setPos(pos + Vec3(0, 0, avatar.getHeight() + 2))
|
||||
d = duration * 0.125
|
||||
track = Sequence(Parallel(Sequence(Wait(d * 0.5), SoundInterval(self.knockSfx)), Func(self.nametag.setChatText, TTLocalizer.DoorKnockKnock), Wait(d)), Func(avatar.setChatAbsolute, TTLocalizer.DoorWhosThere, CFSpeech | CFTimeout, openEnded=0), Wait(d), Func(self.nametag.setChatText, joke[0]), Wait(d), Func(avatar.setChatAbsolute, joke[0] + TTLocalizer.DoorWhoAppendix, CFSpeech | CFTimeout, openEnded=0), Wait(d), Func(self.nametag.setChatText, joke[1]), Parallel(SoundInterval(self.rimshot, startTime=2.0), Wait(d * 4)), Func(self.cleanupTrack))
|
||||
track = Sequence(Parallel(Sequence(Wait(d * 0.5), SoundInterval(self.knockSfx)), Func(self.nametag.setChatText, TTLocalizer.DoorKnockKnock), Wait(d)), Func(avatar.setChatAbsolute, TTLocalizer.DoorWhosThere, CFSpeech | CFTimeout, openEnded=0), Wait(d), Func(self.nametag.setChatText, joke[0]), Wait(d), Func(avatar.setChatAbsolute, joke[0] + TTLocalizer.DoorWhoAppendix, CFSpeech | CFTimeout, openEnded=0), Wait(d), Func(self.nametag.setChatText, joke[1]))
|
||||
if avatar == base.localAvatar:
|
||||
track.append(Func(self.sendUpdate, 'requestToonup'))
|
||||
track.append(Parallel(SoundInterval(self.rimshot, startTime=2.0), Wait(d * 4)))
|
||||
track.append(Func(self.cleanupTrack))
|
||||
track.delayDelete = DelayDelete.DelayDelete(avatar, 'knockKnockTrack')
|
||||
return track
|
||||
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
import DistributedAnimatedPropAI
|
||||
from direct.directnotify import DirectNotifyGlobal
|
||||
from direct.distributed.ClockDelta import *
|
||||
from direct.fsm import ClassicFSM
|
||||
from direct.fsm import State
|
||||
from direct.task.Task import Task
|
||||
from otp.ai.AIBaseGlobal import *
|
||||
|
||||
from toontown.toonbase import ToontownGlobals
|
||||
import DistributedAnimatedPropAI
|
||||
import time
|
||||
|
||||
class DistributedKnockKnockDoorAI(DistributedAnimatedPropAI.DistributedAnimatedPropAI):
|
||||
def __init__(self, air, propId):
|
||||
|
@ -38,3 +35,12 @@ class DistributedKnockKnockDoorAI(DistributedAnimatedPropAI.DistributedAnimatedP
|
|||
DistributedAnimatedPropAI.DistributedAnimatedPropAI.exitPlaying(self)
|
||||
taskMgr.remove(self.doLaterTask)
|
||||
self.doLaterTask = None
|
||||
|
||||
def requestToonup(self):
|
||||
av = self.air.doId2do.get(self.air.getAvatarIdFromSender())
|
||||
|
||||
if (not av) or av.getHp() == av.getMaxHp() or av.getNextKnockHeal() > time.time():
|
||||
return
|
||||
|
||||
av.toonUp(ToontownGlobals.KnockKnockHeal)
|
||||
av.b_setNextKnockHeal(int(time.time() + ToontownGlobals.KnockKnockCooldown))
|
|
@ -159,6 +159,7 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
|
|||
self.reported = []
|
||||
self.trueFriends = []
|
||||
self.fishBingoTutorialDone = False
|
||||
self.nextKnockHeal = 0
|
||||
|
||||
def generate(self):
|
||||
DistributedPlayerAI.DistributedPlayerAI.generate(self)
|
||||
|
@ -4020,6 +4021,19 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
|
|||
def getTrueFriends(self, trueFriends):
|
||||
return self.trueFriends
|
||||
|
||||
def setNextKnockHeal(self, nextKnockHeal):
|
||||
self.nextKnockHeal = nextKnockHeal
|
||||
|
||||
def d_setNextKnockHeal(self, nextKnockHeal):
|
||||
self.sendUpdate('setNextKnockHeal', [nextKnockHeal])
|
||||
|
||||
def b_setNextKnockHeal(self, nextKnockHeal):
|
||||
self.setNextKnockHeal(nextKnockHeal)
|
||||
self.d_setNextKnockHeal(nextKnockHeal)
|
||||
|
||||
def getNextKnockHeal(self):
|
||||
return self.nextKnockHeal
|
||||
|
||||
@magicWord(category=CATEGORY_PROGRAMMER, types=[str, int, int])
|
||||
def cheesyEffect(value, hood=0, expire=0):
|
||||
"""
|
||||
|
|
|
@ -1619,3 +1619,5 @@ FISHSALE_NONE = 0
|
|||
FISHSALE_COMPLETE = 1
|
||||
FISHSALE_TROPHY = 2
|
||||
NPCCollisionDelay = 2.5
|
||||
KnockKnockHeal = 12
|
||||
KnockKnockCooldown = 600
|
Loading…
Reference in a new issue