Conflicts:
	otp/distributed/DCClassImports.py
This commit is contained in:
Loudrob 2015-05-13 07:43:36 -04:00
commit 64aafa769c
36 changed files with 39 additions and 735 deletions

View file

@ -503,7 +503,6 @@ from toontown.safezone import DistributedCheckers/AI
from toontown.safezone import DistributedFindFour/AI
from toontown.uberdog.DistributedPartyManager/AI/UD import DistributedPartyManager/AI/UD
from toontown.coderedemption.TTCodeRedemptionMgr/AI import TTCodeRedemptionMgr/AI
from toontown.friends.TrueFriendsMgr/AI import TrueFriendsMgr/AI
from toontown.cogdominium import DistributedCogdoInterior/AI
from toontown.cogdominium import DistributedCogdoBattleBldg/AI
from toontown.cogdominium import DistributedCogdoElevatorExt/AI
@ -664,7 +663,6 @@ dclass DistributedToon : DistributedPlayer {
takeDamage(uint16) broadcast ownrecv;
setBattleId(uint32 = 0) required broadcast ram;
setExperience(blob = [0*14]) required broadcast db;
setTrueFriends(uint32[]) required ownrecv db;
setIgnored(uint32[]) required clsend airecv ownrecv db;
setReported(uint32[]) required ownrecv db;
setMaxCarry(uint8 = 20) required ownrecv db;
@ -3295,13 +3293,6 @@ dclass TTCodeRedemptionMgr : DistributedObject {
redeemCodeResult(uint32);
};
dclass TrueFriendsMgr : DistributedObject {
requestId() airecv clsend;
requestIdResult(uint32, string, string);
redeemId(string) airecv clsend;
redeemIdResult(uint32, string);
};
struct Friend
{
uint32 doId;
@ -3345,12 +3336,6 @@ dclass TTUFriendsManager : DistributedObjectGlobal {
whisperSCEmoteTo(uint32 toId, uint16 emoteId) clsend;
setWhisperSCEmoteFrom(uint32 fromId, uint16 emoteId);
requestSecret() clsend;
requestSecretResponse(int8 status, string secret);
submitSecret(string(0-256) secret) clsend;
submitSecretResponse(int8 status, int32 avId);
sendTalkWhisper(uint32 toId, string message) clsend;
receiveTalkWhisper(uint32 fromId, string message);

View file

@ -26,20 +26,14 @@ want-lawbot-cogdo #t
want-achievements #f
want-anim-props #t
want-game-tables #t
want-find-four #f
want-find-four #t
want-chinese-checkers #t
want-checkers #f
want-checkers #t
# Chat:
want-whitelist #f
# Cashbot boss:
want-resistance-toonup #t
want-resistance-restock #t
want-resistance-dance #t
# Optional:
want-glove-npc #t
want-jor-el-cam #f
# Developer options:

View file

@ -57,10 +57,6 @@ AIMsgName2Id = {'STATESERVER_OBJECT_GENERATE_WITH_REQUIRED': 2001,
'CHANNEL_PUPPET_ACTION': 4004,
'DBSERVER_MAKE_FRIENDS': 1017,
'DBSERVER_MAKE_FRIENDS_RESP': 1031,
'DBSERVER_REQUEST_SECRET': 1025,
'DBSERVER_REQUEST_SECRET_RESP': 1026,
'DBSERVER_SUBMIT_SECRET': 1027,
'DBSERVER_SUBMIT_SECRET_RESP': 1028,
'DBSERVER_CREATE_STORED_OBJECT': 1003,
'DBSERVER_CREATE_STORED_OBJECT_RESP': 1004,
'DBSERVER_DELETE_STORED_OBJECT': 1008,

View file

@ -2,7 +2,7 @@
from pandac.PandaModules import *
hashVal = 3191861370L
hashVal = 4170776848L
from toontown.coghq import DistributedCashbotBossSafe, DistributedCashbotBossCrane, DistributedBattleFactory, DistributedCashbotBossTreasure, DistributedCogHQDoor, DistributedSellbotHQDoor, DistributedFactoryElevatorExt, DistributedMintElevatorExt, DistributedLawOfficeElevatorExt, DistributedLawOfficeElevatorInt, LobbyManager, DistributedMegaCorp, DistributedFactory, DistributedLawOffice, DistributedLawOfficeFloor, DistributedLift, DistributedDoorEntity, DistributedSwitch, DistributedButton, DistributedTrigger, DistributedCrushableEntity, DistributedCrusherEntity, DistributedStomper, DistributedStomperPair, DistributedLaserField, DistributedGolfGreenGame, DistributedSecurityCamera, DistributedMover, DistributedElevatorMarker, DistributedBarrelBase, DistributedGagBarrel, DistributedBeanBarrel, DistributedHealBarrel, DistributedGrid, ActiveCell, DirectionalCell, CrusherCell, DistributedCrate, DistributedSinkingPlatform, BattleBlocker, DistributedMint, DistributedMintRoom, DistributedMintBattle, DistributedStage, DistributedStageRoom, DistributedStageBattle, DistributedLawbotBossGavel, DistributedLawbotCannon, DistributedLawbotChair, DistributedCogKart, DistributedCountryClub, DistributedCountryClubRoom, DistributedMoleField, DistributedCountryClubBattle, DistributedMaze, DistributedFoodBelt, DistributedBanquetTable, DistributedGolfSpot
@ -28,7 +28,6 @@ from toontown.minigame import DistributedMinigame, DistributedMinigameTemplate,
from toontown.racing import DistributedVehicle, DistributedStartingBlock, DistributedRace, DistributedKartPad, DistributedRacePad, DistributedViewPad, DistributedStartingBlock, DistributedLeaderBoard, DistributedGag, DistributedProjectile
from toontown.catalog import CatalogManager, AccountDate
from toontown.parties import DistributedParty, DistributedPartyActivity, DistributedPartyTeamActivity, DistributedPartyCannon, DistributedPartyCannonActivity, DistributedPartyCatchActivity, DistributedPartyWinterCatchActivity, DistributedPartyCogActivity, DistributedPartyWinterCogActivity, DistributedPartyFireworksActivity, DistributedPartyDanceActivityBase, DistributedPartyDanceActivity, DistributedPartyDance20Activity, DistributedPartyValentineDanceActivity, DistributedPartyValentineDance20Activity, DistributedPartyTrampolineActivity, DistributedPartyValentineTrampolineActivity, DistributedPartyVictoryTrampolineActivity, DistributedPartyWinterTrampolineActivity, DistributedPartyTugOfWarActivity, DistributedPartyJukeboxActivityBase, DistributedPartyJukeboxActivity, DistributedPartyJukebox40Activity, DistributedPartyValentineJukeboxActivity, DistributedPartyValentineJukebox40Activity
from toontown.friends.TrueFriendsMgr import TrueFriendsMgr
from toontown.friends import TTUFriendsManager
from toontown.cogdominium import DistributedCogdoInterior, DistributedCogdoBattleBldg, DistributedCogdoElevatorExt, DistributedCogdoElevatorInt, DistributedCogdoBarrel, DistCogdoGame, DistCogdoLevelGame, DistCogdoBoardroomGame, DistCogdoCraneGame, DistCogdoMazeGame, DistCogdoFlyingGame, DistCogdoCrane, DistCogdoCraneMoneyBag, DistCogdoCraneCog
from toontown.uberdog.ARGManager import ARGManager

View file

@ -90,17 +90,4 @@ class FriendManager(DistributedObject.DistributedObject):
def inviteeCancelFriendQuery(self, context):
self.notify.debug('Client: inviteeCancelFriendQuery(%d)' % context)
messenger.send('cancelFriendInvitation', [context])
self.up_inviteeAcknowledgeCancel(context)
def up_requestSecret(self):
self.notify.warning('Sending Request')
self.sendUpdate('requestSecret', [])
def requestSecretResponse(self, result, secret):
messenger.send('requestSecretResponse', [result, secret])
def up_submitSecret(self, secret):
self.sendUpdate('submitSecret', [secret])
def submitSecretResponse(self, result, avId):
messenger.send('submitSecretResponse', [result, avId])
self.up_inviteeAcknowledgeCancel(context)

View file

@ -110,16 +110,4 @@ class FriendManagerAI(DistributedObjectAI):
pass
def inviteeCancelFriendQuery(self, todo0):
pass
def requestSecret(self):
pass
def requestSecretResponse(self, todo0, todo1):
pass
def submitSecret(self, todo0):
pass
def submitSecretResponse(self, todo0, todo1):
pass
pass

View file

@ -201,14 +201,10 @@ FriendInviterConfirmRemove = 'Remove'
FriendInviterYes = lYes
FriendInviterNo = lNo
FriendInviterClickToon = 'Click on the toon you would like to make friends with.'
FriendInviterTooMany = 'You have too many friends on your list to add another one now. You will have to remove some friends if you want to make friends with %s.'
FriendInviterToonTooMany = 'You have too many toon friends on your list to add another one now. You will have to remove some toon friends if you want to make friends with %s.'
FriendInviterNotYet = 'Would you like to make friends with %s?'
FriendInviterCheckAvailability = 'Seeing if %s is available.'
FriendInviterNotAvailable = '%s is busy right now; try again later.'
FriendInviterCantSee = 'This only works if you can see %s.'
FriendInviterNotOnline = 'This only works if %s is online'
FriendInviterNotOpen = '%s does not have open chat, use secrets to make friends'
FriendInviterWentAway = '%s went away.'
FriendInviterAlready = '%s is already your friend.'
FriendInviterAlreadyInvited = '%s has already been invited.'

View file

@ -1,46 +0,0 @@
from direct.directnotify import DirectNotifyGlobal
from direct.distributed.ClockDelta import *
from direct.interval.IntervalGlobal import *
import HolidayDecorator
from toontown.toonbase import ToontownGlobals
from pandac.PandaModules import Vec4, TransformState, NodePath, TransparencyAttrib
from toontown.hood import GSHood
class CrashedLeaderBoardDecorator(HolidayDecorator.HolidayDecorator):
notify = DirectNotifyGlobal.directNotify.newCategory('CrashedLeaderBoardDecorator')
def __init__(self):
HolidayDecorator.HolidayDecorator.__init__(self)
def decorate(self):
self.updateHoodDNAStore()
self.swapIval = self.getSwapVisibleIval()
if self.swapIval:
self.swapIval.start()
holidayIds = base.cr.newsManager.getDecorationHolidayId()
if ToontownGlobals.CRASHED_LEADERBOARD not in holidayIds:
return
if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1):
self.startSmokeEffect()
def startSmokeEffect(self):
if isinstance(base.cr.playGame.getPlace().loader.hood, GSHood.GSHood):
base.cr.playGame.getPlace().loader.startSmokeEffect()
def stopSmokeEffect(self):
if isinstance(base.cr.playGame.getPlace().loader.hood, GSHood.GSHood):
base.cr.playGame.getPlace().loader.stopSmokeEffect()
def undecorate(self):
if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1):
self.stopSmokeEffect()
holidayIds = base.cr.newsManager.getDecorationHolidayId()
if len(holidayIds) > 0:
self.decorate()
return
storageFile = base.cr.playGame.hood.storageDNAFile
if storageFile:
loadDNAFile(self.dnaStore, storageFile, CSDefault)
self.swapIval = self.getSwapVisibleIval()
if self.swapIval:
self.swapIval.start()

View file

@ -1,30 +1,22 @@
from otp.ai.MagicWordGlobal import *
from pandac.PandaModules import *
from direct.distributed import DistributedObject
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import ToontownGlobals
from toontown.toonbase import ToontownBattleGlobals
from toontown.battle import SuitBattleGlobals
from toontown.toonbase import TTLocalizer
import HolidayDecorator
import HalloweenHolidayDecorator
import CrashedLeaderBoardDecorator
from direct.interval.IntervalGlobal import *
import calendar
from copy import deepcopy
from toontown.toonbase import TTLocalizer, ToontownGlobals, ToontownBattleGlobals
from toontown.battle import SuitBattleGlobals
from toontown.suit import SuitDNA
from otp.ai.MagicWordGlobal import *
from copy import deepcopy
import HolidayDecorator, HalloweenHolidayDecorator, calendar
decorationHolidays = [ToontownGlobals.WINTER_DECORATIONS,
ToontownGlobals.WACKY_WINTER_DECORATIONS,
ToontownGlobals.HALLOWEEN_PROPS,
ToontownGlobals.SPOOKY_PROPS,
ToontownGlobals.HALLOWEEN_COSTUMES,
ToontownGlobals.SPOOKY_COSTUMES,
ToontownGlobals.CRASHED_LEADERBOARD]
ToontownGlobals.SPOOKY_COSTUMES]
promotionalSpeedChatHolidays = []
class NewsManager(DistributedObject.DistributedObject):
notify = DirectNotifyGlobal.directNotify.newCategory('NewsManager')
neverDisable = 1
@ -186,8 +178,6 @@ class NewsManager(DistributedObject.DistributedObject):
if hasattr(base.cr.playGame, 'dnaStore') and hasattr(base.cr.playGame, 'hood') and hasattr(base.cr.playGame.hood, 'loader'):
if holidayId == ToontownGlobals.HALLOWEEN_COSTUMES or holidayId == ToontownGlobals.SPOOKY_COSTUMES:
self.holidayDecorator = HalloweenHolidayDecorator.HalloweenHolidayDecorator()
elif holidayId == ToontownGlobals.CRASHED_LEADERBOARD:
self.holidayDecorator = CrashedLeaderBoardDecorator.CrashedLeaderBoardDecorator()
else:
self.holidayDecorator = HolidayDecorator.HolidayDecorator()
self.holidayDecorator.decorate()
@ -303,8 +293,6 @@ class NewsManager(DistributedObject.DistributedObject):
if hasattr(base.cr.playGame, 'dnaStore') and hasattr(base.cr.playGame, 'hood') and hasattr(base.cr.playGame.hood, 'loader'):
if holidayId == ToontownGlobals.HALLOWEEN_COSTUMES or holidayId == ToontownGlobals.SPOOKY_COSTUMES:
self.holidayDecorator = HalloweenHolidayDecorator.HalloweenHolidayDecorator()
elif holidayId == ToontownGlobals.CRASHED_LEADERBOARD:
self.holidayDecorator = CrashedLeaderBoardDecorator.CrashedLeaderBoardDecorator()
else:
self.holidayDecorator = HolidayDecorator.HolidayDecorator()
self.holidayDecorator.undecorate()

View file

@ -30,7 +30,6 @@ from toontown.distributed.ToontownInternalRepository import ToontownInternalRepo
from toontown.coderedemption.TTCodeRedemptionMgrAI import TTCodeRedemptionMgrAI
from toontown.dna.DNAParser import loadDNAFileAI
from toontown.estate.EstateManagerAI import EstateManagerAI
from toontown.friends.TrueFriendsMgrAI import TrueFriendsMgrAI
from toontown.hood import BRHoodAI
from toontown.hood import BossbotHQAI
from toontown.hood import CashbotHQAI
@ -87,7 +86,6 @@ class ToontownAIRepository(ToontownInternalRepository):
self.wantCogbuildings = self.config.GetBool('want-cogbuildings', True)
self.wantCogdominiums = self.config.GetBool('want-cogdominiums', True)
self.wantTrackClsends = self.config.GetBool('want-track-clsends', False)
self.wantGloveNpc = self.config.GetBool('want-glove-npc', True)
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)
@ -128,8 +126,6 @@ class ToontownAIRepository(ToontownInternalRepository):
self.buildingQueryMgr = DistributedBuildingQueryMgrAI(self)
self.buildingQueryMgr.generateWithRequired(2)
self.groupManager.generateWithRequired(2)
self.trueFriendsMgr = TrueFriendsMgrAI(self)
self.trueFriendsMgr.generateWithRequired(2)
if self.wantFishing:
self.fishManager = FishManagerAI(self)
if self.wantHousing:

