Compare commits

...

2 Commits

Author SHA1 Message Date
Bouletmarc b600e62c8c V2.71 2024-04-25 08:21:34 -04:00
Bouletmarc af4263cf0a V2.7 2024-04-25 07:33:59 -04:00
75 changed files with 1063 additions and 435 deletions

View File

@ -38,6 +38,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -174,6 +180,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -193,6 +200,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -162,6 +162,8 @@ namespace app
&& CurrentStep >= 7
&& Form1_0.PublicGame)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
}
@ -332,7 +334,7 @@ namespace app
//DETECT OTHERS WAVES FOR CASTING
if (!TimeSinceLastWaveSet && !Form1_0.MobsStruc_0.GetMobs("", "", true, 25, IgnoredMobs))
{
if (!Form1_0.PublicGame) Form1_0.Battle_0.CastDefense();
if (!Form1_0.PublicGame || !Form1_0.PlayerScan_0.HasBattleOrderState) Form1_0.Battle_0.CastDefense();
TimeSinceLastWaveDone = DateTime.Now;
TimeSinceLastWaveSet = true;
Form1_0.InventoryStruc_0.DumpBadItemsOnGround();
@ -414,6 +416,7 @@ namespace app
Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -489,6 +492,7 @@ namespace app
}
else
{
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
@ -506,6 +510,7 @@ namespace app
Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}
@ -575,6 +580,7 @@ namespace app
Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -172,6 +172,13 @@ namespace app
SearchSameGamesAsLastOne = false;
SameGameRetry = 0;
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
GetLeechInfo();
if (Form1_0.Town_0.GetInTown())
{
@ -252,6 +259,8 @@ namespace app
if (TimeWaitedForTP >= MaxTimeWaitedForTP)
{
Form1_0.method_1("Leaving reason: Waited too long for tp", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
//Form1_0.LeaveGame(false);
}
@ -269,6 +278,7 @@ namespace app
&& !Form1_0.PlayerScan_0.HasAnyPlayerInArea(131))//throne chamber
{
Form1_0.method_1("Leaving reason: Nobody seem to baal run", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
//Form1_0.LeaveGame(false);
@ -506,6 +516,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
SearchSameGamesAsLastOne = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
//Form1_0.LeaveGame(false);
@ -538,6 +549,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
SearchSameGamesAsLastOne = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
//Form1_0.LeaveGame(false);

View File

@ -545,6 +545,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -565,6 +566,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -250,7 +250,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return;
}
@ -266,7 +265,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return;
}
@ -311,7 +309,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return;
}
@ -377,7 +374,6 @@ namespace app
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return;
}

View File

@ -40,6 +40,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -219,6 +225,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -236,6 +243,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "The Countess", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -41,6 +41,12 @@ namespace app
public void RunScriptTristam()
{
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -79,6 +85,7 @@ namespace app
else
{
Form1_0.method_1("Tristram location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -164,6 +171,12 @@ namespace app
public void RunScriptCow()
{
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO SHOP");
@ -217,6 +230,7 @@ namespace app
if (!Form1_0.Battle_0.ClearingArea)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}
@ -228,6 +242,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
HasWirtsLeg = Form1_0.InventoryStruc_0.HasInventoryItemName("Wirt's Leg");
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.MooMooFarm) HasWirtsLeg = true;

View File

@ -42,6 +42,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -128,6 +134,7 @@ namespace app
else
{
Form1_0.method_1("Duriel location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -199,6 +206,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -216,6 +224,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Duriel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -35,6 +35,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -93,6 +99,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
//Form1_0.LeaveGame(true);
@ -110,6 +117,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
//Form1_0.LeaveGame(true);

View File

@ -37,6 +37,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -91,6 +97,7 @@ namespace app
{
Form1_0.Town_0.SelectTownWP();
Form1_0.Town_0.Towning = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
@ -119,6 +126,12 @@ namespace app
int Tryy = 0;
while (ThisChestPos.X != 0 && ThisChestPos.Y != 0 && Tryy < 30)
{
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Mover_0.MoveToLocation(ThisChestPos.X, ThisChestPos.Y))
{
HasTakenAnyChest = true;

View File

@ -36,6 +36,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -145,6 +151,7 @@ namespace app
Form1_0.WaitDelay(700);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -162,6 +169,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -37,6 +37,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -116,6 +122,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -133,6 +140,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Nihlatak", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -30,6 +30,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -95,6 +101,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -112,6 +119,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Pindleskin", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -36,6 +36,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -143,6 +149,7 @@ namespace app
else
{
Form1_0.method_1("Ancients Altar location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
return;
@ -189,6 +196,7 @@ namespace app
//Done all killed!
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
}
}
@ -202,6 +210,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
}
}

View File

@ -37,6 +37,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -167,6 +173,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -184,6 +191,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -367,6 +367,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}
@ -384,6 +385,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Form1_0.LeaveGame(true);
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
}
}

View File

@ -550,6 +550,7 @@ namespace app
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
//Form1_0.LeaveGame(true);
@ -570,6 +571,7 @@ namespace app
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
//Form1_0.LeaveGame(true);

View File

@ -32,6 +32,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -84,6 +90,7 @@ namespace app
{
Form1_0.method_1("Inifuss Tree location not detected!", Color.Red);
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
}
@ -131,6 +138,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.RogueEncampment)
{
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
}
}

View File

@ -44,6 +44,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -130,6 +136,7 @@ namespace app
{
Form1_0.method_1("Horadric Orifice location not detected!", Color.Red);
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
}
@ -233,6 +240,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
//Form1_0.LeaveGame(true);
@ -250,6 +258,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
//Form1_0.LeaveGame(true);

View File

