A bit of Speedchat cleanup

This commit is contained in:
John 2015-05-26 17:29:07 +03:00 committed by Loudrob
parent 81728b339a
commit fbfc094971
25 changed files with 143 additions and 1025 deletions

View file

@ -15,7 +15,6 @@ decorationHolidays = [ToontownGlobals.WINTER_DECORATIONS,
ToontownGlobals.SPOOKY_PROPS,
ToontownGlobals.HALLOWEEN_COSTUMES,
ToontownGlobals.SPOOKY_COSTUMES]
promotionalSpeedChatHolidays = []
class NewsManager(DistributedObject.DistributedObject):
notify = DirectNotifyGlobal.directNotify.newCategory('NewsManager')
@ -182,9 +181,6 @@ class NewsManager(DistributedObject.DistributedObject):
self.holidayDecorator = HolidayDecorator.HolidayDecorator()
self.holidayDecorator.decorate()
messenger.send('decorator-holiday-%d-starting' % holidayId)
elif holidayId in promotionalSpeedChatHolidays:
if hasattr(base, 'TTSCPromotionalMenu'):
base.TTSCPromotionalMenu.startHoliday(holidayId)
elif holidayId == ToontownGlobals.SILLY_SATURDAY_BINGO:
self.setBingoOngoing()
elif holidayId == ToontownGlobals.MORE_XP_HOLIDAY:
@ -297,9 +293,6 @@ class NewsManager(DistributedObject.DistributedObject):
self.holidayDecorator = HolidayDecorator.HolidayDecorator()
self.holidayDecorator.undecorate()
messenger.send('decorator-holiday-%d-ending' % holidayId)
elif holidayId in promotionalSpeedChatHolidays:
if hasattr(base, 'TTSCPromotionalMenu'):
base.TTSCPromotionalMenu.endHoliday(holidayId)
elif holidayId == ToontownGlobals.SILLY_SATURDAY_BINGO:
self.setBingoEnd()
elif holidayId == ToontownGlobals.MORE_XP_HOLIDAY:

View file

