mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-24 04:02:40 -06:00
Photo Game holocaust
This commit is contained in:
parent
70e2f91ea1
commit
5d3e6a2f66
10 changed files with 10 additions and 2190 deletions
|
@ -286,7 +286,6 @@ from toontown.minigame import DistributedMinigame/AI
|
|||
from toontown.minigame import DistributedMinigameTemplate/AI
|
||||
from toontown.minigame import DistributedRaceGame/AI
|
||||
from toontown.minigame import DistributedCannonGame/AI
|
||||
from toontown.minigame import DistributedPhotoGame/AI
|
||||
from toontown.minigame import DistributedPatternGame/AI
|
||||
from toontown.minigame import DistributedRingGame/AI
|
||||
from toontown.minigame import DistributedTagGame/AI
|
||||
|
@ -1213,12 +1212,6 @@ dclass DistributedCannonGame : DistributedMinigame {
|
|||
announceToonWillLandInWater(uint32, int32/100) broadcast;
|
||||
};
|
||||
|
||||
dclass DistributedPhotoGame : DistributedMinigame {
|
||||
newClientPhotoScore(uint8, char [0-256], uint32/100) airecv clsend;
|
||||
newAIPhotoScore(uint32, uint8, uint32/100) broadcast;
|
||||
filmOut() airecv clsend;
|
||||
};
|
||||
|
||||
dclass DistributedPatternGame : DistributedMinigame {
|
||||
reportPlayerReady() airecv clsend;
|
||||
setPattern(uint8[]) broadcast;
|
||||
|
|
|
@ -75,7 +75,6 @@ want-butterflies #f
|
|||
|
||||
# Trolley minigames:
|
||||
want-minigames #t
|
||||
want-photo-game #t
|
||||
|
||||
# Picnic table board games:
|
||||
want-game-tables #t
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
from pandac.PandaModules import *
|
||||
|
||||
|
||||
hashVal = 1067289706
|
||||
hashVal = 2216445237L
|
||||
|
||||
|
||||
from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot
|
||||
|
@ -24,7 +24,7 @@ from toontown.distributed import ToontownDistrict, ToontownDistrictStats, Distri
|
|||
from toontown.effects import DistributedFireworkShow
|
||||
from toontown.safezone import DistributedTrolley, DistributedPartyGate, DistributedBoat, DistributedButterfly, DistributedMMPiano, DistributedDGFlower, DistributedFishingSpot, SafeZoneManager, DistributedTreasure, DistributedGolfKart, DistributedPicnicBasket, DistributedPicnicTable, DistributedChineseCheckers, DistributedCheckers, DistributedFindFour
|
||||
from toontown.fishing import DistributedFishingPond, DistributedFishingTarget, DistributedPondBingoManager
|
||||
from toontown.minigame import DistributedMinigame, DistributedMinigameTemplate, DistributedRaceGame, DistributedCannonGame, DistributedPhotoGame, DistributedPatternGame, DistributedRingGame, DistributedTagGame, DistributedMazeGame, DistributedTugOfWarGame, DistributedCatchGame, DistributedDivingGame, DistributedTargetGame, DistributedVineGame, DistributedIceGame, DistributedCogThiefGame, DistributedTwoDGame
|
||||
from toontown.minigame import DistributedMinigame, DistributedMinigameTemplate, DistributedRaceGame, DistributedCannonGame, DistributedPatternGame, DistributedRingGame, DistributedTagGame, DistributedMazeGame, DistributedTugOfWarGame, DistributedCatchGame, DistributedDivingGame, DistributedTargetGame, DistributedVineGame, DistributedIceGame, DistributedCogThiefGame, DistributedTwoDGame
|
||||
from toontown.racing import DistributedVehicle, DistributedStartingBlock, DistributedRace, DistributedKartPad, DistributedRacePad, DistributedViewPad, DistributedStartingBlock, DistributedLeaderBoard, DistributedGag, DistributedProjectile
|
||||
from toontown.catalog import CatalogManager, AccountDate
|
||||
from toontown.rpc.AwardManager import AwardManager
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,200 +0,0 @@
|
|||
from DistributedMinigameAI import *
|
||||
from direct.distributed.ClockDelta import *
|
||||
from direct.fsm import ClassicFSM, State
|
||||
from direct.fsm import State
|
||||
from direct.task import Task
|
||||
import PhotoGameGlobals
|
||||
from toontown.minigame import PhotoGameBase
|
||||
import random
|
||||
|
||||
class DistributedPhotoGameAI(DistributedMinigameAI, PhotoGameBase.PhotoGameBase):
|
||||
notify = DirectNotifyGlobal.directNotify.newCategory('DistributedPhotoGameAI')
|
||||
|
||||
def __init__(self, air, minigameId):
|
||||
DistributedMinigameAI.__init__(self, air, minigameId)
|
||||
PhotoGameBase.PhotoGameBase.__init__(self)
|
||||
self.gameFSM = ClassicFSM.ClassicFSM('DistributedPhotoGameAI', [State.State('inactive', self.enterInactive, self.exitInactive, ['play']), State.State('play', self.enterPlay, self.exitPlay, ['cleanup']), State.State('cleanup', self.enterCleanup, self.exitCleanup, ['inactive'])], 'inactive', 'inactive')
|
||||
self.addChildGameFSM(self.gameFSM)
|
||||
|
||||
def delete(self):
|
||||
self.notify.debug('delete')
|
||||
del self.gameFSM
|
||||
DistributedMinigameAI.delete(self)
|
||||
|
||||
def setGameReady(self):
|
||||
self.notify.debug('setGameReady')
|
||||
DistributedMinigameAI.setGameReady(self)
|
||||
|
||||
def setGameStart(self, timestamp):
|
||||
self.notify.debug('setGameStart')
|
||||
DistributedMinigameAI.setGameStart(self, timestamp)
|
||||
assignmentTemplates = self.generateAssignmentTemplates(PhotoGameGlobals.ONSCREENASSIGNMENTS)
|
||||
self.assignmentData = self.generateAssignmentData(assignmentTemplates)
|
||||
self.gameFSM.request('play')
|
||||
self.filmCountList = [0,
|
||||
0,
|
||||
0,
|
||||
0]
|
||||
|
||||
def setGameAbort(self):
|
||||
self.notify.debug('setGameAbort')
|
||||
if self.gameFSM.getCurrentState():
|
||||
self.gameFSM.request('cleanup')
|
||||
DistributedMinigameAI.setGameAbort(self)
|
||||
|
||||
def gameOver(self):
|
||||
self.notify.debug('gameOver')
|
||||
self.gameFSM.request('cleanup')
|
||||
DistributedMinigameAI.gameOver(self)
|
||||
|
||||
def enterInactive(self):
|
||||
self.notify.debug('enterInactive')
|
||||
|
||||
def exitInactive(self):
|
||||
pass
|
||||
|
||||
def enterPlay(self):
|
||||
self.notify.debug('enterPlay')
|
||||
if not config.GetBool('endless-photo-game', 0):
|
||||
taskMgr.doMethodLater(self.data['TIME'], self.timerExpired, self.taskName('gameTimer'))
|
||||
|
||||
def timerExpired(self, task = None):
|
||||
self.notify.debug('timer expired')
|
||||
self.calculateScores()
|
||||
self.gameOver()
|
||||
if task:
|
||||
return task.done
|
||||
|
||||
def __playing(self):
|
||||
if not hasattr(self, 'gameFSM'):
|
||||
return 0
|
||||
return self.gameFSM.getCurrentState().getName() == 'play'
|
||||
|
||||
def generateAssignmentData(self, assignmentTemplates):
|
||||
assignmentData = []
|
||||
for template in assignmentTemplates:
|
||||
playerScores = [0,
|
||||
0,
|
||||
0,
|
||||
0]
|
||||
highScorer = None
|
||||
dataEntry = [template[0],
|
||||
template[1],
|
||||
playerScores,
|
||||
highScorer]
|
||||
assignmentData.append(dataEntry)
|
||||
|
||||
return assignmentData
|
||||
|
||||
def checkForFilmOut(self):
|
||||
numOut = 0
|
||||
for entry in self.filmCountList:
|
||||
if entry >= self.data['FILMCOUNT']:
|
||||
numOut += 1
|
||||
|
||||
numPlayers = 0
|
||||
for entry in self.avIdList:
|
||||
if entry:
|
||||
numPlayers += 1
|
||||
|
||||
if numOut >= numPlayers:
|
||||
self.timerExpired()
|
||||
|
||||
def filmOut(self):
|
||||
avId = self.air.getAvatarIdFromSender()
|
||||
if avId not in self.avIdList:
|
||||
self.air.writeServerEvent('suspicious', avId, 'PhotoGameAI.filmOut: unknown avatar')
|
||||
return
|
||||
if self.gameFSM.getCurrentState() is None or self.gameFSM.getCurrentState().getName() != 'play':
|
||||
self.air.writeServerEvent('suspicious', avId, 'PhotoGameAI.filmOut: game not in play state')
|
||||
return
|
||||
playerIndex = self.avIdList.index(avId)
|
||||
self.filmCountList[playerIndex] = self.data['FILMCOUNT']
|
||||
self.checkForFilmOut()
|
||||
return
|
||||
|
||||
def newClientPhotoScore(self, subjectIndex, pose, score):
|
||||
avId = self.air.getAvatarIdFromSender()
|
||||
if self.gameFSM.getCurrentState() is None or self.gameFSM.getCurrentState().getName() != 'play':
|
||||
if self.gameFSM.getCurrentState() is None:
|
||||
gameState = None
|
||||
else:
|
||||
gameState = self.gameFSM.getCurrentState().getName()
|
||||
self.air.writeServerEvent('suspicious', avId, 'PhotoGameAI.newClientPhotoScore: game not in play state %s' % gameState)
|
||||
return
|
||||
if score > PhotoGameGlobals.NUMSTARS:
|
||||
score = 0.0
|
||||
if avId not in self.avIdList:
|
||||
self.air.writeServerEvent('suspicious', avId, 'PhotoGameAI.newClientPhotoScore: non-player avatar')
|
||||
return
|
||||
playerIndex = self.avIdList.index(avId)
|
||||
self.filmCountList[playerIndex] += 1
|
||||
self.checkForFilmOut()
|
||||
if self.filmCountList[playerIndex] >= self.data['FILMCOUNT']:
|
||||
self.notify.debug('player used more film than possible')
|
||||
return
|
||||
assignmentIndex = None
|
||||
for dataIndex in xrange(len(self.assignmentData)):
|
||||
assignment = self.assignmentData[dataIndex]
|
||||
if assignment[0] == subjectIndex and assignment[1] == pose:
|
||||
assignmentIndex = dataIndex
|
||||
|
||||
if assignmentIndex != None and self.assignmentData[assignmentIndex][2][playerIndex] < score:
|
||||
self.assignmentData[assignmentIndex][2][playerIndex] = score
|
||||
highScorer = self.assignmentData[assignmentIndex][3]
|
||||
if highScorer == None:
|
||||
self.assignmentData[assignmentIndex][3] = playerIndex
|
||||
elif self.assignmentData[assignmentIndex][2][highScorer] < self.assignmentData[assignmentIndex][2][playerIndex]:
|
||||
self.assignmentData[assignmentIndex][3] = playerIndex
|
||||
self.sendUpdate('newAIPhotoScore', [avId, assignmentIndex, score])
|
||||
self.notify.debug('newClientPhotoScore %s %s %s %s' % (avId,
|
||||
subjectIndex,
|
||||
pose,
|
||||
score))
|
||||
for data in self.assignmentData:
|
||||
self.notify.debug(str(data))
|
||||
|
||||
return
|
||||
|
||||
def calculateScores(self):
|
||||
playerBonus = [0.0,
|
||||
0.0,
|
||||
0.0,
|
||||
0.0]
|
||||
teamScore = 0.0
|
||||
for data in self.assignmentData:
|
||||
scores = data[2]
|
||||
highestIndex = data[3]
|
||||
if highestIndex != None:
|
||||
highestScore = scores[highestIndex]
|
||||
self.notify.debug('\nHighIndex:%s' % highestIndex)
|
||||
self.notify.debug('scores')
|
||||
self.notify.debug(str(scores))
|
||||
teamScore += highestScore
|
||||
if highestIndex != None:
|
||||
playerBonus[highestIndex] += 1.0
|
||||
|
||||
for avIdKey in self.scoreDict:
|
||||
playerIndex = self.avIdList.index(avIdKey)
|
||||
playerScore = playerBonus[playerIndex] + teamScore
|
||||
self.scoreDict[avIdKey] = playerScore
|
||||
|
||||
self.notify.debug('Calculated Scores')
|
||||
self.notify.debug('playerbonus')
|
||||
self.notify.debug(str(playerBonus))
|
||||
self.notify.debug('teamscore')
|
||||
self.notify.debug(str(teamScore))
|
||||
self.notify.debug('dict')
|
||||
self.notify.debug(str(self.scoreDict))
|
||||
return
|
||||
|
||||
def exitPlay(self):
|
||||
taskMgr.remove(self.taskName('gameTimer'))
|
||||
taskMgr.remove(self.taskName('game-over'))
|
||||
|
||||
def enterCleanup(self):
|
||||
self.notify.debug('enterCleanup')
|
||||
self.gameFSM.request('inactive')
|
||||
|
||||
def exitCleanup(self):
|
||||
pass
|
|
@ -11,7 +11,6 @@ import DistributedIceGameAI
|
|||
import DistributedMazeGameAI
|
||||
import DistributedMinigameTemplateAI
|
||||
import DistributedPatternGameAI
|
||||
import DistributedPhotoGameAI
|
||||
import DistributedRaceGameAI
|
||||
import DistributedRingGameAI
|
||||
import DistributedTagGameAI
|
||||
|
@ -69,8 +68,7 @@ def createMinigame(air, playerArray, trolleyZone, minigameZone=None,
|
|||
ToontownGlobals.VineGameId: DistributedVineGameAI.DistributedVineGameAI,
|
||||
ToontownGlobals.IceGameId: DistributedIceGameAI.DistributedIceGameAI,
|
||||
ToontownGlobals.CogThiefGameId: DistributedCogThiefGameAI.DistributedCogThiefGameAI,
|
||||
ToontownGlobals.TwoDGameId: DistributedTwoDGameAI.DistributedTwoDGameAI,
|
||||
ToontownGlobals.PhotoGameId: DistributedPhotoGameAI.DistributedPhotoGameAI
|
||||
ToontownGlobals.TwoDGameId: DistributedTwoDGameAI.DistributedTwoDGameAI
|
||||
}
|
||||
try:
|
||||
mg = mgCtors[mgId](air, mgId)
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
import PhotoGameGlobals
|
||||
import random
|
||||
|
||||
class PhotoGameBase:
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def load(self):
|
||||
self.data = PhotoGameGlobals.AREA_DATA[self.getSafezoneId()]
|
||||
|
||||
def generateAssignmentTemplates(self, numAssignments):
|
||||
self.data = PhotoGameGlobals.AREA_DATA[self.getSafezoneId()]
|
||||
random.seed(self.doId)
|
||||
assignmentTemplates = []
|
||||
numPathes = len(self.data['PATHS'])
|
||||
if numPathes == 0:
|
||||
return assignmentTemplates
|
||||
while len(assignmentTemplates) < numAssignments:
|
||||
subjectIndex = random.choice(range(numPathes))
|
||||
pose = (None, None)
|
||||
while pose[0] == None:
|
||||
animSetIndex = self.data['PATHANIMREL'][subjectIndex]
|
||||
pose = random.choice(self.data['ANIMATIONS'][animSetIndex] + self.data['MOVEMODES'][animSetIndex])
|
||||
|
||||
newTemplate = (subjectIndex, pose[0])
|
||||
if newTemplate not in assignmentTemplates:
|
||||
assignmentTemplates.append((subjectIndex, pose[0]))
|
||||
|
||||
self.notify.debug('assignment templates')
|
||||
self.notify.debug(str(assignmentTemplates))
|
||||
for template in assignmentTemplates:
|
||||
self.notify.debug(str(template))
|
||||
|
||||
return assignmentTemplates
|
|
@ -1,276 +0,0 @@
|
|||
from pandac.PandaModules import *
|
||||
from toontown.toonbase import TTLocalizer
|
||||
from toontown.toonbase import ToontownGlobals
|
||||
GAME_TIME = 60
|
||||
MAX_SCORE = 23
|
||||
MIN_SCORE = 5
|
||||
NUMSTARS = 5
|
||||
ONSCREENASSIGNMENTS = 5
|
||||
PHOTO_ROTATION_MIN = -20
|
||||
PHOTO_ROTATION_MAX = 20
|
||||
PHOTO_ROTATION_VEL = 25.0
|
||||
PHOTO_ANGLE_MIN = -15
|
||||
PHOTO_ANGLE_MAX = 10
|
||||
PHOTO_ANGLE_VEL = 25.0
|
||||
|
||||
def calcScore(t):
|
||||
range = MAX_SCORE - MIN_SCORE
|
||||
score = MAX_SCORE - range * (float(t) / GAME_TIME)
|
||||
return int(score + 0.5)
|
||||
|
||||
|
||||
AREA_DATA = {}
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral] = {}
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['FILMCOUNT'] = 32
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['TIME'] = 120
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['CAMERA_INTIAL_POSTION'] = Point3(0, 50, 20)
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['DNA_TRIO'] = ('phase_4/dna/storage_TT_sz.pdna', 'phase_4/dna/storage_TT.pdna', 'phase_4/dna/toontown_central_sz.pdna')
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['TRIPOD_OFFSET'] = Point3(0, 0, 7.0)
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['START_HPR'] = Point3(-87.8752, -0.378549, 0)
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['PATHS'] = ([Point3(10, 20, 4.025),
|
||||
Point3(10, -3, 4.025),
|
||||
Point3(32, -5, 4.025),
|
||||
Point3(32, 12, 4.025)],
|
||||
[Point3(-58.396, -51.972, -1.386),
|
||||
Point3(-59.967, -66.906, 0.025),
|
||||
Point3(-56.416, -77.651, 0.025),
|
||||
Point3(-26.619, -74.156, 0.025),
|
||||
Point3(-10.664, -73.82, 0.025),
|
||||
Point3(5.421, -81.282, 2.525),
|
||||
Point3(5.421, -57.383, 0.025),
|
||||
Point3(-27.497, -34.525, 0.025),
|
||||
Point3(-41.784, -48.023, 0.025)],
|
||||
[Point3(-29.015, 36.498, 0.028),
|
||||
Point3(-45.701, 42.963, -0.904),
|
||||
Point3(-54.659, 65.987, 0.025),
|
||||
Point3(-45.458, 81.478, 0.025),
|
||||
Point3(-17.325, 83.591, 0.525),
|
||||
Point3(4.169, 69.942, 1.133),
|
||||
Point3(-10.625, 38.357, 0.036)],
|
||||
[Point3(-84.761, -74.52, 0.034),
|
||||
Point3(-101.685, -75.619, 0.525),
|
||||
Point3(-113.606, -71.806, 0.525),
|
||||
Point3(-111.463, -63.672, 0.525),
|
||||
Point3(-102.072, -60.867, 0.525),
|
||||
Point3(-94.049, -60.519, 0.035),
|
||||
Point3(-66.868, -64.715, 0.025)])
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['PATHANIMREL'] = (0,
|
||||
0,
|
||||
1,
|
||||
2)
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['ANIMATIONS'] = ([('wave', 2.0), (None, 1.0), (None, 1.0)], [('slip-forward', 2.0), (None, 1.0), (None, 1.0)], [('shrug', 2.0), (None, 1.0)])
|
||||
AREA_DATA[ToontownGlobals.ToontownCentral]['MOVEMODES'] = ([('walk', 1.0), ('run', 0.4)], [('run', 0.4)], [('walk', 1.0), ('sad-walk', 2.5)])
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock] = {}
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['FILMCOUNT'] = 28
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['TIME'] = 110
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['CAMERA_INTIAL_POSTION'] = Point3(0, 50, 20)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['DNA_TRIO'] = ('phase_6/dna/storage_DD_sz.pdna', 'phase_6/dna/storage_DD.pdna', 'phase_6/dna/donalds_dock_sz.pdna')
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['TRIPOD_OFFSET'] = Point3(0, -4.0, 9.0)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['START_HPR'] = Point3(218.211, -6.7879, 0)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['PATHS'] = ([Point3(-115.6, 39.4, 5.692),
|
||||
Point3(-109.9, -14, 5.692),
|
||||
Point3(-112.652, -46.7, 5.692),
|
||||
Point3(-68.9, -74.7, 5.692),
|
||||
Point3(-0.2, -82.0, 5.692),
|
||||
Point3(-73.5, -72.2, 5.692),
|
||||
Point3(-112.0, -45, 5.692),
|
||||
Point3(-110.3, 17.5, 5.692)],
|
||||
[Point3(-67.143, 131.117, 3.28),
|
||||
Point3(-56.4, 101.4, 3.279),
|
||||
Point3(-51.425, 80.1, 3.279),
|
||||
Point3(-87.632, 56.718, 2.392),
|
||||
Point3(-114.1, 54.7, 3.28),
|
||||
Point3(-108.5, 80.5, 3.281),
|
||||
Point3(-82.672, 68.971, 3.28),
|
||||
Point3(-83.122, 101.9, 3.28)],
|
||||
[Point3(11.456, -82.521, 3.28),
|
||||
Point3(49.735, -70.46, 3.28),
|
||||
Point3(60.666, -42.735, 3.28),
|
||||
Point3(40.81, -76.633, 3.28)],
|
||||
[Point3(68.924, -33.681, 5.692),
|
||||
Point3(60.51, -31.574, 5.692),
|
||||
Point3(58.672, 12.253, 5.692),
|
||||
Point3(69.809, 48.261, 5.692),
|
||||
Point3(57.857, 46.134, 5.692),
|
||||
Point3(66.057, -22.476, 5.692)],
|
||||
[Point3(-24.439, 37.429, 0.2),
|
||||
Point3(-3.549, 19.343, 0.2),
|
||||
Point3(3.218, -1.475, 0.2),
|
||||
Point3(-12.292, -25.318, 0.2),
|
||||
Point3(-42.954, -25.706, 0.2),
|
||||
Point3(-55.102, 4.041, 0.2),
|
||||
Point3(-54.247, 16.051, 0.2)])
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['PATHANIMREL'] = (0,
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['ANIMATIONS'] = ([('wave', 2.0), (None, 1.0)],
|
||||
[('slip-forward', 2.0), (None, 1.0), (None, 1.0)],
|
||||
[('shrug', 2.0), (None, 1.0)],
|
||||
[(None, 1.0)])
|
||||
AREA_DATA[ToontownGlobals.DonaldsDock]['MOVEMODES'] = ([('walk', 1.0)],
|
||||
[('run', 0.4)],
|
||||
[('walk', 1.0), ('sad-walk', 2.5)],
|
||||
[('swim', 1.0)])
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens] = {}
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['FILMCOUNT'] = 26
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['TIME'] = 100
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['CAMERA_INTIAL_POSTION'] = Point3(0, 50, 20)
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['DNA_TRIO'] = ('phase_8/dna/storage_DG_sz.pdna', 'phase_8/dna/storage_DG.pdna', 'phase_8/dna/daisys_garden_sz.pdna')
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['TRIPOD_OFFSET'] = Point3(0, 0, 6.0)
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['START_HPR'] = Point3(0.0, 0.0, 0.0)
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['PATHS'] = ([Point3(-37.252, 25.513, 0.025),
|
||||
Point3(-30.032, 37.9, 0.025),
|
||||
Point3(-38.694, 50.631, 0.025),
|
||||
Point3(-52.1, 52.926, 0.025),
|
||||
Point3(-62.807, 43.957, 0.025)],
|
||||
[Point3(36.214, 117.447, 5.0),
|
||||
Point3(3.534, 137.083, 5.0),
|
||||
Point3(-9.384, 136.973, 5.0),
|
||||
Point3(-26.377, 120.564, 5.0),
|
||||
Point3(-43.268, 122.335, 5.0),
|
||||
Point3(-26.377, 120.564, 5.0),
|
||||
Point3(-9.384, 136.973, 5.0),
|
||||
Point3(3.534, 137.083, 5.0)],
|
||||
[Point3(15.675, 111.21, 0.025),
|
||||
Point3(21.261, 119.429, 0.025),
|
||||
Point3(6.201, 129.047, 0.025),
|
||||
Point3(-10.984, 124.684, 0.025),
|
||||
Point3(4.039, 130.275, 0.025),
|
||||
Point3(22.645, 118.204, 0.025)],
|
||||
[Point3(27.348, 16.836, 0.025),
|
||||
Point3(47.152, 18.038, 0.025),
|
||||
Point3(65.325, 22.322, 0.025),
|
||||
Point3(73.063, 43.545, 0.025),
|
||||
Point3(75.228, 66.869, 0.025),
|
||||
Point3(69.468, 23.798, 0.025),
|
||||
Point3(46.43, 20.473, 0.025)])
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['PATHANIMREL'] = (0,
|
||||
0,
|
||||
1,
|
||||
2)
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['ANIMATIONS'] = ([('wave', 2.0), (None, 1.0)], [('jump', 2.0), (None, 1.0), (None, 1.0)], [('bow', 2.0), ('happy-dance', 2.0), (None, 1.0)])
|
||||
AREA_DATA[ToontownGlobals.DaisyGardens]['MOVEMODES'] = ([('walk', 1.0), ('run', 0.4)], [('run', 0.4)], [('walk', 1.0), ('run', 0.4)])
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland] = {}
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['FILMCOUNT'] = 23
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['TIME'] = 95
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['CAMERA_INTIAL_POSTION'] = Point3(0, -50, 20)
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['DNA_TRIO'] = ('phase_6/dna/storage_MM_sz.pdna', 'phase_6/dna/storage_MM.pdna', 'phase_6/dna/minnies_melody_land_sz.pdna')
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['TRIPOD_OFFSET'] = Point3(0, 0, 6.0)
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['START_HPR'] = Point3(71.3028, -3.12932, 0)
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['PATHS'] = ([Point3(-42.35, -16.0, -12.476),
|
||||
Point3(-23.7, -49.0, -12.476),
|
||||
Point3(12.4, -62.1, -12.476),
|
||||
Point3(37.8, -31.163, -12.476),
|
||||
Point3(29.5, 8.9, -12.476),
|
||||
Point3(-11.1, 19.6, -12.476),
|
||||
Point3(-34.4, -3.4, -12.476)],
|
||||
[Point3(133.976, -67.686, -6.618),
|
||||
Point3(126.749, -47.351, 0.404),
|
||||
Point3(130.493, -33.429, 4.534),
|
||||
Point3(126.239, -15.853, 5.25),
|
||||
Point3(129.774, -0.535, 3.114),
|
||||
Point3(130.83, 25.08, -5.688),
|
||||
Point3(128.077, -5.33, 4.291),
|
||||
Point3(128.399, -23.142, 5.457),
|
||||
Point3(129.239, -39.886, 2.914),
|
||||
Point3(133.063, -78.315, -10.756)],
|
||||
[Point3(50.757, -102.705, 6.725),
|
||||
Point3(-23.276, -108.546, 6.725),
|
||||
Point3(-57.283, -72.081, 6.725),
|
||||
Point3(-21.699, -109.808, 6.725),
|
||||
Point3(19.614, -108.591, 6.725)],
|
||||
[Point3(51.761, -36.129, -14.627),
|
||||
Point3(26.374, -73.664, -14.645),
|
||||
Point3(14.322, -89.378, -14.562),
|
||||
Point3(61.594, -91.931, -14.524)])
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['PATHANIMREL'] = (0,
|
||||
0,
|
||||
1,
|
||||
2)
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['ANIMATIONS'] = ([('wave', 2.0), (None, 1.0)], [('jump', 2.0),
|
||||
('slip-forward', 2.0),
|
||||
(None, 1.0),
|
||||
(None, 1.0)], [('shrug', 2.0), ('confused', 2.0), (None, 1.0)])
|
||||
AREA_DATA[ToontownGlobals.MinniesMelodyland]['MOVEMODES'] = ([('walk', 1.0), ('run', 0.4)], [('run', 0.4)], [('walk', 1.0), ('sad-walk', 2.5)])
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh] = {}
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['FILMCOUNT'] = 21
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['TIME'] = 90
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['CAMERA_INTIAL_POSTION'] = Point3(0, 50, 20)
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['DNA_TRIO'] = ('phase_8/dna/storage_BR_sz.pdna', 'phase_8/dna/storage_BR.pdna', 'phase_8/dna/the_burrrgh_sz.pdna')
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['TRIPOD_OFFSET'] = Point3(0, 0, 6.0)
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['START_HPR'] = Point3(-49.401, -11.6266, 0)
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['PATHS'] = ([Point3(-82.52, -28.727, 3.009),
|
||||
Point3(-77.642, -4.616, 3.009),
|
||||
Point3(-51.006, 1.05, 3.009),
|
||||
Point3(-28.618, -28.449, 4.026),
|
||||
Point3(-37.948, -64.705, 4.714)],
|
||||
[Point3(-74.672, 62.15, 6.192),
|
||||
Point3(-92.602, 38.734, 6.192),
|
||||
Point3(-126.887, 34.757, 6.192),
|
||||
Point3(-138.12, 56.002, 6.192),
|
||||
Point3(-113.968, 32.661, 6.192),
|
||||
Point3(-84.717, 46.837, 6.192)],
|
||||
[Point3(-55.239, -126.921, 6.192),
|
||||
Point3(-20.35, -108.696, 6.192),
|
||||
Point3(5.028, -61.737, 6.192),
|
||||
Point3(27.967, -19.683, 6.192),
|
||||
Point3(11.487, 2.913, 6.192),
|
||||
Point3(-23.727, -47.344, 6.192)],
|
||||
[Point3(-143.22, -104.727, 6.192),
|
||||
Point3(-152.989, -64.372, 6.192),
|
||||
Point3(-139.328, -6.628, 4.018),
|
||||
Point3(-135.815, -39.935, 3.009)])
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['PATHANIMREL'] = (0,
|
||||
0,
|
||||
1,
|
||||
2)
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['ANIMATIONS'] = ([('wave', 2.0), (None, 1.0)], [('applause', 2.0),
|
||||
('slip-forward', 2.0),
|
||||
(None, 1.0),
|
||||
(None, 1.0)], [('shrug', 2.0),
|
||||
('confused', 2.0),
|
||||
('angry', 2.0),
|
||||
(None, 1.0)])
|
||||
AREA_DATA[ToontownGlobals.TheBrrrgh]['MOVEMODES'] = ([('walk', 1.0), ('running-jump', 0.4)], [('run', 0.4)], [('walk', 1.0), ('sad-walk', 2.5)])
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland] = {}
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['FILMCOUNT'] = 18
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['TIME'] = 85
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['CAMERA_INTIAL_POSTION'] = Point3(0, 50, 20)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['DNA_TRIO'] = ('phase_8/dna/storage_DL_sz.pdna', 'phase_8/dna/storage_DL.pdna', 'phase_8/dna/donalds_dreamland_sz.pdna')
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['TRIPOD_OFFSET'] = Point3(0, 0, 6.0)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['START_HPR'] = Point3(-137.183, -9.06236, 0)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['PATHS'] = ([Point3(-51.222, 90.874, 0.025),
|
||||
Point3(0.715, 94.789, 0.025),
|
||||
Point3(30.715, 94.0, 0.025),
|
||||
Point3(69.181, 93.45, 0.025),
|
||||
Point3(30.715, 94.0, 0.025),
|
||||
Point3(-8.696, 91.799, 0.025)],
|
||||
[Point3(-70.403, 29.575, 2.125),
|
||||
Point3(-68.829, -21.076, 2.125),
|
||||
Point3(-104.669, -24.758, 2.125),
|
||||
Point3(-114.801, 21.777, 2.125)],
|
||||
[Point3(15.923, -41.824, -16.089),
|
||||
Point3(18.217, 34.322, -14.732),
|
||||
Point3(7.087, 61.964, -16.058),
|
||||
Point3(50.447, 8.17, -13.975),
|
||||
Point3(-15.793, -19.916, -14.041),
|
||||
Point3(-26.41, 26.786, -14.371),
|
||||
Point3(20.853, 1.639, -13.975)],
|
||||
[Point3(-35.391, -24.112, -14.241),
|
||||
Point3(-54.364, -12.996, -13.975),
|
||||
Point3(-51.578, 21.964, -14.139),
|
||||
Point3(-10.49, 15.537, -13.974),
|
||||
Point3(-25.728, -14.665, -13.975),
|
||||
Point3(-43.923, -32.324, -14.634)])
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['PATHANIMREL'] = (0,
|
||||
0,
|
||||
1,
|
||||
2)
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['ANIMATIONS'] = ([('wave', 2.0), (None, 1.0)], [('applause', 2.0),
|
||||
('jump', 2.0),
|
||||
('slip-forward', 2.0),
|
||||
(None, 1.0),
|
||||
(None, 1.0)], [('shrug', 2.0), ('angry', 2.0), (None, 1.0)])
|
||||
AREA_DATA[ToontownGlobals.DonaldsDreamland]['MOVEMODES'] = ([('walk', 1.0), ('catch-run', 0.4)], [('run', 0.4), ('running-jump', 0.4)], [('walk', 1.0), ('sad-walk', 2.5)])
|
|
@ -4421,10 +4421,6 @@ TargetGameCountHelp = 'Pound left and right arrows for power, stop to launch'
|
|||
TargetGameFlyHelp = 'Press down to open umbrella'
|
||||
TargetGameFallHelp = 'Use the arrow keys to land on target'
|
||||
TargetGameBounceHelp = ' Bouncing can knock you off target'
|
||||
PhotoGameScoreTaken = '%s: %s\nYou: %s'
|
||||
PhotoGameScoreBlank = 'Score: %s'
|
||||
PhotoGameScoreOther = '\n%s'
|
||||
PhotoGameScoreYou = '\nBest Bonus!'
|
||||
TagGameTitle = 'Tag Game'
|
||||
TagGameInstructions = 'Collect the treasures. You cannot collect treasure when you are IT!'
|
||||
TagGameYouAreIt = 'You Are IT!'
|
||||
|
@ -4443,10 +4439,6 @@ CatchGamePineapples = 'pineapples'
|
|||
CatchGameAnvils = 'anvils'
|
||||
PieTossGameTitle = 'Pie Toss Game'
|
||||
PieTossGameInstructions = 'Toss pies at the targets.'
|
||||
PhotoGameInstructions = 'Capture photos matching the toons shown at the bottom. Aim the camera with the mouse, and left click to take a picture. Press Ctrl to zoom in/out, and look around with the arrow keys. Pictures with higher ratings get more points!'
|
||||
PhotoGameTitle = 'Photo Fun'
|
||||
PhotoGameFilm = 'FILM'
|
||||
PhotoGameScore = 'Team Score: %s\n\nBest Photos: %s\n\nTotal Score: %s'
|
||||
CogThiefGameTitle = 'Cog Thief'
|
||||
CogThiefGameInstructions = 'Stop these Cogs from stealing our Gags! Press the Control key to throw pies. But be careful... they have a tendancy to explode!'
|
||||
CogThiefBarrelsSaved = '%(num)d Barrels\nSaved!'
|
||||
|
|
|
@ -343,7 +343,6 @@ VineGameId = 11
|
|||
IceGameId = 12
|
||||
CogThiefGameId = 13
|
||||
TwoDGameId = 14
|
||||
PhotoGameId = 15
|
||||
MinigameNames = {'race': RaceGameId,
|
||||
'cannon': CannonGameId,
|
||||
'tag': TagGameId,
|
||||
|
@ -360,8 +359,7 @@ MinigameNames = {'race': RaceGameId,
|
|||
'vine': VineGameId,
|
||||
'ice': IceGameId,
|
||||
'thief': CogThiefGameId,
|
||||
'2d': TwoDGameId,
|
||||
'photo': PhotoGameId}
|
||||
'2d': TwoDGameId}
|
||||
MinigameTemplateId = -1
|
||||
MinigameIDs = (RaceGameId,
|
||||
CannonGameId,
|
||||
|
@ -376,13 +374,12 @@ MinigameIDs = (RaceGameId,
|
|||
VineGameId,
|
||||
IceGameId,
|
||||
CogThiefGameId,
|
||||
TwoDGameId,
|
||||
PhotoGameId)
|
||||
TwoDGameId)
|
||||
MinigamePlayerMatrix = {
|
||||
1: (CannonGameId, MazeGameId, TugOfWarGameId, RingGameId, VineGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId, PhotoGameId),
|
||||
2: (CannonGameId, MazeGameId, TugOfWarGameId, PatternGameId, TagGameId, RingGameId, VineGameId, IceGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId, PhotoGameId),
|
||||
3: (CannonGameId, MazeGameId, TugOfWarGameId, PatternGameId, RaceGameId, TagGameId, VineGameId, RingGameId, IceGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId, PhotoGameId),
|
||||
4: (CannonGameId, MazeGameId, TugOfWarGameId, PatternGameId, RaceGameId, TagGameId, VineGameId, RingGameId, IceGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId, PhotoGameId),
|
||||
1: (CannonGameId, MazeGameId, TugOfWarGameId, RingGameId, VineGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId),
|
||||
2: (CannonGameId, MazeGameId, TugOfWarGameId, PatternGameId, TagGameId, RingGameId, VineGameId, IceGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId),
|
||||
3: (CannonGameId, MazeGameId, TugOfWarGameId, PatternGameId, RaceGameId, TagGameId, VineGameId, RingGameId, IceGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId),
|
||||
4: (CannonGameId, MazeGameId, TugOfWarGameId, PatternGameId, RaceGameId, TagGameId, VineGameId, RingGameId, IceGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId),
|
||||
}
|
||||
KeyboardTimeout = 300
|
||||
phaseMap = {Tutorial: 4,
|
||||
|
|
Loading…
Reference in a new issue