View file

@ -1,8 +1,7 @@
from direct.particles.ParticleEffect import *
import os
from direct.directnotify import DirectNotifyGlobal
from direct.showbase import AppRunnerGlobal
import ParticleDefs
notify = DirectNotifyGlobal.directNotify.newCategory('BattleParticles')
TutorialParticleEffects = ('gearExplosionBig.ptf', 'gearExplosionSmall.ptf', 'gearExplosion.ptf')
ParticleNames = ('audit-div', 'audit-five', 'audit-four', 'audit-minus', 'audit-mult', 'audit-one', 'audit-plus', 'audit-six', 'audit-three', 'audit-two', 'blah', 'brainstorm-box', 'brainstorm-env', 'brainstorm-track', 'buzzwords-crash', 'buzzwords-inc', 'buzzwords-main', 'buzzwords-over', 'buzzwords-syn', 'confetti', 'doubletalk-double', 'doubletalk-dup', 'doubletalk-good', 'filibuster-cut', 'filibuster-fiscal', 'filibuster-impeach', 'filibuster-inc', 'jargon-brow', 'jargon-deep', 'jargon-hoop', 'jargon-ipo', 'legalese-hc', 'legalese-qpq', 'legalese-vd', 'mumbojumbo-boiler', 'mumbojumbo-creative', 'mumbojumbo-deben', 'mumbojumbo-high', 'mumbojumbo-iron', 'poundsign', 'schmooze-genius', 'schmooze-instant', 'schmooze-master', 'schmooze-viz', 'roll-o-dex', 'rollodex-card', 'dagger', 'fire', 'snow-particle', 'raindrop', 'gear', 'checkmark', 'dollar-sign', 'spark')
@ -13,8 +12,6 @@ def loadParticles():
global particleModel
if particleModel == None:
particleModel = loader.loadModel('phase_3.5/models/props/suit-particles')
return
def unloadParticles():
global particleModel
@ -22,8 +19,6 @@ def unloadParticles():
particleModel.removeNode()
del particleModel
particleModel = None
return
def getParticle(name):
if name in ParticleNames:
@ -34,7 +29,6 @@ def getParticle(name):
return None
return None
def loadParticleFile(name):
assert name.endswith('.ptf')
name = name[:-4] # Strip .ptf
@ -44,7 +38,6 @@ def loadParticleFile(name):
particleFunc(effect)
return effect
def createParticleEffect(name = None, file = None, numParticles = None, color = None):
if not name:
fileName = file + '.ptf'
@ -111,7 +104,6 @@ def createParticleEffect(name = None, file = None, numParticles = None, color =
notify.warning('createParticleEffect() - no name: %s' % name)
return None
def setEffectTexture(effect, name, color = None):
particles = effect.getParticlesNamed('particles-1')
np = getParticle(name)
@ -119,7 +111,6 @@ def setEffectTexture(effect, name, color = None):
particles.renderer.setColor(color)
particles.renderer.setFromNode(np)
def __makeGearExplosion(numParticles = None, style = 'Normal'):
if style == 'Normal':
effect = loadParticleFile('gearExplosion.ptf')
@ -132,7 +123,6 @@ def __makeGearExplosion(numParticles = None, style = 'Normal'):
particles.setPoolSize(numParticles)
return effect
def __makeRubOut(color = None):
effect = loadParticleFile('demotionUnFreeze.ptf')
loadParticles()
@ -148,7 +138,6 @@ def __makeRubOut(color = None):
particles.renderer.setColor(Vec4(0.54, 0.92, 0.32, 0.7))
return effect
def __makeShiftLift():
effect = loadParticleFile('pixieDrop.ptf')
particles = effect.getParticlesNamed('particles-1')
@ -157,4 +146,4 @@ def __makeShiftLift():
particles.emitter.setRadius(0.01)
effect.setHpr(0, 180, 0)
effect.setPos(0, 0, 0)
return effect
return effect

View file

@ -1,7 +1,5 @@
from pandac.PandaModules import *
from direct.directnotify import DirectNotifyGlobal
from direct.showbase import AppRunnerGlobal
import os
class BattleSounds:
notify = DirectNotifyGlobal.directNotify.newCategory('BattleSounds')
@ -15,7 +13,6 @@ class BattleSounds:
self.mgr.setCacheLimit(limit)
base.addSfxManager(self.mgr)
self.setupSearchPath()
return
def setupSearchPath(self):
self.sfxSearchPath = DSearchPath()
@ -46,5 +43,4 @@ class BattleSounds:
return self.mgr.getSound(filename.getFullpath())
return self.mgr.getNullSound()
globalBattleSoundCache = BattleSounds()
globalBattleSoundCache = BattleSounds()

View file

@ -65,61 +65,6 @@ def gearExplosion(self):
f0.addForce(force0)
self.addForceGroup(f0)
@particle
def smokeTest4(self):
self.reset()
self.setPos(0.000, 0.000, 0.000)
self.setHpr(0.000, 0.000, 0.000)
self.setScale(1.000, 1.000, 1.000)
p0 = Particles.Particles('particles-1')
p0.setFactory("PointParticleFactory")
p0.setRenderer("SpriteParticleRenderer")
p0.setEmitter("DiscEmitter")
p0.setPoolSize(30)
p0.setBirthRate(0.1000)
p0.setLitterSize(1)
p0.setLitterSpread(0)
p0.setSystemLifespan(0.0000)
p0.setLocalVelocityFlag(1)
p0.setSystemGrowsOlderFlag(0)
p0.factory.setLifespanBase(2.0000)
p0.factory.setLifespanSpread(0.5000)
p0.factory.setMassBase(1.0000)
p0.factory.setMassSpread(0.0000)
p0.factory.setTerminalVelocityBase(400.0000)
p0.factory.setTerminalVelocitySpread(0.0000)
p0.renderer.setAlphaMode(BaseParticleRenderer.PRALPHAINOUT)
p0.renderer.setUserAlpha(0.57)
p0.renderer.addTextureFromFile('../../ttmodels/src/maps/tt_t_efx_ext_smoke.tif')
p0.renderer.setColor(Vec4(1.00, 1.00, 1.00, 1.00))
p0.renderer.setXScaleFlag(1)
p0.renderer.setYScaleFlag(1)
p0.renderer.setAnimAngleFlag(0)
p0.renderer.setInitialXScale(2.0000)
p0.renderer.setFinalXScale(4.0000)
p0.renderer.setInitialYScale(2.0000)
p0.renderer.setFinalYScale(4.0000)
p0.renderer.setNonanimatedTheta(0.0000)
p0.renderer.setAlphaBlendMethod(BaseParticleRenderer.PPBLENDLINEAR)
p0.renderer.setAlphaDisable(0)
p0.renderer.getColorInterpolationManager().addLinear(0.0,1.0,Vec4(0.28235295414924622,0.28235295414924622,0.28235295414924622,1.0),Vec4(0.28235295414924622,0.28235295414924622,0.28235295414924622,1.0),1)
p0.emitter.setEmissionType(BaseParticleEmitter.ETRADIATE)
p0.emitter.setAmplitude(0.4000)
p0.emitter.setAmplitudeSpread(0.0000)
p0.emitter.setOffsetForce(Vec3(0.0000, 0.0000, 6.0000))
p0.emitter.setExplicitLaunchVector(Vec3(1.0000, 0.0000, 0.0000))
p0.emitter.setRadiateOrigin(Point3(0.0000, 0.0000, 0.0000))
p0.emitter.setRadius(1.0000)
self.addParticles(p0)
@particle
def gearExplosionSmall(self):
self.reset()

View file

@ -28,7 +28,6 @@ from toontown.toonbase.ToontownGlobals import *
from toontown.distributed import DelayDelete
from toontown.friends import FriendHandle
from toontown.friends import FriendsListPanel
from toontown.friends import ToontownFriendSecret
from toontown.login import AvatarChooser
from toontown.makeatoon import MakeAToon
from toontown.pets import DistributedPet, PetDetail, PetHandle
@ -407,7 +406,6 @@ class ToontownClientRepository(OTPClientRepository.OTPClientRepository):
if self.objectManager != None:
self.objectManager.destroy()
self.objectManager = None
ToontownFriendSecret.unloadFriendSecret()
FriendsListPanel.unloadFriendsList()
messenger.send('cancelFriendInvitation')
base.removeGlitchMessage()

View file

@ -1,54 +0,0 @@
from pandac.PandaModules import *
from direct.particles import ParticleEffect
from direct.directnotify import DirectNotifyGlobal
from direct.showbase import AppRunnerGlobal
import os
class CarSmoke(NodePath):
def __init__(self, parent):
NodePath.__init__(self)
notify = DirectNotifyGlobal.directNotify.newCategory('CarSmokeParticles')
self.effectNode = parent.attachNewNode('carSmoke')
self.effectNode.setBin('fixed', 1)
self.effectNode.setDepthWrite(0)
self.effect = ParticleEffect.ParticleEffect()
particleSearchPath = DSearchPath()
if AppRunnerGlobal.appRunner:
particleSearchPath.appendDirectory(Filename.expandFrom('$TT_3_5_ROOT/phase_3.5/etc'))
else:
basePath = os.path.expandvars('$TOONTOWN') or './toontown'
particleSearchPath.appendDirectory(Filename.fromOsSpecific(basePath + '/src/effects'))
particleSearchPath.appendDirectory(Filename('phase_3.5/etc'))
particleSearchPath.appendDirectory(Filename('phase_4/etc'))
particleSearchPath.appendDirectory(Filename('phase_5/etc'))
particleSearchPath.appendDirectory(Filename('phase_6/etc'))
particleSearchPath.appendDirectory(Filename('phase_7/etc'))
particleSearchPath.appendDirectory(Filename('phase_8/etc'))
particleSearchPath.appendDirectory(Filename('phase_9/etc'))
particleSearchPath.appendDirectory(Filename('.'))
pfile = Filename('smokeTest4.ptf')
found = vfs.resolveFilename(pfile, particleSearchPath)
if not found:
notify.warning('loadParticleFile() - no path: %s' % pfile)
return
notify.debug('Loading particle file: %s' % pfile)
self.effect.loadConfig(pfile)
ren = self.effect.getParticlesNamed('particles-1').getRenderer()
ren.setTextureFromNode('phase_4/models/props/tt_m_efx_ext_smoke', '**/*')
def start(self):
self.effect.start(parent=self.effectNode)
def stop(self):
try:
self.effect.disable()
except AttributeError:
pass
def destroy(self):
self.stop()
self.effect.cleanup()
self.effectNode.removeNode()
del self.effect
del self.effectNode

View file

@ -5,7 +5,6 @@ import FriendInvitee
import FriendNotifier
from direct.directnotify import DirectNotifyGlobal
from toontown.toon import ToonTeleportPanel
from toontown.friends import ToontownFriendSecret
from toontown.pets import PetAvatarPanel
from toontown.toon import ToonAvatarPanel
from toontown.suit import SuitAvatarPanel
@ -74,7 +73,6 @@ class FriendsListManager:
self.ignore('friendAvatar')
self.ignore('avatarDetails')
FriendsListPanel.hideFriendsList()
ToontownFriendSecret.hideFriendSecret()
if base.cr.friendManager:
base.cr.friendManager.setAvailable(0)
self.ignore('friendInvitation')

View file

@ -3,7 +3,6 @@ from direct.gui.DirectGui import *
from pandac.PandaModules import *
from direct.fsm import StateData
from toontown.toon import ToonAvatarPanel
from toontown.friends import ToontownFriendSecret
from toontown.toonbase import ToontownGlobals
from toontown.toonbase import TTLocalizer
from otp.otpbase import OTPGlobals
@ -247,7 +246,7 @@ class FriendsListPanel(DirectFrame, StateData.StateData):
def __secrets(self):
messenger.send('wakeup')
ToontownFriendSecret.showFriendSecret()
# TODO
def __newFriend(self):
messenger.send('wakeup')

View file

@ -1,197 +0,0 @@
from pandac.PandaModules import *
from direct.gui.DirectGui import *
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import TTLocalizer
from otp.otpbase import OTPGlobals
from toontown.nametag import NametagGlobals
globalFriendSecret = None
def showFriendSecret():
global globalFriendSecret
if not settings['trueFriends']:
chatMgr = base.localAvatar.chatMgr
chatMgr.fsm.request('noSecretChatAtAll')
else:
if globalFriendSecret != None:
globalFriendSecret.unload()
globalFriendSecret = ToontownFriendSecret()
globalFriendSecret.enter()
def hideFriendSecret():
if globalFriendSecret != None:
globalFriendSecret.exit()
def unloadFriendSecret():
global globalFriendSecret
if globalFriendSecret != None:
globalFriendSecret.unload()
globalFriendSecret = None
return
class ToontownFriendSecret(DirectFrame):
notify = DirectNotifyGlobal.directNotify.newCategory('ToontownFriendSecret')
def __init__(self):
DirectFrame.__init__(self, parent=aspect2dp, pos=(0, 0, 0.3), relief=None, image=DGG.getDefaultDialogGeom(), image_scale=(1.6, 1, 1.4), image_pos=(0, 0, -0.05), image_color=OTPGlobals.GlobalDialogColor, borderWidth=(0.01, 0.01))
self.initialiseoptions(ToontownFriendSecret)
self.isLoaded = 0
self.isEntered = 0
def unload(self):
if self.isLoaded == 0:
return None
self.isLoaded = 0
self.exit()
del self.introText
del self.getSecret
del self.enterSecretText
del self.enterSecret
del self.ok1
del self.ok2
del self.cancel
del self.secretText
DirectFrame.destroy(self)
return None
def load(self):
if self.isLoaded == 1:
return None
self.isLoaded = 1
self.introText = DirectLabel(parent=self, relief=None, pos=(0, 0, 0.4), scale=0.05, text=TTLocalizer.FriendSecretIntro, text_fg=(0, 0, 0, 1), text_wordwrap=30)
self.introText.hide()
guiButton = loader.loadModel('phase_3/models/gui/quit_button')
self.getSecret = DirectButton(parent=self, relief=None, pos=(0, 0, -0.11), image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSgetSecret, text=TTLocalizer.FriendSecretGetSecret, text_scale=TTLocalizer.FSgetSecretButton, text_pos=(0, -0.02), command=self.__getSecret)
self.getSecret.hide()
self.enterSecretText = DirectLabel(parent=self, relief=None, pos=TTLocalizer.FSenterSecretTextPos, scale=0.05, text=TTLocalizer.FriendSecretEnterSecret, text_fg=(0, 0, 0, 1), text_wordwrap=30)
self.enterSecretText.hide()
self.enterSecret = DirectEntry(parent=self, relief=DGG.SUNKEN, scale=0.06, pos=(-0.6, 0, -0.38), frameColor=(0.8, 0.8, 0.5, 1), borderWidth=(0.1, 0.1), numLines=1, width=20, frameSize=(-0.4,
20.4,
-0.4,
1.1), command=self.__enterSecret)
self.enterSecret.resetFrameSize()
self.enterSecret.hide()
self.ok1 = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSok1, text=TTLocalizer.FriendSecretEnter, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.5), command=self.__ok1)
self.ok1.hide()
self.ok2 = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSok2, text=TTLocalizer.FriendSecretOK, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.57), command=self.__ok2)
self.ok2.hide()
self.cancel = DirectButton(parent=self, relief=None, text=TTLocalizer.FriendSecretCancel, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FScancel, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.57), command=self.__cancel)
self.cancel.hide()
self.nextText = DirectLabel(parent=self, relief=None, pos=(0, 0, 0.3), scale=0.06, text='', text_scale=TTLocalizer.FSnextText, text_fg=(0, 0, 0, 1), text_wordwrap=25.5)
self.nextText.hide()
self.secretText = DirectLabel(parent=self, relief=None, pos=(0, 0, -0.42), scale=0.08, text='', text_fg=(0, 0, 0, 1), text_wordwrap=30)
self.secretText.hide()
guiButton.removeNode()
def enter(self):
if self.isEntered == 1:
return
self.isEntered = 1
if self.isLoaded == 0:
self.load()
self.show()
self.introText.show()
self.getSecret.show()
self.enterSecretText.show()
self.enterSecret.show()
self.ok1.show()
self.ok2.hide()
self.cancel.hide()
self.nextText.hide()
self.secretText.hide()
base.localAvatar.chatMgr.fsm.request('otherDialog')
self.enterSecret['focus'] = 1
NametagGlobals.setForceOnscreenChat(True)
def exit(self):
if self.isEntered == 0:
return
self.isEntered = 0
NametagGlobals.setForceOnscreenChat(False)
self.__cleanupFirstPage()
self.hide()
def __getSecret(self):
self.__cleanupFirstPage()
self.nextText['text'] = TTLocalizer.FriendSecretGettingSecret
self.nextText.setPos(0, 0, 0.3)
self.nextText.show()
self.ok1.hide()
self.cancel.show()
base.cr.trueFriendsMgr.requestId(self.gotSecret)
def gotSecret(self, id, result1, result2):
if id == 0:
self.rejectGetSecret(TTLocalizer.FriendSecretNoServer)
elif id == 1:
self.rejectGetSecret(TTLocalizer.FriendSecretNoServerResponse if not result1 else result1)
elif id == 2:
self.successGetSecret(result1, result2)
def rejectGetSecret(self, reason):
self.nextText['text'] = reason
self.nextText.show()
self.secretText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def successGetSecret(self, secret, expires):
self.nextText['text'] = TTLocalizer.FriendSecretGotSecret % expires
self.nextText.setPos(*TTLocalizer.FSgotSecretPos)
self.secretText['text'] = secret
self.nextText.show()
self.secretText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def __enterSecret(self, secret):
self.enterSecret.set('')
secret = secret.strip()
if not secret:
self.exit()
return
self.__cleanupFirstPage()
self.nextText['text'] = TTLocalizer.FriendSecretTryingSecret
base.cr.trueFriendsMgr.redeemId(secret, self.gotResponse)
self.nextText.setPos(0, 0, 0.3)
self.nextText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def gotResponse(self, id, name):
if id == 0:
self.nextText['text'] = TTLocalizer.FriendSecretNoServer
elif id == 1:
self.nextText['text'] = TTLocalizer.FriendSecretNoServerResponse if not result1 else result1
elif id == 2:
self.nextText['text'] = TTLocalizer.FriendSecretEnteredCodeSelf
elif id == 3:
self.nextText['text'] = TTLocalizer.FriendSecretAlreadyTrueFriend
elif id == 4:
self.nextText['text'] = TTLocalizer.FriendSecretSuccess % name
self.nextText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def __ok1(self):
secret = self.enterSecret.get()
self.__enterSecret(secret)
def __ok2(self):
self.exit()
def __cancel(self):
self.exit()
def __cleanupFirstPage(self):
self.introText.hide()
self.getSecret.hide()
self.enterSecretText.hide()
self.enterSecret.hide()
base.localAvatar.chatMgr.fsm.request('mainMenu')

