mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2025-01-09 17:53:50 +00:00
Fix the damn butterflies
This commit is contained in:
parent
1326599905
commit
a380e1e6d9
12 changed files with 100 additions and 70 deletions
2
dependencies/config/general.prc
vendored
2
dependencies/config/general.prc
vendored
|
@ -67,7 +67,7 @@ want-golf-zone #t
|
||||||
# Safe zone settings:
|
# Safe zone settings:
|
||||||
want-treasure-planners #t
|
want-treasure-planners #t
|
||||||
want-suit-planners #t
|
want-suit-planners #t
|
||||||
want-butterflies #f
|
want-butterflies #t
|
||||||
|
|
||||||
# Trolley minigames:
|
# Trolley minigames:
|
||||||
want-minigames #t
|
want-minigames #t
|
||||||
|
|
|
@ -22,7 +22,7 @@ class BRHoodAI(HoodAI.HoodAI):
|
||||||
|
|
||||||
self.PolarPlaceEffectManager = DistributedPolarPlaceEffectMgrAI.DistributedPolarPlaceEffectMgrAI(self.air)
|
self.PolarPlaceEffectManager = DistributedPolarPlaceEffectMgrAI.DistributedPolarPlaceEffectMgrAI(self.air)
|
||||||
self.PolarPlaceEffectManager.generateWithRequired(3821)
|
self.PolarPlaceEffectManager.generateWithRequired(3821)
|
||||||
|
|
||||||
if simbase.air.wantHalloween:
|
if simbase.air.wantHalloween:
|
||||||
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
||||||
self.TrickOrTreatTargetManager.generateWithRequired(3707)
|
self.TrickOrTreatTargetManager.generateWithRequired(3707)
|
||||||
|
@ -30,4 +30,4 @@ class BRHoodAI(HoodAI.HoodAI):
|
||||||
def createTrolley(self):
|
def createTrolley(self):
|
||||||
self.trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air)
|
self.trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air)
|
||||||
self.trolley.generateWithRequired(self.zoneId)
|
self.trolley.generateWithRequired(self.zoneId)
|
||||||
self.trolley.start()
|
self.trolley.start()
|
||||||
|
|
|
@ -22,7 +22,7 @@ class DDHoodAI(HoodAI.HoodAI):
|
||||||
if simbase.config.GetBool('want-minigames', True):
|
if simbase.config.GetBool('want-minigames', True):
|
||||||
self.createTrolley()
|
self.createTrolley()
|
||||||
self.createBoat()
|
self.createBoat()
|
||||||
|
|
||||||
if simbase.air.wantHalloween:
|
if simbase.air.wantHalloween:
|
||||||
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
||||||
self.TrickOrTreatTargetManager.generateWithRequired(1834)
|
self.TrickOrTreatTargetManager.generateWithRequired(1834)
|
||||||
|
@ -35,4 +35,4 @@ class DDHoodAI(HoodAI.HoodAI):
|
||||||
def createBoat(self):
|
def createBoat(self):
|
||||||
self.boat = DistributedBoatAI.DistributedBoatAI(self.air)
|
self.boat = DistributedBoatAI.DistributedBoatAI(self.air)
|
||||||
self.boat.generateWithRequired(self.zoneId)
|
self.boat.generateWithRequired(self.zoneId)
|
||||||
self.boat.start()
|
self.boat.start()
|
||||||
|
|
|
@ -27,10 +27,10 @@ class DGHoodAI(HoodAI.HoodAI):
|
||||||
self.createFlower()
|
self.createFlower()
|
||||||
if simbase.config.GetBool('want-butterflies', True):
|
if simbase.config.GetBool('want-butterflies', True):
|
||||||
self.createButterflies()
|
self.createButterflies()
|
||||||
|
|
||||||
#self.GreenToonEffectManager = DistributedGreenToonEffectMgrAI.DistributedGreenToonEffectMgrAI(self.air)
|
#self.GreenToonEffectManager = DistributedGreenToonEffectMgrAI.DistributedGreenToonEffectMgrAI(self.air)
|
||||||
#self.GreenToonEffectManager.generateWithRequired(5819)
|
#self.GreenToonEffectManager.generateWithRequired(5819)
|
||||||
|
|
||||||
if simbase.air.wantHalloween:
|
if simbase.air.wantHalloween:
|
||||||
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
||||||
self.TrickOrTreatTargetManager.generateWithRequired(5620)
|
self.TrickOrTreatTargetManager.generateWithRequired(5620)
|
||||||
|
@ -50,10 +50,11 @@ class DGHoodAI(HoodAI.HoodAI):
|
||||||
self.flower.generateWithRequired(self.zoneId)
|
self.flower.generateWithRequired(self.zoneId)
|
||||||
self.flower.start()
|
self.flower.start()
|
||||||
|
|
||||||
def createButterflies(self, playground):
|
def createButterflies(self):
|
||||||
|
playground = ButterflyGlobals.DG
|
||||||
ButterflyGlobals.generateIndexes(self.zoneId, ButterflyGlobals.DG)
|
ButterflyGlobals.generateIndexes(self.zoneId, ButterflyGlobals.DG)
|
||||||
for i in xrange(0, ButterflyGlobals.NUM_BUTTERFLY_AREAS[ButterflyGlobals.DG]):
|
for i in xrange(0, ButterflyGlobals.NUM_BUTTERFLY_AREAS[ButterflyGlobals.DG]):
|
||||||
for _ in xrange(0, ButterflyGlobals.NUM_BUTTERFLIES[ButterflyGlobals.DG]):
|
for _ in xrange(0, ButterflyGlobals.NUM_BUTTERFLIES[ButterflyGlobals.DG]):
|
||||||
butterfly = DistributedButterflyAI(self.air, playground, i, self.zoneId)
|
butterfly = DistributedButterflyAI.DistributedButterflyAI(self.air, playground, i, self.zoneId)
|
||||||
butterfly.generateWithRequired(self.zoneId)
|
butterfly.generateWithRequired(self.zoneId)
|
||||||
butterfly.start()
|
butterfly.start()
|
||||||
|
|
|
@ -22,7 +22,7 @@ class DLHoodAI(HoodAI.HoodAI):
|
||||||
self.createTrolley()
|
self.createTrolley()
|
||||||
self.resistanceEmoteManager = DistributedResistanceEmoteMgrAI.DistributedResistanceEmoteMgrAI(self.air)
|
self.resistanceEmoteManager = DistributedResistanceEmoteMgrAI.DistributedResistanceEmoteMgrAI(self.air)
|
||||||
self.resistanceEmoteManager.generateWithRequired(9720)
|
self.resistanceEmoteManager.generateWithRequired(9720)
|
||||||
|
|
||||||
if simbase.air.wantHalloween:
|
if simbase.air.wantHalloween:
|
||||||
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
||||||
self.TrickOrTreatTargetManager.generateWithRequired(9619)
|
self.TrickOrTreatTargetManager.generateWithRequired(9619)
|
||||||
|
|
|
@ -142,4 +142,4 @@ class GSHoodAI(HoodAI.HoodAI):
|
||||||
|
|
||||||
def cycleLeaderBoards(self, task=None):
|
def cycleLeaderBoards(self, task=None):
|
||||||
messenger.send('leaderBoardSwap-' + str(self.zoneId))
|
messenger.send('leaderBoardSwap-' + str(self.zoneId))
|
||||||
taskMgr.doMethodLater(10, self.cycleLeaderBoards, 'leaderBoardSwitch')
|
taskMgr.doMethodLater(10, self.cycleLeaderBoards, 'leaderBoardSwitch')
|
||||||
|
|
|
@ -31,4 +31,4 @@ class MMHoodAI(HoodAI.HoodAI):
|
||||||
def createTrolley(self):
|
def createTrolley(self):
|
||||||
self.trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air)
|
self.trolley = DistributedTrolleyAI.DistributedTrolleyAI(self.air)
|
||||||
self.trolley.generateWithRequired(self.zoneId)
|
self.trolley.generateWithRequired(self.zoneId)
|
||||||
self.trolley.start()
|
self.trolley.start()
|
||||||
|
|
|
@ -36,7 +36,6 @@ class OZHoodAI(HoodAI.HoodAI):
|
||||||
self.timer = DistributedTimerAI(self.air)
|
self.timer = DistributedTimerAI(self.air)
|
||||||
self.timer.generateWithRequired(self.zoneId)
|
self.timer.generateWithRequired(self.zoneId)
|
||||||
|
|
||||||
|
|
||||||
def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False):
|
def findPicnicTables(self, dnaGroup, zoneId, area, overrideDNAZone=False):
|
||||||
picnicTables = []
|
picnicTables = []
|
||||||
if isinstance(dnaGroup, DNAGroup) and ('picnic_table' in dnaGroup.getName()):
|
if isinstance(dnaGroup, DNAGroup) and ('picnic_table' in dnaGroup.getName()):
|
||||||
|
|
|
@ -48,7 +48,7 @@ class SellbotHQAI(CogHQAI.CogHQAI):
|
||||||
self.air, self.air.factoryMgr, ToontownGlobals.SellbotFactoryInt, i)
|
self.air, self.air.factoryMgr, ToontownGlobals.SellbotFactoryInt, i)
|
||||||
factoryElevator.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
|
factoryElevator.generateWithRequired(ToontownGlobals.SellbotFactoryExt)
|
||||||
self.factoryElevators.append(factoryElevator)
|
self.factoryElevators.append(factoryElevator)
|
||||||
|
|
||||||
if simbase.config.GetBool('want-megacorp', True):
|
if simbase.config.GetBool('want-megacorp', True):
|
||||||
factoryElevator = DistributedFactoryElevatorExtAI(
|
factoryElevator = DistributedFactoryElevatorExtAI(
|
||||||
self.air, self.air.factoryMgr, ToontownGlobals.SellbotMegaCorpInt, 2)
|
self.air, self.air.factoryMgr, ToontownGlobals.SellbotMegaCorpInt, 2)
|
||||||
|
|
|
@ -27,7 +27,7 @@ class TTHoodAI(HoodAI.HoodAI):
|
||||||
self.createTrolley()
|
self.createTrolley()
|
||||||
if simbase.config.GetBool('want-butterflies', True):
|
if simbase.config.GetBool('want-butterflies', True):
|
||||||
self.createButterflies()
|
self.createButterflies()
|
||||||
|
|
||||||
NPCToons.createNPC(
|
NPCToons.createNPC(
|
||||||
simbase.air, 2021,
|
simbase.air, 2021,
|
||||||
(ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2021], ('dss', 'ls', 's', 'm', 13, 41, 13, 13, 1, 6, 1, 6, 0, 18, 0), 'm', 1, NPCToons.NPC_GLOVE),
|
(ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2021], ('dss', 'ls', 's', 'm', 13, 41, 13, 13, 1, 6, 1, 6, 0, 18, 0), 'm', 1, NPCToons.NPC_GLOVE),
|
||||||
|
@ -36,7 +36,7 @@ class TTHoodAI(HoodAI.HoodAI):
|
||||||
if simbase.air.wantHalloween:
|
if simbase.air.wantHalloween:
|
||||||
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)
|
||||||
self.TrickOrTreatTargetManager.generateWithRequired(2649)
|
self.TrickOrTreatTargetManager.generateWithRequired(2649)
|
||||||
|
|
||||||
if simbase.air.wantChristmas:
|
if simbase.air.wantChristmas:
|
||||||
self.WinterCarolingTargetManager = DistributedWinterCarolingTargetAI.DistributedWinterCarolingTargetAI(self.air)
|
self.WinterCarolingTargetManager = DistributedWinterCarolingTargetAI.DistributedWinterCarolingTargetAI(self.air)
|
||||||
self.WinterCarolingTargetManager.generateWithRequired(2649)
|
self.WinterCarolingTargetManager.generateWithRequired(2649)
|
||||||
|
@ -55,9 +55,10 @@ class TTHoodAI(HoodAI.HoodAI):
|
||||||
self.trolley.start()
|
self.trolley.start()
|
||||||
|
|
||||||
def createButterflies(self):
|
def createButterflies(self):
|
||||||
|
playground = ButterflyGlobals.TTC
|
||||||
ButterflyGlobals.generateIndexes(self.zoneId, ButterflyGlobals.TTC)
|
ButterflyGlobals.generateIndexes(self.zoneId, ButterflyGlobals.TTC)
|
||||||
for i in xrange(0, ButterflyGlobals.NUM_BUTTERFLY_AREAS[ButterflyGlobals.TTC]):
|
for i in xrange(0, ButterflyGlobals.NUM_BUTTERFLY_AREAS[ButterflyGlobals.TTC]):
|
||||||
for _ in xrange(0, ButterflyGlobals.NUM_BUTTERFLIES[ButterflyGlobals.TTC]):
|
for _ in xrange(0, ButterflyGlobals.NUM_BUTTERFLIES[ButterflyGlobals.TTC]):
|
||||||
butterfly = DistributedButterflyAI(self.air, playground, i, self.zoneId)
|
butterfly = DistributedButterflyAI.DistributedButterflyAI(self.air, playground, i, self.zoneId)
|
||||||
butterfly.generateWithRequired(self.zoneId)
|
butterfly.generateWithRequired(self.zoneId)
|
||||||
butterfly.start()
|
butterfly.start()
|
||||||
|
|
|
@ -6,7 +6,7 @@ LANDED = 2
|
||||||
states = {OFF: 'off',
|
states = {OFF: 'off',
|
||||||
FLYING: 'Flying',
|
FLYING: 'Flying',
|
||||||
LANDED: 'Landed'}
|
LANDED: 'Landed'}
|
||||||
NUM_BUTTERFLIES = (6, 36, 5) # gg spawning too many butterflies causes Astron to kick some people.
|
NUM_BUTTERFLIES = (6, 36, 5)
|
||||||
NUM_BUTTERFLY_AREAS = (4, 1, 4)
|
NUM_BUTTERFLY_AREAS = (4, 1, 4)
|
||||||
BUTTERFLY_SPEED = 2.0
|
BUTTERFLY_SPEED = 2.0
|
||||||
BUTTERFLY_HEIGHT = (2.2, 3.2, 2.2)
|
BUTTERFLY_HEIGHT = (2.2, 3.2, 2.2)
|
||||||
|
|
|
@ -1,70 +1,99 @@
|
||||||
from direct.directnotify import DirectNotifyGlobal
|
from direct.directnotify import DirectNotifyGlobal
|
||||||
from direct.distributed.DistributedObjectAI import DistributedObjectAI
|
from direct.distributed.DistributedObjectAI import DistributedObjectAI
|
||||||
|
from otp.ai.AIBase import *
|
||||||
|
from toontown.toonbase.ToontownGlobals import *
|
||||||
from direct.distributed.ClockDelta import *
|
from direct.distributed.ClockDelta import *
|
||||||
|
from direct.fsm import ClassicFSM, State
|
||||||
|
from direct.fsm import State
|
||||||
|
from direct.task import Task
|
||||||
import ButterflyGlobals
|
import ButterflyGlobals
|
||||||
import random
|
import random
|
||||||
|
|
||||||
class DistributedButterflyAI(DistributedObjectAI):
|
class DistributedButterflyAI(DistributedObjectAI):
|
||||||
notify = DirectNotifyGlobal.directNotify.newCategory("DistributedButterflyAI")
|
notify = DirectNotifyGlobal.directNotify.newCategory("DistributedButterflyAI")
|
||||||
|
|
||||||
def __init__(self, air):
|
def __init__(self, air, playground, area, ownerId):
|
||||||
DistributedObjectAI.__init__(self, air)
|
DistributedObjectAI.__init__(self, air)
|
||||||
self.area = 0
|
|
||||||
self.playground = 0
|
|
||||||
self.stateIndex = 0
|
|
||||||
self.curIndex = 0
|
|
||||||
self.destIndex = 0
|
|
||||||
self.time = 0
|
|
||||||
self.timestamp = 0
|
|
||||||
|
|
||||||
def generate(self):
|
|
||||||
ButterflyGlobals.generateIndexes(self.doId, self.playground)
|
|
||||||
fr = ButterflyGlobals.getFirstRoute(self.playground, self.area, self.doId)
|
|
||||||
self.b_setState(ButterflyGlobals.FLYING, fr[1], fr[3], fr[4], globalClockDelta.getRealNetworkTime())
|
|
||||||
taskMgr.doMethodLater(fr[4], self.__land, 'landButterfly%i' % self.doId, [])
|
|
||||||
|
|
||||||
def __land(self):
|
|
||||||
ttl = random.uniform(0, ButterflyGlobals.MAX_LANDED_TIME)
|
|
||||||
self.b_setState(ButterflyGlobals.LANDED, self.curIndex, self.destIndex, ttl, globalClockDelta.getRealNetworkTime())
|
|
||||||
taskMgr.doMethodLater(ttl, self.__fly, 'flyButterfly%i' % self.doId, [])
|
|
||||||
|
|
||||||
def __fly(self):
|
|
||||||
next = ButterflyGlobals.getNextPos(ButterflyGlobals.ButterflyPoints[self.playground][self.area][self.destIndex], self.playground, self.area, self.doId)
|
|
||||||
|
|
||||||
self.b_setState(ButterflyGlobals.FLYING, self.destIndex, next[1], next[2], globalClockDelta.getRealNetworkTime())
|
|
||||||
taskMgr.doMethodLater(next[2], self.__land, 'landButterfly%i' % self.doId, [])
|
|
||||||
|
|
||||||
def setArea(self, playground, area):
|
|
||||||
self.area = area
|
|
||||||
self.playground = playground
|
self.playground = playground
|
||||||
|
self.area = area
|
||||||
def d_setArea(self, playground, area):
|
self.ownerId = ownerId
|
||||||
self.sendUpdate('setArea', [playground, area])
|
self.fsm = ClassicFSM.ClassicFSM('DistributedButterfliesAI', [State.State('off', self.enterOff, self.exitOff, ['Flying', 'Landed']), State.State('Flying', self.enterFlying, self.exitFlying, ['Landed']), State.State('Landed', self.enterLanded, self.exitLanded, ['Flying'])], 'off', 'off')
|
||||||
|
self.fsm.enterInitialState()
|
||||||
def b_setArea(self, playground, area):
|
self.curPos, self.curIndex, self.destPos, self.destIndex, self.time = ButterflyGlobals.getFirstRoute(self.playground, self.area, self.ownerId)
|
||||||
self.setArea(playground, area)
|
return None
|
||||||
self.d_setArea(playground, area)
|
|
||||||
|
def delete(self):
|
||||||
|
try:
|
||||||
|
self.butterfly_deleted
|
||||||
|
except:
|
||||||
|
self.butterfly_deleted = 1
|
||||||
|
ButterflyGlobals.recycleIndex(self.curIndex, self.playground, self.area, self.ownerId)
|
||||||
|
ButterflyGlobals.recycleIndex(self.destIndex, self.playground, self.area, self.ownerId)
|
||||||
|
self.fsm.request('off')
|
||||||
|
del self.fsm
|
||||||
|
DistributedObjectAI.delete(self)
|
||||||
|
|
||||||
|
def d_setState(self, stateIndex, curIndex, destIndex, time):
|
||||||
|
self.sendUpdate('setState', [stateIndex,
|
||||||
|
curIndex,
|
||||||
|
destIndex,
|
||||||
|
time,
|
||||||
|
globalClockDelta.getRealNetworkTime()])
|
||||||
|
|
||||||
def getArea(self):
|
def getArea(self):
|
||||||
return [self.playground, self.area]
|
return [self.playground, self.area]
|
||||||
|
|
||||||
def setState(self, stateIndex, curIndex, destIndex, time, timestamp):
|
|
||||||
self.stateIndex = stateIndex
|
|
||||||
self.curIndex = curIndex
|
|
||||||
self.destIndex = destIndex
|
|
||||||
self.time = time
|
|
||||||
self.timestamp = timestamp
|
|
||||||
|
|
||||||
def d_setState(self, stateIndex, curIndex, destIndex, time, timestamp):
|
|
||||||
self.sendUpdate('setState', [stateIndex, curIndex, destIndex, time, timestamp])
|
|
||||||
|
|
||||||
def b_setState(self, stateIndex, curIndex, destIndex, time, timestamp):
|
|
||||||
self.setState(stateIndex, curIndex, destIndex, time, timestamp)
|
|
||||||
self.d_setState(stateIndex, curIndex, destIndex, time, timestamp)
|
|
||||||
|
|
||||||
def getState(self):
|
def getState(self):
|
||||||
return [self.stateIndex, self.curIndex, self.destIndex, self.time, self.timestamp]
|
return [self.stateIndex,
|
||||||
|
self.curIndex,
|
||||||
|
self.destIndex,
|
||||||
|
self.time,
|
||||||
|
globalClockDelta.getRealNetworkTime()]
|
||||||
|
|
||||||
|
def start(self):
|
||||||
|
self.fsm.request('Flying')
|
||||||
|
|
||||||
def avatarEnter(self):
|
def avatarEnter(self):
|
||||||
pass
|
if self.fsm.getCurrentState().getName() == 'Landed':
|
||||||
|
self.__ready()
|
||||||
|
return None
|
||||||
|
|
||||||
|
def enterOff(self):
|
||||||
|
self.stateIndex = ButterflyGlobals.OFF
|
||||||
|
return None
|
||||||
|
|
||||||
|
def exitOff(self):
|
||||||
|
return None
|
||||||
|
|
||||||
|
def enterFlying(self):
|
||||||
|
self.stateIndex = ButterflyGlobals.FLYING
|
||||||
|
ButterflyGlobals.recycleIndex(self.curIndex, self.playground, self.area, self.ownerId)
|
||||||
|
self.d_setState(ButterflyGlobals.FLYING, self.curIndex, self.destIndex, self.time)
|
||||||
|
taskMgr.doMethodLater(self.time, self.__handleArrival, self.uniqueName('butter-flying'))
|
||||||
|
return None
|
||||||
|
|
||||||
|
def exitFlying(self):
|
||||||
|
taskMgr.remove(self.uniqueName('butter-flying'))
|
||||||
|
return None
|
||||||
|
|
||||||
|
def __handleArrival(self, task):
|
||||||
|
self.curPos = self.destPos
|
||||||
|
self.curIndex = self.destIndex
|
||||||
|
self.fsm.request('Landed')
|
||||||
|
return Task.done
|
||||||
|
|
||||||
|
def enterLanded(self):
|
||||||
|
self.stateIndex = ButterflyGlobals.LANDED
|
||||||
|
self.time = random.random() * ButterflyGlobals.MAX_LANDED_TIME
|
||||||
|
self.d_setState(ButterflyGlobals.LANDED, self.curIndex, self.destIndex, self.time)
|
||||||
|
taskMgr.doMethodLater(self.time, self.__ready, self.uniqueName('butter-ready'))
|
||||||
|
return None
|
||||||
|
|
||||||
|
def exitLanded(self):
|
||||||
|
taskMgr.remove(self.uniqueName('butter-ready'))
|
||||||
|
return None
|
||||||
|
|
||||||
|
def __ready(self, task = None):
|
||||||
|
self.destPos, self.destIndex, self.time = ButterflyGlobals.getNextPos(self.curPos, self.playground, self.area, self.ownerId)
|
||||||
|
self.fsm.request('Flying')
|
||||||
|
return Task.done
|
||||||
|
|
Loading…
Reference in a new issue