@ -40,6 +40,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -152,6 +158,7 @@ namespace app
else
{
Form1_0.method_1("Staff Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -199,6 +206,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -38,6 +38,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -112,6 +118,7 @@ namespace app
else
{
Form1_0.method_1("Cube location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -159,6 +166,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -40,6 +40,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -152,6 +158,7 @@ namespace app
else
{
Form1_0.method_1("Kahlim Brain Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -199,6 +206,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -38,6 +38,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -112,6 +118,7 @@ namespace app
else
{
Form1_0.method_1("Kahlim Eye Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -159,6 +166,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -39,6 +39,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -124,6 +130,7 @@ namespace app
else
{
Form1_0.method_1("Lever location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -165,6 +172,7 @@ namespace app
else
{
Form1_0.method_1("Kahlim Heart Chest location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -212,6 +220,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.KurastDocks)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -40,6 +40,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -156,6 +162,7 @@ namespace app
Form1_0.Town_0.TPSpawned = false;
CurrentStep++;
//Form1_0.Town_0.FastTowning = false;
//ScriptDone = true;
//return;
}
@ -194,6 +201,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -36,6 +36,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -176,6 +182,7 @@ namespace app
Form1_0.WaitDelay(700);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -193,6 +200,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -38,6 +38,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -111,6 +117,7 @@ namespace app
else
{
Form1_0.method_1("Radament location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -158,6 +165,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo == (int)Enums.Area.LutGholein)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -32,6 +32,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -128,7 +134,8 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(true);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return;
//Form1_0.LeaveGame(true);*/
@ -145,6 +152,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -163,6 +171,7 @@ namespace app
if (Form1_0.PlayerScan_0.LeechlevelNo != (int)Enums.Area.ArcaneSanctuary)
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -36,6 +36,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 3; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -114,8 +120,9 @@ namespace app
else
{
Form1_0.method_1("Kahlim Orb location not detected!", Color.Red);
ScriptDone = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
}
}
@ -149,8 +156,9 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Council Member", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
ScriptDone = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
}
else
@ -186,6 +194,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -38,6 +38,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -79,6 +85,7 @@ namespace app
else
{
Form1_0.method_1("Tristram location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -171,6 +178,7 @@ namespace app
if (!Form1_0.Battle_0.DoBattleScript(25))
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}

View File

@ -37,6 +37,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 1; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -104,6 +110,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -121,6 +128,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Shenk", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -31,6 +31,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 2; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -88,6 +94,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -105,6 +112,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -34,6 +34,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = 5; //set to town act 5 when running this script
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");
@ -71,6 +77,7 @@ namespace app
else
{
Form1_0.method_1("Kahlim Orb location not detected!", Color.Red);
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -106,6 +113,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Council Member", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;
@ -125,6 +133,7 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return;

View File

@ -62,6 +62,8 @@ namespace app
}
else
{
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
}
}
@ -71,6 +73,12 @@ namespace app
{
Form1_0.Town_0.ScriptTownAct = CurrentAct;
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())
{
ScriptDone = true;
return;
}
if (Form1_0.Town_0.GetInTown())
{
Form1_0.SetGameStatus("GO TO WP");

View File

@ -30,50 +30,14 @@ namespace app
public void LoadSettings()
{
if (File.Exists(File_CharSettings))
{
AllLines = File.ReadAllLines(File_CharSettings);
LoadCharSettings();
}
else
{
Form1_0.method_1("Unable to find 'CharSettings.txt' file!", Color.Red);
}
LoadThisFileSettings(File_CharSettings);
//###################
ReloadCharSettings();
//###################
//#####
if (File.Exists(File_BotSettings))
{
AllLines = File.ReadAllLines(File_BotSettings);
LoadBotSettings();
}
else
{
Form1_0.method_1("Unable to find 'BotSettings.txt' file!", Color.Red);
}
//#####
if (File.Exists(File_ItemsSettings))
{
AllLines = File.ReadAllLines(File_ItemsSettings);
LoadItemsSettings();
}
else
{
Form1_0.method_1("Unable to find 'ItemsSettings.txt' file!", Color.Red);
}
//#####
if (File.Exists(File_CubingSettings))
{
AllLines = File.ReadAllLines(File_CubingSettings);
LoadCubingSettings();
}
else
{
Form1_0.method_1("Unable to find 'CubingRecipes.txt' file!", Color.Red);
}
LoadThisFileSettings(File_BotSettings);
LoadThisFileSettings(File_ItemsSettings);
LoadThisFileSettings(File_CubingSettings);
//#####
if (File.Exists(File_Settings))
{
@ -86,6 +50,26 @@ namespace app
}
}
public void LoadThisFileSettings(string ThisFilePath)
{
if (File.Exists(ThisFilePath))
{
AllLines = File.ReadAllLines(ThisFilePath);
if (Path.GetFileName(ThisFilePath) == "CharSettings.txt") LoadCharSettings();
if (Path.GetFileName(ThisFilePath) == "BotSettings.txt") LoadBotSettings();
if (Path.GetFileName(ThisFilePath) == "ItemsSettings.txt") LoadItemsSettings();
if (Path.GetFileName(ThisFilePath) == "CubingRecipes.txt") LoadCubingSettings();
if (Path.GetFileName(ThisFilePath) == "PaladinHammer.txt") LoadCurrentCharSettings();
if (Path.GetFileName(ThisFilePath) == "SorceressBlizzard.txt") LoadCurrentCharSettings();
}
else
{
Form1_0.method_1("Unable to find '" + Path.GetFileName(ThisFilePath) + "' file!", Color.Red);
}
}
public void LoadOthersSettings()
{
try
@ -121,30 +105,13 @@ namespace app
public void ReloadCharSettings()
{
if (CharConfig.RunningOnChar == "PaladinHammer")
{
if (File.Exists(File_PaladinHammer))
{
AllLines = File.ReadAllLines(File_PaladinHammer);
LoadCurrentCharSettings();
}
else
{
Form1_0.method_1("Unable to find 'PaladinHammer.txt' file!", Color.Red);
}
}
else if (CharConfig.RunningOnChar == "SorceressBlizzard")
{
if (File.Exists(File_SorceressBlizzard))
{
AllLines = File.ReadAllLines(File_SorceressBlizzard);
LoadCurrentCharSettings();
}
else
{
Form1_0.method_1("Unable to find 'SorceressBlizzard.txt' file!", Color.Red);
}
}
if (CharConfig.RunningOnChar == "PaladinHammer") LoadThisFileSettings(File_PaladinHammer);
else if (CharConfig.RunningOnChar == "SorceressBlizzard") LoadThisFileSettings(File_SorceressBlizzard);
}
public void ReloadCharSettingsFromThisFile(string ThisFilePath)
{
LoadThisFileSettings(ThisFilePath);
}
public void SaveCharSettings()
@ -314,6 +281,8 @@ namespace app
File.Create(File_BotSettings).Dispose();
File.WriteAllLines(File_BotSettings, AllLines);
Form1_0.method_1("Saved '" + Path.GetFileName(File_BotSettings) + "' file!", Color.DarkGreen);
}
public void SaveOthersSettings()
@ -332,7 +301,7 @@ namespace app
{
try
{
bool DoingKeysRune = false;
bool DoingKeysRune = true;
bool DoingNormal = false;
Dictionary<string, bool> AllKeys = new Dictionary<string, bool>();
@ -600,7 +569,10 @@ namespace app
}
Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Clear();
foreach (var ThisDir in AllKeys) Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Add(ThisDir.Key, ThisDir.Value);
foreach (var ThisDir in AllKeys)
{
Form1_0.ItemsAlert_0.PickItemsRunesKeyGems.Add(ThisDir.Key, ThisDir.Value);
}
Form1_0.ItemsAlert_0.PickItemsPotions.Clear();

View File

@ -42,7 +42,7 @@ namespace app
public partial class Form1 : Form
{
public string BotVersion = "V2.6";
public string BotVersion = "V2.71";
public string D2_LOD_113C_Path = "";
@ -59,11 +59,12 @@ namespace app
public bool HasPointers = false;
public int UnitStrucOffset = -32;
public int hWnd = 0;
public DateTime CheckTime = new DateTime();
public int LoopDone = 0;
public DateTime GameStartedTime = new DateTime();
public bool CharDied = false;
public bool PrintedGameTime = false;
public DateTime CheckTime = new DateTime();
public DateTime GameStartedTime = new DateTime();
public DateTime TimeSinceSearchingForGames = new DateTime();
public Rectangle D2Rect = new Rectangle();
@ -100,6 +101,11 @@ namespace app
public double FPS = 0;
public string mS = "";
public List<double> Averge_FPSList = new List<double>();
public List<int> Averge_mSList = new List<int>();
public double Average_FPS = 0;
public int Average_mS = 0;
public int TotalChickenCount = 0;
public int TotalDeadCount = 0;
public int TotalChickenByTimeCount = 0;
@ -201,6 +207,14 @@ namespace app
[DllImport("user32.dll")]
static extern bool ClientToScreen(int hWnd, out Point lpPoint);
[DllImport("gdi32.dll")]
static extern int GetDeviceCaps(IntPtr hdc, int nIndex);
public enum DeviceCap
{
VERTRES = 10,
DESKTOPVERTRES = 117,
}
// REQUIRED STRUCTS
public struct MEMORY_BASIC_INFORMATION
@ -635,6 +649,20 @@ namespace app
labelGames.Text = CurrentGameNumberSinceStart.ToString() + " entered. " + CurrentGameNumberFullyDone.ToString() + " fully done";
}
private float getScalingFactor()
{
Graphics g = Graphics.FromHwnd(IntPtr.Zero);
IntPtr desktop = g.GetHdc();
int LogicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.VERTRES);
int PhysicalScreenHeight = GetDeviceCaps(desktop, (int)DeviceCap.DESKTOPVERTRES);
g.ReleaseHdc(desktop);
float ScreenScalingFactor = (float)PhysicalScreenHeight / (float)LogicalScreenHeight;
return ScreenScalingFactor; // 1.25 = 125%
}
public void Startt()
{
try
@ -693,6 +721,16 @@ namespace app
method_1("D2R rect Position is not in the center of screen, might have some issues!", Color.OrangeRed);
}
if (getScalingFactor() != 1f)
{
method_1("Windows scale factor is not 100%, might have some issues!", Color.OrangeRed);
}
if (ScreenX > 1920)
{
method_1("Screen Resolution is bigger than 1920x1080, might have some issues!", Color.OrangeRed);
}
overlayForm.ScaleScreenSize = (float)Form1_0.D2Widht / 1920f;
overlayForm.ScaleScreenSizeInverted = 1920f / (float)Form1_0.D2Widht;
overlayForm.ResetScaleForDisplay();
@ -832,6 +870,7 @@ namespace app
SettingsLoader_0.SaveOthersSettings();
ItemsStruc_0.BadItemsOnCursorIDList = new List<long>();
ItemsStruc_0.BadItemsOnGroundPointerList = new List<long>();
ItemsStruc_0.AvoidItemsOnGroundPointerList = new List<long>();
SetDeadCount = false;
GameStruc_0.ChickenTry = 0;
MercStruc_0.MercOwnerID = 0;
@ -879,7 +918,8 @@ namespace app
{
GameStruc_0.SetNewGame();
SetNewGame();
if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct
//if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct
if (!CharConfig.IsRushing) WaitDelay(250); //wait here because 'loading' menu is not correct
if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher();
Town_0.GetCorpse();
ItemsStruc_0.GetBadItemsOnCursor();
@ -893,7 +933,8 @@ namespace app
{
GameStruc_0.SetNewGame();
SetNewGame();
if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct
//if (!CharConfig.IsRushing) WaitDelay(400); //wait here because 'loading' menu is not correct
if (!CharConfig.IsRushing) WaitDelay(250); //wait here because 'loading' menu is not correct
if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher();
Town_0.GetCorpse();
ItemsStruc_0.GetBadItemsOnCursor();
@ -938,13 +979,14 @@ namespace app
{
//MobsStruc_0.GetMobs("", "", true, 200, new List<long>());
//MercStruc_0.GetMercInfos();
//PlayerScan_0.ScanForLeecher();
//Battle_0.SetSkills();
//Battle_0.CastSkills();
//ItemsStruc_0.GetItems(true);
//if (Running) LoopTimer.Start();
//ItemsStruc_0.GetItems(false);
//InventoryStruc_0.DumpBadItemsOnGround();
//ItemsStruc_0.GetItems(true);
//Running = false;
//if (!Running) SetStartButtonEnable(true);
//if (Running) LoopTimer.Start();
//return;
if (CharConfig.RunMapHackOnly)
@ -965,7 +1007,7 @@ namespace app
}
else
{
Town_0.FastTowning = false;
//Town_0.FastTowning = false;
Town_0.UseLastTP = false;
Town_0.TPSpawned = false;
@ -1350,7 +1392,7 @@ namespace app
SetProcessingTime();
if (Running) LoopTimer.Start();
//if (!Running) SetStartButtonEnable(true);
if (!Running) SetStartButtonEnable(true);
}
public void GoToNextScript()
@ -1470,6 +1512,8 @@ namespace app
long TimeMS = testtime.Milliseconds + (testtime.Seconds * 1000);
FPS = 1000.0 / (double)TimeMS;
SetAverageFPSandMS(testtime.Milliseconds);
overlayForm.SetAllOverlay();
mS = TimeStr;
@ -1492,6 +1536,25 @@ namespace app
Grid_SetInfos("InBelt", ItemsStruc_0.ItemsInBelt.ToString());
}
public void SetAverageFPSandMS(int ThisMSValue)
{
//Get averag FPS
if (Averge_FPSList.Count >= 50) Averge_FPSList.RemoveAt(0);
Averge_FPSList.Add(FPS);
double FullValue = 0.0;
for (int i = 0; i < Averge_FPSList.Count; i++) FullValue += Averge_FPSList[i];
Average_FPS = FullValue / Averge_FPSList.Count;
//Get averag mS
if (Averge_mSList.Count >= 50) Averge_mSList.RemoveAt(0);
Averge_mSList.Add(ThisMSValue);
int FullMSValue = 0;
for (int i = 0; i < Averge_mSList.Count; i++) FullMSValue += Averge_mSList[i];
Average_mS = FullMSValue / Averge_mSList.Count;
}
public string CurrentGameTime = "";
public void method_GameTimeLabel(string string_3)
@ -1606,14 +1669,13 @@ namespace app
//MapAreaStruc_0.AllMapData.Clear();
overlayForm.ClearAllOverlay();
SetGameStatus("STOPPED");
//SetStartButtonEnable(false);
}
public void button1_Click(object sender, EventArgs e)
{
if (!Running && button1.Enabled)
{
SetStartButtonEnable(false);
SetSettingButton(false);
SetPlayButtonText("STOP");
Running = true;

View File

@ -84,13 +84,18 @@
this.numericUpDownMercTakeHPUnder = new System.Windows.Forms.NumericUpDown();
this.label22 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.button1 = new System.Windows.Forms.Button();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.checkBoxGamble = new System.Windows.Forms.CheckBox();
this.checkBoxDClone = new System.Windows.Forms.CheckBox();
this.checkBoxIDAtShop = new System.Windows.Forms.CheckBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.label23 = new System.Windows.Forms.Label();
this.checkBoxGamble = new System.Windows.Forms.CheckBox();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.panelHelpKeys = new System.Windows.Forms.Panel();
this.buttonReload = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
@ -105,6 +110,7 @@
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMercTakeHPUnder)).BeginInit();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.panelHelpKeys.SuspendLayout();
this.SuspendLayout();
//
// label1
@ -168,6 +174,7 @@
this.textBoxLifeSkill.Name = "textBoxLifeSkill";
this.textBoxLifeSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxLifeSkill.TabIndex = 16;
this.toolTip1.SetToolTip(this.textBoxLifeSkill, "Paladin=Prayer, Sorceress=Energy Shield");
//
// label8
//
@ -184,6 +191,7 @@
this.textBoxCastDefenseSkill.Name = "textBoxCastDefenseSkill";
this.textBoxCastDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxCastDefenseSkill.TabIndex = 14;
this.toolTip1.SetToolTip(this.textBoxCastDefenseSkill, "Paladin=Sacred Shield, Sorceress=Frozen Armor");
//
// label7
//
@ -200,6 +208,7 @@
this.textBoxDefenseSkill.Name = "textBoxDefenseSkill";
this.textBoxDefenseSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxDefenseSkill.TabIndex = 12;
this.toolTip1.SetToolTip(this.textBoxDefenseSkill, "Paladin=Defiance, Sorceress=Teleport");
//
// label6
//
@ -216,6 +225,7 @@
this.textBoxFastMoveTeleport.Name = "textBoxFastMoveTeleport";
this.textBoxFastMoveTeleport.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTeleport.TabIndex = 10;
this.toolTip1.SetToolTip(this.textBoxFastMoveTeleport, "Teleport if have Teleport else Vigor else Nothing->F9");
//
// label5
//
@ -232,6 +242,7 @@
this.textBoxFastMoveTown.Name = "textBoxFastMoveTown";
this.textBoxFastMoveTown.Size = new System.Drawing.Size(37, 20);
this.textBoxFastMoveTown.TabIndex = 8;
this.toolTip1.SetToolTip(this.textBoxFastMoveTown, "Paladin=Vigor, Sorceress=Nothing->F9");
//
// label4
//
@ -248,6 +259,7 @@
this.textBoxRightSkill.Name = "textBoxRightSkill";
this.textBoxRightSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxRightSkill.TabIndex = 6;
this.toolTip1.SetToolTip(this.textBoxRightSkill, "Paladin=Concentration, Sorceress=Blizzard");
//
// label3
//
@ -264,6 +276,7 @@
this.textBoxLeftSkill.Name = "textBoxLeftSkill";
this.textBoxLeftSkill.Size = new System.Drawing.Size(37, 20);
this.textBoxLeftSkill.TabIndex = 4;
this.toolTip1.SetToolTip(this.textBoxLeftSkill, "Paladin=Hammer, Sorceress=Static");
//
// label2
//
@ -417,6 +430,7 @@
//
// groupBox3
//
this.groupBox3.Controls.Add(this.linkLabel1);
this.groupBox3.Controls.Add(this.numericUpDownKeyYPos);
this.groupBox3.Controls.Add(this.numericUpDownKeyXPos);
this.groupBox3.Controls.Add(this.label21);
@ -443,9 +457,9 @@
//
// numericUpDownKeyYPos
//
this.numericUpDownKeyYPos.Location = new System.Drawing.Point(216, 167);
this.numericUpDownKeyYPos.Location = new System.Drawing.Point(207, 167);
this.numericUpDownKeyYPos.Name = "numericUpDownKeyYPos";
this.numericUpDownKeyYPos.Size = new System.Drawing.Size(41, 20);
this.numericUpDownKeyYPos.Size = new System.Drawing.Size(32, 20);
this.numericUpDownKeyYPos.TabIndex = 34;
this.toolTip1.SetToolTip(this.numericUpDownKeyYPos, "This is the Y location of the Key inside your inventory (which row, starting from" +
" 0)");
@ -454,7 +468,7 @@
//
this.numericUpDownKeyXPos.Location = new System.Drawing.Point(174, 167);
this.numericUpDownKeyXPos.Name = "numericUpDownKeyXPos";
this.numericUpDownKeyXPos.Size = new System.Drawing.Size(41, 20);
this.numericUpDownKeyXPos.Size = new System.Drawing.Size(32, 20);
this.numericUpDownKeyXPos.TabIndex = 33;
this.toolTip1.SetToolTip(this.numericUpDownKeyXPos, "This is the X location of the Key inside your inventory (which column, starting f" +
"rom 0)");
@ -654,18 +668,6 @@
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Merc Parameters";
//
// button1
//
this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button1.ForeColor = System.Drawing.Color.Red;
this.button1.Location = new System.Drawing.Point(364, 7);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 38;
this.button1.Text = "Save";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// groupBox5
//
this.groupBox5.Controls.Add(this.checkBoxGamble);
@ -681,6 +683,18 @@
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Extras";
//
// checkBoxGamble
//
this.checkBoxGamble.AutoSize = true;
this.checkBoxGamble.Location = new System.Drawing.Point(6, 99);
this.checkBoxGamble.Name = "checkBoxGamble";
this.checkBoxGamble.Size = new System.Drawing.Size(87, 17);
this.checkBoxGamble.TabIndex = 39;
this.checkBoxGamble.Text = "Gamble Gold";
this.toolTip1.SetToolTip(this.checkBoxGamble, "Enable this if you want to Gamble your Gold at Anya for Rings and Amulets");
this.checkBoxGamble.UseVisualStyleBackColor = true;
this.checkBoxGamble.CheckedChanged += new System.EventHandler(this.checkBoxGamble_CheckedChanged);
//
// checkBoxDClone
//
this.checkBoxDClone.AutoSize = true;
@ -714,17 +728,69 @@
this.label23.TabIndex = 39;
this.label23.Text = "Put theses dummy items inside the shared stash";
//
// checkBoxGamble
// openFileDialog1
//
this.checkBoxGamble.AutoSize = true;
this.checkBoxGamble.Location = new System.Drawing.Point(6, 99);
this.checkBoxGamble.Name = "checkBoxGamble";
this.checkBoxGamble.Size = new System.Drawing.Size(87, 17);
this.checkBoxGamble.TabIndex = 39;
this.checkBoxGamble.Text = "Gamble Gold";
this.toolTip1.SetToolTip(this.checkBoxGamble, "Enable this if you want to Gamble your Gold at Anya for Rings and Amulets");
this.checkBoxGamble.UseVisualStyleBackColor = true;
this.checkBoxGamble.CheckedChanged += new System.EventHandler(this.checkBoxGamble_CheckedChanged);
this.openFileDialog1.DefaultExt = "*.txt";
this.openFileDialog1.Filter = "\'Char\' Settings|*.txt";
this.openFileDialog1.Title = "Open \'PaladinHammer.txt\' or \'SorceressBlizzard.txt\'";
//
// linkLabel1
//
this.linkLabel1.AutoSize = true;
this.linkLabel1.Location = new System.Drawing.Point(243, 170);
this.linkLabel1.Name = "linkLabel1";
this.linkLabel1.Size = new System.Drawing.Size(13, 13);
this.linkLabel1.TabIndex = 35;
this.linkLabel1.TabStop = true;
this.linkLabel1.Text = "?";
this.toolTip1.SetToolTip(this.linkLabel1, "Help for Keys location");
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel1_LinkClicked);
//
// panelHelpKeys
//
this.panelHelpKeys.BackgroundImage = global::app.Properties.Resources.BMBot10;
this.panelHelpKeys.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.panelHelpKeys.Controls.Add(this.button2);
this.panelHelpKeys.Location = new System.Drawing.Point(4, 248);
this.panelHelpKeys.Name = "panelHelpKeys";
this.panelHelpKeys.Size = new System.Drawing.Size(441, 190);
this.panelHelpKeys.TabIndex = 41;
//
// buttonReload
//
this.buttonReload.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonReload.ForeColor = System.Drawing.SystemColors.ControlText;
this.buttonReload.Image = global::app.Properties.Resources.Load;
this.buttonReload.Location = new System.Drawing.Point(5, 6);
this.buttonReload.Name = "buttonReload";
this.buttonReload.Size = new System.Drawing.Size(31, 25);
this.buttonReload.TabIndex = 40;
this.toolTip1.SetToolTip(this.buttonReload, "Load from a previous Settings File");
this.buttonReload.UseVisualStyleBackColor = true;
this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click);
//
// button1
//
this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button1.ForeColor = System.Drawing.SystemColors.ControlText;
this.button1.Image = global::app.Properties.Resources.Save;
this.button1.Location = new System.Drawing.Point(364, 6);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 25);
this.button1.TabIndex = 38;
this.toolTip1.SetToolTip(this.button1, "Save current Settings");
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.Image = global::app.Properties.Resources.Delete;
this.button2.Location = new System.Drawing.Point(416, 0);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(25, 25);
this.button2.TabIndex = 0;
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// FormCharSettings
//
@ -732,6 +798,8 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(452, 487);
this.Controls.Add(this.panelHelpKeys);
this.Controls.Add(this.buttonReload);
this.Controls.Add(this.label23);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.button1);
@ -768,6 +836,7 @@
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.panelHelpKeys.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
@ -836,5 +905,10 @@
private System.Windows.Forms.CheckBox checkBoxDClone;
private System.Windows.Forms.CheckBox checkBoxGamble;
private System.Windows.Forms.Label label23;
private System.Windows.Forms.Button buttonReload;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Panel panelHelpKeys;
private System.Windows.Forms.Button button2;
}
}

View File

@ -203,5 +203,26 @@ namespace app
numericUpDownGambleUntil.Enabled = true;
}
}
private void buttonReload_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Form1_0.SettingsLoader_0.ReloadCharSettingsFromThisFile(openFileDialog1.FileName);
LoadSettings();
Application.DoEvents();
}
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
panelHelpKeys.Visible = true;
}
private void button2_Click(object sender, EventArgs e)
{
panelHelpKeys.Visible = false;
}
}
}