View file

@ -1,34 +0,0 @@
from direct.distributed.DistributedObject import DistributedObject
from direct.directnotify.DirectNotifyGlobal import directNotify
class TrueFriendsMgr(DistributedObject):
neverDisable = 1
notify = directNotify.newCategory('TrueFriendsMgr')
def __init__(self, cr):
DistributedObject.__init__(self, cr)
self.requestCallback = None
self.redeemCallback = None
def announceGenerate(self):
DistributedObject.announceGenerate(self)
base.cr.trueFriendsMgr = self
def delete(self):
if hasattr(base.cr, 'trueFriendsMgr'):
del base.cr.trueFriendsMgr
DistributedObject.delete(self)
def requestId(self, callback):
self.requestCallback = callback
self.sendUpdate('requestId')
def redeemId(self, id, callback):
self.redeemCallback = callback
self.sendUpdate('redeemId', [id])
def requestIdResult(self, id, result1, result2):
self.requestCallback(id, result1, result2)
def redeemIdResult(self, id, name):
self.redeemCallback(id, name)

View file

@ -1,90 +0,0 @@
from direct.directnotify import DirectNotifyGlobal
from direct.distributed.DistributedObjectAI import DistributedObjectAI
from toontown.uberdog.ClientServicesManagerUD import executeHttpRequestAndLog
class TrueFriendsMgrAI(DistributedObjectAI):
notify = DirectNotifyGlobal.directNotify.newCategory("TrueFriendsMgrAI")
def announceGenerate(self):
DistributedObjectAI.announceGenerate(self)
def requestId(self):
avId = self.air.getAvatarIdFromSender()
av = self.air.doId2do.get(avId)
if not av:
return
if config.GetString('accountdb-type', 'developer') != 'remote':
self.sendUpdateToAvatarId(avId, 'requestIdResult', [0, None, None])
return
result = executeHttpRequestAndLog('truefriend', avid=avId)
if result is None:
self.sendUpdateToAvatarId(avId, 'requestIdResult', [1, None, None])
return
elif 'error' in result:
self.sendUpdateToAvatarId(avId, 'requestIdResult', [1, result['error'], None])
return
self.sendUpdateToAvatarId(avId, 'requestIdResult', [2, result['id'], result['expires']])
def redeemId(self, id):
avId = self.air.getAvatarIdFromSender()
av = self.air.doId2do.get(avId)
if not av:
return
if simbase.config.GetString('accountdb-type', 'developer') != 'remote':
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [0, None])
return
result = executeHttpRequestAndLog('truefriend', id=id)
if result is None:
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [1, None])
return
elif 'error' in result:
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [1, result['error']])
return
targetId = int(result['avId'])
if targetId == avId:
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [2, None])
return
elif av.isTrueFriend(targetId):
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [3, None])
return
av.addTrueFriend(targetId)
target = self.air.doId2do.get(targetId)
if target:
target.addTrueFriend(avId)
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [4, target.getName()])
else:
TrueFriendsOperation(targetId, avId)
class TrueFriendsOperation:
def __init__(self, targetId, avId):
self.targetId = targetId
self.avId = avId
simbase.air.dbInterface.queryObject(simbase.air.dbId, self.targetId, self.gotResponse)
def gotResponse(self, dclass, fields):
if dclass != simbase.air.dclassesByName['DistributedToonAI'] or not 'setName' in fields:
return
trueFriends = fields['setTrueFriends']
if self.avId in trueFriends:
self.sendUpdateToAvatarId(self.avId, 'redeemIdResult', [3, None])
return
trueFriends.append(self.avId)
simbase.air.dbInterface.updateObject(simbase.air.dbId, self.targetId, simbase.air.dclassesByName['DistributedToonAI'], {'setTrueFriends': [trueFriends]})
self.sendUpdateToAvatarId(self.avId, 'redeemIdResult', [4, fields['setName']])

