From 0f53845b057df444074a3ca5f6d953c07120869c Mon Sep 17 00:00:00 2001 From: John Date: Wed, 27 May 2015 20:50:08 +0300 Subject: [PATCH] DANIEL: Cogdo Tasks --- toontown/ai/QuestManagerAI.py | 18 +++- .../cogdominium/DistributedCogdoInteriorAI.py | 3 +- toontown/quest/QuestPoster.py | 31 +------ toontown/quest/Quests.py | 86 +++++++++++-------- toontown/suit/DistributedSellbotBossAI.py | 3 +- toontown/toon/DistributedToonAI.py | 5 +- toontown/toonbase/TTLocalizerEnglish.py | 6 +- 7 files changed, 82 insertions(+), 70 deletions(-) diff --git a/toontown/ai/QuestManagerAI.py b/toontown/ai/QuestManagerAI.py index 35236261..6eab2fd2 100755 --- a/toontown/ai/QuestManagerAI.py +++ b/toontown/ai/QuestManagerAI.py @@ -281,8 +281,22 @@ class QuestManagerAI: for i in xrange(0, len(avQuests), 5): questDesc = avQuests[i : i + 5] questClass = Quests.getQuest(questDesc[QuestIdIndex]) - if isinstance(questClass, Quests.FriendQuest): - questDesc[QuestProgressIndex] = 1 + if isinstance(questClass, Quests.FriendQuest) and questClass.getCompletionStatus(av, questDesc) == Quests.INCOMPLETE: + questDesc[QuestProgressIndex] += 1 + questList.append(questDesc) + + av.b_setQuests(questList) + + def toonMadeNPCFriend(self, av, count, method): + avQuests = av.getQuests() + questList = [] + + for i in xrange(0, len(avQuests), 5): + questDesc = avQuests[i : i + 5] + questClass = Quests.getQuest(questDesc[QuestIdIndex]) + + if isinstance(questClass, Quests.RescueQuest) and questClass.getCompletionStatus(av, questDesc) == Quests.INCOMPLETE and questClass.isMethodMatch(method): + questDesc[QuestProgressIndex] += count questList.append(questDesc) av.b_setQuests(questList) diff --git a/toontown/cogdominium/DistributedCogdoInteriorAI.py b/toontown/cogdominium/DistributedCogdoInteriorAI.py index 4f9f06a7..daedeeb1 100755 --- a/toontown/cogdominium/DistributedCogdoInteriorAI.py +++ b/toontown/cogdominium/DistributedCogdoInteriorAI.py @@ -14,6 +14,7 @@ from SuitPlannerCogdoInteriorAI import SuitPlannerCogdoInteriorAI from toontown.cogdominium import CogdoBarrelRoomConsts from toontown.toon import NPCToons +from toontown.quest import Quests import random, math NUM_FLOORS_DICT = { @@ -464,7 +465,7 @@ class DistributedCogdoInteriorAI(DistributedObjectAI, FSM.FSM): toon = self.air.doId2do.get(v) if toon: if self.FOType == 's': - if not toon.attemptAddNPCFriend(self.sosNPC): + if not toon.attemptAddNPCFriend(self.sosNPC, Quests.InFO): self.notify.info('%s unable to add NPCFriend %s to %s.' % (self.doId, self.sosNPC, v)) elif self.FOType == 'l': reward = self.getEmblemsReward() diff --git a/toontown/quest/QuestPoster.py b/toontown/quest/QuestPoster.py index d0b53aec..4aeed6a7 100755 --- a/toontown/quest/QuestPoster.py +++ b/toontown/quest/QuestPoster.py @@ -9,7 +9,7 @@ from toontown.suit import Suit from toontown.hood import ZoneUtil from toontown.toonbase import ToontownGlobals from toontown.toonbase import TTLocalizer -import string, types +import string, types, random from toontown.toon import LaffMeter from toontown.toonbase.ToontownBattleGlobals import AvPropsNew from direct.directnotify import DirectNotifyGlobal @@ -672,34 +672,9 @@ class QuestPoster(DirectFrame): elif quest.getType() == Quests.RescueQuest: self.teleportButton.hide() frameBgColor = 'blue' - lIconGeom = self.createNpcToonHead(2001) + lIconGeom = self.createNpcToonHead(random.choice(NPCToons.HQnpcFriends.keys())) lIconGeomScale = 0.13 - if not fComplete: - infoText = quest.getLocationName() - if infoText == '': - infoText = TTLocalizer.QuestPosterAnywhere - elif quest.getType() == Quests.RescueNewbieQuest: - self.teleportButton.hide() - frameBgColor = 'blue' - rIconGeom = self.createNpcToonHead(2001) - rIconGeomScale = 0.13 - if not fComplete: - headlineString = TTLocalizer.QuestsNewbieQuestHeadline - captions = [quest.getCaption()] - captions.append(map(string.capwords, quest.getObjectiveStrings())) - auxText = TTLocalizer.QuestsRescueQuestAux - lPos.setX(-0.18) - self.laffMeter = self.createLaffMeter(quest.getNewbieLevel()) - self.laffMeter.setScale(0.04) - lIconGeom = None - infoText = quest.getLocationName() - if infoText == '': - infoText = TTLocalizer.QuestPosterAnywhere - else: - lIconGeom = rIconGeom - rIconGeom = None - lIconGeomScale = rIconGeomScale - rIconGeomScale = 1 + infoText = quest.getLocationName().strip() elif quest.getType() == Quests.FriendQuest: self.teleportButton.hide() frameBgColor = 'brown' diff --git a/toontown/quest/Quests.py b/toontown/quest/Quests.py index f9c63055..91cbc786 100755 --- a/toontown/quest/Quests.py +++ b/toontown/quest/Quests.py @@ -49,6 +49,9 @@ AnyLawbotSuitPart = 6 AnyBossbotSuitPart = 7 ToonTailor = 999 ToonHQ = 1000 +InVP = 0 +InFO = 1 +WithCheat = 2 QuestDictTierIndex = 0 QuestDictStartIndex = 1 QuestDictDescIndex = 2 @@ -897,12 +900,24 @@ class SupervisorNewbieQuest(SupervisorQuest, NewbieQuest): else: return 0 -class RescueQuest(BossQuest): +class RescueQuest(LocationBasedQuest): def __init__(self, id, quest): - BossQuest.__init__(self, id, quest) + Quest.__init__(self, id, quest) + self.checkNumCogs(self.quest[1]) def getNumToons(self): - return self.getNumCogs() + return self.quest[1] + + def getNumQuestItems(self): + return self.getNumToons() + + def getLocationName(self): + return ' ' + TTLocalizer.InVP if self.quest[0] == InVP else TTLocalizer.InFieldOffice + + def getCompletionStatus(self, av, questDesc, npc = None): + questId, fromNpcId, toNpcId, rewardId, toonProgress = questDesc + questComplete = toonProgress >= self.getNumToons() + return getCompleteStatusWithNpc(questComplete, toNpcId, npc) def getProgressString(self, avatar, questDesc): if self.getCompletionStatus(avatar, questDesc) == COMPLETE: @@ -914,7 +929,7 @@ class RescueQuest(BossQuest): 'numToons': self.getNumToons()} def getObjectiveStrings(self): - numToons = self.getNumCogs() + numToons = self.getNumToons() if numToons == 1: text = TTLocalizer.QuestsRescueQuestToonS else: @@ -925,35 +940,20 @@ class RescueQuest(BossQuest): return TTLocalizer.QuestsRescueQuestRescue % self.getObjectiveStrings()[0] def getSCStrings(self, toNpcId, progress): - if progress >= self.getNumToons(): - return getFinishToonTaskSCStrings(toNpcId) numToons = self.getNumToons() + if progress >= numToons: + return getFinishToonTaskSCStrings(toNpcId) if numToons == 1: text = TTLocalizer.QuestsRescueQuestSCStringS else: text = TTLocalizer.QuestsRescueQuestSCStringP - toonLoc = self.getLocationName() - return text % {'toonLoc': toonLoc} + return text % {'toonLoc': self.getLocationName().strip()} def getHeadlineString(self): return TTLocalizer.QuestsRescueQuestHeadline -class RescueNewbieQuest(RescueQuest, NewbieQuest): - def __init__(self, id, quest): - RescueQuest.__init__(self, id, quest) - self.checkNewbieLevel(self.quest[2]) - - def getNewbieLevel(self): - return self.quest[2] - - def getString(self): - return NewbieQuest.getString(self, newStr=TTLocalizer.QuestsRescueNewNewbieQuestObjective, oldStr=TTLocalizer.QuestsRescueOldNewbieQuestObjective) - - def doesCogCount(self, avId, cogDict, zoneId, avList): - if RescueQuest.doesCogCount(self, avId, cogDict, zoneId, avList): - return self.getNumNewbies(avId, avList) - else: - return 0 + def isMethodMatch(self, method): + return self.quest[0] == method BUILDING_NAMES = { Any: ['phase_3.5/maps/cogdo_icon.jpg', 'brown'], @@ -2410,6 +2410,8 @@ QuestDict = { 3263: (DG_TIER, Start, (FactoryQuest, ToontownGlobals.SellbotHQ, 1), 5313, 5313, 702, NA, TTLocalizer.QuestDialogDict[3263]), 3500: (DG_TIER, Start, (CogQuest, ToontownGlobals.DaisyGardens, 25, Any), Any, ToonHQ, NA, 3501, DefaultDialog), 3501: (DG_TIER, Cont, (DeliverItemQuest, 1000), Any, 5007, 1000, NA, DefaultDialog), + 3502: (DG_TIER, Start, (RescueQuest, InVP, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 3503: (DG_TIER, Start, (RescueQuest, InFO, 2), Any, ToonHQ, Any, NA, DefaultDialog), 4001: (MM_TIER, Start, (TrackChoiceQuest,), Any, ToonHQ, 400, NA, TTLocalizer.QuestDialogDict[4001]), 4010: (MM_TIER, Start, (CogQuest, Anywhere, 16, Any), Any, ToonHQ, Any, NA, DefaultDialog), 4011: (MM_TIER, Start, (CogQuest, Anywhere, 18, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -2437,6 +2439,8 @@ QuestDict = { 4041: (MM_TIER, Start, (CogQuest, ToontownGlobals.SellbotHQ, 6, Any), Any, ToonHQ, Any, NA, DefaultDialog), 4042: (MM_TIER, Start, (CogLevelQuest, ToontownGlobals.SellbotHQ, 3, 4), Any, ToonHQ, Any, NA, DefaultDialog), 4043: (MM_TIER, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 4044: (MM_TIER, Start, (RescueQuest, InVP, 2), Any, ToonHQ, Any, NA, DefaultDialog), + 4045: (MM_TIER, Start, (RescueQuest, InFO, 4), Any, ToonHQ, Any, NA, DefaultDialog), 4101: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 16, Any), Any, ToonHQ, Any, NA, DefaultDialog), 4102: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 18, Any), Any, ToonHQ, Any, NA, DefaultDialog), 4103: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 20, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -2535,6 +2539,8 @@ QuestDict = { 4224: (MM_TIER + 1, Cont, (VisitQuest,), Any, 4302, 703, NA, TTLocalizer.QuestDialogDict[4224]), 4500: (MM_TIER + 1, Start, (CogQuest, ToontownGlobals.MinniesMelodyland, 40, Any), Any, ToonHQ, NA, 4501, DefaultDialog), 4501: (MM_TIER + 1, Cont, (DeliverItemQuest, 1000), Any, 4008, 1000, NA, DefaultDialog), + 4502: (MM_TIER + 1, Start, (RescueQuest, InVP, 2), Any, ToonHQ, Any, NA, DefaultDialog), + 4503: (MM_TIER + 1, Start, (RescueQuest, InFO, 4), Any, ToonHQ, Any, NA, DefaultDialog), 902: (MM_TIER + 2, Start, (VisitQuest,), Any, 4303, NA, 4903, TTLocalizer.QuestDialogDict[902]), 4903: (MM_TIER + 2, Start, (DeliverItemQuest, 4008), 4303, 4109, NA, 4904, TTLocalizer.QuestDialogDict[4903]), 4904: (MM_TIER + 2, Cont, (RecoverItemQuest, Anywhere, 1, 4009, VeryHard, AnyFish), Same, Same, NA, 4905, TTLocalizer.QuestDialogDict[4904]), @@ -2575,6 +2581,8 @@ QuestDict = { 4846: (MM_TIER + 2, Start, (SkelecogQuest, ToontownGlobals.SellbotFactoryInt, 5), Any, ToonHQ, Any, NA, DefaultDialog), 4847: (MM_TIER + 2, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 3, 5), Any, ToonHQ, Any, NA, DefaultDialog), 4848: (MM_TIER + 2, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 4849: (MM_TIER + 2, Start, (RescueQuest, InVP, 2), Any, ToonHQ, Any, NA, DefaultDialog), + 4850: (MM_TIER + 2, Start, (RescueQuest, InFO, 4), Any, ToonHQ, Any, NA, DefaultDialog), 5247: (BR_TIER, Start, (VisitQuest,), Any, 3112, NA, 5248, TTLocalizer.QuestDialogDict[5247]), 5248: (BR_TIER, Start, (CogLevelQuest, Anywhere, 10, 8), 3112, Same, NA, 5249, TTLocalizer.QuestDialogDict[5248]), 5249: (BR_TIER, Cont, (RecoverItemQuest, Anywhere, 3, 3018, VeryHard, AnyFish), Same, Same, NA, (5250, 5258, 5259, 5260), TTLocalizer.QuestDialogDict[5249]), @@ -2627,6 +2635,8 @@ QuestDict = { 5082: (BR_TIER, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 2, 6), Any, ToonHQ, Any, NA, DefaultDialog), 5083: (BR_TIER, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog), 5084: (BR_TIER, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog), + 5085: (BR_TIER, Start, (RescueQuest, InVP, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 5086: (BR_TIER, Start, (RescueQuest, InFO, 6), Any, ToonHQ, Any, NA, DefaultDialog), 5101: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 36, Any), Any, ToonHQ, Any, NA, DefaultDialog), 5102: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 40, Any), Any, ToonHQ, Any, NA, DefaultDialog), 5103: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 42, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -2792,6 +2802,8 @@ QuestDict = { 5297: (BR_TIER + 1, Start, (BuildingNewbieQuest, Anywhere, 1, Any, 1, 0, NEWBIE_HP), Any, ToonHQ, 607, NA, DefaultDialog), 5500: (BR_TIER + 1, Start, (CogQuest, ToontownGlobals.TheBrrrgh, 75, Any), Any, ToonHQ, NA, 5501, DefaultDialog), 5501: (BR_TIER + 1, Cont, (DeliverItemQuest, 1000), Any, 3008, 1000, NA, DefaultDialog), + 5502: (BR_TIER + 1, Start, (RescueQuest, InVP, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 5503: (BR_TIER + 1, Start, (RescueQuest, InFO, 6), Any, ToonHQ, Any, NA, DefaultDialog), 903: (BR_TIER + 2, Start, (VisitQuest,), Any, 3112, NA, (5234, 5278), TTLocalizer.QuestDialogDict[903]), 5234: (BR_TIER + 2, Start, (RecoverItemQuest, Anywhere, 6, 3012, Medium, 'tbc'), 3112, Same, NA, (5235, 5279), TTLocalizer.QuestDialogDict[5234]), 5278: (BR_TIER + 2, Start, (RecoverItemQuest, Anywhere, 6, 3022, Medium, 'mh'), 3112, Same, NA, (5235, 5279), TTLocalizer.QuestDialogDict[5278]), @@ -2851,6 +2863,8 @@ QuestDict = { 5382: (BR_TIER + 2, Start, (SkelecogLevelQuest, ToontownGlobals.SellbotHQ, 3, 6), Any, ToonHQ, Any, NA, DefaultDialog), 5383: (BR_TIER + 2, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 1), Any, ToonHQ, Any, NA, DefaultDialog), 5384: (BR_TIER + 2, Start, (ForemanQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog), + 5385: (BR_TIER + 2, Start, (RescueQuest, InVP, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 5386: (BR_TIER + 2, Start, (RescueQuest, InFO, 6), Any, ToonHQ, Any, NA, DefaultDialog), 6101: (DL_TIER, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 60, Any), Any, ToonHQ, Any, NA, DefaultDialog), 6102: (DL_TIER, Start, (CogQuest, ToontownGlobals.DonaldsDreamland, 65, Any), Any, ToonHQ, Any, NA, DefaultDialog), 6103: (DL_TIER, OBSOLETE, (CogQuest, ToontownGlobals.DonaldsDreamland, 70, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3009,6 +3023,8 @@ QuestDict = { 6324: (DL_TIER, Start, (MintQuest, ToontownGlobals.CashbotMintIntA, 3), Any, ToonHQ, Any, NA, DefaultDialog), 6325: (DL_TIER, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 4), Any, ToonHQ, Any, NA, DefaultDialog), 6326: (DL_TIER, Start, (SupervisorQuest, ToontownGlobals.CashbotMintIntA, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 6327: (DL_TIER, Start, (RescueQuest, InVP, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 6328: (DL_TIER, Start, (RescueQuest, InFO, 6), Any, ToonHQ, Any, NA, DefaultDialog), 7101: (DL_TIER + 1, Start, (CogQuest, Anywhere, 120, Any), Any, ToonHQ, Any, NA, DefaultDialog), 7102: (DL_TIER + 1, Start, (CogQuest, Anywhere, 130, Any), Any, ToonHQ, Any, NA, DefaultDialog), 7103: (DL_TIER + 1, OBSOLETE, (CogQuest, Anywhere, 140, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3163,6 +3179,8 @@ QuestDict = { 7503: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 15, Any, 0, 1), Any, ToonHQ, Any, NA, DefaultDialog), 7504: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 10, 's', 0, 1), Any, ToonHQ, Any, NA, DefaultDialog), 7505: (DL_TIER + 1, Start, (BuildingQuest, Anywhere, 10, 'l', 0, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 7506: (DL_TIER + 1, Start, (RescueQuest, InVP, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 7507: (DL_TIER + 1, Start, (RescueQuest, InFO, 6), Any, ToonHQ, Any, NA, DefaultDialog), 8101: (DL_TIER + 2, Start, (CogQuest, Anywhere, 240, Any), Any, ToonHQ, Any, NA, DefaultDialog), 8102: (DL_TIER + 2, Start, (CogQuest, Anywhere, 260, Any), Any, ToonHQ, Any, NA, DefaultDialog), 8103: (DL_TIER + 2, Start, (CogQuest, Anywhere, 280, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3248,7 +3266,7 @@ QuestDict = { 8186: (DL_TIER + 2, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 12), Any, ToonHQ, Any, NA, DefaultDialog), 8187: (DL_TIER + 2, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 16), Any, ToonHQ, Any, NA, DefaultDialog), 8188: (DL_TIER + 2, Start, (BossQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog), - #8189: (DL_TIER + 2, OBSOLETE, (RescueQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog), + 8189: (DL_TIER + 2, Start, (RescueQuest, InVP, 4), Any, ToonHQ, Any, NA, DefaultDialog), 8190: (DL_TIER + 2, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 30, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), 8191: (DL_TIER + 2, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 30, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), 8192: (DL_TIER + 2, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 30, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), @@ -3256,8 +3274,8 @@ QuestDict = { 8194: (DL_TIER + 2, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), 8195: (DL_TIER + 2, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), 8196: (DL_TIER + 2, OBSOLETE, (ForemanNewbieQuest, ToontownGlobals.SellbotFactoryInt, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), + 8197: (DL_TIER + 2, Start, (RescueQuest, InFO, 8), Any, ToonHQ, Any, NA, DefaultDialog), #8197: (DL_TIER + 2, OBSOLETE, (VPNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), - #8198: (DL_TIER + 2, OBSOLETE, (RescueNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 610, NA, DefaultDialog), 8201: (DL_TIER + 2, Start, (CogQuest, ToontownGlobals.CashbotHQ, 160, Any), Any, ToonHQ, Any, NA, DefaultDialog), 8202: (DL_TIER + 2, Start, (CogQuest, ToontownGlobals.CashbotHQ, 180, Any), Any, ToonHQ, Any, NA, DefaultDialog), 8203: (DL_TIER + 2, Start, (CogQuest, ToontownGlobals.CashbotHQ, 200, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3281,6 +3299,7 @@ QuestDict = { 8221: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 20, Any, 0, 1), Any, ToonHQ, Any, NA, DefaultDialog), 8224: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 15, 's', 0, 1), Any, ToonHQ, Any, NA, DefaultDialog), 8225: (DL_TIER + 2, Start, (BuildingQuest, Anywhere, 15, 'l', 0, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 8226: (DL_TIER + 2, Start, (RescueQuest, InFO, 8), Any, ToonHQ, Any, NA, DefaultDialog), 9101: (DL_TIER + 3, Start, (CogQuest, Anywhere, 500, Any), Any, ToonHQ, Any, NA, DefaultDialog), 9102: (DL_TIER + 3, Start, (CogQuest, Anywhere, 600, Any), Any, ToonHQ, Any, NA, DefaultDialog), 9103: (DL_TIER + 3, Start, (CogQuest, Anywhere, 700, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3366,7 +3385,7 @@ QuestDict = { 9186: (DL_TIER + 3, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 25), Any, ToonHQ, Any, NA, DefaultDialog), 9187: (DL_TIER + 3, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 35), Any, ToonHQ, Any, NA, DefaultDialog), 9188: (DL_TIER + 3, Start, (BossQuest, ToontownGlobals.SellbotHQ, 3), Any, ToonHQ, Any, NA, DefaultDialog), - #9189: (DL_TIER + 3, OBSOLETE, (RescueQuest, ToontownGlobals.SellbotHQ, 3), Any, ToonHQ, Any, NA, DefaultDialog), + 9189: (DL_TIER + 3, Start, (RescueQuest, InVP, 5), Any, ToonHQ, Any, NA, DefaultDialog), 9190: (DL_TIER + 3, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 35, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog), 9191: (DL_TIER + 3, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 35, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog), 9192: (DL_TIER + 3, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 35, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog), @@ -3375,7 +3394,6 @@ QuestDict = { 9195: (DL_TIER + 3, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 4, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog), 9196: (DL_TIER + 3, OBSOLETE, (ForemanNewbieQuest, ToontownGlobals.SellbotFactoryInt, 4, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog), #9197: (DL_TIER + 3, OBSOLETE, (VPNewbieQuest, ToontownGlobals.SellbotHQ, 2, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog), - #9198: (DL_TIER + 3, OBSOLETE, (RescueNewbieQuest, ToontownGlobals.SellbotHQ, 2, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, 611, NA, DefaultDialog), 9201: (DL_TIER + 3, Start, (CogQuest, ToontownGlobals.CashbotHQ, 350, Any), Any, ToonHQ, Any, NA, DefaultDialog), 9202: (DL_TIER + 3, Start, (CogQuest, ToontownGlobals.CashbotHQ, 400, Any), Any, ToonHQ, Any, NA, DefaultDialog), 9203: (DL_TIER + 3, Start, (CogQuest, ToontownGlobals.CashbotHQ, 450, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3411,6 +3429,7 @@ QuestDict = { 9503: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 25, Any, 3, 1), Any, ToonHQ, Any, NA, DefaultDialog), 9504: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 20, 's', 5, 1), Any, ToonHQ, Any, NA, DefaultDialog), 9505: (DL_TIER + 3, Start, (BuildingQuest, Anywhere, 20, 'l', 5, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 9506: (DL_TIER + 3, Start, (RescueQuest, InFO, 10), Any, ToonHQ, Any, NA, DefaultDialog), 10001: (ELDER_TIER, Start, (CogNewbieQuest, ToontownGlobals.ToontownCentral, 50, Any, NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog), 10002: (ELDER_TIER, Start, (BuildingNewbieQuest, Anywhere, 4, Any, 1, 0, NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog), 10100: (ELDER_TIER, Start, (CogQuest, Anywhere, 80, Any), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3433,7 +3452,8 @@ QuestDict = { 10121: (ELDER_TIER, OBSOLETE, (FactoryQuest, ToontownGlobals.SellbotHQ, 10), Any, ToonHQ, Any, NA, DefaultDialog), 10122: (ELDER_TIER, OBSOLETE, (ForemanQuest, ToontownGlobals.SellbotHQ, 10), Any, ToonHQ, Any, NA, DefaultDialog), 10123: (ELDER_TIER, Start, (BossQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog), - #10124: (ELDER_TIER, OBSOLETE, (RescueQuest, ToontownGlobals.SellbotHQ, 2), Any, ToonHQ, Any, NA, DefaultDialog), + 10124: (ELDER_TIER, Start, (RescueQuest, InVP, 6), Any, ToonHQ, Any, NA, DefaultDialog), + 10125: (ELDER_TIER, Start, (RescueQuest, InFO, 12), Any, ToonHQ, Any, NA, DefaultDialog), 10130: (ELDER_TIER, OBSOLETE, (CogNewbieQuest, ToontownGlobals.SellbotHQ, 40, Any, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog), 10131: (ELDER_TIER, OBSOLETE, (FactoryNewbieQuest, ToontownGlobals.SellbotHQ, 3, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog), #10132: (ELDER_TIER, OBSOLETE, (VPNewbieQuest, ToontownGlobals.SellbotHQ, 1, SELLBOT_HQ_NEWBIE_HP), Any, ToonHQ, Any, NA, DefaultDialog), @@ -3455,11 +3475,9 @@ QuestDict = { 10205: (ELDER_TIER, Cont, (DeliverItemQuest, 1000), Any, ToonTailor, 1000, NA, DefaultDialog), 10206: (ELDER_TIER, Start, (BuildingNewbieQuest, Anywhere, 4, Any, 1, 0, NEWBIE_HP), Any, ToonHQ, NA, 10207, DefaultDialog), 10207: (ELDER_TIER, Cont, (DeliverItemQuest, 1000), Any, ToonTailor, 1000, NA, DefaultDialog), - 10208: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 40, Any, 2, 1), Any, ToonHQ, Any, NA, DefaultDialog), - 10209: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 30, Any, 3, 1), Any, ToonHQ, Any, NA, DefaultDialog), - 10210: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 25, Any, 4, 1), Any, ToonHQ, Any, NA, DefaultDialog), - 10211: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 's', 5, 1), Any, ToonHQ, Any, NA, DefaultDialog), - 10212: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 'l', 5, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 10208: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 25, Any, 4, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 10209: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 's', 5, 1), Any, ToonHQ, Any, NA, DefaultDialog), + 10210: (ELDER_TIER, Start, (BuildingQuest, Anywhere, 20, 'l', 5, 1), Any, ToonHQ, Any, NA, DefaultDialog), 11000: (LAWBOT_HQ_TIER, Start, (VisitQuest,), Any, 3310, NA, 11001, TTLocalizer.QuestDialogDict[11000]), 11001: (LAWBOT_HQ_TIER, Start, (RecoverItemQuest, ToontownGlobals.SillyStreet, 1, 3027, Hard, Any), Same, Same, 4100, NA, TTLocalizer.QuestDialogDict[11001]), 11002: (LAWBOT_HQ_TIER + 1, Start, (VisitQuest,), Any, 3310, NA, 11003, TTLocalizer.QuestDialogDict[11002]), diff --git a/toontown/suit/DistributedSellbotBossAI.py b/toontown/suit/DistributedSellbotBossAI.py index a8423301..a5590795 100755 --- a/toontown/suit/DistributedSellbotBossAI.py +++ b/toontown/suit/DistributedSellbotBossAI.py @@ -11,6 +11,7 @@ from toontown.battle import BattleExperienceAI from toontown.toon import NPCToons from toontown.toonbase import TTLocalizer from toontown.toonbase import ToontownGlobals +from toontown.quest import Quests from otp.ai.MagicWordGlobal import * @@ -347,7 +348,7 @@ class DistributedSellbotBossAI(DistributedBossCogAI.DistributedBossCogAI, FSM.FS for toonId in self.involvedToons: toon = self.air.doId2do.get(toonId) if toon: - if not toon.attemptAddNPCFriend(self.cagedToonNpcId): + if not toon.attemptAddNPCFriend(self.cagedToonNpcId, Quests.InVP): self.notify.info('%s.unable to add NPCFriend %s to %s.' % (self.doId, self.cagedToonNpcId, toonId)) toon.b_promote(self.deptIndex) diff --git a/toontown/toon/DistributedToonAI.py b/toontown/toon/DistributedToonAI.py index de6d3e28..f8f2613a 100755 --- a/toontown/toon/DistributedToonAI.py +++ b/toontown/toon/DistributedToonAI.py @@ -589,7 +589,7 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo def resetNPCFriendsDict(self): self.b_setNPCFriendsDict([]) - def attemptAddNPCFriend(self, npcFriend): + def attemptAddNPCFriend(self, npcFriend, method=Quests.WithCheat): numCalls = simbase.air.config.GetInt('sos-card-reward', 1) if numCalls <= 0: @@ -609,6 +609,7 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo self.d_setNPCFriendsDict(self.NPCFriendsDict) if self.sosPageFlag == 0: self.b_setMaxNPCFriends(self.maxNPCFriends | 32768) + self.air.questManager.toonMadeNPCFriend(self, numCalls, method) return 1 def attemptSubtractNPCFriend(self, npcFriend): @@ -629,7 +630,7 @@ class DistributedToonAI(DistributedPlayerAI.DistributedPlayerAI, DistributedSmoo desiredNpcFriends = [2001, 2011, 3112, 4119, 1116, 3137, 3135] self.resetNPCFriendsDict() for npcId in desiredNpcFriends: - self.attemptAddNPCFriend(npcId, 1) + self.attemptAddNPCFriend(npcId) def d_setMaxAccessories(self, max): self.sendUpdate('setMaxAccessories', [self.maxAccessories]) diff --git a/toontown/toonbase/TTLocalizerEnglish.py b/toontown/toonbase/TTLocalizerEnglish.py index 0818e0f8..c2bf8bdf 100755 --- a/toontown/toonbase/TTLocalizerEnglish.py +++ b/toontown/toonbase/TTLocalizerEnglish.py @@ -309,8 +309,8 @@ QuestsMintQuestDescC = '%(count)s Cog Mints' QuestsMintQuestDescI = 'some Cog Mints' QuestsRescueQuestProgress = '%(progress)s of %(numToons)s rescued' QuestsRescueQuestHeadline = 'RESCUE' -QuestsRescueQuestSCStringS = 'I need to rescue a Toon%(toonLoc)s.' -QuestsRescueQuestSCStringP = 'I need to rescue some Toons%(toonLoc)s.' +QuestsRescueQuestSCStringS = 'I need to rescue a Toon %(toonLoc)s.' +QuestsRescueQuestSCStringP = 'I need to rescue some Toons %(toonLoc)s.' QuestsRescueQuestRescue = 'Rescue %s' QuestsRescueQuestRescueDesc = '%(numToons)s Toons' QuestsRescueQuestToonS = 'a Toon' @@ -8464,3 +8464,5 @@ RestockNoMoneyMessage = "You need more jellybeans to restock your laff!" RestockLaffMessage = "Have fun!" RestockAskMessage = "Would you like to\nrestock %s laff for %s jellybeans?" RestockCheaterMessage = "No cheaters allowed! Your transaction has been declined." +InVP = ' in a V.P. Battle' +InFieldOffice = ' in a Sellbot Field Office'