mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2025-01-09 17:53:50 +00:00
Merge branch 'features/ttn' of http://git.toontownstride.com/toontownstride/src into features/ttn
This commit is contained in:
commit
773a1d2f43
2 changed files with 34 additions and 16 deletions
|
@ -8,10 +8,9 @@ from toontown.fishing.ThreewayBingo import ThreewayBingo
|
|||
from toontown.fishing.DiagonalBingo import DiagonalBingo
|
||||
from toontown.fishing.BlockoutBingo import BlockoutBingo
|
||||
from toontown.fishing.FourCornerBingo import FourCornerBingo
|
||||
from otp.ai.MagicWordGlobal import *
|
||||
from direct.task import Task
|
||||
from direct.distributed.ClockDelta import *
|
||||
import random
|
||||
import random, datetime
|
||||
RequestCard = {}
|
||||
|
||||
|
||||
|
@ -25,26 +24,44 @@ class DistributedPondBingoManagerAI(DistributedObjectAI):
|
|||
self.tileSeed = None
|
||||
self.typeId = None
|
||||
self.state = 'Off'
|
||||
self.pond = None
|
||||
self.canCall = False
|
||||
self.shouldStop = False
|
||||
self.lastUpdate = globalClockDelta.getRealNetworkTime()
|
||||
self.cardId = 0
|
||||
|
||||
def initTasks(self):
|
||||
now = datetime.datetime.now()
|
||||
weekday = now.weekday()
|
||||
targetday = 2 # Wednesday
|
||||
if weekday in (3, 4):
|
||||
targetday = 5
|
||||
togo = targetday - weekday
|
||||
if togo < 0:
|
||||
togo += 7
|
||||
s = now + datetime.timedelta(days=togo)
|
||||
start = datetime.datetime(s.year, s.month, s.day)
|
||||
secs = max(0, (start - now).total_seconds())
|
||||
self.notify.debug('Today it\'s %d, so we wait for %d, togo: %d %d' % (weekday, targetday, togo, secs))
|
||||
taskMgr.doMethodLater(secs, DistributedPondBingoManagerAI.startTask, self.taskName('start'), extraArgs=[self])
|
||||
|
||||
def startTask(self):
|
||||
self.notify.debug('Starting game')
|
||||
|
||||
def stop(task):
|
||||
self.notify.debug('Stopping game')
|
||||
self.shouldStop = True
|
||||
return task.done
|
||||
|
||||
taskMgr.doMethodLater(24 * 60 * 60, stop, self.taskName('stop'))
|
||||
self.createGame()
|
||||
|
||||
def setPondDoId(self, pondId):
|
||||
self.pond = self.air.doId2do[pondId]
|
||||
|
||||
def getPondDoId(self):
|
||||
return self.pond.getDoId()
|
||||
|
||||
def updateGameState(self, gameState, cellId):
|
||||
pass
|
||||
|
||||
def setCardState(self, cardId, typeId, tileSeed, gameState):
|
||||
pass
|
||||
|
||||
def setState(self, state, timeStamp):
|
||||
pass
|
||||
|
||||
def cardUpdate(self, cardId, cellId, genus, species):
|
||||
avId = self.air.getAvatarIdFromSender()
|
||||
spot = self.pond.hasToon(avId)
|
||||
|
@ -70,9 +87,6 @@ class DistributedPondBingoManagerAI(DistributedObjectAI):
|
|||
elif result == BingoGlobals.UPDATE:
|
||||
self.sendGameStateUpdate(cellId)
|
||||
|
||||
def enableBingo(self):
|
||||
createGame()
|
||||
|
||||
def d_enableBingo(self):
|
||||
self.sendUpdate('enableBingo', [])
|
||||
|
||||
|
@ -150,8 +164,6 @@ class DistributedPondBingoManagerAI(DistributedObjectAI):
|
|||
taskMgr.doMethodLater(5, DistributedPondBingoManagerAI.startWait, 'startWait%d' % self.getDoId(), [self])
|
||||
taskMgr.remove('finishGame%d' % self.getDoId())
|
||||
|
||||
|
||||
|
||||
def finishGame(self):
|
||||
self.state = 'GameOver'
|
||||
self.sendStateUpdate()
|
||||
|
|
|
@ -5,6 +5,7 @@ from toontown.fishing.DistributedFishingPondAI import DistributedFishingPondAI
|
|||
from toontown.hood import ZoneUtil
|
||||
from toontown.safezone import TreasureGlobals
|
||||
from toontown.safezone.DistributedFishingSpotAI import DistributedFishingSpotAI
|
||||
from toontown.fishing.DistributedPondBingoManagerAI import DistributedPondBingoManagerAI
|
||||
from toontown.safezone.DistributedPartyGateAI import DistributedPartyGateAI
|
||||
from toontown.safezone.SZTreasurePlannerAI import SZTreasurePlannerAI
|
||||
from toontown.suit import DistributedSuitPlannerAI
|
||||
|
@ -90,6 +91,11 @@ class HoodAI:
|
|||
fishingPond.generateWithRequired(zoneId)
|
||||
fishingPond.start()
|
||||
|
||||
fishingPond.bingoMgr = DistributedPondBingoManagerAI(simbase.air)
|
||||
fishingPond.bingoMgr.setPondDoId(fishingPond.getDoId())
|
||||
fishingPond.bingoMgr.generateWithRequired(zoneId)
|
||||
fishingPond.bingoMgr.initTasks()
|
||||
|
||||
fishingPonds.append(fishingPond)
|
||||
elif isinstance(dnaGroup, DNAVisGroup):
|
||||
zoneId = int(dnaGroup.getName().split(':')[0])
|
||||
|
|
Loading…
Reference in a new issue