diff --git a/otp/namepanel/PickANamePattern.py b/otp/namepanel/PickANamePattern.py index afb940b..b19f801 100644 --- a/otp/namepanel/PickANamePattern.py +++ b/otp/namepanel/PickANamePattern.py @@ -2,9 +2,9 @@ class PickANamePattern: - def __init__(self, nameStr, gender): + def __init__(self, nameStr): self._nameStr = nameStr - self._namePattern = self._compute(self._nameStr, gender) + self._namePattern = self._compute(self._nameStr) def hasNamePattern(self): return self._namePattern is not None @@ -12,8 +12,8 @@ class PickANamePattern: def getNamePattern(self): return self._namePattern - def getNameString(self, pattern, gender): - nameParts = self._getNameParts(gender) + def getNameString(self, pattern): + nameParts = self._getNameParts() invNameParts = [] for i in range(len(nameParts)): invNameParts.append(invertDict(nameParts[i])) @@ -27,8 +27,8 @@ class PickANamePattern: return name - def getNamePartString(self, gender, patternIndex, partIndex): - nameParts = self._getNameParts(gender) + def getNamePartString(self, patternIndex, partIndex): + nameParts = self._getNameParts() invNamePart = invertDict(nameParts[patternIndex]) return invNamePart[partIndex] @@ -49,8 +49,8 @@ class PickANamePattern: for splitName in self._genWordListSplitPermutations(name.split()): yield splitName - def _compute(self, nameStr, gender): - return self._computeWithNameParts(nameStr, self._getNameParts(gender)) + def _compute(self, nameStr ): + return self._computeWithNameParts(nameStr, self._getNameParts()) def _computeWithNameParts(self, nameStr, nameParts): for splitPermutation in self._genNameSplitPermutations(nameStr): @@ -60,7 +60,7 @@ class PickANamePattern: return - def _getNameParts(self, gender): + def _getNameParts(self): pass def _recursiveCompute(self, words, nameParts, wi = 0, nwli = 0, pattern = None): @@ -82,8 +82,8 @@ class PickANamePattern: class PickANamePatternTwoPartLastName(PickANamePattern): - def getNameString(self, pattern, gender): - name = PickANamePattern.getNameString(self, pattern, gender) + def getNameString(self, pattern,): + name = PickANamePattern.getNameString(self, pattern) if pattern[-2] != -1: words = name.split() name = '' @@ -104,8 +104,8 @@ class PickANamePatternTwoPartLastName(PickANamePattern): def _getLastNameCapPrefixes(self): return [] - def _compute(self, nameStr, gender): - nameParts = self._getNameParts(gender) + def _compute(self, nameStr): + nameParts = self._getNameParts() combinedNameParts = nameParts[:-2] combinedNameParts.append({}) combinedIndex2indices = {} diff --git a/toontown/battle/MovieNPCSOS.py b/toontown/battle/MovieNPCSOS.py index 97d4c1f..caa6d01 100644 --- a/toontown/battle/MovieNPCSOS.py +++ b/toontown/battle/MovieNPCSOS.py @@ -101,10 +101,12 @@ def teleportIn(attack, npc, pos = Point3(0, 0, 0), hpr = Vec3(180.0, 0.0, 0.0)): def teleportOut(attack, npc): - if npc.style.getGender() == 'm': - a = ActorInterval(npc, 'bow') - else: + # instead of gender check the torso type + + if npc.style.torso[1] == 'd': a = ActorInterval(npc, 'curtsy') + else: + a = ActorInterval(npc, 'bow') b = Func(npc.setChatAbsolute, TTLocalizer.MovieNPCSOSGoodbye, CFSpeech | CFTimeout) c = npc.getTeleportOutTrack() d = Func(npc.removeActive) diff --git a/toontown/catalog/CatalogClothingItem.py b/toontown/catalog/CatalogClothingItem.py index 9a8340c..7994936 100644 --- a/toontown/catalog/CatalogClothingItem.py +++ b/toontown/catalog/CatalogClothingItem.py @@ -392,16 +392,15 @@ class CatalogClothingItem(CatalogItem.CatalogItem): defn = ToonDNA.BottomStyles[str] dna.botTex = defn[0] dna.botTexColor = defn[1][self.colorIndex] - if dna.getGender() == 'f': - try: - bottomPair = ToonDNA.GirlBottoms[dna.botTex] - except: - bottomPair = ToonDNA.GirlBottoms[0] + try: + bottomPair = ToonDNA.Bottoms[dna.botTex] + except: + bottomPair = ToonDNA.Bottoms[0] - if dna.torso[1] == 's' and bottomPair[1] == ToonDNA.SKIRT: - dna.torso = dna.torso[0] + 'd' - elif dna.torso[1] == 'd' and bottomPair[1] == ToonDNA.SHORTS: - dna.torso = dna.torso[0] + 's' + if dna.torso[1] == 's' and bottomPair[1] == ToonDNA.SKIRT: + dna.torso = dna.torso[0] + 'd' + elif dna.torso[1] == 'd' and bottomPair[1] == ToonDNA.SHORTS: + dna.torso = dna.torso[0] + 's' avatar.b_setDNAString(dna.makeNetString()) avatar.d_catalogGenClothes() return ToontownGlobals.P_ItemAvailable diff --git a/toontown/catalog/CatalogFurnitureItem.py b/toontown/catalog/CatalogFurnitureItem.py index 2cbdbdd..4558f4a 100644 --- a/toontown/catalog/CatalogFurnitureItem.py +++ b/toontown/catalog/CatalogFurnitureItem.py @@ -1108,10 +1108,7 @@ class CatalogFurnitureItem(CatalogAtticItem.CatalogAtticItem): def nextAvailableCloset(avatar, duplicateItems): - if avatar.getStyle().getGender() == 'm': - index = 0 - else: - index = 1 + index = 0 if not hasattr(avatar, 'maxClothes'): return None closetIds = ClothesToCloset.get(avatar.getMaxClothes()) @@ -1132,10 +1129,7 @@ def nextAvailableCloset(avatar, duplicateItems): def get50ItemCloset(avatar, duplicateItems): - if avatar.getStyle().getGender() == 'm': - index = 0 - else: - index = 1 + index = 0 closetId = MaxClosetIds[index] item = CatalogFurnitureItem(closetId) if item in avatar.onOrder or item in avatar.mailboxContents: @@ -1160,10 +1154,8 @@ def getAllClosets(): def get50ItemTrunk(avatar, duplicateItems): - if avatar.getStyle().getGender() == 'm': - index = 0 - else: - index = 1 + index = 0 + trunkId = MaxTrunkIds[index] item = CatalogFurnitureItem(trunkId) if item in avatar.onOrder or item in avatar.mailboxContents: diff --git a/toontown/distributed/ToontownClientRepository.py b/toontown/distributed/ToontownClientRepository.py index dbadca9..5782aca 100644 --- a/toontown/distributed/ToontownClientRepository.py +++ b/toontown/distributed/ToontownClientRepository.py @@ -119,17 +119,16 @@ class ToontownClientRepository(OTPClientRepository.OTPClientRepository): for head in ToonDNA.getHeadList(species): for torso in ToonDNA.toonTorsoTypes: for legs in ToonDNA.toonLegTypes: - for gender in ('m', 'f'): - print('species: %s, head: %s, torso: %s, legs: %s, gender: %s' % (species, + print('species: %s, head: %s, torso: %s, legs: %s' % (species, head, torso, legs, - gender)) + )) dna = ToonDNA.ToonDNA() dna.newToon((head, torso, - legs, - gender)) + legs + )) toon = Toon.Toon() try: toon.setDNA(dna) diff --git a/toontown/estate/ClosetGUI.py b/toontown/estate/ClosetGUI.py index 1287d30..ae1417c 100644 --- a/toontown/estate/ClosetGUI.py +++ b/toontown/estate/ClosetGUI.py @@ -19,7 +19,6 @@ class ClosetGUI(ClothesGUI.ClothesGUI): self.isOwner = isOwner self.deleteEvent = deleteEvent self.cancelEvent = cancelEvent - self.genderChange = 0 self.verify = None return @@ -75,7 +74,6 @@ class ClosetGUI(ClothesGUI.ClothesGUI): def setupScrollInterface(self): self.notify.debug('setupScrollInterface') self.dna = self.toon.getStyle() - self.gender = self.dna.getGender() self.swappedTorso = 0 if self.topsList == None: self.topsList = self.toon.getClothesTopsList() @@ -125,9 +123,6 @@ class ClosetGUI(ClothesGUI.ClothesGUI): else: self.bottomTrashButton['text'] = TTLocalizer.ClosetDeleteShorts - def setGender(self, gender): - self.ownerGender = gender - self.genderChange = 1 def swapBottom(self, offset): length = len(self.bottoms) @@ -140,11 +135,6 @@ class ClosetGUI(ClothesGUI.ClothesGUI): return None self.toon.style.botTex = self.bottoms[self.bottomChoice][0] self.toon.style.botTexColor = self.bottoms[self.bottomChoice][1] - if self.genderChange == 1: - if self.bottomChoice > 0: - self.__handleGenderBender(1) - else: - self.__handleGenderBender(0) if self.toon.generateToonClothes() == 1: self.toon.loop('neutral', 0) self.swappedTorso = 1 @@ -153,20 +143,6 @@ class ClosetGUI(ClothesGUI.ClothesGUI): if self.swapEvent != None: messenger.send(self.swapEvent) - def __handleGenderBender(self, type): - if type == 1: - if self.toon.style.gender != self.ownerGender and self.toon.style.gender == 'f': - self.toon.swapToonTorso(self.toon.style.torso[0] + 's', genClothes=0) - self.toon.loop('neutral', 0) - self.swappedTorso = 1 - self.toon.style.gender = self.ownerGender - else: - self.toon.style.gender = self.gender - if self.toon.style.gender != self.ownerGender and self.toon.style.gender == 'm': - self.toon.swapToonTorso(self.toon.style.torso[0] + 's', genClothes=0) - self.toon.loop('neutral', 0) - self.swappedTorso = 1 - def removeTop(self, index): listLen = len(self.tops) if index < listLen: diff --git a/toontown/estate/DistributedCloset.py b/toontown/estate/DistributedCloset.py index b8da80b..45ee59c 100644 --- a/toontown/estate/DistributedCloset.py +++ b/toontown/estate/DistributedCloset.py @@ -46,7 +46,6 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): self.purchaseDoneEvent = '' self.swapEvent = '' self.locked = 0 - self.gender = None self.topDeleted = 0 self.bottomDeleted = 0 self.closetTrack = None @@ -130,7 +129,6 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): self.popupInfo = None if self.av: del self.av - del self.gender del self.closetSphere del self.closetSphereNode del self.closetSphereNodePath @@ -200,10 +198,9 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): self.hasLocalAvatar = 1 return - def setState(self, mode, avId, ownerId, gender, topList, botList): + def setState(self, mode, avId, ownerId, topList, botList): self.notify.debug('setState, mode=%s, avId=%s, ownerId=%d' % (mode, avId, ownerId)) self.isOwner = avId == ownerId - self.ownerGender = gender if mode == ClosetGlobals.CLOSED: self.fsm.request('closed') return @@ -212,7 +209,6 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): self.av = self.cr.doId2do.get(self.customerId, None) if self.av: if base.localAvatar.getDoId() == self.customerId: - self.gender = self.av.style.gender self.topList = topList self.botList = botList self.oldTopList = self.topList[0:] @@ -227,11 +223,7 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): self.fsm.request('open') return - def _revertGender(self): - if self.gender: - self.av.style.gender = self.gender - self.av.loop('neutral') - + def popupChangeClothesGUI(self, task): self.notify.debug('popupChangeClothesGUI') self.purchaseDoneEvent = self.uniqueName('purchaseDone') @@ -246,8 +238,6 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): if not self.closetGUI: self.closetGUI = ClosetGUI.ClosetGUI(self.isOwner, self.purchaseDoneEvent, self.cancelEvent, self.swapEvent, self.deleteEvent, self.topList, self.botList) self.closetGUI.load() - if self.gender != self.ownerGender: - self.closetGUI.setGender(self.ownerGender) self.closetGUI.enter(base.localAvatar) self.closetGUI.showButtons() style = self.av.getStyle() @@ -374,7 +364,7 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): return def printInfo(self): - print('avid: %s, gender: %s' % (self.av.doId, self.av.style.gender)) + print('avid: %s' % (self.av.doId)) print('current top = %s,%s,%s,%s and bot = %s,%s,' % (self.av.style.topTex, self.av.style.topTexColor, self.av.style.sleeveTex, @@ -393,7 +383,6 @@ class DistributedCloset(DistributedFurnitureItem.DistributedFurnitureItem): return elif mode == ClosetGlobals.CLOSET_MOVIE_COMPLETE: if self.isLocalToon: - self._revertGender() print('-----------ending trunk interaction-----------') self.printInfo() print('-------------------------------------------------') diff --git a/toontown/estate/DistributedToonStatuary.py b/toontown/estate/DistributedToonStatuary.py index b418317..47baf45 100644 --- a/toontown/estate/DistributedToonStatuary.py +++ b/toontown/estate/DistributedToonStatuary.py @@ -22,14 +22,15 @@ def dnaCodeFromToonDNA(dna): return i - if dna.gender == 'f': - genderTypeNum = 0 + + if dna.eyelashes == 0: + eyelashesTypeNum = 0 else: - genderTypeNum = 1 + eyelashesTypeNum = 1 legTypeNum = findItemNumInList(dna.legs, ToonDNA.toonLegTypes) << 1 torsoTypeNum = findItemNumInList(dna.torso, ToonDNA.toonTorsoTypes) << 3 headTypeNum = findItemNumInList(dna.head, ToonDNA.toonHeadTypes) << 7 - return headTypeNum | torsoTypeNum | legTypeNum | genderTypeNum + return headTypeNum | torsoTypeNum | legTypeNum | eyelashesTypeNum class DistributedToonStatuary(DistributedStatuary.DistributedStatuary): @@ -46,7 +47,7 @@ class DistributedToonStatuary(DistributedStatuary.DistributedStatuary): self.model.setScale(self.worldScale * 1.5, self.worldScale * 1.5, self.worldScale) self.getToonPropertiesFromOptional() dna = ToonDNA.ToonDNA() - dna.newToonFromProperties(self.headType, self.torsoType, self.legType, self.gender, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + dna.newToonFromProperties(self.headType, self.torsoType, self.legType, self.eyelashes, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) self.setupStoneToon(dna) self.poseToonFromTypeIndex(self.typeIndex) self.toon.reparentTo(self.model) @@ -62,7 +63,7 @@ class DistributedToonStatuary(DistributedStatuary.DistributedStatuary): self.toon.initializeBodyCollisions('toonStatue') self.toon.stopBlink() self.toon.stopLookAround() - self.gender = self.toon.style.gender + self.eyelashes = self.toon.style.eyelashes self.speciesType = self.toon.style.getAnimal() self.headType = self.toon.style.head self.removeTextures() @@ -85,7 +86,7 @@ class DistributedToonStatuary(DistributedStatuary.DistributedStatuary): self.toon.pose('victory', 30) self.toon.setH(180) self.speciesType = self.toon.style.getAnimal() - self.gender = self.toon.style.gender + self.eyelashes = self.toon.style.eyelashes def setupCollision(self): DistributedStatuary.DistributedStatuary.setupCollision(self) @@ -164,7 +165,7 @@ class DistributedToonStatuary(DistributedStatuary.DistributedStatuary): tsLashes = TextureStage('tsLashes') tsLashes.setPriority(2) tsLashes.setMode(tsLashes.MDecal) - if self.gender == 'f': + if self.eyelashes: if self.toon.hasLOD(): head = self.toon.getPart('head', '1000') else: @@ -188,14 +189,14 @@ class DistributedToonStatuary(DistributedStatuary.DistributedStatuary): self.optional = optional def getToonPropertiesFromOptional(self): - genderTypeNum = self.optional & 1 + eyelashesTypeNum = self.optional & 1 legTypeNum = (self.optional & 6) >> 1 torsoTypeNum = (self.optional & 120) >> 3 headTypeNum = (self.optional & 65408) >> 7 - if genderTypeNum == 0: - self.gender = 'f' + if eyelashesTypeNum == 0: + self.eyelashes = 0 else: - self.gender = 'm' + self.eyelashes = 1 if legTypeNum <= len(ToonDNA.toonLegTypes): self.legType = ToonDNA.toonLegTypes[legTypeNum] if torsoTypeNum <= len(ToonDNA.toonTorsoTypes): diff --git a/toontown/estate/DistributedTrunk.py b/toontown/estate/DistributedTrunk.py index a90d882..4a56698 100644 --- a/toontown/estate/DistributedTrunk.py +++ b/toontown/estate/DistributedTrunk.py @@ -34,7 +34,7 @@ class DistributedTrunk(DistributedCloset.DistributedCloset): self.isFreePlayer = 0 def printInfo(self): - print('avid: %s, gender: %s' % (self.av.doId, self.av.style.gender)) + print('avid: %s, ' % (self.av.doId)) print('current hat = %s, glasses = %s, backpack = %s, shoes = %s' % (self.av.getHat(), self.av.getGlasses(), self.av.getBackpack(), @@ -44,10 +44,9 @@ class DistributedTrunk(DistributedCloset.DistributedCloset): print('backpackList = %s' % self.av.getBackpackList()) print('shoesList = %s' % self.av.getShoesList()) - def setState(self, mode, avId, ownerId, gender, hatList, glassesList, backpackList, shoesList): + def setState(self, mode, avId, ownerId, hatList, glassesList, backpackList, shoesList): self.notify.debug('setState, mode=%s, avId=%s, ownerId=%d' % (mode, avId, ownerId)) self.isOwner = avId == ownerId - self.ownerGender = gender if mode == ClosetGlobals.CLOSED: self.fsm.request('closed') return @@ -61,7 +60,7 @@ class DistributedTrunk(DistributedCloset.DistributedCloset): else: self.isFreePlayer = 0 if base.localAvatar.getDoId() == self.customerId: - self.gender = self.av.style.gender + self.eyelashes = self.av.style.eyelashes self.hatList = hatList self.glassesList = glassesList self.backpackList = backpackList @@ -112,8 +111,6 @@ class DistributedTrunk(DistributedCloset.DistributedCloset): if not self.closetGUI: self.closetGUI = TrunkGUI.TrunkGUI(self.isOwner, self.purchaseDoneEvent, self.cancelEvent, self.swapHatEvent, self.swapGlassesEvent, self.swapBackpackEvent, self.swapShoesEvent, self.deleteEvent, self.hatList, self.glassesList, self.backpackList, self.shoesList) self.closetGUI.load() - if self.gender != self.ownerGender: - self.closetGUI.setGender(self.ownerGender) self.closetGUI.enter(base.localAvatar) self.closetGUI.showButtons() oldHat = self.av.getHat() diff --git a/toontown/estate/TrunkGUI.py b/toontown/estate/TrunkGUI.py index 9332b57..97eb91b 100644 --- a/toontown/estate/TrunkGUI.py +++ b/toontown/estate/TrunkGUI.py @@ -29,7 +29,6 @@ class TrunkGUI(StateData.StateData): self.swapShoesEvent = swapShoesEvent self.deleteEvent = deleteEvent self.cancelEvent = cancelEvent - self.genderChange = 0 self.verify = None return @@ -324,9 +323,7 @@ class TrunkGUI(StateData.StateData): task = Task(self.rotateToonR) taskMgr.add(task, self.taskName('rotateR')) - def setGender(self, gender): - self.ownerGender = gender - self.genderChange = 1 + def swapHat(self, offset): length = len(self.hats) diff --git a/toontown/makeatoon/ClothesGUI.py b/toontown/makeatoon/ClothesGUI.py index 80e6d0b..c8ca392 100644 --- a/toontown/makeatoon/ClothesGUI.py +++ b/toontown/makeatoon/ClothesGUI.py @@ -20,8 +20,7 @@ class ClothesGUI(StateData.StateData): self.type = type self.toon = None self.swapEvent = swapEvent - self.gender = '?' - self.girlInShorts = 0 + self.toonInShorts = 0 self.swappedTorso = 0 return @@ -119,18 +118,14 @@ class ClothesGUI(StateData.StateData): self.ignore(self.shuffleFetchMsg) def setupButtons(self): - self.girlInShorts = 0 - if self.gender == 'f': - if self.bottomChoice == -1: - botTex = self.bottoms[0][0] - else: - botTex = self.bottoms[self.bottomChoice][0] - if ToonDNA.GirlBottoms[botTex][1] == ToonDNA.SHORTS: - self.girlInShorts = 1 - if self.toon.style.getGender() == 'm': - self.bottomFrame['text'] = TTLocalizer.ClothesShopShorts + self.toonInShorts = 0 + if self.bottomChoice == -1: + botTex = self.bottoms[0][0] else: - self.bottomFrame['text'] = TTLocalizer.ClothesShopBottoms + botTex = self.bottoms[self.bottomChoice][0] + if ToonDNA.Bottoms[botTex][1] == ToonDNA.SHORTS: + self.toonInShorts = 1 + self.bottomFrame['text'] = TTLocalizer.ClothesShopBottoms self.acceptOnce('last', self.__handleBackward) self.acceptOnce('next', self.__handleForward) return None diff --git a/toontown/makeatoon/ColorShop.py b/toontown/makeatoon/ColorShop.py index a607f73..d704306 100644 --- a/toontown/makeatoon/ColorShop.py +++ b/toontown/makeatoon/ColorShop.py @@ -18,17 +18,15 @@ class ColorShop(StateData.StateData): self.colorAll = 1 return - def getGenderColorList(self, dna): - if self.dna.getGender() == 'm': - return ToonDNA.defaultBoyColorList - else: - return ToonDNA.defaultGirlColorList + def getColorList(self, dna): + return ToonDNA.defaultColorList + def enter(self, toon, shopsVisited = []): base.disableMouse() self.toon = toon self.dna = toon.getStyle() - colorList = self.getGenderColorList(self.dna) + colorList = self.getColorList(self.dna) try: self.headChoice = colorList.index(self.dna.headColor) self.armChoice = colorList.index(self.dna.armColor) @@ -44,7 +42,7 @@ class ColorShop(StateData.StateData): self.startColor = 0 self.acceptOnce('last', self.__handleBackward) self.acceptOnce('next', self.__handleForward) - choicePool = [self.getGenderColorList(self.dna), self.getGenderColorList(self.dna), self.getGenderColorList(self.dna)] + choicePool = [self.getColorList(self.dna), self.getColorList(self.dna), self.getColorList(self.dna)] self.shuffleButton.setChoicePool(choicePool) self.accept(self.shuffleFetchMsg, self.changeColor) self.acceptOnce('MAT-newToonCreated', self.shuffleButton.cleanHistory) @@ -153,7 +151,7 @@ class ColorShop(StateData.StateData): self.ignore('MAT-newToonCreated') def __swapAllColor(self, offset): - colorList = self.getGenderColorList(self.dna) + colorList = self.getColorList(self.dna) length = len(colorList) choice = (self.headChoice + offset) % length self.__updateScrollButtons(choice, length, self.allLButton, self.allRButton) @@ -164,7 +162,7 @@ class ColorShop(StateData.StateData): self.__swapLegColor(choice - oldLegColorIndex) def __swapHeadColor(self, offset): - colorList = self.getGenderColorList(self.dna) + colorList = self.getColorList(self.dna) length = len(colorList) self.headChoice = (self.headChoice + offset) % length self.__updateScrollButtons(self.headChoice, length, self.headLButton, self.headRButton) @@ -173,7 +171,7 @@ class ColorShop(StateData.StateData): self.toon.swapToonColor(self.dna) def __swapArmColor(self, offset): - colorList = self.getGenderColorList(self.dna) + colorList = self.getColorList(self.dna) length = len(colorList) self.armChoice = (self.armChoice + offset) % length self.__updateScrollButtons(self.armChoice, length, self.armLButton, self.armRButton) @@ -182,7 +180,7 @@ class ColorShop(StateData.StateData): self.toon.swapToonColor(self.dna) def __swapLegColor(self, offset): - colorList = self.getGenderColorList(self.dna) + colorList = self.getColorList(self.dna) length = len(colorList) self.legChoice = (self.legChoice + offset) % length self.__updateScrollButtons(self.legChoice, length, self.legLButton, self.legRButton) @@ -210,7 +208,7 @@ class ColorShop(StateData.StateData): def changeColor(self): self.notify.debug('Entering changeColor') - colorList = self.getGenderColorList(self.dna) + colorList = self.getColorList(self.dna) newChoice = self.shuffleButton.getCurrChoice() newHeadColorIndex = colorList.index(newChoice[0]) newArmColorIndex = colorList.index(newChoice[1]) diff --git a/toontown/makeatoon/MakeAToon.py b/toontown/makeatoon/MakeAToon.py index 44b7995..15efa06 100644 --- a/toontown/makeatoon/MakeAToon.py +++ b/toontown/makeatoon/MakeAToon.py @@ -95,10 +95,6 @@ class MakeAToon(StateData.StateData): base.playMusic(self.music, looping=1, volume=self.musicVolume) camera.setPosHpr(-5.7, -12.3501, 2.15, -24.8499, 2.73, 0) if self.warp: - if self.toon.style.torso[1] == 's': - self.toon.gender = 's' - else: - self.toon.gender = 'd' self.toon.reparentTo(render) self.toon.loop('neutral') self.toon.setPosHpr(-4.1, -2, 0, 200, 0, 0) @@ -203,8 +199,6 @@ class MakeAToon(StateData.StateData): ee.bind(DGG.B1PRESS, lambda x, ee = ee: self.toggleSlide()) self.eee = ee self.room = loader.loadModel('phase_3/models/makeatoon/tt_m_ara_mat_room') - self.genderWalls = self.room.find('**/genderWalls') - self.genderProps = self.room.find('**/genderProps') self.bodyWalls = self.room.find('**/bodyWalls') self.bodyProps = self.room.find('**/bodyProps') self.colorWalls = self.room.find('**/colorWalls') @@ -306,10 +300,6 @@ class MakeAToon(StateData.StateData): self.cleanupFocusOutIval() self.room.removeNode() del self.room - self.genderWalls.removeNode() - self.genderProps.removeNode() - del self.genderWalls - del self.genderProps self.bodyWalls.removeNode() self.bodyProps.removeNode() del self.bodyWalls diff --git a/toontown/makeatoon/MakeAToonGlobals.py b/toontown/makeatoon/MakeAToonGlobals.py index 6575352..834c6e8 100644 --- a/toontown/makeatoon/MakeAToonGlobals.py +++ b/toontown/makeatoon/MakeAToonGlobals.py @@ -1,5 +1,4 @@ -GENDERSHOP = 1 -BODYSHOP = 2 +BODYSHOP = 1 COLORSHOP = 3 CLOTHESSHOP = 4 NAMESHOP = 5 diff --git a/toontown/makeatoon/MakeClothesGUI.py b/toontown/makeatoon/MakeClothesGUI.py index b6394b3..378e25e 100644 --- a/toontown/makeatoon/MakeClothesGUI.py +++ b/toontown/makeatoon/MakeClothesGUI.py @@ -9,21 +9,13 @@ class MakeClothesGUI(ClothesGUI.ClothesGUI): def setupScrollInterface(self): self.dna = self.toon.getStyle() - gender = self.dna.getGender() - if gender != self.gender: - self.tops = ToonDNA.getRandomizedTops(gender, tailorId=ToonDNA.MAKE_A_TOON) - self.bottoms = ToonDNA.getRandomizedBottoms(gender, tailorId=ToonDNA.MAKE_A_TOON) - self.gender = gender - self.topChoice = 0 - self.bottomChoice = 0 self.setupButtons() def setupButtons(self): ClothesGUI.ClothesGUI.setupButtons(self) if len(self.dna.torso) == 1: - if self.gender == 'm': - torsoStyle = 's' - elif self.girlInShorts == 1: + + if self.toonInShorts == 1: torsoStyle = 's' else: torsoStyle = 'd' diff --git a/toontown/makeatoon/NameGenerator.py b/toontown/makeatoon/NameGenerator.py index 2b19c47..0607e96 100644 --- a/toontown/makeatoon/NameGenerator.py +++ b/toontown/makeatoon/NameGenerator.py @@ -94,6 +94,17 @@ class NameGenerator: 6: 2, 7: 2, 8: 3}) + + def getAllNameParts(self): + return self._getNameParts({0: 0, + 1: 0, + 2: 0, + 3: 1, + 4: 1, + 5: 1, + 6: 2, + 7: 2, + 8: 3}) def getLastNamePrefixesCapped(self): return self.capPrefixes @@ -213,21 +224,13 @@ class NameGenerator: retString = '' if titleFlag: titleList = self.neutralTitles[:] - if boy: - titleList += self.boyTitles - elif girl: - titleList += self.girlTitles - else: - self.error('Must be boy or girl.') + titleList += self.boyTitles + titleList += self.girlTitles retString += random.choice(titleList) + ' ' if firstFlag: firstList = self.neutralFirsts[:] - if boy: - firstList += self.boyFirsts - elif girl: - firstList += self.girlFirsts - else: - self.error('Must be boy or girl.') + firstList += self.boyFirsts + firstList += self.girlFirsts retString += random.choice(firstList) if lastFlag: retString += ' ' @@ -239,12 +242,7 @@ class NameGenerator: retString += lastPrefix + lastSuffix return retString - def randomNameMoreinfo(self, boy = 0, girl = 0): - if boy and girl: - self.error("A name can't be both boy and girl!") - if not boy and not girl: - boy = random.choice([0, 1]) - girl = not boy + def randomNameMoreinfo(self): uberFlag = random.choice(['title-first', 'title-last', 'first', @@ -272,20 +270,14 @@ class NameGenerator: uberReturn[1] = firstFlag uberReturn[2] = lastFlag titleList = self.neutralTitles[:] - if boy: - titleList += self.boyTitles - elif girl: - titleList += self.girlTitles + titleList += self.boyTitles + titleList += self.girlTitles else: self.error('Must be boy or girl.') uberReturn[3] = random.choice(titleList) firstList = self.neutralFirsts[:] - if boy: - firstList += self.boyFirsts - elif girl: - firstList += self.girlFirsts - else: - self.error('Must be boy or girl.') + firstList += self.boyFirsts + firstList += self.girlFirsts uberReturn[4] = random.choice(firstList) lastPrefix = random.choice(self.lastPrefixes) lastSuffix = random.choice(self.lastSuffixes) @@ -315,10 +307,7 @@ class NameGenerator: name = self.randomName(boy, girl) width = self.text.calcWidth(name) widthStr = str(width) - if boy: - print('Boy: ' + name + ' (' + widthStr + ' units)') - if girl: - print('Girl: ' + name + ' (' + widthStr + ' units)') + print(name + ' (' + widthStr + ' units)') i += 1 def percentOver(self, limit = 9.0, samples = 1000): diff --git a/toontown/makeatoon/NameShop.py b/toontown/makeatoon/NameShop.py index b4f2188..17ba441 100644 --- a/toontown/makeatoon/NameShop.py +++ b/toontown/makeatoon/NameShop.py @@ -45,8 +45,6 @@ class NameShop(StateData.StateData): '', ''] self.toon = None - self.boy = 0 - self.girl = 0 self.allTitles = [] self.allFirsts = [] self.allPrefixes = [] @@ -134,20 +132,13 @@ class NameShop(StateData.StateData): return else: self.toon = toon - if self.toon.style.gender == 'm': - self.boy = 1 - self.girl = 0 - else: - self.boy = 0 - self.girl = 1 self.usedNames = usedNames - if not self.addedGenderSpecific or self.oldBoy != self.boy: - self.oldBoy = self.boy + if not self.addedGenderSpecific: self.listsLoaded = 0 - self.allTitles = [' '] + [' '] + self.nameGen.boyTitles * self.boy + self.nameGen.girlTitles * self.girl + self.nameGen.neutralTitles + self.allTitles = [' '] + [' '] + self.nameGen.boyTitles + self.nameGen.girlTitles + self.nameGen.neutralTitles self.allTitles.sort() self.allTitles += [' '] + [' '] - self.allFirsts = [' '] + [' '] + self.nameGen.boyFirsts * self.boy + self.nameGen.girlFirsts * self.girl + self.nameGen.neutralFirsts + self.allFirsts = [' '] + [' '] + self.nameGen.boyFirsts + self.nameGen.girlFirsts + self.nameGen.neutralFirsts self.allFirsts.sort() self.allFirsts += [' '] + [' '] try: @@ -644,7 +635,7 @@ class NameShop(StateData.StateData): def __randomName(self): self.notify.debug('Finding random name') - uberReturn = self.nameGen.randomNameMoreinfo(self.boy, self.girl) + uberReturn = self.nameGen.randomNameMoreinfo() flags = uberReturn[:3] names = uberReturn[3:7] fullName = uberReturn[-1] diff --git a/toontown/makeatoon/TTPickANamePattern.py b/toontown/makeatoon/TTPickANamePattern.py index c835f8f..d5df1b3 100644 --- a/toontown/makeatoon/TTPickANamePattern.py +++ b/toontown/makeatoon/TTPickANamePattern.py @@ -7,13 +7,14 @@ class TTPickANamePattern(PickANamePatternTwoPartLastName): NameParts = None LastNamePrefixesCapped = None - def _getNameParts(self, gender): + def _getNameParts(self): if TTPickANamePattern.NameParts is None: TTPickANamePattern.NameParts = {} ng = NameGenerator() TTPickANamePattern.NameParts['m'] = ng.getMaleNameParts() TTPickANamePattern.NameParts['f'] = ng.getFemaleNameParts() - return TTPickANamePattern.NameParts[gender] + TTPickANamePattern.NameParts['n'] = ng.getAllNameParts() + return TTPickANamePattern.NameParts['n'] def _getLastNameCapPrefixes(self): if TTPickANamePattern.LastNamePrefixesCapped is None: diff --git a/toontown/minigame/DistributedPhotoGame.py b/toontown/minigame/DistributedPhotoGame.py index bcf6096..0a46018 100644 --- a/toontown/minigame/DistributedPhotoGame.py +++ b/toontown/minigame/DistributedPhotoGame.py @@ -737,20 +737,14 @@ class DistributedPhotoGame(DistributedMinigame, PhotoGameBase.PhotoGameBase): for pathIndex in range(len(self.data['PATHS'])): path = self.data['PATHS'][pathIndex] subject = Toon.Toon() - gender = random.choice(['m', 'f']) + eyelashes = random.choice([0, 1]) seed = int(random.random() * 571) - if gender == 'm': - boy = 1 - girl = 0 - else: - boy = 0 - girl = 1 - subject.setName(namegen.randomNameMoreinfo(boy=boy, girl=girl)[-1]) + subject.setName(namegen.randomNameMoreinfo()[-1]) self.nameCounter += 1 subject.setPickable(0) subject.setPlayerType(NametagGroup.CCNonPlayer) dna = ToonDNA.ToonDNA() - dna.newToonRandom(seed, gender, 1) + dna.newToonRandom(seed, eyelashes, 1) subject.setDNAString(dna.makeNetString()) subject.animFSM.request('neutral') subject.setTag('subjectIndex', '%s' % len(self.subjects)) diff --git a/toontown/quest/QuestParser.py b/toontown/quest/QuestParser.py index 493052b..d728ae9 100644 --- a/toontown/quest/QuestParser.py +++ b/toontown/quest/QuestParser.py @@ -486,57 +486,10 @@ class NPCMoviePlayer(DirectObject.DirectObject): self.setVar(varName, dialogue) return - def parseLoadCCDialogue(self, line): - token, varName, filenameTemplate = line - if self.toon.getStyle().gender == 'm': - classicChar = 'mickey' - else: - classicChar = 'minnie' - filename = filenameTemplate % classicChar - if base.config.GetString('language', 'english') == 'japanese': - dialogue = base.loader.loadSfx(filename) - else: - dialogue = None - self.setVar(varName, dialogue) - return - def parseLoadChar(self, line): - token, name, charType = line - char = Char.Char() - dna = CharDNA.CharDNA() - dna.newChar(charType) - char.setDNA(dna) - if charType == 'mk' or charType == 'mn': - char.startEarTask() - char.nametag.manage(base.marginManager) - char.addActive() - char.hideName() - self.setVar(name, char) - def parseLoadClassicChar(self, line): - token, name = line - char = Char.Char() - dna = CharDNA.CharDNA() - if self.toon.getStyle().gender == 'm': - charType = 'mk' - else: - charType = 'mn' - dna.newChar(charType) - char.setDNA(dna) - char.startEarTask() - char.nametag.manage(base.marginManager) - char.addActive() - char.hideName() - self.setVar(name, char) - self.chars.append(char) + - def parseUnloadChar(self, line): - token, name = line - char = self.getVar(name) - track = Sequence() - track.append(Func(self.__unloadChar, char)) - track.append(Func(self.delVar, name)) - return track def parseLoadSuit(self, line): token, name, suitType = line @@ -716,32 +669,9 @@ class NPCMoviePlayer(DirectObject.DirectObject): quitButton, extraChatFlags, dialogueList = self.parseExtraChatArgs(line[4:]) return Func(avatar.setLocalPageChat, chatString, quitButton, extraChatFlags, dialogueList) - def parseCCChatConfirm(self, line): - lineLength = len(line) - avatarName = line[1] - avatar = self.getVar(avatarName) - if self.toon.getStyle().gender == 'm': - chatString = eval('TTLocalizer.' + line[2] % 'Mickey') - else: - chatString = eval('TTLocalizer.' + line[2] % 'Minnie') - quitButton, extraChatFlags, dialogueList = self.parseExtraChatArgs(line[3:]) - return Func(avatar.setLocalPageChat, chatString, quitButton, extraChatFlags, dialogueList) + + - def parseCCChatToConfirm(self, line): - lineLength = len(line) - avatarKey = line[1] - avatar = self.getVar(avatarKey) - toAvatarKey = line[2] - toAvatar = self.getVar(toAvatarKey) - localizerAvatarName = toAvatar.getName().capitalize() - toAvatarName = eval('TTLocalizer.' + localizerAvatarName) - if self.toon.getStyle().gender == 'm': - chatString = eval('TTLocalizer.' + line[3] % 'Mickey') - else: - chatString = eval('TTLocalizer.' + line[3] % 'Minnie') - chatString = chatString.replace('%s', toAvatarName) - quitButton, extraChatFlags, dialogueList = self.parseExtraChatArgs(line[4:]) - return Func(avatar.setLocalPageChat, chatString, quitButton, extraChatFlags, dialogueList) def parsePlaySfx(self, line): if len(line) == 2: diff --git a/toontown/quest/QuestPoster.py b/toontown/quest/QuestPoster.py index cd8d761..c7bc28b 100644 --- a/toontown/quest/QuestPoster.py +++ b/toontown/quest/QuestPoster.py @@ -131,9 +131,9 @@ class QuestPoster(DirectFrame): def createNpcToonHead(self, toNpcId): npcInfo = NPCToons.NPCToonDict[toNpcId] dnaList = npcInfo[2] - gender = npcInfo[3] + eyelashes = npcInfo[3] if dnaList == 'r': - dnaList = NPCToons.getRandomDNA(toNpcId, gender) + dnaList = NPCToons.getRandomDNA(toNpcId, eyelashes) dna = ToonDNA.ToonDNA() dna.newToonFromProperties(*dnaList) head = ToonHead.ToonHead() diff --git a/toontown/rpc/AwardManagerConsts.py b/toontown/rpc/AwardManagerConsts.py index bdf5800..c64571a 100644 --- a/toontown/rpc/AwardManagerConsts.py +++ b/toontown/rpc/AwardManagerConsts.py @@ -1,6 +1,5 @@ -GiveAwardErrors = Enum('Success, WrongGender, NotGiftable, FullMailbox, FullAwardMailbox, AlreadyInMailbox, AlreadyInGiftQueue, AlreadyInOrderedQueue, AlreadyInCloset, AlreadyBeingWorn, AlreadyInAwardMailbox, AlreadyInThirtyMinuteQueue, AlreadyInMyPhrases, AlreadyKnowDoodleTraining, AlreadyRented, GenericAlreadyHaveError, UnknownError, UnknownToon, NonToon,') +GiveAwardErrors = Enum('Success, NotGiftable, FullMailbox, FullAwardMailbox, AlreadyInMailbox, AlreadyInGiftQueue, AlreadyInOrderedQueue, AlreadyInCloset, AlreadyBeingWorn, AlreadyInAwardMailbox, AlreadyInThirtyMinuteQueue, AlreadyInMyPhrases, AlreadyKnowDoodleTraining, AlreadyRented, GenericAlreadyHaveError, UnknownError, UnknownToon, NonToon,') GiveAwardErrorStrings = {GiveAwardErrors.Success: 'success', - GiveAwardErrors.WrongGender: 'wrong gender', GiveAwardErrors.NotGiftable: 'item is not giftable', GiveAwardErrors.FullMailbox: 'mailbox is full', GiveAwardErrors.FullAwardMailbox: 'award mailbox is full', diff --git a/toontown/toon/DistributedNPCTailor.py b/toontown/toon/DistributedNPCTailor.py index 85b0546..43250d7 100644 --- a/toontown/toon/DistributedNPCTailor.py +++ b/toontown/toon/DistributedNPCTailor.py @@ -143,7 +143,7 @@ class DistributedNPCTailor(DistributedNPCToonBase): if self.isLocalToon: taskMgr.doMethodLater(3.0, self.popupPurchaseGUI, self.uniqueName('popupPurchaseGUI')) print('-----------Starting tailor interaction-----------') - print('avid: %s, gender: %s' % (self.av.doId, self.av.style.gender)) + print('avid: %s' % (self.av.doId)) print('current top = %s,%s,%s,%s and bot = %s,%s,' % (self.av.style.topTex, self.av.style.topTexColor, self.av.style.sleeveTex, @@ -157,7 +157,7 @@ class DistributedNPCTailor(DistributedNPCToonBase): self.setChatAbsolute(TTLocalizer.STOREOWNER_GOODBYE, CFSpeech | CFTimeout) if self.av and self.isLocalToon: print('-----------ending tailor interaction-----------') - print('avid: %s, gender: %s' % (self.av.doId, self.av.style.gender)) + print('avid: %s' % (self.av.doId)) print('current top = %s,%s,%s,%s and bot = %s,%s,' % (self.av.style.topTex, self.av.style.topTexColor, self.av.style.sleeveTex, diff --git a/toontown/toon/DistributedToonAI.py b/toontown/toon/DistributedToonAI.py index b5489fe..40b4ee2 100644 --- a/toontown/toon/DistributedToonAI.py +++ b/toontown/toon/DistributedToonAI.py @@ -489,10 +489,8 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo changed = False if self.isPlayerControlled(): allowedColors = [] - if self.dna.gender == 'm': - allowedColors = ToonDNA.defaultBoyColorList + [26] - else: - allowedColors = ToonDNA.defaultGirlColorList + [26] + allowedColors = ToonDNA.defaultColorList + [26] + if self.dna.legColor not in allowedColors: self.dna.legColor = allowedColors[0] changed = True diff --git a/toontown/toon/NPCFriendPanel.py b/toontown/toon/NPCFriendPanel.py index f527f60..b4f4904 100644 --- a/toontown/toon/NPCFriendPanel.py +++ b/toontown/toon/NPCFriendPanel.py @@ -208,9 +208,9 @@ class NPCFriendCard(DirectFrame): def createNPCToonHead(self, NPCID, dimension = 0.5): NPCInfo = NPCToons.NPCToonDict[NPCID] dnaList = NPCInfo[2] - gender = NPCInfo[3] + eyelashes = NPCInfo[3] if dnaList == 'r': - dnaList = NPCToons.getRandomDNA(NPCID, gender) + dnaList = NPCToons.getRandomDNA(NPCID, eyelashes) dna = ToonDNA.ToonDNA() dna.newToonFromProperties(*dnaList) head = ToonHead.ToonHead() diff --git a/toontown/toon/NPCToons.py b/toontown/toon/NPCToons.py index 5b9030f..bd2bccf 100644 --- a/toontown/toon/NPCToons.py +++ b/toontown/toon/NPCToons.py @@ -63,9 +63,9 @@ TAILOR_COUNTDOWN_TIME = 300 RTDNAFile = '/RTDNAFile.txt' saveDNA = False -def getRandomDNA(seed, gender): +def getRandomDNA(seed, eyelashes): randomDNA = ToonDNA.ToonDNA() - randomDNA.newToonRandom(seed, gender, 1) + randomDNA.newToonRandom(seed, eyelashes, 1) return randomDNA.asTuple() @@ -81,7 +81,7 @@ def createNPC(air, npcId, desc, zoneId, posIndex = 0, questCallback = None): from . import DistributedNPCSpecialQuestGiverAI from . import DistributedNPCFlippyInToonHallAI from . import DistributedNPCScientistAI - canonicalZoneId, name, dnaType, gender, protected, type = desc + canonicalZoneId, name, dnaType, eyelashes, protected, type = desc if type == NPC_REGULAR: npc = DistributedNPCToonAI.DistributedNPCToonAI(air, npcId, questCallback=questCallback) elif type == NPC_HQ: @@ -111,7 +111,7 @@ def createNPC(air, npcId, desc, zoneId, posIndex = 0, questCallback = None): npc.setName(name) dna = ToonDNA.ToonDNA() if dnaType == 'r': - dnaList = getRandomDNA(npcId, gender) + dnaList = getRandomDNA(npcId, eyelashes) else: dnaList = dnaType if saveDNA: @@ -169,14 +169,14 @@ def createLocalNPC(npcId): if npcId not in NPCToonDict: return None desc = NPCToonDict[npcId] - canonicalZoneId, name, dnaType, gender, protected, type = desc + canonicalZoneId, name, dnaType, eyelashes, protected, type = desc npc = Toon.Toon() npc.setName(name) npc.setPickable(0) npc.setPlayerType(NametagGroup.CCNonPlayer) dna = ToonDNA.ToonDNA() if dnaType == 'r': - dnaList = getRandomDNA(npcId, gender) + dnaList = getRandomDNA(npcId, eyelashes) else: dnaList = dnaType dna.newToonFromProperties(*dnaList) diff --git a/toontown/toon/TailorClothesGUI.py b/toontown/toon/TailorClothesGUI.py index 9e02a62..b2ac150 100644 --- a/toontown/toon/TailorClothesGUI.py +++ b/toontown/toon/TailorClothesGUI.py @@ -10,11 +10,10 @@ class TailorClothesGUI(ClothesGUI.ClothesGUI): def setupScrollInterface(self): self.dna = self.toon.getStyle() - gender = self.dna.getGender() if self.swapEvent != None: - self.tops = ToonDNA.getTops(gender, tailorId=self.tailorId) - self.bottoms = ToonDNA.getBottoms(gender, tailorId=self.tailorId) - self.gender = gender + self.tops = ToonDNA.getTops(tailorId=self.tailorId) + self.bottoms = ToonDNA.getBottoms(tailorId=self.tailorId) + self.topChoice = -1 self.bottomChoice = -1 self.setupButtons() diff --git a/toontown/toon/Toon.py b/toontown/toon/Toon.py index 1615cf9..1d22027 100644 --- a/toontown/toon/Toon.py +++ b/toontown/toon/Toon.py @@ -610,7 +610,7 @@ class Toon(Avatar.Avatar, ToonHead): return def updateToonDNA(self, newDNA, fForce = 0): - self.style.gender = newDNA.getGender() + self.style.eyelashes = newDNA.getEyelashes() oldDNA = self.style if fForce or newDNA.head != oldDNA.head: self.swapToonHead(newDNA.head) diff --git a/toontown/toon/ToonDNA.py b/toontown/toon/ToonDNA.py index 0da51ea..e6aeba3 100644 --- a/toontown/toon/ToonDNA.py +++ b/toontown/toon/ToonDNA.py @@ -358,7 +358,6 @@ GirlShirts = [(0, 0), (22, 0)] -= def isValidBoyShirt(index): for pair in BoyShirts: @@ -1348,7 +1347,7 @@ def getRandomGirlBottomAndColor(type): return (style[0], random.choice(style[1])) -def getRandomizedTops(gender, tailorId = MAKE_A_TOON, generator = None): +def getRandomizedTops(tailorId = MAKE_A_TOON, generator = None): if generator == None: generator = random collection = TailorCollections[tailorId] @@ -1367,7 +1366,7 @@ def getRandomizedTops(gender, tailorId = MAKE_A_TOON, generator = None): return tops -def getRandomizedBottoms(gender, tailorId = MAKE_A_TOON, generator = None): +def getRandomizedBottoms(tailorId = MAKE_A_TOON, generator = None): if generator == None: generator = random collection = TailorCollections[tailorId] @@ -1384,7 +1383,7 @@ def getRandomizedBottoms(gender, tailorId = MAKE_A_TOON, generator = None): return bottoms -def getTops(gender, tailorId = MAKE_A_TOON): +def getTops(tailorId = MAKE_A_TOON): collection = TailorCollections[tailorId][SHIRTS] tops = [] for style in collection: @@ -1397,11 +1396,10 @@ def getTops(gender, tailorId = MAKE_A_TOON): return tops -def getAllTops(gender): +def getAllTops(): tops = [] for style in list(ShirtStyles.keys()): - if gender == 'm': - if style[0] == 'g' or style[:3] == 'c_g': + if style[0] == 'g' or style[:3] == 'c_g': continue elif style[0] == 'b' or style[:3] == 'c_b': continue @@ -1414,7 +1412,7 @@ def getAllTops(gender): return tops -def getBottoms(gender, tailorId = MAKE_A_TOON): +def getBottoms(tailorId = MAKE_A_TOON): collection = TailorCollections[tailorId][BOTTOMS] bottoms = [] for style in collection: @@ -1424,7 +1422,7 @@ def getBottoms(gender, tailorId = MAKE_A_TOON): return bottoms -def getAllBottoms(gender, output = 'both'): +def getAllBottoms(output = 'both'): bottoms = [] for style in list(BottomStyles.keys()): @@ -2146,7 +2144,7 @@ class ToonDNA(AvatarDNA.AvatarDNA): self.botTex = defn[0] self.botTexColor = defn[1][colorIndex] - def newToonRandom(self, seed = None, eyelashes = 'm', npc = 0, stage = None): + def newToonRandom(self, seed = None, eyelashes = 0, npc = 0, stage = None): if seed: generator = random.Random() generator.seed(seed) @@ -2157,7 +2155,7 @@ class ToonDNA(AvatarDNA.AvatarDNA): 'l', 'l', 'l']) - self.gender = gender + self.eyelashes = eyelashes if not npc: if stage == MAKE_A_TOON: if not base.cr.isPaid(): @@ -2270,8 +2268,10 @@ class ToonDNA(AvatarDNA.AvatarDNA): else: notify.error('unknown leg size: ', self.legs) - def getGender(self): - return self.gender + + + def getEyelashes(self): + return self.eyelashes def getClothes(self): if len(self.torso) == 1: diff --git a/toontown/toon/ToonHead.py b/toontown/toon/ToonHead.py index 8ac6f87..2fcbafc 100644 --- a/toontown/toon/ToonHead.py +++ b/toontown/toon/ToonHead.py @@ -736,7 +736,7 @@ class ToonHead(Actor.Actor): return reachedTarget def setupEyelashes(self, style): - if style.getGender() == 'm': + if style.getEyelashes(): if self.__eyelashOpen: self.__eyelashOpen.removeNode() self.__eyelashOpen = None diff --git a/toontown/toonbase/TTLocalizerEnglishProperty.py b/toontown/toonbase/TTLocalizerEnglishProperty.py index cd70ec0..9e20cfa 100644 --- a/toontown/toonbase/TTLocalizerEnglishProperty.py +++ b/toontown/toonbase/TTLocalizerEnglishProperty.py @@ -129,7 +129,6 @@ NSnameResult = (0.09, 0.084, 0.084) NSnameLabel = 0.1 NStypeNotification = 0.08 NScolorPrecede = True -MATenterGenderShop = 0.18 MATenterBodyShop = 0.18 MATenterColorShop = 0.18 MATenterClothesShop = 0.16