parent
b2e13f231c
commit
b81908ad53
|
|
@ -13,6 +13,7 @@ from direct.fsm import ClassicFSM, State
|
|||
from direct.fsm import State
|
||||
from toontown.toontowngui import TTDialog
|
||||
import re
|
||||
import string
|
||||
from toontown.toonbase import TTLocalizer
|
||||
from . import NameGenerator
|
||||
import random
|
||||
|
|
@ -536,10 +537,10 @@ class NameShop(StateData.StateData):
|
|||
|
||||
def match(npcName, name = name):
|
||||
name = TextEncoder().encodeWtext(name)
|
||||
name = name.strip()
|
||||
return TextEncoder.upper(npcName) == TextEncoder.upper(name.decode('utf-8'))
|
||||
name = string.strip(name)
|
||||
return TextEncoder.upper(npcName) == TextEncoder.upper(name)
|
||||
|
||||
for npcId in list(NPCToons.NPCToonDict.keys()):
|
||||
for npcId in NPCToons.NPCToonDict.keys():
|
||||
npcName = NPCToons.NPCToonDict[npcId][1]
|
||||
if match(npcName):
|
||||
self.notify.info('name matches NPC name "%s"' % npcName)
|
||||
|
|
@ -773,10 +774,10 @@ class NameShop(StateData.StateData):
|
|||
self.notify.debug('__typedAName')
|
||||
self.nameEntry['focus'] = 0
|
||||
name = self.nameEntry.get()
|
||||
name = TextEncoder().decodeText(name.encode('utf-8'))
|
||||
name = TextEncoder().decodeText(name)
|
||||
name = name.strip()
|
||||
name = TextEncoder().encodeWtext(name)
|
||||
self.nameEntry.enterText(name.decode('utf-8'))
|
||||
self.nameEntry.enterText(name)
|
||||
problem = self.nameIsValid(self.nameEntry.get())
|
||||
if problem:
|
||||
self.rejectName(problem)
|
||||
|
|
@ -865,70 +866,41 @@ class NameShop(StateData.StateData):
|
|||
|
||||
def checkNamePattern(self):
|
||||
self.notify.debug('checkNamePattern')
|
||||
if __astron__:
|
||||
base.cr.astronLoginManager.sendSetNamePattern(self.avId,
|
||||
self.nameIndices[0], self.nameFlags[0],
|
||||
self.nameIndices[1], self.nameFlags[1],
|
||||
self.nameIndices[2], self.nameFlags[2],
|
||||
self.nameIndices[3], self.nameFlags[3],
|
||||
self.handleSetNamePatternAnswerMsg)
|
||||
else:
|
||||
datagram = PyDatagram()
|
||||
datagram.addUint16(CLIENT_SET_NAME_PATTERN)
|
||||
datagram.addUint32(self.avId)
|
||||
datagram.addInt16(self.nameIndices[0])
|
||||
datagram.addInt16(self.nameFlags[0])
|
||||
datagram.addInt16(self.nameIndices[1])
|
||||
datagram.addInt16(self.nameFlags[1])
|
||||
datagram.addInt16(self.nameIndices[2])
|
||||
datagram.addInt16(self.nameFlags[2])
|
||||
datagram.addInt16(self.nameIndices[3])
|
||||
datagram.addInt16(self.nameFlags[3])
|
||||
messenger.send('nameShopPost', [datagram])
|
||||
datagram = PyDatagram()
|
||||
datagram.addUint16(CLIENT_SET_NAME_PATTERN)
|
||||
datagram.addUint32(self.avId)
|
||||
datagram.addInt16(self.nameIndices[0])
|
||||
datagram.addInt16(self.nameFlags[0])
|
||||
datagram.addInt16(self.nameIndices[1])
|
||||
datagram.addInt16(self.nameFlags[1])
|
||||
datagram.addInt16(self.nameIndices[2])
|
||||
datagram.addInt16(self.nameFlags[2])
|
||||
datagram.addInt16(self.nameIndices[3])
|
||||
datagram.addInt16(self.nameFlags[3])
|
||||
messenger.send('nameShopPost', [datagram])
|
||||
self.waitForServer()
|
||||
|
||||
if not __astron__:
|
||||
def handleSetNamePatternAnswerMsg(self, di):
|
||||
self.notify.debug('handleSetNamePatternAnswerMsg')
|
||||
self.cleanupWaitForServer()
|
||||
newavId = di.getUint32()
|
||||
if newavId != self.avId:
|
||||
self.notify.debug("doid's don't match up!")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
returnCode = di.getUint8()
|
||||
if returnCode == 0:
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.notify.debug('pattern name accepted')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 0)
|
||||
self.avList.append(newPotAv)
|
||||
self.doneStatus = 'done'
|
||||
self.storeSkipTutorialRequest()
|
||||
messenger.send(self.doneEvent)
|
||||
else:
|
||||
self.notify.debug('name pattern rejected')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
return None
|
||||
else:
|
||||
def handleSetNamePatternAnswerMsg(self, newavId, returnCode):
|
||||
self.notify.debug('handleSetNamePatternAnswerMsg')
|
||||
self.cleanupWaitForServer()
|
||||
if newavId != self.avId:
|
||||
self.notify.debug("doid's don't match up!")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
if returnCode == 1:
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.notify.debug('pattern name accepted')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 0)
|
||||
self.avList.append(newPotAv)
|
||||
self.doneStatus = 'done'
|
||||
self.storeSkipTutorialRequest()
|
||||
messenger.send(self.doneEvent)
|
||||
else:
|
||||
self.notify.debug('name pattern rejected')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
return None
|
||||
def handleSetNamePatternAnswerMsg(self, di):
|
||||
self.notify.debug('handleSetNamePatternAnswerMsg')
|
||||
self.cleanupWaitForServer()
|
||||
newavId = di.getUint32()
|
||||
if newavId != self.avId:
|
||||
self.notify.debug("doid's don't match up!")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
returnCode = di.getUint8()
|
||||
if returnCode == 0:
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.notify.debug('pattern name accepted')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 0)
|
||||
self.avList.append(newPotAv)
|
||||
self.doneStatus = 'done'
|
||||
self.storeSkipTutorialRequest()
|
||||
messenger.send(self.doneEvent)
|
||||
else:
|
||||
self.notify.debug('name pattern rejected')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
return None
|
||||
|
||||
def _submitTypeANameAsPickAName(self):
|
||||
pnp = TTPickANamePattern(self.nameEntry.get(), self.toon.style.gender)
|
||||
|
|
@ -937,7 +909,7 @@ class NameShop(StateData.StateData):
|
|||
self.fsm.request('PickAName')
|
||||
flags = [pattern[0] != -1, pattern[1] != -1, pattern[2] != -1]
|
||||
names = []
|
||||
for i in range(len(pattern)):
|
||||
for i in xrange(len(pattern)):
|
||||
if pattern[i] != -1:
|
||||
names.append(pnp.getNamePartString(self.toon.style.gender, i, pattern[i]))
|
||||
else:
|
||||
|
|
@ -953,124 +925,74 @@ class NameShop(StateData.StateData):
|
|||
self.notify.debug('checkNameTyped')
|
||||
if self._submitTypeANameAsPickAName():
|
||||
return
|
||||
if not __astron__:
|
||||
datagram = PyDatagram()
|
||||
datagram.addUint16(CLIENT_SET_WISHNAME)
|
||||
datagram = PyDatagram()
|
||||
datagram.addUint16(CLIENT_SET_WISHNAME)
|
||||
if justCheck:
|
||||
avId = 0
|
||||
else:
|
||||
avId = self.avId
|
||||
if not __astron__:
|
||||
datagram.addUint32(avId)
|
||||
datagram.addString(self.nameEntry.get())
|
||||
messenger.send('nameShopPost', [datagram])
|
||||
else:
|
||||
base.cr.astronLoginManager.sendSetNameTyped(avId, self.nameEntry.get(), self.handleSetNameTypedAnswerMsg)
|
||||
datagram.addUint32(avId)
|
||||
datagram.addString(self.nameEntry.get())
|
||||
messenger.send('nameShopPost', [datagram])
|
||||
self.waitForServer()
|
||||
|
||||
if not __astron__:
|
||||
def handleSetNameTypedAnswerMsg(self, di):
|
||||
self.notify.debug('handleSetNameTypedAnswerMsg')
|
||||
self.cleanupWaitForServer()
|
||||
newavId = di.getUint32()
|
||||
if newavId and newavId != self.avId:
|
||||
self.notify.debug("doid's don't match up!")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
returnCode = di.getUint16()
|
||||
if newavId == 0:
|
||||
if returnCode == 0:
|
||||
pendingname = di.getString()
|
||||
approvedname = di.getString()
|
||||
rejectedname = di.getString()
|
||||
if pendingname != '':
|
||||
self.notify.debug('name check pending')
|
||||
self.fsm.request('Approval')
|
||||
elif approvedname != '':
|
||||
self.notify.debug('name check accepted')
|
||||
self.nameAction = 2
|
||||
self.serverCreateAvatar()
|
||||
elif rejectedname != '':
|
||||
self.notify.debug('name check rejected')
|
||||
self.fsm.request('TypeAName')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
else:
|
||||
self.notify.debug('typed name response did not contain any return fields')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
elif returnCode == 0:
|
||||
wishname = di.getString()
|
||||
def handleSetNameTypedAnswerMsg(self, di):
|
||||
self.notify.debug('handleSetNameTypedAnswerMsg')
|
||||
self.cleanupWaitForServer()
|
||||
newavId = di.getUint32()
|
||||
if newavId and newavId != self.avId:
|
||||
self.notify.debug("doid's don't match up!")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
returnCode = di.getUint16()
|
||||
if newavId == 0:
|
||||
if returnCode == 0:
|
||||
pendingname = di.getString()
|
||||
approvedname = di.getString()
|
||||
rejectedname = di.getString()
|
||||
if approvedname != '':
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.names[0] = self.nameEntry.get()
|
||||
self.notify.debug('typed name accepted')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 0)
|
||||
self.avList.append(newPotAv)
|
||||
self.fsm.request('Accepted')
|
||||
elif wishname != '':
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.names[1] = self.nameEntry.get()
|
||||
self.notify.debug('typed name needs approval')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 1)
|
||||
if not self.newwarp:
|
||||
self.avList.append(newPotAv)
|
||||
self.fsm.request('ApprovalAccepted')
|
||||
elif rejectedname != '':
|
||||
self.fsm.request('Rejected')
|
||||
else:
|
||||
self.notify.debug("name typed accepted but didn't fill any return fields")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
else:
|
||||
self.notify.debug('name typed rejected')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
return None
|
||||
else:
|
||||
def handleSetNameTypedAnswerMsg(self, newavId, returnCode):
|
||||
self.notify.debug('handleSetNameTypedAnswerMsg')
|
||||
self.cleanupWaitForServer()
|
||||
if newavId and newavId != self.avId:
|
||||
self.notify.debug("doid's don't match up!")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
if newavId == 0:
|
||||
if returnCode == 1:
|
||||
if pendingname != '':
|
||||
self.notify.debug('name check pending')
|
||||
self.fsm.request('Approval')
|
||||
elif returnCode == 2:
|
||||
elif approvedname != '':
|
||||
self.notify.debug('name check accepted')
|
||||
self.nameAction = 2
|
||||
self.serverCreateAvatar()
|
||||
elif returnCode == 0:
|
||||
elif rejectedname != '':
|
||||
self.notify.debug('name check rejected')
|
||||
self.fsm.request('TypeAName')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
else:
|
||||
self.notify.debug('typed name response did not contain any return fields')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
else:
|
||||
if returnCode == 2:
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.names[0] = self.nameEntry.get()
|
||||
self.notify.debug('typed name accepted')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 0)
|
||||
elif returnCode == 0:
|
||||
wishname = di.getString()
|
||||
approvedname = di.getString()
|
||||
rejectedname = di.getString()
|
||||
if approvedname != '':
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.names[0] = self.nameEntry.get()
|
||||
self.notify.debug('typed name accepted')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 0)
|
||||
self.avList.append(newPotAv)
|
||||
self.fsm.request('Accepted')
|
||||
elif wishname != '':
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.names[1] = self.nameEntry.get()
|
||||
self.notify.debug('typed name needs approval')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 1)
|
||||
if not self.newwarp:
|
||||
self.avList.append(newPotAv)
|
||||
self.fsm.request('Accepted')
|
||||
elif returnCode == 1:
|
||||
style = self.toon.getStyle()
|
||||
avDNA = style.makeNetString()
|
||||
self.names[1] = self.nameEntry.get()
|
||||
self.notify.debug('typed name needs approval')
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(newavId, self.names, avDNA, self.index, 1)
|
||||
if not self.newwarp:
|
||||
self.avList.append(newPotAv)
|
||||
self.fsm.request('ApprovalAccepted')
|
||||
elif returnCode == 0:
|
||||
self.fsm.request('Rejected')
|
||||
else:
|
||||
self.notify.debug("name typed accepted but didn't fill any return fields")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
self.fsm.request('ApprovalAccepted')
|
||||
elif rejectedname != '':
|
||||
self.fsm.request('Rejected')
|
||||
else:
|
||||
self.notify.debug("name typed accepted but didn't fill any return fields")
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
else:
|
||||
self.notify.debug('name typed rejected')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
return None
|
||||
|
||||
def serverCreateAvatar(self, skipTutorial = False):
|
||||
self.notify.debug('serverCreateAvatar')
|
||||
|
|
@ -1082,46 +1004,18 @@ class NameShop(StateData.StateData):
|
|||
self.requestingSkipTutorial = False
|
||||
if not self.avExists or self.avExists and self.avId == 'deleteMe':
|
||||
messenger.send('nameShopCreateAvatar', [style, '', self.index])
|
||||
if __astron__:
|
||||
self.accept('nameShopCreateAvatarDone', self.handleCreateAvatarResponseMsg)
|
||||
else:
|
||||
self.checkNameTyped()
|
||||
self.notify.debug('Ending Make A Toon: %s' % self.toon.style)
|
||||
base.cr.centralLogger.writeClientEvent('MAT - endingMakeAToon: %s' % self.toon.style)
|
||||
|
||||
if not __astron__:
|
||||
def handleCreateAvatarResponseMsg(self, di):
|
||||
self.notify.debug('handleCreateAvatarResponseMsg')
|
||||
echoContext = di.getUint16()
|
||||
returnCode = di.getUint8()
|
||||
if returnCode == 0:
|
||||
self.notify.debug('avatar with default name accepted')
|
||||
self.avId = di.getUint32()
|
||||
self.avExists = 1
|
||||
self.logAvatarCreation()
|
||||
if self.nameAction == 0:
|
||||
self.toon.setName(self.names[0])
|
||||
newPotAv = PotentialAvatar.PotentialAvatar(self.avId, self.names, self.newDNA, self.index, 1)
|
||||
self.avList.append(newPotAv)
|
||||
self.doneStatus = 'done'
|
||||
self.storeSkipTutorialRequest()
|
||||
messenger.send(self.doneEvent)
|
||||
elif self.nameAction == 1:
|
||||
self.checkNamePattern()
|
||||
elif self.nameAction == 2:
|
||||
self.checkNameTyped()
|
||||
else:
|
||||
self.notify.debug('avatar invalid nameAction')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
else:
|
||||
self.notify.debug('avatar rejected')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
return None
|
||||
else:
|
||||
def handleCreateAvatarResponseMsg(self, avId):
|
||||
self.notify.debug('handleCreateAvatarResponseMsg')
|
||||
def handleCreateAvatarResponseMsg(self, di):
|
||||
self.notify.debug('handleCreateAvatarResponseMsg')
|
||||
echoContext = di.getUint16()
|
||||
returnCode = di.getUint8()
|
||||
if returnCode == 0:
|
||||
self.notify.debug('avatar with default name accepted')
|
||||
self.avId = avId
|
||||
self.avId = di.getUint32()
|
||||
self.avExists = 1
|
||||
self.logAvatarCreation()
|
||||
if self.nameAction == 0:
|
||||
|
|
@ -1138,6 +1032,10 @@ class NameShop(StateData.StateData):
|
|||
else:
|
||||
self.notify.debug('avatar invalid nameAction')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
else:
|
||||
self.notify.debug('avatar rejected')
|
||||
self.rejectName(TTLocalizer.NameError)
|
||||
return None
|
||||
|
||||
def waitForServer(self):
|
||||
self.waitForServerDialog = TTDialog.TTDialog(text=TTLocalizer.WaitingForNameSubmission, style=TTDialog.NoButtons)
|
||||
|
|
@ -1170,7 +1068,7 @@ class NameShop(StateData.StateData):
|
|||
self.promptTutorial()
|
||||
|
||||
def promptTutorial(self):
|
||||
self.promptTutorialDialog = TTDialog.TTDialog(parent=aspect2dp, text=TTLocalizer.PromptTutorial, text_scale=0.06, text_align=TextNode.ACenter, text_wordwrap=22, command=self.__openTutorialDialog, fadeScreen=0.5, style=TTDialog.TwoChoice, buttonTextList=[TTLocalizer.MakeAToonEnterTutorial, TTLocalizer.MakeAToonSkipTutorial], button_text_scale=0.06, buttonPadSF=5.5, sortOrder=DGG.NO_FADE_SORT_INDEX)
|
||||
self.promptTutorialDialog = TTDialog.TTDialog(parent=aspect2dp, text=TTLocalizer.PromptTutorial, text_scale=0.06, text_align=TextNode.ACenter, text_wordwrap=22, command=self.__openTutorialDialog, fadeScreen=0.5, style=TTDialog.TwoChoice, buttonTextList=[TTLocalizer.MakeAToonEnterTutorial, TTLocalizer.MakeAToonSkipTutorial], button_text_scale=0.06, buttonPadSF=5.5, sortOrder=NO_FADE_SORT_INDEX)
|
||||
self.promptTutorialDialog.show()
|
||||
|
||||
def __openTutorialDialog(self, choice = 0):
|
||||
|
|
|
|||
Loading…
Reference in New Issue