toontown-just-works/toontown/minigame/CogThiefGameGlobals.py
2024-07-07 18:08:39 -05:00

143 lines
2.5 KiB
Python

from pandac.PandaModules import VBase3, BitMask32
GameTime = 60
NumBarrels = 4
BarrelStartingPositions = (
VBase3(4.3, 4, 0),
VBase3(4.3, -4, 0),
VBase3(-4.3, 4, 0),
VBase3(-4.3, -4, 0)
)
ToonStartingPositions = (
VBase3(0, 16, 0),
VBase3(0, -16, 0),
VBase3(-16, 0, 0),
VBase3(16, 0, 0)
)
CogStartingPositions = (
VBase3(35, 18, 0),
VBase3(35, 0, 0),
VBase3(35, -18, 0),
VBase3(-35, 18, 0),
VBase3(-35, 0, 0),
VBase3(-35, -18, 0),
VBase3(0, 27, 0),
VBase3(0, -27, 0),
VBase3(35, 9, 0),
VBase3(-35, 9, 0),
VBase3(35, -9, 0),
VBase3(-35, -9, 0)
)
CogReturnPositions = (
VBase3(-35, 28, 0),
VBase3(-14, 28, 0),
VBase3(14, 28, 0),
VBase3(35, 28, 0),
VBase3(35, 0, 0),
VBase3(35, -28, 0),
VBase3(-14, -28, 0),
VBase3(14, -28, 0),
VBase3(-35, -28, 0),
VBase3(-35, 0, 0)
)
StageHalfWidth = 25
StageHalfHeight = 18
NoGoal = 0
BarrelGoal = 1
ToonGoal = 2
RunAwayGoal = 3
InvalidGoalId = -1
GoalStr = {
NoGoal: 'NoGoal',
BarrelGoal: 'BarrelGoal',
ToonGoal: 'ToonGoal',
RunAwayGoal: 'RunAwayGoal',
InvalidGoalId: 'InvalidGoa'
}
BarrelBitmask = BitMask32(512)
BarrelOnGround = -1
NoBarrelCarried = -1
LyingDownDuration = 2.0
MAX_SCORE = 20
MIN_SCORE = 3
def calcScore(t):
range = MAX_SCORE - MIN_SCORE
score = range * (float(t) / GameTime) + MIN_SCORE
return int(score + 0.5)
def getMaxScore():
result = calcScore(GameTime)
return result
NumCogsTable = [
{2000: 5,
1000: 5,
5000: 5,
4000: 5,
3000: 5,
9000: 5},
{2000: 7,
1000: 7,
5000: 7,
4000: 7,
3000: 7,
9000: 7},
{2000: 9,
1000: 9,
5000: 9,
4000: 9,
3000: 9,
9000: 9},
{2000: 11,
1000: 11,
5000: 11,
4000: 11,
3000: 11,
9000: 11}
]
CogSpeedTable = [
{2000: 6.0,
1000: 6.4,
5000: 6.8,
4000: 7.2,
3000: 7.6,
9000: 8.0},
{2000: 6.0,
1000: 6.4,
5000: 6.8,
4000: 7.2,
3000: 7.6,
9000: 8.0},
{2000: 6.0,
1000: 6.4,
5000: 6.8,
4000: 7.2,
3000: 7.6,
9000: 8.0},
{2000: 6.0,
1000: 6.4,
5000: 6.8,
4000: 7.2,
3000: 7.6,
9000: 8.0}
]
ToonSpeed = 9.0
PerfectBonus = [8, 6, 4, 2]
def calculateCogs(numPlayers, safezone):
result = 5
if numPlayers <= len(NumCogsTable):
if safezone in NumCogsTable[numPlayers - 1]:
result = NumCogsTable[numPlayers - 1][safezone]
return result
def calculateCogSpeed(numPlayers, safezone):
result = 6.0
if numPlayers <= len(NumCogsTable):
if safezone in CogSpeedTable[numPlayers - 1]:
result = CogSpeedTable[numPlayers - 1][safezone]
return result