mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-23 19:52:37 -06:00
removed track shop
This commit is contained in:
parent
ce79646583
commit
d962bd6ea0
14 changed files with 69 additions and 205 deletions
2
dependencies/astron/dclass/stride.dc
vendored
2
dependencies/astron/dclass/stride.dc
vendored
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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:
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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)
|
|
|
@ -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.",
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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])
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in a new issue