View file

@ -2,7 +2,6 @@ from toontown.safezone.GSSafeZoneLoader import GSSafeZoneLoader
from toontown.toonbase import ToontownGlobals
from toontown.hood.ToonHood import ToonHood
class GSHood(ToonHood):
notify = directNotify.newCategory('GSHood')
@ -13,9 +12,6 @@ class GSHood(ToonHood):
SPOOKY_SKY_FILE = 'phase_3.5/models/props/BR_sky'
TITLE_COLOR = (1.0, 0.5, 0.4, 1.0)
HOLIDAY_DNA = {
ToontownGlobals.CRASHED_LEADERBOARD: ['phase_6/dna/crashed_leaderboard_storage_GS.pdna']}
def enter(self, requestStatus):
ToonHood.enter(self, requestStatus)

View file

@ -28,11 +28,10 @@ class TTHoodAI(HoodAI.HoodAI):
if simbase.config.GetBool('want-butterflies', True):
self.createButterflies()
if simbase.air.wantGloveNpc:
NPCToons.createNPC(
simbase.air, 2021,
(ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2021], ('dss', 'ls', 's', 'm', 13, 41, 13, 13, 1, 6, 1, 6, 0, 18, 0), 'm', 1, NPCToons.NPC_GLOVE),
ToontownGlobals.ToontownCentral, posIndex=0)
NPCToons.createNPC(
simbase.air, 2021,
(ToontownGlobals.ToontownCentral, TTLocalizer.NPCToonNames[2021], ('dss', 'ls', 's', 'm', 13, 41, 13, 13, 1, 6, 1, 6, 0, 18, 0), 'm', 1, NPCToons.NPC_GLOVE),
ToontownGlobals.ToontownCentral, posIndex=0)
if simbase.air.wantHalloween:
self.TrickOrTreatTargetManager = DistributedTrickOrTreatTargetAI.DistributedTrickOrTreatTargetAI(self.air)

