Beispiel #1
0
 def __init__(self):
     Avatar.Avatar.__init__(self)
     self.setFont(ToontownGlobals.getSuitFont())
     self.nametag.setSpeechFont(ToontownGlobals.getSuitFont())
     self.setPlayerType(NametagGroup.CCSuit)
     self.setPickable(0)
     self.doorA = None
     self.doorB = None
     self.bubbleL = None
     self.bubbleR = None
     self.raised = 1
     self.forward = 1
     self.happy = 1
     self.dizzy = 0
     self.nowRaised = 1
     self.nowForward = 1
     self.nowHappy = 1
     self.currentAnimIval = None
     self.queuedAnimIvals = []
     self.treadsLeftPos = 0
     self.treadsRightPos = 0
     self.healthBar = None
     self.healthCondition = 0
     self.animDoneEvent = 'BossCogAnimDone'
     self.animIvalName = 'BossCogAnimIval'
     self.attackSpeed = 1
     return
Beispiel #2
0
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     Level.Level.__init__(self)
     self.lastToonZone = None
     self.lastCamZone = 0
     self.titleColor = (1, 1, 1, 1)
     self.titleText = OnscreenText.OnscreenText(
         '',
         fg=self.titleColor,
         shadow=(0, 0, 0, 1),
         font=ToontownGlobals.getSuitFont(),
         pos=(0, -0.5),
         scale=0.16,
         drawOrder=0,
         mayChange=1)
     self.smallTitleText = OnscreenText.OnscreenText(
         '',
         fg=self.titleColor,
         font=ToontownGlobals.getSuitFont(),
         pos=(0.65, 0.9),
         scale=0.08,
         drawOrder=0,
         mayChange=1,
         bg=(0.5, 0.5, 0.5, 0.5),
         align=TextNode.ARight)
     self.titleSeq = None
     self.zonesEnteredList = []
     self.avIdList = []
     self.fColorZones = 0
     self.scenarioIndex = 0
Beispiel #3
0
 def __init__(self):
     Avatar.Avatar.__init__(self)
     self.setFont(ToontownGlobals.getSuitFont())
     self.setSpeechFont(ToontownGlobals.getSuitFont())
     self.setPlayerType(NametagGroup.CCSuit)
     self.setPickable(0)
     self.doorA = None
     self.doorB = None
     self.bubbleL = None
     self.bubbleR = None
     self.raised = 1
     self.forward = 1
     self.happy = 1
     self.dizzy = 0
     self.nowRaised = 1
     self.nowForward = 1
     self.nowHappy = 1
     self.currentAnimIval = None
     self.queuedAnimIvals = []
     self.treadsLeftPos = 0
     self.treadsRightPos = 0
     self.healthBar = None
     self.healthCondition = 0
     self.animDoneEvent = 'BossCogAnimDone'
     self.animIvalName = 'BossCogAnimIval'
     self.dummyBoss = False
     self.bossClub = None
     return
Beispiel #4
0
 def makePanels(self):
     self.panels = []
     base.panels = []
     xStart = -0.66
     yStart = -0.18
     xOffset = 0.199
     yOffset = 0.2272
     gui = loader.loadModel('phase_3.5/models/gui/suit_detail_panel')
     gui.find('**/avatar_panel/shadow').setColor(1, 1, 1, 0.5)
     self.rolloverFrame = DirectFrame(
         parent=self.panelNode,
         relief=None,
         geom=gui.find('**/avatar_panel'),
         geom_color=(0.5, 0.5, 0.5, 1),
         geom_scale=(0.59, 0, 0.21),
         text_scale=0.06,
         text_pos=(0, 0.35),
         text='',
         text_fg=(1, 1, 1, 1),
         text_font=ToontownGlobals.getSuitFont(),
         pos=(0.8, 0, 0))
     self.rolloverFrame.setBin('gui-popup', 0)
     self.rolloverFrame.hide()
     gui.removeNode()
     for dept in xrange(0, len(SuitDNA.suitDepts)):
         row = []
         color = PANEL_COLORS[dept]
         for type in xrange(0, SuitDNA.suitsPerDept):
             panel = DirectLabel(parent=self.panelNode,
                                 pos=(xStart + type * xOffset, 0.0,
                                      yStart - dept * yOffset),
                                 relief=None,
                                 state=DGG.NORMAL,
                                 image=self.panelModel,
                                 image_scale=(1, 1, 0.8),
                                 image_color=color,
                                 text=TTLocalizer.SuitPageMystery,
                                 text_scale=0.045,
                                 text_fg=(0, 0, 0, 1),
                                 text_pos=(0, 0.148, 0),
                                 text_font=ToontownGlobals.getSuitFont(),
                                 text_wordwrap=7)
             panel.scale = 0.6
             panel.setScale(panel.scale)
             panel.quotaLabel = None
             panel.head = None
             panel.shadow = None
             panel.count = 0
             panel.summonButton = None
             panel.hoverButton = DirectButton(
                 parent=panel,
                 relief=None,
                 image_scale=(0.15, 0, 0.180),
                 image='phase_3/maps/invisible.png',
                 pressEffect=0)
             panel.hoverButton.setTransparency(True)
             panel.hoverButton.panel = panel
             self.addCogRadarLabel(panel)
             self.panels.append(panel)
             base.panels.append(panel)
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     Level.Level.__init__(self)
     self.lastToonZone = None
     self.lastCamZone = 0
     self.titleColor = (1, 1, 1, 1)
     self.titleText = OnscreenText.OnscreenText(
         "",
         fg=self.titleColor,
         shadow=(0, 0, 0, 1),
         font=ToontownGlobals.getSuitFont(),
         pos=(0, -0.5),
         scale=0.16,
         drawOrder=0,
         mayChange=1,
     )
     self.smallTitleText = OnscreenText.OnscreenText(
         "",
         fg=self.titleColor,
         font=ToontownGlobals.getSuitFont(),
         pos=(0.65000000000000002, 0.90000000000000002),
         scale=0.080000000000000002,
         drawOrder=0,
         mayChange=1,
         bg=(0.5, 0.5, 0.5, 0.5),
         align=TextNode.ARight,
     )
     self.zonesEnteredList = []
     self.fColorZones = 0
     self.scenarioIndex = 0
 def makeSign(self,
              topStr,
              signStr,
              textId,
              scale=TTLocalizer.BCHQLsignText):
     if signStr != 'sign_2':
         text = TextEncoder.upper(
             TTLocalizer.GlobalStreetNames[textId][(-1)])
     else:
         text = 'The Chairman'
     if topStr != '':
         top = self.geom.find('**/' + topStr)
         sign = top.find('**/' + signStr)
         if topStr == 'TunnelEntrance':
             topple = top.find('**/TunnelFront')
             locator = topple.find('**/sign_origin')
         else:
             locator = top.find('**/sign_origin')
         signText = DirectGui.OnscreenText(
             text=text,
             font=ToontownGlobals.getSuitFont(),
             scale=scale,
             fg=(0, 0, 0, 1),
             parent=sign)
         signText.setPosHpr(locator, 0, -0.1, -0.25, 0, 0, 0)
     else:
         sign = self.geom.find('**/' + signStr)
         signText = DirectGui.OnscreenText(
             text=text,
             font=ToontownGlobals.getSuitFont(),
             scale=scale,
             fg=(0, 0, 0, 1),
             parent=sign)
         signText.setPosHpr(sign, 0.4, -174.5, -8.75, 0, 0, 0)
     signText.setDepthWrite(0)
 def __init__(self):
     Avatar.Avatar.__init__(self)
     self.setFont(ToontownGlobals.getSuitFont())
     self.nametag.setSpeechFont(ToontownGlobals.getSuitFont())
     self.setPlayerType(NametagGroup.CCSuit)
     self.setPickable(0)
     self.doorA = None
     self.doorB = None
     self.bubbleL = None
     self.bubbleR = None
     self.raised = 1
     self.forward = 1
     self.happy = 1
     self.dizzy = 0
     self.nowRaised = 1
     self.nowForward = 1
     self.nowHappy = 1
     self.currentAnimIval = None
     self.queuedAnimIvals = []
     self.treadsLeftPos = 0
     self.treadsRightPos = 0
     self.healthBar = SuitHealthBar.SuitHealthBar()
     self.animDoneEvent = 'BossCogAnimDone'
     self.animIvalName = 'BossCogAnimIval'
     self.warningSfx = loader.loadSfx(
         'phase_9/audio/sfx/CHQ_GOON_tractor_beam_alarmed.ogg')
 def __init__(self):
     Avatar.Avatar.__init__(self)
     self.setFont(ToontownGlobals.getSuitFont())
     self.nametag.setSpeechFont(ToontownGlobals.getSuitFont())
     self.setPlayerType(NametagGroup.CCSuit)
     self.setPickable(0)
     self.doorA = None
     self.doorB = None
     self.bubbleL = None
     self.bubbleR = None
     self.raised = 1
     self.forward = 1
     self.happy = 1
     self.dizzy = 0
     self.nowRaised = 1
     self.nowForward = 1
     self.nowHappy = 1
     self.currentAnimIval = None
     self.queuedAnimIvals = []
     self.treadsLeftPos = 0
     self.treadsRightPos = 0
     self.healthBar = SuitHealthBar.SuitHealthBar()
     self.animDoneEvent = 'BossCogAnimDone'
     self.animIvalName = 'BossCogAnimIval'
     self.warningSfx = loader.loadSfx('phase_9/audio/sfx/CHQ_GOON_tractor_beam_alarmed.ogg')
