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
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
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
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')
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)
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)
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
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()
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
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)
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
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)
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
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'
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")
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())
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
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)
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)
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 __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
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
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)
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
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