@ -5,7 +5,6 @@ from toontown.speedchat.TTSpeedChatTypes import *
from otp.speedchat.SpeedChat import SpeedChat
from otp.speedchat import SpeedChatGlobals
from toontown.speedchat import TTSpeedChatGlobals
from toontown.speedchat import TTSCIndexedTerminal
from direct.showbase import DirectObject
from direct.fsm import ClassicFSM, State
from direct.fsm import State
@ -382,7 +381,6 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
listenForSCEvent(TTSpeedChatGlobals.TTSCToontaskMsgEvent, self.handleToontaskMsg)
listenForSCEvent(TTSpeedChatGlobals.TTSCResistanceMsgEvent, self.handleResistanceMsg)
listenForSCEvent('SpeedChatStyleChange', self.handleSpeedChatStyleChange)
listenForSCEvent(TTSCIndexedTerminal.TTSCIndexedMsgEvent, self.handleStaticTextMsg)
self.fsm = ClassicFSM.ClassicFSM('SpeedChat', [State.State('off', self.enterOff, self.exitOff, ['active']), State.State('active', self.enterActive, self.exitActive, ['off'])], 'off', 'off')
self.fsm.enterInitialState()
return
@ -407,7 +405,6 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def createSpeedChat(self):
structure = []
structure.append([TTSCPromotionalMenu, OTPLocalizer.SCMenuPromotion])
structure.append([SCEmoteMenu, OTPLocalizer.SCMenuEmotions])
structure.append([SCCustomMenu, OTPLocalizer.SCMenuCustom])
structure.append([TTSCResistanceMenu, OTPLocalizer.SCMenuResistance])
@ -532,8 +529,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addKartRacingMenu(self):
if self.kartRacingMenu == None:
menu = TTSCKartRacingMenu()
self.kartRacingMenu = SCMenuHolder(OTPLocalizer.SCMenuKartRacing, menu=menu)
self.kartRacingMenu = SCMenuHolder(OTPLocalizer.SCMenuKartRacing, menu=SCSpecialMenu(KartRacingMenu))
self.speedChat[2:2] = [self.kartRacingMenu]
return
@ -672,8 +668,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addGolfMenu(self):
if self.golfMenu == None:
menu = TTSCGolfMenu()
self.golfMenu = SCMenuHolder(OTPLocalizer.SCMenuGolf, menu=menu)
self.golfMenu = SCMenuHolder(OTPLocalizer.SCMenuGolf, menu=SCSpecialMenu(GolfMenu))
self.speedChat[2:2] = [self.golfMenu]
return
@ -702,8 +697,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addAprilToonsMenu(self):
if self.aprilToonsMenu == None:
menu = TTSCAprilToonsMenu()
self.aprilToonsMenu = SCMenuHolder(OTPLocalizer.SCMenuAprilToons, menu=menu)
self.aprilToonsMenu = SCMenuHolder(OTPLocalizer.SCMenuAprilToons, menu=SCSpecialMenu(AprilToonsMenu))
self.speedChat[3:3] = [self.aprilToonsMenu]
return
@ -717,8 +711,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSillyPhaseOneMenu(self):
if self.sillyPhaseOneMenu == None:
menu = TTSCSillyPhaseOneMenu()
self.sillyPhaseOneMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=menu)
self.sillyPhaseOneMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=SCSpecialMenu(SillyPhaseOneMenu))
self.speedChat[3:3] = [self.sillyPhaseOneMenu]
return
@ -732,8 +725,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSillyPhaseTwoMenu(self):
if self.sillyPhaseTwoMenu == None:
menu = TTSCSillyPhaseTwoMenu()
self.sillyPhaseTwoMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=menu)
self.sillyPhaseTwoMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=SCSpecialMenu(SillyPhaseTwoMenu))
self.speedChat[3:3] = [self.sillyPhaseTwoMenu]
return
@ -747,8 +739,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSillyPhaseThreeMenu(self):
if self.sillyPhaseThreeMenu == None:
menu = TTSCSillyPhaseThreeMenu()
self.sillyPhaseThreeMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=menu)
self.sillyPhaseThreeMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=SCSpecialMenu(SillyPhaseThreeMenu))
self.speedChat[3:3] = [self.sillyPhaseThreeMenu]
return
@ -762,8 +753,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSillyPhaseFourMenu(self):
if self.sillyPhaseFourMenu == None:
menu = TTSCSillyPhaseFourMenu()
self.sillyPhaseFourMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=menu)
self.sillyPhaseFourMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=SCSpecialMenu(SillyPhaseFourMenu))
self.speedChat[3:3] = [self.sillyPhaseFourMenu]
return
@ -777,8 +767,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSillyPhaseFiveMenu(self):
if self.sillyPhaseFiveMenu == None:
menu = TTSCSillyPhaseFiveMenu()
self.sillyPhaseFiveMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=menu)
self.sillyPhaseFiveMenu = SCMenuHolder(OTPLocalizer.SCMenuSillyHoliday, menu=SCSpecialMenu(SillyPhaseFiveMenu))
self.speedChat[3:3] = [self.sillyPhaseFiveMenu]
return
@ -792,8 +781,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addVictoryPartiesMenu(self):
if self.victoryPartiesMenu == None:
menu = TTSCVictoryPartiesMenu()
self.victoryPartiesMenu = SCMenuHolder(OTPLocalizer.SCMenuVictoryParties, menu=menu)
self.victoryPartiesMenu = SCMenuHolder(OTPLocalizer.SCMenuVictoryParties, menu=SCSpecialMenu(VictoryPartiesMenu))
self.speedChat[3:3] = [self.victoryPartiesMenu]
return
@ -807,8 +795,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSellbotNerfMenu(self):
if self.sellbotNerfMenu == None:
menu = TTSCSellbotNerfMenu()
self.sellbotNerfMenu = SCMenuHolder(OTPLocalizer.SCMenuSellbotNerf, menu=menu)
self.sellbotNerfMenu = SCMenuHolder(OTPLocalizer.SCMenuSellbotNerf, menu=SCSpecialMenu(SellbotNerfMenu))
self.speedChat[2:2] = [self.sellbotNerfMenu]
return
@ -820,10 +807,9 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
self.sellbotNerfMenu = None
return
def addJellybeanJamMenu(self, phase):
def addJellybeanJamMenu(self):
if self.jellybeanJamMenu == None:
menu = TTSCJellybeanJamMenu(phase)
self.jellybeanJamMenu = SCMenuHolder(OTPLocalizer.SCMenuJellybeanJam, menu=menu)
self.jellybeanJamMenu = SCMenuHolder(OTPLocalizer.SCMenuJellybeanJam, menu=SCSpecialMenu(JellybeanJamMenu))
self.speedChat[2:2] = [self.jellybeanJamMenu]
return
@ -837,8 +823,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addHalloweenMenu(self):
if self.halloweenMenu == None:
menu = TTSCHalloweenMenu()
self.halloweenMenu = SCMenuHolder(OTPLocalizer.SCMenuHalloween, menu=menu)
self.halloweenMenu = SCMenuHolder(OTPLocalizer.SCMenuHalloween, menu=SCSpecialMenu(HalloweenMenu))
self.speedChat[2:2] = [self.halloweenMenu]
return
@ -852,8 +837,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addWinterMenu(self, carol = False):
if self.winterMenu == None:
menu = TTSCWinterMenu(carol)
self.winterMenu = SCMenuHolder(OTPLocalizer.SCMenuWinter, menu=menu)
self.winterMenu = SCMenuHolder(OTPLocalizer.SCMenuWinter, menu=SCSpecialMenu(WinterMenu))
self.speedChat[2:2] = [self.winterMenu]
return
@ -889,8 +873,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSellbotInvasionMenu(self):
if self.sellbotInvasionMenu == None:
menu = TTSCSellbotInvasionMenu()
self.sellbotInvasionMenu = SCMenuHolder(OTPLocalizer.SCMenuSellbotInvasion, menu=menu)
self.sellbotInvasionMenu = SCMenuHolder(OTPLocalizer.SCMenuSellbotInvasion, menu=SCSpecialMenu(SellbotInvasionMenu))
self.speedChat[2:2] = [self.sellbotInvasionMenu]
return
@ -904,8 +887,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addSellbotFieldOfficeMenu(self):
if self.sellbotFieldOfficeMenu == None:
menu = TTSCSellbotFieldOfficeMenu()
self.sellbotFieldOfficeMenu = SCMenuHolder(OTPLocalizer.SCMenuFieldOffice, menu=menu)
self.sellbotFieldOfficeMenu = SCMenuHolder(OTPLocalizer.SCMenuFieldOffice, menu=SCSpecialMenu(SellbotFieldOfficeMenu))
self.speedChat[2:2] = [self.sellbotFieldOfficeMenu]
return
@ -919,8 +901,7 @@ class TTChatInputSpeedChat(DirectObject.DirectObject):
def addIdesOfMarchMenu(self):
if self.idesOfMarchMenu == None:
menu = TTSCIdesOfMarchMenu()
self.idesOfMarchMenu = SCMenuHolder(OTPLocalizer.SCMenuIdesOfMarch, menu=menu)
self.idesOfMarchMenu = SCMenuHolder(OTPLocalizer.SCMenuIdesOfMarch, menu=SCSpecialMenu(IdesOfMarchMenu))
self.speedChat[2:2] = [self.idesOfMarchMenu]
return