Beispiel #9
0
 def setEntranceId(self, entranceId):
     self.entranceId = entranceId
     geom = self.cr.playGame.hood.loader.geom
     locator = geom.find('**/elevator_origin_%s' % entranceId)
     if locator:
         self.elevatorModel.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     else:
         self.notify.error('No origin found for originId: %s' % entranceId)
     entranceId2zoneId = {
         0: ToontownGlobals.LawbotStageIntA,
         1: ToontownGlobals.LawbotStageIntB,
         2: ToontownGlobals.LawbotStageIntC,
         3: ToontownGlobals.LawbotStageIntD
     }
     self.intZoneId = entranceId2zoneId[entranceId]
     locator = geom.find('**/elevator_signorigin_%s' % entranceId)
     backgroundGeom = geom.find('**/ElevatorFrameFront_%d' % entranceId)
     backgroundGeom.node().setEffect(DecalEffect.make())
     signText = DirectGui.OnscreenText(text=TextEncoder.upper(
         TTLocalizer.GlobalStreetNames[self.intZoneId][(-1)]),
                                       font=ToontownGlobals.getSuitFont(),
                                       scale=2,
                                       fg=(0.87, 0.87, 0.87, 1),
                                       mayChange=False,
                                       parent=backgroundGeom)
     signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     signText.setDepthWrite(0)
Beispiel #10
0
 def __init__(self, id, code, modelToCopy):
     DirectFrame.__init__(self,
                          relief=None,
                          state=DGG.NORMAL,
                          sortOrder=DGG.BACKGROUND_SORT_INDEX)
     self._id = id
     self._model = modelToCopy.copyTo(self)
     self._model.setPos(0, 0, 0)
     self._bg = self._model.find('**/bossBackground')
     self._bossIcon = self._model.find('**/bossIcon')
     self._bossIconX = self._model.find('**/bossIconX')
     self._bossIconX.reparentTo(self._bossIcon)
     self._bossIconX.hide()
     self._bg.hide()
     self._bossIcon.setBin('fixed', 2)
     self._bg.setBin('fixed', 3)
     self._label = DirectLabel(
         parent=self._bg,
         relief=None,
         scale=Globals.BossCodeFrameLabelScale,
         text=code,
         pos=(0, 0, -0.03),
         text_align=TextNode.ACenter,
         text_fg=Globals.BossCodeFrameLabelNormalColor,
         text_shadow=(0, 0, 0, 0),
         text_font=ToontownGlobals.getSuitFont())
 def setMintId(self, mintId):
     self.mintId = mintId
     mintId2originId = {
         ToontownGlobals.CashbotMintIntA: 1,
         ToontownGlobals.CashbotMintIntB: 2,
         ToontownGlobals.CashbotMintIntC: 0
     }
     originId = mintId2originId[self.mintId]
     geom = self.cr.playGame.hood.loader.geom
     locator = geom.find('**/elevator_origin_%s' % originId)
     if locator:
         self.elevatorModel.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     else:
         self.notify.error('No origin found for originId: %s' % originId)
     locator = geom.find('**/elevator_signorigin_%s' % originId)
     backgroundGeom = geom.find('**/ElevatorFrameFront_%d' % originId)
     backgroundGeom.node().setEffect(DecalEffect.make())
     signText = DirectGui.OnscreenText(text=TextEncoder.upper(
         TTLocalizer.GlobalStreetNames[mintId][(-1)]),
                                       font=ToontownGlobals.getSuitFont(),
                                       scale=TTLocalizer.DMEEsignText,
                                       fg=(0.87, 0.87, 0.87, 1),
                                       mayChange=False,
                                       parent=backgroundGeom)
     signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     signText.setDepthWrite(0)
 def loadPlaceGeom(self, zoneId):
     self.notify.info('loadPlaceGeom: %s' % zoneId)
     zoneId = zoneId - zoneId % 100
     self.__handleInterests(zoneId)
     if zoneId == ToontownGlobals.CashbotHQ:
         self.geom = loader.loadModel(self.cogHQExteriorModelPath)
         ddLinkTunnel = self.geom.find('**/LinkTunnel1')
         ddLinkTunnel.setName('linktunnel_dl_9252_DNARoot')
         locator = self.geom.find('**/sign_origin')
         backgroundGeom = self.geom.find('**/EntranceFrameFront')
         backgroundGeom.node().setEffect(DecalEffect.make())
         signText = DirectGui.OnscreenText(
             text=TTLocalizer.DonaldsDreamland[-1],
             font=ToontownGlobals.getSuitFont(),
             scale=3,
             fg=(0.87, 0.87, 0.87, 1),
             mayChange=False,
             parent=backgroundGeom)
         signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
         signText.setDepthWrite(0)
     elif zoneId == ToontownGlobals.CashbotLobby:
         if base.config.GetBool('want-qa-regression', 0):
             self.notify.info('QA-REGRESSION: COGHQ: Visit CashbotLobby')
         self.geom = loader.loadModel(self.cogHQLobbyModelPath)
     else:
         self.notify.warning('loadPlaceGeom: unclassified zone %s' % zoneId)
     CogHQLoader.CogHQLoader.loadPlaceGeom(self, zoneId)
 def setMintId(self, mintId):
     self.mintId = mintId
     mintId2originId = {
         ToontownGlobals.CashbotMintIntA: 1,
         ToontownGlobals.CashbotMintIntB: 2,
         ToontownGlobals.CashbotMintIntC: 0,
     }
     originId = mintId2originId[self.mintId]
     geom = self.cr.playGame.hood.loader.geom
     locator = geom.find("**/elevator_origin_%s" % originId)
     if locator:
         self.elevatorModel.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     else:
         self.notify.error("No origin found for originId: %s" % originId)
     locator = geom.find("**/elevator_signorigin_%s" % originId)
     backgroundGeom = geom.find("**/ElevatorFrameFront_%d" % originId)
     backgroundGeom.node().setEffect(DecalEffect.make())
     signText = DirectGui.OnscreenText(
         text=TextEncoder.upper(TTLocalizer.GlobalStreetNames[mintId][-1]),
         font=ToontownGlobals.getSuitFont(),
         scale=TTLocalizer.DMEEsignText,
         fg=(0.87, 0.87, 0.87, 1),
         mayChange=False,
         parent=backgroundGeom,
     )
     signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
     signText.setDepthWrite(0)
 def begin(self, range, label, gui, tipCategory, zoneId):
     self.waitBar['range'] = range
     self.title['text'] = label
     if ToontownGlobals.BossbotHQ <= zoneId <= ToontownGlobals.LawbotHQ:
         self.title['text_font'] = ToontownGlobals.getSuitFont()
     else:
         self.title['text_font'] = ToontownGlobals.getSignFont()
     loadingScreenTex = self.zone2picture.get(
         ZoneUtil.getBranchZone(zoneId), self.defaultTex)
     self.background = loader.loadTexture(loadingScreenTex)
     self.__count = 0
     self.__expectedCount = range
     if gui:
         self.title.setPos(0, 0, 0.26)
         self.gui.setPos(0, -0.1, 0)
         self.gui.reparentTo(aspect2d, LOADING_SCREEN_SORT_INDEX)
         self.gui.setTexture(self.background, 1)
         if loadingScreenTex == self.defaultTex:
             self.logo.reparentTo(base.a2dpTopCenter,
                                  LOADING_SCREEN_SORT_INDEX)
     else:
         self.gui.reparentTo(hidden)
         self.logo.reparentTo(hidden)
     self.title.reparentTo(base.a2dpBottomCenter, LOADING_SCREEN_SORT_INDEX)
     self.waitBar.reparentTo(base.a2dpBottomCenter,
                             LOADING_SCREEN_SORT_INDEX)
     self.waitBar.update(self.__count)
