From 8c20235947da9f08a21446fc40536768d9699cb8 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sat, 7 Mar 2015 15:29:52 +0200 Subject: [PATCH] Bye Yin and Yang --- astron/dclass/toon.dc | 12 -- config/events/grand-opening.prc | 1 - config/general.prc | 1 - config/release/dev.prc | 3 - toontown/ai/ToontownAIRepository.py | 1 - toontown/hood/TTHoodAI.py | 10 -- toontown/makeatoon/ColorShop.py | 6 - toontown/toon/DistributedNPCYang.py | 191 ------------------------- toontown/toon/DistributedNPCYangAI.py | 20 --- toontown/toon/DistributedNPCYin.py | 192 -------------------------- toontown/toon/DistributedNPCYinAI.py | 20 --- toontown/toon/NPCToons.py | 10 -- toontown/toonbase/ToonBase.py | 3 - 13 files changed, 470 deletions(-) delete mode 100644 toontown/toon/DistributedNPCYang.py delete mode 100644 toontown/toon/DistributedNPCYangAI.py delete mode 100644 toontown/toon/DistributedNPCYin.py delete mode 100644 toontown/toon/DistributedNPCYinAI.py diff --git a/astron/dclass/toon.dc b/astron/dclass/toon.dc index cdeafaa2..d178bc92 100644 --- a/astron/dclass/toon.dc +++ b/astron/dclass/toon.dc @@ -112,8 +112,6 @@ from toontown.toon import DistributedNPCFisherman/AI from toontown.toon import DistributedNPCPartyPerson/AI from toontown.toon import DistributedNPCPetclerk/AI from toontown.toon import DistributedNPCKartClerk/AI -from toontown.toon import DistributedNPCYin/AI -from toontown.toon import DistributedNPCYang/AI from toontown.building import DistributedKnockKnockDoor/AI from toontown.building import DistributedElevator/AI from toontown.building import DistributedElevatorFSM/AI @@ -1848,16 +1846,6 @@ dclass DistributedNPCKartClerk : DistributedNPCToonBase { transactionDone() airecv clsend; }; -dclass DistributedNPCYin : DistributedNPCToonBase { - doTransformation(uint32 avId) broadcast; - requestTransformation() airecv clsend; -}; - -dclass DistributedNPCYang : DistributedNPCToonBase { - doTransformation(uint32 avId) broadcast; - requestTransformation() airecv clsend; -}; - dclass DistributedKnockKnockDoor : DistributedAnimatedProp { }; diff --git a/config/events/grand-opening.prc b/config/events/grand-opening.prc index 6b26c0d8..a9de8ebe 100644 --- a/config/events/grand-opening.prc +++ b/config/events/grand-opening.prc @@ -36,4 +36,3 @@ want-parties #t # Optional: want-talkative-tyler #f -want-yin-yang #f diff --git a/config/general.prc b/config/general.prc index 5843f841..80821056 100644 --- a/config/general.prc +++ b/config/general.prc @@ -121,7 +121,6 @@ show-total-population #t want-mat-all-tailors #t want-long-pattern-game #f want-talkative-tyler #f -want-yin-yang #f # Developer options: want-dev #f diff --git a/config/release/dev.prc b/config/release/dev.prc index 07fb4ae7..e6e29ef2 100644 --- a/config/release/dev.prc +++ b/config/release/dev.prc @@ -33,9 +33,6 @@ want-resistance-toonup #t want-resistance-restock #t want-resistance-dance #t -# Optional: -want-yin-yang #t - # Developer options: show-population #t force-skip-tutorial #t diff --git a/toontown/ai/ToontownAIRepository.py b/toontown/ai/ToontownAIRepository.py index 0c5cfe43..2fcf6a35 100644 --- a/toontown/ai/ToontownAIRepository.py +++ b/toontown/ai/ToontownAIRepository.py @@ -87,7 +87,6 @@ class ToontownAIRepository(ToontownInternalRepository): self.doLiveUpdates = self.config.GetBool('want-live-updates', False) self.wantTrackClsends = self.config.GetBool('want-track-clsends', False) self.wantAchievements = self.config.GetBool('want-achievements', True) - self.wantYinYang = self.config.GetBool('want-yin-yang', False) self.baseXpMultiplier = self.config.GetFloat('base-xp-multiplier', 1.0) self.wantHalloween = self.config.GetBool('want-halloween', False) self.wantChristmas = self.config.GetBool('want-christmas', False) diff --git a/toontown/hood/TTHoodAI.py b/toontown/hood/TTHoodAI.py index 52daafaa..72303abc 100644 --- a/toontown/hood/TTHoodAI.py +++ b/toontown/hood/TTHoodAI.py @@ -31,16 +31,6 @@ class TTHoodAI(HoodAI.HoodAI): self.createClassicChar() if simbase.config.GetBool('want-butterflies', True): self.createButterflies() - - if simbase.air.wantYinYang: - NPCToons.createNPC( - simbase.air, 2021, - (ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2021], ('css', 'ms', 'm', 'm', 26, 0, 26, 26, 0, 27, 0, 27, 0, 27), 'm', 1, NPCToons.NPC_YIN), - ToontownGlobals.ToontownCentral, posIndex=0) - NPCToons.createNPC( - simbase.air, 2022, - (ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2022], ('bss', 'ms', 'm', 'm', 0, 0, 0, 0, 0, 31, 0, 31, 0, 31), 'm', 1, NPCToons.NPC_YANG), - ToontownGlobals.ToontownCentral, posIndex=0) if simbase.air.wantHalloween: self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air) diff --git a/toontown/makeatoon/ColorShop.py b/toontown/makeatoon/ColorShop.py index 0db7015d..5e7d2f54 100644 --- a/toontown/makeatoon/ColorShop.py +++ b/toontown/makeatoon/ColorShop.py @@ -24,12 +24,6 @@ class ColorShop(StateData.StateData): else: colorList = ToonDNA.defaultGirlColorList - if base.wantYinYang: # Free black/white Toons event. - if dna.head[0] == 'c': - colorList = colorList + [26] - elif dna.head[0] == 'b': - colorList = [0] + colorList - return colorList def enter(self, toon, shopsVisited = []): diff --git a/toontown/toon/DistributedNPCYang.py b/toontown/toon/DistributedNPCYang.py deleted file mode 100644 index 252ffb61..00000000 --- a/toontown/toon/DistributedNPCYang.py +++ /dev/null @@ -1,191 +0,0 @@ -from direct.fsm import ClassicFSM, State -from direct.gui.DirectGui import * -from direct.task.Task import Task -from pandac.PandaModules import * -import time - -from DistributedNPCToonBase import * -from toontown.chat.ChatGlobals import * -from toontown.effects import DustCloud -from toontown.nametag.NametagGlobals import * -from toontown.toonbase import TTLocalizer - - -def getDustCloudIval(toon): - dustCloud = DustCloud.DustCloud(fBillboard=0) - dustCloud.setBillboardAxis(2.0) - dustCloud.setZ(3) - dustCloud.setScale(0.4) - dustCloud.createTrack() - if getattr(toon, 'laffMeter', None): - toon.laffMeter.color = toon.style.getWhiteColor() - seq = Sequence(Wait(0.5), Func(dustCloud.reparentTo, toon), dustCloud.track, Func(dustCloud.destroy)) - if getattr(toon, 'laffMeter', None): - seq.append(Func(toon.laffMeter.adjustFace, toon.hp, toon.maxHp)) - return seq - - -class DistributedNPCYang(DistributedNPCToonBase): - def __init__(self, cr): - DistributedNPCToonBase.__init__(self, cr) - - self.pickColorGui = None - self.pickColorGuiDoneEvent = 'pickColorGuiDone' - - self.nextCollision = 0 - - self.fsm = ClassicFSM.ClassicFSM( - 'NPCYin', - [ - State.State('off', self.enterOff, self.exitOff, ['pickColor']), - State.State('pickColor', self.enterPickColor, self.exitPickColor, ['off']) - ], 'off', 'off') - self.fsm.enterInitialState() - - self.title = None - self.yesButton = None - self.noButton = None - - self.buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui') - self.upButton = self.buttonModels.find('**//InventoryButtonUp') - self.downButton = self.buttonModels.find('**/InventoryButtonDown') - self.rolloverButton = self.buttonModels.find('**/InventoryButtonRollover') - - def disable(self): - self.ignoreAll() - - if self.title: - self.title.destroy() - self.title = None - - if self.yesButton: - self.yesButton.destroy() - self.yesButton = None - - if self.noButton: - self.noButton.destroy() - self.noButton = None - - if self.buttonModels: - self.buttonModels.removeNode() - self.buttonModels = None - - if self.upButton: - self.upButton.removeNode() - self.upButton = None - - if self.downButton: - self.downButton.removeNode() - self.downButton = None - - if self.rolloverButton: - self.rolloverButton.removeNode() - self.rolloverButton = None - - if self.pickColorGui: - self.pickColorGui.destroy() - self.pickColorGui = None - - self.nextCollision = 0 - - DistributedNPCToonBase.disable(self) - - def initToonState(self): - self.setAnimState('neutral', 1.05, None, None) - self.setPosHpr(101, -14, 4, -305, 0, 0) - - def getCollSphereRadius(self): - return 1.0 - - def handleCollisionSphereEnter(self, collEntry): - self.currentTime = time.time() - if self.nextCollision <= self.currentTime: - self.fsm.request('pickColor') - self.nextCollision = self.currentTime + 2 - - def enterOff(self): - pass - - def exitOff(self): - pass - - def enterPickColor(self): - base.cr.playGame.getPlace().setState('stopped') - taskMgr.doMethodLater(15, self.leave, 'npcSleepTask-%s' % self.doId) - self.setChatAbsolute('', CFSpeech) - if base.localAvatar.style.getAnimal() != 'bear': - self.setChatAbsolute(TTLocalizer.YangNotBear, CFSpeech|CFTimeout) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - elif base.localAvatar.style.headColor == 0x00: - self.setChatAbsolute(TTLocalizer.YangAlreadyWhite, CFSpeech|CFTimeout) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - else: - self.popupPickColorGUI() - - def exitPickColor(self, task=None): - taskMgr.remove('npcSleepTask-%s' % self.doId) - if self.title: - self.title.destroy() - self.title = None - if self.yesButton: - self.yesButton.destroy() - self.yesButton = None - if self.noButton: - self.noButton.destroy() - self.noButton = None - - if task is not None: - return task.done - - def popupPickColorGUI(self): - self.setChatAbsolute('', CFSpeech) - self.setChatAbsolute(TTLocalizer.YangPickColor, CFSpeech) - base.setCellsActive(base.bottomCells, 0) - - self.title = DirectLabel( - aspect2d, relief=None, text=TTLocalizer.YangTitle, - text_pos=(0, 0), text_fg=(1, 0, 0, 1), text_scale=0.09, - text_font=ToontownGlobals.getSignFont(), - pos=(0, 0, -0.55), text_shadow=(1, 1, 1, 1)) - self.yesButton = DirectButton( - relief=None, text=TTLocalizer.lYes, - text_fg=(1, 1, 0.65, 1), text_pos=(0, -0.23), - text_scale=0.8, image=(self.upButton, self.downButton, self.rolloverButton), - image_color=(1, 0, 0, 1), image_scale=(20, 1, 11), pos=(-0.275, 0, -0.75), scale=0.15, - command=lambda self=self: self.d_requestTransformation()) - self.noButton = DirectButton( - relief=None, text=TTLocalizer.lNo, - text_fg=(1, 1, 0.65, 1), text_pos=(0, -0.23), - text_scale=0.8, image=(self.upButton, self.downButton, self.rolloverButton), - image_color=(1, 0, 0, 1), image_scale=(20, 1, 11), pos=(0.275, 0, -0.75), scale=0.15, - command=lambda self=self: self.leave()) - - def doTransformation(self, avId): - av = self.cr.doId2do.get(avId) - if not av: - return - if av.style.getAnimal() != 'bear': - return - self.dustCloudIval = getDustCloudIval(av) - self.dustCloudIval.start() - - self.setChatAbsolute('', CFSpeech) - self.setChatAbsolute(TTLocalizer.YangEnjoy, CFSpeech|CFTimeout) - base.setCellsActive(base.bottomCells, 1) - - def d_requestTransformation(self): - self.sendUpdate('requestTransformation', []) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - - def leave(self, task=None): - self.setChatAbsolute('', CFSpeech) - self.setChatAbsolute(TTLocalizer.YangGoodbye, CFSpeech|CFTimeout) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - base.setCellsActive(base.bottomCells, 1) - - if task is not None: - return task.done diff --git a/toontown/toon/DistributedNPCYangAI.py b/toontown/toon/DistributedNPCYangAI.py deleted file mode 100644 index 2aa32a5f..00000000 --- a/toontown/toon/DistributedNPCYangAI.py +++ /dev/null @@ -1,20 +0,0 @@ -from DistributedNPCToonBaseAI import * -from toontown.toon.ToonDNA import ToonDNA - - -class DistributedNPCYangAI(DistributedNPCToonBaseAI): - def requestTransformation(self): - avId = self.air.getAvatarIdFromSender() - av = self.air.doId2do.get(avId) - if av is None: - return - if not hasattr(av, 'dna'): - return - if (av.dna.getAnimal() == 'bear') and (av.dna.headColor != 0x00): - newDNA = ToonDNA() - newDNA.makeFromNetString(av.getDNAString()) - newDNA.headColor = 0x00 - newDNA.armColor = 0x00 - newDNA.legColor = 0x00 - taskMgr.doMethodLater(1.0, lambda task: av.b_setDNAString(newDNA.makeNetString()), 'transform-%d' % avId) - self.sendUpdate('doTransformation', [avId]) diff --git a/toontown/toon/DistributedNPCYin.py b/toontown/toon/DistributedNPCYin.py deleted file mode 100644 index a963b9a0..00000000 --- a/toontown/toon/DistributedNPCYin.py +++ /dev/null @@ -1,192 +0,0 @@ -from direct.fsm import ClassicFSM, State -from direct.gui.DirectGui import * -from direct.task.Task import Task -from pandac.PandaModules import * -import time - -from DistributedNPCToonBase import * -from toontown.chat.ChatGlobals import * -from toontown.effects import DustCloud -from toontown.nametag.NametagGlobals import * -from toontown.toonbase import TTLocalizer - - -def getDustCloudIval(toon): - dustCloud = DustCloud.DustCloud(fBillboard=0) - dustCloud.setBillboardAxis(2.0) - dustCloud.setZ(3) - dustCloud.setScale(0.4) - dustCloud.createTrack() - if getattr(toon, 'laffMeter', None): - toon.laffMeter.color = toon.style.getBlackColor() - seq = Sequence(Wait(0.5), Func(dustCloud.reparentTo, toon), dustCloud.track, Func(dustCloud.destroy)) - if getattr(toon, 'laffMeter', None): - seq.append(Func(toon.laffMeter.adjustFace, toon.hp, toon.maxHp)) - return seq - - -class DistributedNPCYin(DistributedNPCToonBase): - def __init__(self, cr): - DistributedNPCToonBase.__init__(self, cr) - - self.pickColorGui = None - self.pickColorGuiDoneEvent = 'pickColorGuiDone' - - self.nextCollision = 0 - - self.fsm = ClassicFSM.ClassicFSM( - 'NPCYin', - [ - State.State('off', self.enterOff, self.exitOff, ['pickColor']), - State.State('pickColor', self.enterPickColor, self.exitPickColor, ['off']) - ], 'off', 'off') - self.fsm.enterInitialState() - - self.title = None - self.yesButton = None - self.noButton = None - - self.buttonModels = loader.loadModel('phase_3.5/models/gui/inventory_gui') - self.upButton = self.buttonModels.find('**//InventoryButtonUp') - self.downButton = self.buttonModels.find('**/InventoryButtonDown') - self.rolloverButton = self.buttonModels.find('**/InventoryButtonRollover') - - def disable(self): - self.ignoreAll() - - if self.title: - self.title.destroy() - self.title = None - - if self.yesButton: - self.yesButton.destroy() - self.yesButton = None - - if self.noButton: - self.noButton.destroy() - self.noButton = None - - if self.buttonModels: - self.buttonModels.removeNode() - self.buttonModels = None - - if self.upButton: - self.upButton.removeNode() - self.upButton = None - - if self.downButton: - self.downButton.removeNode() - self.downButton = None - - if self.rolloverButton: - self.rolloverButton.removeNode() - self.rolloverButton = None - - if self.pickColorGui: - self.pickColorGui.destroy() - self.pickColorGui = None - - self.nextCollision = 0 - - DistributedNPCToonBase.disable(self) - - def initToonState(self): - self.setAnimState('neutral', 1.05, None, None) - self.setPosHpr(101, 15.5, 4, -245, 0, 0) - - def getCollSphereRadius(self): - return 1.0 - - def handleCollisionSphereEnter(self, collEntry): - self.currentTime = time.time() - if self.nextCollision <= self.currentTime: - self.fsm.request('pickColor') - self.nextCollision = self.currentTime + 2 - - def enterOff(self): - pass - - def exitOff(self): - pass - - def enterPickColor(self): - base.cr.playGame.getPlace().setState('stopped') - taskMgr.doMethodLater(15, self.leave, 'npcSleepTask-%s' % self.doId) - self.setChatAbsolute('', CFSpeech) - if base.localAvatar.style.getAnimal() != 'cat': - self.setChatAbsolute(TTLocalizer.YinNotCat, CFSpeech|CFTimeout) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - elif base.localAvatar.style.headColor == 0x1a: - self.setChatAbsolute(TTLocalizer.YinAlreadyBlack, CFSpeech|CFTimeout) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - else: - self.popupPickColorGUI() - - def exitPickColor(self, task=None): - taskMgr.remove('npcSleepTask-%s' % self.doId) - if self.title: - self.title.destroy() - self.title = None - if self.yesButton: - self.yesButton.destroy() - self.yesButton = None - if self.noButton: - self.noButton.destroy() - self.noButton = None - - if task is not None: - return task.done - - def popupPickColorGUI(self): - self.setChatAbsolute('', CFSpeech) - self.setChatAbsolute(TTLocalizer.YinPickColor, CFSpeech) - base.setCellsActive(base.bottomCells, 0) - - self.title = DirectLabel( - aspect2d, relief=None, text=TTLocalizer.YinTitle, - text_pos=(0, 0), text_fg=(1, 0, 0, 1), text_scale=0.09, - text_font=ToontownGlobals.getSignFont(), - pos=(0, 0, -0.55), text_shadow=(1, 1, 1, 1)) - self.yesButton = DirectButton( - relief=None, text=TTLocalizer.lYes, - text_fg=(1, 1, 0.65, 1), text_pos=(0, -0.23), - text_scale=0.8, image=(self.upButton, self.downButton, self.rolloverButton), - image_color=(1, 0, 0, 1), image_scale=(20, 1, 11), pos=(-0.275, 0, -0.75), scale=0.15, - command=lambda self=self: self.d_requestTransformation()) - self.noButton = DirectButton( - relief=None, text=TTLocalizer.lNo, - text_fg=(1, 1, 0.65, 1), text_pos=(0, -0.23), - text_scale=0.8, image=(self.upButton, self.downButton, self.rolloverButton), - image_color=(1, 0, 0, 1), image_scale=(20, 1, 11), pos=(0.275, 0, -0.75), scale=0.15, - command=lambda self=self: self.leave()) - - def doTransformation(self, avId): - av = self.cr.doId2do.get(avId) - if not av: - return - if av.style.getAnimal() != 'cat': - return - self.dustCloudIval = getDustCloudIval(av) - self.dustCloudIval.start() - - self.setChatAbsolute('', CFSpeech) - self.setChatAbsolute(TTLocalizer.YinEnjoy, CFSpeech|CFTimeout) - base.setCellsActive(base.bottomCells, 1) - - def d_requestTransformation(self): - self.sendUpdate('requestTransformation', []) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - - def leave(self, task=None): - self.setChatAbsolute('', CFSpeech) - self.setChatAbsolute(TTLocalizer.YinGoodbye, CFSpeech|CFTimeout) - self.fsm.request('off') - base.cr.playGame.getPlace().setState('walk') - base.setCellsActive(base.bottomCells, 1) - - if task is not None: - return task.done - diff --git a/toontown/toon/DistributedNPCYinAI.py b/toontown/toon/DistributedNPCYinAI.py deleted file mode 100644 index c469a320..00000000 --- a/toontown/toon/DistributedNPCYinAI.py +++ /dev/null @@ -1,20 +0,0 @@ -from DistributedNPCToonBaseAI import * -from toontown.toon.ToonDNA import ToonDNA - - -class DistributedNPCYinAI(DistributedNPCToonBaseAI): - def requestTransformation(self): - avId = self.air.getAvatarIdFromSender() - av = self.air.doId2do.get(avId) - if av is None: - return - if not hasattr(av, 'dna'): - return - if (av.dna.getAnimal() == 'cat') and (av.dna.headColor != 0x1a): - newDNA = ToonDNA() - newDNA.makeFromNetString(av.getDNAString()) - newDNA.headColor = 0x1a - newDNA.armColor = 0x1a - newDNA.legColor = 0x1a - taskMgr.doMethodLater(1.0, lambda task: av.b_setDNAString(newDNA.makeNetString()), 'transform-%d' % avId) - self.sendUpdate('doTransformation', [avId]) diff --git a/toontown/toon/NPCToons.py b/toontown/toon/NPCToons.py index d6898351..f0d76fa0 100644 --- a/toontown/toon/NPCToons.py +++ b/toontown/toon/NPCToons.py @@ -70,8 +70,6 @@ NPC_FLIPPYTOONHALL = 10 NPC_SCIENTIST = 11 NPC_SMART = 13 NPC_BANKER = 14 -NPC_YIN = 15 -NPC_YANG = 16 CLERK_COUNTDOWN_TIME = 120 TAILOR_COUNTDOWN_TIME = 300 RTDNAFile = '/RTDNAFile.txt' @@ -97,8 +95,6 @@ def createNPC(air, npcId, desc, zoneId, posIndex = 0, questCallback = None): import DistributedNPCScientistAI import DistributedSmartNPCAI import DistributedNPCBankerAI - import DistributedNPCYinAI - import DistributedNPCYangAI canonicalZoneId, name, dnaType, gender, protected, type = desc if type == NPC_REGULAR: npc = DistributedNPCToonAI.DistributedNPCToonAI(air, npcId, questCallback=questCallback) @@ -128,12 +124,6 @@ def createNPC(air, npcId, desc, zoneId, posIndex = 0, questCallback = None): npc = DistributedSmartNPCAI.DistributedSmartNPCAI(air, npcId) elif type == NPC_BANKER: npc = DistributedNPCBankerAI.DistributedNPCBankerAI(air, npcId) - elif type == NPC_YIN: - if simbase.air.wantYinYang: - npc = DistributedNPCYinAI.DistributedNPCYinAI(air, npcId) - elif type == NPC_YANG: - if simbase.air.wantYinYang: - npc = DistributedNPCYangAI.DistributedNPCYangAI(air, npcId) else: print 'createNPC() error!!!' npc.setName(name) diff --git a/toontown/toonbase/ToonBase.py b/toontown/toonbase/ToonBase.py index 143f16e0..cfcf50f7 100644 --- a/toontown/toonbase/ToonBase.py +++ b/toontown/toonbase/ToonBase.py @@ -236,9 +236,6 @@ class ToonBase(OTPBase.OTPBase): self.filters = CommonFilters(self.win, self.cam) - # Free black/white Toons: - self.wantYinYang = config.GetBool('want-yin-yang', False) - def openMainWindow(self, *args, **kw): result = OTPBase.OTPBase.openMainWindow(self, *args, **kw) self.setCursorAndIcon()