View File

@ -120,6 +120,9 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>111, 16</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

38
FormItems.Designer.cs generated
View File

@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Windows.Forms.ListViewGroup listViewGroup1 = new System.Windows.Forms.ListViewGroup("By Name", System.Windows.Forms.HorizontalAlignment.Left);
System.Windows.Forms.ListViewGroup listViewGroup2 = new System.Windows.Forms.ListViewGroup("By Type", System.Windows.Forms.HorizontalAlignment.Left);
System.Windows.Forms.ListViewGroup listViewGroup3 = new System.Windows.Forms.ListViewGroup("By Name", System.Windows.Forms.HorizontalAlignment.Left);
@ -136,6 +137,9 @@
this.button3 = new System.Windows.Forms.Button();
this.buttonCreateNewItem = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.button4 = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage2.SuspendLayout();
@ -1050,13 +1054,14 @@
//
// button3
//
this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button3.ForeColor = System.Drawing.Color.Red;
this.button3.Location = new System.Drawing.Point(897, 4);
this.button3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button3.ForeColor = System.Drawing.SystemColors.ControlText;
this.button3.Image = global::app.Properties.Resources.Save;
this.button3.Location = new System.Drawing.Point(897, 2);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(63, 23);
this.button3.Size = new System.Drawing.Size(63, 25);
this.button3.TabIndex = 16;
this.button3.Text = "Save";
this.toolTip1.SetToolTip(this.button3, "Save current Settings");
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
@ -1085,12 +1090,32 @@
this.button1.Visible = false;
this.button1.Click += new System.EventHandler(this.button1_Click_1);
//
// button4
//
this.button4.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button4.ForeColor = System.Drawing.SystemColors.ControlText;
this.button4.Image = global::app.Properties.Resources.Load;
this.button4.Location = new System.Drawing.Point(857, 2);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(34, 25);
this.button4.TabIndex = 19;
this.toolTip1.SetToolTip(this.button4, "Load from a previous Settings File");
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "*.txt";
this.openFileDialog1.Filter = "Items Settings|*.txt";
this.openFileDialog1.Title = "Open \'ItemsSettings.txt\'";
//
// FormItems
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(970, 375);
this.Controls.Add(this.button4);
this.Controls.Add(this.button1);
this.Controls.Add(this.panel_NewItem);
this.Controls.Add(this.buttonCreateNewItem);
@ -1222,5 +1247,8 @@
private System.Windows.Forms.ColumnHeader columnHeader37;
private System.Windows.Forms.ColumnHeader columnHeader38;
private System.Windows.Forms.ColumnHeader columnHeader39;
private System.Windows.Forms.ToolTip toolTip1;
private System.Windows.Forms.Button button4;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
}
}

