removed track shop

This commit is contained in:
Zach 2015-05-30 10:06:50 -05:00
parent ce79646583
commit d962bd6ea0
14 changed files with 69 additions and 205 deletions

View file

@ -3334,7 +3334,7 @@ dclass ClientServicesManager : DistributedObjectGlobal {
requestAvatars() clsend; requestAvatars() clsend;
setAvatars(PotentialToon[]); setAvatars(PotentialToon[]);
createAvatar(blob dna, uint8 thirdTrack, uint8 index) clsend; createAvatar(blob dna, uint8 index) clsend;
createAvatarResp(uint32 avId); createAvatarResp(uint32 avId);
setNameTyped(uint32 avId, string name) clsend; setNameTyped(uint32 avId, string name) clsend;

View file

@ -2,7 +2,7 @@
from pandac.PandaModules import * from pandac.PandaModules import *
hashVal = 3800363077L hashVal = 3796631281L
from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedCogHQExteriorDoor, 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, DistributedCogHQExteriorDoor, 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

View file

@ -20,7 +20,7 @@ class BodyShop(StateData.StateData):
self.speciesChoice = 0 self.speciesChoice = 0
return return
def enter(self, toon): def enter(self, toon, shopsVisited = []):
base.disableMouse() base.disableMouse()
self.toon = toon self.toon = toon
self.dna = self.toon.getStyle() self.dna = self.toon.getStyle()
@ -33,6 +33,11 @@ class BodyShop(StateData.StateData):
self.torsoChoice = ToonDNA.toonTorsoTypes.index(self.dna.torso) % 3 self.torsoChoice = ToonDNA.toonTorsoTypes.index(self.dna.torso) % 3
self.legStart = 0 self.legStart = 0
self.legChoice = ToonDNA.toonLegTypes.index(self.dna.legs) self.legChoice = ToonDNA.toonLegTypes.index(self.dna.legs)
if CLOTHESSHOP in shopsVisited:
self.clothesPicked = 1
else:
self.clothesPicked = 0
self.clothesPicked = 1
if gender == 'm' or ToonDNA.GirlBottoms[self.dna.botTex][1] == ToonDNA.SHORTS: if gender == 'm' or ToonDNA.GirlBottoms[self.dna.botTex][1] == ToonDNA.SHORTS:
torsoStyle = 's' torsoStyle = 's'
torsoPool = ToonDNA.toonTorsoTypes[:3] torsoPool = ToonDNA.toonTorsoTypes[:3]
@ -163,7 +168,10 @@ class BodyShop(StateData.StateData):
def __swapTorso(self, offset): def __swapTorso(self, offset):
gender = self.toon.style.getGender() gender = self.toon.style.getGender()
if gender == 'm': if not self.clothesPicked:
length = len(ToonDNA.toonTorsoTypes[6:])
torsoOffset = 6
elif gender == 'm':
length = len(ToonDNA.toonTorsoTypes[:3]) length = len(ToonDNA.toonTorsoTypes[:3])
torsoOffset = 0 torsoOffset = 0
if self.dna.armColor not in ToonDNA.defaultBoyColorList: if self.dna.armColor not in ToonDNA.defaultBoyColorList:

View file

@ -26,7 +26,7 @@ class ColorShop(StateData.StateData):
return colorList return colorList
def enter(self, toon): def enter(self, toon, shopsVisited = []):
base.disableMouse() base.disableMouse()
self.toon = toon self.toon = toon
self.dna = toon.getStyle() self.dna = toon.getStyle()

View file

@ -14,6 +14,7 @@ class GenderShop(StateData.StateData):
def __init__(self, makeAToon, doneEvent): def __init__(self, makeAToon, doneEvent):
StateData.StateData.__init__(self, doneEvent) StateData.StateData.__init__(self, doneEvent)
self.shopsVisited = []
self.toon = None self.toon = None
self.gender = 'm' self.gender = 'm'
self.makeAToon = makeAToon self.makeAToon = makeAToon

View file

@ -7,8 +7,14 @@ from direct.gui.DirectGui import *
from direct.interval.IntervalGlobal import * from direct.interval.IntervalGlobal import *
from direct.task import Task from direct.task import Task
from pandac.PandaModules import * from pandac.PandaModules import *
import random, BodyShop, ColorShop, GenderShop, MakeClothesGUI, TrackShop, NameShop import random
import BodyShop
import ColorShop
import GenderShop
from MakeAToonGlobals import * from MakeAToonGlobals import *
import MakeClothesGUI
import NameShop
from otp.avatar import Avatar from otp.avatar import Avatar
from toontown.chat.ChatGlobals import * from toontown.chat.ChatGlobals import *
from toontown.distributed.ToontownMsgTypes import * from toontown.distributed.ToontownMsgTypes import *
@ -41,7 +47,6 @@ class MakeAToon(StateData.StateData):
self.slide = 0 self.slide = 0
self.nameList = [] self.nameList = []
self.warp = 0 self.warp = 0
self.visitedGenderShop = 0
for av in avList: for av in avList:
if av.position == index: if av.position == index:
self.warp = 1 self.warp = 1
@ -52,9 +57,8 @@ class MakeAToon(StateData.StateData):
State.State('GenderShop', self.enterGenderShop, self.exitGenderShop, ['BodyShop']), State.State('GenderShop', self.enterGenderShop, self.exitGenderShop, ['BodyShop']),
State.State('BodyShop', self.enterBodyShop, self.exitBodyShop, ['GenderShop', 'ColorShop']), State.State('BodyShop', self.enterBodyShop, self.exitBodyShop, ['GenderShop', 'ColorShop']),
State.State('ColorShop', self.enterColorShop, self.exitColorShop, ['BodyShop', 'ClothesShop']), State.State('ColorShop', self.enterColorShop, self.exitColorShop, ['BodyShop', 'ClothesShop']),
State.State('ClothesShop', self.enterClothesShop, self.exitClothesShop, ['ColorShop', 'TrackShop']), State.State('ClothesShop', self.enterClothesShop, self.exitClothesShop, ['ColorShop', 'NameShop']),
State.State('TrackShop', self.enterTrackShop, self.exitTrackShop, ['ClothesShop', 'NameShop']), State.State('NameShop', self.enterNameShop, self.exitNameShop, ['ClothesShop']),
State.State('NameShop', self.enterNameShop, self.exitNameShop, ['TrackShop']),
State.State('Done', self.enterDone, self.exitDone, [])], 'Init', 'Done') State.State('Done', self.enterDone, self.exitDone, [])], 'Init', 'Done')
self.parentFSM = parentFSM self.parentFSM = parentFSM
self.parentFSM.getStateNamed('createAvatar').addChild(self.fsm) self.parentFSM.getStateNamed('createAvatar').addChild(self.fsm)
@ -62,9 +66,16 @@ class MakeAToon(StateData.StateData):
self.bs = BodyShop.BodyShop('BodyShop-done') self.bs = BodyShop.BodyShop('BodyShop-done')
self.cos = ColorShop.ColorShop('ColorShop-done') self.cos = ColorShop.ColorShop('ColorShop-done')
self.cls = MakeClothesGUI.MakeClothesGUI('ClothesShop-done') self.cls = MakeClothesGUI.MakeClothesGUI('ClothesShop-done')
self.ts = TrackShop.TrackShop('TrackShop-done') self.ns = NameShop.NameShop(self, 'NameShop-done', avList, index, True)
self.ns = NameShop.NameShop(self, 'NameShop-done', avList, index)
self.shop = GENDERSHOP self.shop = GENDERSHOP
self.shopsVisited = []
if self.warp:
self.shopsVisited = [
GENDERSHOP,
BODYSHOP,
COLORSHOP,
CLOTHESSHOP,
]
self.music = None self.music = None
self.soundBack = None self.soundBack = None
self.fsm.enterInitialState() self.fsm.enterInitialState()
@ -299,13 +310,11 @@ class MakeAToon(StateData.StateData):
self.bs.unload() self.bs.unload()
self.cos.unload() self.cos.unload()
self.cls.unload() self.cls.unload()
self.ts.unload()
self.ns.unload() self.ns.unload()
del self.gs del self.gs
del self.bs del self.bs
del self.cos del self.cos
del self.cls del self.cls
del self.ts
del self.ns del self.ns
self.guiTopBar.destroy() self.guiTopBar.destroy()
self.guiBottomBar.destroy() self.guiBottomBar.destroy()
@ -398,6 +407,7 @@ class MakeAToon(StateData.StateData):
def __handleCancel(self): def __handleCancel(self):
self.doneStatus = 'cancel' self.doneStatus = 'cancel'
self.shopsVisited = []
base.transitions.fadeOut(finishIval=EventInterval(self.doneEvent)) base.transitions.fadeOut(finishIval=EventInterval(self.doneEvent))
def toggleSlide(self): def toggleSlide(self):
@ -411,8 +421,6 @@ class MakeAToon(StateData.StateData):
self.fsm.request('ColorShop') self.fsm.request('ColorShop')
elif self.shop == COLORSHOP: elif self.shop == COLORSHOP:
self.fsm.request('ClothesShop') self.fsm.request('ClothesShop')
elif self.shop == CLOTHESSHOP:
self.fsm.request('TrackShop')
else: else:
self.fsm.request('NameShop') self.fsm.request('NameShop')
@ -424,10 +432,8 @@ class MakeAToon(StateData.StateData):
self.fsm.request('BodyShop') self.fsm.request('BodyShop')
elif self.shop == CLOTHESSHOP: elif self.shop == CLOTHESSHOP:
self.fsm.request('ColorShop') self.fsm.request('ColorShop')
elif self.shop == TRACKSHOP: else:
self.fsm.request('ClothesShop') self.fsm.request('ClothesShop')
elif self.shop == NAMESHOP:
self.fsm.request('TrackShop')
def enterInit(self): def enterInit(self):
pass pass
@ -437,14 +443,14 @@ class MakeAToon(StateData.StateData):
def enterGenderShop(self): def enterGenderShop(self):
self.shop = GENDERSHOP self.shop = GENDERSHOP
if self.visitedGenderShop: if GENDERSHOP not in self.shopsVisited:
self.dropRoom(self.genderWalls, self.genderProps) self.shopsVisited.append(GENDERSHOP)
else:
self.genderWalls.reparentTo(self.squishJoint) self.genderWalls.reparentTo(self.squishJoint)
self.genderProps.reparentTo(self.propJoint) self.genderProps.reparentTo(self.propJoint)
self.roomSquishActor.pose('squish', 0) self.roomSquishActor.pose('squish', 0)
self.guiNextButton['state'] = DGG.DISABLED self.guiNextButton['state'] = DGG.DISABLED
self.visitedGenderShop = True else:
self.dropRoom(self.genderWalls, self.genderProps)
self.guiTopBar['text'] = TTLocalizer.CreateYourToonTitle self.guiTopBar['text'] = TTLocalizer.CreateYourToonTitle
self.guiTopBar['text_fg'] = (1, 0.92, 0.2, 1) self.guiTopBar['text_fg'] = (1, 0.92, 0.2, 1)
self.guiTopBar['text_scale'] = TTLocalizer.MATenterGenderShop self.guiTopBar['text_scale'] = TTLocalizer.MATenterGenderShop
@ -482,7 +488,9 @@ class MakeAToon(StateData.StateData):
self.guiTopBar['text_scale'] = TTLocalizer.MATenterBodyShop self.guiTopBar['text_scale'] = TTLocalizer.MATenterBodyShop
self.accept('BodyShop-done', self.__handleBodyShopDone) self.accept('BodyShop-done', self.__handleBodyShopDone)
self.dropRoom(self.bodyWalls, self.bodyProps) self.dropRoom(self.bodyWalls, self.bodyProps)
self.bs.enter(self.toon) self.bs.enter(self.toon, self.shopsVisited)
if BODYSHOP not in self.shopsVisited:
self.shopsVisited.append(BODYSHOP)
self.bodyShopOpening() self.bodyShopOpening()
def exitBodyShop(self): def exitBodyShop(self):
@ -517,7 +525,9 @@ class MakeAToon(StateData.StateData):
self.dropRoom(self.colorWalls, self.colorProps) self.dropRoom(self.colorWalls, self.colorProps)
self.toon.setPos(self.toonPosition) self.toon.setPos(self.toonPosition)
self.colorShopOpening() self.colorShopOpening()
self.cos.enter(self.toon) self.cos.enter(self.toon, self.shopsVisited)
if COLORSHOP not in self.shopsVisited:
self.shopsVisited.append(COLORSHOP)
def exitColorShop(self): def exitColorShop(self):
self.squishRoom(self.colorWalls) self.squishRoom(self.colorWalls)
@ -555,6 +565,8 @@ class MakeAToon(StateData.StateData):
self.toon.setHpr(self.toonHpr) self.toon.setHpr(self.toonHpr)
self.clothesShopOpening() self.clothesShopOpening()
self.cls.enter(self.toon) self.cls.enter(self.toon)
if CLOTHESSHOP not in self.shopsVisited:
self.shopsVisited.append(CLOTHESSHOP)
def exitClothesShop(self): def exitClothesShop(self):
self.squishRoom(self.clothesWalls) self.squishRoom(self.clothesWalls)
@ -571,50 +583,14 @@ class MakeAToon(StateData.StateData):
else: else:
self.cls.hideButtons() self.cls.hideButtons()
self.goToLastShop() self.goToLastShop()
def trackShopOpening(self):
self.guiNextButton.show()
self.guiLastButton.show()
self.ts.load()
self.ts.showButtons()
def enterTrackShop(self):
self.shop = TRACKSHOP
self.guiTopBar['text'] = TTLocalizer.PickTrackTitle
self.guiTopBar['text_fg'] = (0.607, 0.06, 0.117, 1)
self.guiTopBar['text_scale'] = TTLocalizer.MATenterTrackShop
self.accept('TrackShop-done', self.__handleTrackShopDone)
self.dropRoom(self.genderWalls, self.genderProps)
self.toon.setScale(self.toonScale)
self.spotlight.setPos(2, -1.95, 0.41)
self.toon.setPos(Point3(1.5, -4, 0))
self.toon.setH(120)
self.rotateLeftButton.hide()
self.rotateRightButton.hide()
self.trackShopOpening()
self.ts.enter()
def exitTrackShop(self):
self.squishRoom(self.genderWalls)
self.squishProp(self.genderProps)
self.ts.exit()
self.ignore('TrackShop-done')
def __handleTrackShopDone(self):
self.guiNextButton.hide()
self.guiLastButton.hide()
self.ts.hideButtons()
self.ns.thirdTrack = self.ts.index
if self.ts.doneStatus == 'next':
self.goToNextShop()
else:
self.goToLastShop()
def nameShopOpening(self, task): def nameShopOpening(self, task):
self.guiCheckButton.show() self.guiCheckButton.show()
self.guiLastButton.show() self.guiLastButton.show()
if self.warp: if self.warp:
self.guiLastButton.hide() self.guiLastButton.hide()
if NAMESHOP not in self.shopsVisited:
self.shopsVisited.append(NAMESHOP)
return Task.done return Task.done
def enterNameShop(self): def enterNameShop(self):
@ -624,6 +600,11 @@ class MakeAToon(StateData.StateData):
self.guiTopBar['text_scale'] = TTLocalizer.MATenterNameShop self.guiTopBar['text_scale'] = TTLocalizer.MATenterNameShop
self.accept('NameShop-done', self.__handleNameShopDone) self.accept('NameShop-done', self.__handleNameShopDone)
self.dropRoom(self.nameWalls, self.nameProps) self.dropRoom(self.nameWalls, self.nameProps)
self.spotlight.setPos(2, -1.95, 0.41)
self.toon.setPos(Point3(1.5, -4, 0))
self.toon.setH(120)
self.rotateLeftButton.hide()
self.rotateRightButton.hide()
if self.progressing: if self.progressing:
waittime = self.leftTime waittime = self.leftTime
else: else:

