diff --git a/dependencies/astron/dclass/stride.dc b/dependencies/astron/dclass/stride.dc index 4202e94b..5b1874f6 100644 --- a/dependencies/astron/dclass/stride.dc +++ b/dependencies/astron/dclass/stride.dc @@ -3334,7 +3334,7 @@ dclass ClientServicesManager : DistributedObjectGlobal { requestAvatars() clsend; setAvatars(PotentialToon[]); - createAvatar(blob dna, uint8 thirdTrack, uint8 index) clsend; + createAvatar(blob dna, uint8 index) clsend; createAvatarResp(uint32 avId); setNameTyped(uint32 avId, string name) clsend; diff --git a/otp/distributed/DCClassImports.py b/otp/distributed/DCClassImports.py index 5eeef3eb..291d5b73 100644 --- a/otp/distributed/DCClassImports.py +++ b/otp/distributed/DCClassImports.py @@ -2,7 +2,7 @@ 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 diff --git a/toontown/makeatoon/BodyShop.py b/toontown/makeatoon/BodyShop.py index 8728c8e9..1c33a033 100755 --- a/toontown/makeatoon/BodyShop.py +++ b/toontown/makeatoon/BodyShop.py @@ -20,7 +20,7 @@ class BodyShop(StateData.StateData): self.speciesChoice = 0 return - def enter(self, toon): + def enter(self, toon, shopsVisited = []): base.disableMouse() self.toon = toon self.dna = self.toon.getStyle() @@ -33,6 +33,11 @@ class BodyShop(StateData.StateData): self.torsoChoice = ToonDNA.toonTorsoTypes.index(self.dna.torso) % 3 self.legStart = 0 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: torsoStyle = 's' torsoPool = ToonDNA.toonTorsoTypes[:3] @@ -163,7 +168,10 @@ class BodyShop(StateData.StateData): def __swapTorso(self, offset): 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]) torsoOffset = 0 if self.dna.armColor not in ToonDNA.defaultBoyColorList: diff --git a/toontown/makeatoon/ColorShop.py b/toontown/makeatoon/ColorShop.py index 5385782e..5e7d2f54 100755 --- a/toontown/makeatoon/ColorShop.py +++ b/toontown/makeatoon/ColorShop.py @@ -26,7 +26,7 @@ class ColorShop(StateData.StateData): return colorList - def enter(self, toon): + def enter(self, toon, shopsVisited = []): base.disableMouse() self.toon = toon self.dna = toon.getStyle() diff --git a/toontown/makeatoon/GenderShop.py b/toontown/makeatoon/GenderShop.py index c7308a75..2ccad9a7 100755 --- a/toontown/makeatoon/GenderShop.py +++ b/toontown/makeatoon/GenderShop.py @@ -14,6 +14,7 @@ class GenderShop(StateData.StateData): def __init__(self, makeAToon, doneEvent): StateData.StateData.__init__(self, doneEvent) + self.shopsVisited = [] self.toon = None self.gender = 'm' self.makeAToon = makeAToon diff --git a/toontown/makeatoon/MakeAToon.py b/toontown/makeatoon/MakeAToon.py index 89eaee1c..23a82011 100755 --- a/toontown/makeatoon/MakeAToon.py +++ b/toontown/makeatoon/MakeAToon.py @@ -7,8 +7,14 @@ from direct.gui.DirectGui import * from direct.interval.IntervalGlobal import * from direct.task import Task from pandac.PandaModules import * -import random, BodyShop, ColorShop, GenderShop, MakeClothesGUI, TrackShop, NameShop +import random + +import BodyShop +import ColorShop +import GenderShop from MakeAToonGlobals import * +import MakeClothesGUI +import NameShop from otp.avatar import Avatar from toontown.chat.ChatGlobals import * from toontown.distributed.ToontownMsgTypes import * @@ -41,7 +47,6 @@ class MakeAToon(StateData.StateData): self.slide = 0 self.nameList = [] self.warp = 0 - self.visitedGenderShop = 0 for av in avList: if av.position == index: self.warp = 1 @@ -52,9 +57,8 @@ class MakeAToon(StateData.StateData): State.State('GenderShop', self.enterGenderShop, self.exitGenderShop, ['BodyShop']), State.State('BodyShop', self.enterBodyShop, self.exitBodyShop, ['GenderShop', 'ColorShop']), State.State('ColorShop', self.enterColorShop, self.exitColorShop, ['BodyShop', 'ClothesShop']), - State.State('ClothesShop', self.enterClothesShop, self.exitClothesShop, ['ColorShop', 'TrackShop']), - State.State('TrackShop', self.enterTrackShop, self.exitTrackShop, ['ClothesShop', 'NameShop']), - State.State('NameShop', self.enterNameShop, self.exitNameShop, ['TrackShop']), + State.State('ClothesShop', self.enterClothesShop, self.exitClothesShop, ['ColorShop', 'NameShop']), + State.State('NameShop', self.enterNameShop, self.exitNameShop, ['ClothesShop']), State.State('Done', self.enterDone, self.exitDone, [])], 'Init', 'Done') self.parentFSM = parentFSM self.parentFSM.getStateNamed('createAvatar').addChild(self.fsm) @@ -62,9 +66,16 @@ class MakeAToon(StateData.StateData): self.bs = BodyShop.BodyShop('BodyShop-done') self.cos = ColorShop.ColorShop('ColorShop-done') self.cls = MakeClothesGUI.MakeClothesGUI('ClothesShop-done') - self.ts = TrackShop.TrackShop('TrackShop-done') - self.ns = NameShop.NameShop(self, 'NameShop-done', avList, index) + self.ns = NameShop.NameShop(self, 'NameShop-done', avList, index, True) self.shop = GENDERSHOP + self.shopsVisited = [] + if self.warp: + self.shopsVisited = [ + GENDERSHOP, + BODYSHOP, + COLORSHOP, + CLOTHESSHOP, + ] self.music = None self.soundBack = None self.fsm.enterInitialState() @@ -299,13 +310,11 @@ class MakeAToon(StateData.StateData): self.bs.unload() self.cos.unload() self.cls.unload() - self.ts.unload() self.ns.unload() del self.gs del self.bs del self.cos del self.cls - del self.ts del self.ns self.guiTopBar.destroy() self.guiBottomBar.destroy() @@ -398,6 +407,7 @@ class MakeAToon(StateData.StateData): def __handleCancel(self): self.doneStatus = 'cancel' + self.shopsVisited = [] base.transitions.fadeOut(finishIval=EventInterval(self.doneEvent)) def toggleSlide(self): @@ -411,8 +421,6 @@ class MakeAToon(StateData.StateData): self.fsm.request('ColorShop') elif self.shop == COLORSHOP: self.fsm.request('ClothesShop') - elif self.shop == CLOTHESSHOP: - self.fsm.request('TrackShop') else: self.fsm.request('NameShop') @@ -424,10 +432,8 @@ class MakeAToon(StateData.StateData): self.fsm.request('BodyShop') elif self.shop == CLOTHESSHOP: self.fsm.request('ColorShop') - elif self.shop == TRACKSHOP: + else: self.fsm.request('ClothesShop') - elif self.shop == NAMESHOP: - self.fsm.request('TrackShop') def enterInit(self): pass @@ -437,14 +443,14 @@ class MakeAToon(StateData.StateData): def enterGenderShop(self): self.shop = GENDERSHOP - if self.visitedGenderShop: - self.dropRoom(self.genderWalls, self.genderProps) - else: + if GENDERSHOP not in self.shopsVisited: + self.shopsVisited.append(GENDERSHOP) self.genderWalls.reparentTo(self.squishJoint) self.genderProps.reparentTo(self.propJoint) self.roomSquishActor.pose('squish', 0) self.guiNextButton['state'] = DGG.DISABLED - self.visitedGenderShop = True + else: + self.dropRoom(self.genderWalls, self.genderProps) self.guiTopBar['text'] = TTLocalizer.CreateYourToonTitle self.guiTopBar['text_fg'] = (1, 0.92, 0.2, 1) self.guiTopBar['text_scale'] = TTLocalizer.MATenterGenderShop @@ -482,7 +488,9 @@ class MakeAToon(StateData.StateData): self.guiTopBar['text_scale'] = TTLocalizer.MATenterBodyShop self.accept('BodyShop-done', self.__handleBodyShopDone) 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() def exitBodyShop(self): @@ -517,7 +525,9 @@ class MakeAToon(StateData.StateData): self.dropRoom(self.colorWalls, self.colorProps) self.toon.setPos(self.toonPosition) 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): self.squishRoom(self.colorWalls) @@ -555,6 +565,8 @@ class MakeAToon(StateData.StateData): self.toon.setHpr(self.toonHpr) self.clothesShopOpening() self.cls.enter(self.toon) + if CLOTHESSHOP not in self.shopsVisited: + self.shopsVisited.append(CLOTHESSHOP) def exitClothesShop(self): self.squishRoom(self.clothesWalls) @@ -571,50 +583,14 @@ class MakeAToon(StateData.StateData): else: self.cls.hideButtons() 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): self.guiCheckButton.show() self.guiLastButton.show() if self.warp: self.guiLastButton.hide() + if NAMESHOP not in self.shopsVisited: + self.shopsVisited.append(NAMESHOP) return Task.done def enterNameShop(self): @@ -624,6 +600,11 @@ class MakeAToon(StateData.StateData): self.guiTopBar['text_scale'] = TTLocalizer.MATenterNameShop self.accept('NameShop-done', self.__handleNameShopDone) 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: waittime = self.leftTime else: diff --git a/toontown/makeatoon/MakeAToonGlobals.py b/toontown/makeatoon/MakeAToonGlobals.py index db00c7c7..65753527 100755 --- a/toontown/makeatoon/MakeAToonGlobals.py +++ b/toontown/makeatoon/MakeAToonGlobals.py @@ -2,8 +2,7 @@ GENDERSHOP = 1 BODYSHOP = 2 COLORSHOP = 3 CLOTHESSHOP = 4 -TRACKSHOP = 5 -NAMESHOP = 6 +NAMESHOP = 5 halfButtonScale = (0.6, 0.6, 0.6) halfButtonHoverScale = (0.7, 0.7, 0.7) halfButtonInvertScale = (-0.6, 0.6, 0.6) diff --git a/toontown/makeatoon/NameShop.py b/toontown/makeatoon/NameShop.py index b91e79e0..d4079bc3 100755 --- a/toontown/makeatoon/NameShop.py +++ b/toontown/makeatoon/NameShop.py @@ -30,13 +30,15 @@ ServerDialogTimeout = 3.0 class NameShop(StateData.StateData): 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) self.makeAToon = makeAToon self.avList = avList self.index = index + self.shopsVisited = [] self.avId = -1 self.avExists = 0 + self.isPaid = isPaid self.names = ['', '', '', @@ -531,6 +533,9 @@ class NameShop(StateData.StateData): return problem return None + def setShopsVisited(self, list): + self.shopsVisited = list + def __handleDone(self): if self.fsm.getCurrentState().getName() == 'TypeAName': self.__typedAName() @@ -887,7 +892,7 @@ class NameShop(StateData.StateData): self.newDNA = style.makeNetString() self.requestingSkipTutorial = skipTutorial 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) else: self.checkNameTyped() @@ -958,4 +963,4 @@ class NameShop(StateData.StateData): if base.config.GetBool('want-qa-regression', 0): self.notify.info('QA-REGRESSION: SKIPTUTORIAL: Skip Tutorial') self.__handleSkipTutorial() - self.promptTutorialDialog.destroy() \ No newline at end of file + self.promptTutorialDialog.destroy() diff --git a/toontown/makeatoon/TrackShop.py b/toontown/makeatoon/TrackShop.py deleted file mode 100755 index eb18e6af..00000000 --- a/toontown/makeatoon/TrackShop.py +++ /dev/null @@ -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) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 09d1e1d5..030e0525 100755 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -6,6 +6,7 @@ OL.SpeedChatStaticText = OL.SpeedChatStaticTextToontown.copy() for key in OL.SpeedChatStaticTextCommon.iterkeys(): OL.SpeedChatStaticText[key] = OL.SpeedChatStaticTextCommon[key] +commitmantst = 'kptmptest - removable' InterfaceFont = 'phase_3/models/fonts/ImpressBT.ttf' ToonFont = 'phase_3/models/fonts/ImpressBT.ttf' SuitFont = 'phase_3/models/fonts/vtRemingtonPortable.ttf' @@ -8346,8 +8347,6 @@ LanguageSelectorAvailable = 'Available languages:' LanguageSelectorBack = 'Back' LanguageSelectorConfirm = 'Are you sure you want to change your language to %s? This will close your game.' LanguageSelectorSameLanguage = "You're already using that language!" -PickTrackTitle = 'Pick your third track!' -PickTrackNotice = 'Choose a track!' CogLevelLabelOn = 'The cog level GUI is on.' CogLevelLabelOff = 'The cog level GUI is off.' @@ -8391,10 +8390,6 @@ def getPetName(uniqueID): except: return PetNameDictionary[0] -def getPropNameById(id): - if id == 0: - return MovieNPCSOSTo - def getRandomPetName(gender = None, seed = None): if seed is not None: random.seed(seed) @@ -8415,7 +8410,6 @@ def getPetNameId(name): return 0 -PropIdToName = [InventoryHealString, MovieNPCSOSTrap, MovieNPCSOSLure, MovieNPCSOSSound, MovieNPCSOSThrow, MovieNPCSOSSquirt, MovieNPCSOSDrop] DonaldChatter = ["I'm glad you're here today!", "You look like you're having fun.", "Oh boy, I'm having a good day.", diff --git a/toontown/toonbase/TTLocalizerEnglishProperty.py b/toontown/toonbase/TTLocalizerEnglishProperty.py index 43ffffbd..3073ad24 100755 --- a/toontown/toonbase/TTLocalizerEnglishProperty.py +++ b/toontown/toonbase/TTLocalizerEnglishProperty.py @@ -113,7 +113,6 @@ MATenterGenderShop = 0.18 MATenterBodyShop = 0.18 MATenterColorShop = 0.18 MATenterClothesShop = 0.16 -MATenterTrackShop = 0.16 MATenterNameShop = 0.15 MATclothesGUIshirt_scale = 0.06 MATclothesGUIshirt_posL = 0.01 diff --git a/toontown/toonbase/ToontownGlobals.py b/toontown/toonbase/ToontownGlobals.py index 97691b54..04ce46a5 100755 --- a/toontown/toonbase/ToontownGlobals.py +++ b/toontown/toonbase/ToontownGlobals.py @@ -1631,16 +1631,6 @@ BMovementSpeedMultiplier = 1.3 BGagAccuracy = 1 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' CostPerLaffRestock = 3 FISHSALE_NONE = 0 diff --git a/toontown/uberdog/ClientServicesManager.py b/toontown/uberdog/ClientServicesManager.py index eeb6526d..3754d7b1 100755 --- a/toontown/uberdog/ClientServicesManager.py +++ b/toontown/uberdog/ClientServicesManager.py @@ -51,8 +51,8 @@ class ClientServicesManager(DistributedObjectGlobal): self.cr.handleAvatarsList(avList) # --- AVATAR CREATION/DELETION --- - def sendCreateAvatar(self, avDNA, thirdTrack, index): - self.sendUpdate('createAvatar', [avDNA.makeNetString(), thirdTrack, index]) + def sendCreateAvatar(self, avDNA, _, index): + self.sendUpdate('createAvatar', [avDNA.makeNetString(), index]) def createAvatarResp(self, avId): messenger.send('nameShopCreateAvatarDone', [avId]) diff --git a/toontown/uberdog/ClientServicesManagerUD.py b/toontown/uberdog/ClientServicesManagerUD.py index d0be6186..31d5eac4 100755 --- a/toontown/uberdog/ClientServicesManagerUD.py +++ b/toontown/uberdog/ClientServicesManagerUD.py @@ -459,9 +459,9 @@ class LoginAccountFSM(OperationFSM): class CreateAvatarFSM(OperationFSM): notify = directNotify.newCategory('CreateAvatarFSM') - def enterStart(self, dna, thirdTrack, index): + def enterStart(self, dna, index): # Basic sanity-checking: - if index < 0 or index >= 6: + if index >= 6: self.demand('Kill', 'Invalid index specified!') return @@ -469,13 +469,8 @@ class CreateAvatarFSM(OperationFSM): self.demand('Kill', 'Invalid DNA specified!') 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.dna = dna - self.thirdTrack = thirdTrack # Okay, we're good to go, let's query their account. self.demand('RetrieveAccount') @@ -510,15 +505,12 @@ class CreateAvatarFSM(OperationFSM): colorString = TTLocalizer.NumToColor[dna.headColor] animalType = TTLocalizer.AnimalToSpecies[dna.getAnimal()] name = ' '.join((colorString, animalType)) - trackAccess = [0, 0, 0, 0, 1, 1, 0] - trackAccess[self.thirdTrack] = 1 toonFields = { 'setName': (name,), 'WishNameState': ('OPEN',), 'WishName': ('',), 'setDNAString': (self.dna,), 'setDISLid': (self.target,), - 'setTrackAccess': (trackAccess,) } self.csm.air.dbInterface.createObject( self.csm.air.dbId, @@ -1119,8 +1111,8 @@ class ClientServicesManagerUD(DistributedObjectGlobalUD): self.notify.debug('Received avatar list request from %d' % (self.air.getMsgSender())) self.runAccountFSM(GetAvatarsFSM) - def createAvatar(self, dna, thirdTrack, index): - self.runAccountFSM(CreateAvatarFSM, dna, thirdTrack, index) + def createAvatar(self, dna, index): + self.runAccountFSM(CreateAvatarFSM, dna, index) def deleteAvatar(self, avId): self.runAccountFSM(DeleteAvatarFSM, avId)