View file

@ -0,0 +1,35 @@
from otp.otpbase import OTPLocalizer
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat import SCMenuHolder, SCStaticTextTerminal
class SCSpecialMenu(SCMenu):
def __init__(self, sections):
SCMenu.__init__(self)
self.sections = sections
self.__messagesChanged()
def appendPhrases(self, section, menu):
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link speedchat menu phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal.SCStaticTextTerminal(phrase))
def __messagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in self.sections:
if section[0] == -1:
self.appendPhrases(section, self)
else:
menu = SCMenu()
self.appendPhrases(section, menu)
self.append(SCMenuHolder.SCMenuHolder(str(section[0]), menu))

View file

@ -1,63 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
AprilToonsMenu = [(OTPLocalizer.AprilToonsMenuSections[1], [30100, 30102]),
(OTPLocalizer.AprilToonsMenuSections[2], [30110,
30111,
30112,
30113,
30114,
30115]),
(OTPLocalizer.AprilToonsMenuSections[3], [30120,
30121,
30122,
30123,
30124,
30125,
30126]),
(OTPLocalizer.AprilToonsMenuSections[4], [30130,
30131,
30132,
30133]),
(OTPLocalizer.AprilToonsMenuSections[0], [30140, 30141])]
class TTSCAprilToonsMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__aprilToonsMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __aprilToonsMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in AprilToonsMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link April Toons phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link April Toons phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,68 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
GolfMenuGuide = [(OTPLocalizer.GolfMenuSections[1], [4100,
4101,
4102,
4103,
4104,
4105]),
(OTPLocalizer.GolfMenuSections[2], [4200,
4201,
4202,
4203,
4204,
4205,
4206,
4207]),
(OTPLocalizer.GolfMenuSections[3], [4300,
4301,
4302,
4303,
4304,
4305,
4306,
4307]),
(OTPLocalizer.GolfMenuSections[0], [4000, 4001, 4002])]
class TTSCGolfMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.accept('golfMessagesChanged', self.__golfMessagesChanged)
self.__golfMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __golfMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in GolfMenuGuide:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link golf phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link golf phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,44 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
HalloweenMenu = [(OTPLocalizer.HalloweenMenuSections[0], [30250, 30251, 30252, 10003])]
class TTSCHalloweenMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__messagesChanged()
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in HalloweenMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Halloween phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Halloween phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,44 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
IdesOfMarchMenu = [(OTPLocalizer.IdesOfMarchMenuSections[0], [30450, 30451, 30452])]
class TTSCIdesOfMarchMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__messagesChanged()
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in IdesOfMarchMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link IdesOfMarch phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link IdesOfMarch phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,18 +0,0 @@
from otp.speedchat.SCTerminal import *
from otp.otpbase.OTPLocalizer import SpeedChatStaticText
TTSCIndexedMsgEvent = 'SCIndexedMsg'
def decodeTTSCIndexedMsg(msgIndex):
return SpeedChatStaticText.get(msgIndex, None)
class TTSCIndexedTerminal(SCTerminal):
def __init__(self, msg, msgIndex):
SCTerminal.__init__(self)
self.text = msg
self.msgIndex = msgIndex
def handleSelect(self):
SCTerminal.handleSelect(self)
messenger.send(self.getEventName(TTSCIndexedMsgEvent), [self.msgIndex])