Beispiel #15
0
    def __init__(self, withinTTH=False):
        FSM.__init__(self, "FNAFBase")

        self.withinTTH = withinTTH

        if not self.withinTTH:
            base.cogFont = loader.loadFont('data/vtRemingtonPortable.ttf')
            base.accept("escape", self.handleEsc)
            base.accept("f9", self.screenshot)

        else:
            from toontown.toonbase import ToontownGlobals
            base.cogFont = ToontownGlobals.getSuitFont()

        base.level = Level()
        base.timer = Timer()
        base.camControls = CameraControls()

        if not self.withinTTH:
            self.handleGotPhases()

        self.ray = CollisionRay()
        cNode = CollisionNode('mousePicker')
        cNode.addSolid(self.ray)
        cNode.setCollideMask(BitMask32(8))
        self.cnp = base.cam.attachNewNode(cNode)

        self.handler = CollisionHandlerQueue()
        self.clickTrav = CollisionTraverser('cTrav')
        self.clickTrav.addCollider(self.cnp, self.handler)
        base.accept('mouse1', self.__handleClick)

        self.night = 1
Beispiel #16
0
 def __init__(self, withinTTH=False):
     FSM.__init__(self, "FNAFBase")
     
     self.withinTTH = withinTTH
     
     if not self.withinTTH:
         base.cogFont = loader.loadFont('data/vtRemingtonPortable.ttf')
         base.accept("escape", self.handleEsc)
         base.accept("f9", self.screenshot)
         
     else:
         from toontown.toonbase import ToontownGlobals
         base.cogFont = ToontownGlobals.getSuitFont()
     
     base.level = Level()            
     base.timer = Timer()
     base.camControls = CameraControls()
     
     if not self.withinTTH:
         self.handleGotPhases()
     
     self.ray = CollisionRay()
     cNode = CollisionNode('mousePicker')
     cNode.addSolid(self.ray)
     cNode.setCollideMask(BitMask32(8))
     self.cnp = base.cam.attachNewNode(cNode)
     
     self.handler = CollisionHandlerQueue()
     self.clickTrav = CollisionTraverser('cTrav')
     self.clickTrav.addCollider(self.cnp, self.handler)
     base.accept('mouse1', self.__handleClick)
     
     self.night = 1
Beispiel #17
0
    def _initModel(self):
        codeFrameGap = Globals.BossCodeFrameGap
        codeFrameWidth = Globals.BossCodeFrameWidth
        self._model = CogdoUtil.loadMazeModel('bossCog', group='gui')
        self._model.reparentTo(self)
        self._model.find('**/frame').setBin('fixed', 1)
        titleLabelPos = self._model.find('**/title_label_loc').getPos()
        self._titleLabel = DirectLabel(
            parent=self,
            relief=None,
            scale=Globals.BossGuiTitleLabelScale,
            text=TTLocalizer.CogdoMazeGameBossGuiTitle.upper(),
            pos=titleLabelPos,
            text_align=TextNode.ACenter,
            text_fg=(0, 0, 0, 1),
            text_shadow=(0, 0, 0, 0),
            text_font=ToontownGlobals.getSuitFont())
        self._titleLabel.setBin('fixed', 1)
        bossCard = self._model.find('**/bossCard')
        self._openDoor = self._model.find('**/doorOpen')
        self._closedDoor = self._model.find('**/doorClosed')
        self._openDoor.stash()
        spacingX = codeFrameWidth + codeFrameGap
        startX = -0.5 * ((self._codeLength - 1) * spacingX - codeFrameGap)
        for i in xrange(self._codeLength):
            marker = CogdoMazeBossCodeFrame(i, self._code[i], bossCard)
            marker.reparentTo(self)
            marker.setPos(bossCard, startX + spacingX * i, 0, 0)
            self._markers.append(marker)

        bossCard.removeNode()
Beispiel #18
0
    def __init__(self):
        try:
            self.Suit_initialized
            return
        except:
            self.Suit_initialized = 1

        Avatar.Avatar.__init__(self)
        self.setFont(ToontownGlobals.getSuitFont())
        self.setPlayerType(NametagGlobals.CCSuit)
        self.setPickable(1)
        self.leftHand = None
        self.rightHand = None
        self.leftHands = []
        self.rightHands = []
        self.shadowJoint = None
        self.nametagJoint = None
        self.headParts = []
        self.healthBar = None
        self.healthCondition = 0
        self.isDisguised = 0
        self.isCogHead = 0
        self.isWaiter = 0
        self.isRental = 0
        self.isSJ = 0
        self.setBlend(frameBlend=True)
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     self.toons = []
     self.activeIntervals = {}
     self.openSfx = base.loadSfx('phase_5/audio/sfx/elevator_door_open.ogg')
     self.closeSfx = base.loadSfx('phase_5/audio/sfx/elevator_door_close.ogg')
     self.suits = []
     self.reserveSuits = []
     self.joiningReserves = []
     self.distBldgDoId = None
     self.currentFloor = -1
     self.numFloors = None
     self.elevatorName = self.__uniqueName('elevator')
     self.floorModel = None
     self.elevatorOutOpen = 0
     self.BottomFloor_SuitPositions = [Point3(0, 15, 0),
      Point3(10, 20, 0),
      Point3(-7, 24, 0),
      Point3(-10, 0, 0)]
     self.BottomFloor_SuitHs = [75,
      170,
      -91,
      -44]
     self.Cubicle_SuitPositions = [Point3(0, 18, 0),
      Point3(10, 12, 0),
      Point3(-9, 11, 0),
      Point3(-3, 13, 0)]
     self.Cubicle_SuitHs = [170,
      56,
      -52,
      10]
     self.BossOffice_SuitPositions = [Point3(0, 15, 0),
      Point3(10, 20, 0),
      Point3(-10, 6, 0),
      Point3(-17, 34, 11)]
     self.BossOffice_SuitHs = [170,
      120,
      12,
      38]
     self.defaultcou = 1
     self.cou = TextNode('counter')
     self.coupath = aspect2d.attachNewNode(self.cou)
     self.coupath.setScale(0.09)
     self.coupath.setPos(0.9, 0, -0.9)
     self.cou.setFont(ToontownGlobals.getSuitFont())
     self.cou.setCardColor(1e-05, 1e-05, 1e-05, 0.3)
     self.cou.setCardAsMargin(0.3, 0.3, 0.2, 0.2)
     self.cou.setCardDecal(True)
     self.waitMusic = base.loadMusic('phase_7/audio/bgm/encntr_toon_winning_indoor.ogg')
     self.elevatorMusic = base.loadMusic('phase_7/audio/bgm/tt_elevator.ogg')
     self.fsm = ClassicFSM.ClassicFSM('DistributedSuitInterior', [State.State('WaitForAllToonsInside', self.enterWaitForAllToonsInside, self.exitWaitForAllToonsInside, ['Elevator']),
      State.State('Elevator', self.enterElevator, self.exitElevator, ['Battle']),
      State.State('purchase', ClerkPurchase.ClerkPurchase.enterPurchase, ClerkPurchase.ClerkPurchase.exitPurchase, ['walk', 'doorOut']),
      State.State('Battle', self.enterBattle, self.exitBattle, ['Resting', 'Reward', 'ReservesJoining']),
      State.State('ReservesJoining', self.enterReservesJoining, self.exitReservesJoining, ['Battle']),
      State.State('Resting', self.enterResting, self.exitResting, ['Elevator']),
      State.State('Reward', self.enterReward, self.exitReward, ['Off']),
      State.State('Off', self.enterOff, self.exitOff, ['Elevator', 'WaitForAllToonsInside', 'Battle'])], 'Off', 'Off')
     self.fsm.enterInitialState()
     return
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     self.lastCamEnterRoom = 0
     self.titleColor = (1, 1, 1, 1)
     self.titleText = OnscreenText.OnscreenText('', fg=self.titleColor, shadow=(0, 0, 0, 1), font=ToontownGlobals.getSignFont(), pos=(0, -0.5), scale=0.1, drawOrder=0, mayChange=1)
     self.smallTitleText = OnscreenText.OnscreenText('', fg=self.titleColor, font=ToontownGlobals.getSuitFont(), pos=(0.65, 0.9), scale=0.08, drawOrder=0, mayChange=1, bg=(0.5, 0.5, 0.5, 0.5), align=TextNode.ARight)
     self.titleSequence = None
Beispiel #21
0
 def makePanels(self):
     self.panels = []
     base.panels = []
     xStart = -0.66000000000000003
     yStart = -0.17999999999999999
     xOffset = 0.19900000000000001
     yOffset = 0.28399999999999997
     for dept in range(0, len(SuitDNA.suitDepts)):
         row = []
         color = PANEL_COLORS[dept]
         for type in range(0, SuitDNA.suitsPerDept):
             panel = DirectLabel(parent=self.panelNode,
                                 pos=(xStart + type * xOffset, 0.0,
                                      yStart - dept * yOffset),
                                 relief=None,
                                 state=DGG.NORMAL,
                                 image=self.panelModel,
                                 image_scale=(1, 1, 1),
                                 image_color=color,
                                 text=TTLocalizer.SuitPageMystery,
                                 text_scale=0.044999999999999998,
                                 text_fg=(0, 0, 0, 1),
                                 text_pos=(0, 0.185, 0),
                                 text_font=ToontownGlobals.getSuitFont(),
                                 text_wordwrap=7)
             panel.scale = 0.59999999999999998
             panel.setScale(panel.scale)
             panel.quotaLabel = None
             panel.head = None
             panel.shadow = None
             panel.count = 0
             panel.summonButton = None
             self.addCogRadarLabel(panel)
             self.panels.append(panel)
             base.panels.append(panel)
