From f0767c9739701470e95ab38e4bcb969d49573a28 Mon Sep 17 00:00:00 2001 From: John Cote Date: Thu, 2 Jan 2020 12:46:49 -0500 Subject: [PATCH] racing: broken kart pads --- toontown/ai/ToontownAIRepository.py | 20 ++++++++++++++++++-- toontown/racing/DistributedKartPadAI.py | 4 ++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/toontown/ai/ToontownAIRepository.py b/toontown/ai/ToontownAIRepository.py index 644e997..f1f9191 100644 --- a/toontown/ai/ToontownAIRepository.py +++ b/toontown/ai/ToontownAIRepository.py @@ -27,6 +27,8 @@ from toontown.quest.QuestManagerAI import QuestManagerAI from toontown.racing import RaceGlobals from toontown.racing.DistributedLeaderBoardAI import DistributedLeaderBoardAI from toontown.racing.DistributedRacePadAI import DistributedRacePadAI +from toontown.racing.DistributedStartingBlockAI import DistributedStartingBlockAI +from toontown.racing.DistributedStartingBlockAI import DistributedViewingBlockAI from toontown.racing.DistributedViewPadAI import DistributedViewPadAI from toontown.racing.RaceManagerAI import RaceManagerAI from toontown.shtiker.CogPageManagerAI import CogPageManagerAI @@ -307,8 +309,22 @@ class ToontownAIRepository(ToontownInternalRepository): return kartPads, kartPadGroups - def findStartingBlocks(self, dnaData, kartPad): - return [] # TODO + def findStartingBlocks(self, dnaData, pad): + startingBlocks = [] + for i in range(dnaData.getNumChildren()): + groupName = dnaData.getName() + block = dnaData.at(i) + blockName = block.getName() + if 'starting_block' in blockName: + cls = DistributedStartingBlockAI if 'racing_pad' in groupName else DistributedViewingBlockAI + x, y, z = block.getPos() + h, p, r = block.getHpr() + padLocationId = int(blockName[-1]) + startingBlock = cls(self, pad, x, y, z, h, p, r, padLocationId) + startingBlock.generateWithRequired(pad.zoneId) + startingBlocks.append(startingBlock) + + return startingBlocks def findLeaderBoards(self, dnaData, zoneId): leaderBoards = [] diff --git a/toontown/racing/DistributedKartPadAI.py b/toontown/racing/DistributedKartPadAI.py index dcf3107..ccc71f2 100644 --- a/toontown/racing/DistributedKartPadAI.py +++ b/toontown/racing/DistributedKartPadAI.py @@ -8,6 +8,7 @@ class DistributedKartPadAI(DistributedObjectAI): def __init__(self, air): DistributedObjectAI.__init__(self, air) self.area = None + self.startingBlocks = [] self.index = -1 def setArea(self, area): @@ -15,3 +16,6 @@ class DistributedKartPadAI(DistributedObjectAI): def getArea(self): return self.area + + def addStartingBlock(self, startingBlock): + self.startingBlocks.append(startingBlock)