View File

@ -712,9 +712,15 @@ namespace app
}
}
private void listViewUnique_SelectedIndexChanged(object sender, EventArgs e)
private void button4_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Form1_0.SettingsLoader_0.LoadThisFileSettings(openFileDialog1.FileName);
LoadSettings();
Application.DoEvents();
}
}
}
}

View File

@ -117,6 +117,12 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>110, 15</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@ -103,6 +103,7 @@
this.numericUpDownBaalMobCount = new System.Windows.Forms.NumericUpDown();
this.buttonBaalAddMob = new System.Windows.Forms.Button();
this.buttonBaalClearMob = new System.Windows.Forms.Button();
this.label13 = new System.Windows.Forms.Label();
this.panelBaalFeature = new System.Windows.Forms.Panel();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.listViewBaalLeaveOnMobs = new System.Windows.Forms.ListView();
@ -113,7 +114,8 @@
this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.buttonReload = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownRunNumber)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxTime)).BeginInit();
@ -486,13 +488,14 @@
//
// button2
//
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button2.ForeColor = System.Drawing.Color.Red;
this.button2.Location = new System.Drawing.Point(79, 6);
this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button2.ForeColor = System.Drawing.SystemColors.ControlText;
this.button2.Image = global::app.Properties.Resources.Save;
this.button2.Location = new System.Drawing.Point(189, 6);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(89, 29);
this.button2.Size = new System.Drawing.Size(48, 29);
this.button2.TabIndex = 13;
this.button2.Text = "SAVE";
this.toolTip1.SetToolTip(this.button2, "Save current Settings");
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
@ -597,6 +600,18 @@
this.buttonBaalClearMob.UseVisualStyleBackColor = true;
this.buttonBaalClearMob.Click += new System.EventHandler(this.buttonBaalClearMob_Click);
//
// label13
//
this.label13.AutoSize = true;
this.label13.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label13.ForeColor = System.Drawing.Color.Red;
this.label13.Location = new System.Drawing.Point(206, 128);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(14, 20);
this.label13.TabIndex = 16;
this.label13.Text = "!";
this.toolTip1.SetToolTip(this.label13, "Double Clic on a Run script to edit it\'s features (if there is any)");
//
// panelBaalFeature
//
this.panelBaalFeature.Controls.Add(this.groupBox2);
@ -702,17 +717,24 @@
this.label7.TabIndex = 0;
this.label7.Text = "Baal Run Features";
//
// label13
// buttonReload
//
this.label13.AutoSize = true;
this.label13.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label13.ForeColor = System.Drawing.Color.Red;
this.label13.Location = new System.Drawing.Point(206, 128);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(14, 20);
this.label13.TabIndex = 16;
this.label13.Text = "!";
this.toolTip1.SetToolTip(this.label13, "Double Clic on a Run script to edit it\'s features (if there is any)");
this.buttonReload.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.buttonReload.ForeColor = System.Drawing.SystemColors.ControlText;
this.buttonReload.Image = global::app.Properties.Resources.Load;
this.buttonReload.Location = new System.Drawing.Point(12, 6);
this.buttonReload.Name = "buttonReload";
this.buttonReload.Size = new System.Drawing.Size(34, 29);
this.buttonReload.TabIndex = 17;
this.toolTip1.SetToolTip(this.buttonReload, "Load from a previous Settings File");
this.buttonReload.UseVisualStyleBackColor = true;
this.buttonReload.Click += new System.EventHandler(this.buttonReload_Click);
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "*.txt";
this.openFileDialog1.Filter = "BotSettings|*.txt";
this.openFileDialog1.Title = "Open \'BotSettings.txt\'";
//
// FormSettings
//
@ -720,6 +742,7 @@
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(251, 656);
this.Controls.Add(this.buttonReload);
this.Controls.Add(this.label13);
this.Controls.Add(this.panelBaalFeature);
this.Controls.Add(this.label1);
@ -812,5 +835,7 @@
private System.Windows.Forms.ColumnHeader columnHeader1;
private System.Windows.Forms.ColumnHeader columnHeader4;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Button buttonReload;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
}
}

View File

@ -302,5 +302,16 @@ namespace app
{
listViewBaalLeaveOnMobs.Items.Clear();
}
private void buttonReload_Click(object sender, EventArgs e)
{
DialogResult result = openFileDialog1.ShowDialog();
if (result == DialogResult.OK)
{
Form1_0.SettingsLoader_0.LoadThisFileSettings(openFileDialog1.FileName);
LoadSettings();
Application.DoEvents();
}
}
}
}

View File

@ -120,6 +120,9 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>114, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>

View File

@ -7,6 +7,7 @@ using System.Drawing.Drawing2D;
using System.Drawing.Text;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
@ -35,6 +36,9 @@ namespace app
public List<System.Drawing.Point> GoodChestsPoints = new List<System.Drawing.Point>();
public List<System.Drawing.Point> WPPoints = new List<System.Drawing.Point>();
public List<System.Drawing.Point> ExitPoints = new List<System.Drawing.Point>();
public List<int> ExitIDs = new List<int>();
public Point ExitPointDuriel = new Point();
public Point ExitPointSummoner = new Point();
public System.Drawing.Point MoveToPoint = new System.Drawing.Point(0, 0);
public List<System.Drawing.Point> MobsPoints = new List<System.Drawing.Point>();
@ -48,6 +52,9 @@ namespace app
Font drawFontBold10 = new Font("Arial", 12, FontStyle.Bold);
SolidBrush drawBrushYellow = new SolidBrush(Color.FromArgb(255, 255, 255, 0));
SolidBrush drawBrushOrange = new SolidBrush(Color.FromArgb(255, 255, 95, 0));
SolidBrush drawBrushPurple = new SolidBrush(Color.FromArgb(255, 172, 19, 224));
SolidBrush drawBrushCyan = new SolidBrush(Color.FromArgb(255, 0, 255, 255));
SolidBrush drawBrushWhite = new SolidBrush(Color.FromArgb(150, 255, 255, 255));
SolidBrush drawBrushRed = new SolidBrush(Color.LightPink);
SolidBrush drawBrushBlue = new SolidBrush(Color.LightBlue);
@ -187,11 +194,34 @@ namespace app
public void SetAllExitNearby()
{
ExitPoints = new List<System.Drawing.Point>();
ExitIDs = new List<int>();
List<Position> AllPos = Form1_0.MapAreaStruc_0.GetPositionOfAllObject("exit", "", (int)Form1_0.PlayerScan_0.levelNo, new List<int>(), true);
foreach (var objectPos in AllPos)
for (int i = 0; i < AllPos.Count; i++)
{
ExitPoints.Add(new System.Drawing.Point(objectPos.X, objectPos.Y));
ExitPoints.Add(new System.Drawing.Point(AllPos[i].X, AllPos[i].Y));
ExitIDs.Add(Form1_0.MapAreaStruc_0.AllExitsIDs[i]);
}
//Set duriel tomb exit
Position OrificePos = Form1_0.MapAreaStruc_0.GetAreaOfObject("object", "HoradricOrifice", new List<int>(), 65, 72);
if (OrificePos.X != 0 && OrificePos.Y != 0)
{
//"id":71, "type":"exit", "x":214, "y":25, "isGoodExit":true}
//Form1_0.method_1("Moving to: " + ((Enums.Area)(Form1_0.MapAreaStruc_0.CurrentObjectAreaIndex + 1)), Color.Red);
Position ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("exit", Form1_0.Town_0.getAreaName((int)Form1_0.MapAreaStruc_0.CurrentObjectAreaIndex + 1), (int)Form1_0.PlayerScan_0.levelNo, new List<int>() { });
ExitPointDuriel.X = ThisFinalPosition.X;
ExitPointDuriel.Y = ThisFinalPosition.Y;
}
//Set Summoner Pos
Position ThisFinalPositionArcane = Form1_0.MapAreaStruc_0.GetPositionOfObject("npc", "Summoner", (int) Enums.Area.ArcaneSanctuary, new List<int>() { });
ExitPointSummoner.X = ThisFinalPositionArcane.X;
ExitPointSummoner.Y = ThisFinalPositionArcane.Y;
if (ExitPointSummoner.X != 0 && ExitPointSummoner.Y != 0)
{
ExitPoints.Add(new System.Drawing.Point(ThisFinalPositionArcane.X, ThisFinalPositionArcane.Y));
ExitIDs.Add((int)Enums.Area.CanyonOfTheMagi);
}
}
@ -339,7 +369,7 @@ namespace app
string CordsTxt = Form1_0.PlayerScan_0.xPosFinal.ToString() + ", " + Form1_0.PlayerScan_0.yPosFinal.ToString();
ThisS2 = e.Graphics.MeasureString(CordsTxt, drawFontBold);
//DrawString(e, CordsTxt, drawFontBold, drawBrushWhite, Form1_0.CenterX - (ThisS2.Width / 2), 960);
DrawString(e, CordsTxt, drawFontBold, drawBrushWhite, 1000, 960, true);
DrawString(e, CordsTxt, drawFontBold, drawBrushWhite, 990, 960, true);
//Print Infos
DrawString(e, "Mobs:" + MobsPoints.Count, drawFontBold, drawBrushWhite, 790, 960, true);
@ -389,8 +419,15 @@ namespace app
DrawString(e, "Status: " + Form1_0.CurrentStatus, drawFontBold, drawBrushWhite, 560, 935, true);
ThisS2 = e.Graphics.MeasureString(Form1_0.CurrentGameTime, drawFontBold);
//DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, Form1_0.CenterX, 935, true);
DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, 1000, 935, true);
DrawString(e, Form1_0.mS + ", " + Form1_0.FPS.ToString("00") + "Fps", drawFontBold, drawBrushYellow, 1060, 910, true);
DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, 990, 935, true);
//Print mS Delay
string ThisMSStr = "~" + Form1_0.Average_mS + "(" + Form1_0.mS + ")";
DrawString(e, ThisMSStr, drawFontBold, drawBrushYellow, 1090, 910, true);
//Print FPS Delay
string ThisFPSStr = "~" + Form1_0.Average_FPS.ToString("00") + "Fps(" + Form1_0.FPS.ToString("00") + ")";
DrawString(e, ThisFPSStr, drawFontBold, drawBrushYellow, 1090, 935, true);
string OtherInfosTxt = Form1_0.TotalChickenCount + " ChickensByHP, " + Form1_0.TotalChickenByTimeCount + " ChickensByTime";
ThisS2 = e.Graphics.MeasureString(OtherInfosTxt, drawFontBold);
@ -401,23 +438,22 @@ namespace app
DrawString(e, OtherInfosTxt2, drawFontBold, drawBrushWhite, 1360 - (ThisS2.Width * ScaleScreenSizeInverted), 910, true);
//Print Merc
if (CharConfig.UsingMerc)
{
string ThisMercTxt = "Merc not alive";
if (Form1_0.MercStruc_0.MercAlive)
{
int PercentMerc = (int)((Form1_0.MercStruc_0.MercHP * 100.0) / Form1_0.MercStruc_0.MercMaxHP);
ThisMercTxt = "Merc:" + Form1_0.MercStruc_0.MercHP.ToString() + "/" + Form1_0.MercStruc_0.MercMaxHP.ToString() + " (" + PercentMerc + "%)";
}
ThisS2 = e.Graphics.MeasureString(ThisMercTxt, drawFontBold);
DrawString(e, ThisMercTxt, drawFontBold, drawBrushGreen, 1360 - (ThisS2.Width * ScaleScreenSizeInverted), 860, true);
}
//Print Units Scanned Count
if (Form1_0.DebugMenuStyle > 0)
{
if (CharConfig.UsingMerc)
{
string ThisMercTxt = "Merc not alive";
if (Form1_0.MercStruc_0.MercAlive)
{
int PercentMerc = (int)((Form1_0.MercStruc_0.MercHP * 100.0) / Form1_0.MercStruc_0.MercMaxHP);
ThisMercTxt = "Merc:" + Form1_0.MercStruc_0.MercHP.ToString() + "/" + Form1_0.MercStruc_0.MercMaxHP.ToString() + " (" + PercentMerc + "%)";
}
ThisS2 = e.Graphics.MeasureString(ThisMercTxt, drawFontBold);
DrawString(e, ThisMercTxt, drawFontBold, drawBrushGreen, 1360 - (ThisS2.Width * ScaleScreenSizeInverted), 860, true);
}
//if (Form1_0.DebugMenuStyle > 0)
//{
//Print Units Scanned Count
string UnitsStr = "Units:" + Form1_0.PatternsScan_0.GetUnitsScannedCount().ToString();
DrawString(e, UnitsStr, drawFontBold, drawBrushGreen, 560, 885, true);
}
@ -493,6 +529,13 @@ namespace app
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y);
StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, greenPen, false);
if (CharConfig.RunMapHackOnly)
{
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint);
DrawLine(e, greenPen, StartPoint, PlayerPoint, false);
}
}
for (int i = 0; i < WPPoints.Count; i++)
@ -501,6 +544,24 @@ namespace app
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y);
StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, bluePen, false);
if (CharConfig.RunMapHackOnly)
{
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint);
DrawLine(e, bluePen, StartPoint, PlayerPoint, false);
}
}
if (CharConfig.RunMapHackOnly)
{
FillRectangle(e, drawBrushDark, 1398, 5, 270, 119, true);
DrawString(e, "Green: Good Chest", drawFontBold10, drawBrushGreen, 1400, 5, true);
DrawString(e, "Blue: Waypoint", drawFontBold10, drawBrushBlue, 1400, 25, true);
DrawString(e, "Red: Next Area Exit", drawFontBold10, drawBrushRed, 1400, 45, true);
DrawString(e, "Yellow: Next Area Exit (Special)", drawFontBold10, drawBrushOrange, 1400, 65, true);
DrawString(e, "Purple: Previous Area Exit", drawFontBold10, drawBrushPurple, 1400, 85, true);
DrawString(e, "Cyan: Previous Area Exit (Special)", drawFontBold10, drawBrushCyan, 1400, 105, true);
}
for (int i = 0; i < ExitPoints.Count; i++)
@ -509,6 +570,58 @@ namespace app
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y);
StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, cyanPen, false);
if (CharConfig.RunMapHackOnly)
{
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint);
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CanyonOfTheMagi
&& ExitPointDuriel.X != 0 && ExitPointDuriel.Y != 0
&& ExitPoints[i].X == ExitPointDuriel.X && ExitPoints[i].Y == ExitPointDuriel.Y)
{
DrawLine(e, redPen, StartPoint, PlayerPoint, false);
}
else if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.ArcaneSanctuary
&& ExitPointSummoner.X != 0 && ExitPointSummoner.Y != 0
&& ExitPoints[i].X == ExitPointSummoner.X && ExitPoints[i].Y == ExitPointSummoner.Y)
{
DrawLine(e, redPen, StartPoint, PlayerPoint, false);
}
else
{
if ((Enums.Area)Form1_0.PlayerScan_0.levelNo == Enums.Area.CanyonOfTheMagi)
{
DrawLine(e, yellowPen, StartPoint, PlayerPoint, false);
}
else
{
if (ExitIDs[i] > Form1_0.PlayerScan_0.levelNo)
{
if (ExitIDs[i] == Form1_0.PlayerScan_0.levelNo + 1)
{
DrawLine(e, redPen, StartPoint, PlayerPoint, false);
}
else
{
DrawLine(e, yellowPen, StartPoint, PlayerPoint, false);
}
}
else
{
if (ExitIDs[i] == Form1_0.PlayerScan_0.levelNo - 1)
{
DrawLine(e, purplePen, StartPoint, PlayerPoint, false);
}
else
{
DrawLine(e, cyanPen, StartPoint, PlayerPoint, false);
}
}
}
}
}
}
}
}