Beispiel #22
0
 def setupEndSection(self, index):
     aspectSF = 0.7227
     self.endSectionNP = NodePath('EndSection')
     self.endSectionNP.reparentTo(self.game.assetMgr.world)
     self.endSectionNP.setX(self.incrementX)
     self.endWall = self.game.assetMgr.startingWall.copyTo(self.endSectionNP)
     self.endWall.setPos(100, 0, 4)
     self.endWall.setScale(0.8)
     self.endArrow = self.game.assetMgr.arrow.copyTo(self.endSectionNP)
     self.endArrow.setPos(6, 1.5, 12.76)
     self.exitElevator = self.game.assetMgr.exitElevator.copyTo(self.endSectionNP)
     self.exitElevator.setPos(52, -2, 12.7)
     cogSignModel = loader.loadModel('phase_4/models/props/sign_sellBotHeadHQ')
     cogSign = cogSignModel.find('**/sign_sellBotHeadHQ')
     cogSignSF = 23
     elevatorSignSF = 15
     sideDoor = self.exitElevator.find('**/doorway2')
     sdSign = cogSign.copyTo(sideDoor)
     sdSign.setPosHprScale(0, 1.9, 15, 0, 0, 0, elevatorSignSF, elevatorSignSF, elevatorSignSF * aspectSF)
     sdSign.node().setEffect(DecalEffect.make())
     sdText = DirectGui.OnscreenText(text=TTLocalizer.TwoDGameElevatorExit, font=ToontownGlobals.getSuitFont(), pos=(0, -0.34), scale=0.15, mayChange=False, parent=sdSign)
     sdText.setDepthWrite(0)
     self.sectionNPList.append(self.endSectionNP)
     endSectionInfo = ('end',
      [],
      [],
      [0],
      [])
     endSection = TwoDSection.TwoDSection(index, endSectionInfo, self.endSectionNP, self)
     self.sections.append(endSection)
     self.incrementX += endSection.length
Beispiel #23
0
 def loadPlaceGeom(self, zoneId):
     self.notify.info('loadPlaceGeom: %s' % zoneId)
     zoneId = zoneId - zoneId % 100
     if zoneId == ToontownGlobals.BoardbotHQ:
         self.geom = loader.loadModel(self.cogHQExteriorModelPath)
         #ddLinkTunnel = self.geom.find('**/tunnel1')
         #ddLinkTunnel.setName('linktunnel_dl_9252_DNARoot')
         locator = self.geom.find('**/sign_origin')
         signText = DirectGui.OnscreenText(
             text=TTLocalizer.DonaldsDreamland[-1],
             font=ToontownGlobals.getSuitFont(),
             scale=3,
             fg=(0.87, 0.87, 0.87, 1),
             mayChange=False,
             parent=self.geom)
         signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
         signText.setDepthWrite(0)
         self.geom.flattenMedium()
     elif zoneId == ToontownGlobals.BoardbotOfficeLobby:
         self.geom = loader.loadModel(self.factoryExteriorModelPath)
         self.geom.flattenMedium()
     elif zoneId == ToontownGlobals.BoardbotLobby:
         if base.config.GetBool('want-qa-regression', 0):
             self.notify.info('QA-REGRESSION: COGHQ: Visit BoardbotLobby')
         self.geom = loader.loadModel(self.cogHQLobbyModelPath)
         self.geom.flattenMedium()
     else:
         self.notify.warning('loadPlaceGeom: unclassified zone %s' % zoneId)
     CogHQLoader.CogHQLoader.loadPlaceGeom(self, zoneId)
Beispiel #24
0
 def setupEndSection(self, index):
     aspectSF = 0.7227
     self.endSectionNP = NodePath('EndSection')
     self.endSectionNP.reparentTo(self.game.assetMgr.world)
     self.endSectionNP.setX(self.incrementX)
     self.endWall = self.game.assetMgr.startingWall.copyTo(self.endSectionNP)
     self.endWall.setPos(100, 0, 4)
     self.endWall.setScale(0.8)
     self.endArrow = self.game.assetMgr.arrow.copyTo(self.endSectionNP)
     self.endArrow.setPos(6, 1.5, 12.76)
     self.exitElevator = self.game.assetMgr.exitElevator.copyTo(self.endSectionNP)
     self.exitElevator.setPos(52, -2, 12.7)
     cogSignModel = loader.loadModel('phase_4/models/props/sign_sellBotHeadHQ')
     cogSign = cogSignModel.find('**/sign_sellBotHeadHQ')
     cogSignSF = 23
     elevatorSignSF = 15
     sideDoor = self.exitElevator.find('**/doorway2')
     sdSign = cogSign.copyTo(sideDoor)
     sdSign.setPosHprScale(0, 1.9, 15, 0, 0, 0, elevatorSignSF, elevatorSignSF, elevatorSignSF * aspectSF)
     sdSign.node().setEffect(DecalEffect.make())
     sdText = DirectGui.OnscreenText(text=TTLocalizer.TwoDGameElevatorExit, font=ToontownGlobals.getSuitFont(), pos=(0,
                                                                                                                     -0.34), scale=0.15, mayChange=False, parent=sdSign)
     sdText.setDepthWrite(0)
     self.sectionNPList.append(self.endSectionNP)
     endSectionInfo = ('end', [], [],
      [
       0], [])
     endSection = TwoDSection.TwoDSection(index, endSectionInfo, self.endSectionNP, self)
     self.sections.append(endSection)
     self.incrementX += endSection.length
Beispiel #25
0
 def loadPlaceGeom(self, zoneId):
     self.notify.info("loadPlaceGeom: %s" % zoneId)
     zoneId = zoneId - zoneId % 100
     if zoneId == ToontownGlobals.CashbotHQ:
         self.geom = loader.loadModel(self.cogHQExteriorModelPath)
         ddLinkTunnel = self.geom.find("**/LinkTunnel1")
         ddLinkTunnel.setName("linktunnel_dl_9252_DNARoot")
         locator = self.geom.find("**/sign_origin")
         backgroundGeom = self.geom.find("**/EntranceFrameFront")
         backgroundGeom.node().setEffect(DecalEffect.make())
         signText = DirectGui.OnscreenText(
             text=TTLocalizer.DonaldsDreamland[-1],
             font=ToontownGlobals.getSuitFont(),
             scale=3,
             fg=(0.87, 0.87, 0.87, 1),
             mayChange=False,
             parent=backgroundGeom,
         )
         signText.setPosHpr(locator, 0, 0, 0, 0, 0, 0)
         signText.setDepthWrite(0)
     elif zoneId == ToontownGlobals.CashbotLobby:
         if config.GetBool("want-qa-regression", 0):
             self.notify.info("QA-REGRESSION: COGHQ: Visit CashbotLobby")
         self.geom = loader.loadModel(self.cogHQLobbyModelPath)
     else:
         self.notify.warning("loadPlaceGeom: unclassified zone %s" % zoneId)
     CogHQLoader.CogHQLoader.loadPlaceGeom(self, zoneId)
    def __init__(self):
        Avatar.Avatar.__init__(self)
        self.setFont(ToontownGlobals.getSuitFont())
        self.setPlayerType(NametagGroup.CCSuit)
        self.setPickable(0)

        self.doorA = None
        self.doorB = None
        self.bubbleL = None
        self.bubbleR = None

        # These variables are used to track the current state for
        # animation when you call doAnimate().
        self.raised = 1
        self.forward = 1
        self.happy = 1
        self.dizzy = 0
        self.nowRaised = 1
        self.nowForward = 1
        self.nowHappy = 1
        self.currentAnimIval = None
        self.queuedAnimIvals = []

        self.treadsLeftPos = 0
        self.treadsRightPos = 0

        self.healthBar = None
        self.healthCondition = 0

        # We don't need to uniquify these since there is only one
        # BossCog on a client at any given time.
        self.animDoneEvent = 'BossCogAnimDone'
        self.animIvalName = 'BossCogAnimIval'
Beispiel #27
0
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         loader.loadDNAFile(self.dnaStore, 'phase_4/dna/storage.dna')
         self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
         loader.loadDNAFile(self.dnaStore, 'phase_3.5/dna/storage_interior.dna')