View file

@ -1,58 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
JellybeanJamMenu = [(OTPLocalizer.JellybeanJamMenuSections[0], [30180,
30181,
30182,
30183,
30184,
30185]), (OTPLocalizer.JellybeanJamMenuSections[1], [30186,
30187,
30188,
30189,
30190])]
JellybeanJamPhases = PythonUtil.Enum('TROLLEY, FISHING, PARTIES')
PhaseSpecifPhrases = [30180, 30181, 30182]
class TTSCJellybeanJamMenu(SCMenu):
def __init__(self, phase):
SCMenu.__init__(self)
if phase in JellybeanJamPhases:
self.__messagesChanged(phase)
else:
print 'warning: tried to add Jellybean Jam phase %s which does not seem to exist' % phase
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self, phase):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in JellybeanJamMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Jellybean Jam phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Jellybean Jam phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,106 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
KartRacingMenuGuide = [(OTPLocalizer.KartRacingMenuSections[1], [3130,
3160,
3190,
3170,
3180,
3150,
3110]),
(OTPLocalizer.KartRacingMenuSections[2], [3200,
3201,
3210,
3211,
3220,
3221,
3222,
3223,
3224,
3225,
3230,
3231,
3232,
3233,
3234,
3235]),
(OTPLocalizer.KartRacingMenuSections[3], [3600,
3601,
3602,
3603,
3640,
3641,
3642,
3643,
3660,
3661,
3662,
3663]),
(OTPLocalizer.KartRacingMenuSections[4], [3300,
3301,
3310,
3320,
3330,
3340,
3350,
3360]),
(OTPLocalizer.KartRacingMenuSections[5], [3410,
3400,
3430,
3450,
3451,
3452,
3453,
3460,
3461,
3462,
3470]),
(OTPLocalizer.KartRacingMenuSections[0], [3010,
3020,
3030,
3040,
3050,
3060,
3061])]
class TTSCKartRacingMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.accept('kartRacingMessagesChanged', self.__kartRacingMessagesChanged)
self.__kartRacingMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __kartRacingMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in KartRacingMenuGuide:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link kart phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link kart phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -29,4 +29,4 @@ class TTSCPetTrickMenu(SCMenu):
TTSCPetTrickMenu.notify.warning('unknown trick ID: %s' % trickId)
else:
for msg in PetTricks.TrickId2scIds[trickId]:
self.append(SCStaticTextTerminal(msg))
self.append(SCStaticTextTerminal(msg))

