def doResultDialog(self):
     self.startInteraction()
     curTrack, curLevel = GardenGlobals.getTreeTrackAndLevel(self.typeIndex)
     species = GardenGlobals.getTreeTypeIndex(curTrack, curLevel)
     treeName = GardenGlobals.PlantAttributes[species]['name']
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(treeName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=stringToShow, command=self.resultsCallback)
Exemplo n.º 2
0
 def doResultDialog(self):
     self.startInteraction()
     flowerName = GardenGlobals.getFlowerVarietyName(self.species, self.variety)
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(flowerName)
     self.resultDialog = TTDialog.TTDialog(
         style=TTDialog.Acknowledge, text=stringToShow, command=self.resultsCallback
     )
Exemplo n.º 3
0
def getCardName(value):
    if value == Unknown:
        return TTLocalizer.PlayingCardUnknown
    else:
        rank = value % MaxRank
        suit = value / MaxRank
        return TTLocalizer.getPlayingCardName(suit, rank)
 def __showData(self):
     av = self.avatar
     online = 1
     if base.cr.isFriend(self.avId):
         online = base.cr.isFriendOnline(self.avId)
     if online:
         shardName = base.cr.getShardName(av.defaultShard)
         hoodName = base.cr.hoodMgr.getFullnameFromId(av.lastHood)
         if ZoneUtil.isWelcomeValley(av.lastHood):
             shardName = '%s (%s)' % (TTLocalizer.WelcomeValley[-1], shardName)
         if self.playerInfo:
             guiButton = loader.loadModel('phase_3/models/gui/quit_button')
             self.gotoAvatarButton = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=1.1, text=TTLocalizer.AvatarShowPlayer, text_scale=0.07, text_pos=(0.0, -0.02), textMayChange=0, pos=(0.44, 0, 0.41), command=self.__showAvatar)
             text = TTLocalizer.AvatarDetailPanelOnlinePlayer % {'district': shardName,
              'location': hoodName,
              'player': self.playerInfo.playerName}
         else:
             text = TTLocalizer.AvatarDetailPanelOnline % {'district': shardName,
              'location': hoodName}
     else:
         text = TTLocalizer.AvatarDetailPanelOffline % {'last_seen': TTLocalizer.getLastSeenString(self.avatar.getLastSeen())}
     self.dataText['text'] = text
     self.__updateTrackInfo()
     self.__updateTrophyInfo()
     self.__updateLaffInfo()
     return
 def __handleFlowerPlantingDone(self, willPlant = 0, recipeStr = '', special = -1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     successPlanting = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(recipeKey)
             if species >= 0 and variety >= 0:
                 self.sendUpdate('plantFlower', [species, variety])
                 successPlanting = True
         else:
             self.notify.debug('%s %d is not a valid recipe' % (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         flowerName = GardenGlobals.getFlowerVarietyName(species, variety)
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(flowerName)
     elif willPlant:
         self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=TTLocalizer.ResultPlantedNothing, command=self.popupFlowerPlantingGuiAgain)
     else:
         self.finishInteraction()
Exemplo n.º 6
0
 def __init__(self, doneEvent, petSeed, petNameIndex):
     zoneId = ZoneUtil.getCanonicalSafeZoneId(base.localAvatar.getZoneId())
     name, dna, traitSeed = PetUtil.getPetInfoFromSeed(petSeed, zoneId)
     name = TTLocalizer.getPetName(petNameIndex)
     cost = PetUtil.getPetCostFromSeed(petSeed, zoneId)
     model = loader.loadModel('phase_4/models/gui/AdoptPet')
     modelPos = (0, 0, -0.3)
     modelScale = 0.055
     DirectFrame.__init__(self, relief=None, state='normal', geom=model, geom_color=ToontownGlobals.GlobalDialogColor, geom_scale=modelScale, frameSize=(-1, 1, -1, 1), pos=modelPos, text=TTLocalizer.PetshopAdoptConfirm % (name, cost), text_wordwrap=12, text_scale=0.05, text_pos=(0, 0.55), text_fg=text0Color)
     self.initialiseoptions(PetshopGUI.AdoptPetDlg)
     self.petView = self.attachNewNode('petView')
     self.petView.setPos(-0.13, 0, 0.8)
     self.petModel = Pet.Pet(forGui=1)
     self.petModel.setDNA(dna)
     self.petModel.fitAndCenterHead(0.395, forGui=1)
     self.petModel.reparentTo(self.petView)
     self.petModel.setH(130)
     self.petModel.setScale(0.125)
     self.petModel.enterNeutralHappy()
     self.moneyDisplay = DirectLabel(parent=self, relief=None, text=str(base.localAvatar.getTotalMoney()), text_scale=0.075, text_fg=(0.95, 0.95, 0, 1), text_shadow=(0, 0, 0, 1), text_pos=(0.225, 0.33), text_font=ToontownGlobals.getSignFont())
     self.accept(localAvatar.uniqueName('moneyChange'), self.__moneyChange)
     self.accept(localAvatar.uniqueName('bankMoneyChange'), self.__moneyChange)
     okImageList = (model.find('**/CheckButtonUp'), model.find('**/CheckButtonDown'), model.find('**/CheckButtonRollover'))
     cancelImageList = (model.find('**/CancelButtonUp'), model.find('**/CancelButtonDown'), model.find('**/CancelRollover'))
     cancelIcon = model.find('**/CancelIcon')
     checkIcon = model.find('**/CheckIcon')
     self.cancelButton = DirectButton(parent=self, relief=None, image=cancelImageList, geom=cancelIcon, scale=modelScale, text=('', TTLocalizer.PetshopGoBack), text_pos=(-5.8, 4.4), text_scale=0.7, pressEffect=False, command=lambda : messenger.send(doneEvent, [0]))
     self.okButton = DirectButton(parent=self, relief=None, image=okImageList, geom=checkIcon, scale=modelScale, text=('', TTLocalizer.PetshopAdopt), text_pos=(5.8, 4.4), text_scale=0.7, pressEffect=False, command=lambda : messenger.send(doneEvent, [1]))
     model.removeNode()
     return
Exemplo n.º 7
0
def getPetInfoFromSeed(seed, safezoneId):
    S = random.getstate()
    random.seed(seed)
    dnaArray = PetDNA.getRandomPetDNA(safezoneId)
    gender = PetDNA.getGender(dnaArray)
    nameString = TTLocalizer.getRandomPetName(gender=gender, seed=seed)
    traitSeed = PythonUtil.randUint31()
    random.setstate(S)
    return (nameString, dnaArray, traitSeed)
 def display(self, pTrackTitle = 'Track Title', pPeriodTitle = 'Period Title', pLeaderList = []):
     self.titleTextNode.setText(pPeriodTitle)
     self.trackNameNode.setText(pTrackTitle)
     self.updateCount += 1
     for i in xrange(10):
         if i >= len(pLeaderList):
             self.nameTextNodes[i].setText('-')
             self.timeTextNodes[i].setText('-')
         else:
             self.nameTextNodes[i].setText(pLeaderList[i][0][:22])
             self.timeTextNodes[i].setText(TTLocalizer.convertSecondsToDate(pLeaderList[i][1]))
def getPlantItWithString(special):
    retval = ''
    recipeKey = getRecipeKeyUsingSpecial(special)
    if not recipeKey == -1:
        beanTuple = []
        beanStr = Recipes[recipeKey]['beans']
        for letter in beanStr:
            index = BeanColorLetters.index(letter)
            beanTuple.append(index)

        beanText = TTLocalizer.getRecipeBeanText(beanTuple)
        retval += TTLocalizer.PlantItWith % beanText
    return retval
Exemplo n.º 10
0
 def __handleItemPlantingDone(self,
                              willPlant=0,
                              recipeStr='',
                              selectedSpecial=-1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     gardenSpecials = base.localAvatar.getGardenSpecials()
     special = -1
     if selectedSpecial >= 0:
         special = gardenSpecials[selectedSpecial][0]
     successPlanting = False
     successToonStatue = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(
                 recipeKey)
             if species >= 0 and variety >= 0:
                 if GardenGlobals.PlantAttributes[species][
                         'plantType'] == GardenGlobals.STATUARY_TYPE:
                     successPlanting = True
                     if species >= 205 and species <= 208:
                         successToonStatue = True
                     else:
                         self.sendUpdate('plantStatuary', [species])
         else:
             self.notify.debug('%s %d is not a valid recipe' %
                               (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         itemName = GardenGlobals.PlantAttributes[species]['name']
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(
             itemName)
     elif willPlant:
         self.resultDialog = TTDialog.TTDialog(
             style=TTDialog.Acknowledge,
             text=TTLocalizer.ResultPlantedNothing,
             command=self.popupItemPlantingGuiAgain)
     else:
         self.finishInteraction()
     if successToonStatue:
         self.popupToonStatueSelectionGui(species)
     return
Exemplo n.º 11
0
    def __handleFlowerPlantingDone(self,
                                   willPlant=0,
                                   recipeStr="",
                                   special=-1):
        assert self.notify.debugStateCall(self)
        self.ignore(self.plantingGuiDoneEvent)
        self.ignore('stoppedAsleep')
        # Ask the AI to complete the sale
        #self.sendUpdate("completeFlowerSale", [sell])
        self.plantingGui.destroy()
        self.plantingGui = None
        base.localAvatar.showGardeningGui()
        base.localAvatar.removeShovelRelatedDoId(self.doId)

        successPlanting = False
        if willPlant:
            recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
            if recipeKey >= 0:
                species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(
                    recipeKey)
                if species >= 0 and variety >= 0:
                    self.sendUpdate('plantFlower', [species, variety])
                    successPlanting = True
            else:
                self.notify.debug("%s %d is not a valid recipe" %
                                  (recipeStr, special))
                burntBeans = len(recipeStr)
                self.sendUpdate('plantNothing', [burntBeans])

        if successPlanting:
            flowerName = GardenGlobals.getFlowerVarietyName(species, variety)
            stringToShow = TTLocalizer.getResultPlantedSomethingSentence(
                flowerName)

        #   the dialog will now come up after the planting movie
        #    self.resultDialog = TTDialog.TTDialog(
        #        style = TTDialog.Acknowledge,
        #        text = stringToShow,
        #        command = self.resultsCallback
        #        )
        elif willPlant:
            self.resultDialog = TTDialog.TTDialog(
                style=TTDialog.Acknowledge,
                text=TTLocalizer.ResultPlantedNothing,
                command=self.popupFlowerPlantingGuiAgain)
        else:
            #base.cr.playGame.getPlace().detectedGardenPlotDone()
            self.finishInteraction()
Exemplo n.º 12
0
    def updateInvitation(self, hostsName, partyInfo):
        self.partyInfo = partyInfo

        hostsName = TTLocalizer.GetPossesive(hostsName)
        if GMUtils.testGMIdentity(hostsName):
            hostsName = self.__handleGMName(hostsName)
        self.whosePartyLabel["text"] = TTLocalizer.PartyPlannerInvitationWhoseSentence % \
         hostsName

        if self.partyInfo.isPrivate:
            publicPrivateText = TTLocalizer.PartyPlannerPrivate.lower()
        else:
            publicPrivateText = TTLocalizer.PartyPlannerPublic.lower()

        activities = self.getActivitiesFormattedCorrectly()
        if self.noFriends:
            self.activityTextLabel[
                "text"] = TTLocalizer.PartyPlannerInvitationThemeWhatSentenceNoFriends % (
                    publicPrivateText,
                    activities,
                )
        else:
            self.activityTextLabel[
                "text"] = TTLocalizer.PartyPlannerInvitationThemeWhatSentence % (
                    publicPrivateText,
                    activities,
                )
        if self.noFriends:
            self.whenTextLabel[
                "text"] = TTLocalizer.PartyPlannerInvitationWhenSentenceNoFriends % (
                    PartyUtils.formatDate(self.partyInfo.startTime.year,
                                          self.partyInfo.startTime.month,
                                          self.partyInfo.startTime.day),
                    PartyUtils.formatTime(self.partyInfo.startTime.hour,
                                          self.partyInfo.startTime.minute),
                )
        else:
            self.whenTextLabel[
                "text"] = TTLocalizer.PartyPlannerInvitationWhenSentence % (
                    PartyUtils.formatDate(self.partyInfo.startTime.year,
                                          self.partyInfo.startTime.month,
                                          self.partyInfo.startTime.day),
                    PartyUtils.formatTime(self.partyInfo.startTime.hour,
                                          self.partyInfo.startTime.minute),
                )

        self.changeTheme(partyInfo.inviteTheme)
Exemplo n.º 13
0
 def _DistributedHouse__setupNamePlateCustom(self):
     self.notify.debug('__setupNamePlateCustom')
     if self.namePlate:
         self.namePlate.removeNode()
         del self.namePlate
         self.namePlate = None
     
     nameText = TextNode('nameText')
     nameText.setCardAsMargin(0.10000000000000001, 0.10000000000000001, 0.10000000000000001, 0.10000000000000001)
     nameText.setCardDecal(True)
     nameText.setCardColor(1.0, 1.0, 1.0, 0.0)
     r = self.randomGenerator.random()
     g = self.randomGenerator.random()
     b = self.randomGenerator.random()
     nameText.setTextColor(r, g, b, 1)
     nameText.setAlign(nameText.ACenter)
     nameText.setFont(ToontownGlobals.getBuildingNametagFont())
     nameText.setShadowColor(0, 0, 0, 1)
     nameText.setBin('fixed')
     if TTLocalizer.BuildingNametagShadow:
         nameText.setShadow(*TTLocalizer.BuildingNametagShadow)
     
     nameText.setWordwrap(16.0)
     xScale = 1.0
     numLines = 0
     if self.name == '':
         return None
     else:
         houseName = TTLocalizer.AvatarsHouse % TTLocalizer.GetPossesive(self.name)
     nameText.setText(houseName)
     self.nameText = nameText
     textHeight = nameText.getHeight() - 2
     textWidth = nameText.getWidth()
     xScale = 1.0
     if textWidth > 16:
         xScale = 16.0 / textWidth
     
     sign_origin = self.house.find('**/sign_origin')
     pos = sign_origin.getPos()
     sign_origin.setPosHpr(pos[0], pos[1], pos[2] + 0.14999999999999999 * textHeight, 90, 0, 0)
     self.namePlate = sign_origin.attachNewNode(self.nameText)
     self.namePlate.setDepthWrite(0)
     self.namePlate.setPos(0, -0.050000000000000003, 0)
     self.namePlate.setScale(xScale)
     return nameText
Exemplo n.º 14
0
 def __setupNametag(self):
     if self.nametag:
         self.clearNametag()
     if self.name == '':
         houseName = ''
     else:
         houseName = TTLocalizer.AvatarsHouse % TTLocalizer.GetPossesive(self.name)
     self.nametag = NametagGroup()
     self.nametag.setFont(ToontownGlobals.getBuildingNametagFont())
     if TTLocalizer.BuildingNametagShadow:
         self.nametag.setShadow(*TTLocalizer.BuildingNametagShadow)
     self.nametag.setContents(Nametag.CName)
     self.nametag.setColorCode(NametagGroup.CCToonBuilding)
     self.nametag.setActive(0)
     self.nametag.setAvatar(self.house)
     self.nametag.setObjectCode(self.doId)
     self.nametag.setName(houseName)
     self.nametag.manage(base.marginManager)
Exemplo n.º 15
0
 def _DistributedHouse__setupFloorMat(self, changeColor = True):
     if self.floorMat:
         self.floorMat.removeNode()
         del self.floorMat
         self.floorMat = None
     
     mat = self.house.find('**/mat')
     if changeColor:
         mat.setColor(0.40000000000000002, 0.35699999999999998, 0.25900000000000001, 1.0)
     
     color = HouseGlobals.houseColors[self.housePosInd]
     matText = TextNode('matText')
     matText.setTextColor(color[0], color[1], color[2], 1)
     matText.setAlign(matText.ACenter)
     matText.setFont(ToontownGlobals.getBuildingNametagFont())
     matText.setShadowColor(0, 0, 0, 1)
     matText.setBin('fixed')
     if TTLocalizer.BuildingNametagShadow:
         matText.setShadow(*TTLocalizer.BuildingNametagShadow)
     
     matText.setWordwrap(10.0)
     xScale = 1.0
     numLines = 0
     if self.name == '':
         return None
     else:
         houseName = TTLocalizer.AvatarsHouse % TTLocalizer.GetPossesive(self.name)
     matText.setText(houseName)
     self.matText = matText
     textHeight = matText.getHeight() - 2
     textWidth = matText.getWidth()
     xScale = 1.0
     if textWidth > 8:
         xScale = 8.0 / textWidth
     
     mat_origin = self.house.find('**/mat_origin')
     pos = mat_origin.getPos()
     mat_origin.setPosHpr(pos[0] - 0.14999999999999999 * textHeight, pos[1], pos[2], 90, -90, 0)
     self.floorMat = mat_origin.attachNewNode(self.matText)
     self.floorMat.setDepthWrite(0)
     self.floorMat.setPos(0, -0.025000000000000001, 0)
     self.floorMat.setScale(0.45000000000000001 * xScale)
 def __setupNametag(self):
     if self.nametag:
         self.clearNametag()
     if self.name == '':
         houseName = ''
     else:
         houseName = TTLocalizer.AvatarsHouse % TTLocalizer.GetPossesive(self.name)
     self.nametag = NametagGroup()
     self.nametag.setNametag3d(None)
     self.nametag.setFont(ToontownGlobals.getBuildingNametagFont())
     if TTLocalizer.BuildingNametagShadow:
         self.nametag.setShadow(*TTLocalizer.BuildingNametagShadow)
     self.nametag.hideChat()
     self.nametag.hideThought()
     nametagColor = NametagGlobals.NametagColors[NametagGlobals.CCToonBuilding]
     self.nametag.setNametagColor(nametagColor)
     self.nametag.setActive(False)
     self.nametag.setAvatar(self.house)
     self.nametag.setText(houseName)
     self.nametag.manage(base.marginManager)
     self.nametag.updateAll()
    def generateAchievementInfo(self):
        acievementInfo = TTLocalizer.getAchievementInfo(self.achievementId)

        title = TextNode('title')
        title.setText(acievementInfo[0])
        title.setFont(ToontownGlobals.getSignFont())
        title.setTextColor(1, 1, 1, 1)
        title.setAlign(TextNode.ACenter)

        titleNode = self.attachNewNode(title)
        titleNode.setScale(0.2)
        titleNode.setZ(0.2)

        description = TextNode('description')
        description.setText(acievementInfo[1])
        description.setFont(ToontownGlobals.getSignFont())
        description.setTextColor(1, 1, 1, 1)
        description.setAlign(TextNode.ACenter)

        descriptionNode = self.attachNewNode(description)
        descriptionNode.setScale(0.15)
        descriptionNode.setZ(-0.14)
    def generateAchievementInfo(self):
        acievementInfo = TTLocalizer.getAchievementInfo(self.achievementId)

        title = TextNode('title')
        title.setText(acievementInfo[0])
        title.setFont(ToontownGlobals.getSignFont())
        title.setTextColor(1, 1, 1, 1)
        title.setAlign(TextNode.ACenter)

        titleNode = self.attachNewNode(title)
        titleNode.setScale(0.2)
        titleNode.setZ(0.2)

        description = TextNode('description')
        description.setText(acievementInfo[1])
        description.setFont(ToontownGlobals.getSignFont())
        description.setTextColor(1, 1, 1, 1)
        description.setAlign(TextNode.ACenter)

        descriptionNode = self.attachNewNode(description)
        descriptionNode.setScale(0.15)
        descriptionNode.setZ(-0.14)
 def __handleItemPlantingDone(self, willPlant = 0, recipeStr = '', selectedSpecial = -1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     gardenSpecials = base.localAvatar.getGardenSpecials()
     special = -1
     if selectedSpecial >= 0:
         special = gardenSpecials[selectedSpecial][0]
     successPlanting = False
     successToonStatue = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(recipeKey)
             if species >= 0 and variety >= 0:
                 if GardenGlobals.PlantAttributes[species]['plantType'] == GardenGlobals.STATUARY_TYPE:
                     successPlanting = True
                     if species >= 205 and species <= 208:
                         successToonStatue = True
                     else:
                         self.sendUpdate('plantStatuary', [species])
         else:
             self.notify.debug('%s %d is not a valid recipe' % (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         itemName = GardenGlobals.PlantAttributes[species]['name']
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(itemName)
     elif willPlant:
         self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=TTLocalizer.ResultPlantedNothing, command=self.popupItemPlantingGuiAgain)
     else:
         self.finishInteraction()
     if successToonStatue:
         self.popupToonStatueSelectionGui(species)
     return
Exemplo n.º 20
0
 def createNewPetFromSeed(self, avId, seed, nameIndex, gender, safeZoneId):
     av = self.air.doId2do[avId]
     
     name = TTLocalizer.getPetName(nameIndex)
     _, dna, traitSeed = PetUtil.getPetInfoFromSeed(seed, safeZoneId)
     head, ears, nose, tail, body, color, cs, eye, _ = dna
     numGenders = len(PetDNA.PetGenders)
     gender %= numGenders
             
     fields = {'setOwnerId' : avId, 'setPetName' : name, 'setTraitSeed' : traitSeed, 'setSafeZone' : safeZoneId,
               'setHead' : head, 'setEars' : ears, 'setNose' : nose, 'setTail' : tail, 'setBodyTexture' : body,
               'setColor' : color, 'setColorScale' : cs, 'setEyeColor' : eye, 'setGender' : gender}
               
     def response(doId):
         if not doId:
             self.air.notify.warning("Cannot create pet for %s!" % avId)
             return
             
         self.air.writeServerEvent('bought-pet', avId, doId)
         av.b_setPetId(doId)
         
     self.air.dbInterface.createObject(self.air.dbId, self.air.dclassesByName['DistributedPetAI'],
                                       {k: (v,) for k,v in fields.items()}, response)
Exemplo n.º 21
0
 def __handleFlowerPlantingDone(self,
                                willPlant=0,
                                recipeStr='',
                                special=-1):
     self.ignore(self.plantingGuiDoneEvent)
     self.ignore('stoppedAsleep')
     self.plantingGui.destroy()
     self.plantingGui = None
     base.localAvatar.showGardeningGui()
     base.localAvatar.removeShovelRelatedDoId(self.doId)
     successPlanting = False
     if willPlant:
         recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
         if recipeKey >= 0:
             species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(
                 recipeKey)
             if species >= 0 and variety >= 0:
                 self.sendUpdate('plantFlower', [species, variety])
                 successPlanting = True
         else:
             self.notify.debug('%s %d is not a valid recipe' %
                               (recipeStr, special))
             burntBeans = len(recipeStr)
             self.sendUpdate('plantNothing', [burntBeans])
     if successPlanting:
         flowerName = GardenGlobals.getFlowerVarietyName(species, variety)
         stringToShow = TTLocalizer.getResultPlantedSomethingSentence(
             flowerName)
     else:
         if willPlant:
             self.resultDialog = TTDialog.TTDialog(
                 style=TTDialog.Acknowledge,
                 text=TTLocalizer.ResultPlantedNothing,
                 command=self.popupFlowerPlantingGuiAgain)
         else:
             self.finishInteraction()
     return
Exemplo n.º 22
0
 def __init__(self, doneEvent, petSeed, petNameIndex):
     zoneId = ZoneUtil.getCanonicalSafeZoneId(
         base.localAvatar.getZoneId())
     name, dna, traitSeed = PetUtil.getPetInfoFromSeed(petSeed, zoneId)
     name = TTLocalizer.getPetName(petNameIndex)
     cost = PetUtil.getPetCostFromSeed(petSeed, zoneId)
     model = loader.loadModel('phase_4/models/gui/AdoptPet')
     modelPos = (0, 0, -0.3)
     modelScale = 0.055
     DirectFrame.__init__(self,
                          relief=None,
                          state='normal',
                          geom=model,
                          geom_color=ToontownGlobals.GlobalDialogColor,
                          geom_scale=modelScale,
                          frameSize=(-1, 1, -1, 1),
                          pos=modelPos,
                          text=TTLocalizer.PetshopAdoptConfirm %
                          (name, cost),
                          text_wordwrap=12,
                          text_scale=0.05,
                          text_pos=(0, 0.55),
                          text_fg=text0Color)
     self.initialiseoptions(PetshopGUI.AdoptPetDlg)
     self.petView = self.attachNewNode('petView')
     self.petView.setPos(-0.13, 0, 0.8)
     self.petModel = Pet.Pet(forGui=1)
     self.petModel.setDNA(dna)
     self.petModel.fitAndCenterHead(0.395, forGui=1)
     self.petModel.reparentTo(self.petView)
     self.petModel.setH(130)
     self.petModel.setScale(0.125)
     self.petModel.enterNeutralHappy()
     self.moneyDisplay = DirectLabel(
         parent=self,
         relief=None,
         text=str(base.localAvatar.getTotalMoney()),
         text_scale=0.075,
         text_fg=(0.95, 0.95, 0, 1),
         text_shadow=(0, 0, 0, 1),
         text_pos=(0.225, 0.33),
         text_font=ToontownGlobals.getSignFont())
     self.accept(localAvatar.uniqueName('moneyChange'),
                 self.__moneyChange)
     self.accept(localAvatar.uniqueName('bankMoneyChange'),
                 self.__moneyChange)
     okImageList = (model.find('**/CheckButtonUp'),
                    model.find('**/CheckButtonDown'),
                    model.find('**/CheckButtonRollover'))
     cancelImageList = (model.find('**/CancelButtonUp'),
                        model.find('**/CancelButtonDown'),
                        model.find('**/CancelRollover'))
     cancelIcon = model.find('**/CancelIcon')
     checkIcon = model.find('**/CheckIcon')
     self.cancelButton = DirectButton(
         parent=self,
         relief=None,
         image=cancelImageList,
         geom=cancelIcon,
         scale=modelScale,
         text=('', TTLocalizer.PetshopGoBack),
         text_pos=(-5.8, 4.4),
         text_scale=0.7,
         pressEffect=False,
         command=lambda: messenger.send(doneEvent, [0]))
     self.okButton = DirectButton(
         parent=self,
         relief=None,
         image=okImageList,
         geom=checkIcon,
         scale=modelScale,
         text=('', TTLocalizer.PetshopAdopt),
         text_pos=(5.8, 4.4),
         text_scale=0.7,
         pressEffect=False,
         command=lambda: messenger.send(doneEvent, [1]))
     model.removeNode()
     return
Exemplo n.º 23
0
        def __init__(self, doneEvent, petSeed, gender):
            zoneId = ZoneUtil.getCanonicalSafeZoneId(
                base.localAvatar.getZoneId())
            name, dna, traitSeed = PetUtil.getPetInfoFromSeed(petSeed, zoneId)
            self.gui = loader.loadModel('phase_4/models/gui/PetNamePanel')
            self.guiScale = 0.09
            DirectFrame.__init__(self,
                                 relief=None,
                                 geom=self.gui,
                                 geom_scale=self.guiScale,
                                 state='normal',
                                 frameSize=(-1, 1, -1, 1))
            self.initialiseoptions(PetshopGUI.NamePicker)
            self.petView = self.attachNewNode('petView')
            self.petView.setPos(-0.21, 0, -0.04)
            self.petModel = Pet.Pet(forGui=1)
            self.petModel.setDNA(dna)
            self.petModel.fitAndCenterHead(0.435, forGui=1)
            self.petModel.reparentTo(self.petView)
            self.petModel.setH(225)
            self.petModel.setScale(0.125)
            self.petModel.enterNeutralHappy()
            self.allNames = TTLocalizer.NeutralPetNames
            if gender == 0:
                self.allNames += TTLocalizer.BoyPetNames
            else:
                self.allNames += TTLocalizer.GirlPetNames
            self.allNames.sort()
            self.letters = []
            for name in self.allNames:
                if name[0:TTLocalizer.PGUIcharLength] not in self.letters:
                    self.letters.append(name[0:TTLocalizer.PGUIcharLength])

            self.curLetter = self.letters[0]
            self.curNames = []
            self.curName = ''
            self.alphabetList = self.makeScrollList(
                self.gui, (-0.012, 0, -0.075), (1, 0.8, 0.8, 1), self.letters,
                self.makeLabel, [TextNode.ACenter, 'alphabet'], 6)
            self.nameList = None
            self.rebuildNameList()
            self.randomButton = DirectButton(
                parent=self,
                relief=None,
                image=(self.gui.find('**/RandomUpButton'),
                       self.gui.find('**/RandomDownButton'),
                       self.gui.find('**/RandomRolloverButton')),
                scale=self.guiScale,
                text=TTLocalizer.RandomButton,
                text_pos=(-0.8, -5.7),
                text_scale=0.8,
                text_fg=text2Color,
                pressEffect=False,
                command=self.randomName)
            self.nameResult = DirectLabel(parent=self,
                                          relief=None,
                                          scale=self.guiScale,
                                          text='',
                                          text_align=TextNode.ACenter,
                                          text_pos=(-1.85, 2.6),
                                          text_fg=text0Color,
                                          text_scale=0.6,
                                          text_wordwrap=8)
            self.submitButton = DirectButton(
                parent=self,
                relief=None,
                image=(self.gui.find('**/SubmitUpButton'),
                       self.gui.find('**/SubmitDownButton'),
                       self.gui.find('**/SubmitRolloverButton')),
                scale=self.guiScale,
                text=TTLocalizer.PetshopAdopt,
                text_pos=(3.3, -5.7),
                text_scale=TTLocalizer.PGUIsubmitButton,
                text_fg=text0Color,
                pressEffect=False,
                command=lambda: messenger.send(
                    doneEvent, [TTLocalizer.getPetNameId(self.curName)]))
            model = loader.loadModel('phase_4/models/gui/PetShopInterface')
            modelScale = 0.1
            cancelImageList = (model.find('**/CancelButtonUp'),
                               model.find('**/CancelButtonDown'),
                               model.find('**/CancelButtonRollover'))
            cancelIcon = model.find('**/CancelIcon')
            self.cancelButton = DirectButton(
                parent=self,
                relief=None,
                pos=(-0.04, 0, -0.47),
                image=cancelImageList,
                geom=cancelIcon,
                scale=modelScale,
                pressEffect=False,
                command=lambda: messenger.send(doneEvent, [-1]))
            self.randomName()
            return
Exemplo n.º 24
0
 def getName(self):
     return TTLocalizer.getHouseNameById(self.houseType)
Exemplo n.º 25
0
 def doResultDialog(self):
     self.startInteraction()
     itemName = GardenGlobals.PlantAttributes[self.typeIndex]['name']
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(itemName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=stringToShow, command=self.resultsCallback)
Exemplo n.º 26
0
def getCardName(value):
    if value == Unknown:
        return TTLocalizer.PlayingCardUnknown
    rank = value % MaxRank
    suit = value / MaxRank
    return TTLocalizer.getPlayingCardName(suit, rank)
Exemplo n.º 27
0
 def doResultDialog(self):
     self.startInteraction()
     itemName = GardenGlobals.PlantAttributes[self.typeIndex]['name']
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(itemName)
     self.resultDialog = TTDialog.TTDialog(style = TTDialog.Acknowledge, text = stringToShow, command = self.resultsCallback)
Exemplo n.º 28
0
    def __handleItemPlantingDone(self,
                                 willPlant=0,
                                 recipeStr="",
                                 selectedSpecial=-1):
        assert self.notify.debugStateCall(self)
        self.ignore(self.plantingGuiDoneEvent)
        self.ignore('stoppedAsleep')
        # Ask the AI to complete the sale
        #self.sendUpdate("completeFlowerSale", [sell])
        self.plantingGui.destroy()
        self.plantingGui = None
        base.localAvatar.showGardeningGui()
        base.localAvatar.removeShovelRelatedDoId(self.doId)

        gardenSpecials = base.localAvatar.getGardenSpecials()
        special = -1
        if selectedSpecial >= 0:
            special = gardenSpecials[selectedSpecial][0]

        successPlanting = False
        successToonStatue = False
        if willPlant:
            recipeKey = GardenGlobals.getRecipeKey(recipeStr, special)
            if recipeKey >= 0:
                species, variety = GardenGlobals.getSpeciesVarietyGivenRecipe(
                    recipeKey)
                if species >= 0 and variety >= 0:
                    #make sure it is a statuary and not a flower
                    if GardenGlobals.PlantAttributes[species][
                            'plantType'] == GardenGlobals.STATUARY_TYPE:
                        successPlanting = True
                        # Handle ToonStatues separately because another screen has to be added
                        if species >= 205 and species <= 208:
                            successToonStatue = True
                        else:
                            self.sendUpdate('plantStatuary', [species])
            else:
                self.notify.debug("%s %d is not a valid recipe" %
                                  (recipeStr, special))
                burntBeans = len(recipeStr)
                self.sendUpdate('plantNothing', [burntBeans])

        if successPlanting:
            itemName = GardenGlobals.PlantAttributes[species]['name']
            stringToShow = TTLocalizer.getResultPlantedSomethingSentence(
                itemName)

        #    self.resultDialog = TTDialog.TTDialog(
        #        style = TTDialog.Acknowledge,
        #        text = stringToShow,
        #        command = self.resultsCallback
        #        )
        elif willPlant:
            self.resultDialog = TTDialog.TTDialog(
                style=TTDialog.Acknowledge,
                text=TTLocalizer.ResultPlantedNothing,
                command=self.popupItemPlantingGuiAgain)
        else:
            #base.cr.playGame.getPlace().detectedGardenPlotDone()
            self.finishInteraction()

        if successToonStatue:
            self.popupToonStatueSelectionGui(species)
Exemplo n.º 29
0
    def enter(self):
        ShtikerPage.ShtikerPage.enter(self)
        # Get the current street name
        try:
            zone = base.cr.playGame.getPlace().getZoneId()
        except:
            zone = 0

        # if we are going to an HQ, change the button
        if base.localAvatar.lastHood >= ToontownGlobals.BossbotHQ:
            self.safeZoneButton['text'] = TTLocalizer.MapPageBackToCogHQ
        else:
            self.safeZoneButton['text'] = TTLocalizer.MapPageBackToPlayground

        if ((zone and ZoneUtil.isPlayground(zone)) or self.book.safeMode):
            self.safeZoneButton.hide()
        else:
            self.safeZoneButton.show()

        if ((base.cr.playGame.getPlaceId() == ToontownGlobals.MyEstate
             and base.cr.playGame.hood.loader.atMyEstate())
                or self.book.safeMode):
            self.goHomeButton.hide()
        elif base.housingEnabled:
            self.goHomeButton.show()

        if base.cr.playGame.getPlaceId() == ToontownGlobals.MyEstate:
            if base.cr.playGame.hood.loader.atMyEstate():
                self.hoodLabel['text'] = (TTLocalizer.MapPageYouAreAtHome)
                self.hoodLabel.show()
            else:
                avatar = base.cr.identifyAvatar(
                    base.cr.playGame.hood.loader.estateOwnerId)
                if avatar:
                    avName = avatar.getName()
                    self.hoodLabel['text'] = (
                        TTLocalizer.MapPageYouAreAtSomeonesHome %
                        (TTLocalizer.GetPossesive(avName)))
                    self.hoodLabel.show()
        elif zone:
            hoodName = ToontownGlobals.hoodNameMap.get(
                ZoneUtil.getCanonicalHoodId(zone), ("", ))[-1]
            streetName = ToontownGlobals.StreetNames.get(
                ZoneUtil.getCanonicalBranchZone(zone), ("", ))[-1]
            # Make sure we have a hoodName to report
            # It is ok if we do not have a street name, it will just be empty
            if hoodName:
                self.hoodLabel['text'] = (TTLocalizer.MapPageYouAreHere %
                                          (hoodName, streetName))
                self.hoodLabel.show()
            else:
                self.hoodLabel.hide()
        else:
            self.hoodLabel.hide()

        safeZonesVisited = base.localAvatar.hoodsVisited
        hoodsAvailable = base.cr.hoodMgr.getAvailableZones()

        #print("### hoods visited = ", safeZonesVisited)
        #print("### hoods avail = ", hoodsAvailable)

        # The hoods that we can see is the intersection of the zones we have
        # visited and the hoods that are available
        hoodVisibleList = PythonUtil.intersection(safeZonesVisited,
                                                  hoodsAvailable)

        #print("### hoods viz = ", hoodVisibleList)

        # The hoods that we can teleport to is the intersection of the hoods
        # we can see and the hoods the local toon has teleport access to
        hoodTeleportList = base.localAvatar.getTeleportAccess()

        for hood in self.allZones:
            label = self.labels[self.allZones.index(hood)]
            clouds = self.clouds[self.allZones.index(hood)]
            # If we can see that hood, show the button, hide the clouds
            if ((not self.book.safeMode) and (hood in hoodVisibleList)):
                label.show()
                for cloud in clouds:
                    cloud.hide()
                fullname = base.cr.hoodMgr.getFullnameFromId(hood)
                if hood in hoodTeleportList:
                    text = (TTLocalizer.MapPageGoTo % fullname)
                    label['text'] = ("", text, text)
                else:
                    label['text'] = ("", fullname, fullname)

            # If we cannot see that hood, hide the button, show the clouds
            else:
                label.hide()
                for cloud in clouds:
                    cloud.show()

        return
Exemplo n.º 30
0
    def enter(self):
        ShtikerPage.ShtikerPage.enter(self)
        try:
            zone = base.cr.playGame.getPlace().getZoneId()
        except:
            zone = 0

        if base.localAvatar.lastHood >= ToontownGlobals.BossbotHQ:
            self.safeZoneButton['text'] = TTLocalizer.MapPageBackToCogHQ
        else:
            self.safeZoneButton['text'] = TTLocalizer.MapPageBackToPlayground
        if zone and ZoneUtil.isPlayground(zone) or self.book.safeMode:
            self.safeZoneButton.hide()
        else:
            self.safeZoneButton.show()
        if base.cr.playGame.getPlaceId(
        ) == ToontownGlobals.MyEstate and base.cr.playGame.hood.loader.atMyEstate(
        ) or self.book.safeMode:
            self.goHomeButton.hide()
        elif base.housingEnabled:
            self.goHomeButton.show()
        if base.cr.playGame.getPlaceId() == ToontownGlobals.MyEstate:
            if base.cr.playGame.hood.loader.atMyEstate():
                self.hoodLabel['text'] = TTLocalizer.MapPageYouAreAtHome
                self.hoodLabel.show()
            else:
                avatar = base.cr.identifyAvatar(
                    base.cr.playGame.hood.loader.estateOwnerId)
                if avatar:
                    avName = avatar.getName()
                    self.hoodLabel[
                        'text'] = TTLocalizer.MapPageYouAreAtSomeonesHome % TTLocalizer.GetPossesive(
                            avName)
                    self.hoodLabel.show()
        elif zone:
            hoodName = ToontownGlobals.hoodNameMap.get(
                ZoneUtil.getCanonicalHoodId(zone), ('', ))[-1]
            streetName = ToontownGlobals.StreetNames.get(
                ZoneUtil.getCanonicalBranchZone(zone), ('', ))[-1]
            if hoodName:
                self.hoodLabel['text'] = TTLocalizer.MapPageYouAreHere % (
                    hoodName, streetName)
                self.hoodLabel.show()
            else:
                self.hoodLabel.hide()
        else:
            self.hoodLabel.hide()
        safeZonesVisited = base.localAvatar.hoodsVisited
        hoodsAvailable = base.cr.hoodMgr.getAvailableZones()
        hoodVisibleList = PythonUtil.intersection(safeZonesVisited,
                                                  hoodsAvailable)
        hoodTeleportList = base.localAvatar.getTeleportAccess()
        for hood in self.allZones:
            label = self.labels[self.allZones.index(hood)]
            clouds = self.clouds[self.allZones.index(hood)]
            if not self.book.safeMode and hood in hoodVisibleList:
                label['text_fg'] = (0, 0, 0, 1)
                label.show()
                for cloud in clouds:
                    cloud.hide()

                fullname = base.cr.hoodMgr.getFullnameFromId(hood)
                if hood in hoodTeleportList:
                    text = TTLocalizer.MapPageGoTo % fullname
                    label['text'] = ('', text, text)
                else:
                    label['text'] = ('', fullname, fullname)
            else:
                label['text_fg'] = (0, 0, 0, 0.65)
                label.show()
                for cloud in clouds:
                    cloud.show()
Exemplo n.º 31
0
 def doResultDialog(self):
     self.startInteraction()
     flowerName = GardenGlobals.getFlowerVarietyName(self.species, self.variety)
     stringToShow = TTLocalizer.getResultPlantedSomethingSentence(flowerName)
     self.resultDialog = TTDialog.TTDialog(style=TTDialog.Acknowledge, text=stringToShow, command=self.resultsCallback)
Exemplo n.º 32
0
 def getName(self):
     return TTLocalizer.getHouseNameById(self.houseType)
Exemplo n.º 33
0
        def __init__(self, doneEvent, petSeed, gender):
            zoneId = ZoneUtil.getCanonicalSafeZoneId(base.localAvatar.getZoneId())
            name, dna, traitSeed = PetUtil.getPetInfoFromSeed(petSeed, zoneId)
            self.gui = loader.loadModel('phase_4/models/gui/PetNamePanel')
            self.guiScale = 0.09
            DirectFrame.__init__(self, relief=None, geom=self.gui, geom_scale=self.guiScale, state='normal', frameSize=(-1, 1, -1, 1))
            self.initialiseoptions(PetshopGUI.NamePicker)
            self.petView = self.attachNewNode('petView')
            self.petView.setPos(-0.21, 0, -0.04)
            self.petModel = Pet.Pet(forGui=1)
            self.petModel.setDNA(dna)
            self.petModel.fitAndCenterHead(0.435, forGui=1)
            self.petModel.reparentTo(self.petView)
            self.petModel.setH(225)
            self.petModel.setScale(0.125)
            self.petModel.enterNeutralHappy()
            self.allNames = TTLocalizer.NeutralPetNames
            if gender == 0:
                self.allNames += TTLocalizer.BoyPetNames
            else:
                self.allNames += TTLocalizer.GirlPetNames
            self.allNames.sort()
            self.letters = []
            for name in self.allNames:
                if name[0:TTLocalizer.PGUIcharLength] not in self.letters:
                    self.letters.append(name[0:TTLocalizer.PGUIcharLength])

            self.curLetter = self.letters[0]
            self.curNames = []
            self.curName = ''
            self.alphabetList = self.makeScrollList(self.gui, (-0.012, 0, -0.075), (1, 0.8, 0.8, 1), self.letters, self.makeLabel, [TextNode.ACenter, 'alphabet'], 6)
            self.nameList = None
            self.rebuildNameList()
            self.randomButton = DirectButton(parent=self, relief=None, image=(self.gui.find('**/RandomUpButton'), self.gui.find('**/RandomDownButton'), self.gui.find('**/RandomRolloverButton')), scale=self.guiScale, text=TTLocalizer.RandomButton, text_pos=(-0.8, -5.7), text_scale=0.8, text_fg=text2Color, pressEffect=False, command=self.randomName)
            self.nameResult = DirectLabel(parent=self, relief=None, scale=self.guiScale, text='', text_align=TextNode.ACenter, text_pos=(-1.85, 2.6), text_fg=text0Color, text_scale=0.6, text_wordwrap=8)
            self.submitButton = DirectButton(parent=self, relief=None, image=(self.gui.find('**/SubmitUpButton'), self.gui.find('**/SubmitDownButton'), self.gui.find('**/SubmitRolloverButton')), scale=self.guiScale, text=TTLocalizer.PetshopAdopt, text_pos=(3.3, -5.7), text_scale=TTLocalizer.PGUIsubmitButton, text_fg=text0Color, pressEffect=False, command=lambda : messenger.send(doneEvent, [TTLocalizer.getPetNameId(self.curName)]))
            model = loader.loadModel('phase_4/models/gui/PetShopInterface')
            modelScale = 0.1
            cancelImageList = (model.find('**/CancelButtonUp'), model.find('**/CancelButtonDown'), model.find('**/CancelButtonRollover'))
            cancelIcon = model.find('**/CancelIcon')
            self.cancelButton = DirectButton(parent=self, relief=None, pos=(-0.04, 0, -0.47), image=cancelImageList, geom=cancelIcon, scale=modelScale, pressEffect=False, command=lambda : messenger.send(doneEvent, [-1]))
            self.randomName()
            return
 def spawnTitleText(self):
     if not self.hostName:
         return
     partyText = TTLocalizer.PartyTitleText % TTLocalizer.GetPossesive(self.hostName)
     self.doSpawnTitleText(partyText)
from toontown.toonbase import TTLocalizer

language = TTLocalizer.getLanguage()

# Log config

logFatal = True
logError = True
logWarning = True
logLog = True
logInfo = True
logDebug = False
logChat = True
logSecurity = True
logMaxLinesInMemory = 100

# DB config
ttDbHost = "localhost"
ttDbPort = 3306

if language == 'castillian':
    ttDbName = "es_toontownTopDb"
elif language == "japanese":
    ttDbName = "jp_toontownTopDb"
elif language == "portuguese":
    ttDbName = "br_toontownTopDb"
elif language == "french":
    ttDbName = "french_toontownTopDb"
else:
    ttDbName = "toontownTopDb"