Beispiel #28
0
 def loadDnaStore(self):
     if not hasattr(self, "dnaStore"):
         self.dnaStore = DNAStorage()
         loader.loadDNAFile(self.dnaStore, "phase_4/dna/storage.dna")
         self.dnaStore.storeFont("humanist", ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont("mickey", ToontownGlobals.getSignFont())
         self.dnaStore.storeFont("suit", ToontownGlobals.getSuitFont())
         loader.loadDNAFile(self.dnaStore, "phase_3.5/dna/storage_interior.dna")
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         loader.loadDNAFile(self.dnaStore, 'phase_4/dna/storage.dna')
         self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
         loader.loadDNAFile(self.dnaStore, 'phase_3.5/dna/storage_interior.dna')
Beispiel #30
0
 def loadDnaStore(self):
     if not hasattr(self, "dnaStore"):
         self.dnaStore = DNAStorage()
         files = ("phase_4/dna/storage.pdna", "phase_3.5/dna/storage_interior.pdna")
         dnaBulk = DNABulkLoader(self.dnaStore, files)
         dnaBulk.loadDNAFiles()
         self.dnaStore.storeFont("humanist", ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont("mickey", ToontownGlobals.getSignFont())
         self.dnaStore.storeFont("suit", ToontownGlobals.getSuitFont())
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         files = ('phase_4/dna/storage.pdna', 'phase_3.5/dna/storage_interior.pdna')
         dnaBulk = DNABulkLoader(self.dnaStore, files)
         dnaBulk.loadDNAFiles()
         self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
Beispiel #32
0
 def loadDnaStore(self):
     if not hasattr(self, 'dnaStore'):
         self.dnaStore = DNAStorage()
         files = ('phase_4/dna/storage.pdna', 'phase_3.5/dna/storage_interior.pdna')
         dnaBulk = DNABulkLoader(self.dnaStore, files)
         dnaBulk.loadDNAFiles()
         self.dnaStore.storeFont('humanist', ToontownGlobals.getInterfaceFont())
         self.dnaStore.storeFont('mickey', ToontownGlobals.getSignFont())
         self.dnaStore.storeFont('suit', ToontownGlobals.getSuitFont())
Beispiel #33
0
 def addCogRadarLabel(self, panel):
     cogRadarLabel = DirectLabel(parent=panel,
                                 pos=(0.0, 0.0, -0.215),
                                 relief=None,
                                 state=DGG.DISABLED,
                                 text='',
                                 text_scale=0.050000000000000003,
                                 text_fg=(0, 0, 0, 1),
                                 text_font=ToontownGlobals.getSuitFont())
     panel.cogRadarLabel = cogRadarLabel
Beispiel #34
0
    def setupSuitBuilding(self, nodePath):
        if nodePath.isEmpty():
            return

        dnaStore = self.cr.playGame.dnaStore
        level = int(self.difficulty / 2) + 1
        suitNP = dnaStore.findNode('suit_landmark_' + chr(self.track) +
                                   str(level))

        # if the suit node path is not in the dna store, dont setup
        # the building specified
        if not suitNP:
            self.notify.warning("Suit NP could not be found for building!")
            return

        zoneId = dnaStore.getZoneFromBlockNumber(self.block)
        zoneId = ZoneUtil.getTrueZoneId(zoneId, self.interiorZoneId)
        newParentNP = base.cr.playGame.hood.loader.zoneDict[zoneId]
        suitBuildingNP = suitNP.copyTo(newParentNP)
        if self.block not in dnaStore.suitBlocks:
            dnaStore.storeSuitBlock(self.block, chr(self.track))
        buildingTitle = dnaStore.getTitleFromBlockNumber(self.block)
        if not buildingTitle:
            buildingTitle = TTLocalizer.CogsInc
        else:
            buildingTitle += TTLocalizer.CogsIncExt
        buildingTitle += '\n%s' % SuitDNA.getDeptFullname(chr(self.track))
        textNode = TextNode('sign')
        textNode.setTextColor(1.0, 1.0, 1.0, 1.0)
        textNode.setFont(ToontownGlobals.getSuitFont())
        textNode.setAlign(TextNode.ACenter)
        textNode.setWordwrap(17.0)
        textNode.setText(buildingTitle)
        textHeight = textNode.getHeight()
        zScale = (textHeight + 2) / 3.0
        signOrigin = suitBuildingNP.find('**/sign_origin;+s')
        backgroundNP = loader.loadModel('phase_5/models/modules/suit_sign')
        backgroundNP.reparentTo(signOrigin)
        backgroundNP.setPosHprScale(0.0, 0.0, textHeight * 0.8 / zScale, 0.0,
                                    0.0, 0.0, 8.0, 8.0, 8.0 * zScale)
        #backgroundNP.node().setEffect(DecalEffect.make())
        signTextNodePath = backgroundNP.attachNewNode(textNode.generate())
        signTextNodePath.setPosHprScale(0.0, -0.001,
                                        -0.21 + textHeight * 0.1 / zScale, 0.0,
                                        0.0, 0.0, 0.1, 0.1, 0.1 / zScale)
        signTextNodePath.setColor(1.0, 1.0, 1.0, 1.0)
        frontNP = suitBuildingNP.find('**/*_front/+GeomNode;+s')
        backgroundNP.wrtReparentTo(frontNP)
        frontNP.node().setEffect(DecalEffect.make())
        suitBuildingNP.setName('sb' + str(self.block) + ':_landmark__DNARoot')
        suitBuildingNP.setPosHprScale(nodePath, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
                                      1.0, 1.0, 1.0)
        suitBuildingNP.flattenMedium()
        self.loadElevator(suitBuildingNP)
        return suitBuildingNP
 def getFontByName(self, fontname):
     if fontname == "toon":
         return ToontownGlobals.getToonFont()
     elif fontname == "building":
         return ToontownGlobals.getBuildingNametagFont()
     elif fontname == "minnie":
         return ToontownGlobals.getMinnieFont()
     elif fontname == "suit":
         return ToontownGlobals.getSuitFont()
     else:
         return MagicWordManager.MagicWordManager.getFontByName(self, fontname)
Beispiel #36
0
 def getFontByName(self, fontname):
     if fontname == "toon":
         return ToontownGlobals.getToonFont()
     elif fontname == "building":
         return ToontownGlobals.getBuildingNametagFont()
     elif fontname == "minnie":
         return ToontownGlobals.getMinnieFont()
     elif fontname == "suit":
         return ToontownGlobals.getSuitFont()
     else:
         return MagicWordManager.MagicWordManager.getFontByName(self, fontname)
 def getFontByName(self, fontname):
     if fontname == 'toon':
         return ToontownGlobals.getToonFont()
     elif fontname == 'building':
         return ToontownGlobals.getBuildingNametagFont()
     elif fontname == 'minnie':
         return ToontownGlobals.getMinnieFont()
     elif fontname == 'suit':
         return ToontownGlobals.getSuitFont()
     else:
         return MagicWordManager.MagicWordManager.getFontByName(self, fontname)
Beispiel #38
0
    def loadDnaStore(self):
        if not hasattr(self, 'dnaStore'):
            self.dnaStore = DNAStorage()

            loader.loadDNA('phase_4/dna/storage.xml').store(self.dnaStore)

            self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(), 'humanist')
            self.dnaStore.storeFont(ToontownGlobals.getSignFont(), 'mickey')
            self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), 'suit')

            loader.loadDNA('phase_3.5/dna/storage_interior.xml').store(self.dnaStore)
Beispiel #39
0
 def getFontByName(self, fontname):
     if fontname == 'toon':
         return ToontownGlobals.getToonFont()
     elif fontname == 'building':
         return ToontownGlobals.getBuildingNametagFont()
     elif fontname == 'minnie':
         return ToontownGlobals.getMinnieFont()
     elif fontname == 'suit':
         return ToontownGlobals.getSuitFont()
     else:
         return MagicWordManager.MagicWordManager.getFontByName(self, fontname)
    def loadDnaStore(self):
        if not hasattr(self, "dnaStore"):
            self.dnaStore = DNAStorage()

            loader.loadDNA("phase_4/dna/storage.xml").store(self.dnaStore)

            self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(), "humanist")
            self.dnaStore.storeFont(ToontownGlobals.getSignFont(), "mickey")
            self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), "suit")

            loader.loadDNA("phase_3.5/dna/storage_interior.xml").store(self.dnaStore)
Beispiel #41
0
    def __init__(self):
        try:
            self.Suit_initialized
            return
        except:
            self.Suit_initialized = 1

        Avatar.Avatar.__init__(self)
        self.setFont(ToontownGlobals.getSuitFont())
        self.nametag.setSpeechFont(ToontownGlobals.getSuitFont())
        self.setPlayerType(NametagGroup.CCSuit)
        self.setPickable(1)
        self.leftHand = None
        self.rightHand = None
        self.shadowJoint = None
        self.nametagJoint = None
        self.headParts = []
        self.healthBar = SuitHealthBar.SuitHealthBar()
        self.isDisguised = 0
        self.isWaiter = 0
        self.isRental = 0