View file

@ -1,37 +0,0 @@
from direct.directnotify import DirectNotifyGlobal
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
from toontown.toonbase import ToontownGlobals
holidayId2menuInfo = {}
class TTSCPromotionalMenu(SCMenu):
notify = DirectNotifyGlobal.directNotify.newCategory('TTSCPromotionalMenu')
def __init__(self):
SCMenu.__init__(self)
base.TTSCPromotionalMenu = self
self.curHolidayId = None
self.clearMenu()
return
def destroy(self):
del base.TTSCPromotionalMenu
SCMenu.destroy(self)
def startHoliday(self, holidayId):
if self.curHolidayId is not None:
TTSCPromotionalMenu.notify.warning('overriding existing holidayId %s with %s' % (self.curHolidayId, holidayId))
self.curHolidayId = holidayId
title, structure = holidayId2menuInfo[holidayId]
self.rebuildFromStructure(structure, title=title)
return
def endHoliday(self, holidayId):
if holidayId != self.curHolidayId:
TTSCPromotionalMenu.notify.warning('unexpected holidayId: %s' % holidayId)
return
self.curHolidayId = None
self.clearMenu()
return

View file

@ -36,4 +36,4 @@ class TTSCResistanceMenu(SCMenu):
textId = ResistanceChat.encodeId(menuIndex, 0)
menuName = ResistanceChat.getMenuName(textId)
self.append(SCMenuHolder(menuName, menu))
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,11 +1,11 @@
from otp.speedchat.SCTerminal import SCTerminal
from toontown.chat import ResistanceChat
TTSCResistanceMsgEvent = 'TTSCResistanceMsg'
def decodeTTSCResistanceMsg(textId):
return ResistanceChat.getChatText(textId)
class TTSCResistanceTerminal(SCTerminal):
def __init__(self, textId, charges):
@ -19,4 +19,4 @@ class TTSCResistanceTerminal(SCTerminal):
def handleSelect(self):
SCTerminal.handleSelect(self)
messenger.send(self.getEventName(TTSCResistanceMsgEvent), [self.textId])
messenger.send(self.getEventName(TTSCResistanceMsgEvent), [self.textId])

View file

