From 983eb61b68a1726b0c2cd61a2ca1c998abfbe658 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 29 Mar 2015 19:46:50 +0300 Subject: [PATCH] Fix pet shop --- toontown/pets/PetDNA.py | 21 +++++++++++---------- toontown/pets/PetUtil.py | 4 ++-- toontown/toon/DistributedNPCPetclerkAI.py | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/toontown/pets/PetDNA.py b/toontown/pets/PetDNA.py index 3395464f..46be0712 100644 --- a/toontown/pets/PetDNA.py +++ b/toontown/pets/PetDNA.py @@ -2,6 +2,7 @@ from toontown.toon import ToonDNA from pandac.PandaModules import VBase4 from toontown.toonbase import TTLocalizer, ToontownGlobals from direct.showbase import PythonUtil +import random NumFields = 9 Fields = {'head': 0, 'ears': 1, @@ -179,17 +180,17 @@ PetEyeColors = (VBase4(0.29, 0.29, 0.69, 1.0), VBase4(0.49, 0.99, 0.49, 1.0)) PetGenders = [0, 1] -def getRandomPetDNA(zoneId = ToontownGlobals.DonaldsDreamland): - from random import choice - head = choice(range(-1, len(HeadParts))) - ears = choice(range(-1, len(EarParts))) - nose = choice(range(-1, len(NoseParts))) - tail = choice(range(-1, len(TailParts))) +def getRandomPetDNA(seed = 0, zoneId = ToontownGlobals.DonaldsDreamland): + random.seed(seed + zoneId) + head = random.choice(range(-1, len(HeadParts))) + ears = random.choice(range(-1, len(EarParts))) + nose = random.choice(range(-1, len(NoseParts))) + tail = random.choice(range(-1, len(TailParts))) body = getSpecies(zoneId) - color = choice(range(0, len(getColors(body)))) - colorScale = choice(range(0, len(ColorScales))) - eyes = choice(range(0, len(PetEyeColors))) - gender = choice(range(0, len(PetGenders))) + color = random.choice(range(0, len(getColors(body)))) + colorScale = random.choice(range(0, len(ColorScales))) + eyes = random.choice(range(0, len(PetEyeColors))) + gender = random.choice(range(0, len(PetGenders))) return [head, ears, nose, diff --git a/toontown/pets/PetUtil.py b/toontown/pets/PetUtil.py index 8eb1c11a..454482c9 100644 --- a/toontown/pets/PetUtil.py +++ b/toontown/pets/PetUtil.py @@ -3,9 +3,9 @@ from toontown.toonbase import TTLocalizer from direct.showbase import PythonUtil def getPetInfoFromSeed(seed, safezoneId): - dnaArray = PetDNA.getRandomPetDNA(safezoneId) + dnaArray = PetDNA.getRandomPetDNA(seed, safezoneId) gender = PetDNA.getGender(dnaArray) - nameString = TTLocalizer.getRandomPetName(gender=gender, seed=seed + safezoneId) + nameString = TTLocalizer.getRandomPetName(gender=gender, seed=seed) traitSeed = PythonUtil.randUint31() return (nameString, dnaArray, traitSeed) diff --git a/toontown/toon/DistributedNPCPetclerkAI.py b/toontown/toon/DistributedNPCPetclerkAI.py index 92c0e578..2daee72d 100644 --- a/toontown/toon/DistributedNPCPetclerkAI.py +++ b/toontown/toon/DistributedNPCPetclerkAI.py @@ -105,7 +105,7 @@ class DistributedNPCPetclerkAI(DistributedNPCToonBaseAI): if av.petId != 0: simbase.air.petMgr.deleteToonsPet(avId) gender = petNum % len(PetDNA.PetGenders) - if nameIndex not in xrange(0, TTLocalizer.PetNameIndexMAX): + if nameIndex not in xrange(0, len(TTLocalizer.PetNameDictionary) - 1): self.air.writeServerEvent('avoid_crash', avId, "DistributedNPCPetclerkAI.petAdopted and didn't have valid nameIndex!") self.notify.warning("somebody called petAdopted and didn't have valid nameIndex to adopt! avId: %s" % avId) return