Beispiel #42
0
    def __init__(self):
        try:
            self.Suit_initialized
            return
        except:
            self.Suit_initialized = 1

        Avatar.Avatar.__init__(self)
        self.setFont(ToontownGlobals.getSuitFont())
        self.nametag.setSpeechFont(ToontownGlobals.getSuitFont())
        self.setPlayerType(NametagGroup.CCSuit)
        self.setPickable(1)
        self.leftHand = None
        self.rightHand = None
        self.shadowJoint = None
        self.nametagJoint = None
        self.headParts = []
        self.healthBar = SuitHealthBar.SuitHealthBar()
        self.isDisguised = 0
        self.isWaiter = 0
        self.isRental = 0
Beispiel #43
0
 def __init__(self):
     Avatar.__init__(self)
     self.setFont(ToontownGlobals.getSuitFont())
     self.setSpeechFont(ToontownGlobals.getSuitFont())
     self.setPlayerType(NametagGroup.CCSuit)
     self.initializeNametag3d()
     self.initializeDropShadow()
     self.nametag3d.setPos(0, 0, 15.69)
     self.dropShadow.setScale(1.8)
     self.nametag3d.setScale(1.4)
     self.setPickable(0)
     self.loadModel('phase_14/models/char/chairman-mod')
     self.loadAnims({
         'walk': 'phase_14/models/char/chairman-walk',
         'neutral': 'phase_14/models/char/chairman-neutral',
         'into-type': 'phase_14/models/char/chairman-into-type',
         'type': 'phase_14/models/char/chairman-type',
         'capture': 'phase_14/models/char/chairman-capture'
     })
     self.setBlend(
         frameBlend=config.GetBool('interpolate-animations', True))
 def setupCogdo(self, nodePath):
     dnaStore = self.cr.playGame.dnaStore
     level = int(self.difficulty / 2) + 1
     suitNP = dnaStore.findNode(FO_DICT[chr(self.track)])
     if not suitNP:
         suitNP = loader.loadModel('phase_5/models/cogdominium/%s' %
                                   FO_DICT[chr(self.track)])
     zoneId = dnaStore.getZoneFromBlockNumber(self.block)
     zoneId = ZoneUtil.getTrueZoneId(zoneId, self.interiorZoneId)
     newParentNP = base.cr.playGame.hood.loader.zoneDict[zoneId]
     suitBuildingNP = suitNP.copyTo(newParentNP)
     buildingTitle = dnaStore.getTitleFromBlockNumber(self.block)
     if not buildingTitle:
         buildingTitle = TTLocalizer.Cogdominiums
     else:
         buildingTitle += TTLocalizer.CogdominiumsExt
     textNode = TextNode('sign')
     textNode.setTextColor(1.0, 1.0, 1.0, 1.0)
     textNode.setFont(ToontownGlobals.getSuitFont())
     textNode.setAlign(TextNode.ACenter)
     textNode.setWordwrap(12.0)
     textNode.setText(buildingTitle)
     textHeight = textNode.getHeight()
     zScale = (textHeight + 2) / 3.0
     signOrigin = suitBuildingNP.find('**/sign_origin;+s')
     backgroundNP = loader.loadModel(
         'phase_5/models/cogdominium/field_office_sign')
     backgroundNP.reparentTo(signOrigin)
     backgroundNP.setPosHprScale(0.0, 0.0, -1.2 + textHeight * 0.8 / zScale,
                                 0.0, 0.0, 0.0, 20.0, 8.0, 8.0 * zScale)
     signTextNodePath = backgroundNP.attachNewNode(textNode.generate())
     signTextNodePath.setPosHprScale(0.0, 0.0,
                                     -0.13 + textHeight * 0.1 / zScale, 0.0,
                                     0.0, 0.0, 0.8 / 20.0, 0.1,
                                     0.1 / zScale)
     signTextNodePath.setColor(1.0, 1.0, 1.0, 1.0)
     signTextNodePath.setAttrib(DepthOffsetAttrib.make(1))
     if chr(self.track) == 'l':
         frontNP = suitBuildingNP.find('**/*_front')
     else:
         frontNP = suitBuildingNP.find('**/*_front/+GeomNode;+s')
     backgroundNP.wrtReparentTo(frontNP)
     if chr(self.track) == 's':
         frontNP.node().setEffect(DecalEffect.make())
     suitBuildingNP.setName('cb' + str(self.block) + ':_landmark__DNARoot')
     suitBuildingNP.setPosHprScale(nodePath, 15.463, 0.0, 0.0, 0.0, 0.0,
                                   0.0, 1.0, 1.0, 1.0)
     if chr(self.track) == 's':
         suitBuildingNP.flattenMedium()
     suitBuildingNP.setColorScale(0.6, 0.6, 0.6, 1.0)
     self.loadElevator(suitBuildingNP, cogdo=True)
     return suitBuildingNP
 def makeSign(topStr, signStr, textId):
     top = self.geom.find("**/" + topStr)
     sign = top.find("**/" + signStr)
     locator = top.find("**/sign_origin")
     signText = DirectGui.OnscreenText(
         text=TextEncoder.upper(TTLocalizer.GlobalStreetNames[textId][-1]),
         font=ToontownGlobals.getSuitFont(),
         scale=TTLocalizer.BCHQLsignText,
         fg=(0, 0, 0, 1),
         parent=sign,
     )
     signText.setPosHpr(locator, 0, -0.1, -0.25, 0, 0, 0)
     signText.setDepthWrite(0)
 def addCogRadarLabel(self, panel):
     cogRadarLabel = DirectLabel(
         parent=panel,
         pos=(0.0, 0.0, -0.215),
         relief=None,
         state=DGG.DISABLED,
         text="",
         text_scale=0.05,
         text_fg=(0, 0, 0, 1),
         text_font=ToontownGlobals.getSuitFont(),
     )
     panel.cogRadarLabel = cogRadarLabel
     return
Beispiel #47
0
    def loadDnaStore(self):
        if not hasattr(self, 'dnaStore'):
            self.dnaStore = DNAStorage()

            loader.loadDNA('phase_4/dna/storage.xml').store(self.dnaStore)

            self.dnaStore.storeFont(ToontownGlobals.getInterfaceFont(),
                                    'humanist')
            self.dnaStore.storeFont(ToontownGlobals.getSignFont(), 'mickey')
            self.dnaStore.storeFont(ToontownGlobals.getSuitFont(), 'suit')

            loader.loadDNA('phase_3.5/dna/storage_interior.xml').store(
                self.dnaStore)
 def makeSign(topStr, signStr, textId):
     top = self.geom.find('**/' + topStr)
     sign = top.find('**/' + signStr)
     locator = top.find('**/sign_origin')
     signText = DirectGui.OnscreenText(
         text=TextEncoder.upper(
             TTLocalizer.GlobalStreetNames[textId][-1]),
         font=ToontownGlobals.getSuitFont(),
         scale=TTLocalizer.BCHQLsignText,
         fg=(0, 0, 0, 1),
         parent=sign)
     signText.setPosHpr(locator, 0, -0.1, -0.25, 0, 0, 0)
     signText.setDepthWrite(0)