@ -1,47 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from toontown.speedchat.TTSCIndexedTerminal import TTSCIndexedTerminal
from otp.otpbase import OTPLocalizer
from toontown.cogdominium import CogdoInterior
SellbotFieldOfficeMenu = [(OTPLocalizer.SellbotFieldOfficeMenuSections[0], range(30404, 30409)), (OTPLocalizer.SellbotFieldOfficeMenuSections[1], range(30409, 30419))]
class TTSCSellbotFieldOfficeMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.accept('sellbotFieldOfficeChanged', self.__messagesChanged)
self.__messagesChanged(False)
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self, inSellbotFieldOffice):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SellbotFieldOfficeMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Winter phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
elif inSellbotFieldOffice:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Halloween phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,45 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from toontown.speedchat.TTSCIndexedTerminal import TTSCIndexedTerminal
from otp.otpbase import OTPLocalizer
SellbotInvasionMenu = [(OTPLocalizer.SellbotInvasionMenuSections[0], range(30400, 30404))]
class TTSCSellbotInvasionMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__messagesChanged()
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SellbotInvasionMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Winter phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Halloween phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,67 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
SellbotNerfMenu = [(OTPLocalizer.SellbotNerfMenuSections[0], [30150,
30151,
30152,
30153,
30154,
30155,
30156]), (OTPLocalizer.SellbotNerfMenuSections[1], [30157,
30158,
30159,
30160,
30161,
30162,
30163,
30164]), (OTPLocalizer.SellbotNerfMenuSections[2], [30165,
30166,
30167,
30168,
30169,
30170,
30171,
30172,
30173,
30174,
30175])]
class TTSCSellbotNerfMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__messagesChanged()
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SellbotNerfMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Sellbot Nerf phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Sellbot Nerf phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,49 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
SillyPhaseFiveMenu = [(OTPLocalizer.SillyHolidayMenuSections[1], [30325, 30326, 30327]), (OTPLocalizer.SillyHolidayMenuSections[2], [30328,
30329,
30330,
30331,
30332])]
class TTSCSillyPhaseFiveMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__SillyPhaseFiveMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __SillyPhaseFiveMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SillyPhaseFiveMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseFive phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseFive phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,48 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
SillyPhaseFourMenu = [(OTPLocalizer.SillyHolidayMenuSections[1], [30325, 30326, 30327]), (OTPLocalizer.SillyHolidayMenuSections[2], [30329,
30330,
30331,
30332])]
class TTSCSillyPhaseFourMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__SillyPhaseFourMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __SillyPhaseFourMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SillyPhaseFourMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseFour phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseFour phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,48 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
SillyPhaseOneMenu = [(OTPLocalizer.SillyHolidayMenuSections[1], [30303,
30304,
30305,
30306]), (OTPLocalizer.SillyHolidayMenuSections[2], [30307, 30308]), (OTPLocalizer.SillyHolidayMenuSections[0], [30301, 30302])]
class TTSCSillyPhaseOneMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__SillyPhaseOneMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __SillyPhaseOneMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SillyPhaseOneMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseOne phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseOne phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,53 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
SillyPhaseThreeMenu = [(OTPLocalizer.SillyHolidayMenuSections[1], [30323,
30324,
30325,
30326,
30327]), (OTPLocalizer.SillyHolidayMenuSections[2], [30318,
30319,
30320,
30321,
30322])]
class TTSCSillyPhaseThreeMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__SillyPhaseThreeMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __SillyPhaseThreeMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SillyPhaseThreeMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseThree phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseThree phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,50 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase import OTPLocalizer
SillyPhaseTwoMenu = [(OTPLocalizer.SillyHolidayMenuSections[1], [30310,
30311,
30312,
30313,
30314,
30315]), (OTPLocalizer.SillyHolidayMenuSections[2], [30316, 30317]), (OTPLocalizer.SillyHolidayMenuSections[0], [30309])]
class TTSCSillyPhaseTwoMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__SillyPhaseTwoMessagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __SillyPhaseTwoMessagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in SillyPhaseTwoMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseTwo phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Silly PhaseTwo phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,57 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from otp.otpbase.OTPLocalizer import SpeedChatStaticText
from toontown.speedchat.TTSCIndexedTerminal import TTSCIndexedTerminal
from otp.otpbase import OTPLocalizer
VictoryPartiesMenu = [(OTPLocalizer.VictoryPartiesMenuSections[1], [30350,
30351,
30352,
30353,
30354]), (OTPLocalizer.VictoryPartiesMenuSections[2], [30355,
30356,
30357,
30358,
30359,
30360,
30361]), (OTPLocalizer.VictoryPartiesMenuSections[0], [])]
class TTSCVictoryPartiesMenu(SCMenu):
def __init__(self):
SCMenu.__init__(self)
self.__messagesChanged()
submenus = []
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
for section in VictoryPartiesMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Victory Parties phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Victory Parties phrase %s which does not seem to exist' % phrase
break
menu.append(SCStaticTextTerminal(phrase))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))

View file

@ -1,57 +0,0 @@
from direct.showbase import PythonUtil
from otp.speedchat.SCMenu import SCMenu
from otp.speedchat.SCMenuHolder import SCMenuHolder
from otp.speedchat.SCStaticTextTerminal import SCStaticTextTerminal
from toontown.speedchat.TTSCIndexedTerminal import TTSCIndexedTerminal
from otp.otpbase import OTPLocalizer
WinterMenu = [(OTPLocalizer.WinterMenuSections[0], {30200: 30220,
30201: 30221,
30202: 30222,
30203: 30223,
30204: 30224,
30205: 30225}), (OTPLocalizer.WinterMenuSections[1], [30275, 30276, 30277])]
class TTSCWinterMenu(SCMenu):
def __init__(self, carol):
SCMenu.__init__(self)
self.__messagesChanged(carol)
def destroy(self):
SCMenu.destroy(self)
def clearMenu(self):
SCMenu.clearMenu(self)
def __messagesChanged(self, carol):
self.clearMenu()
try:
lt = base.localAvatar
except:
return
winterMenu = []
if carol:
winterMenu.append(WinterMenu[0])
winterMenu.append(WinterMenu[1])
for section in winterMenu:
if section[0] == -1:
for phrase in section[1]:
if phrase not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Winter phrase %s which does not seem to exist' % phrase
break
self.append(SCStaticTextTerminal(phrase))
else:
menu = SCMenu()
for phrase in section[1].keys():
blatherTxt = section[1][phrase]
if blatherTxt not in OTPLocalizer.SpeedChatStaticText:
print 'warning: tried to link Winter phrase %s which does not seem to exist' % phrase
break
menu.append(TTSCIndexedTerminal(OTPLocalizer.SpeedChatStaticText.get(phrase, None), blatherTxt))
menuName = str(section[0])
self.append(SCMenuHolder(menuName, menu))
return

