2015-03-03 22:10:12 +00:00
|
|
|
from direct.directnotify import DirectNotifyGlobal
|
|
|
|
from direct.distributed.DistributedObjectAI import DistributedObjectAI
|
|
|
|
from toontown.toon.ToonDNA import ToonDNA
|
2015-04-07 14:55:39 +00:00
|
|
|
from toontown.toonbase import ToontownGlobals
|
2015-03-03 22:10:12 +00:00
|
|
|
|
|
|
|
class DistributedBlackCatMgrAI(DistributedObjectAI):
|
|
|
|
notify = DirectNotifyGlobal.directNotify.newCategory("DistributedBlackCatMgrAI")
|
|
|
|
|
|
|
|
def requestBlackCatTransformation(self):
|
2015-04-07 14:55:39 +00:00
|
|
|
if not self.air.holidayManager.isHolidayRunning(ToontownGlobals.BLACK_CAT_DAY):
|
|
|
|
return
|
|
|
|
|
2015-03-03 22:10:12 +00:00
|
|
|
avId = self.air.getAvatarIdFromSender()
|
|
|
|
av = self.air.doId2do.get(avId)
|
2015-04-07 14:55:39 +00:00
|
|
|
|
|
|
|
if not av or av.dna.getAnimal() != 'cat' or av.dna.headColor == 0x1a:
|
|
|
|
return
|
|
|
|
|
|
|
|
newDNA = ToonDNA()
|
|
|
|
newDNA.makeFromNetString(av.getDNAString())
|
|
|
|
newDNA.updateToonProperties(armColor=26, legColor=26, headColor=26)
|
|
|
|
taskMgr.doMethodLater(1.0, lambda task: av.b_setDNAString(newDNA.makeNetString()), 'transform-%d' % avId)
|
|
|
|
self.sendUpdateToAvatarId(avId, 'doBlackCatTransformation', [])
|