Photo Game holocaust

This commit is contained in:
DenialMC 2015-05-10 20:07:09 +03:00
parent 70e2f91ea1
commit 5d3e6a2f66
10 changed files with 10 additions and 2190 deletions

View file

@ -286,7 +286,6 @@ from toontown.minigame import DistributedMinigame/AI
from toontown.minigame import DistributedMinigameTemplate/AI from toontown.minigame import DistributedMinigameTemplate/AI
from toontown.minigame import DistributedRaceGame/AI from toontown.minigame import DistributedRaceGame/AI
from toontown.minigame import DistributedCannonGame/AI from toontown.minigame import DistributedCannonGame/AI
from toontown.minigame import DistributedPhotoGame/AI
from toontown.minigame import DistributedPatternGame/AI from toontown.minigame import DistributedPatternGame/AI
from toontown.minigame import DistributedRingGame/AI from toontown.minigame import DistributedRingGame/AI
from toontown.minigame import DistributedTagGame/AI from toontown.minigame import DistributedTagGame/AI
@ -1213,12 +1212,6 @@ dclass DistributedCannonGame : DistributedMinigame {
announceToonWillLandInWater(uint32, int32/100) broadcast; 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 { dclass DistributedPatternGame : DistributedMinigame {
reportPlayerReady() airecv clsend; reportPlayerReady() airecv clsend;
setPattern(uint8[]) broadcast; setPattern(uint8[]) broadcast;

View file

@ -75,7 +75,6 @@ want-butterflies #f
# Trolley minigames: # Trolley minigames:
want-minigames #t want-minigames #t
want-photo-game #t
# Picnic table board games: # Picnic table board games:
want-game-tables #t want-game-tables #t

View file

@ -2,7 +2,7 @@
from pandac.PandaModules import * 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 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.effects import DistributedFireworkShow
from toontown.safezone import DistributedTrolley, DistributedPartyGate, DistributedBoat, DistributedButterfly, DistributedMMPiano, DistributedDGFlower, DistributedFishingSpot, SafeZoneManager, DistributedTreasure, DistributedGolfKart, DistributedPicnicBasket, DistributedPicnicTable, DistributedChineseCheckers, DistributedCheckers, DistributedFindFour 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.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.racing import DistributedVehicle, DistributedStartingBlock, DistributedRace, DistributedKartPad, DistributedRacePad, DistributedViewPad, DistributedStartingBlock, DistributedLeaderBoard, DistributedGag, DistributedProjectile
from toontown.catalog import CatalogManager, AccountDate from toontown.catalog import CatalogManager, AccountDate
from toontown.rpc.AwardManager import AwardManager from toontown.rpc.AwardManager import AwardManager

File diff suppressed because it is too large Load diff

View file

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

View file

@ -11,7 +11,6 @@ import DistributedIceGameAI
import DistributedMazeGameAI import DistributedMazeGameAI
import DistributedMinigameTemplateAI import DistributedMinigameTemplateAI
import DistributedPatternGameAI import DistributedPatternGameAI
import DistributedPhotoGameAI
import DistributedRaceGameAI import DistributedRaceGameAI
import DistributedRingGameAI import DistributedRingGameAI
import DistributedTagGameAI import DistributedTagGameAI
@ -69,8 +68,7 @@ def createMinigame(air, playerArray, trolleyZone, minigameZone=None,
ToontownGlobals.VineGameId: DistributedVineGameAI.DistributedVineGameAI, ToontownGlobals.VineGameId: DistributedVineGameAI.DistributedVineGameAI,
ToontownGlobals.IceGameId: DistributedIceGameAI.DistributedIceGameAI, ToontownGlobals.IceGameId: DistributedIceGameAI.DistributedIceGameAI,
ToontownGlobals.CogThiefGameId: DistributedCogThiefGameAI.DistributedCogThiefGameAI, ToontownGlobals.CogThiefGameId: DistributedCogThiefGameAI.DistributedCogThiefGameAI,
ToontownGlobals.TwoDGameId: DistributedTwoDGameAI.DistributedTwoDGameAI, ToontownGlobals.TwoDGameId: DistributedTwoDGameAI.DistributedTwoDGameAI
ToontownGlobals.PhotoGameId: DistributedPhotoGameAI.DistributedPhotoGameAI
} }
try: try:
mg = mgCtors[mgId](air, mgId) mg = mgCtors[mgId](air, mgId)

View file

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

View file

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

View file

@ -4421,10 +4421,6 @@ TargetGameCountHelp = 'Pound left and right arrows for power, stop to launch'
TargetGameFlyHelp = 'Press down to open umbrella' TargetGameFlyHelp = 'Press down to open umbrella'
TargetGameFallHelp = 'Use the arrow keys to land on target' TargetGameFallHelp = 'Use the arrow keys to land on target'
TargetGameBounceHelp = ' Bouncing can knock you off 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' TagGameTitle = 'Tag Game'
TagGameInstructions = 'Collect the treasures. You cannot collect treasure when you are IT!' TagGameInstructions = 'Collect the treasures. You cannot collect treasure when you are IT!'
TagGameYouAreIt = 'You Are IT!' TagGameYouAreIt = 'You Are IT!'
@ -4443,10 +4439,6 @@ CatchGamePineapples = 'pineapples'
CatchGameAnvils = 'anvils' CatchGameAnvils = 'anvils'
PieTossGameTitle = 'Pie Toss Game' PieTossGameTitle = 'Pie Toss Game'
PieTossGameInstructions = 'Toss pies at the targets.' 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' 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!' 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!' CogThiefBarrelsSaved = '%(num)d Barrels\nSaved!'

View file

@ -343,7 +343,6 @@ VineGameId = 11
IceGameId = 12 IceGameId = 12
CogThiefGameId = 13 CogThiefGameId = 13
TwoDGameId = 14 TwoDGameId = 14
PhotoGameId = 15
MinigameNames = {'race': RaceGameId, MinigameNames = {'race': RaceGameId,
'cannon': CannonGameId, 'cannon': CannonGameId,
'tag': TagGameId, 'tag': TagGameId,
@ -360,8 +359,7 @@ MinigameNames = {'race': RaceGameId,
'vine': VineGameId, 'vine': VineGameId,
'ice': IceGameId, 'ice': IceGameId,
'thief': CogThiefGameId, 'thief': CogThiefGameId,
'2d': TwoDGameId, '2d': TwoDGameId}
'photo': PhotoGameId}
MinigameTemplateId = -1 MinigameTemplateId = -1
MinigameIDs = (RaceGameId, MinigameIDs = (RaceGameId,
CannonGameId, CannonGameId,
@ -376,13 +374,12 @@ MinigameIDs = (RaceGameId,
VineGameId, VineGameId,
IceGameId, IceGameId,
CogThiefGameId, CogThiefGameId,
TwoDGameId, TwoDGameId)
PhotoGameId)
MinigamePlayerMatrix = { MinigamePlayerMatrix = {
1: (CannonGameId, MazeGameId, TugOfWarGameId, RingGameId, VineGameId, 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, PhotoGameId), 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, PhotoGameId), 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, PhotoGameId), 4: (CannonGameId, MazeGameId, TugOfWarGameId, PatternGameId, RaceGameId, TagGameId, VineGameId, RingGameId, IceGameId, CogThiefGameId, TwoDGameId, DivingGameId, CatchGameId, TargetGameId),
} }
KeyboardTimeout = 300 KeyboardTimeout = 300
phaseMap = {Tutorial: 4, phaseMap = {Tutorial: 4,