View File

@ -80,6 +80,16 @@ namespace app.Properties {
}
}
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap BMBot10 {
get {
object obj = ResourceManager.GetObject("BMBot10", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
@ -130,6 +140,16 @@ namespace app.Properties {
}
}
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Load {
get {
object obj = ResourceManager.GetObject("Load", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
@ -150,6 +170,16 @@ namespace app.Properties {
}
}
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Save {
get {
object obj = ResourceManager.GetObject("Save", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Recherche une ressource localisée de type System.Drawing.Bitmap.
/// </summary>

View File

@ -118,40 +118,49 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="Equipment" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Equipment.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Yellow pin" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Yellow pin.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Wrench" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Wrench.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Boss" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Boss.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Person" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Person.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Error" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Male" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Male.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Application" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Application.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Load" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Load.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Download" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Download.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="Person" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Person.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Equipment" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Equipment.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Wrench" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Wrench.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Save" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Save.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Delete" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Delete.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Blue tag" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Blue tag.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Error" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Update" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Update.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Download" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Download.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Boss" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Boss.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Application" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Application.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="BMBot10" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\BMBot10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

BIN
Resources/BMBot10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

BIN
Resources/Load.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 815 B

BIN
Resources/Save.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 823 B

View File

@ -406,6 +406,7 @@ namespace app
TriedToMoveToMobsCount = 0;
}
}
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
}
//Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveAcceptOffset = 4;
@ -457,6 +458,7 @@ namespace app
TriedToMoveToMobsCount = 0;
}
}
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
}
//Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveAcceptOffset = 4;
@ -505,6 +507,7 @@ namespace app
TriedToMoveToMobsCount = 0;
}
}
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
}
//Form1_0.Mover_0.MoveToLocationAttack(Form1_0.MobsStruc_0.xPosFinal - 1, Form1_0.MobsStruc_0.yPosFinal + 2);
Form1_0.Mover_0.MoveAcceptOffset = 4;

View File

@ -180,6 +180,7 @@ namespace app
//loop thru all recipes
for (int i = 0; i < CubingRecipes.Count; i++)
{
if (CubingRecipes[i] == "") continue;
if (!CubingRecipesEnabled[i]) continue;
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame())

View File

@ -196,8 +196,8 @@ namespace app
MouseMoveTo(ThX, ThY);
PressKeyHold(Keys.LShiftKey);
PostMessage((int)Form1_0.hWnd, WM_RBUTTONDOWN, 0x00000001, (IntPtr)0);
PostMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, (IntPtr)0);
SendMessage((int)Form1_0.hWnd, WM_RBUTTONDOWN, 0x00000001, (IntPtr)0);
SendMessage((int)Form1_0.hWnd, WM_RBUTTONUP, 0x00000000, (IntPtr)0);
ReleaseKey(Keys.LShiftKey);
}

View File

@ -41,6 +41,8 @@ namespace app
//This will move to a direct location -> no pathfinding
public bool MoveToLocation(int ThisX, int ThisY, bool AllowPickingItem = false, bool AllowMoveSideWay = true)
{
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
Form1_0.UIScan_0.readUI();
if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu) Form1_0.UIScan_0.CloseAllUIMenu();
if (Form1_0.UIScan_0.quitMenu) Form1_0.UIScan_0.CloseUIMenu("quitMenu");
@ -92,6 +94,8 @@ namespace app
}
while (true)
{
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
if (Form1_0.Town_0.GetInTown())
{
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillfastMoveAtTown);
@ -126,6 +130,7 @@ namespace app
TimeSpan ThisTimeCheck = DateTime.Now - LastTimeSinceTeleport;
while (Form1_0.PlayerScan_0.xPosFinal == LastX && Form1_0.PlayerScan_0.yPosFinal == LastY && ThisTimeCheck.TotalMilliseconds < 200)
{
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
Application.DoEvents();
Form1_0.PlayerScan_0.GetPositions();
Form1_0.overlayForm.UpdateOverlay();
@ -133,6 +138,7 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(false);
ThisTimeCheck = DateTime.Now - LastTimeSinceTeleport;
}
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
}
else
{
@ -147,7 +153,6 @@ namespace app
Form1_0.Potions_0.CheckIfWeUsePotion();
itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, ThisX, ThisY);
Application.DoEvents();
//######
@ -168,6 +173,7 @@ namespace app
if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1
|| Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1)
{
Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags
Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;
@ -247,6 +253,7 @@ namespace app
LastX = Form1_0.PlayerScan_0.xPosFinal;
LastY = Form1_0.PlayerScan_0.yPosFinal;
}
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
bool MovedCorrectly = false;
if (IsPositionNearOf(ThisX, ThisY, MoveAcceptOffset)) MovedCorrectly = true;
@ -265,6 +272,8 @@ namespace app
//This will FAST move to a direct location -> no pathfinding (used for attacking mobs)
public bool MoveToLocationAttack(int ThisX, int ThisY)
{
if (!Form1_0.Running || !Form1_0.GameStruc_0.IsInGame()) return false;
Form1_0.UIScan_0.readUI();
if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu) Form1_0.UIScan_0.CloseAllUIMenu();
@ -338,6 +347,7 @@ namespace app
if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1
|| Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1)
{
Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags
Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false;

View File

@ -474,6 +474,15 @@ namespace app
//Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.WaitDelay(20);
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
//Buy keys again to fill inventory
/*if (StartQty == 0)
{
Form1_0.KeyMouse_0.SendSHIFT_RIGHTCLICK(itemScreenPos["x"], itemScreenPos["y"]);
//Form1_0.KeyMouse_0.MouseCliccRight(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.WaitDelay(20);
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
}*/
}
if (Form1_0.InventoryStruc_0.HUDItems_keys == StartQty)