View file

@ -1,12 +1,7 @@
from pandac.PandaModules import *
import random
import string
import copy
from toontown.toonbase import ToontownGlobals
from toontown.toonbase import TTLocalizer
import os
from direct.showbase import AppRunnerGlobal
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import TTLocalizer, ToontownGlobals
import random
class NameGenerator:
text = TextNode('text')
@ -364,4 +359,4 @@ class NameGenerator:
totalTitleFirstLasts = neutralTitleFirstLasts + boyTitleFirstLasts + girlTitleFirstLasts
print 'Total title first lasts: ' + str(totalTitleFirstLasts)
totalNames = firsts + lasts + totalTitleFirsts + totalTitleLasts + totalFirstLasts + totalTitleFirstLasts
print 'Total Names: ' + str(totalNames)
print 'Total Names: ' + str(totalNames)

View file

@ -67,4 +67,4 @@ CornerPosTable = {'daisys_garden_5200_english': [Point3(781.219727, 476.963623,
'daisys_garden_5100_english': [Point3(760.089722, 526.236206, 0), Point3(-139.510132, -373.3638, 0)],
'toontown_central_2300_english': [Point3(870.224243, 536.165771, 0), Point3(-89.175751, -423.234344, 0)],
'toontown_central_2100_english': [Point3(161.735336, -59.985107, 0), Point3(-512.664612, -734.385193, 0)],
'the_burrrgh_3200_english': [Point3(429.647949, 561.224304, 0), Point3(-31.951935, 99.624283, 0)]}
'the_burrrgh_3200_english': [Point3(429.647949, 561.224304, 0), Point3(-31.951935, 99.624283, 0)]}

View file

@ -1,17 +1,12 @@
from pandac.PandaModules import *
from direct.directnotify import DirectNotifyGlobal
from direct.interval.IntervalGlobal import *
from direct.showbase import AppRunnerGlobal
from direct.showbase import DirectObject
from direct.showbase import PythonUtil
from pandac.PandaModules import *
from otp.speedchat import SpeedChatGlobals
from toontown.ai import DistributedBlackCatMgr
from toontown.chat.ChatGlobals import *
from toontown.suit import Suit
from toontown.suit import SuitDNA
from toontown.suit import Suit, SuitDNA
from toontown.toon import ToonHeadFrame
from toontown.toonbase import TTLocalizer
from toontown.toonbase import ToontownBattleGlobals
from toontown.toonbase import TTLocalizer, ToontownBattleGlobals
from toontown.quest import QuestScripts
import copy, re, tokenize, BlinkingArrows, StringIO

View file

@ -1,11 +1,10 @@
from pandac.PandaModules import *
from direct.distributed import DistributedObject
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import TTLocalizer
from toontown.racing import KartShopGlobals
from toontown.toonbase import TTLocalizer
from toontown.toonbase.ToonBaseGlobal import *
from pandac.PandaModules import *
from toontown.toonbase.ToontownGlobals import *
import random
import cPickle
class DistributedLeaderBoard(DistributedObject.DistributedObject):
@ -20,7 +19,6 @@ class DistributedLeaderBoard(DistributedObject.DistributedObject):
self.updateCount = 0
self.board = None
self.surface = None
return
def generateInit(self):
DistributedObject.DistributedObject.generateInit(self)
@ -33,18 +31,6 @@ class DistributedLeaderBoard(DistributedObject.DistributedObject):
def announceGenerate(self):
DistributedObject.DistributedObject.announceGenerate(self)
self.board.reparentTo(render)
self.accept('decorator-holiday-%d-ending' % ToontownGlobals.CRASHED_LEADERBOARD, self.showLists)
self.accept('decorator-holiday-%d-starting' % ToontownGlobals.CRASHED_LEADERBOARD, self.hideLists)
newsManager = base.cr.newsManager
if newsManager:
if ToontownGlobals.CRASHED_LEADERBOARD in newsManager.holidayIdList:
self.hideLists()
def showLists(self):
self.board.show()
def hideLists(self):
self.board.hide()
def setPosHpr(self, x, y, z, h, p, r):
self.surface.setPosHpr(x, y, z, h, p, r)
@ -165,4 +151,4 @@ class DistributedLeaderBoard(DistributedObject.DistributedObject):
self.notify.debug('delete: deleting local leaderboard')
self.ignoreAll()
self.board.removeNode()
DistributedObject.DistributedObject.delete(self)
DistributedObject.DistributedObject.delete(self)

View file

@ -1,13 +1,9 @@
from pandac.PandaModules import *
from direct.directnotify import DirectNotifyGlobal
from direct.fsm import ClassicFSM, State
from direct.fsm import State
from pandac.PandaModules import *
from toontown.hood import ZoneUtil
from toontown.safezone.SafeZoneLoader import SafeZoneLoader
from toontown.safezone.GSPlayground import GSPlayground
from toontown.effects.CarSmoke import CarSmoke
from toontown.toonbase import ToontownGlobals
import random
class GSSafeZoneLoader(SafeZoneLoader):
@ -24,23 +20,14 @@ class GSSafeZoneLoader(SafeZoneLoader):
State.State('quietZone', self.enterQuietZone, self.exitQuietZone, ['playground', 'toonInterior', 'racetrack']),
State.State('racetrack', self.enterRacetrack, self.exitRacetrack, ['quietZone', 'playground']),
State.State('final', self.enterFinal, self.exitFinal, ['start'])], 'start', 'final')
self.smoke = None
return
def load(self):
SafeZoneLoader.load(self)
if base.cr.newsManager:
holidayIds = base.cr.newsManager.getDecorationHolidayId()
if ToontownGlobals.CRASHED_LEADERBOARD in holidayIds:
self.startSmokeEffect()
self.birdSound = map(base.loadSfx, ['phase_4/audio/sfx/SZ_TC_bird1.ogg', 'phase_4/audio/sfx/SZ_TC_bird2.ogg', 'phase_4/audio/sfx/SZ_TC_bird3.ogg'])
def unload(self):
del self.birdSound
if self.smoke != None:
self.stopSmokeEffect()
SafeZoneLoader.unload(self)
return
def enterPlayground(self, requestStatus):
self.playgroundClass = GSPlayground
@ -51,7 +38,6 @@ class GSSafeZoneLoader(SafeZoneLoader):
self.hood.hideTitleText()
SafeZoneLoader.exitPlayground(self)
self.playgroundClass = None
return
def handlePlaygroundDone(self):
status = self.place.doneStatus
@ -63,7 +49,6 @@ class GSSafeZoneLoader(SafeZoneLoader):
else:
self.doneStatus = status
messenger.send(self.doneEvent)
return
def enteringARace(self, status):
if not status['where'] == 'racetrack':
@ -93,21 +78,4 @@ class GSSafeZoneLoader(SafeZoneLoader):
'hoodId': 8000,
'shardId': None}
self.fsm.request('quietZone', [req])
return
def startSmokeEffect(self):
if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1):
leaderBoard = self.geom.find('**/*crashed*')
locator = leaderBoard.find('**/*locator_smoke*')
if locator != None:
self.smoke = CarSmoke(locator)
self.smoke.start()
return
def stopSmokeEffect(self):
if base.config.GetBool('want-crashedLeaderBoard-Smoke', 1):
if self.smoke != None:
self.smoke.stop()
self.smoke.destroy()
self.smoke = None
return
return

