-
Notifications
You must be signed in to change notification settings - Fork 90
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
220 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
/* | ||
name: Deleuze Tundra Merge | ||
description: This bot will farm the items belonging to the selected mode for the Deleuze Tundra Merge [2520] in /deleuzetundra | ||
tags: deleuze, tundra, merge, deleuzetundra, fiendish, bloodhunter, bow, oblivions, final, call, abyss, boiling, blood, awakened, fiend, naginata, bloodhunt, nul, contract | ||
*/ | ||
//cs_include Scripts/CoreBots.cs | ||
//cs_include Scripts/CoreFarms.cs | ||
//cs_include Scripts/CoreAdvanced.cs | ||
//cs_include Scripts/Story/DeleuzeTundra.cs | ||
using Skua.Core.Interfaces; | ||
using Skua.Core.Models.Items; | ||
using Skua.Core.Options; | ||
|
||
public class DeleuzeTundraMerge | ||
{ | ||
private IScriptInterface Bot => IScriptInterface.Instance; | ||
private CoreBots Core => CoreBots.Instance; | ||
private CoreFarms Farm = new(); | ||
private CoreAdvanced Adv = new(); | ||
private DeleuzeTundraStory DT = new(); | ||
private static CoreAdvanced sAdv = new(); | ||
|
||
public bool DontPreconfigure = true; | ||
public List<IOption> Generic = sAdv.MergeOptions; | ||
public string[] MultiOptions = { "Generic", "Select" }; | ||
public string OptionsStorage = sAdv.OptionsStorage; | ||
// [Can Change] This should only be changed by the author. | ||
// If true, it will not stop the script if the default case triggers and the user chose to only get mats | ||
private bool dontStopMissingIng = false; | ||
|
||
public void ScriptMain(IScriptInterface Bot) | ||
{ | ||
Core.BankingBlackList.AddRange(new[] { "Geode of Oblivion", "Outrider's Broken Blade" }); | ||
Core.SetOptions(); | ||
|
||
BuyAllMerge(); | ||
Core.SetOptions(false); | ||
} | ||
|
||
public void BuyAllMerge(string? buyOnlyThis = null, mergeOptionsEnum? buyMode = null) | ||
{ | ||
DT.deleuzetundra(); | ||
//Only edit the map and shopID here | ||
Adv.StartBuyAllMerge("deleuzetundra", 2520, findIngredients, buyOnlyThis, buyMode: buyMode); | ||
|
||
#region Dont edit this part | ||
void findIngredients() | ||
{ | ||
ItemBase req = Adv.externalItem; | ||
int quant = Adv.externalQuant; | ||
int currentQuant = req.Temp ? Bot.TempInv.GetQuantity(req.Name) : Bot.Inventory.GetQuantity(req.Name); | ||
if (req == null) | ||
{ | ||
Core.Logger("req is NULL"); | ||
return; | ||
} | ||
|
||
switch (req.Name) | ||
{ | ||
default: | ||
bool shouldStop = !Adv.matsOnly || !dontStopMissingIng; | ||
Core.Logger($"The bot hasn't been taught how to get {req.Name}." + (shouldStop ? " Please report the issue." : " Skipping"), messageBox: shouldStop, stopBot: shouldStop); | ||
break; | ||
#endregion | ||
|
||
case "Geode of Oblivion": | ||
Core.FarmingLogger(req.Name, quant); | ||
Core.EquipClass(ClassType.Farm); | ||
Core.RegisterQuests(0000); | ||
while (!Bot.ShouldExit && !Core.CheckInventory(req.Name, quant)) | ||
{ | ||
Core.EquipClass(ClassType.Farm); | ||
Core.KillMonster("deleuzetundra", "r4", "Left", "Oblivion Magus", "Honeycomb Flesh", 8); | ||
Core.KillMonster("deleuzetundra", "Enter", "Spawn", "Empty Creature", "Empty Carcass", 8); | ||
Core.EquipClass(ClassType.Solo); | ||
Core.KillMonster("deleuzetundra", "r5", "Left", "Oblivion's Herald", "Obsidian Bone Shard"); | ||
Bot.Wait.ForPickup(req.Name); | ||
} | ||
Core.CancelRegisteredQuests(); | ||
break; | ||
|
||
case "Outrider's Broken Blade": | ||
Core.EquipClass(ClassType.Farm); | ||
Core.KillMonster("deleuzetundra", "r2", "Left", "Nation Outrider", req.Name, isTemp: false); | ||
Bot.Wait.ForPickup(req.Name); | ||
Core.CancelRegisteredQuests(); | ||
break; | ||
|
||
} | ||
} | ||
} | ||
|
||
public List<IOption> Select = new() | ||
{ | ||
new Option<bool>("83950", "Fiendish Bloodhunter Bow", "Mode: [select] only\nShould the bot buy \"Fiendish Bloodhunter Bow\" ?", false), | ||
new Option<bool>("83948", "Oblivion's Final Call", "Mode: [select] only\nShould the bot buy \"Oblivion's Final Call\" ?", false), | ||
new Option<bool>("83947", "Oblivion's Abyss Staff", "Mode: [select] only\nShould the bot buy \"Oblivion's Abyss Staff\" ?", false), | ||
new Option<bool>("79254", "Boiling Blood Staff", "Mode: [select] only\nShould the bot buy \"Boiling Blood Staff\" ?", false), | ||
new Option<bool>("75319", "Awakened Fiend Naginata", "Mode: [select] only\nShould the bot buy \"Awakened Fiend Naginata\" ?", false), | ||
new Option<bool>("83939", "Fiendish Bloodhunt Dagger", "Mode: [select] only\nShould the bot buy \"Fiendish Bloodhunt Dagger\" ?", false), | ||
new Option<bool>("83940", "Fiendish Bloodhunt Daggers", "Mode: [select] only\nShould the bot buy \"Fiendish Bloodhunt Daggers\" ?", false), | ||
new Option<bool>("91088", "Nul Contract Dagger", "Mode: [select] only\nShould the bot buy \"Nul Contract Dagger\" ?", false), | ||
new Option<bool>("91089", "Nul Contract Daggers", "Mode: [select] only\nShould the bot buy \"Nul Contract Daggers\" ?", false), | ||
}; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
/* | ||
name: deleuzetundra Story | ||
description: This will finish the deleuzetundra Story. | ||
tags: story, quest, deleuzetundra | ||
*/ | ||
//cs_include Scripts/CoreBots.cs | ||
//cs_include Scripts/CoreStory.cs | ||
|
||
using Skua.Core.Interfaces; | ||
|
||
public class DeleuzeTundraStory | ||
{ | ||
public IScriptInterface Bot => IScriptInterface.Instance; | ||
public CoreBots Core => CoreBots.Instance; | ||
public CoreStory Story = new(); | ||
|
||
public void ScriptMain(IScriptInterface bot) | ||
{ | ||
Core.SetOptions(); | ||
|
||
deleuzetundra(); | ||
|
||
Core.SetOptions(false); | ||
} | ||
|
||
public void deleuzetundra() | ||
{ | ||
if (Core.isCompletedBefore(10031)) | ||
return; | ||
|
||
Story.PreLoad(this); | ||
|
||
#region Useable Monsters | ||
string[] UseableMonsters = new[] | ||
{ | ||
"Empty Creature", // UseableMonsters[0], | ||
"Nation Outrider", // UseableMonsters[1], | ||
"Oblivion Magus", // UseableMonsters[2], | ||
"Oblivion's Herald", // UseableMonsters[3], | ||
"Blighted Zubami", // UseableMonsters[4] | ||
}; | ||
#endregion Useable Monsters | ||
|
||
// 10023 | Empty Eyes | ||
if (!Story.QuestProgression(10023)) | ||
{ | ||
Core.HuntMonsterQuest(10023, | ||
("deleuzetundra", UseableMonsters[0], ClassType.Farm)); | ||
} | ||
|
||
|
||
// 10024 | Infectious Sleep | ||
if (!Story.QuestProgression(10024)) | ||
{ | ||
Core.HuntMonsterQuest(10024, | ||
("deleuzetundra", UseableMonsters[1], ClassType.Farm)); | ||
} | ||
|
||
|
||
// 10025 | Cadaveric Spasm | ||
if (!Story.QuestProgression(10025)) | ||
{ | ||
Core.EnsureAccept(10025); | ||
Story.MapItemQuest(10025, "deleuzetundra", 14048, 5); | ||
Story.MapItemQuest(10025, "deleuzetundra", 14049); | ||
} | ||
|
||
|
||
// 10026 | Nihil Scholars | ||
if (!Story.QuestProgression(10026)) | ||
{ | ||
Core.HuntMonsterQuest(10026, | ||
("deleuzetundra", UseableMonsters[2], ClassType.Farm)); | ||
} | ||
|
||
|
||
// 10027 | Id and Superego | ||
if (!Story.QuestProgression(10027)) | ||
{ | ||
Story.MapItemQuest(10027, "deleuzetundra", new[] { 14050, 14051 }); | ||
} | ||
|
||
|
||
// 10028 | Sleepflying | ||
if (!Story.QuestProgression(10028)) | ||
{ | ||
Story.KillQuest(10028, "deleuzetundra", UseableMonsters[0]); | ||
Story.MapItemQuest(10028, "deleuzetundra", 14052); | ||
} | ||
|
||
|
||
// 10029 | Battle-Weary | ||
if (!Story.QuestProgression(10029)) | ||
{ | ||
Story.KillQuest(10029, "deleuzetundra", UseableMonsters[1]); | ||
Story.MapItemQuest(10029, "deleuzetundra", 14053, 5); | ||
} | ||
|
||
|
||
// 10030 | Self-Destructive Spell | ||
if (!Story.QuestProgression(10030)) | ||
{ | ||
Story.KillQuest(10030, "deleuzetundra", UseableMonsters[2]); | ||
Story.MapItemQuest(10030, "deleuzetundra", 14054); | ||
} | ||
|
||
|
||
// 10031 | Allure of the Void | ||
if (!Story.QuestProgression(10031)) | ||
{ | ||
Core.HuntMonsterQuest(10031, | ||
("deleuzetundra", UseableMonsters[3], ClassType.Solo)); | ||
} | ||
} | ||
} |