Skip to content

Commit

Permalink
Release 1-18-25
Browse files Browse the repository at this point in the history
  • Loading branch information
wtffidy committed Jan 18, 2025
1 parent c867f4a commit 06fb6f2
Show file tree
Hide file tree
Showing 2 changed files with 220 additions and 0 deletions.
105 changes: 105 additions & 0 deletions Other/MergeShops/DeleuzeTundraMerge.cs
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),
};
}
115 changes: 115 additions & 0 deletions Story/DeleuzeTundra.cs
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));
}
}
}

0 comments on commit 06fb6f2

Please sign in to comment.