View file

@ -1,19 +1,12 @@
from direct.actor import Actor
from otp.avatar import Avatar
import SuitDNA
from toontown.toonbase import ToontownGlobals
from pandac.PandaModules import *
from toontown.battle import SuitBattleGlobals
from toontown.nametag import NametagGlobals
from direct.actor import Actor
from direct.task.Task import Task
from toontown.battle import BattleProps
from toontown.toonbase import TTLocalizer
from pandac.PandaModules import VirtualFileMountHTTP, VirtualFileSystem, Filename, DSearchPath
from direct.showbase import AppRunnerGlobal
from toontown.nametag import NametagGroup
import string
import os
from otp.avatar import Avatar
from toontown.battle import BattleProps, SuitBattleGlobals
from toontown.nametag import NametagGlobals
from toontown.toonbase import TTLocalizer, ToontownGlobals
from toontown.suit import SuitGlobals
import SuitDNA, string
aSize = 6.06
bSize = 5.29

View file

@ -182,7 +182,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute
self.gmNameTagString = ''
self.buffs = []
self.redeemedCodes = []
self.trueFriends = []
self.ignored = []
self.reported = []
@ -2578,12 +2577,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute
def setRedeemedCodes(self, redeemedCodes):
self.redeemedCodes = redeemedCodes
def setTrueFriends(self, trueFriends):
self.trueFriends = trueFriends
def isTrueFriend(self, doId):
return doId in self.trueFriends
def b_setIgnored(self, ignored):
self.setIgnored(ignored)
self.d_setIgnored(ignored)

