True Friends holocausted until I make the new system tomorrow, using the panel

This commit is contained in:
DenialMC 2015-05-12 19:38:01 +03:00
parent 36bb543af6
commit 509a9697e6
18 changed files with 4 additions and 441 deletions

View file

@ -503,7 +503,6 @@ from toontown.safezone import DistributedCheckers/AI
from toontown.safezone import DistributedFindFour/AI
from toontown.uberdog.DistributedPartyManager/AI/UD import DistributedPartyManager/AI/UD
from toontown.coderedemption.TTCodeRedemptionMgr/AI import TTCodeRedemptionMgr/AI
from toontown.friends.TrueFriendsMgr/AI import TrueFriendsMgr/AI
from toontown.cogdominium import DistributedCogdoInterior/AI
from toontown.cogdominium import DistributedCogdoBattleBldg/AI
from toontown.cogdominium import DistributedCogdoElevatorExt/AI
@ -664,7 +663,6 @@ dclass DistributedToon : DistributedPlayer {
takeDamage(uint16) broadcast ownrecv;
setBattleId(uint32 = 0) required broadcast ram;
setExperience(blob = [0*14]) required broadcast db;
setTrueFriends(uint32[]) required ownrecv db;
setIgnored(uint32[]) required clsend airecv ownrecv db;
setReported(uint32[]) required ownrecv db;
setMaxCarry(uint8 = 20) required ownrecv db;
@ -3297,13 +3295,6 @@ dclass TTCodeRedemptionMgr : DistributedObject {
redeemCodeResult(uint32);
};
dclass TrueFriendsMgr : DistributedObject {
requestId() airecv clsend;
requestIdResult(uint32, string, string);
redeemId(string) airecv clsend;
redeemIdResult(uint32, string);
};
struct Friend
{
uint32 doId;
@ -3347,12 +3338,6 @@ dclass TTUFriendsManager : DistributedObjectGlobal {
whisperSCEmoteTo(uint32 toId, uint16 emoteId) clsend;
setWhisperSCEmoteFrom(uint32 fromId, uint16 emoteId);
requestSecret() clsend;
requestSecretResponse(int8 status, string secret);
submitSecret(string(0-256) secret) clsend;
submitSecretResponse(int8 status, int32 avId);
sendTalkWhisper(uint32 toId, string message) clsend;
receiveTalkWhisper(uint32 fromId, string message);

View file

@ -57,10 +57,6 @@ AIMsgName2Id = {'STATESERVER_OBJECT_GENERATE_WITH_REQUIRED': 2001,
'CHANNEL_PUPPET_ACTION': 4004,
'DBSERVER_MAKE_FRIENDS': 1017,
'DBSERVER_MAKE_FRIENDS_RESP': 1031,
'DBSERVER_REQUEST_SECRET': 1025,
'DBSERVER_REQUEST_SECRET_RESP': 1026,
'DBSERVER_SUBMIT_SECRET': 1027,
'DBSERVER_SUBMIT_SECRET_RESP': 1028,
'DBSERVER_CREATE_STORED_OBJECT': 1003,
'DBSERVER_CREATE_STORED_OBJECT_RESP': 1004,
'DBSERVER_DELETE_STORED_OBJECT': 1008,

View file

@ -91,16 +91,3 @@ class FriendManager(DistributedObject.DistributedObject):
self.notify.debug('Client: inviteeCancelFriendQuery(%d)' % context)
messenger.send('cancelFriendInvitation', [context])
self.up_inviteeAcknowledgeCancel(context)
def up_requestSecret(self):
self.notify.warning('Sending Request')
self.sendUpdate('requestSecret', [])
def requestSecretResponse(self, result, secret):
messenger.send('requestSecretResponse', [result, secret])
def up_submitSecret(self, secret):
self.sendUpdate('submitSecret', [secret])
def submitSecretResponse(self, result, avId):
messenger.send('submitSecretResponse', [result, avId])

View file

@ -111,15 +111,3 @@ class FriendManagerAI(DistributedObjectAI):
def inviteeCancelFriendQuery(self, todo0):
pass
def requestSecret(self):
pass
def requestSecretResponse(self, todo0, todo1):
pass
def submitSecret(self, todo0):
pass
def submitSecretResponse(self, todo0, todo1):
pass

View file

@ -201,14 +201,10 @@ FriendInviterConfirmRemove = 'Remove'
FriendInviterYes = lYes
FriendInviterNo = lNo
FriendInviterClickToon = 'Click on the toon you would like to make friends with.'
FriendInviterTooMany = 'You have too many friends on your list to add another one now. You will have to remove some friends if you want to make friends with %s.'
FriendInviterToonTooMany = 'You have too many toon friends on your list to add another one now. You will have to remove some toon friends if you want to make friends with %s.'
FriendInviterNotYet = 'Would you like to make friends with %s?'
FriendInviterCheckAvailability = 'Seeing if %s is available.'
FriendInviterNotAvailable = '%s is busy right now; try again later.'
FriendInviterCantSee = 'This only works if you can see %s.'
FriendInviterNotOnline = 'This only works if %s is online'
FriendInviterNotOpen = '%s does not have open chat, use secrets to make friends'
FriendInviterWentAway = '%s went away.'
FriendInviterAlready = '%s is already your friend.'
FriendInviterAlreadyInvited = '%s has already been invited.'

View file

@ -30,7 +30,6 @@ from toontown.distributed.ToontownInternalRepository import ToontownInternalRepo
from toontown.coderedemption.TTCodeRedemptionMgrAI import TTCodeRedemptionMgrAI
from toontown.dna.DNAParser import loadDNAFileAI
from toontown.estate.EstateManagerAI import EstateManagerAI
from toontown.friends.TrueFriendsMgrAI import TrueFriendsMgrAI
from toontown.hood import BRHoodAI
from toontown.hood import BossbotHQAI
from toontown.hood import CashbotHQAI
@ -127,8 +126,6 @@ class ToontownAIRepository(ToontownInternalRepository):
self.buildingQueryMgr = DistributedBuildingQueryMgrAI(self)
self.buildingQueryMgr.generateWithRequired(2)
self.groupManager.generateWithRequired(2)
self.trueFriendsMgr = TrueFriendsMgrAI(self)
self.trueFriendsMgr.generateWithRequired(2)
if self.wantFishing:
self.fishManager = FishManagerAI(self)
if self.wantHousing:

View file

@ -28,7 +28,6 @@ from toontown.toonbase.ToontownGlobals import *
from toontown.distributed import DelayDelete
from toontown.friends import FriendHandle
from toontown.friends import FriendsListPanel
from toontown.friends import ToontownFriendSecret
from toontown.login import AvatarChooser
from toontown.makeatoon import MakeAToon
from toontown.pets import DistributedPet, PetDetail, PetHandle
@ -407,7 +406,6 @@ class ToontownClientRepository(OTPClientRepository.OTPClientRepository):
if self.objectManager != None:
self.objectManager.destroy()
self.objectManager = None
ToontownFriendSecret.unloadFriendSecret()
FriendsListPanel.unloadFriendsList()
messenger.send('cancelFriendInvitation')
base.removeGlitchMessage()

View file

@ -5,7 +5,6 @@ import FriendInvitee
import FriendNotifier
from direct.directnotify import DirectNotifyGlobal
from toontown.toon import ToonTeleportPanel
from toontown.friends import ToontownFriendSecret
from toontown.pets import PetAvatarPanel
from toontown.toon import ToonAvatarPanel
from toontown.suit import SuitAvatarPanel
@ -74,7 +73,6 @@ class FriendsListManager:
self.ignore('friendAvatar')
self.ignore('avatarDetails')
FriendsListPanel.hideFriendsList()
ToontownFriendSecret.hideFriendSecret()
if base.cr.friendManager:
base.cr.friendManager.setAvailable(0)
self.ignore('friendInvitation')

View file

@ -3,7 +3,6 @@ from direct.gui.DirectGui import *
from pandac.PandaModules import *
from direct.fsm import StateData
from toontown.toon import ToonAvatarPanel
from toontown.friends import ToontownFriendSecret
from toontown.toonbase import ToontownGlobals
from toontown.toonbase import TTLocalizer
from otp.otpbase import OTPGlobals
@ -247,7 +246,7 @@ class FriendsListPanel(DirectFrame, StateData.StateData):
def __secrets(self):
messenger.send('wakeup')
ToontownFriendSecret.showFriendSecret()
# TODO
def __newFriend(self):
messenger.send('wakeup')

View file

@ -1,197 +0,0 @@
from pandac.PandaModules import *
from direct.gui.DirectGui import *
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import TTLocalizer
from otp.otpbase import OTPGlobals
from toontown.nametag import NametagGlobals
globalFriendSecret = None
def showFriendSecret():
global globalFriendSecret
if not settings['trueFriends']:
chatMgr = base.localAvatar.chatMgr
chatMgr.fsm.request('noSecretChatAtAll')
else:
if globalFriendSecret != None:
globalFriendSecret.unload()
globalFriendSecret = ToontownFriendSecret()
globalFriendSecret.enter()
def hideFriendSecret():
if globalFriendSecret != None:
globalFriendSecret.exit()
def unloadFriendSecret():
global globalFriendSecret
if globalFriendSecret != None:
globalFriendSecret.unload()
globalFriendSecret = None
return
class ToontownFriendSecret(DirectFrame):
notify = DirectNotifyGlobal.directNotify.newCategory('ToontownFriendSecret')
def __init__(self):
DirectFrame.__init__(self, parent=aspect2dp, pos=(0, 0, 0.3), relief=None, image=DGG.getDefaultDialogGeom(), image_scale=(1.6, 1, 1.4), image_pos=(0, 0, -0.05), image_color=OTPGlobals.GlobalDialogColor, borderWidth=(0.01, 0.01))
self.initialiseoptions(ToontownFriendSecret)
self.isLoaded = 0
self.isEntered = 0
def unload(self):
if self.isLoaded == 0:
return None
self.isLoaded = 0
self.exit()
del self.introText
del self.getSecret
del self.enterSecretText
del self.enterSecret
del self.ok1
del self.ok2
del self.cancel
del self.secretText
DirectFrame.destroy(self)
return None
def load(self):
if self.isLoaded == 1:
return None
self.isLoaded = 1
self.introText = DirectLabel(parent=self, relief=None, pos=(0, 0, 0.4), scale=0.05, text=TTLocalizer.FriendSecretIntro, text_fg=(0, 0, 0, 1), text_wordwrap=30)
self.introText.hide()
guiButton = loader.loadModel('phase_3/models/gui/quit_button')
self.getSecret = DirectButton(parent=self, relief=None, pos=(0, 0, -0.11), image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSgetSecret, text=TTLocalizer.FriendSecretGetSecret, text_scale=TTLocalizer.FSgetSecretButton, text_pos=(0, -0.02), command=self.__getSecret)
self.getSecret.hide()
self.enterSecretText = DirectLabel(parent=self, relief=None, pos=TTLocalizer.FSenterSecretTextPos, scale=0.05, text=TTLocalizer.FriendSecretEnterSecret, text_fg=(0, 0, 0, 1), text_wordwrap=30)
self.enterSecretText.hide()
self.enterSecret = DirectEntry(parent=self, relief=DGG.SUNKEN, scale=0.06, pos=(-0.6, 0, -0.38), frameColor=(0.8, 0.8, 0.5, 1), borderWidth=(0.1, 0.1), numLines=1, width=20, frameSize=(-0.4,
20.4,
-0.4,
1.1), command=self.__enterSecret)
self.enterSecret.resetFrameSize()
self.enterSecret.hide()
self.ok1 = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSok1, text=TTLocalizer.FriendSecretEnter, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.5), command=self.__ok1)
self.ok1.hide()
self.ok2 = DirectButton(parent=self, relief=None, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FSok2, text=TTLocalizer.FriendSecretOK, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.57), command=self.__ok2)
self.ok2.hide()
self.cancel = DirectButton(parent=self, relief=None, text=TTLocalizer.FriendSecretCancel, image=(guiButton.find('**/QuitBtn_UP'), guiButton.find('**/QuitBtn_DN'), guiButton.find('**/QuitBtn_RLVR')), image_scale=TTLocalizer.FScancel, text_scale=0.06, text_pos=(0, -0.02), pos=(0, 0, -0.57), command=self.__cancel)
self.cancel.hide()
self.nextText = DirectLabel(parent=self, relief=None, pos=(0, 0, 0.3), scale=0.06, text='', text_scale=TTLocalizer.FSnextText, text_fg=(0, 0, 0, 1), text_wordwrap=25.5)
self.nextText.hide()
self.secretText = DirectLabel(parent=self, relief=None, pos=(0, 0, -0.42), scale=0.08, text='', text_fg=(0, 0, 0, 1), text_wordwrap=30)
self.secretText.hide()
guiButton.removeNode()
def enter(self):
if self.isEntered == 1:
return
self.isEntered = 1
if self.isLoaded == 0:
self.load()
self.show()
self.introText.show()
self.getSecret.show()
self.enterSecretText.show()
self.enterSecret.show()
self.ok1.show()
self.ok2.hide()
self.cancel.hide()
self.nextText.hide()
self.secretText.hide()
base.localAvatar.chatMgr.fsm.request('otherDialog')
self.enterSecret['focus'] = 1
NametagGlobals.setForceOnscreenChat(True)
def exit(self):
if self.isEntered == 0:
return
self.isEntered = 0
NametagGlobals.setForceOnscreenChat(False)
self.__cleanupFirstPage()
self.hide()
def __getSecret(self):
self.__cleanupFirstPage()
self.nextText['text'] = TTLocalizer.FriendSecretGettingSecret
self.nextText.setPos(0, 0, 0.3)
self.nextText.show()
self.ok1.hide()
self.cancel.show()
base.cr.trueFriendsMgr.requestId(self.gotSecret)
def gotSecret(self, id, result1, result2):
if id == 0:
self.rejectGetSecret(TTLocalizer.FriendSecretNoServer)
elif id == 1:
self.rejectGetSecret(TTLocalizer.FriendSecretNoServerResponse if not result1 else result1)
elif id == 2:
self.successGetSecret(result1, result2)
def rejectGetSecret(self, reason):
self.nextText['text'] = reason
self.nextText.show()
self.secretText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def successGetSecret(self, secret, expires):
self.nextText['text'] = TTLocalizer.FriendSecretGotSecret % expires
self.nextText.setPos(*TTLocalizer.FSgotSecretPos)
self.secretText['text'] = secret
self.nextText.show()
self.secretText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def __enterSecret(self, secret):
self.enterSecret.set('')
secret = secret.strip()
if not secret:
self.exit()
return
self.__cleanupFirstPage()
self.nextText['text'] = TTLocalizer.FriendSecretTryingSecret
base.cr.trueFriendsMgr.redeemId(secret, self.gotResponse)
self.nextText.setPos(0, 0, 0.3)
self.nextText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def gotResponse(self, id, name):
if id == 0:
self.nextText['text'] = TTLocalizer.FriendSecretNoServer
elif id == 1:
self.nextText['text'] = TTLocalizer.FriendSecretNoServerResponse if not result1 else result1
elif id == 2:
self.nextText['text'] = TTLocalizer.FriendSecretEnteredCodeSelf
elif id == 3:
self.nextText['text'] = TTLocalizer.FriendSecretAlreadyTrueFriend
elif id == 4:
self.nextText['text'] = TTLocalizer.FriendSecretSuccess % name
self.nextText.show()
self.cancel.hide()
self.ok1.hide()
self.ok2.show()
def __ok1(self):
secret = self.enterSecret.get()
self.__enterSecret(secret)
def __ok2(self):
self.exit()
def __cancel(self):
self.exit()
def __cleanupFirstPage(self):
self.introText.hide()
self.getSecret.hide()
self.enterSecretText.hide()
self.enterSecret.hide()
base.localAvatar.chatMgr.fsm.request('mainMenu')

View file

@ -1,34 +0,0 @@
from direct.distributed.DistributedObject import DistributedObject
from direct.directnotify.DirectNotifyGlobal import directNotify
class TrueFriendsMgr(DistributedObject):
neverDisable = 1
notify = directNotify.newCategory('TrueFriendsMgr')
def __init__(self, cr):
DistributedObject.__init__(self, cr)
self.requestCallback = None
self.redeemCallback = None
def announceGenerate(self):
DistributedObject.announceGenerate(self)
base.cr.trueFriendsMgr = self
def delete(self):
if hasattr(base.cr, 'trueFriendsMgr'):
del base.cr.trueFriendsMgr
DistributedObject.delete(self)
def requestId(self, callback):
self.requestCallback = callback
self.sendUpdate('requestId')
def redeemId(self, id, callback):
self.redeemCallback = callback
self.sendUpdate('redeemId', [id])
def requestIdResult(self, id, result1, result2):
self.requestCallback(id, result1, result2)
def redeemIdResult(self, id, name):
self.redeemCallback(id, name)

View file

@ -1,90 +0,0 @@
from direct.directnotify import DirectNotifyGlobal
from direct.distributed.DistributedObjectAI import DistributedObjectAI
from toontown.uberdog.ClientServicesManagerUD import executeHttpRequestAndLog
class TrueFriendsMgrAI(DistributedObjectAI):
notify = DirectNotifyGlobal.directNotify.newCategory("TrueFriendsMgrAI")
def announceGenerate(self):
DistributedObjectAI.announceGenerate(self)
def requestId(self):
avId = self.air.getAvatarIdFromSender()
av = self.air.doId2do.get(avId)
if not av:
return
if config.GetString('accountdb-type', 'developer') != 'remote':
self.sendUpdateToAvatarId(avId, 'requestIdResult', [0, None, None])
return
result = executeHttpRequestAndLog('truefriend', avid=avId)
if result is None:
self.sendUpdateToAvatarId(avId, 'requestIdResult', [1, None, None])
return
elif 'error' in result:
self.sendUpdateToAvatarId(avId, 'requestIdResult', [1, result['error'], None])
return
self.sendUpdateToAvatarId(avId, 'requestIdResult', [2, result['id'], result['expires']])
def redeemId(self, id):
avId = self.air.getAvatarIdFromSender()
av = self.air.doId2do.get(avId)
if not av:
return
if simbase.config.GetString('accountdb-type', 'developer') != 'remote':
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [0, None])
return
result = executeHttpRequestAndLog('truefriend', id=id)
if result is None:
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [1, None])
return
elif 'error' in result:
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [1, result['error']])
return
targetId = int(result['avId'])
if targetId == avId:
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [2, None])
return
elif av.isTrueFriend(targetId):
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [3, None])
return
av.addTrueFriend(targetId)
target = self.air.doId2do.get(targetId)
if target:
target.addTrueFriend(avId)
self.sendUpdateToAvatarId(avId, 'redeemIdResult', [4, target.getName()])
else:
TrueFriendsOperation(targetId, avId)
class TrueFriendsOperation:
def __init__(self, targetId, avId):
self.targetId = targetId
self.avId = avId
simbase.air.dbInterface.queryObject(simbase.air.dbId, self.targetId, self.gotResponse)
def gotResponse(self, dclass, fields):
if dclass != simbase.air.dclassesByName['DistributedToonAI'] or not 'setName' in fields:
return
trueFriends = fields['setTrueFriends']
if self.avId in trueFriends:
self.sendUpdateToAvatarId(self.avId, 'redeemIdResult', [3, None])
return
trueFriends.append(self.avId)
simbase.air.dbInterface.updateObject(simbase.air.dbId, self.targetId, simbase.air.dclassesByName['DistributedToonAI'], {'setTrueFriends': [trueFriends]})
self.sendUpdateToAvatarId(self.avId, 'redeemIdResult', [4, fields['setName']])

