Code:
using System.Threading;
using System.Collections.Generic;
using PBDOBot.Helper;
using PBDOBot.Api;
using PBDOBot.Api.Task;
namespace Tasks
{
public class Task : BBaseTask
{
public override void OnReset()
{
Enums.ResourceType[] protectedCollection = new Enums.ResourceType[] {
Enums.ResourceType.ore_promerium
};
this.ProtectResourcesList.AddRange(protectedCollection);
Dictionary<string, Enums.ResourceType> boostCollection = new Dictionary<string, Enums.ResourceType>();
//boostCollection.Add("Speed", Enums.ResourceType.ore_promerium);
//boostCollection.Add("Shield", Enums.ResourceType.ore_promerium);
//boostCollection.Add("Lasers", Enums.ResourceType.ore_promerium);
//boostCollection.Add("Rockets", Enums.ResourceType.ore_promerium );
this.BoostDictionary = boostCollection;
}
public override void ChooseLogic()
{
if (BMain.GalaxyGate.Delta.LifesLeft > 1 && BMain.IsGalaxyGateDeltaOpen)
{
if (!ActionList.Contains("GG D Prep") && (!(BMain.MapName == "GG D")))
{
Reset();
BMain.WriteLog("GG D Preparation");
DoGalaxyGateDelta = true;
LaserAmmoType = Enums.LaserAmmoType.any;
RocketAmmoType = Enums.RocketAmmoType.any;
Restock = true;
AttackNpcs = false;
Refine = true;
Sell = true;
CollectResources = false;
CollectBonusBoxes = false;
CollectCargoBoxes = false;
FleeOnEnemyInRadius = true;
FleeRadius = 5000;
Repair = true;
MinDurability = 80;
MinFreeSlots = 750;
ActionList.Add("GG D Prep");
}
else if (!ActionList.Contains("GG D") && (BMain.MapName == "GG D"))
{
Reset();
BMain.WriteLog("GG D");
DoGalaxyGateDelta = true;
LaserAmmoType = Enums.LaserAmmoType.LCB_10;
RocketAmmoType = Enums.RocketAmmoType.PLT_2026;
AttackNpcs = true;
Restock = true;
Refine = true;
Sell = true;
UsePet = true;
PetMode = Enums.PetMode.Guard_Mode;
RestockPetFuel = true;
DeactivatePetWhileFleeing = true;
RepairPetWhenDead = true;
CollectResources = false;
CollectBonusBoxes = true;
CollectCargoBoxes = true;
Repair = false;
MinDurability = 80;
MinFreeSlots = 150;
ActionList.Add("GG D");
}
}
else
{
Dictionary<TaskLoadDelegate, int> TaskLoadDictionary = new Dictionary<TaskLoadDelegate, int>();
TaskLoadDictionary.Add(
delegate()
{
if (!ActionList.Contains("gather x-2 invis"))
{
BMain.WriteLog("loading gather bonus x-2 invisible task");
Reset();
TaskMap = "x-2";
AttackNpcs = false;
BuyInvisibleAddon = true;
Refine = true;
Sell = true;
MinFreeSlots = 100;
SellSkylabPromerium = true;
CollectResources = false;
CollectBonusBoxes = true;
CollectSunBoxes = true;
CollectCargoBoxes = false;
CollectGoldenPirateBoxes = true;
CollectPirateBoxes = true;
CollectSpecialBoxes = true;
FleeOnEnemyInRadius = true;
FleeRadius = 3500;
UsePet = true;
PetMode = Enums.PetMode.Auto_Looter;
RestockPetFuel = true;
DeactivatePetWhileFleeing = true;
RepairPetWhenDead = true;
Repair = true;
MinDurability = 60;
UpgradeSkylab = true;
UseExtraGateEnergy = false;
ActionList.Add("gather x-2 invis");
}
}, 35);
TaskLoadDictionary.Add(
delegate()
{
if (!ActionList.Contains("gather x-3 invis"))
{
BMain.WriteLog("loading gather bonus x-3 invisible task");
Reset();
TaskMap = "x-3";
AttackNpcs = false;
BuyInvisibleAddon = true;
Refine = true;
Sell = true;
MinFreeSlots = 100;
SellSkylabPromerium = true;
CollectResources = false;
CollectBonusBoxes = true;
CollectSunBoxes = true;
CollectCargoBoxes = false;
CollectGoldenPirateBoxes = true;
CollectPirateBoxes = true;
CollectSpecialBoxes = true;
FleeOnEnemyInRadius = true;
FleeRadius = 3500;
UsePet = true;
PetMode = Enums.PetMode.Auto_Looter;
RestockPetFuel = true;
DeactivatePetWhileFleeing = true;
RepairPetWhenDead = true;
Repair = true;
MinDurability = 60;
UpgradeSkylab = true;
UseExtraGateEnergy = false;
ActionList.Add("gather x-3 invis");
}
}, 130);
TaskLoadDictionary.Add(
delegate()
{
if (!ActionList.Contains("gather x-4 invis"))
{
BMain.WriteLog("loading gather bonus x-4 invisible task");
Reset();
TaskMap = "x-4";
AttackNpcs = false;
BuyInvisibleAddon = true;
Refine = true;
Sell = true;
MinFreeSlots = 100;
SellSkylabPromerium = true;
CollectResources = false;
CollectBonusBoxes = true;
CollectSunBoxes = true;
CollectCargoBoxes = false;
CollectGoldenPirateBoxes = true;
CollectPirateBoxes = true;
CollectSpecialBoxes = true;
FleeOnEnemyInRadius = true;
FleeRadius = 3500;
UsePet = true;
PetMode = Enums.PetMode.Auto_Looter;
RestockPetFuel = true;
DeactivatePetWhileFleeing = true;
RepairPetWhenDead = true;
Repair = true;
MinDurability = 60;
UpgradeSkylab = true;
UseExtraGateEnergy = false;
Repair = true;
MinDurability = 60;
UpgradeSkylab = true;
UseExtraGateEnergy = true;
ActionList.Add("gather x-4 invis");
}
}, 135);
CycleTaskDictionary = TaskLoadDictionary;
}
}
}
}