View file

@ -179,7 +179,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
self._gmDisabled = False
self.buffs = []
self.redeemedCodes = []
self.trueFriends = []
self.ignored = []
self.reported = []
@ -431,27 +430,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
def getExperience(self):
return self.experience.makeNetString()
def b_setTrueFriends(self, trueFriends):
self.d_setTrueFriends(trueFriends)
self.setTrueFriends(trueFriends)
def d_setTrueFriends(self, trueFriends):
self.sendUpdate('setTrueFriends', [trueFriends])
def setTrueFriends(self, trueFriends):
self.trueFriends = trueFriends
def getTrueFriends(self):
return self.trueFriends
def isTrueFriend(self, doId):
return doId in self.trueFriends
def addTrueFriend(self, doId):
if not self.isTrueFriend(doId):
self.trueFriends.append(doId)
self.d_setTrueFriends(self.trueFriends)
def b_setIgnored(self, ignored):
self.d_setIgnored(ignored)
self.setIgnored(ignored)

View file

@ -545,7 +545,4 @@ class DistributedToonUD(DistributedObjectUD):
pass
def setRedeemedCodes(self, redeemedCodes):
pass
def setTrueFriends(self, trueFriends):
pass

View file

@ -119,7 +119,7 @@ def createNPC(air, npcId, desc, zoneId, posIndex = 0, questCallback = None):
npc = DistributedNPCScientistAI.DistributedNPCScientistAI(air, npcId)
elif type == NPC_SMART:
npc = DistributedSmartNPCAI.DistributedSmartNPCAI(air, npcId)
elif type == NPC_GLOVE and simbase.air.wantGloveNpc:
elif type == NPC_GLOVE:
npc = DistributedNPCGloveAI.DistributedNPCGloveAI(air, npcId)
elif type == NPC_LAFF_RESTOCK:
npc = DistributedNPCLaffRestockAI.DistributedNPCLaffRestockAI(air, npcId)

