def handleAvatarResponseMsg(self, avatarId, di):
     self.loadingScreen.show(waitForLocation=True, expectedLoadScale=4)
     self.loadingScreen.beginStep('LocalAvatar', 36, 120)
     localAvatar = LocalPirate(self)
     localAvatar.dclass = self.dclassesByName['DistributedPlayerPirate']
     localAvatar.doId = avatarId
     self.localAvatarDoId = avatarId
     self.doId2do[avatarId] = localAvatar
     localAvatar.setLocation(parentId=None, zoneId=None)
     localAvatar.generateInit()
     localAvatar.generate()
     localAvatar.dclass.receiveUpdateBroadcastRequiredOwner(localAvatar, di)
     localAvatar.announceGenerate()
     localAvatar.postGenerateMessage()
     self.loadingScreen.endStep('LocalAvatar')
     self.loginFSM.request('playingGame')