Beispiel #49
0
 def addCogRadarLabel(self, panel):
     # make a label to show cog radar results
     cogRadarLabel = DirectLabel(
         parent=panel,
         pos=(0.0, 0.0, -0.215),
         relief=None,
         state=DGG.DISABLED,
         text='',
         text_scale=0.05,
         text_fg=(0, 0, 0, 1),
         text_font=ToontownGlobals.getSuitFont(),
     )
     panel.cogRadarLabel = cogRadarLabel
 def __init__(self, cr):
     DistributedObject.DistributedObject.__init__(self, cr)
     Level.Level.__init__(self)
     self.lastToonZone = None
     self.lastCamZone = 0
     self.titleColor = (1, 1, 1, 1)
     self.titleText = OnscreenText.OnscreenText('', fg=self.titleColor, shadow=(0, 0, 0, 1), font=ToontownGlobals.getSuitFont(), pos=(0, -0.5), scale=0.16, drawOrder=0, mayChange=1)
     self.smallTitleText = OnscreenText.OnscreenText('', fg=self.titleColor, font=ToontownGlobals.getSuitFont(), pos=(0.65, 0.9), scale=0.08, drawOrder=0, mayChange=1, bg=(0.5, 0.5, 0.5, 0.5), align=TextNode.ARight)
     self.smallTitleText.setPos(-0.685,-0.098)
     self.smallTitleText.reparentTo(base.a2dTopRight)
     self.titleSeq = None
     self.zonesEnteredList = []
     self.fColorZones = 0
     self.scenarioIndex = 0
 def enterPlayground(self, requestStatus):
     self.playgroundClass = GZPlayground
     SafeZoneLoader.enterPlayground(self, requestStatus)
     top = self.geom.find("**/linktunnel_bosshq_10000_DNARoot")
     sign = top.find("**/Sign_5")
     sign.node().setEffect(DecalEffect.make())
     locator = top.find("**/sign_origin")
     signText = DirectGui.OnscreenText(
         text=TextEncoder.upper(TTLocalizer.BossbotHQ[-1]),
         font=ToontownGlobals.getSuitFont(),
         scale=TTLocalizer.GZSZLsignText,
         fg=(0, 0, 0, 1),
         mayChange=False,
         parent=sign,
     )
     signText.setPosHpr(locator, 0, 0, -0.3, 0, 0, 0)
     signText.setDepthWrite(0)
 def addQuotaLabel(self, panel):
     index = self.panels.index(panel)
     count = str(base.localAvatar.cogCounts[index])
     if base.localAvatar.cogs[index] < COG_COMPLETE1:
         quota = str(COG_QUOTAS[0][index % SuitDNA.suitsPerDept])
     else:
         quota = str(COG_QUOTAS[1][index % SuitDNA.suitsPerDept])
     quotaLabel = DirectLabel(
         parent=panel,
         pos=(0.0, 0.0, -0.215),
         relief=None,
         state=DGG.DISABLED,
         text=TTLocalizer.SuitPageQuota % (count, quota),
         text_scale=0.045,
         text_fg=(0, 0, 0, 1),
         text_font=ToontownGlobals.getSuitFont(),
     )
     panel.quotaLabel = quotaLabel
     return
