def doVJ(): if dailyVJ: initVJ() counter = -1 if SCLib.GetVar("CurStep") == "StartingVJ": print("Starting Vanishing Journey") acceptVJ() elif SCLib.GetVar("CurStep") == "DoingVJ": counter = 0 for q in vjQuests: if q.IsActive(): counter += 1 if SCLib.GetVar("CurQuest") == None or SCLib.GetVar( "CurQuest") == q.quest: q.DoQuest() if counter == 0: SCLib.UpdateVar("CurStep", "FinishedVJ") elif SCLib.GetVar("CurStep") == "FinishedVJ": print("Finishing VJ") if not Quest.CheckCompleteDemand(34129, vjNPC): Quest.CompleteQuest(34129, vjNPC) vjSymbol = Inventory.FindItemByID(1712001) if not useSymbol(vjSymbol): print("Finished VJ") SCLib.UpdateVar("CurDaily", "ChuChu") SCLib.UpdateVar("CurStep", "InitChuChu") else: print("Skipping VJ") SCLib.UpdateVar("CurDaily", "ChuChu") SCLib.UpdateVar("CurStep", "InitChuChu")
def finishChuChu(): chuchuSymbol = Inventory.FindItemByID(1712002) if not useSymbol(chuchuSymbol): if SCLib.GetVar("UsingWhitelist"): Terminal.SetPushButton("Whitelist", True) SCLib.UpdateVar("CurDaily", "DD") SCLib.UpdateVar("CurStep", "StartingDD")
def acceptVJ(): curMap = Field.GetID() if curMap != vjMap: Terminal.Rush(vjMap) return if Terminal.GetCheckBox("Kami Vac"): Terminal.SetCheckBox("Kami Vac", False) Terminal.SetCheckBox("Auto NPC", True) SunCat.Teleport(-1941, 60) time.sleep(0.1) if Quest.GetQuestState(34128) != 2: Quest.StartQuest(34128, vjNPC) time.sleep(1.5) Quest.CompleteQuest(34128, vjNPC) #Quest.StartQuest(34128, vjNPC) Npc.ClearSelection() #Npc.RegisterSelection("[Daily Quest] Vanishing Journey") Npc.RegisterSelection("Those are all") time.sleep(3) Quest.StartQuest(34129, vjNPC) time.sleep(3) #Character.TalkToNpc(vjNPC) #time.sleep(1) if SCLib.GetVar("UsingKami"): Terminal.SetCheckBox("Kami Vac", True) SCLib.UpdateVar("CurStep", "DoingVJ")
def initSS(): CheckBox("General FMA", False) CheckBox("Full Map Attack", False) CheckBox("Kami Vac", False) for mob in enemyMobs: SunCat.FilterMob(mob) if Field.GetID() not in list(range(ssMapStart, ssMapEnd + 1)) + [ssMapTown, ssExitMap]: print("Rush to Arcana town") Rush(ssMapTown) elif Field.GetID() == ssMapTown: if checkSScoin(): SCLib.UpdateVar("SpiritDone" + CharName, True) return retryCount = 0 while retryCount < 3 and Field.GetID() == ssMapTown: print("Attempting to join Spirit Savior") Party.LeaveParty() Npc.ClearSelection() Npc.RegisterSelection("Attempt <Spirit Savior>") Character.TalkToNpc(3003381) time.sleep(3) retryCount += 1 if retryCount == 3: SCLib.UpdateVar("SpiritDone" + CharName, True) return
def doDD(): if dailyDD: if SCLib.GetVar("CurStep") == "InitDD": initDD() elif SCLib.GetVar("CurStep") == "StartingDD": startDD() else: SCLib.UpdateVar("CurDaily", "SS") SCLib.UpdateVar("CurStep", "InitSS")
def checkSScoin(): if Inventory.GetItemCount(4310235) == (SCLib.GetVar("SpiritCoin"+CharName)+30)\ or Inventory.GetItemCount(4310235) == (SCLib.GetVar("SpiritCoin"+CharName)+60): print("You earned daily cap for spirit coin") print("Finished Spirit Savior Daily") RestoreSetting() SCLib.UpdateVar("SpiritDone" + CharName, True) return True else: return False
def useSymbol(symbol): if symbol.valid and SCLib.GetVar("SymbolCount") < symbolMaxTries: oPacket = Packet.COutPacket(SCLib.PacketHeader["Symbols"]) oPacket.Encode4(0x00000000) oPacket.Encode4(symbol.pos) #inv slot oPacket.Encode4(0xFFFFF9BB) #??? Packet.SendPacket(oPacket) SCLib.UpdateVar("SymbolCount", SCLib.GetVar("SymbolCount") + 1) return True else: SCLib.UpdateVar("SymbolCount", 0) return False
def GetCoin(npc): print("Receiving coins from", npc) retry=0 while SCLib.GetVar("DDCoin") == Inventory.GetItemCount(4310227) and retry<3: Character.TalkToNpc(npc) time.sleep(3) retry+=1
def initDD(): if Field.GetID() != ddStartingMap: Terminal.Rush(ddStartingMap) else: leaveParty() SunCat.HookDD() Terminal.SetCheckBox("Auto NPC", True) Terminal.SetCheckBox("Kami Vac", False) Terminal.SetCheckBox("Full Map Attack", False) Terminal.SetCheckBox("General FMA", False) #for mob in ddFilterMobs: #SunCat.FilterMob(mob) #SunCat.FilterMob(ddYellowBox) Npc.ClearSelection() Npc.RegisterSelection("Attempt") Npc.RegisterSelection(str(ddLevelSelect)) time.sleep(2) Character.TalkToNpc(ddNpc) time.sleep(3) SCLib.UpdateVar("CurStep", "StartingDD")
def finishSS(): if Field.GetID() == ssExitMap: Character.TalkToNpc(ssNpc) SunCat.StopTP() SunCat.UnfilterMobs() SCLib.UpdateVar("CurStep", "InitSS") time.sleep(5)
def InitAll(): Terminal.SetCheckBox("bot/si_no_wait", True) Terminal.SetCheckBox("Kami Vac", False) Terminal.SetCheckBox("General FMA", False) Terminal.SetCheckBox("Full Map Attack", False) Terminal.SetCheckBox("bot/kanna_kami", False) if Field.GetID() not in ([startingMap, exitMap]+hungryMutoMaps): Terminal.Rush(startingMap) if usingParty: time.sleep(5) if Field.GetID() == startingMap: print('Starting...') SunCat.HookChuChu() InitRecipes() Terminal.SetCheckBox("Auto NPC", True) changeChannel() retryCount = 0 tryAgain = True while tryAgain: if retryCount > 3: print("Failed to enter ChuChu, have you already done it 3 times? Move to next daily") SCLib.UpdateVar("ChuchuDone", True) break Npc.ClearSelection() Npc.RegisterSelection("Enter <Hungry Muto>") if isHardMode: Npc.RegisterSelection("Hard") else: Npc.RegisterSelection("Normal") Character.TalkToNpc(3003166) time.sleep(5) if Field.GetID() == startingMap: print("Creating a new party...") if not usingParty: Party.LeaveParty() Party.CreateParty() retryCount += 1 time.sleep(2) elif Field.GetID() in hungryMutoMaps: print("Starting ChuChuPQ!") tryAgain = False DoChuChu() else: tryAgain = False print("Not in ChuChuPQ!") SunCat.UnhookChuChu() else: print("Not in ChuChu Entry Map!")
def startSS(): if inSS(): SCLib.UpdateVar("CurStep", "RunSS") else: if SCLib.GetVar("RetryCount") < 3 and SCLib.GetVar( "CurSSRuns") < totalRuns: print("Failed to enter SS... Retrying") SCLib.UpdateVar("RetryCount", SCLib.GetVar("RetryCount") + 1) SCLib.UpdateVar("CurStep", "InitSS") else: print("Finished SS") SCLib.UpdateVar("CurDaily", "Return") SCLib.UpdateVar("RetryCount", 0)
def startChuChu(): if Field.GetID() != ccStartingMap: SCLib.UpdateVar("CurStep", "InitChuChu") else: retryCount = SCLib.GetVar("RetryCount") if retryCount > 3: SCLib.UpdateVar("RetryCount", 0) print("Finished ChuChu") SCLib.UpdateVar("CurStep", "FinishedChuChu") SunCat.UnhookChuChu() else: Npc.ClearSelection() Npc.RegisterSelection("Enter <Hungry Muto>") if chuChuHardMode: Npc.RegisterSelection("Hard") else: Npc.RegisterSelection("Normal") Character.TalkToNpc(ccNpc) time.sleep(5) if Field.GetID() == ccStartingMap: print("Failed to enter ChuChu, creating a new party...") leaveParty() createParty() SCLib.UpdateVar("RetryCount", retryCount + 1) time.sleep(1) elif Field.GetID() in hungryMutoMaps: print("Starting ChuChuPQ!") SCLib.UpdateVar("CurStep", "DoingChuChu")
def ChangeChannels(): if CurrentChannel == 20: if fieldID == LastMapID: print("Changing Channel to 1") time.sleep(0.5) Terminal.ChangeChannel(1) time.sleep(3) print("Resetting back to first map") SCLib.UpdateVar("MapNumber", 0) time.sleep(3) else: print("Changing channel to 1") time.sleep(0.5) Terminal.ChangeChannel(1) time.sleep(3) SCLib.UpdateVar("MapNumber", SCLib.GetVar("MapNumber") + 1) print("Changing map to {0}".format(SCLib.GetVar("MapNumber"))) else: print("Changing channel to {0}".format(NewChannel)) time.sleep(0.5) Terminal.ChangeChannel(NewChannel) time.sleep(3)
def DoQuest(self): if Quest.GetQuestState(self.quest) == 1: curMap = Field.GetID() SCLib.UpdateVar("CurQuest", self.quest) if Quest.CheckCompleteDemand(self.quest, self.npc): if curMap != self.killmap: Terminal.Rush(self.killmap) else: if curMap != self.completemap: Terminal.Rush(self.completemap) else: if Terminal.GetCheckBox("Kami Vac"): Terminal.SetCheckBox("Kami Vac", False) SunCat.Teleport(self.npcx, self.npcy) time.sleep(1) Quest.CompleteQuest(self.quest, self.npc) time.sleep(2) if SCLib.GetVar("UsingKami"): Terminal.SetCheckBox("Kami Vac", True) SCLib.UpdateVar("CurQuest", None)
def runSS(): for i in range(roundsPerRun): killCount = 0 mobsKilled = [] while killCount < 5: if not GameState.IsInGame() or not inSS(): print("Not in SS!") break curMob = None for mobID in ssMobArray: mob = Field.FindMob(mobID) if mob.valid and mob not in mobsKilled: curMob = mob mobsKilled.append(mob) break if curMob is not None: SunCat.KamiTP(curMob.x, curMob.y) time.sleep(killTime) Key.Press(npcChatKey) time.sleep(0.2) Key.Press(npcChatKey) time.sleep(waitTime) killCount += 1 else: print("No mobs left!") time.sleep( 3) #Wait for mobs to respawn - this should never be hit SunCat.KamiTP(ssBaseX, ssBaseY) time.sleep(roundWaitTime) SCLib.UpdateVar("CurSSRuns", SCLib.GetVar("CurSSRuns") + 1) SCLib.UpdateVar("CurStep", "FinishingSS")
def initChuChu(): if Field.GetID() != ccStartingMap: Terminal.Rush(ccStartingMap) else: SunCat.HookChuChu() Terminal.SetCheckBox("Auto NPC", True) Terminal.SetCheckBox("Kami Vac", False) Terminal.SetCheckBox("Full Map Attack", False) Terminal.SetCheckBox("General FMA", False) Terminal.SetPushButton("Whitelist", False) changeChannel() SCLib.UpdateVar("CurStep", "StartingChuChu")
def doSS(): if dailySS: if SCLib.GetVar("CurStep") == "InitSS": initSS() elif SCLib.GetVar("CurStep") == "StartingSS": startSS() elif SCLib.GetVar("CurStep") == "RunSS": runSS() elif SCLib.GetVar("CurStep") == "FinishingSS": finishSS() else: SCLib.UpdateVar("CurDaily", "Return") SCLib.UpdateVar("RetryCount", 0)
def doChuChu(): if dailyChuChu: InitRecipes() if SCLib.GetVar("CurStep") == "InitChuChu": initChuChu() elif SCLib.GetVar("CurStep") == "StartingChuChu": startChuChu() elif SCLib.GetVar("CurStep") == "DoingChuChu": doingChuChu() elif SCLib.GetVar("CurStep") == "FinishedChuChu": finishChuChu() else: SCLib.UpdateVar("CurDaily", "DD") SCLib.UpdateVar("CurStep", "InitDD")
def doingChuChu(): if Field.GetID() != ccExitMap: currentRecipe = allRecipes[SunCat.GetRecipe()] for i in range(len(currentRecipe.ingredients)): print("Getting " + str(currentRecipe.amounts[i]) + "x " + currentRecipe.ingredients[i].name) currentRecipe.ingredients[i].GetIngredient( currentRecipe.amounts[i]) else: time.sleep(0.5) SunCat.KamiTP(528, 138) time.sleep(0.5) SunCat.StopTP() SunCat.UnhookChuChu() Npc.ClearSelection() Npc.RegisterSelection("Claim") Character.TalkToNpc(3003166) time.sleep(1) print("Done! Sleeping for a few seconds to check for another run...") SCLib.UpdateVar("CurStep", "InitChuChu") time.sleep(5)
def startDD(): if Field.GetID() >= ddMap and Field.GetID() <= ddMapEnd: curStage = SunCat.GetDDStage() if curStage >= ddExitLevel: SunCat.StopTP() retreatDD() time.sleep(4) else: boxFound = False for box in ddPurpleBoxes: curBox = Field.FindMob(box) if curBox.valid: boxFound = True if SCLib.GetVar("UsingSI"): Terminal.SetCheckBox("Skill Injection", True) SunCat.KamiTP(curBox.x + kamiOffsetX, curBox.y + kamiOffsetY) break if boxFound == False: Terminal.SetCheckBox("Skill Injection", False) SunCat.KamiTP(ddRestX, ddRestY) elif Field.GetID() == ddExitMap: SunCat.StopTP() #SunCat.UnfilterMobs() Character.TalkToNpc(ddNpc) else: if SCLib.GetVar("RetryCount") < 3: print("Failed to enter DD... Retrying") SCLib.UpdateVar("RetryCount", SCLib.GetVar("RetryCount") + 1) SCLib.UpdateVar("CurStep", "InitDD") else: print("Finished DD") SunCat.UnhookDD() SCLib.UpdateVar("CurStep", "InitSS") SCLib.UpdateVar("CurDaily", "SS") SCLib.UpdateVar("RetryCount", 0)
def initSS(): if Field.GetID() != ssStartingMap: Terminal.Rush(ssStartingMap) else: SunCat.Teleport(0, 139) leaveParty() Terminal.SetCheckBox("Auto NPC", True) Terminal.SetCheckBox("Kami Vac", False) Terminal.SetCheckBox("Full Map Attack", False) Terminal.SetCheckBox("General FMA", False) Terminal.SetCheckBox("Auto Buff", False) for mob in enemyMobs: SunCat.FilterMob(mob) Npc.ClearSelection() Npc.RegisterSelection("Attempt") Character.TalkToNpc(ssNpc) time.sleep(3) SCLib.UpdateVar("CurStep", "StartingSS")
def KillHorntail(bossDifficulty): SCLib.PersistVar("HasSpawned", False) SCLib.PersistVar("NowLockedVar", False) HasSpawned = SCLib.GetVar("HasSpawned") NowLockedVar = SCLib.GetVar("NowLockedVar") SCLib.StartVars() if bossDifficulty == 0: HorntailEasy = True HorntailNormal = False HorntailChaos = False elif bossDifficulty == 1: HorntailEasy = False HorntailNormal = True HorntailChaos = False else: HorntailEasy = False HorntailNormal = False HorntailChaos = True HorntailPreQuest = Quest.GetQuestState(7313) if HorntailPreQuest == 0: print( "Horntail Prequest not started or done, Starting quest before entery" ) if Field.GetID() != CaveOfLifeEntrance1: Terminal.Rush(CaveOfLifeEntrance1) else: Quest.StartQuest(7313, 2081006) print("Horntail Prequest started") else: #ToggleKami(False) print("Doing Horntail") if HorntailEasy: print("Easy") if Field.GetID() != HorntailsCaveEasy: if Field.GetID() != TheCaveOfTrialEasy2: if Field.GetID() != TheCaveOfTrialEasy1: if Field.GetID() != EntranceToHorntailsCave: GotoHorntail() else: if not NowLockedVar: Npc.ClearSelection() Npc.RegisterSelection( "Easy Mode (Level 130 or above)") time.sleep(1) Character.TalkToNpc(2083004) time.sleep(1) else: print( "Seems like you diddnt finish your last attempt and are locked. Continueing other bosses" ) SCLib.UpdateVar("KillHorntail", False) ResetNowLockedFunction() else: NowLockedFunction() boss = Field.FindMob(HorntailsLeftHeadEasy) if boss.valid: ToggleKami(False) if Character.GetPos().x != 522: Character.Teleport(522, -40) print("Horntails left head still alive standby") else: ToggleFaceLeft(True) ToggleKami(False) if Character.GetPos().x != 840: Character.Teleport(840, -165) else: Character.EnterPortal() else: boss = Field.FindMob(HorntailsRightHeadEasy) if boss.valid: ToggleKami(False) ToggleAttack(True) if Character.GetPos().x != 9: Character.Teleport(9, -40) print("Horntails right head still alive standby") else: ToggleFaceLeft(False) ToggleKami(False) if Character.GetPos().x != -307: Character.Teleport(-307, -165) else: Character.EnterPortal() else: boss = Field.FindMob(EasyHorntail) if boss.valid: ToggleAttack(True) DidSpawn() ToggleKami(True) print("Horntail still alive Standby") else: if HasSpawned: ToggleKami(False) ToggleLoot(True) print( "Horntail Easy Is dead waiting 10 sec before continueing" ) time.sleep(10) Character.TalkToNpc(2083002) time.sleep(1) SCLib.UpdateVar("KillHorntail", False) ToggleLoot(False) ResetSpawn() ResetNowLockedFunction() else: ToggleKami(False) ToggleAttack(False) crystal = Field.FindReactor(2401300) if crystal.valid: if Character.GetPos().x != 540: Character.Teleport(540, 15) else: Character.BasicAttack() time.sleep(2) elif HorntailNormal: print("Normal") if Field.GetID() not in HorntailsCaveNormal: if Field.GetID() not in TheCaveOfTrialNormal2: if Field.GetID() not in TheCaveOfTrialNormal1: if Field.GetID() != EntranceToHorntailsCave: GotoHorntail() else: if not NowLockedVar: Npc.ClearSelection() Npc.RegisterSelection( "Normal Mode (Level 130 or above)") time.sleep(1) Character.TalkToNpc(2083004) time.sleep(1) else: print( "Seems like you diddnt finish your last attempt and are locked. Continueing other bosses" ) SCLib.UpdateVar("KillHorntail", False) ResetNowLockedFunction() else: NowLockedFunction() boss = Field.FindMob(HorntailsLeftHeadNormal) if boss.valid: ToggleKami(False) ToggleAttack(True) if Character.GetPos().x != 522: Character.Teleport(522, -40) print("Horntails left head still alive standby") else: ToggleFaceLeft(True) ToggleKami(False) if Character.GetPos().x != 840: Character.Teleport(840, -165) else: Character.EnterPortal() else: boss = Field.FindMob(HorntailsRightHeadNormal) if boss.valid: ToggleKami(False) if Character.GetPos().x != 9: Character.Teleport(9, -40) print("Horntails right head still alive standby") else: ToggleFaceLeft(False) ToggleKami(False) if Character.GetPos().x != -307: Character.Teleport(-307, -165) else: Character.EnterPortal() else: boss = Field.FindMob(NormalHorntail) if boss.valid: ToggleAttack(True) ToggleKami(True) DidSpawn() print("Horntail Normal still alive Standby") else: if HasSpawned: ToggleKami(False) ToggleLoot(True) print( "Horntail Normal Is dead waiting 10 sec before continueing" ) time.sleep(10) Character.TalkToNpc(2083002) time.sleep(1) ToggleLoot(False) SCLib.UpdateVar("KillHorntail", False) ResetSpawn() ResetNowLockedFunction() else: ToggleAttack(False) ToggleKami(False) crystal = Field.FindReactor(2401000) if crystal.valid: if Character.GetPos().x != 540: Character.Teleport(540, 15) else: Character.BasicAttack() time.sleep(2) elif HorntailChaos: print("Chaos") if Field.GetID() not in ChaosHorntailsCave: if Field.GetID() not in TheCaveOfTrialChaos2: if Field.GetID() not in TheCaveOfTrialChaos1: if Field.GetID() != EntranceToHorntailsCave: GotoHorntail() else: if not NowLockedVar: Npc.ClearSelection() Npc.RegisterSelection( "Chaos Mode (Level 135 or above)") time.sleep(1) Character.TalkToNpc(2083004) time.sleep(1) else: print( "Seems like you diddnt finish your last attempt and are locked. Continueing other bosses" ) SCLib.UpdateVar("KillHorntail", False) ResetNowLockedFunction() else: NowLockedFunction() boss = Field.FindMob(ChaosHorntailsLeftHead) if boss.valid: ToggleKami(False) ToggleAttack(True) while Character.GetPos().x not in range(500, 570): Character.AMoveX(522) print("Horntails left head still alive standby") else: ToggleFaceLeft(True) ToggleKami(False) if Character.GetPos().x != 840: Character.Teleport(840, -165) else: Character.EnterPortal() else: boss = Field.FindMob(ChaosHorntailsRightHead) if boss.valid: ToggleKami(False) ToggleAttack(True) while Character.GetPos().x not in range(-40, 40): Character.AMoveX(9) print("Horntails right head still alive standby") else: ToggleFaceLeft(False) ToggleKami(False) if Character.GetPos().x != -307: Character.Teleport(-307, -165) else: Character.EnterPortal() else: boss = Field.FindMob(ChaosHorntail) boss1 = Field.FindMob(ChaosHorntail1) boss2 = Field.FindMob(ChaosHorntail2) boss3 = Field.FindMob(ChaosHorntail3) boss4 = Field.FindMob(ChaosHorntail4) if boss.valid or boss1.valid or boss2.valid or boss3.valid or boss4.valid: ToggleAttack(True) #ToggleKami(True) DidSpawn() while Character.GetPos().x not in range(140, 220): Character.AMoveX(183) print("Horntail still alive, Standby") else: if HasSpawned: ToggleKami(False) ToggleLoot(False) #print("Horntail Is dead waiting 10 sec before continueing") print("Looting") Terminal.SetCheckBox("Auto Loot", True) MoveToXLocation(Field.GetRect().left) time.sleep(1.5) MoveToXLocation(Field.GetRect().right) time.sleep(1.5) MoveToXLocation(Field.GetRect().left) time.sleep(1.5) MoveToXLocation(Field.GetRect().right) time.sleep(1.5) MoveToXLocation(Field.GetRect().left) time.sleep(1.5) #time.sleep(10) Character.TalkToNpc(2083002) time.sleep(1) SCLib.UpdateVar("KillHorntail", False) ToggleLoot(False) ResetSpawn() ResetNowLockedFunction() else: ToggleAttack(False) ToggleKami(False) crystal = Field.FindReactor(2401100) if crystal.valid: if Character.GetPos().x != 540: Character.Teleport(540, 15) else: Character.BasicAttack() time.sleep(2)
def ResetSpawn(): SCLib.UpdateVar("HasSpawned", False)
def DidSpawn(): SCLib.UpdateVar("HasSpawned", True)
def NowLockedFunction(): SCLib.UpdateVar("NowLockedVar", True)
def ResetNowLockedFunction(): SCLib.UpdateVar("NowLockedVar", False)
import Quest import time import GameState import Terminal if not any("SunCat" in s for s in sys.path): sys.path.append(os.getcwd() + "/SunCat") try: import SunCat, SCLib, SCHotkey except: print("Couldn't find SunCat module") SCLib.StartVars() ###persist variables if SCLib.GetVar("QuestDone") is None: SCLib.PersistVar("QuestDone", False) preq = Quest.GetQuestState(55610) quest = Quest.GetQuestState(52743) #CompleteQuest(55612, 9330600) #CompleteQuest(52743, 9201269) #CompleteQuest(52743, 9330277) quest_number = 52743 quest_npc = 9201269 quest_npc2 = 9330277 grove_of_the_spirit_tree = 450005000 #print(SCLib.GetVar("QuestDone")) if GameState.IsInGame() and SCLib.GetVar("QuestDone") == False: if SCLib.GetVar("QuestDone") == False: Quest.StartQuest(quest_number, quest_npc)
def KillPersistVarThred(): print("Restarting SCLib variables") SCLib.StopVars() time.sleep(1)
def initVars(): SCLib.PersistVar("StartingMap", Field.GetID()) SCLib.PersistVar("UsingKami", Terminal.GetCheckBox("Kami Vac")) SCLib.PersistVar("UsingSI", Terminal.GetCheckBox("Skill Injection")) SCLib.PersistVar("UsingFMA", Terminal.GetCheckBox("Full Map Attack")) SCLib.PersistVar("UsingGFMA", Terminal.GetCheckBox("General FMA")) SCLib.PersistVar("UsingWhitelist", Terminal.GetPushButton("Whitelist")) SCLib.PersistVar("UsingAutoBuff", Terminal.GetCheckBox("Auto Buff")) SCLib.PersistVar("CurDaily", "VJ") SCLib.PersistVar("CurQuest", None) SCLib.PersistVar("SymbolCount", 0) SCLib.PersistVar("CurSSRuns", 0) SCLib.PersistVar("CurStep", "StartingVJ") SCLib.PersistVar("RetryCount", 0) SCLib.StartVars()