Update NameShop.py

this is broken ik
This commit is contained in:
Open Toontown 2022-01-20 16:16:13 -05:00
parent b2e13f231c
commit b81908ad53
1 changed files with 99 additions and 201 deletions

View File

@ -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):