View file

@ -183,7 +183,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute
self.promotionStatus = [0, 0, 0, 0]
self.buffs = []
self.redeemedCodes = []
self.trueFriends = []
self.ignored = []
self.reported = []
@ -2585,12 +2584,6 @@ class DistributedToon(DistributedPlayer.DistributedPlayer, Toon.Toon, Distribute
def setRedeemedCodes(self, redeemedCodes):
self.redeemedCodes = redeemedCodes
def setTrueFriends(self, trueFriends):
self.trueFriends = trueFriends
def isTrueFriend(self, doId):
return doId in self.trueFriends
def b_setIgnored(self, ignored):
self.setIgnored(ignored)
self.d_setIgnored(ignored)

View file

@ -180,7 +180,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
self.promotionStatus = [0, 0, 0, 0]
self.buffs = []
self.redeemedCodes = []
self.trueFriends = []
self.ignored = []
self.reported = []
@ -432,27 +431,6 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo
def getExperience(self):
return self.experience.makeNetString()
def b_setTrueFriends(self, trueFriends):
self.d_setTrueFriends(trueFriends)
self.setTrueFriends(trueFriends)
def d_setTrueFriends(self, trueFriends):
self.sendUpdate('setTrueFriends', [trueFriends])
def setTrueFriends(self, trueFriends):
self.trueFriends = trueFriends
def getTrueFriends(self):
return self.trueFriends
def isTrueFriend(self, doId):
return doId in self.trueFriends
def addTrueFriend(self, doId):
if not self.isTrueFriend(doId):
self.trueFriends.append(doId)
self.d_setTrueFriends(self.trueFriends)
def b_setIgnored(self, ignored):
self.d_setIgnored(ignored)
self.setIgnored(ignored)

View file

@ -546,6 +546,3 @@ class DistributedToonUD(DistributedObjectUD):
def setRedeemedCodes(self, redeemedCodes):
pass
def setTrueFriends(self, trueFriends):
pass

View file

@ -10,7 +10,6 @@ from direct.distributed import DistributedObject
from direct.directnotify import DirectNotifyGlobal
from toontown.toonbase import ToontownGlobals
from toontown.toonbase import TTLocalizer
from toontown.friends import ToontownFriendSecret
import ToonAvatarDetailPanel
import AvatarPanelBase
from toontown.toontowngui import TTDialog
@ -369,7 +368,7 @@ class ToonAvatarPanel(AvatarPanelBase.AvatarPanelBase):
def __handleSecrets(self):
base.localAvatar.chatMgr.noWhisper()
ToontownFriendSecret.showFriendSecret()
# TODO
def __handleFriend(self):
base.localAvatar.chatMgr.noWhisper()

View file

@ -8349,20 +8349,6 @@ PickTrackTitle = 'Pick your third track!'
PickTrackNotice = 'Choose a track!'
CogLevelLabelOn = 'The cog level GUI is on.'
CogLevelLabelOff = 'The cog level GUI is off.'
FriendSecretIntro = "If you are playing Toontown United with someone you know in the real world, you can become True Friends. You can chat using the keyboard with your True Friends. Other Toons won't understand what you're saying.\n\nYou do this by getting a True Friend Code. Tell the True Friend Code to your friend, but not to anyone else. When your friend types in your True Friend Code on his or her screen, you'll be True Friends in Toontown!"
FriendSecretGetSecret = 'Get a True Friend Code'
FriendSecretEnterSecret = 'If you have a True Friend Code from someone you know, type it here.'
FriendSecretOK = lOK
FriendSecretEnter = 'Enter True Friend Code'
FriendSecretCancel = lCancel
FriendSecretGettingSecret = 'Getting True Friend Code...'
FriendSecretGotSecret = "Here is your new True Friend Code. Be sure to write it down!\n\nYou may give this True Friend Code to one person only. Once someone types in your True Friend Code, it will not work for anyone else. If you want to give a True Friend Code to more than one person, get another True Friend Code.\n\nThe True Friend Code will only work until %s. Your friend will have to type it in before it goes away, or it won't work.\n\nYour True Friend Code is:"
FriendSecretTryingSecret = 'Trying True Friend Code. . .'
FriendSecretNoServer = 'True Friends is not set up on this server!'
FriendSecretNoServerResponse = "Couldn't contact the True Friends server!"
FriendSecretEnteredCodeSelf = 'You just typed in your own True Friend Code! Now no one else can use that True Friend Code.'
FriendSecretAlreadyTrueFriend = 'You are True Friends with that toon already!'
FriendSecretSuccess = 'Congratulations! You are now True Friends with %s!'
HouseNames = ("Bungalow", "Tiki", "Teepee", "Castle", "Cupcake", "Cabin")
CatalogPurchaseHouseType = "When you buy a new house type, the current one is replaced by it. To recover the old type, you'll need to buy it back. Continue?"

View file

@ -42,16 +42,11 @@ DGGGscoreLabel = 0.075
FPvaluePos = (0, 0, -0.35)
FPvalue = 0.05
FPinfo = 0.055
FSGUIdirectFrame = 0.06
FSGUIcancelButton = 0.06
FSGUIokButton = 0.06
GTenterPage2Wordwrap = 13.5
GTenterPage4Wordwrap = 16.5
BCGjpText = 0.04
BCGjpTextWordwrap = 10.5
BCGnextGame = 1.71
FSGUIokButton = 0.06
FSGUIcancelButton = 0.06
FPnewEntry = 0.08
FPnewRecord = 0.08
GPgenus = 0.045
@ -286,14 +281,6 @@ TPhaveFun = 0.1
TPjoinUs = 0.1
TBSOSPSPenter = 0.1
TexitButton = 0.8
FSenterSecretTextPos = (0, 0, -0.25)
FSgotSecretPos = (0, 0, 0.47)
FSgetSecretButton = 0.06
FSnextText = 1.0
FSgetSecret = (1.55, 1, 1)
FSok1 = (1.55, 1, 1)
FSok2 = (0.6, 1, 1)
FScancel = (0.6, 1, 1)
#Some languages need to change the word order
SellbotFactoryPosPart1 = (0, -0.25)
SellbotFactoryScalePart1 = 0.075