using System.Threading;
using System.Collections.Generic;
using PBDOBot.Helper;
using PBDOBot.Api;
using PBDOBot.Api.Task;
/*
Made By ukjet© !
Do not redistribute this !
Download only from (

)
*/
namespace Tasks
{
public class Task : BBaseTask
{
public override void OnReset()
{
Enums.ResourceType[] protectedCollection = new Enums.ResourceType[] {
};
this.ProtectResourcesList.AddRange(protectedCollec tion);
Dictionary<string, Enums.ResourceType> boostCollection = new Dictionary<string, Enums.ResourceType>();
boostCollection.Add("Speed", Enums.ResourceType.ore_promerium);
boostCollection.Add("Shield", Enums.ResourceType.ore_seprom);
boostCollection.Add("Lasers", Enums.ResourceType.ore_promerium);
boostCollection.Add("Rockets", Enums.ResourceType.ore_seprom);
this.BoostDictionary = boostCollection;
TaskScript = new TaskScript(
delegate()
{
{
if (BMain.Me.SelectedShip.IsNpc && BMain.Me.SelectedShip != null)
{
if (BMain.Me.SelectedShip.Shield > 0) { DroneFormation = Enums.DroneFormation.Crab; } else { DroneFormation = Enums.DroneFormation.Diamond; }
if (BMain.Me.SelectedShip.Shield > 0) { BMain.Me.SetLaserAmmo(Enums.LaserAmmoType.SAB); } else { BMain.Me.SetLaserAmmo(Enums.LaserAmmoType.LCB_10); }
}
else
{
#region RSB Charger PVP
if (BMain.Me.GetAmmoCount(Enums.LaserAmmoType.RSB_75) >= 1000 && BMain.Me.GetAmmoCount(Enums.LaserAmmoType.UCB_100) >= 1000)
{
if (LaserAmmoType != Enums.LaserAmmoType.RSB_75)
{
BMain.WriteLog("Using RSB 75 Ammo");
BMain.Me.SetLaserAmmo(Enums.LaserAmmoType.RSB_75);
return 1000;
}
if (LaserAmmoType != Enums.LaserAmmoType.UCB_100)
{
BMain.WriteLog("Using UCB 100 Ammo");
BMain.Me.SetLaserAmmo(Enums.LaserAmmoType.UCB_100) ;
return 3000;
}
}
else
{
BMain.WriteLog("Low Ammo !");
}
if (BMain.Actions.CanUseInstaShield && BMain.Me.Hitpoints <= 50000) { BMain.Actions.UseInstaShield(); }
if (BMain.Actions.CanUseEmp && BMain.Me.Hitpoints <= 30000) { BMain.Actions.UseEmp(); }
#endregion // lets fight back
if (BMain.Me.Shield <= BMain.Me.MaxShield * 0.1)
{
if (BMain.Actions.CanUseTech(Enums.TechType.ShieldBac kup)) { BMain.Actions.UseTech(Enums.TechType.ShieldBackup) ; }
}
}
if (BMain.Actions.CanUseTech(Enums.TechType.RocketPre cision) && BMain.Actions.GetTechAmount(Enums.TechType.RocketP recision) > 30) { BMain.Actions.UseTech(Enums.TechType.RocketPrecisi on); }
#region Eco/Rocket Changer
int rocketAmmo = BMain.Me.GetAmmoCount(Enums.RocketAmmoType.PLT_202 6);
if (rocketAmmo < 10)
{
StandardConfiguration = 1; //Rocket CPU auto-buy PLT_2026
SwitchConfigWhenShieldLow = false; //so it doesn't interfere with purchase of rockets only for 5 seconds, once rocketAmmo != 0, value will be true again.
}
else
{
StandardConfiguration = 2; //Rocket CPU auto-buy ECO rockets
SwitchConfigWhenShieldLow = false;
}
#endregion
#region Aegis Abilltys
if (BMain.Actions.CanUseAbility(Enums.ShipAbility.Aeg is_Shield_Repair) == true && BMain.Me.Shield / BMain.Me.MaxShield * 100 <= 70) //Change Values depending on hp and shields
{
BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_S hield_Repair);
BMain.WriteLog("Using Shield Repair");
}
if (BMain.Actions.CanUseAbility(Enums.ShipAbility.Aeg is_Health_Repair) == true && BMain.Me.Hitpoints <= 105500) //Change Values depending on hp and shields
{
BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_H ealth_Repair);
BMain.WriteLog("Using Hp Repair");
}
if (BMain.Actions.CanUseAbility(Enums.ShipAbility.Aeg is_Health_Pod) == true && BMain.Me.Hitpoints <= (BMain.Me.MaxHitpoints - 50000)) //Only use Rep Pod
{
BMain.Actions.UseAbility(Enums.ShipAbility.Aegis_H ealth_Pod);
BMain.WriteLog("Using Repair Pod");
}
#endregion
#region Beta Hangersell
// not added yet will be added after some testing :P
// Fuck off -And- you'r a leach and a thief.
#endregion
}
return -1;
},
delegate()
{
return true;
},
1000); //checked every second
}
public override void ChooseLogic()
{
if (!ActionList.Contains("ukjet's PallaTask"))
{
BMain.WriteLog("palladium 5-3 task");
BMain.WriteLog("Made by ukjet©");
Reset();
// do you want to restock ammo ?
Restock = false;
// Lasser ammo is in the task script at the top
#region Ammo
RocketLauncherAmmoType = Enums.RocketLauncherAmmoType.ECO10;
UseRocketLauncher = true;
RocketAmmoType = Enums.RocketAmmoType.PLT_2026;
#endregion
//Do you want to avoid Annihilator if you can't kill em ?
// AvoidNpcsList.AddRange(new string[] { "-=[ Annihilator ]=-" });
AvoidNpcsRange = 3500;
#region collection
CollectResources = true;
ExtremeBotting = true;
CollectBonusBoxes = false;
CollectCargoBoxes = false;
SwitchConfigWhenShieldLow = true;
#endregion
#region ship basics
AnswerAttacks = true; // fight back
FleeOnEnemyInRadius = false;
TaskMap = "5-3";
if (BMain.MapName !="x-1") {TaskMap = "x-2";} else {TaskMap = "5-3";}
if (BMain.MapName !="x-2") {TaskMap = "5-3";} else {TaskMap = "x-2";}
AttackNpcs = true;
Refine = false;
Sell = true;
SellPalladium = true; // must sell palla
MinPalladiumAmountToSell = 15; // min palla to sell when passing 5-2
DroneFormation = Enums.DroneFormation.Diamond; // defult formation
if (BMain.MapName != "5-3") { UsePet = false; } else { UsePet = true; } // save fuel
if (BMain.MapName != "5-3") { Cloak = true; } else { Cloak = false; } // save uri and cloaks
#endregion
#region PET
PetMode = Enums.PetMode.Auto_Resource_Collector;
PetMinDurability = 1;
RestockPetFuel = true;
PetFuelMinAmount = 2000; // will allways have 2k min fuel incase you run out of uri
RepairPetWhenDead = true; // rep pet if idiots shot it
#endregion
#region Repair
Repair = true;
MinDurability = 40;
MaxDurability = 99;
#endregion
#region cargo
MinFreeSlots = 0;
SellSkylabPromerium = true;
#endregion
ActionList.Add("ukjet's PallaTask");
}
}
}
}