View File

@ -287,8 +287,9 @@ Perfect Diamond
//#######################################
//##### Helms
[Name] == GrimHelm && [Quality] == unique && [Flag] != ethereal // Vampire Gaze
[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest
[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
//[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest
//[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
[Name] == Shako && [Quality] == unique // Harlequin Crest
[Name] == Demonhead && [Quality] == unique // Andariel's Visage
[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal
[Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull
@ -428,33 +429,33 @@ Perfect Diamond
[Name] == Diadem && [Quality] == unique && [Defense] >= 160 && [PassiveMagicMastery]+[PassiveMagicPierce] >= 25 // Griffon's Eye
//##### Rings
[Type] == ring && [Quality] == unique && [MagicFind] == 30 // Nagelring
//[Type] == ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal
[Type] == ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan
[Type] == ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star
[Type] == ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost
[Type] == ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band
[Type] == ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind
[Type] == ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace
[Type] == ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector
[Type] == Ring && [Quality] == unique && [MagicFind] == 30 // Nagelring
//[Type] == Ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal
[Type] == Ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan
[Type] == Ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star
[Type] == Ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost
[Type] == Ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band
[Type] == Ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind
[Type] == Ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace
[Type] == Ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector
//##### Amulets
[Type] == amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance
[Type] == amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye
[Type] == amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon
[Type] == amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab
[Type] == amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun
//[Type] == amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath
[Type] == amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope
//[Type] == amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn
[Type] == amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid
[Type] == Amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance
[Type] == Amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye
[Type] == Amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon
[Type] == Amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab
[Type] == Amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun
//[Type] == Amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath
[Type] == Amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope
//[Type] == Amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn
[Type] == Amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid
//##### Jewels
[Type] == jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet
[Type] == Jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet
//##### Small Charms
[Name] == SmallCharm && [Quality] == unique // Annihilus
@ -494,11 +495,11 @@ Perfect Diamond
//##### Angelic Raiment
//[Name] == RingMail && [Quality] == set // Angelic Mantle
//[Name] == Sabre && [Quality] == set // Angelic Sickle
//[Type] == ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo
//[Type] == amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings
//[Type] == Ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo
//[Type] == Amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings
//##### Arcanna's Tricks
//[Type] == amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign
//[Type] == Amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign
//[Name] == SkullCap && [Quality] == set // Arcanna's Head
//[Name] == LightPlate && [Quality] == set // Arcanna's Flesh
//[Name] == WarStaff && [Quality] == set // Arcanna's Deathwand
@ -515,14 +516,14 @@ Perfect Diamond
//[Name] == DoubleAxe && [Quality] == set // Berserker's Hatchet
//##### Cathan's Traps
//[Type] == ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal
//[Type] == amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil
//[Type] == Ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal
//[Type] == Amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil
//[Name] == ChainMail && [Quality] == set // Cathan's Mesh
//[Name] == Mask && [Quality] == set // Cathan's Visage
//##### Civerb's Vestment
//[Name] == GrandScepter && [Quality] == set // Civerb's Cudgel
//[Type] == amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon
//[Type] == Amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon
//[Name] == LargeShield && [Quality] == set // Civerb's Ward
//##### Cleglaw's Brace
@ -548,7 +549,7 @@ Perfect Diamond
//##### Iratha's Finery
//[Name] == HeavyBelt && [Quality] == set && [MinDamage] == 5 // Iratha's Cord
//[Name] == Crown && [Quality] == set && [FireResist] == 30 && [LightResist] == 30 // Iratha's Coil
//[Type] == amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar
//[Type] == Amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar
//[Name] == LightGauntlets && [Quality] == set && [ColdResist] == 30 // Iratha's Cuff
//##### Isenhart's Armory
@ -576,10 +577,10 @@ Perfect Diamond
//[Name] == FullPlateMail && [Quality] == set // Tancred's Spine
//[Name] == Boots && [Quality] == set && [StaminaRecoveryBonus] == 25 && [Dexterity] == 10 // Tancred's Hobnails
//[Name] == MilitaryPick && [Quality] == set // Tancred's Crowbill
//[Type] == amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird
//[Type] == Amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird
//##### Vidala's Rig
//[Type] == amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare
//[Type] == Amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare
//[Name] == LongBattleBow && [Quality] == set // Vidala's Barb
//[Name] == LeatherArmor && [Quality] == set // Vidala's Ambush
//[Name] == LightPlatedBoots && [Quality] == set // Vidala's Fetlock
@ -600,7 +601,7 @@ Perfect Diamond
//[Name] == HeavyBoots && [Quality] == set && [Dexterity] == 20 && [MagicFind] == 25 // Cow King's Hooves
//##### The Disciple
//[Type] == amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads
//[Type] == Amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads
//[Name] == BrambleMitts && [Quality] == set // Laying of Hands
//[Name] == DuskShroud && [Quality] == set // Dark Adherent
//[Name] == DemonhideBoots && [Quality] == set // Rite of Passage
@ -671,7 +672,7 @@ Perfect Diamond
[Name] == SwirlingCrystal && [Quality] == set // Tal Rasha's Lidless Eye
[Name] == DeathMask && [Quality] == set // Tal Rasha's Horadric Crest
[Name] == LacqueredPlate && [Quality] == set && [Defense] >= 900 // Tal Rasha's Guardianship
//[Type] == amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation
//[Type] == Amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation
[Name] == MeshBelt && [Quality] == set && [MagicFind] >= 15 // Tal Rasha's Fine-Spun Cloth
//##### Trang-Oul's Avatar
@ -882,60 +883,60 @@ Perfect Diamond
[Type] == circlet && [Quality] == rare && [Flag] != ethereal && [Sockets] >= 2 && [AddClassSkills] >= 2 && [Dexterity] >= 10 && [FasterCastRate] >= 20
//##### Rings
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5
[Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100
[Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100
[Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25
[Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10
[Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5
//##### Amulets
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26
[Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85
[Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10
//##### Jewels
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [MaxDamage] == 20
//[Type] == jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == magic && [MaxDamage] == 20
//[Type] == Jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//##### Small Charms
[Name] == SmallCharm && [Quality] == magic && [MaxDamage] >= 3 && [AttackRating] >= 12 && [LifeMax] >= 12

View File

@ -94,6 +94,7 @@ namespace app
}
Form1_0.SetGameStatus("CREATING GAME");
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
Form1_0.KeyMouse_0.MouseClicc(1190, 990); //clic 'salon' if not in server
Form1_0.KeyMouse_0.MouseClicc(1275, 65); //clic 'create game' if not in game create area
@ -156,6 +157,7 @@ namespace app
Form1_0.KeyMouse_0.MouseClicc(1415, 65); //clic 'join game' if not in game list area
//#####
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
Form1_0.KeyMouse_0.MouseClicc(1205, 210); //clic search bar
//type 'search' type games
for (int i = 0; i < 16; i++)

View File

@ -106,7 +106,6 @@ namespace app
{
//Console.WriteLine("here");
int ThisNewIndex = GetNextFreeSpaceInInventory();
if (ThisNewIndex > -1)
{
//remove item from this slot
@ -127,6 +126,7 @@ namespace app
}
//place all keys together
thisindex = CharConfig.KeysLocationInInventory.Item1 + (CharConfig.KeysLocationInInventory.Item2 * 10);
for (int i = 0; i < 40; i++)
{
if (CharConfig.InventoryDontCheckItem[i] == 0 && InventoryHasItem[i] >= 1 && InventoryItemNames[i] == "Key")
@ -254,6 +254,7 @@ namespace app
Form1_0.ItemsStruc_0.GetItems(false);
//Form1_0.KeyMouse_0.MouseClicc_RealPos(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.Stash_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.Stash_0.PlaceItem(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(10);
}
}
@ -307,6 +308,8 @@ namespace app
{
InventoryHasUnidItem[FullIndex] = 1;
}
//if (Form1_0.ItemsStruc_0.ItemNAAME == "Flawless Amethyst") Console.WriteLine(Form1_0.ItemsStruc_0.ItemNAAME + ", StashItem:" + InventoryHasStashItem[FullIndex] + ", ItemToID:" + InventoryHasItemToID[FullIndex] + ", UnidItem:" + InventoryHasUnidItem[FullIndex]);
}
catch { }
}

View File

@ -403,8 +403,6 @@ namespace app
GetUnitPathData();
GetStatsAddr();
if (IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation)) continue;
//Form1_0.method_1("ItemType: " + BitConverter.ToUInt32(itemdatastruc, 0).ToString() + ", TxtFileNo: " + BitConverter.ToUInt32(itemdatastruc, 4).ToString() + ", Name: " + ItemNAAME + ", Location: " + GetItemLocation(itemdatastruc[0x0C]));
//; itemLoc - 0 in inventory, 1 equipped, 2 in belt, 3 on ground, 4 cursor, 5 dropping, 6 socketed
@ -541,18 +539,19 @@ namespace app
ItemsOnGround++;
//Form1_0.method_1_Items("Ground: " + ItemNAAME, GetColorFromQuality((int)itemQuality));
if (DebuggingItems)
{
//GetAllValuesFromStats();
AllItemsOnGround.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Ground/Droping - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats());
}
if (IsIncludedInList(BadItemsOnGroundPointerList, ItemPointerLocation)) continue;
if (IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation)) continue;
if (!IsPickingItem) continue;
Form1_0.UIScan_0.readUI();
if ((Form1_0.ItemsAlert_0.ShouldPickItem(false) || Form1_0.BeltStruc_0.ItemGrabPotion())
&& (!Form1_0.UIScan_0.leftMenu && !Form1_0.UIScan_0.rightMenu && !Form1_0.UIScan_0.fullMenu)
&& IsPickingItem
&& !IsIncludedInList(BadItemsOnGroundPointerList, ItemPointerLocation))
if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu || Form1_0.UIScan_0.fullMenu) continue;
if ((Form1_0.ItemsAlert_0.ShouldPickItem(false) || Form1_0.BeltStruc_0.ItemGrabPotion()))
{
/*string SavePathh = Form1_0.ThisEndPath + "DumpItempPathStruc";
File.Create(SavePathh).Dispose();
@ -775,7 +774,6 @@ namespace app
}
}
//####
TriesToPickItemCount++;
Form1_0.KeyMouse_0.MouseClicc_RealPos(itemScreenPos.X, itemScreenPos.Y);
@ -873,9 +871,6 @@ namespace app
{
Form1_0.PatternsScan_0.scanForUnitsPointer("item");
//long ItemPointMaxValue = 0;
//int ItemHighestValue = 0;
for (int i = 0; i < Form1_0.PatternsScan_0.AllItemsPointers.Count; i++)
{
ItemPointerLocation = Form1_0.PatternsScan_0.AllItemsPointers[i];
@ -884,9 +879,9 @@ namespace app
itemdatastruc = new byte[144];
Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144);
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(BitConverter.ToUInt32(itemdatastruc, 4));
GetStatsAddr();
GetUnitData();
GetUnitPathData();
//int ItemValue = GetValuesFromStats(Enums.Attribute.Value);
GetStatsAddr();
//; on ground, dropping
if (itemdatastruc[0x0C] == 3 || itemdatastruc[0x0C] == 5)
@ -908,14 +903,6 @@ namespace app
continue;
}
//#################
/*if (ItemValue >= ItemHighestValue)
{
ItemHighestValue = ItemValue;
ItemPointMaxValue = ItemPointerLocation;
}*/
//#################
if (DiffXPlayer > 4
|| DiffYPlayer > 4)
{
@ -940,58 +927,6 @@ namespace app
}
}
//clic highest value item
/*if (ItemPointMaxValue > 0)
{
ItemPointerLocation = ItemPointMaxValue;
itemdatastruc = new byte[144];
Form1_0.Mem_0.ReadRawMemory(ItemPointerLocation, ref itemdatastruc, 144);
ItemNAAME = Form1_0.ItemsNames_0.getItemBaseName(BitConverter.ToUInt32(itemdatastruc, 4));
GetUnitPathData();
int ItemValue = GetValuesFromStats(Enums.Attribute.Value);
//; on ground, dropping
if (itemdatastruc[0x0C] == 3 || itemdatastruc[0x0C] == 5)
{
Form1_0.UIScan_0.readUI();
if (!Form1_0.UIScan_0.leftMenu && !Form1_0.UIScan_0.rightMenu && !Form1_0.UIScan_0.fullMenu)
{
Position itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, itemx, itemy);
if (ShouldPickPos(itemScreenPos))
{
//####
int DiffXPlayer = itemx - Form1_0.PlayerScan_0.xPosFinal;
int DiffYPlayer = itemy - Form1_0.PlayerScan_0.yPosFinal;
if (DiffXPlayer < 0) DiffXPlayer = -DiffXPlayer;
if (DiffYPlayer < 0) DiffYPlayer = -DiffYPlayer;
if (DiffXPlayer > 100 || DiffYPlayer > 100)
{
return false;
}
if (DiffXPlayer > 4
|| DiffYPlayer > 4)
{
Form1_0.Mover_0.MoveToLocation(itemx, itemy);
Form1_0.PlayerScan_0.GetPositions();
GetUnitPathData();
itemScreenPos = Form1_0.GameStruc_0.World2Screen(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, itemx, itemy);
}
//####
Form1_0.KeyMouse_0.MouseClicc(itemScreenPos.X, itemScreenPos.Y);
if (ItemNAAME != LastPick)
{
LastPick = ItemNAAME;
Form1_0.method_1("Grabbed for gold: " + ItemNAAME + ", Value: " + ItemValue, GetColorFromQuality((int)itemQuality));
}
return true;
}
}
}
}*/
return false;
}

View File

@ -24,8 +24,8 @@ namespace app
public int CurrentObjectAreaIndex = 0;
public bool[,] CurrentAreaCollisionGrid = new bool[0,0];
public string[] MapDataLines = new string[0];
public List<int> AllExitsIDs = new List<int>();
public void SetForm1(Form1 form1_1)
{
@ -227,6 +227,7 @@ namespace app
public List<Position> GetPositionOfAllObject(string ObjectType, string ObjectName, int AreaID, List<int> IgnoreTheseIndex, bool IgnoreName = false)
{
List<Position> ThisPos = new List<Position>();
AllExitsIDs = new List<int>();
if (AllMapData.Count == 0) return ThisPos;
@ -250,6 +251,7 @@ namespace app
|| IgnoreName)
{
ThisPos.Add(new Position { X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X, Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y });
AllExitsIDs.Add(int.Parse(AllMapData[i].Objects[k].ID));
if (DebuggingMapData)
{
@ -263,6 +265,7 @@ namespace app
|| IgnoreName)
{
ThisPos.Add(new Position { X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X, Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y });
AllExitsIDs.Add(int.Parse(AllMapData[i].Objects[k].ID));
if (DebuggingMapData)
{

View File

@ -86,10 +86,11 @@ namespace app
{
if (xPosFinal != 0 && yPosFinal != 0)
{
//Int64 pUnitDataPtr = BitConverter.ToInt64(Mercdatastruc, 0x10);
Int64 pUnitDataPtr = BitConverter.ToInt64(Mercdatastruc, 0x10);
//uint dwOwnerId = Form1_0.Mem_0.ReadUInt32Raw((IntPtr)(pUnitDataPtr + 0x0c));
//uint dwOwnerId = BitConverter.ToUInt32(Mercdatastruc, 8);
if (Form1_0.Mem_0.ReadByteRaw((IntPtr)(pUnitDataPtr + 0x32)) != 0x0e && Form1_0.Mem_0.ReadByteRaw((IntPtr)(pUnitDataPtr + 0x33)) != 0x04)
//if (dwOwnerId == MercOwnerID && MercOwnerID != 0)
//{
//SetHPFromStats();
@ -98,7 +99,7 @@ namespace app
File.WriteAllBytes(SavePathh, Mercdatastruc);*/
/*byte[] buffff = new byte[144];
long pStatsListExPtr = BitConverter.ToInt64(Mercdatastruc, 0x88);
long pStatsListExPtr = BitConverter.ToInt64(Mercdatastruc, 0x10);
Form1_0.Mem_0.ReadRawMemory(pStatsListExPtr, ref buffff, 500);
//pStatsListExPtr = BitConverter.ToInt64(buffff, 8);

View File

@ -422,6 +422,8 @@ namespace app
LastDiffX = DiffXPlayer;
LastDiffY = DiffYPlayer;
}
xPosFinal = 0;
yPosFinal = 0;
}
if (MobType == "") GoodMob = true;

View File

@ -51,6 +51,7 @@ namespace app
public long pRoom2Address = 0;
public long pLevelAddress = 0;
public long levelNo = 0;
public long LastlevelNo = 0;
public long pStatsListEx = 0;
public long statPtr = 0;
public long statCount = 0;
@ -237,6 +238,12 @@ namespace app
RoomExit[0] = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pRoom1Address + 0x10));
RoomExit[1] = Form1_0.Mem_0.ReadUInt16Raw((IntPtr)(pRoom1Address + 0x14));
if (LastlevelNo != levelNo)
{
Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags
LastlevelNo = levelNo;
}
//; get/check for bad pointer
if (levelNo == 0 && xPosFinal == 0 && yPosFinal == 0)
{

View File

@ -40,7 +40,7 @@ namespace app
public bool SetUI = false;
public int MaxTryUIOpen = 5;
public int MaxWaitingDelayForMenuInteractions = 50;
public int MaxWaitingDelayForMenuInteractions = 10;
public void SetForm1(Form1 form1_1)
{
@ -49,7 +49,8 @@ namespace app
public void CloseAllUIMenu()
{
if (GetMenuActive("invMenu")) CloseThisMenu("invMenu");
CloseAllUIMenuButThisOne("");
/*if (GetMenuActive("invMenu")) CloseThisMenu("invMenu");
if (GetMenuActive("questsMenu")) CloseThisMenu("questsMenu");
if (GetMenuActive("partyMenu")) CloseThisMenu("partyMenu");
if (GetMenuActive("mercMenu")) CloseThisMenu("mercMenu");
@ -58,7 +59,21 @@ namespace app
if (GetMenuActive("npcShop")) CloseThisMenu("npcShop");
if (GetMenuActive("tradeMenu")) CloseThisMenu("tradeMenu");
if (GetMenuActive("cubeMenu")) CloseThisMenu("cubeMenu");
if (GetMenuActive("quitMenu")) CloseThisMenu("quitMenu");
if (GetMenuActive("quitMenu")) CloseThisMenu("quitMenu");*/
}
public void CloseAllUIMenuButThisOne(string NotThisUIMenu)
{
if (NotThisUIMenu != "invMenu" && GetMenuActive("invMenu")) CloseThisMenu("invMenu");
if (NotThisUIMenu != "questsMenu" && GetMenuActive("questsMenu")) CloseThisMenu("questsMenu");
if (NotThisUIMenu != "partyMenu" && GetMenuActive("partyMenu")) CloseThisMenu("partyMenu");
if (NotThisUIMenu != "mercMenu" && GetMenuActive("mercMenu")) CloseThisMenu("mercMenu");
if (NotThisUIMenu != "stash" && GetMenuActive("stash")) CloseThisMenu("stash");
if (NotThisUIMenu != "npcInteract" && GetMenuActive("npcInteract")) CloseThisMenu("npcInteract");
if (NotThisUIMenu != "npcShop" && GetMenuActive("npcShop")) CloseThisMenu("npcShop");
if (NotThisUIMenu != "tradeMenu" && GetMenuActive("tradeMenu")) CloseThisMenu("tradeMenu");
if (NotThisUIMenu != "cubeMenu" && GetMenuActive("cubeMenu")) CloseThisMenu("cubeMenu");
if (NotThisUIMenu != "quitMenu" && GetMenuActive("quitMenu")) CloseThisMenu("quitMenu");
}
public void CloseThisMenu(string UIName)
@ -127,6 +142,7 @@ namespace app
{
break;
}
CloseAllUIMenuButThisOne(UIName);
WaitTime++;
}
}

View File

@ -235,6 +235,9 @@
<Content Include="d2r-lod-regred - Copy.ico" />
<None Include="Resources\Download.png" />
<None Include="Resources\Update.png" />
<None Include="Resources\Load.png" />
<None Include="Resources\Save.png" />
<None Include="Resources\BMBot10.png" />
<Content Include="Settings\Char\PaladinHammer.txt">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>

View File

@ -287,8 +287,9 @@ Perfect Diamond
//#######################################
//##### Helms
[Name] == GrimHelm && [Quality] == unique && [Flag] != ethereal // Vampire Gaze
[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest
[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
//[Name] == Shako && [Quality] == unique && [Flag] == ethereal && [Defense] >= 170 // Harlequin Crest
//[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
[Name] == Shako && [Quality] == unique // Harlequin Crest
[Name] == Demonhead && [Quality] == unique // Andariel's Visage
[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal
[Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull
@ -428,33 +429,33 @@ Perfect Diamond
[Name] == Diadem && [Quality] == unique && [Defense] >= 160 && [PassiveMagicMastery]+[PassiveMagicPierce] >= 25 // Griffon's Eye
//##### Rings
[Type] == ring && [Quality] == unique && [MagicFind] == 30 // Nagelring
//[Type] == ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal
[Type] == ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan
[Type] == ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star
[Type] == ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost
[Type] == ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band
[Type] == ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind
[Type] == ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace
[Type] == ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector
[Type] == Ring && [Quality] == unique && [MagicFind] == 30 // Nagelring
//[Type] == Ring && [Quality] == unique && [ManaLeech] >= 7 // Manald Heal
[Type] == Ring && [Quality] == unique && [MaxManaPercent] == 25 // Stone of Jordan
[Type] == Ring && [Quality] == unique && [LifeMax] == 40 // Dwarf Star
[Type] == Ring && [Quality] == unique && [AttackRating] >= 230 && [Dexterity] >= 18 // Raven Frost
[Type] == Ring && [Quality] == unique && [LifeLeech] >= 1 && [AllSkills] == 1 // Bul-Kathos' Wedding Band
[Type] == Ring && [Quality] == unique && [LifeLeech] >= 9 // Carrion Wind
[Type] == Ring && [Quality] == unique && [PoisonResist] >= 30 && [NormalDamageReduction] >= 11 // Nature's Peace
[Type] == Ring && [Quality] == unique && [AbsorbLightningPercent] >= 20 // Wisp Projector
//##### Amulets
[Type] == amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance
[Type] == amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye
[Type] == amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon
[Type] == amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab
[Type] == amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun
//[Type] == amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath
[Type] == amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope
//[Type] == amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn
[Type] == amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid
[Type] == Amulet && [Quality] == unique && [Strength] == 12 && [ColdResist] >= 25 // Saracen's Chance
[Type] == Amulet && [Quality] == unique && [Dexterity] == 25 // The Cat's Eye
[Type] == Amulet && [Quality] == unique && [LifeLeech] >= 6 && [ManaLeech] >= 15 // Crescent Moon
[Type] == Amulet && [Quality] == unique && [PoisonResist] == 75 // Atma's Scarab
[Type] == Amulet && [Quality] == unique && [HPRegen] == 10 // The Rising Sun
//[Type] == Amulet && [Quality] == unique && [LightResist] == 35 // Highlord's Wrath
[Type] == Amulet && [Quality] == unique && [Strength] == 5 && [ColdResist] >= 20 // Mara's Kaleidoscope
//[Type] == Amulet && [Quality] == unique && [DefensiveAurasSkillTab] == 1 // Seraph's Hymn
[Type] == Amulet && [Quality] == unique && [AttackRating] >= 430 && [ColdResist] >= 30 // Metalgrid
//##### Jewels
[Type] == jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet
//[Type] == jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet
[Type] == Jewel && [Quality] == unique && [PassiveMagicMastery]+[PassiveMagicPierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassiveFireMastery]+[PassiveFirePierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassiveLtngMastery]+[PassiveLtngPierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassiveColdMastery]+[PassiveColdPierce] >= 10 // Rainbow Facet
//[Type] == Jewel && [Quality] == unique && [PassivePoisMastery]+[PassivePoisPierce] >= 10 // Rainbow Facet
//##### Small Charms
[Name] == SmallCharm && [Quality] == unique // Annihilus
@ -494,11 +495,11 @@ Perfect Diamond
//##### Angelic Raiment
//[Name] == RingMail && [Quality] == set // Angelic Mantle
//[Name] == Sabre && [Quality] == set // Angelic Sickle
//[Type] == ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo
//[Type] == amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings
//[Type] == Ring && [Quality] == set && [LifeMax] == 20 // Angelic Halo
//[Type] == Amulet && [Quality] == set && [LightRadius] == 3 && [DamageTakenGoesToMana] == 20 // Angelic Wings
//##### Arcanna's Tricks
//[Type] == amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign
//[Type] == Amulet && [Quality] == set && [MaxMana] == 15 // Arcanna's Sign
//[Name] == SkullCap && [Quality] == set // Arcanna's Head
//[Name] == LightPlate && [Quality] == set // Arcanna's Flesh
//[Name] == WarStaff && [Quality] == set // Arcanna's Deathwand
@ -515,14 +516,14 @@ Perfect Diamond
//[Name] == DoubleAxe && [Quality] == set // Berserker's Hatchet
//##### Cathan's Traps
//[Type] == ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal
//[Type] == amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil
//[Type] == Ring && [Quality] == set && [LifeLeech] == 6 && [NormalDamageReduction] == 2 // Cathan's Seal
//[Type] == Amulet && [Quality] == set && [FHR] == 10 && [LightningMaxDamage] == 5 // Cathan's Sigil
//[Name] == ChainMail && [Quality] == set // Cathan's Mesh
//[Name] == Mask && [Quality] == set // Cathan's Visage
//##### Civerb's Vestment
//[Name] == GrandScepter && [Quality] == set // Civerb's Cudgel
//[Type] == amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon
//[Type] == Amulet && [Quality] == set && [ManaRecovery] == 40 && [HPRegen] == 4 // Civerb's Icon
//[Name] == LargeShield && [Quality] == set // Civerb's Ward
//##### Cleglaw's Brace
@ -548,7 +549,7 @@ Perfect Diamond
//##### Iratha's Finery
//[Name] == HeavyBelt && [Quality] == set && [MinDamage] == 5 // Iratha's Cord
//[Name] == Crown && [Quality] == set && [FireResist] == 30 && [LightResist] == 30 // Iratha's Coil
//[Type] == amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar
//[Type] == Amulet && [Quality] == set && [PoisonResist] == 30 && [PoisonLength] == -75 // Iratha's Collar
//[Name] == LightGauntlets && [Quality] == set && [ColdResist] == 30 // Iratha's Cuff
//##### Isenhart's Armory
@ -576,10 +577,10 @@ Perfect Diamond
//[Name] == FullPlateMail && [Quality] == set // Tancred's Spine
//[Name] == Boots && [Quality] == set && [StaminaRecoveryBonus] == 25 && [Dexterity] == 10 // Tancred's Hobnails
//[Name] == MilitaryPick && [Quality] == set // Tancred's Crowbill
//[Type] == amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird
//[Type] == Amulet && [Quality] == set && [MagicDamageReduction] == 1 && [NormalDamageReduction] == 2 // Tancred's Weird
//##### Vidala's Rig
//[Type] == amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare
//[Type] == Amulet && [Quality] == set && [ColdResist] == 20 && [MaxMana] == 15 // Vidala's Snare
//[Name] == LongBattleBow && [Quality] == set // Vidala's Barb
//[Name] == LeatherArmor && [Quality] == set // Vidala's Ambush
//[Name] == LightPlatedBoots && [Quality] == set // Vidala's Fetlock
@ -600,7 +601,7 @@ Perfect Diamond
//[Name] == HeavyBoots && [Quality] == set && [Dexterity] == 20 && [MagicFind] == 25 // Cow King's Hooves
//##### The Disciple
//[Type] == amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads
//[Type] == Amulet && [Quality] == set && [AllSkills] == 1 && [ColdResist] == 18 // Telling of Beads
//[Name] == BrambleMitts && [Quality] == set // Laying of Hands
//[Name] == DuskShroud && [Quality] == set // Dark Adherent
//[Name] == DemonhideBoots && [Quality] == set // Rite of Passage
@ -671,7 +672,7 @@ Perfect Diamond
[Name] == SwirlingCrystal && [Quality] == set // Tal Rasha's Lidless Eye
[Name] == DeathMask && [Quality] == set // Tal Rasha's Horadric Crest
[Name] == LacqueredPlate && [Quality] == set && [Defense] >= 900 // Tal Rasha's Guardianship
//[Type] == amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation
//[Type] == Amulet && [Quality] == set && [SorceressSkills] == 2 // Tal Rasha's Adjucation
[Name] == MeshBelt && [Quality] == set && [MagicFind] >= 15 // Tal Rasha's Fine-Spun Cloth
//##### Trang-Oul's Avatar
@ -882,60 +883,60 @@ Perfect Diamond
[Type] == circlet && [Quality] == rare && [Flag] != ethereal && [Sockets] >= 2 && [AddClassSkills] >= 2 && [Dexterity] >= 10 && [FasterCastRate] >= 20
//##### Rings
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100
[Type] == ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5
[Type] == ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5
[Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [FireResist] >= 14 && [LightningResist] >= 14
[Type] == Ring && [Quality] == magic && [FasterCastRate] >= 10 && [ManaMax] >= 100
[Type] == Ring && [Quality] == magic && [MagicFind] >= 15 && [ManaMax] >= 100
[Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [Strength]+[Dexterity] >= 25
[Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Strength] >= 10
[Type] == Ring && [Quality] == rare && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 30 && [ManaMax] >= 60 && [LifeMax] >= 20 && [Dexterity] >= 5
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech]+[ManaLeech] >= 11
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Strength] >= 10
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Strength] >= 10
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [LifeLeech] >= 7 && [Dexterity] >= 5
[Type] == Ring && [Quality] == rare && [AttackRating] >= 90 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 36 && [ManaLeech] >= 5 && [Dexterity] >= 5
//##### Amulets
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85
[Type] == amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26
[Type] == amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10
[Type] == amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [FasterCastRate] >= 10
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Strength] >= 26
[Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [LifeMax] >= 85
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [LifeMax] >= 85
[Type] == Amulet && [Quality] == magic && [AddClassSkills] >= 2 && [Dexterity] >= 26
[Type] == Amulet && [Quality] == magic && [AddSkillTab] >= 3 && [Dexterity] >= 26
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [Strength]+[Dexterity] >= 35
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Strength] >= 20
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FasterCastRate] >= 10 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaMax] >= 70 && [LifeMax] >= 40 && [Dexterity] >= 10
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech]+[ManaLeech] >= 11
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [Strength]+[Dexterity] >= 35
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Strength] >= 20
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Strength] >= 20
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [LifeLeech] >= 5 && [Dexterity] >= 10
[Type] == Amulet && [Quality] == rare && [AddClassSkills] >= 2 && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 60 && [ManaLeech] >= 7 && [Dexterity] >= 10
//##### Jewels
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8
//[Type] == jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7
//[Type] == jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == magic && [MaxDamage] == 20
//[Type] == jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7
//[Type] == jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [IncreasedAttackSpeed] >= 15
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Strength] >= 7
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MinDamage] >= 8
//[Type] == Jewel && [Quality] == magic && [EnhancedDamage] >= 36 && [MaxDamage] >= 12
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [IncreasedAttackSpeed] >= 15
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Strength] >= 7
//[Type] == Jewel && [Quality] == magic && [FireResist] >= 13 && [LightningResist] >= 13 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == magic && [MaxDamage] == 20
//[Type] == Jewel && [Quality] == magic && [IncreasedAttackSpeed] >= 15
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 20
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Strength] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage]+[MaxDamage] >= 10 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MinDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [MaxDamage] >= 6 && [Strength]+[Dexterity] >= 13
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Strength] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Strength] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MinDamage] >= 6 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == rare && [EnhancedDamage] >= 26 && [FasterHitRecovery] >= 7 && [MaxDamage] >= 6 && [Dexterity] >= 7
//[Type] == Jewel && [Quality] == rare && [FireResist]+[LightningResist]+[ColdResist]+[PoisonResist] >= 28 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//[Type] == Jewel && [Quality] == rare && [DamageToMana] >= 10 && [FasterHitRecovery] >= 7 && [RequirementPercent] <= -15
//##### Small Charms
[Name] == SmallCharm && [Quality] == magic && [MaxDamage] >= 3 && [AttackRating] >= 12 && [LifeMax] >= 12

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.