Merge branch 'features/ttn' of http://git.toontownstride.com/toontownstride/src into features/ttn

This commit is contained in:
Loudrob 2015-07-22 10:52:12 -04:00
commit 773a1d2f43
2 changed files with 34 additions and 16 deletions

View file

@ -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()

View file

@ -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])