View file

@ -1,26 +1,94 @@
from TTSCToontaskMenu import TTSCToontaskMenu
from TTSCFactoryMenu import TTSCFactoryMenu
from TTSCCogMenu import TTSCCogMenu
if hasattr(base, 'wantPets') and base.wantPets:
from TTSCPetTrickMenu import TTSCPetTrickMenu
from TTSCPromotionalMenu import TTSCPromotionalMenu
from TTSCToontaskTerminal import TTSCToontaskTerminal
from TTSCResistanceMenu import TTSCResistanceMenu
from TTSCResistanceTerminal import TTSCResistanceTerminal
from TTSCKartRacingMenu import TTSCKartRacingMenu
from TTSCGolfMenu import TTSCGolfMenu
from TTSCBoardingMenu import TTSCBoardingMenu
from TTSCAprilToonsMenu import TTSCAprilToonsMenu
from TTSCSillyPhaseOneMenu import TTSCSillyPhaseOneMenu
from TTSCSillyPhaseTwoMenu import TTSCSillyPhaseTwoMenu
from TTSCSillyPhaseThreeMenu import TTSCSillyPhaseThreeMenu
from TTSCSillyPhaseFourMenu import TTSCSillyPhaseFourMenu
from TTSCSillyPhaseFiveMenu import TTSCSillyPhaseFiveMenu
from TTSCVictoryPartiesMenu import TTSCVictoryPartiesMenu
from TTSCSellbotNerfMenu import TTSCSellbotNerfMenu
from TTSCJellybeanJamMenu import TTSCJellybeanJamMenu
from TTSCHalloweenMenu import TTSCHalloweenMenu
from TTSCWinterMenu import TTSCWinterMenu
from TTSCSellbotInvasionMenu import TTSCSellbotInvasionMenu
from TTSCSellbotFieldOfficeMenu import TTSCSellbotFieldOfficeMenu
from TTSCIdesOfMarchMenu import TTSCIdesOfMarchMenu
if hasattr(base, 'wantPets') and base.wantPets:
from TTSCPetTrickMenu import TTSCPetTrickMenu
from otp.otpbase import OTPLocalizer
from SCSpecialMenu import SCSpecialMenu
AprilToonsMenu = [
(OTPLocalizer.AprilToonsMenuSections[1], [30100, 30102]),
(OTPLocalizer.AprilToonsMenuSections[2], [30110, 30111, 30112, 30113, 30114, 30115]),
(OTPLocalizer.AprilToonsMenuSections[3], [30120, 30121, 30122, 30123, 30124, 30125, 30126]),
(OTPLocalizer.AprilToonsMenuSections[4], [30130, 30131, 30132, 30133]),
(OTPLocalizer.AprilToonsMenuSections[0], [30140, 30141])
]
GolfMenu = [
(OTPLocalizer.GolfMenuSections[1], [4100, 4101, 4102, 4103, 4104, 4105]),
(OTPLocalizer.GolfMenuSections[2], [4200, 4201, 4202, 4203, 4204, 4205, 4206, 4207]),
(OTPLocalizer.GolfMenuSections[3], [4300, 4301, 4302, 4303, 4304, 4305, 4306, 4307]),
(OTPLocalizer.GolfMenuSections[0], [4000, 4001, 4002])
]
JellybeanJamMenu = [
(OTPLocalizer.JellybeanJamMenuSections[0], [30180, 30181, 30182, 30183, 30184, 30185]),
(OTPLocalizer.JellybeanJamMenuSections[1], [30186, 30187, 30188, 30189, 30190])
]
KartRacingMenu = [
(OTPLocalizer.KartRacingMenuSections[1], [3130, 3160, 3190, 3170, 3180, 3150, 3110]),
(OTPLocalizer.KartRacingMenuSections[2], [3200, 3201, 3210, 3211, 3220, 3221, 3222, 3223, 3224, 3225, 3230, 3231, 3232, 3233, 3234, 3235]),
(OTPLocalizer.KartRacingMenuSections[3], [3600, 3601, 3602, 3603, 3640, 3641, 3642, 3643, 3660, 3661, 3662, 3663]),
(OTPLocalizer.KartRacingMenuSections[4], [3300, 3301, 3310, 3320, 3330, 3340, 3350, 3360]),
(OTPLocalizer.KartRacingMenuSections[5], [3410, 3400, 3430, 3450, 3451, 3452, 3453, 3460, 3461, 3462, 3470]),
(OTPLocalizer.KartRacingMenuSections[0], [3010, 3020, 3030, 3040, 3050, 3060, 3061])
]
SellbotFieldOfficeMenu = [
(OTPLocalizer.SellbotFieldOfficeMenuSections[1], range(30409, 30419)),
(OTPLocalizer.SellbotFieldOfficeMenuSections[0], range(30404, 30409))
]
SellbotNerfMenu = [
(OTPLocalizer.SellbotNerfMenuSections[1], [30157, 30158, 30159, 30160, 30161, 30162, 30163, 30164]),
(OTPLocalizer.SellbotNerfMenuSections[2], [30165, 30166, 30167, 30168, 30169, 30170, 30171, 30172, 30173, 30174, 30175]),
(OTPLocalizer.SellbotNerfMenuSections[0], [30150, 30151, 30152, 30153, 30154, 30155, 30156]),
]
SillyPhaseFiveMenu = [
(OTPLocalizer.SillyHolidayMenuSections[1], [30325, 30326, 30327]),
(OTPLocalizer.SillyHolidayMenuSections[2], [30328, 30329, 30330, 30331, 30332])
]
SillyPhaseFourMenu = [
(OTPLocalizer.SillyHolidayMenuSections[1], [30325, 30326, 30327]),
(OTPLocalizer.SillyHolidayMenuSections[2], [30329, 30330, 30331, 30332])
]
SillyPhaseThreeMenu = [
(OTPLocalizer.SillyHolidayMenuSections[1], [30323, 30324, 30325, 30326, 30327]),
(OTPLocalizer.SillyHolidayMenuSections[2], [30318, 30319, 30320, 30321, 30322])
]
SillyPhaseTwoMenu = [
(OTPLocalizer.SillyHolidayMenuSections[1], [30310, 30311, 30312, 30313, 30314, 30315]),
(OTPLocalizer.SillyHolidayMenuSections[2], [30316, 30317]),
(OTPLocalizer.SillyHolidayMenuSections[0], [30309])
]
SillyPhaseOneMenu = [
(OTPLocalizer.SillyHolidayMenuSections[1], [30303, 30304, 30305, 30306]),
(OTPLocalizer.SillyHolidayMenuSections[2], [30307, 30308]),
(OTPLocalizer.SillyHolidayMenuSections[0], [30301, 30302])
]
VictoryPartiesMenu = [
(OTPLocalizer.VictoryPartiesMenuSections[1], [30350, 30351, 30352, 30353, 30354]),
(OTPLocalizer.VictoryPartiesMenuSections[2], [30355, 30356, 30357, 30358, 30359, 30360, 30361])
]
WinterMenu = [
(OTPLocalizer.WinterMenuSections[0], [30200, 30201, 30202, 30203, 30204, 30205]),
(OTPLocalizer.WinterMenuSections[1], [30275, 30276, 30277])
]
HalloweenMenu = [(OTPLocalizer.HalloweenMenuSections[0], [30250, 30251, 30252, 10003])]
IdesOfMarchMenu = [(OTPLocalizer.IdesOfMarchMenuSections[0], [30450, 30451, 30452])]
SellbotInvasionMenu = [(OTPLocalizer.SellbotInvasionMenuSections[0], range(30400, 30404))]