def createToon(self): fields = { "ACCOUNT": self.accountId, "setDNAStrand": (str(self.choice[0]), ), "setName": (str(self.choice[2]), ), "setHealth": (100, ), "setMaxHealth": (100, ), "setMoney": (5000, ), "setBackpackAmmo": (GagGlobals.getDefaultBackpackNetString(True), ), "setLoadout": (GagGlobals.InitLoadout, ), # Start with cupcake and squirting flower. "setTrackExperience": (GagGlobals.trackExperienceToNetString( GagGlobals.DefaultTrackExperiences), ), "setAccessLevel": (AdminCommands.NoAccess, ), "setQuests": ("", ), "setQuestHistory": ([], ), "setTier": (13, ), "setFriendsList": ([], ), "setTutorialCompleted": (1, ), #self.choice[3],), "setHoodsDiscovered": ([ZoneUtil.ToontownCentralId], ), "setTeleportAccess": ([], ), "setLastHood": (ZoneUtil.ToontownCentralId, ), "setDefaultShard": (0, ) } self.notify.info("Creating new toon!") self.avList = self.accFields["AVATAR_IDS"] self.avList = self.avList[:6] self.avList += [0] * (6 - len(self.avList)) self.air.dbInterface.createObject( self.air.dbId, self.air.dclassesByName['DistributedPlayerToonUD'], fields, self.createDone)
def setBackpackAmmo(self, netString): data = self.backpack.fromNetString(netString) for gagId in data.keys(): supply = data[gagId] if not gagId in self.getAttackMgr().AttackClasses.keys(): # This is like an integrity check making sure that the avatar # only has access to attacks we want them to have access to. # This also is an automatic way to correct old backpack data # that could be lingering in our database. This integrity check # isn't supposed to remain in the code for a long time. self.b_setBackpackAmmo( GagGlobals.getDefaultBackpackNetString(True)) break if not self.backpack.hasGag(gagId): self.backpack.addGag(gagId, curSupply=supply) else: self.backpack.setSupply(gagId, supply, updateEnabled=False)