View file

@ -2,8 +2,7 @@ GENDERSHOP = 1
BODYSHOP = 2 BODYSHOP = 2
COLORSHOP = 3 COLORSHOP = 3
CLOTHESSHOP = 4 CLOTHESSHOP = 4
TRACKSHOP = 5 NAMESHOP = 5
NAMESHOP = 6
halfButtonScale = (0.6, 0.6, 0.6) halfButtonScale = (0.6, 0.6, 0.6)
halfButtonHoverScale = (0.7, 0.7, 0.7) halfButtonHoverScale = (0.7, 0.7, 0.7)
halfButtonInvertScale = (-0.6, 0.6, 0.6) halfButtonInvertScale = (-0.6, 0.6, 0.6)

View file

@ -30,13 +30,15 @@ ServerDialogTimeout = 3.0
class NameShop(StateData.StateData): class NameShop(StateData.StateData):
notify = DirectNotifyGlobal.directNotify.newCategory('NameShop') notify = DirectNotifyGlobal.directNotify.newCategory('NameShop')
def __init__(self, makeAToon, doneEvent, avList, index): def __init__(self, makeAToon, doneEvent, avList, index, isPaid):
StateData.StateData.__init__(self, doneEvent) StateData.StateData.__init__(self, doneEvent)
self.makeAToon = makeAToon self.makeAToon = makeAToon
self.avList = avList self.avList = avList
self.index = index self.index = index
self.shopsVisited = []
self.avId = -1 self.avId = -1
self.avExists = 0 self.avExists = 0
self.isPaid = isPaid
self.names = ['', self.names = ['',
'', '',
'', '',
@ -531,6 +533,9 @@ class NameShop(StateData.StateData):
return problem return problem
return None return None
def setShopsVisited(self, list):
self.shopsVisited = list
def __handleDone(self): def __handleDone(self):
if self.fsm.getCurrentState().getName() == 'TypeAName': if self.fsm.getCurrentState().getName() == 'TypeAName':
self.__typedAName() self.__typedAName()
@ -887,7 +892,7 @@ class NameShop(StateData.StateData):
self.newDNA = style.makeNetString() self.newDNA = style.makeNetString()
self.requestingSkipTutorial = skipTutorial self.requestingSkipTutorial = skipTutorial
if not self.avExists or self.avExists and self.avId == 'deleteMe': if not self.avExists or self.avExists and self.avId == 'deleteMe':
base.cr.csm.sendCreateAvatar(style, self.thirdTrack, self.index) base.cr.csm.sendCreateAvatar(style, '', self.index)
self.accept('nameShopCreateAvatarDone', self.handleCreateAvatarResponse) self.accept('nameShopCreateAvatarDone', self.handleCreateAvatarResponse)
else: else:
self.checkNameTyped() self.checkNameTyped()
@ -958,4 +963,4 @@ class NameShop(StateData.StateData):
if base.config.GetBool('want-qa-regression', 0): if base.config.GetBool('want-qa-regression', 0):
self.notify.info('QA-REGRESSION: SKIPTUTORIAL: Skip Tutorial') self.notify.info('QA-REGRESSION: SKIPTUTORIAL: Skip Tutorial')
self.__handleSkipTutorial() self.__handleSkipTutorial()
self.promptTutorialDialog.destroy() self.promptTutorialDialog.destroy()

View file

@ -1,105 +0,0 @@
from pandac.PandaModules import *
from direct.fsm import StateData
from direct.gui.DirectGui import *
from toontown.toonbase import TTLocalizer, ToontownGlobals
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase.ToontownBattleGlobals import AvPropsNew
class TrackShop(StateData.StateData):
notify = DirectNotifyGlobal.directNotify.newCategory('TrackShop')
def __init__(self, doneEvent):
StateData.StateData.__init__(self, doneEvent)
self.quest = None
self.label = None
self.leftButton = None
self.rightButton = None
self.track = None
self.icon = None
self.loaded = False
self.index = 0
return
def enter(self):
base.disableMouse()
self.acceptOnce('last', self.__handleBackward)
self.acceptOnce('next', self.__handleForward)
def showButtons(self):
for element in [self.quest, self.label, self.leftButton, self.rightButton, self.track, self.icon]:
element.show()
def hideButtons(self):
for element in [self.quest, self.label, self.leftButton, self.rightButton, self.track, self.icon]:
element.hide()
def exit(self):
self.ignore('last')
self.ignore('next')
self.hideButtons()
def load(self):
if self.loaded:
return
self.loaded = True
self.questGui = loader.loadModel('phase_3.5/models/gui/stickerbook_gui')
self.inventoryGui = loader.loadModel('phase_3.5/models/gui/inventory_icons')
self.buttonGui = loader.loadModel('phase_3/models/gui/tt_m_gui_mat_mainGui')
self.shuffleArrowUp = self.buttonGui.find('**/tt_t_gui_mat_shuffleArrowUp')
self.shuffleArrowDown = self.buttonGui.find('**/tt_t_gui_mat_shuffleArrowDown')
self.quest = DirectFrame(aspect2d, relief=None, image=self.questGui.find('**/questCard'),
pos=(-0.62, 0, 0), image_scale=1.5)
self.label = DirectLabel(aspect2d, relief=None, text=TTLocalizer.PickTrackNotice,
text_fg=(0, 1, 0, 1), text_scale=0.12, text_font=ToontownGlobals.getToonFont(),
pos=(-0.62, 0, 0.45), text_shadow=(0, 0.392, 0, 1))
self.leftButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown),
pos=(-1.2, 0, -0.05), command=self.handleSetIndex, extraArgs=[-1])
self.rightButton = DirectButton(aspect2d, relief=None, image=(self.shuffleArrowUp, self.shuffleArrowDown),
pos=(-0.05, 0, -0.05), scale=-1, command=self.handleSetIndex, extraArgs=[1])
self.track = DirectLabel(aspect2d, relief=None, text='',
text_scale=0.11, text_font=ToontownGlobals.getSignFont(),
pos=(-0.64, 0, -0.08), text_shadow=(1, 1, 1, 1))
self.icon = DirectFrame(aspect2d, relief=None, pos=(-0.65, 0, -0.3), image_scale=1.5)
self.updateGuiByIndex()
def unload(self):
for element in [self.quest, self.label, self.leftButton, self.rightButton, self.track, self.icon]:
if element:
element.destroy()
del element
self.index = 0
self.loaded = False
def handleSetIndex(self, offset):
newIndex = self.index + offset
if newIndex == 4:
self.index = 6
elif newIndex == 5:
self.index = 3
elif newIndex > -1 and newIndex < len(ToontownGlobals.PropIdToColor):
self.index = newIndex
self.updateGuiByIndex()
def updateGuiByIndex(self):
self.track['text'] = TTLocalizer.PropIdToName[self.index]
self.track['text_fg'] = ToontownGlobals.PropIdToColor[self.index]
self.icon['image'] = self.inventoryGui.find('**/' + AvPropsNew[self.index][0])
def __handleForward(self):
self.doneStatus = 'next'
messenger.send(self.doneEvent)
def __handleBackward(self):
self.doneStatus = 'last'
messenger.send(self.doneEvent)