View file

@ -10,7 +10,6 @@ from direct.distributed import DistributedObject
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import ToontownGlobals
from toontown.toonbase import TTLocalizer
from toontown.friends import ToontownFriendSecret
import ToonAvatarDetailPanel
import AvatarPanelBase
from toontown.toontowngui import TTDialog
@ -369,7 +368,7 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase):
def __handleSecrets(self):
base.localAvatar.chatMgr.noWhisper()
ToontownFriendSecret.showFriendSecret()
# TODO
def __handleFriend(self):
base.localAvatar.chatMgr.noWhisper()

View file

@ -8346,20 +8346,6 @@ PickTrackTitle = 'Pick your third track!'
PickTrackNotice = 'Choose a track!'
CogLevelLabelOn = 'The cog level GUI is on.'
CogLevelLabelOff = 'The cog level GUI is off.'
FriendSecretIntro = "If you are playing Toontown United with someone you know in the real world, you can become True Friends. You can chat using the keyboard with your True Friends. Other Toons won't understand what you're saying.\n\nYou do this by getting a True Friend Code. Tell the True Friend Code to your friend, but not to anyone else. When your friend types in your True Friend Code on his or her screen, you'll be True Friends in Toontown!"
FriendSecretGetSecret = 'Get a True Friend Code'
FriendSecretEnterSecret = 'If you have a True Friend Code from someone you know, type it here.'
FriendSecretOK = lOK
FriendSecretEnter = 'Enter True Friend Code'
FriendSecretCancel = lCancel
FriendSecretGettingSecret = 'Getting True Friend Code...'
FriendSecretGotSecret = "Here is your new True Friend Code. Be sure to write it down!\n\nYou may give this True Friend Code to one person only. Once someone types in your True Friend Code, it will not work for anyone else. If you want to give a True Friend Code to more than one person, get another True Friend Code.\n\nThe True Friend Code will only work until %s. Your friend will have to type it in before it goes away, or it won't work.\n\nYour True Friend Code is:"
FriendSecretTryingSecret = 'Trying True Friend Code. . .'
FriendSecretNoServer = 'True Friends is not set up on this server!'
FriendSecretNoServerResponse = "Couldn't contact the True Friends server!"
FriendSecretEnteredCodeSelf = 'You just typed in your own True Friend Code! Now no one else can use that True Friend Code.'
FriendSecretAlreadyTrueFriend = 'You are True Friends with that toon already!'
FriendSecretSuccess = 'Congratulations! You are now True Friends with %s!'
HouseNames = ("Bungalow", "Tiki", "Teepee", "Castle", "Cupcake", "Cabin")
CatalogPurchaseHouseType = "When you buy a new house type, the current one is replaced by it. To recover the old type, you'll need to buy it back. Continue?"

View file

@ -42,16 +42,11 @@ DGGGscoreLabel = 0.075
FPvaluePos = (0, 0, -0.35)
FPvalue = 0.05
FPinfo = 0.055
FSGUIdirectFrame = 0.06
FSGUIcancelButton = 0.06
FSGUIokButton = 0.06
GTenterPage2Wordwrap = 13.5
GTenterPage4Wordwrap = 16.5
BCGjpText = 0.04
BCGjpTextWordwrap = 10.5
BCGnextGame = 1.71
FSGUIokButton = 0.06
FSGUIcancelButton = 0.06
FPnewEntry = 0.08
FPnewRecord = 0.08
GPgenus = 0.045
@ -286,14 +281,6 @@ TPhaveFun = 0.1
TPjoinUs = 0.1
TBSOSPSPenter = 0.1
TexitButton = 0.8
FSenterSecretTextPos = (0, 0, -0.25)
FSgotSecretPos = (0, 0, 0.47)
FSgetSecretButton = 0.06
FSnextText = 1.0
FSgetSecret = (1.55, 1, 1)
FSok1 = (1.55, 1, 1)
FSok2 = (0.6, 1, 1)
FScancel = (0.6, 1, 1)
#Some languages need to change the word order
SellbotFactoryPosPart1 = (0, -0.25)
SellbotFactoryScalePart1 = 0.075

View file

@ -855,7 +855,6 @@ HALLOWEEN_PROPS = 26
HALLOWEEN_COSTUMES = 27
DECEMBER_INVASION = 28
APRIL_FOOLS_COSTUMES = 29
CRASHED_LEADERBOARD = 30
OCTOBER31_FIREWORKS = 31
NOVEMBER19_FIREWORKS = 32
SELLBOT_SURPRISE_1 = 33