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 direct.fsm import State
from toontown.toontowngui import TTDialog from toontown.toontowngui import TTDialog
import re import re
import string
from toontown.toonbase import TTLocalizer from toontown.toonbase import TTLocalizer
from . import NameGenerator from . import NameGenerator
import random import random
@ -536,10 +537,10 @@ class NameShop(StateData.StateData):
def match(npcName, name = name): def match(npcName, name = name):
name = TextEncoder().encodeWtext(name) name = TextEncoder().encodeWtext(name)
name = name.strip() name = string.strip(name)
return TextEncoder.upper(npcName) == TextEncoder.upper(name.decode('utf-8')) 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] npcName = NPCToons.NPCToonDict[npcId][1]
if match(npcName): if match(npcName):
self.notify.info('name matches NPC name "%s"' % npcName) self.notify.info('name matches NPC name "%s"' % npcName)
@ -773,10 +774,10 @@ class NameShop(StateData.StateData):
self.notify.debug('__typedAName') self.notify.debug('__typedAName')
self.nameEntry['focus'] = 0 self.nameEntry['focus'] = 0
name = self.nameEntry.get() name = self.nameEntry.get()
name = TextEncoder().decodeText(name.encode('utf-8')) name = TextEncoder().decodeText(name)
name = name.strip() name = name.strip()
name = TextEncoder().encodeWtext(name) name = TextEncoder().encodeWtext(name)
self.nameEntry.enterText(name.decode('utf-8')) self.nameEntry.enterText(name)
problem = self.nameIsValid(self.nameEntry.get()) problem = self.nameIsValid(self.nameEntry.get())
if problem: if problem:
self.rejectName(problem) self.rejectName(problem)
@ -865,14 +866,6 @@ class NameShop(StateData.StateData):
def checkNamePattern(self): def checkNamePattern(self):
self.notify.debug('checkNamePattern') 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 = PyDatagram()
datagram.addUint16(CLIENT_SET_NAME_PATTERN) datagram.addUint16(CLIENT_SET_NAME_PATTERN)
datagram.addUint32(self.avId) datagram.addUint32(self.avId)
@ -887,7 +880,6 @@ class NameShop(StateData.StateData):
messenger.send('nameShopPost', [datagram]) messenger.send('nameShopPost', [datagram])
self.waitForServer() self.waitForServer()
if not __astron__:
def handleSetNamePatternAnswerMsg(self, di): def handleSetNamePatternAnswerMsg(self, di):
self.notify.debug('handleSetNamePatternAnswerMsg') self.notify.debug('handleSetNamePatternAnswerMsg')
self.cleanupWaitForServer() self.cleanupWaitForServer()
@ -909,26 +901,6 @@ class NameShop(StateData.StateData):
self.notify.debug('name pattern rejected') self.notify.debug('name pattern rejected')
self.rejectName(TTLocalizer.NameError) self.rejectName(TTLocalizer.NameError)
return None 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 _submitTypeANameAsPickAName(self): def _submitTypeANameAsPickAName(self):
pnp = TTPickANamePattern(self.nameEntry.get(), self.toon.style.gender) pnp = TTPickANamePattern(self.nameEntry.get(), self.toon.style.gender)
@ -937,7 +909,7 @@ class NameShop(StateData.StateData):
self.fsm.request('PickAName') self.fsm.request('PickAName')
flags = [pattern[0] != -1, pattern[1] != -1, pattern[2] != -1] flags = [pattern[0] != -1, pattern[1] != -1, pattern[2] != -1]
names = [] names = []
for i in range(len(pattern)): for i in xrange(len(pattern)):
if pattern[i] != -1: if pattern[i] != -1:
names.append(pnp.getNamePartString(self.toon.style.gender, i, pattern[i])) names.append(pnp.getNamePartString(self.toon.style.gender, i, pattern[i]))
else: else:
@ -953,22 +925,17 @@ class NameShop(StateData.StateData):
self.notify.debug('checkNameTyped') self.notify.debug('checkNameTyped')
if self._submitTypeANameAsPickAName(): if self._submitTypeANameAsPickAName():
return return
if not __astron__:
datagram = PyDatagram() datagram = PyDatagram()
datagram.addUint16(CLIENT_SET_WISHNAME) datagram.addUint16(CLIENT_SET_WISHNAME)
if justCheck: if justCheck:
avId = 0 avId = 0
else: else:
avId = self.avId avId = self.avId
if not __astron__:
datagram.addUint32(avId) datagram.addUint32(avId)
datagram.addString(self.nameEntry.get()) datagram.addString(self.nameEntry.get())
messenger.send('nameShopPost', [datagram]) messenger.send('nameShopPost', [datagram])
else:
base.cr.astronLoginManager.sendSetNameTyped(avId, self.nameEntry.get(), self.handleSetNameTypedAnswerMsg)
self.waitForServer() self.waitForServer()
if not __astron__:
def handleSetNameTypedAnswerMsg(self, di): def handleSetNameTypedAnswerMsg(self, di):
self.notify.debug('handleSetNameTypedAnswerMsg') self.notify.debug('handleSetNameTypedAnswerMsg')
self.cleanupWaitForServer() self.cleanupWaitForServer()
@ -1026,51 +993,6 @@ class NameShop(StateData.StateData):
self.notify.debug('name typed rejected') self.notify.debug('name typed rejected')
self.rejectName(TTLocalizer.NameError) self.rejectName(TTLocalizer.NameError)
return None 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:
self.notify.debug('name check pending')
self.fsm.request('Approval')
elif returnCode == 2:
self.notify.debug('name check accepted')
self.nameAction = 2
self.serverCreateAvatar()
elif returnCode == 0:
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)
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)
def serverCreateAvatar(self, skipTutorial = False): def serverCreateAvatar(self, skipTutorial = False):
self.notify.debug('serverCreateAvatar') self.notify.debug('serverCreateAvatar')
@ -1082,14 +1004,11 @@ class NameShop(StateData.StateData):
self.requestingSkipTutorial = False self.requestingSkipTutorial = False
if not self.avExists or self.avExists and self.avId == 'deleteMe': if not self.avExists or self.avExists and self.avId == 'deleteMe':
messenger.send('nameShopCreateAvatar', [style, '', self.index]) messenger.send('nameShopCreateAvatar', [style, '', self.index])
if __astron__:
self.accept('nameShopCreateAvatarDone', self.handleCreateAvatarResponseMsg)
else: else:
self.checkNameTyped() self.checkNameTyped()
self.notify.debug('Ending Make A Toon: %s' % self.toon.style) self.notify.debug('Ending Make A Toon: %s' % self.toon.style)
base.cr.centralLogger.writeClientEvent('MAT - endingMakeAToon: %s' % self.toon.style) base.cr.centralLogger.writeClientEvent('MAT - endingMakeAToon: %s' % self.toon.style)
if not __astron__:
def handleCreateAvatarResponseMsg(self, di): def handleCreateAvatarResponseMsg(self, di):
self.notify.debug('handleCreateAvatarResponseMsg') self.notify.debug('handleCreateAvatarResponseMsg')
echoContext = di.getUint16() echoContext = di.getUint16()
@ -1117,27 +1036,6 @@ class NameShop(StateData.StateData):
self.notify.debug('avatar rejected') self.notify.debug('avatar rejected')
self.rejectName(TTLocalizer.NameError) self.rejectName(TTLocalizer.NameError)
return None return None
else:
def handleCreateAvatarResponseMsg(self, avId):
self.notify.debug('handleCreateAvatarResponseMsg')
self.notify.debug('avatar with default name accepted')
self.avId = avId
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)
def waitForServer(self): def waitForServer(self):
self.waitForServerDialog = TTDialog.TTDialog(text=TTLocalizer.WaitingForNameSubmission, style=TTDialog.NoButtons) self.waitForServerDialog = TTDialog.TTDialog(text=TTLocalizer.WaitingForNameSubmission, style=TTDialog.NoButtons)
@ -1170,7 +1068,7 @@ class NameShop(StateData.StateData):
self.promptTutorial() self.promptTutorial()
def promptTutorial(self): 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() self.promptTutorialDialog.show()
def __openTutorialDialog(self, choice = 0): def __openTutorialDialog(self, choice = 0):