View file

@ -6,6 +6,7 @@ OL.SpeedChatStaticText = OL.SpeedChatStaticTextToontown.copy()
for key in OL.SpeedChatStaticTextCommon.iterkeys(): for key in OL.SpeedChatStaticTextCommon.iterkeys():
OL.SpeedChatStaticText[key] = OL.SpeedChatStaticTextCommon[key] OL.SpeedChatStaticText[key] = OL.SpeedChatStaticTextCommon[key]
commitmantst = 'kptmptest - removable'
InterfaceFont = 'phase_3/models/fonts/ImpressBT.ttf' InterfaceFont = 'phase_3/models/fonts/ImpressBT.ttf'
ToonFont = 'phase_3/models/fonts/ImpressBT.ttf' ToonFont = 'phase_3/models/fonts/ImpressBT.ttf'
SuitFont = 'phase_3/models/fonts/vtRemingtonPortable.ttf' SuitFont = 'phase_3/models/fonts/vtRemingtonPortable.ttf'
@ -8346,8 +8347,6 @@ LanguageSelectorAvailable = 'Available languages:'
LanguageSelectorBack = 'Back' LanguageSelectorBack = 'Back'
LanguageSelectorConfirm = 'Are you sure you want to change your language to %s? This will close your game.' LanguageSelectorConfirm = 'Are you sure you want to change your language to %s? This will close your game.'
LanguageSelectorSameLanguage = "You're already using that language!" LanguageSelectorSameLanguage = "You're already using that language!"
PickTrackTitle = 'Pick your third track!'
PickTrackNotice = 'Choose a track!'
CogLevelLabelOn = 'The cog level GUI is on.' CogLevelLabelOn = 'The cog level GUI is on.'
CogLevelLabelOff = 'The cog level GUI is off.' CogLevelLabelOff = 'The cog level GUI is off.'
@ -8391,10 +8390,6 @@ def getPetName(uniqueID):
except: except:
return PetNameDictionary[0] return PetNameDictionary[0]
def getPropNameById(id):
if id == 0:
return MovieNPCSOSTo
def getRandomPetName(gender = None, seed = None): def getRandomPetName(gender = None, seed = None):
if seed is not None: if seed is not None:
random.seed(seed) random.seed(seed)
@ -8415,7 +8410,6 @@ def getPetNameId(name):
return 0 return 0
PropIdToName = [InventoryHealString, MovieNPCSOSTrap, MovieNPCSOSLure, MovieNPCSOSSound, MovieNPCSOSThrow, MovieNPCSOSSquirt, MovieNPCSOSDrop]
DonaldChatter = ["I'm glad you're here today!", DonaldChatter = ["I'm glad you're here today!",
"You look like you're having fun.", "You look like you're having fun.",
"Oh boy, I'm having a good day.", "Oh boy, I'm having a good day.",

View file

@ -113,7 +113,6 @@ MATenterGenderShop = 0.18
MATenterBodyShop = 0.18 MATenterBodyShop = 0.18
MATenterColorShop = 0.18 MATenterColorShop = 0.18
MATenterClothesShop = 0.16 MATenterClothesShop = 0.16
MATenterTrackShop = 0.16
MATenterNameShop = 0.15 MATenterNameShop = 0.15
MATclothesGUIshirt_scale = 0.06 MATclothesGUIshirt_scale = 0.06
MATclothesGUIshirt_posL = 0.01 MATclothesGUIshirt_posL = 0.01

View file

@ -1631,16 +1631,6 @@ BMovementSpeedMultiplier = 1.3
BGagAccuracy = 1 BGagAccuracy = 1
BGagAccuracyMultiplier = 1.3 BGagAccuracyMultiplier = 1.3
PropIdToColor = [
(0.772, 0.353, 0.91, 1),
(0.91, 0.9, 0.353, 1),
(0.2, 0.741, 0.207, 1),
(0.24, 0.364, 0.921, 1),
(0.93, 0.623, 0.196, 1),
(0.96, 0.356, 0.839, 1),
(0.196, 0.917, 0.929, 1)
]
BugReportSite = 'https://bugs.launchpad.net/toontown-united/+filebug' BugReportSite = 'https://bugs.launchpad.net/toontown-united/+filebug'
CostPerLaffRestock = 3 CostPerLaffRestock = 3
FISHSALE_NONE = 0 FISHSALE_NONE = 0

View file

@ -51,8 +51,8 @@ class ClientServicesManager(DistributedObjectGlobal):
self.cr.handleAvatarsList(avList) self.cr.handleAvatarsList(avList)
# --- AVATAR CREATION/DELETION --- # --- AVATAR CREATION/DELETION ---
def sendCreateAvatar(self, avDNA, thirdTrack, index): def sendCreateAvatar(self, avDNA, _, index):
self.sendUpdate('createAvatar', [avDNA.makeNetString(), thirdTrack, index]) self.sendUpdate('createAvatar', [avDNA.makeNetString(), index])
def createAvatarResp(self, avId): def createAvatarResp(self, avId):
messenger.send('nameShopCreateAvatarDone', [avId]) messenger.send('nameShopCreateAvatarDone', [avId])

View file

@ -459,9 +459,9 @@ class LoginAccountFSM(OperationFSM):
class CreateAvatarFSM(OperationFSM): class CreateAvatarFSM(OperationFSM):
notify = directNotify.newCategory('CreateAvatarFSM') notify = directNotify.newCategory('CreateAvatarFSM')
def enterStart(self, dna, thirdTrack, index): def enterStart(self, dna, index):
# Basic sanity-checking: # Basic sanity-checking:
if index < 0 or index >= 6: if index >= 6:
self.demand('Kill', 'Invalid index specified!') self.demand('Kill', 'Invalid index specified!')
return return
@ -469,13 +469,8 @@ class CreateAvatarFSM(OperationFSM):
self.demand('Kill', 'Invalid DNA specified!') self.demand('Kill', 'Invalid DNA specified!')
return return
if thirdTrack < 0 or thirdTrack == 4 or thirdTrack == 5 or thirdTrack >= 7:
self.demand('Kill', 'Invalid third track specified!')
return
self.index = index self.index = index
self.dna = dna self.dna = dna
self.thirdTrack = thirdTrack
# Okay, we're good to go, let's query their account. # Okay, we're good to go, let's query their account.
self.demand('RetrieveAccount') self.demand('RetrieveAccount')
@ -510,15 +505,12 @@ class CreateAvatarFSM(OperationFSM):
colorString = TTLocalizer.NumToColor[dna.headColor] colorString = TTLocalizer.NumToColor[dna.headColor]
animalType = TTLocalizer.AnimalToSpecies[dna.getAnimal()] animalType = TTLocalizer.AnimalToSpecies[dna.getAnimal()]
name = ' '.join((colorString, animalType)) name = ' '.join((colorString, animalType))
trackAccess = [0, 0, 0, 0, 1, 1, 0]
trackAccess[self.thirdTrack] = 1
toonFields = { toonFields = {
'setName': (name,), 'setName': (name,),
'WishNameState': ('OPEN',), 'WishNameState': ('OPEN',),
'WishName': ('',), 'WishName': ('',),
'setDNAString': (self.dna,), 'setDNAString': (self.dna,),
'setDISLid': (self.target,), 'setDISLid': (self.target,),
'setTrackAccess': (trackAccess,)
} }
self.csm.air.dbInterface.createObject( self.csm.air.dbInterface.createObject(
self.csm.air.dbId, self.csm.air.dbId,
@ -1119,8 +1111,8 @@ class ClientServicesManagerUD(DistributedObjectGlobalUD):
self.notify.debug('Received avatar list request from %d' % (self.air.getMsgSender())) self.notify.debug('Received avatar list request from %d' % (self.air.getMsgSender()))
self.runAccountFSM(GetAvatarsFSM) self.runAccountFSM(GetAvatarsFSM)
def createAvatar(self, dna, thirdTrack, index): def createAvatar(self, dna, index):
self.runAccountFSM(CreateAvatarFSM, dna, thirdTrack, index) self.runAccountFSM(CreateAvatarFSM, dna, index)
def deleteAvatar(self, avId): def deleteAvatar(self, avId):
self.runAccountFSM(DeleteAvatarFSM, avId) self.runAccountFSM(DeleteAvatarFSM, avId)