Beispiel #53
0
    def showRolloverFrame(self, parent, type, text, extra=None):
        dict = TTLocalizer.BattleHoverAttributes[type]

        for key, value in dict.iteritems():
            if key == "pos":
                self.rolloverFrame.setPos(value)
            elif key == "suit":
                if value:
                    self.rolloverFrame["text_font"] = ToontownGlobals.getSuitFont()
                    self.rolloverFrame["geom"] = self.suitGui.find("**/avatar_panel")
                else:
                    self.rolloverFrame["text_font"] = ToontownGlobals.getInterfaceFont()
                    self.rolloverFrame["geom"] = DGG.getDefaultDialogGeom()
            else:
                self.rolloverFrame[key] = value

        self.rolloverFrame.reparentTo(parent)
        self.rolloverFrame.show()
        self.rolloverFrame["text"] = text
 def __init__(self):
     self.__expectedCount = 0
     self.__count = 0
     self.textures = [(loader.loadTexture('phase_3.5/maps/loading/toon.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1)),
      (loader.loadTexture('phase_3.5/maps/loading/cog.jpg'), ToontownGlobals.getSuitFont(), (1.0, 1.0, 1.0, 1)),
      (loader.loadTexture('phase_3.5/maps/loading/default.jpg'), ToontownGlobals.getInterfaceFont(), (0, 0, 0.5, 1))
     ]
     self.gui = loader.loadModel('phase_3/models/gui/progress-background.bam')
     self.title = DirectLabel(guiId='ToontownLoadingScreenTitle', parent=self.gui, relief=None, pos=(base.a2dRight/5, 0, 0.235), text='', textMayChange=1, text_scale=0.08, text_fg=(0, 0, 0.5, 1), text_align=TextNode.ALeft, text_font=ToontownGlobals.getInterfaceFont())
     self.tip = DirectLabel(guiId='ToontownLoadingScreenTip', parent=self.gui, relief=None, pos=(0, 0, 0.045), text='', textMayChange=1, text_scale=0.05, text_fg=(1, 1, 1, 1), text_shadow=(0, 0, 0, 1), text_align=TextNode.ACenter)
     self.waitBar = DirectWaitBar(guiId='ToontownLoadingScreenWaitBar', parent=self.gui, frameSize=(base.a2dLeft+(base.a2dRight/4.95), base.a2dRight-(base.a2dRight/4.95), -0.03, 0.03), pos=(0, 0, 0.15), text='')
     logoScale = 0.5625  # Scale for our locked aspect ratio (2:1).
     self.logo = OnscreenImage(
         image='phase_3/maps/toontown-logo.png',
         scale=(logoScale * 2.0, 1, logoScale))
     self.logo.reparentTo(hidden)
     self.logo.setTransparency(TransparencyAttrib.MAlpha)
     scale = self.logo.getScale()
     self.logo.setPos(0, 0, -scale[2])
 def setupSuitBuilding(self, nodePath):
     if nodePath.isEmpty():
         return
     dnaStore = self.cr.playGame.dnaStore
     level = int(self.difficulty / 2) + 1
     suitNP = dnaStore.findNode("suit_landmark_" + chr(self.track) + str(level))
     zoneId = dnaStore.getZoneFromBlockNumber(self.block)
     zoneId = ZoneUtil.getTrueZoneId(zoneId, self.interiorZoneId)
     newParentNP = base.cr.playGame.hood.loader.zoneDict[zoneId]
     suitBuildingNP = suitNP.copyTo(newParentNP)
     buildingTitle = dnaStore.getTitleFromBlockNumber(self.block)
     if not buildingTitle:
         buildingTitle = TTLocalizer.CogsInc
     else:
         buildingTitle += TTLocalizer.CogsIncExt
     buildingTitle += "\n%s" % SuitDNA.getDeptFullname(chr(self.track))
     textNode = TextNode("sign")
     textNode.setTextColor(1.0, 1.0, 1.0, 1.0)
     textNode.setFont(ToontownGlobals.getSuitFont())
     textNode.setAlign(TextNode.ACenter)
     textNode.setWordwrap(17.0)
     textNode.setText(buildingTitle)
     textHeight = textNode.getHeight()
     zScale = (textHeight + 2) / 3.0
     signOrigin = suitBuildingNP.find("**/sign_origin;+s")
     backgroundNP = loader.loadModel("phase_5/models/modules/suit_sign")
     backgroundNP.reparentTo(signOrigin)
     backgroundNP.setPosHprScale(0.0, 0.0, textHeight * 0.8 / zScale, 0.0, 0.0, 0.0, 8.0, 8.0, 8.0 * zScale)
     backgroundNP.node().setEffect(DecalEffect.make())
     signTextNodePath = backgroundNP.attachNewNode(textNode.generate())
     signTextNodePath.setPosHprScale(
         0.0, 0.0, -0.21 + textHeight * 0.1 / zScale, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1 / zScale
     )
     signTextNodePath.setColor(1.0, 1.0, 1.0, 1.0)
     frontNP = suitBuildingNP.find("**/*_front/+GeomNode;+s")
     backgroundNP.wrtReparentTo(frontNP)
     frontNP.node().setEffect(DecalEffect.make())
     suitBuildingNP.setName("sb" + str(self.block) + ":_landmark__DNARoot")
     suitBuildingNP.setPosHprScale(nodePath, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0)
     suitBuildingNP.flattenMedium()
     self.loadElevator(suitBuildingNP)
     return suitBuildingNP
 def addBuildingRadarLabel(self, button):
     gui = loader.loadModel("phase_3.5/models/gui/suit_detail_panel")
     zPos = BUILDING_RADAR_POS[self.radarButtons.index(button)]
     buildingRadarLabel = DirectLabel(
         parent=button,
         relief=None,
         pos=(0.225, 0.0, zPos),
         state=DGG.DISABLED,
         image=gui.find("**/avatar_panel"),
         image_hpr=(0, 0, 90),
         image_scale=(0.05, 1, 0.1),
         image_pos=(0, 0, 0.015),
         text=TTLocalizer.SuitPageBuildingRadarP % "0",
         text_scale=0.05,
         text_fg=(1, 0, 0, 1),
         text_font=ToontownGlobals.getSuitFont(),
     )
     gui.removeNode()
     button.buildingRadarLabel = buildingRadarLabel
     return
 def setupSuitBuilding(self, nodePath):
     if nodePath.isEmpty():
         return
     dnaStore = self.cr.playGame.dnaStore
     level = int(self.difficulty / 2) + 1
     if level > 5:
         self.notify.warning('Level is bigger than 5: %s' % level)
     suitNP = dnaStore.findNode('suit_landmark_' + chr(self.track) + str(min(level, 5)))
     zoneId = dnaStore.getZoneFromBlockNumber(self.block)
     newParentNP = base.cr.playGame.hood.loader.zoneDict[zoneId]
     suitBuildingNP = suitNP.copyTo(newParentNP)
     buildingTitle = dnaStore.getTitleFromBlockNumber(self.block)
     if not buildingTitle:
         buildingTitle = TTLocalizer.CogsInc
     else:
         buildingTitle += TTLocalizer.CogsIncExt
     buildingTitle += '\n%s' % SuitDNA.getDeptFullname(chr(self.track))
     textNode = TextNode('sign')
     textNode.setTextColor(1.0, 1.0, 1.0, 1.0)
     textNode.setFont(ToontownGlobals.getSuitFont())
     textNode.setAlign(TextNode.ACenter)
     textNode.setWordwrap(17.0)
     textNode.setText(buildingTitle)
     textHeight = textNode.getHeight()
     zScale = (textHeight + 2) / 3.0
     signOrigin = suitBuildingNP.find('**/sign_origin;+s')
     backgroundNP = loader.loadModel('phase_5/models/modules/suit_sign')
     backgroundNP.reparentTo(signOrigin)
     backgroundNP.setPosHprScale(0.0, 0.0, textHeight * 0.8 / zScale, 0.0, 0.0, 0.0, 8.0, 8.0, 8.0 * zScale)
     signTextNodePath = backgroundNP.attachNewNode(textNode.generate())
     signTextNodePath.setPosHprScale(0.0, 0.0, -0.21 + textHeight * 0.1 / zScale, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1 / zScale)
     signTextNodePath.setColor(1.0, 1.0, 1.0, 1.0)
     frontNP = suitBuildingNP.find('**/*_front/+GeomNode;+s')
     backgroundNP.wrtReparentTo(frontNP)
     frontNP.node().setEffect(DecalEffect.make())
     signTextNodePath.setAttrib(DepthOffsetAttrib.make(1))
     suitBuildingNP.setName('sb' + str(self.block) + ':_landmark__DNARoot')
     suitBuildingNP.setPosHprScale(nodePath, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0)
     suitBuildingNP.flattenMedium()
     self.loadElevator(suitBuildingNP)
     return suitBuildingNP
 def setupSuitBuilding(self, nodePath):
     dnaStore = self.cr.playGame.dnaStore
     level = 1
     if chr(self.track) != "x": suitNP = dnaStore.findNode('suit_landmark_' + chr(self.track) + str(level))
     else: suitNP = loader.loadModel('phase_5/models/modules/suit_landmark_money2')
     zoneId = dnaStore.getZoneFromBlockNumber(self.block)
     zoneId = ZoneUtil.getTrueZoneId(zoneId, self.interiorZoneId)
     newParentNP = base.cr.playGame.hood.loader.zoneDict[zoneId]
     suitBuildingNP = suitNP.copyTo(newParentNP)
     buildingTitle = dnaStore.getTitleFromBlockNumber(self.block)
     if not buildingTitle:
         buildingTitle = TTLocalizer.CogsInc
     else:
         buildingTitle += TTLocalizer.CogsIncExt
     buildingTitle += '\n%s' % (SuitDNA.getDeptFullname(chr(self.track)) if chr(self.track) != "x" else "Loblao's Troll")
     textNode = TextNode('sign')
     textNode.setTextColor(1.0, 1.0, 1.0, 1.0)
     textNode.setFont(ToontownGlobals.getSuitFont())
     textNode.setAlign(TextNode.ACenter)
     textNode.setWordwrap(17.0)
     textNode.setText(buildingTitle.decode(sys.getdefaultencoding()))
     textHeight = textNode.getHeight()
     zScale = (textHeight + 2) / 3.0
     signOrigin = suitBuildingNP.find('**/sign_origin;+s')
     if signOrigin.isEmpty(): signOrigin = hidden.attachNewNode("garbage")
     backgroundNP = loader.loadModel('phase_5/models/modules/suit_sign')
     backgroundNP.reparentTo(signOrigin)
     backgroundNP.setPosHprScale(0.0, 0.0, textHeight * 0.8 / zScale, 0.0, 0.0, 0.0, 8.0, 8.0, 8.0 * zScale)
     backgroundNP.node().setEffect(DecalEffect.make())
     signTextNodePath = backgroundNP.attachNewNode(textNode.generate())
     signTextNodePath.setPosHprScale(0.0, 0.0, -0.21 + textHeight * 0.1 / zScale, 0.0, 0.0, 0.0, 0.1, 0.1, 0.1 / zScale)
     signTextNodePath.setColor(1.0, 1.0, 1.0, 1.0)
     frontNP = suitBuildingNP.find('**/*_front/+GeomNode;+s')
     if frontNP.isEmpty(): frontNP = hidden.attachNewNode("garbage")
     backgroundNP.wrtReparentTo(frontNP)
     frontNP.node().setEffect(DecalEffect.make())
     suitBuildingNP.setName('sb' + str(self.block) + ':_landmark__DNARoot')
     suitBuildingNP.setPosHprScale(nodePath, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0)
     suitBuildingNP.flattenMedium()
     self.loadElevator(suitBuildingNP)
     return suitBuildingNP
 def setupCogdo(self, nodePath):
     dnaStore = self.cr.playGame.dnaStore
     level = int(self.difficulty / 2) + 1
     suitNP = dnaStore.findNode(FO_DICT[chr(self.track)])
     if not suitNP:
         suitNP = loader.loadModel('phase_5/models/cogdominium/%s' % FO_DICT[chr(self.track)])
     zoneId = dnaStore.getZoneFromBlockNumber(self.block)
     zoneId = ZoneUtil.getTrueZoneId(zoneId, self.interiorZoneId)
     newParentNP = base.cr.playGame.hood.loader.zoneDict[zoneId]
     suitBuildingNP = suitNP.copyTo(newParentNP)
     buildingTitle = dnaStore.getTitleFromBlockNumber(self.block)
     if not buildingTitle:
         buildingTitle = TTLocalizer.Cogdominiums
     else:
         buildingTitle += TTLocalizer.CogdominiumsExt
     textNode = TextNode('sign')
     textNode.setTextColor(1.0, 1.0, 1.0, 1.0)
     textNode.setFont(ToontownGlobals.getSuitFont())
     textNode.setAlign(TextNode.ACenter)
     textNode.setWordwrap(12.0)
     textNode.setText(buildingTitle.decode(sys.getdefaultencoding()))
     textHeight = textNode.getHeight()
     zScale = (textHeight + 2) / 3.0
     signOrigin = suitBuildingNP.find('**/sign_origin;+s')
     backgroundNP = loader.loadModel('phase_5/models/cogdominium/field_office_sign')
     backgroundNP.reparentTo(signOrigin)
     backgroundNP.setPosHprScale(0.0, 0.0, -1.2 + textHeight * 0.8 / zScale, 0.0, 0.0, 0.0, 20.0, 8.0, 8.0 * zScale)
     backgroundNP.node().setEffect(DecalEffect.make())
     signTextNodePath = backgroundNP.attachNewNode(textNode.generate())
     signTextNodePath.setPosHprScale(0.0, 0.0, -0.13 + textHeight * 0.1 / zScale, 0.0, 0.0, 0.0, 0.1 * 8.0 / 20.0, 0.1, 0.1 / zScale)
     signTextNodePath.setColor(1.0, 1.0, 1.0, 1.0)
     frontNP = suitBuildingNP.find('**/*_front')
     backgroundNP.wrtReparentTo(frontNP)
     frontNP.node().setEffect(DecalEffect.make())
     suitBuildingNP.setName('cb' + str(self.block) + ':_landmark__DNARoot')
     suitBuildingNP.setPosHprScale(nodePath, 15.463, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0)
     #suitBuildingNP.flattenMedium()
     suitBuildingNP.setColorScale(0.6, 0.6, 0.6, 1.0)
     self.loadElevator(suitBuildingNP, cogdo=True)
     return suitBuildingNP
 def makePanels(self):
     self.panels = []
     base.panels = []
     xStart = -0.66
     yStart = -0.18
     xOffset = 0.199
     yOffset = 0.284
     for dept in xrange(0, len(SuitDNA.suitDepts)):
         row = []
         color = PANEL_COLORS[dept]
         for type in xrange(0, SuitDNA.suitsPerDept):
             panel = DirectLabel(
                 parent=self.panelNode,
                 pos=(xStart + type * xOffset, 0.0, yStart - dept * yOffset),
                 relief=None,
                 state=DGG.NORMAL,
                 image=self.panelModel,
                 image_scale=(1, 1, 1),
                 image_color=color,
                 text=TTLocalizer.SuitPageMystery,
                 text_scale=0.045,
                 text_fg=(0, 0, 0, 1),
                 text_pos=(0, 0.185, 0),
                 text_font=ToontownGlobals.getSuitFont(),
                 text_wordwrap=7,
             )
             panel.scale = 0.6
             panel.setScale(panel.scale)
             panel.quotaLabel = None
             panel.head = None
             panel.shadow = None
             panel.count = 0
             panel.summonButton = None
             self.addCogRadarLabel(panel)
             self.panels.append(panel)
             base.panels.append(panel)
     return