Compare commits

...

2 Commits

Author SHA1 Message Date
Bouletmarc a4e04f0064 V2.81 2024-04-26 07:35:30 -04:00
Bouletmarc 94eb8a90c3 V2.8 2024-04-26 04:54:40 -04:00
50 changed files with 1711 additions and 937 deletions

View File

@ -167,24 +167,8 @@ namespace app
Form1_0.Battle_0.DoBattleScript(15); Form1_0.Battle_0.DoBattleScript(15);
} }
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -200,11 +184,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Andariel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -257,30 +257,29 @@ namespace app
if (CornerClearedIndex == 0) if (CornerClearedIndex == 0)
{ {
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner1Pos, 4, true); if (Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner1Pos, 4, true)) CornerClearedIndex++;
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
CornerClearedIndex++;
} }
else if (CornerClearedIndex == 1) else if (CornerClearedIndex == 1)
{ {
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner2Pos, 4, true); if (Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner1Pos, 4, true)) CornerClearedIndex++;
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
CornerClearedIndex++; //CornerClearedIndex++;
} }
else if (CornerClearedIndex == 2) else if (CornerClearedIndex == 2)
{ {
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner4Pos, 4, true); if (Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner1Pos, 4, true)) CornerClearedIndex++;
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
CornerClearedIndex++; //CornerClearedIndex++;
} }
else if (CornerClearedIndex == 3) else if (CornerClearedIndex == 3)
{ {
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner3Pos, 4, true); if (Form1_0.PathFinding_0.MoveToThisPos(ThroneCorner1Pos, 4, true)) CornerClearedIndex++;
if (LeaveOnMobs()) return; if (LeaveOnMobs()) return;
CornerClearedIndex++; //CornerClearedIndex++;
} }
if (CornerClearedIndex == 4) if (CornerClearedIndex == 4)
{ {
@ -492,27 +491,7 @@ namespace app
} }
else else
{ {
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
//if (!Form1_0.PublicGame) Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Battle_0.ClearingArea = false;
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;
} }
} }
else else
@ -575,14 +554,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal?
//if (!Form1_0.PublicGame) Form1_0.ItemsStruc_0.GrabAllItemsForGold(); //if (!Form1_0.PublicGame) Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Battle_0.ClearingArea = false;
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

@ -502,24 +502,8 @@ namespace app
Form1_0.method_1("Killed Baal Manually!", Color.DarkMagenta); Form1_0.method_1("Killed Baal Manually!", Color.DarkMagenta);
} }
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);
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);
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);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
SearchSameGamesAsLastOne = true; SearchSameGamesAsLastOne = true;
//Form1_0.LeaveGame(true); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
//Form1_0.LeaveGame(false);
} }
} }
else else
@ -548,11 +532,7 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Baal", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
SearchSameGamesAsLastOne = true; SearchSameGamesAsLastOne = true;
//Form1_0.LeaveGame(true); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
//Form1_0.LeaveGame(false);
} }
} }
} }

View File

@ -474,10 +474,13 @@ namespace app
if (CurrentStep == 8) if (CurrentStep == 8)
{ {
Form1_0.PathFinding_0.MoveToThisPos(DiabloSpawnPos, 4, true); if (Form1_0.PathFinding_0.MoveToThisPos(DiabloSpawnPos, 4, true))
{
//Form1_0.PathFinding_0.MoveToThisPos(DiabloSpawnPos, 4, true);
Form1_0.Battle_0.CastDefense(); Form1_0.Battle_0.CastDefense();
CurrentStep++; CurrentStep++;
} }
}
if (CurrentStep == 9) if (CurrentStep == 9)
{ {
@ -531,23 +534,8 @@ namespace app
Form1_0.Battle_0.DoBattleScript(15); Form1_0.Battle_0.DoBattleScript(15);
} }
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);
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);
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);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize; Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
} }
@ -566,9 +554,7 @@ namespace app
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize; Form1_0.PathFinding_0.AcceptMoveOffset = BufferPathFindingMoveSize;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
} }

View File

@ -212,24 +212,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -242,12 +226,8 @@ namespace app
Form1_0.ItemsStruc_0.GrabAllItemsForGold(); Form1_0.ItemsStruc_0.GrabAllItemsForGold();
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "The Countess", false, 200, new List<long>())) return; //redetect baal? 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.Potions_0.CanUseSkillForRegen = true;
if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -193,24 +193,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -224,11 +208,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Duriel", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Duriel", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -85,24 +85,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -116,11 +100,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Eldritch", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Eldritch", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.UseLastTP = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.FastTowning = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -123,6 +123,7 @@ namespace app
//JungleMediumChestLeft #### //JungleMediumChestLeft ####
MapAreaStruc.Position ThisChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "GoodChest", (int)Enums.Area.LowerKurast, IgnoredChestList); MapAreaStruc.Position ThisChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "GoodChest", (int)Enums.Area.LowerKurast, IgnoredChestList);
int ChestObject = Form1_0.MapAreaStruc_0.CurrentObjectIndex;
int Tryy = 0; int Tryy = 0;
while (ThisChestPos.X != 0 && ThisChestPos.Y != 0 && Tryy < 30) while (ThisChestPos.X != 0 && ThisChestPos.Y != 0 && Tryy < 30)
{ {
@ -153,10 +154,11 @@ namespace app
Form1_0.Potions_0.CheckIfWeUsePotion(); Form1_0.Potions_0.CheckIfWeUsePotion();
tryy2++; tryy2++;
} }
IgnoredChestList.Add(Form1_0.MapAreaStruc_0.CurrentObjectIndex); IgnoredChestList.Add(ChestObject);
} }
ThisChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "GoodChest", (int) Enums.Area.LowerKurast, IgnoredChestList); ThisChestPos = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "GoodChest", (int) Enums.Area.LowerKurast, IgnoredChestList);
ChestObject = Form1_0.MapAreaStruc_0.CurrentObjectIndex;
Tryy++; Tryy++;
} }

View File

@ -120,19 +120,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle())
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);
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);
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);
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Potions_0.CanUseSkillForRegen = true;
//Position ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "portal", 102 - 1, new List<int>() { }); //Position ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", "portal", 102 - 1, new List<int>() { });
//if (Form1_0.Mover_0.MoveToLocation(ThisFinalPosition.X, ThisFinalPosition.Y)) //if (Form1_0.Mover_0.MoveToLocation(ThisFinalPosition.X, ThisFinalPosition.Y))
while (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3) while (Form1_0.PlayerScan_0.levelNo == (int)Enums.Area.DuranceOfHateLevel3)
@ -158,6 +147,7 @@ namespace app
//Form1_0.LeaveGame(true); //Form1_0.LeaveGame(true);
} }
} }
}
else else
{ {
Form1_0.method_1("Mephisto not detected!", Color.Red); Form1_0.method_1("Mephisto not detected!", Color.Red);
@ -169,11 +159,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Mephisto", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -109,24 +109,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -140,11 +124,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Nihlatak", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Nihlatak", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -88,24 +88,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -119,11 +103,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Pindleskin", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Pindleskin", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -97,24 +97,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -128,11 +112,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Shenk", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Shenk", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -81,24 +81,8 @@ namespace app
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }
else else
@ -112,11 +96,8 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal? if (Form1_0.MobsStruc_0.GetMobs("getBossName", "Summoner", false, 200, new List<long>())) return; //redetect baal?
Form1_0.Potions_0.CanUseSkillForRegen = true; Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
//Form1_0.LeaveGame(true);
} }
} }
} }

View File

@ -113,31 +113,13 @@ namespace app
if (Form1_0.MobsStruc_0.GetMobs("getSuperUniqueName", "Council Member", false, 200, new List<long>())) return; //redetect baal? 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.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false; if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
Form1_0.Town_0.UseLastTP = false;
ScriptDone = true;
return; return;
} }
else else
{ {
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5); if (Form1_0.Battle_0.EndBossBattle()) ScriptDone = true;
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);
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);
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);
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; return;
//Form1_0.LeaveGame(true);
} }
} }

View File

@ -25,6 +25,9 @@ namespace app
public static System.Windows.Forms.Keys KeySkillDefenseAura = Keys.F6; //defiance public static System.Windows.Forms.Keys KeySkillDefenseAura = Keys.F6; //defiance
public static System.Windows.Forms.Keys KeySkillCastDefense = Keys.F5; //sacred shield public static System.Windows.Forms.Keys KeySkillCastDefense = Keys.F5; //sacred shield
public static System.Windows.Forms.Keys KeySkillLifeAura = Keys.F3; //prayer public static System.Windows.Forms.Keys KeySkillLifeAura = Keys.F3; //prayer
public static System.Windows.Forms.Keys KeySkillBattleOrder = Keys.D5; //BO - BattleOrder
public static System.Windows.Forms.Keys KeySkillBattleCommand = Keys.D6; //BattleCommand
public static System.Windows.Forms.Keys KeySkillBattleCry = Keys.D7; //BattleCry
//####################################### //#######################################
//BELT AND INVENTORY SETTINGS //BELT AND INVENTORY SETTINGS
@ -59,6 +62,7 @@ namespace app
public static bool IDAtShop = true; public static bool IDAtShop = true;
public static bool LeaveDiabloClone = true; public static bool LeaveDiabloClone = true;
public static bool GambleGold = true; public static bool GambleGold = true;
public static bool UseKeys = true;
//####################################### //#######################################
//MERC SETTINGS //MERC SETTINGS
@ -73,6 +77,7 @@ namespace app
public static bool IsRushing = false; public static bool IsRushing = false;
public static string RunningOnChar = ""; public static string RunningOnChar = "";
public static string RushLeecherName = ""; public static string RushLeecherName = "";
public static bool ClearAfterBoss = false;
public static bool ShowOverlay = true; public static bool ShowOverlay = true;
public static bool RunWPTaker = false; public static bool RunWPTaker = false;
public static bool RunMapHackOnly = false; public static bool RunMapHackOnly = false;
@ -119,6 +124,15 @@ namespace app
public static string GamePass = "33"; //SET GAME PASS, IF USING GAME MAKER public static string GamePass = "33"; //SET GAME PASS, IF USING GAME MAKER
public static int GameDifficulty = 2; //0 = normal, 1 = nighmare, 2 = hell public static int GameDifficulty = 2; //0 = normal, 1 = nighmare, 2 = hell
//#######################################
//AVOID IMMUNE SETTINGS
//#######################################
public static bool AvoidColdImmune = false;
public static bool AvoidFireImmune = false;
public static bool AvoidLightImmune = false;
public static bool AvoidPoisonImmune = false;
public static bool AvoidMagicImmune = false;
//####################################### //#######################################
//GAME/PC SCREEN SETTINGS //GAME/PC SCREEN SETTINGS
//####################################### //#######################################

View File

@ -133,6 +133,9 @@ namespace app
if (Splitted[0] == "KeySkillDefenseAura") AllLines[i] = "KeySkillDefenseAura=" + CharConfig.KeySkillDefenseAura; if (Splitted[0] == "KeySkillDefenseAura") AllLines[i] = "KeySkillDefenseAura=" + CharConfig.KeySkillDefenseAura;
if (Splitted[0] == "KeySkillCastDefense") AllLines[i] = "KeySkillCastDefense=" + CharConfig.KeySkillCastDefense; if (Splitted[0] == "KeySkillCastDefense") AllLines[i] = "KeySkillCastDefense=" + CharConfig.KeySkillCastDefense;
if (Splitted[0] == "KeySkillLifeAura") AllLines[i] = "KeySkillLifeAura=" + CharConfig.KeySkillLifeAura; if (Splitted[0] == "KeySkillLifeAura") AllLines[i] = "KeySkillLifeAura=" + CharConfig.KeySkillLifeAura;
if (Splitted[0] == "KeySkillBattleOrder") AllLines[i] = "KeySkillBattleOrder=" + CharConfig.KeySkillBattleOrder;
if (Splitted[0] == "KeySkillBattleCommand") AllLines[i] = "KeySkillBattleCommand=" + CharConfig.KeySkillBattleCommand;
if (Splitted[0] == "KeySkillBattleCry") AllLines[i] = "KeySkillBattleCry=" + CharConfig.KeySkillBattleCry;
if (Splitted[0] == "BeltPotTypeToHave") AllLines[i] = "BeltPotTypeToHave=" + CharConfig.BeltPotTypeToHave[0] + "," + CharConfig.BeltPotTypeToHave[1] + "," + CharConfig.BeltPotTypeToHave[2] + "," + CharConfig.BeltPotTypeToHave[3]; if (Splitted[0] == "BeltPotTypeToHave") AllLines[i] = "BeltPotTypeToHave=" + CharConfig.BeltPotTypeToHave[0] + "," + CharConfig.BeltPotTypeToHave[1] + "," + CharConfig.BeltPotTypeToHave[2] + "," + CharConfig.BeltPotTypeToHave[3];
@ -167,6 +170,7 @@ namespace app
if (Splitted[0] == "GrabForGold") AllLines[i] = "GrabForGold=" + CharConfig.GrabForGold; if (Splitted[0] == "GrabForGold") AllLines[i] = "GrabForGold=" + CharConfig.GrabForGold;
if (Splitted[0] == "LeaveDiabloClone") AllLines[i] = "LeaveDiabloClone=" + CharConfig.LeaveDiabloClone; if (Splitted[0] == "LeaveDiabloClone") AllLines[i] = "LeaveDiabloClone=" + CharConfig.LeaveDiabloClone;
if (Splitted[0] == "GambleGold") AllLines[i] = "GambleGold=" + CharConfig.GambleGold; if (Splitted[0] == "GambleGold") AllLines[i] = "GambleGold=" + CharConfig.GambleGold;
if (Splitted[0] == "UseKeys") AllLines[i] = "UseKeys=" + CharConfig.UseKeys;
if (Splitted[0] == "ChickenHP") AllLines[i] = "ChickenHP=" + CharConfig.ChickenHP; if (Splitted[0] == "ChickenHP") AllLines[i] = "ChickenHP=" + CharConfig.ChickenHP;
if (Splitted[0] == "TakeHPPotUnder" && !Splitted[0].Contains("MercTakeHPPotUnder")) AllLines[i] = "TakeHPPotUnder=" + CharConfig.TakeHPPotUnder; if (Splitted[0] == "TakeHPPotUnder" && !Splitted[0].Contains("MercTakeHPPotUnder")) AllLines[i] = "TakeHPPotUnder=" + CharConfig.TakeHPPotUnder;
if (Splitted[0] == "TakeRVPotUnder") AllLines[i] = "TakeRVPotUnder=" + CharConfig.TakeRVPotUnder; if (Splitted[0] == "TakeRVPotUnder") AllLines[i] = "TakeRVPotUnder=" + CharConfig.TakeRVPotUnder;
@ -179,6 +183,12 @@ namespace app
if (Splitted[0] == "UsingMerc") AllLines[i] = "UsingMerc=" + CharConfig.UsingMerc; if (Splitted[0] == "UsingMerc") AllLines[i] = "UsingMerc=" + CharConfig.UsingMerc;
if (Splitted[0] == "MercTakeHPPotUnder") AllLines[i] = "MercTakeHPPotUnder=" + CharConfig.MercTakeHPPotUnder; if (Splitted[0] == "MercTakeHPPotUnder") AllLines[i] = "MercTakeHPPotUnder=" + CharConfig.MercTakeHPPotUnder;
if (Splitted[0] == "AvoidColdImmune") AllLines[i] = "AvoidColdImmune=" + CharConfig.AvoidColdImmune;
if (Splitted[0] == "AvoidFireImmune") AllLines[i] = "AvoidFireImmune=" + CharConfig.AvoidFireImmune;
if (Splitted[0] == "AvoidLightImmune") AllLines[i] = "AvoidLightImmune=" + CharConfig.AvoidLightImmune;
if (Splitted[0] == "AvoidPoisonImmune") AllLines[i] = "AvoidPoisonImmune=" + CharConfig.AvoidPoisonImmune;
if (Splitted[0] == "AvoidMagicImmune") AllLines[i] = "AvoidMagicImmune=" + CharConfig.AvoidMagicImmune;
} }
} }
@ -205,6 +215,7 @@ namespace app
if (Splitted[0] == "RushLeecherName") AllLines[i] = "RushLeecherName=" + CharConfig.RushLeecherName; if (Splitted[0] == "RushLeecherName") AllLines[i] = "RushLeecherName=" + CharConfig.RushLeecherName;
//######### //#########
//SPECIAL BAAL FEATURES
if (Splitted[0] == "KillBaal") AllLines[i] = "KillBaal=" + Form1_0.Baal_0.KillBaal; if (Splitted[0] == "KillBaal") AllLines[i] = "KillBaal=" + Form1_0.Baal_0.KillBaal;
if (Splitted[0] == "LeaveIfMobsIsPresent_ID") if (Splitted[0] == "LeaveIfMobsIsPresent_ID")
{ {
@ -227,6 +238,18 @@ namespace app
if (Splitted[0] == "LeaveIfMobsCountIsAbove") AllLines[i] = "LeaveIfMobsCountIsAbove=" + Form1_0.Baal_0.LeaveIfMobsCountIsAbove; if (Splitted[0] == "LeaveIfMobsCountIsAbove") AllLines[i] = "LeaveIfMobsCountIsAbove=" + Form1_0.Baal_0.LeaveIfMobsCountIsAbove;
if (Splitted[0] == "SafeHealingStrat") AllLines[i] = "SafeHealingStrat=" + Form1_0.Baal_0.SafeYoloStrat; if (Splitted[0] == "SafeHealingStrat") AllLines[i] = "SafeHealingStrat=" + Form1_0.Baal_0.SafeYoloStrat;
//######### //#########
//SPECIAL OVERLAY FEATURES
if (Splitted[0] == "ShowMobs") AllLines[i] = "ShowMobs=" + Form1_0.overlayForm.ShowMobs;
if (Splitted[0] == "ShowWPs") AllLines[i] = "ShowWPs=" +Form1_0.overlayForm.ShowWPs;
if (Splitted[0] == "ShowGoodChests") AllLines[i] = "ShowGoodChests=" +Form1_0.overlayForm.ShowGoodChests;
if (Splitted[0] == "ShowLogs") AllLines[i] = "ShowLogs=" +Form1_0.overlayForm.ShowLogs;
if (Splitted[0] == "ShowBotInfos") AllLines[i] = "ShowBotInfos=" +Form1_0.overlayForm.ShowBotInfos;
if (Splitted[0] == "ShowNPC") AllLines[i] = "ShowNPC=" +Form1_0.overlayForm.ShowNPC;
if (Splitted[0] == "ShowPathFinding") AllLines[i] = "ShowPathFinding=" +Form1_0.overlayForm.ShowPathFinding;
if (Splitted[0] == "ShowExits") AllLines[i] = "ShowExits=" +Form1_0.overlayForm.ShowExits;
if (Splitted[0] == "ShowMapHackShowLines") AllLines[i] = "ShowMapHackShowLines=" +Form1_0.overlayForm.ShowMapHackShowLines;
if (Splitted[0] == "ShowUnitsScanCount") AllLines[i] = "ShowUnitsScanCount=" +Form1_0.overlayForm.ShowUnitsScanCount;
//#########
if (Splitted[0] == "RunMapHackOnly") AllLines[i] = "RunMapHackOnly=" + CharConfig.RunMapHackOnly; if (Splitted[0] == "RunMapHackOnly") AllLines[i] = "RunMapHackOnly=" + CharConfig.RunMapHackOnly;
if (Splitted[0] == "RunDarkWoodRush") AllLines[i] = "RunDarkWoodRush=" + CharConfig.RunDarkWoodRush; if (Splitted[0] == "RunDarkWoodRush") AllLines[i] = "RunDarkWoodRush=" + CharConfig.RunDarkWoodRush;
@ -271,6 +294,9 @@ namespace app
if (Splitted[0] == "RunChaosSearchGameScript") AllLines[i] = "RunChaosSearchGameScript=" + CharConfig.RunChaosSearchGameScript; if (Splitted[0] == "RunChaosSearchGameScript") AllLines[i] = "RunChaosSearchGameScript=" + CharConfig.RunChaosSearchGameScript;
if (Splitted[0] == "RunBaalSearchGameScript") AllLines[i] = "RunBaalSearchGameScript=" + CharConfig.RunBaalSearchGameScript; if (Splitted[0] == "RunBaalSearchGameScript") AllLines[i] = "RunBaalSearchGameScript=" + CharConfig.RunBaalSearchGameScript;
if (Splitted[0] == "RunGameMakerScript") AllLines[i] = "RunGameMakerScript=" + CharConfig.RunGameMakerScript; if (Splitted[0] == "RunGameMakerScript") AllLines[i] = "RunGameMakerScript=" + CharConfig.RunGameMakerScript;
if (Splitted[0] == "ClearAfterBoss") AllLines[i] = "ClearAfterBoss=" + CharConfig.ClearAfterBoss;
if (Splitted[0] == "GameName") AllLines[i] = "GameName=" + CharConfig.GameName; if (Splitted[0] == "GameName") AllLines[i] = "GameName=" + CharConfig.GameName;
if (Splitted[0] == "GameDifficulty") AllLines[i] = "GameDifficulty=" + CharConfig.GameDifficulty; if (Splitted[0] == "GameDifficulty") AllLines[i] = "GameDifficulty=" + CharConfig.GameDifficulty;
if (Splitted[0] == "GamePass") AllLines[i] = "GamePass=" + CharConfig.GamePass; if (Splitted[0] == "GamePass") AllLines[i] = "GamePass=" + CharConfig.GamePass;
@ -896,7 +922,18 @@ namespace app
Form1_0.Baal_0.SafeYoloStrat = bool.Parse(Params[1].ToLower()); Form1_0.Baal_0.SafeYoloStrat = bool.Parse(Params[1].ToLower());
} }
//######### //#########
//SPECIAL OVERLAY FEATURES
if (Params[0].Contains("ShowMobs")) Form1_0.overlayForm.ShowMobs = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowWPs")) Form1_0.overlayForm.ShowWPs = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowGoodChests")) Form1_0.overlayForm.ShowGoodChests = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowLogs")) Form1_0.overlayForm.ShowLogs = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowBotInfos")) Form1_0.overlayForm.ShowBotInfos = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowNPC")) Form1_0.overlayForm.ShowNPC = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowPathFinding")) Form1_0.overlayForm.ShowPathFinding = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowExits")) Form1_0.overlayForm.ShowExits = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowMapHackShowLines")) Form1_0.overlayForm.ShowMapHackShowLines = bool.Parse(Params[1].ToLower());
if (Params[0].Contains("ShowUnitsScanCount")) Form1_0.overlayForm.ShowUnitsScanCount = bool.Parse(Params[1].ToLower());
//#########
if (Params[0].Contains("RunMapHackOnly")) if (Params[0].Contains("RunMapHackOnly"))
{ {
@ -1061,6 +1098,10 @@ namespace app
{ {
CharConfig.RunGameMakerScript = bool.Parse(Params[1].ToLower()); CharConfig.RunGameMakerScript = bool.Parse(Params[1].ToLower());
} }
if (Params[0].Contains("ClearAfterBoss"))
{
CharConfig.ClearAfterBoss = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("GameName")) if (Params[0].Contains("GameName"))
{ {
CharConfig.GameName = Params[1]; CharConfig.GameName = Params[1];
@ -1216,6 +1257,18 @@ namespace app
{ {
Enum.TryParse(Params[1], out CharConfig.KeySkillLifeAura); Enum.TryParse(Params[1], out CharConfig.KeySkillLifeAura);
} }
if (Params[0].Contains("KeySkillBattleOrder"))
{
Enum.TryParse(Params[1], out CharConfig.KeySkillBattleOrder);
}
if (Params[0].Contains("KeySkillBattleCommand"))
{
Enum.TryParse(Params[1], out CharConfig.KeySkillBattleCommand);
}
if (Params[0].Contains("KeySkillBattleCry"))
{
Enum.TryParse(Params[1], out CharConfig.KeySkillBattleCry);
}
//###### //######
if (Params[0].Contains("BeltPotTypeToHave") && Params[1].Contains(",")) if (Params[0].Contains("BeltPotTypeToHave") && Params[1].Contains(","))
{ {
@ -1298,6 +1351,10 @@ namespace app
{ {
CharConfig.GambleGold = bool.Parse(Params[1].ToLower()); CharConfig.GambleGold = bool.Parse(Params[1].ToLower());
} }
if (Params[0].Contains("UseKeys"))
{
CharConfig.UseKeys = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("ChickenHP")) if (Params[0].Contains("ChickenHP"))
{ {
CharConfig.ChickenHP = int.Parse(Params[1]); CharConfig.ChickenHP = int.Parse(Params[1]);
@ -1344,7 +1401,26 @@ namespace app
CharConfig.MercTakeHPPotUnder = int.Parse(Params[1]); CharConfig.MercTakeHPPotUnder = int.Parse(Params[1]);
} }
//##### //#####
if (Params[0].Contains("AvoidColdImmune"))
{
CharConfig.AvoidColdImmune = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("AvoidFireImmune"))
{
CharConfig.AvoidFireImmune = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("AvoidLightImmune"))
{
CharConfig.AvoidLightImmune = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("AvoidPoisonImmune"))
{
CharConfig.AvoidPoisonImmune = bool.Parse(Params[1].ToLower());
}
if (Params[0].Contains("AvoidMagicImmune"))
{
CharConfig.AvoidMagicImmune = bool.Parse(Params[1].ToLower());
}
//##### //#####
} }
} }

View File

@ -42,7 +42,7 @@ namespace app
public partial class Form1 : Form public partial class Form1 : Form
{ {
public string BotVersion = "V2.71"; public string BotVersion = "V2.81";
public string D2_LOD_113C_Path = ""; public string D2_LOD_113C_Path = "";
@ -61,6 +61,7 @@ namespace app
public int hWnd = 0; public int hWnd = 0;
public int LoopDone = 0; public int LoopDone = 0;
public bool CharDied = false; public bool CharDied = false;
public bool RestartingBot = false;
public bool PrintedGameTime = false; public bool PrintedGameTime = false;
public DateTime CheckTime = new DateTime(); public DateTime CheckTime = new DateTime();
@ -783,17 +784,17 @@ namespace app
{ {
Form1_0.SetGameStatus("NEW GAME STARTED"); Form1_0.SetGameStatus("NEW GAME STARTED");
//PatternsScan_0.StartIndexItem = long.MaxValue;
PublicGame = (CharConfig.GamePass == ""); PublicGame = (CharConfig.GamePass == "");
if (!PublicGame && CharConfig.IsRushing) PublicGame = true; if (!PublicGame && CharConfig.IsRushing) PublicGame = true;
if (!PublicGame && !CharConfig.RunGameMakerScript) PublicGame = true; if (!PublicGame && !CharConfig.RunGameMakerScript) PublicGame = true;
if (PublicGame) KeyMouse_0.ProcessingDelay = 5; if (PublicGame) KeyMouse_0.ProcessingDelay = 5;
else KeyMouse_0.ProcessingDelay = 2; else KeyMouse_0.ProcessingDelay = 2;
GameStruc_0.AlreadyChickening = false; GameStruc_0.AlreadyChickening = false;
//PatternsScan_0.StartIndexItemLast = long.MaxValue; //PatternsScan_0.ScanUnitsNumber = 2600;
PatternsScan_0.ScanUnitsNumber = 2600;
//PatternsScan_0.ScanUnitsNumber = 2400; //PatternsScan_0.ScanUnitsNumber = 2400;
//PatternsScan_0.ScanUnitsNumber = 2048; //PatternsScan_0.ScanUnitsNumber = 2048;
PatternsScan_0.StartIndexItem_V2 = long.MaxValue;
PatternsScan_0.StartIndexItemLast_V2 = long.MaxValue;
Town_0.TriedToShopCount = 0; Town_0.TriedToShopCount = 0;
Town_0.TriedToShopCount2 = 0; Town_0.TriedToShopCount2 = 0;
Town_0.TriedToMercCount = 0; Town_0.TriedToMercCount = 0;
@ -875,6 +876,8 @@ namespace app
GameStruc_0.ChickenTry = 0; GameStruc_0.ChickenTry = 0;
MercStruc_0.MercOwnerID = 0; MercStruc_0.MercOwnerID = 0;
ItemsAlert_0.CheckItemNames();
//############################## //##############################
MapAreaStruc_0.ScanMapStruc(); MapAreaStruc_0.ScanMapStruc();
} }
@ -921,6 +924,7 @@ namespace app
//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) WaitDelay(250); //wait here because 'loading' menu is not correct
if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher(); if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher();
if (PatternsScan_0.StartIndexItem_V2 == long.MaxValue) PatternsScan_0.DetectFirstUnitPointer();
Town_0.GetCorpse(); Town_0.GetCorpse();
ItemsStruc_0.GetBadItemsOnCursor(); ItemsStruc_0.GetBadItemsOnCursor();
HasPointers = true; HasPointers = true;
@ -936,6 +940,7 @@ namespace app
//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) WaitDelay(250); //wait here because 'loading' menu is not correct
if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher(); if (CharConfig.IsRushing) PlayerScan_0.ScanForLeecher();
if (PatternsScan_0.StartIndexItem_V2 == long.MaxValue) PatternsScan_0.DetectFirstUnitPointer();
Town_0.GetCorpse(); Town_0.GetCorpse();
ItemsStruc_0.GetBadItemsOnCursor(); ItemsStruc_0.GetBadItemsOnCursor();
HasPointers = true; HasPointers = true;
@ -983,9 +988,9 @@ namespace app
//Battle_0.CastSkills(); //Battle_0.CastSkills();
//ItemsStruc_0.GetItems(false); //ItemsStruc_0.GetItems(false);
//ItemsStruc_0.GetItems(true); //ItemsStruc_0.GetItems(true);
//overlayForm.SetAllOverlay();
//Running = false; //Running = false;
//if (!Running) SetStartButtonEnable(true);
//if (Running) LoopTimer.Start(); //if (Running) LoopTimer.Start();
//return; //return;
@ -1391,8 +1396,18 @@ namespace app
SetProcessingTime(); SetProcessingTime();
if (!Running && RestartingBot)
{
StartBot();
RestartingBot = false;
}
if (Running) LoopTimer.Start(); if (Running) LoopTimer.Start();
if (!Running) SetStartButtonEnable(true); if (!Running)
{
method_1("Bot stopped!", Color.DarkGreen);
overlayForm.SetAllOverlay();
}
} }
public void GoToNextScript() public void GoToNextScript()
@ -1637,6 +1652,7 @@ namespace app
//} //}
//catch { } //catch { }
} }
public void SetItemsButton(bool Enabledd) public void SetItemsButton(bool Enabledd)
{ {
//try //try
@ -1658,6 +1674,7 @@ namespace app
public void StopBot() public void StopBot()
{ {
RestartingBot = false;
SetPlayButtonText("START"); SetPlayButtonText("START");
Running = false; Running = false;
HasPointers = false; HasPointers = false;
@ -1671,19 +1688,31 @@ namespace app
SetGameStatus("STOPPED"); SetGameStatus("STOPPED");
} }
public void button1_Click(object sender, EventArgs e) public void StartBot()
{ {
if (!Running && button1.Enabled) method_1("Bot started!", Color.DarkGreen);
{
SetStartButtonEnable(false);
SetSettingButton(false); SetSettingButton(false);
SetPlayButtonText("STOP"); SetPlayButtonText("STOP");
Running = true; Running = true;
BotJustStarted = true; BotJustStarted = true;
Startt(); Startt();
} }
public void button1_Click(object sender, EventArgs e)
{
if (!Running && button1.Enabled)
{
method_1("Bot will start!", Color.DarkGreen);
StartBot();
}
else if (!Running && !button1.Enabled)
{
method_1("Bot will reastart!", Color.DarkGreen);
RestartingBot = true;
}
else if (Running) else if (Running)
{ {
method_1("Bot will stop!", Color.DarkGreen);
StopBot(); StopBot();
} }
} }

View File

@ -33,6 +33,12 @@
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.comboBoxType = new System.Windows.Forms.ComboBox(); this.comboBoxType = new System.Windows.Forms.ComboBox();
this.groupBox1 = new System.Windows.Forms.GroupBox(); this.groupBox1 = new System.Windows.Forms.GroupBox();
this.textBoxBattleCry = new System.Windows.Forms.TextBox();
this.label27 = new System.Windows.Forms.Label();
this.textBoxBattleCommand = new System.Windows.Forms.TextBox();
this.label26 = new System.Windows.Forms.Label();
this.textBoxBattleOrder = new System.Windows.Forms.TextBox();
this.label25 = new System.Windows.Forms.Label();
this.checkBoxAttachRightHand = new System.Windows.Forms.CheckBox(); this.checkBoxAttachRightHand = new System.Windows.Forms.CheckBox();
this.textBoxLifeSkill = new System.Windows.Forms.TextBox(); this.textBoxLifeSkill = new System.Windows.Forms.TextBox();
this.label8 = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label();
@ -62,6 +68,7 @@
this.textBoxCharName = new System.Windows.Forms.TextBox(); this.textBoxCharName = new System.Windows.Forms.TextBox();
this.label14 = new System.Windows.Forms.Label(); this.label14 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox(); this.groupBox3 = new System.Windows.Forms.GroupBox();
this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.numericUpDownKeyYPos = new System.Windows.Forms.NumericUpDown(); this.numericUpDownKeyYPos = new System.Windows.Forms.NumericUpDown();
this.numericUpDownKeyXPos = new System.Windows.Forms.NumericUpDown(); this.numericUpDownKeyXPos = new System.Windows.Forms.NumericUpDown();
this.label21 = new System.Windows.Forms.Label(); this.label21 = new System.Windows.Forms.Label();
@ -85,17 +92,20 @@
this.label22 = new System.Windows.Forms.Label(); this.label22 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox(); this.groupBox4 = new System.Windows.Forms.GroupBox();
this.groupBox5 = new System.Windows.Forms.GroupBox(); this.groupBox5 = new System.Windows.Forms.GroupBox();
this.checkBoxClearAfterBoss = new System.Windows.Forms.CheckBox();
this.comboBoxAvoidImmune = new System.Windows.Forms.ComboBox();
this.label24 = new System.Windows.Forms.Label();
this.checkBoxGamble = new System.Windows.Forms.CheckBox(); this.checkBoxGamble = new System.Windows.Forms.CheckBox();
this.checkBoxDClone = new System.Windows.Forms.CheckBox(); this.checkBoxDClone = new System.Windows.Forms.CheckBox();
this.checkBoxIDAtShop = new System.Windows.Forms.CheckBox(); this.checkBoxIDAtShop = new System.Windows.Forms.CheckBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.label23 = new System.Windows.Forms.Label();
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.buttonReload = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button(); this.button1 = new System.Windows.Forms.Button();
this.label23 = new System.Windows.Forms.Label();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.panelHelpKeys = new System.Windows.Forms.Panel();
this.button2 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button();
this.checkBoxUseKeys = new System.Windows.Forms.CheckBox();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
@ -136,6 +146,12 @@
// //
// groupBox1 // groupBox1
// //
this.groupBox1.Controls.Add(this.textBoxBattleCry);
this.groupBox1.Controls.Add(this.label27);
this.groupBox1.Controls.Add(this.textBoxBattleCommand);
this.groupBox1.Controls.Add(this.label26);
this.groupBox1.Controls.Add(this.textBoxBattleOrder);
this.groupBox1.Controls.Add(this.label25);
this.groupBox1.Controls.Add(this.checkBoxAttachRightHand); this.groupBox1.Controls.Add(this.checkBoxAttachRightHand);
this.groupBox1.Controls.Add(this.textBoxLifeSkill); this.groupBox1.Controls.Add(this.textBoxLifeSkill);
this.groupBox1.Controls.Add(this.label8); this.groupBox1.Controls.Add(this.label8);
@ -153,11 +169,62 @@
this.groupBox1.Controls.Add(this.label2); this.groupBox1.Controls.Add(this.label2);
this.groupBox1.Location = new System.Drawing.Point(5, 36); this.groupBox1.Location = new System.Drawing.Point(5, 36);
this.groupBox1.Name = "groupBox1"; this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(171, 207); this.groupBox1.Size = new System.Drawing.Size(171, 273);
this.groupBox1.TabIndex = 2; this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false; this.groupBox1.TabStop = false;
this.groupBox1.Text = "Skills Shortcuts Keys"; this.groupBox1.Text = "Skills Shortcuts Keys";
// //
// textBoxBattleCry
//
this.textBoxBattleCry.Location = new System.Drawing.Point(123, 244);
this.textBoxBattleCry.Name = "textBoxBattleCry";
this.textBoxBattleCry.Size = new System.Drawing.Size(37, 20);
this.textBoxBattleCry.TabIndex = 23;
this.toolTip1.SetToolTip(this.textBoxBattleCry, "Battle Cry (if using CTA, else set to nothing)");
//
// label27
//
this.label27.AutoSize = true;
this.label27.Location = new System.Drawing.Point(10, 247);
this.label27.Name = "label27";
this.label27.Size = new System.Drawing.Size(77, 13);
this.label27.TabIndex = 22;
this.label27.Text = "Battle Cry Skill:";
//
// textBoxBattleCommand
//
this.textBoxBattleCommand.Location = new System.Drawing.Point(123, 222);
this.textBoxBattleCommand.Name = "textBoxBattleCommand";
this.textBoxBattleCommand.Size = new System.Drawing.Size(37, 20);
this.textBoxBattleCommand.TabIndex = 21;
this.toolTip1.SetToolTip(this.textBoxBattleCommand, "Battle Command (if using CTA, else set to nothing)");
//
// label26
//
this.label26.AutoSize = true;
this.label26.Location = new System.Drawing.Point(10, 225);
this.label26.Name = "label26";
this.label26.Size = new System.Drawing.Size(109, 13);
this.label26.TabIndex = 20;
this.label26.Text = "Battle Command Skill:";
//
// textBoxBattleOrder
//
this.textBoxBattleOrder.Location = new System.Drawing.Point(123, 200);
this.textBoxBattleOrder.Name = "textBoxBattleOrder";
this.textBoxBattleOrder.Size = new System.Drawing.Size(37, 20);
this.textBoxBattleOrder.TabIndex = 19;
this.toolTip1.SetToolTip(this.textBoxBattleOrder, "Battle Orders (BO) (if using CTA, else set to nothing)");
//
// label25
//
this.label25.AutoSize = true;
this.label25.Location = new System.Drawing.Point(10, 203);
this.label25.Name = "label25";
this.label25.Size = new System.Drawing.Size(88, 13);
this.label25.TabIndex = 18;
this.label25.Text = "Battle Order Skill:";
//
// checkBoxAttachRightHand // checkBoxAttachRightHand
// //
this.checkBoxAttachRightHand.AutoSize = true; this.checkBoxAttachRightHand.AutoSize = true;
@ -297,9 +364,9 @@
this.groupBox2.Controls.Add(this.comboBoxBelt3); this.groupBox2.Controls.Add(this.comboBoxBelt3);
this.groupBox2.Controls.Add(this.comboBoxBelt2); this.groupBox2.Controls.Add(this.comboBoxBelt2);
this.groupBox2.Controls.Add(this.comboBoxBelt1); this.groupBox2.Controls.Add(this.comboBoxBelt1);
this.groupBox2.Location = new System.Drawing.Point(201, 249); this.groupBox2.Location = new System.Drawing.Point(182, 245);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(245, 64); this.groupBox2.Size = new System.Drawing.Size(284, 64);
this.groupBox2.TabIndex = 3; this.groupBox2.TabIndex = 3;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "Belt Potions Type"; this.groupBox2.Text = "Belt Potions Type";
@ -307,7 +374,7 @@
// label12 // label12
// //
this.label12.AutoSize = true; this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(193, 22); this.label12.Location = new System.Drawing.Point(214, 20);
this.label12.Name = "label12"; this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(34, 13); this.label12.Size = new System.Drawing.Size(34, 13);
this.label12.TabIndex = 7; this.label12.TabIndex = 7;
@ -316,7 +383,7 @@
// label11 // label11
// //
this.label11.AutoSize = true; this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(136, 22); this.label11.Location = new System.Drawing.Point(157, 20);
this.label11.Name = "label11"; this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(34, 13); this.label11.Size = new System.Drawing.Size(34, 13);
this.label11.TabIndex = 6; this.label11.TabIndex = 6;
@ -325,7 +392,7 @@
// label10 // label10
// //
this.label10.AutoSize = true; this.label10.AutoSize = true;
this.label10.Location = new System.Drawing.Point(78, 22); this.label10.Location = new System.Drawing.Point(99, 20);
this.label10.Name = "label10"; this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(34, 13); this.label10.Size = new System.Drawing.Size(34, 13);
this.label10.TabIndex = 5; this.label10.TabIndex = 5;
@ -334,7 +401,7 @@
// label9 // label9
// //
this.label9.AutoSize = true; this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(21, 22); this.label9.Location = new System.Drawing.Point(42, 20);
this.label9.Name = "label9"; this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(34, 13); this.label9.Size = new System.Drawing.Size(34, 13);
this.label9.TabIndex = 4; this.label9.TabIndex = 4;
@ -348,7 +415,7 @@
"Mana", "Mana",
"RV", "RV",
"Full RV"}); "Full RV"});
this.comboBoxBelt4.Location = new System.Drawing.Point(180, 38); this.comboBoxBelt4.Location = new System.Drawing.Point(201, 36);
this.comboBoxBelt4.Name = "comboBoxBelt4"; this.comboBoxBelt4.Name = "comboBoxBelt4";
this.comboBoxBelt4.Size = new System.Drawing.Size(58, 21); this.comboBoxBelt4.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt4.TabIndex = 3; this.comboBoxBelt4.TabIndex = 3;
@ -361,7 +428,7 @@
"Mana", "Mana",
"RV", "RV",
"Full RV"}); "Full RV"});
this.comboBoxBelt3.Location = new System.Drawing.Point(122, 38); this.comboBoxBelt3.Location = new System.Drawing.Point(143, 36);
this.comboBoxBelt3.Name = "comboBoxBelt3"; this.comboBoxBelt3.Name = "comboBoxBelt3";
this.comboBoxBelt3.Size = new System.Drawing.Size(58, 21); this.comboBoxBelt3.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt3.TabIndex = 2; this.comboBoxBelt3.TabIndex = 2;
@ -374,7 +441,7 @@
"Mana", "Mana",
"RV", "RV",
"Full RV"}); "Full RV"});
this.comboBoxBelt2.Location = new System.Drawing.Point(64, 38); this.comboBoxBelt2.Location = new System.Drawing.Point(85, 36);
this.comboBoxBelt2.Name = "comboBoxBelt2"; this.comboBoxBelt2.Name = "comboBoxBelt2";
this.comboBoxBelt2.Size = new System.Drawing.Size(58, 21); this.comboBoxBelt2.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt2.TabIndex = 1; this.comboBoxBelt2.TabIndex = 1;
@ -387,16 +454,16 @@
"Mana", "Mana",
"RV", "RV",
"Full RV"}); "Full RV"});
this.comboBoxBelt1.Location = new System.Drawing.Point(6, 38); this.comboBoxBelt1.Location = new System.Drawing.Point(27, 36);
this.comboBoxBelt1.Name = "comboBoxBelt1"; this.comboBoxBelt1.Name = "comboBoxBelt1";
this.comboBoxBelt1.Size = new System.Drawing.Size(58, 21); this.comboBoxBelt1.Size = new System.Drawing.Size(58, 21);
this.comboBoxBelt1.TabIndex = 0; this.comboBoxBelt1.TabIndex = 0;
// //
// groupBoxInventory // groupBoxInventory
// //
this.groupBoxInventory.Location = new System.Drawing.Point(5, 319); this.groupBoxInventory.Location = new System.Drawing.Point(182, 357);
this.groupBoxInventory.Name = "groupBoxInventory"; this.groupBoxInventory.Name = "groupBoxInventory";
this.groupBoxInventory.Size = new System.Drawing.Size(282, 101); this.groupBoxInventory.Size = new System.Drawing.Size(284, 101);
this.groupBoxInventory.TabIndex = 4; this.groupBoxInventory.TabIndex = 4;
this.groupBoxInventory.TabStop = false; this.groupBoxInventory.TabStop = false;
this.groupBoxInventory.Text = "Inventory Slots (Checked mean this slot is NOT FREE)"; this.groupBoxInventory.Text = "Inventory Slots (Checked mean this slot is NOT FREE)";
@ -405,7 +472,7 @@
// //
this.label13.AutoSize = true; this.label13.AutoSize = true;
this.label13.ForeColor = System.Drawing.Color.Red; this.label13.ForeColor = System.Drawing.Color.Red;
this.label13.Location = new System.Drawing.Point(74, 443); this.label13.Location = new System.Drawing.Point(252, 481);
this.label13.Name = "label13"; this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(137, 39); this.label13.Size = new System.Drawing.Size(137, 39);
this.label13.TabIndex = 5; this.label13.TabIndex = 5;
@ -450,11 +517,23 @@
this.groupBox3.Controls.Add(this.textBoxCharName); this.groupBox3.Controls.Add(this.textBoxCharName);
this.groupBox3.Location = new System.Drawing.Point(182, 36); this.groupBox3.Location = new System.Drawing.Point(182, 36);
this.groupBox3.Name = "groupBox3"; this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(264, 207); this.groupBox3.Size = new System.Drawing.Size(284, 207);
this.groupBox3.TabIndex = 20; this.groupBox3.TabIndex = 20;
this.groupBox3.TabStop = false; this.groupBox3.TabStop = false;
this.groupBox3.Text = "Char Parameters"; this.groupBox3.Text = "Char Parameters";
// //
// 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);
//
// numericUpDownKeyYPos // numericUpDownKeyYPos
// //
this.numericUpDownKeyYPos.Location = new System.Drawing.Point(207, 167); this.numericUpDownKeyYPos.Location = new System.Drawing.Point(207, 167);
@ -601,7 +680,7 @@
// checkBoxGrabGold // checkBoxGrabGold
// //
this.checkBoxGrabGold.AutoSize = true; this.checkBoxGrabGold.AutoSize = true;
this.checkBoxGrabGold.Location = new System.Drawing.Point(6, 51); this.checkBoxGrabGold.Location = new System.Drawing.Point(13, 51);
this.checkBoxGrabGold.Name = "checkBoxGrabGold"; this.checkBoxGrabGold.Name = "checkBoxGrabGold";
this.checkBoxGrabGold.Size = new System.Drawing.Size(89, 17); this.checkBoxGrabGold.Size = new System.Drawing.Size(89, 17);
this.checkBoxGrabGold.TabIndex = 36; this.checkBoxGrabGold.TabIndex = 36;
@ -612,7 +691,7 @@
// checkBoxUseBO // checkBoxUseBO
// //
this.checkBoxUseBO.AutoSize = true; this.checkBoxUseBO.AutoSize = true;
this.checkBoxUseBO.Location = new System.Drawing.Point(6, 35); this.checkBoxUseBO.Location = new System.Drawing.Point(13, 35);
this.checkBoxUseBO.Name = "checkBoxUseBO"; this.checkBoxUseBO.Name = "checkBoxUseBO";
this.checkBoxUseBO.Size = new System.Drawing.Size(63, 17); this.checkBoxUseBO.Size = new System.Drawing.Size(63, 17);
this.checkBoxUseBO.TabIndex = 35; this.checkBoxUseBO.TabIndex = 35;
@ -623,7 +702,7 @@
// checkBoxUseTeleport // checkBoxUseTeleport
// //
this.checkBoxUseTeleport.AutoSize = true; this.checkBoxUseTeleport.AutoSize = true;
this.checkBoxUseTeleport.Location = new System.Drawing.Point(6, 19); this.checkBoxUseTeleport.Location = new System.Drawing.Point(13, 19);
this.checkBoxUseTeleport.Name = "checkBoxUseTeleport"; this.checkBoxUseTeleport.Name = "checkBoxUseTeleport";
this.checkBoxUseTeleport.Size = new System.Drawing.Size(87, 17); this.checkBoxUseTeleport.Size = new System.Drawing.Size(87, 17);
this.checkBoxUseTeleport.TabIndex = 18; this.checkBoxUseTeleport.TabIndex = 18;
@ -633,7 +712,7 @@
// checkBoxUseMerc // checkBoxUseMerc
// //
this.checkBoxUseMerc.AutoSize = true; this.checkBoxUseMerc.AutoSize = true;
this.checkBoxUseMerc.Location = new System.Drawing.Point(46, 16); this.checkBoxUseMerc.Location = new System.Drawing.Point(10, 16);
this.checkBoxUseMerc.Name = "checkBoxUseMerc"; this.checkBoxUseMerc.Name = "checkBoxUseMerc";
this.checkBoxUseMerc.Size = new System.Drawing.Size(72, 17); this.checkBoxUseMerc.Size = new System.Drawing.Size(72, 17);
this.checkBoxUseMerc.TabIndex = 35; this.checkBoxUseMerc.TabIndex = 35;
@ -642,15 +721,15 @@
// //
// numericUpDownMercTakeHPUnder // numericUpDownMercTakeHPUnder
// //
this.numericUpDownMercTakeHPUnder.Location = new System.Drawing.Point(128, 37); this.numericUpDownMercTakeHPUnder.Location = new System.Drawing.Point(216, 13);
this.numericUpDownMercTakeHPUnder.Name = "numericUpDownMercTakeHPUnder"; this.numericUpDownMercTakeHPUnder.Name = "numericUpDownMercTakeHPUnder";
this.numericUpDownMercTakeHPUnder.Size = new System.Drawing.Size(53, 20); this.numericUpDownMercTakeHPUnder.Size = new System.Drawing.Size(41, 20);
this.numericUpDownMercTakeHPUnder.TabIndex = 36; this.numericUpDownMercTakeHPUnder.TabIndex = 36;
// //
// label22 // label22
// //
this.label22.AutoSize = true; this.label22.AutoSize = true;
this.label22.Location = new System.Drawing.Point(7, 39); this.label22.Location = new System.Drawing.Point(99, 17);
this.label22.Name = "label22"; this.label22.Name = "label22";
this.label22.Size = new System.Drawing.Size(115, 13); this.label22.Size = new System.Drawing.Size(115, 13);
this.label22.TabIndex = 35; this.label22.TabIndex = 35;
@ -661,32 +740,71 @@
this.groupBox4.Controls.Add(this.checkBoxUseMerc); this.groupBox4.Controls.Add(this.checkBoxUseMerc);
this.groupBox4.Controls.Add(this.numericUpDownMercTakeHPUnder); this.groupBox4.Controls.Add(this.numericUpDownMercTakeHPUnder);
this.groupBox4.Controls.Add(this.label22); this.groupBox4.Controls.Add(this.label22);
this.groupBox4.Location = new System.Drawing.Point(5, 249); this.groupBox4.Location = new System.Drawing.Point(182, 310);
this.groupBox4.Name = "groupBox4"; this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(190, 64); this.groupBox4.Size = new System.Drawing.Size(284, 41);
this.groupBox4.TabIndex = 37; this.groupBox4.TabIndex = 37;
this.groupBox4.TabStop = false; this.groupBox4.TabStop = false;
this.groupBox4.Text = "Merc Parameters"; this.groupBox4.Text = "Merc Parameters";
// //
// groupBox5 // groupBox5
// //
this.groupBox5.Controls.Add(this.checkBoxUseKeys);
this.groupBox5.Controls.Add(this.checkBoxClearAfterBoss);
this.groupBox5.Controls.Add(this.comboBoxAvoidImmune);
this.groupBox5.Controls.Add(this.label24);
this.groupBox5.Controls.Add(this.checkBoxGamble); this.groupBox5.Controls.Add(this.checkBoxGamble);
this.groupBox5.Controls.Add(this.checkBoxDClone); this.groupBox5.Controls.Add(this.checkBoxDClone);
this.groupBox5.Controls.Add(this.checkBoxIDAtShop); this.groupBox5.Controls.Add(this.checkBoxIDAtShop);
this.groupBox5.Controls.Add(this.checkBoxGrabGold); this.groupBox5.Controls.Add(this.checkBoxGrabGold);
this.groupBox5.Controls.Add(this.checkBoxUseTeleport); this.groupBox5.Controls.Add(this.checkBoxUseTeleport);
this.groupBox5.Controls.Add(this.checkBoxUseBO); this.groupBox5.Controls.Add(this.checkBoxUseBO);
this.groupBox5.Location = new System.Drawing.Point(293, 319); this.groupBox5.Location = new System.Drawing.Point(5, 315);
this.groupBox5.Name = "groupBox5"; this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(153, 168); this.groupBox5.Size = new System.Drawing.Size(171, 201);
this.groupBox5.TabIndex = 5; this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false; this.groupBox5.TabStop = false;
this.groupBox5.Text = "Extras"; this.groupBox5.Text = "Extras";
// //
// checkBoxClearAfterBoss
//
this.checkBoxClearAfterBoss.AutoSize = true;
this.checkBoxClearAfterBoss.Location = new System.Drawing.Point(13, 115);
this.checkBoxClearAfterBoss.Name = "checkBoxClearAfterBoss";
this.checkBoxClearAfterBoss.Size = new System.Drawing.Size(117, 17);
this.checkBoxClearAfterBoss.TabIndex = 42;
this.checkBoxClearAfterBoss.Text = "Clear After Boss Kill";
this.toolTip1.SetToolTip(this.checkBoxClearAfterBoss, "Enable this to clear the area after a Boss is killed");
this.checkBoxClearAfterBoss.UseVisualStyleBackColor = true;
//
// comboBoxAvoidImmune
//
this.comboBoxAvoidImmune.FormattingEnabled = true;
this.comboBoxAvoidImmune.Items.AddRange(new object[] {
"None",
"Cold Immune",
"Fire Immune",
"Light Immune",
"Poison Immune",
"Magic Immune"});
this.comboBoxAvoidImmune.Location = new System.Drawing.Point(13, 174);
this.comboBoxAvoidImmune.Name = "comboBoxAvoidImmune";
this.comboBoxAvoidImmune.Size = new System.Drawing.Size(139, 21);
this.comboBoxAvoidImmune.TabIndex = 41;
//
// label24
//
this.label24.AutoSize = true;
this.label24.Location = new System.Drawing.Point(44, 158);
this.label24.Name = "label24";
this.label24.Size = new System.Drawing.Size(77, 13);
this.label24.TabIndex = 40;
this.label24.Text = "Avoid Immune:";
//
// checkBoxGamble // checkBoxGamble
// //
this.checkBoxGamble.AutoSize = true; this.checkBoxGamble.AutoSize = true;
this.checkBoxGamble.Location = new System.Drawing.Point(6, 99); this.checkBoxGamble.Location = new System.Drawing.Point(13, 99);
this.checkBoxGamble.Name = "checkBoxGamble"; this.checkBoxGamble.Name = "checkBoxGamble";
this.checkBoxGamble.Size = new System.Drawing.Size(87, 17); this.checkBoxGamble.Size = new System.Drawing.Size(87, 17);
this.checkBoxGamble.TabIndex = 39; this.checkBoxGamble.TabIndex = 39;
@ -698,7 +816,7 @@
// checkBoxDClone // checkBoxDClone
// //
this.checkBoxDClone.AutoSize = true; this.checkBoxDClone.AutoSize = true;
this.checkBoxDClone.Location = new System.Drawing.Point(6, 83); this.checkBoxDClone.Location = new System.Drawing.Point(13, 83);
this.checkBoxDClone.Name = "checkBoxDClone"; this.checkBoxDClone.Name = "checkBoxDClone";
this.checkBoxDClone.Size = new System.Drawing.Size(109, 17); this.checkBoxDClone.Size = new System.Drawing.Size(109, 17);
this.checkBoxDClone.TabIndex = 38; this.checkBoxDClone.TabIndex = 38;
@ -709,7 +827,7 @@
// checkBoxIDAtShop // checkBoxIDAtShop
// //
this.checkBoxIDAtShop.AutoSize = true; this.checkBoxIDAtShop.AutoSize = true;
this.checkBoxIDAtShop.Location = new System.Drawing.Point(6, 67); this.checkBoxIDAtShop.Location = new System.Drawing.Point(13, 67);
this.checkBoxIDAtShop.Name = "checkBoxIDAtShop"; this.checkBoxIDAtShop.Name = "checkBoxIDAtShop";
this.checkBoxIDAtShop.Size = new System.Drawing.Size(78, 17); this.checkBoxIDAtShop.Size = new System.Drawing.Size(78, 17);
this.checkBoxIDAtShop.TabIndex = 37; this.checkBoxIDAtShop.TabIndex = 37;
@ -717,45 +835,6 @@
this.toolTip1.SetToolTip(this.checkBoxIDAtShop, "Disabled will ID at Cain"); this.toolTip1.SetToolTip(this.checkBoxIDAtShop, "Disabled will ID at Cain");
this.checkBoxIDAtShop.UseVisualStyleBackColor = true; this.checkBoxIDAtShop.UseVisualStyleBackColor = true;
// //
// label23
//
this.label23.AutoSize = true;
this.label23.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label23.ForeColor = System.Drawing.Color.Red;
this.label23.Location = new System.Drawing.Point(8, 425);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(277, 13);
this.label23.TabIndex = 39;
this.label23.Text = "Put theses dummy items inside the shared stash";
//
// openFileDialog1
//
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 // 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.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
@ -782,6 +861,34 @@
this.button1.UseVisualStyleBackColor = true; this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click); this.button1.Click += new System.EventHandler(this.button1_Click);
// //
// label23
//
this.label23.AutoSize = true;
this.label23.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label23.ForeColor = System.Drawing.Color.Red;
this.label23.Location = new System.Drawing.Point(186, 463);
this.label23.Name = "label23";
this.label23.Size = new System.Drawing.Size(277, 13);
this.label23.TabIndex = 39;
this.label23.Text = "Put theses dummy items inside the shared stash";
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "*.txt";
this.openFileDialog1.Filter = "\'Char\' Settings|*.txt";
this.openFileDialog1.Title = "Open \'PaladinHammer.txt\' or \'SorceressBlizzard.txt\'";
//
// 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(472, 248);
this.panelHelpKeys.Name = "panelHelpKeys";
this.panelHelpKeys.Size = new System.Drawing.Size(441, 190);
this.panelHelpKeys.TabIndex = 41;
this.panelHelpKeys.Visible = false;
//
// button2 // button2
// //
this.button2.Image = global::app.Properties.Resources.Delete; this.button2.Image = global::app.Properties.Resources.Delete;
@ -792,12 +899,25 @@
this.button2.UseVisualStyleBackColor = true; this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click); this.button2.Click += new System.EventHandler(this.button2_Click);
// //
// checkBoxUseKeys
//
this.checkBoxUseKeys.AutoSize = true;
this.checkBoxUseKeys.Location = new System.Drawing.Point(13, 131);
this.checkBoxUseKeys.Name = "checkBoxUseKeys";
this.checkBoxUseKeys.Size = new System.Drawing.Size(136, 17);
this.checkBoxUseKeys.TabIndex = 43;
this.checkBoxUseKeys.Text = "Have Keys in Inventory";
this.toolTip1.SetToolTip(this.checkBoxUseKeys, "Enable this if you have Keys in your inventory and want to purchase Keys at Shop " +
" for Chest opening");
this.checkBoxUseKeys.UseVisualStyleBackColor = true;
this.checkBoxUseKeys.CheckedChanged += new System.EventHandler(this.checkBoxUseKeys_CheckedChanged);
//
// FormCharSettings // FormCharSettings
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark; this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(452, 487); this.ClientSize = new System.Drawing.Size(469, 528);
this.Controls.Add(this.panelHelpKeys); this.Controls.Add(this.panelHelpKeys);
this.Controls.Add(this.buttonReload); this.Controls.Add(this.buttonReload);
this.Controls.Add(this.label23); this.Controls.Add(this.label23);
@ -910,5 +1030,15 @@
private System.Windows.Forms.LinkLabel linkLabel1; private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Panel panelHelpKeys; private System.Windows.Forms.Panel panelHelpKeys;
private System.Windows.Forms.Button button2; private System.Windows.Forms.Button button2;
private System.Windows.Forms.ComboBox comboBoxAvoidImmune;
private System.Windows.Forms.Label label24;
private System.Windows.Forms.TextBox textBoxBattleCry;
private System.Windows.Forms.Label label27;
private System.Windows.Forms.TextBox textBoxBattleCommand;
private System.Windows.Forms.Label label26;
private System.Windows.Forms.TextBox textBoxBattleOrder;
private System.Windows.Forms.Label label25;
private System.Windows.Forms.CheckBox checkBoxClearAfterBoss;
private System.Windows.Forms.CheckBox checkBoxUseKeys;
} }
} }

View File

@ -21,6 +21,11 @@ namespace app
Form1_0 = form1_1; Form1_0 = form1_1;
InitializeComponent(); InitializeComponent();
panelHelpKeys.Location = new Point(4, 248);
panelHelpKeys.Visible = false;
comboBoxAvoidImmune.SelectedIndex = 0;
for (int i = 0; i < 40; i++) for (int i = 0; i < 40; i++)
{ {
CheckBox CheckBox_0 = new CheckBox(); CheckBox CheckBox_0 = new CheckBox();
@ -35,22 +40,22 @@ namespace app
{ {
if (i < 10) if (i < 10)
{ {
ThisXPos = groupBoxInventory.Location.X + 5 + (i * 18); ThisXPos = this.Location.X + 5 + (i * 18);
ThixYPos = 20; ThixYPos = 20;
} }
if (i >= 10 && i < 20) if (i >= 10 && i < 20)
{ {
ThisXPos = groupBoxInventory.Location.X + 5 + ((i - 10) * 18); ThisXPos = this.Location.X + 5 + ((i - 10) * 18);
ThixYPos = 20 + (18 * 1); ThixYPos = 20 + (18 * 1);
} }
if (i >= 20 && i < 30) if (i >= 20 && i < 30)
{ {
ThisXPos = groupBoxInventory.Location.X + 5 + ((i - 20) * 18); ThisXPos = this.Location.X + 5 + ((i - 20) * 18);
ThixYPos = 20 + (18 * 2); ThixYPos = 20 + (18 * 2);
} }
if (i >= 30 && i < 40) if (i >= 30 && i < 40)
{ {
ThisXPos = groupBoxInventory.Location.X + 5 + ((i - 30) * 18); ThisXPos = this.Location.X + 5 + ((i - 30) * 18);
ThixYPos = 20 + (18 * 3); ThixYPos = 20 + (18 * 3);
} }
@ -74,6 +79,9 @@ namespace app
textBoxDefenseSkill.Text = CharConfig.KeySkillDefenseAura.ToString(); textBoxDefenseSkill.Text = CharConfig.KeySkillDefenseAura.ToString();
textBoxCastDefenseSkill.Text = CharConfig.KeySkillCastDefense.ToString(); textBoxCastDefenseSkill.Text = CharConfig.KeySkillCastDefense.ToString();
textBoxLifeSkill.Text = CharConfig.KeySkillLifeAura.ToString(); textBoxLifeSkill.Text = CharConfig.KeySkillLifeAura.ToString();
textBoxBattleOrder.Text = CharConfig.KeySkillBattleOrder.ToString();
textBoxBattleCommand.Text = CharConfig.KeySkillBattleCommand.ToString();
textBoxBattleCry.Text = CharConfig.KeySkillBattleCry.ToString();
checkBoxAttachRightHand.Checked = CharConfig.PlayerAttackWithRightHand; checkBoxAttachRightHand.Checked = CharConfig.PlayerAttackWithRightHand;
@ -115,6 +123,16 @@ namespace app
if (CharConfig.InventoryDontCheckItem[i] == 1) AvailableSlotList[i].Checked = true; if (CharConfig.InventoryDontCheckItem[i] == 1) AvailableSlotList[i].Checked = true;
} }
if (CharConfig.AvoidColdImmune) comboBoxAvoidImmune.SelectedIndex = 1;
if (CharConfig.AvoidFireImmune) comboBoxAvoidImmune.SelectedIndex = 2;
if (CharConfig.AvoidLightImmune) comboBoxAvoidImmune.SelectedIndex = 3;
if (CharConfig.AvoidPoisonImmune) comboBoxAvoidImmune.SelectedIndex = 4;
if (CharConfig.AvoidMagicImmune) comboBoxAvoidImmune.SelectedIndex = 5;
checkBoxClearAfterBoss.Checked = CharConfig.ClearAfterBoss;
checkBoxUseKeys.Checked = CharConfig.UseKeys;
SetUsingKeys();
CanReloadSettings = true; CanReloadSettings = true;
} }
@ -130,6 +148,9 @@ namespace app
Enum.TryParse(textBoxDefenseSkill.Text, out CharConfig.KeySkillDefenseAura); Enum.TryParse(textBoxDefenseSkill.Text, out CharConfig.KeySkillDefenseAura);
Enum.TryParse(textBoxCastDefenseSkill.Text, out CharConfig.KeySkillCastDefense); Enum.TryParse(textBoxCastDefenseSkill.Text, out CharConfig.KeySkillCastDefense);
Enum.TryParse(textBoxLifeSkill.Text, out CharConfig.KeySkillLifeAura); Enum.TryParse(textBoxLifeSkill.Text, out CharConfig.KeySkillLifeAura);
Enum.TryParse(textBoxBattleOrder.Text, out CharConfig.KeySkillBattleOrder);
Enum.TryParse(textBoxBattleCommand.Text, out CharConfig.KeySkillBattleCommand);
Enum.TryParse(textBoxBattleCry.Text, out CharConfig.KeySkillBattleCry);
CharConfig.PlayerAttackWithRightHand = checkBoxAttachRightHand.Checked; CharConfig.PlayerAttackWithRightHand = checkBoxAttachRightHand.Checked;
@ -164,6 +185,74 @@ namespace app
if (!AvailableSlotList[i].Checked) CharConfig.InventoryDontCheckItem[i] = 0; if (!AvailableSlotList[i].Checked) CharConfig.InventoryDontCheckItem[i] = 0;
if (AvailableSlotList[i].Checked) CharConfig.InventoryDontCheckItem[i] = 1; if (AvailableSlotList[i].Checked) CharConfig.InventoryDontCheckItem[i] = 1;
} }
if (comboBoxAvoidImmune.SelectedIndex == 0)
{
CharConfig.AvoidColdImmune = false;
CharConfig.AvoidFireImmune = false;
CharConfig.AvoidLightImmune = false;
CharConfig.AvoidPoisonImmune = false;
CharConfig.AvoidMagicImmune = false;
}
else if (comboBoxAvoidImmune.SelectedIndex == 1)
{
CharConfig.AvoidColdImmune = true;
CharConfig.AvoidFireImmune = false;
CharConfig.AvoidLightImmune = false;
CharConfig.AvoidPoisonImmune = false;
CharConfig.AvoidMagicImmune = false;
}
else if (comboBoxAvoidImmune.SelectedIndex == 2)
{
CharConfig.AvoidColdImmune = false;
CharConfig.AvoidFireImmune = true;
CharConfig.AvoidLightImmune = false;
CharConfig.AvoidPoisonImmune = false;
CharConfig.AvoidMagicImmune = false;
}
else if (comboBoxAvoidImmune.SelectedIndex == 3)
{
CharConfig.AvoidColdImmune = false;
CharConfig.AvoidFireImmune = false;
CharConfig.AvoidLightImmune = true;
CharConfig.AvoidPoisonImmune = false;
CharConfig.AvoidMagicImmune = false;
}
else if (comboBoxAvoidImmune.SelectedIndex == 4)
{
CharConfig.AvoidColdImmune = false;
CharConfig.AvoidFireImmune = false;
CharConfig.AvoidLightImmune = false;
CharConfig.AvoidPoisonImmune = true;
CharConfig.AvoidMagicImmune = false;
}
else if (comboBoxAvoidImmune.SelectedIndex == 5)
{
CharConfig.AvoidColdImmune = false;
CharConfig.AvoidFireImmune = false;
CharConfig.AvoidLightImmune = false;
CharConfig.AvoidPoisonImmune = false;
CharConfig.AvoidMagicImmune = true;
}
CharConfig.ClearAfterBoss = checkBoxClearAfterBoss.Checked;
CharConfig.UseKeys = checkBoxUseKeys.Checked;
}
public void SetUsingKeys()
{
if (checkBoxUseKeys.Checked)
{
numericUpDownKeyXPos.Enabled = true;
numericUpDownKeyYPos.Enabled = true;
linkLabel1.Enabled = true;
}
else
{
numericUpDownKeyXPos.Enabled = false;
numericUpDownKeyYPos.Enabled = false;
linkLabel1.Enabled = false;
}
} }
private void FormCharSettings_FormClosing(object sender, FormClosingEventArgs e) private void FormCharSettings_FormClosing(object sender, FormClosingEventArgs e)
@ -224,5 +313,10 @@ namespace app
{ {
panelHelpKeys.Visible = false; panelHelpKeys.Visible = false;
} }
private void checkBoxUseKeys_CheckedChanged(object sender, EventArgs e)
{
SetUsingKeys();
}
} }
} }

223
FormSettings.Designer.cs generated
View File

@ -104,6 +104,7 @@
this.buttonBaalAddMob = new System.Windows.Forms.Button(); this.buttonBaalAddMob = new System.Windows.Forms.Button();
this.buttonBaalClearMob = new System.Windows.Forms.Button(); this.buttonBaalClearMob = new System.Windows.Forms.Button();
this.label13 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label();
this.buttonReload = new System.Windows.Forms.Button();
this.panelBaalFeature = new System.Windows.Forms.Panel(); this.panelBaalFeature = new System.Windows.Forms.Panel();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.listViewBaalLeaveOnMobs = new System.Windows.Forms.ListView(); this.listViewBaalLeaveOnMobs = new System.Windows.Forms.ListView();
@ -114,8 +115,21 @@
this.label9 = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label();
this.buttonReload = new System.Windows.Forms.Button();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.panelOverlay = new System.Windows.Forms.Panel();
this.button3 = new System.Windows.Forms.Button();
this.label14 = new System.Windows.Forms.Label();
this.checkBoxOverlayShowMobs = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowWP = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowGoodChest = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowLogs = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowBotInfos = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowUnitsCount = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowMH = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowExits = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowPath = new System.Windows.Forms.CheckBox();
this.checkBoxOverlayShowNPC = new System.Windows.Forms.CheckBox();
this.buttonOverlaySettings = new System.Windows.Forms.Button();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownRunNumber)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownRunNumber)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxTime)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownMaxTime)).BeginInit();
@ -124,6 +138,7 @@
((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalMobCount)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDownBaalMobCount)).BeginInit();
this.panelBaalFeature.SuspendLayout(); this.panelBaalFeature.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.panelOverlay.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// listViewRunScripts // listViewRunScripts
@ -612,6 +627,19 @@
this.label13.Text = "!"; this.label13.Text = "!";
this.toolTip1.SetToolTip(this.label13, "Double Clic on a Run script to edit it\'s features (if there is any)"); this.toolTip1.SetToolTip(this.label13, "Double Clic on a Run script to edit it\'s features (if there is any)");
// //
// 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(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);
//
// panelBaalFeature // panelBaalFeature
// //
this.panelBaalFeature.Controls.Add(this.groupBox2); this.panelBaalFeature.Controls.Add(this.groupBox2);
@ -717,31 +745,182 @@
this.label7.TabIndex = 0; this.label7.TabIndex = 0;
this.label7.Text = "Baal Run Features"; this.label7.Text = "Baal Run Features";
// //
// 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(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 // openFileDialog1
// //
this.openFileDialog1.DefaultExt = "*.txt"; this.openFileDialog1.DefaultExt = "*.txt";
this.openFileDialog1.Filter = "BotSettings|*.txt"; this.openFileDialog1.Filter = "BotSettings|*.txt";
this.openFileDialog1.Title = "Open \'BotSettings.txt\'"; this.openFileDialog1.Title = "Open \'BotSettings.txt\'";
// //
// panelOverlay
//
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowUnitsCount);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowMH);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowExits);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowPath);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowNPC);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowBotInfos);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowLogs);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowGoodChest);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowWP);
this.panelOverlay.Controls.Add(this.checkBoxOverlayShowMobs);
this.panelOverlay.Controls.Add(this.label14);
this.panelOverlay.Controls.Add(this.button3);
this.panelOverlay.Location = new System.Drawing.Point(523, 12);
this.panelOverlay.Name = "panelOverlay";
this.panelOverlay.Size = new System.Drawing.Size(203, 275);
this.panelOverlay.TabIndex = 18;
//
// button3
//
this.button3.Location = new System.Drawing.Point(61, 246);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 12;
this.button3.Text = "Apply";
this.toolTip1.SetToolTip(this.button3, "Apply and Leave this menu");
this.button3.UseVisualStyleBackColor = true;
this.button3.Click += new System.EventHandler(this.button3_Click);
//
// label14
//
this.label14.AutoSize = true;
this.label14.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label14.ForeColor = System.Drawing.Color.Blue;
this.label14.Location = new System.Drawing.Point(50, 11);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(103, 13);
this.label14.TabIndex = 12;
this.label14.Text = "Overlay Features";
//
// checkBoxOverlayShowMobs
//
this.checkBoxOverlayShowMobs.AutoSize = true;
this.checkBoxOverlayShowMobs.Location = new System.Drawing.Point(14, 33);
this.checkBoxOverlayShowMobs.Name = "checkBoxOverlayShowMobs";
this.checkBoxOverlayShowMobs.Size = new System.Drawing.Size(82, 17);
this.checkBoxOverlayShowMobs.TabIndex = 12;
this.checkBoxOverlayShowMobs.Text = "Show Mobs";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowMobs, "Enable this to Kill Baal");
this.checkBoxOverlayShowMobs.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowWP
//
this.checkBoxOverlayShowWP.AutoSize = true;
this.checkBoxOverlayShowWP.Location = new System.Drawing.Point(14, 50);
this.checkBoxOverlayShowWP.Name = "checkBoxOverlayShowWP";
this.checkBoxOverlayShowWP.Size = new System.Drawing.Size(79, 17);
this.checkBoxOverlayShowWP.TabIndex = 13;
this.checkBoxOverlayShowWP.Text = "Show WPs";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowWP, "Enable this to Kill Baal");
this.checkBoxOverlayShowWP.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowGoodChest
//
this.checkBoxOverlayShowGoodChest.AutoSize = true;
this.checkBoxOverlayShowGoodChest.Location = new System.Drawing.Point(14, 67);
this.checkBoxOverlayShowGoodChest.Name = "checkBoxOverlayShowGoodChest";
this.checkBoxOverlayShowGoodChest.Size = new System.Drawing.Size(117, 17);
this.checkBoxOverlayShowGoodChest.TabIndex = 14;
this.checkBoxOverlayShowGoodChest.Text = "Show Good Chests";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowGoodChest, "Enable this to Kill Baal");
this.checkBoxOverlayShowGoodChest.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowLogs
//
this.checkBoxOverlayShowLogs.AutoSize = true;
this.checkBoxOverlayShowLogs.Location = new System.Drawing.Point(14, 84);
this.checkBoxOverlayShowLogs.Name = "checkBoxOverlayShowLogs";
this.checkBoxOverlayShowLogs.Size = new System.Drawing.Size(79, 17);
this.checkBoxOverlayShowLogs.TabIndex = 15;
this.checkBoxOverlayShowLogs.Text = "Show Logs";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowLogs, "Enable this to Kill Baal");
this.checkBoxOverlayShowLogs.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowBotInfos
//
this.checkBoxOverlayShowBotInfos.AutoSize = true;
this.checkBoxOverlayShowBotInfos.Location = new System.Drawing.Point(14, 101);
this.checkBoxOverlayShowBotInfos.Name = "checkBoxOverlayShowBotInfos";
this.checkBoxOverlayShowBotInfos.Size = new System.Drawing.Size(132, 17);
this.checkBoxOverlayShowBotInfos.TabIndex = 16;
this.checkBoxOverlayShowBotInfos.Text = "Show Bot Informations";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowBotInfos, "Enable this to Kill Baal");
this.checkBoxOverlayShowBotInfos.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowUnitsCount
//
this.checkBoxOverlayShowUnitsCount.AutoSize = true;
this.checkBoxOverlayShowUnitsCount.Location = new System.Drawing.Point(14, 186);
this.checkBoxOverlayShowUnitsCount.Name = "checkBoxOverlayShowUnitsCount";
this.checkBoxOverlayShowUnitsCount.Size = new System.Drawing.Size(139, 17);
this.checkBoxOverlayShowUnitsCount.TabIndex = 21;
this.checkBoxOverlayShowUnitsCount.Text = "Show Units Scan Count";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowUnitsCount, "Enable this to Kill Baal");
this.checkBoxOverlayShowUnitsCount.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowMH
//
this.checkBoxOverlayShowMH.AutoSize = true;
this.checkBoxOverlayShowMH.Location = new System.Drawing.Point(14, 169);
this.checkBoxOverlayShowMH.Name = "checkBoxOverlayShowMH";
this.checkBoxOverlayShowMH.Size = new System.Drawing.Size(179, 17);
this.checkBoxOverlayShowMH.TabIndex = 20;
this.checkBoxOverlayShowMH.Text = "Show Maphack Lines (MH Only)";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowMH, "Enable this to Kill Baal");
this.checkBoxOverlayShowMH.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowExits
//
this.checkBoxOverlayShowExits.AutoSize = true;
this.checkBoxOverlayShowExits.Location = new System.Drawing.Point(14, 152);
this.checkBoxOverlayShowExits.Name = "checkBoxOverlayShowExits";
this.checkBoxOverlayShowExits.Size = new System.Drawing.Size(78, 17);
this.checkBoxOverlayShowExits.TabIndex = 19;
this.checkBoxOverlayShowExits.Text = "Show Exits";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowExits, "Enable this to Kill Baal");
this.checkBoxOverlayShowExits.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowPath
//
this.checkBoxOverlayShowPath.AutoSize = true;
this.checkBoxOverlayShowPath.Location = new System.Drawing.Point(14, 135);
this.checkBoxOverlayShowPath.Name = "checkBoxOverlayShowPath";
this.checkBoxOverlayShowPath.Size = new System.Drawing.Size(115, 17);
this.checkBoxOverlayShowPath.TabIndex = 18;
this.checkBoxOverlayShowPath.Text = "Show Path Finding";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowPath, "Enable this to Kill Baal");
this.checkBoxOverlayShowPath.UseVisualStyleBackColor = true;
//
// checkBoxOverlayShowNPC
//
this.checkBoxOverlayShowNPC.AutoSize = true;
this.checkBoxOverlayShowNPC.Location = new System.Drawing.Point(14, 118);
this.checkBoxOverlayShowNPC.Name = "checkBoxOverlayShowNPC";
this.checkBoxOverlayShowNPC.Size = new System.Drawing.Size(85, 17);
this.checkBoxOverlayShowNPC.TabIndex = 17;
this.checkBoxOverlayShowNPC.Text = "Show NPC\'s";
this.toolTip1.SetToolTip(this.checkBoxOverlayShowNPC, "Enable this to Kill Baal");
this.checkBoxOverlayShowNPC.UseVisualStyleBackColor = true;
//
// buttonOverlaySettings
//
this.buttonOverlaySettings.Image = global::app.Properties.Resources.Application;
this.buttonOverlaySettings.Location = new System.Drawing.Point(184, 605);
this.buttonOverlaySettings.Name = "buttonOverlaySettings";
this.buttonOverlaySettings.Size = new System.Drawing.Size(32, 25);
this.buttonOverlaySettings.TabIndex = 9;
this.toolTip1.SetToolTip(this.buttonOverlaySettings, "Edit Overlay Settings");
this.buttonOverlaySettings.UseVisualStyleBackColor = true;
this.buttonOverlaySettings.Click += new System.EventHandler(this.buttonOverlaySettings_Click);
//
// FormSettings // FormSettings
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlDark; this.BackColor = System.Drawing.SystemColors.ControlDark;
this.ClientSize = new System.Drawing.Size(251, 656); this.ClientSize = new System.Drawing.Size(251, 656);
this.Controls.Add(this.buttonOverlaySettings);
this.Controls.Add(this.panelOverlay);
this.Controls.Add(this.buttonReload); this.Controls.Add(this.buttonReload);
this.Controls.Add(this.label13); this.Controls.Add(this.label13);
this.Controls.Add(this.panelBaalFeature); this.Controls.Add(this.panelBaalFeature);
@ -780,6 +959,8 @@
this.panelBaalFeature.PerformLayout(); this.panelBaalFeature.PerformLayout();
this.groupBox2.ResumeLayout(false); this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout(); this.groupBox2.PerformLayout();
this.panelOverlay.ResumeLayout(false);
this.panelOverlay.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -837,5 +1018,19 @@
private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label13;
private System.Windows.Forms.Button buttonReload; private System.Windows.Forms.Button buttonReload;
private System.Windows.Forms.OpenFileDialog openFileDialog1; private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.Panel panelOverlay;
private System.Windows.Forms.CheckBox checkBoxOverlayShowBotInfos;
private System.Windows.Forms.CheckBox checkBoxOverlayShowLogs;
private System.Windows.Forms.CheckBox checkBoxOverlayShowGoodChest;
private System.Windows.Forms.CheckBox checkBoxOverlayShowWP;
private System.Windows.Forms.CheckBox checkBoxOverlayShowMobs;
private System.Windows.Forms.Label label14;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.CheckBox checkBoxOverlayShowUnitsCount;
private System.Windows.Forms.CheckBox checkBoxOverlayShowMH;
private System.Windows.Forms.CheckBox checkBoxOverlayShowExits;
private System.Windows.Forms.CheckBox checkBoxOverlayShowPath;
private System.Windows.Forms.CheckBox checkBoxOverlayShowNPC;
private System.Windows.Forms.Button buttonOverlaySettings;
} }
} }

View File

@ -21,6 +21,9 @@ namespace app
panelBaalFeature.Visible = false; panelBaalFeature.Visible = false;
panelBaalFeature.Location = new System.Drawing.Point(23, 197); panelBaalFeature.Location = new System.Drawing.Point(23, 197);
panelOverlay.Visible = false;
panelOverlay.Location = new System.Drawing.Point(23, 197);
LoadSettings(); LoadSettings();
} }
@ -87,6 +90,7 @@ namespace app
numericUpDownRunNumber.Value = Form1_0.CurrentGameNumber; numericUpDownRunNumber.Value = Form1_0.CurrentGameNumber;
//################### //###################
//SPECIALS BAAL FEATURES
checkBoxKillBaal.Checked = Form1_0.Baal_0.KillBaal; checkBoxKillBaal.Checked = Form1_0.Baal_0.KillBaal;
checkBoxBaalSafeHealing.Checked = Form1_0.Baal_0.SafeYoloStrat; checkBoxBaalSafeHealing.Checked = Form1_0.Baal_0.SafeYoloStrat;
numericUpDownBaalLeaveMobsCount.Value = Form1_0.Baal_0.LeaveIfMobsCountIsAbove; numericUpDownBaalLeaveMobsCount.Value = Form1_0.Baal_0.LeaveIfMobsCountIsAbove;
@ -100,6 +104,18 @@ namespace app
listViewBaalLeaveOnMobs.Items.Add(item); listViewBaalLeaveOnMobs.Items.Add(item);
} }
//################### //###################
//SPECIALS OVERLAY FEATURES
checkBoxOverlayShowMobs.Checked = Form1_0.overlayForm.ShowMobs;
checkBoxOverlayShowWP.Checked = Form1_0.overlayForm.ShowWPs;
checkBoxOverlayShowGoodChest.Checked = Form1_0.overlayForm.ShowGoodChests;
checkBoxOverlayShowLogs.Checked = Form1_0.overlayForm.ShowLogs;
checkBoxOverlayShowBotInfos.Checked = Form1_0.overlayForm.ShowBotInfos;
checkBoxOverlayShowNPC.Checked = Form1_0.overlayForm.ShowNPC;
checkBoxOverlayShowPath.Checked = Form1_0.overlayForm.ShowPathFinding;
checkBoxOverlayShowExits.Checked = Form1_0.overlayForm.ShowExits;
checkBoxOverlayShowMH.Checked = Form1_0.overlayForm.ShowMapHackShowLines;
checkBoxOverlayShowUnitsCount.Checked = Form1_0.overlayForm.ShowUnitsScanCount;
//###################
SetCreateGameGroupbox(); SetCreateGameGroupbox();
SetRushMenu(); SetRushMenu();
@ -220,6 +236,18 @@ namespace app
Form1_0.Baal_0.LeaveIfMobsIsPresent_Count.Add(int.Parse(listViewBaalLeaveOnMobs.Items[i].SubItems[1].Text)); Form1_0.Baal_0.LeaveIfMobsIsPresent_Count.Add(int.Parse(listViewBaalLeaveOnMobs.Items[i].SubItems[1].Text));
} }
//################### //###################
//SPECIALS OVERLAY FEATURES
Form1_0.overlayForm.ShowMobs = checkBoxOverlayShowMobs.Checked;
Form1_0.overlayForm.ShowWPs = checkBoxOverlayShowWP.Checked;
Form1_0.overlayForm.ShowGoodChests = checkBoxOverlayShowGoodChest.Checked;
Form1_0.overlayForm.ShowLogs = checkBoxOverlayShowLogs.Checked;
Form1_0.overlayForm.ShowBotInfos = checkBoxOverlayShowBotInfos.Checked;
Form1_0.overlayForm.ShowNPC = checkBoxOverlayShowNPC.Checked;
Form1_0.overlayForm.ShowPathFinding = checkBoxOverlayShowPath.Checked;
Form1_0.overlayForm.ShowExits = checkBoxOverlayShowExits.Checked;
Form1_0.overlayForm.ShowMapHackShowLines = checkBoxOverlayShowMH.Checked;
Form1_0.overlayForm.ShowUnitsScanCount = checkBoxOverlayShowUnitsCount.Checked;
//###################
} }
private void button1_Click(object sender, EventArgs e) private void button1_Click(object sender, EventArgs e)
@ -267,10 +295,13 @@ namespace app
listViewRunScripts.SelectedItems[0].Checked = !listViewRunScripts.SelectedItems[0].Checked; listViewRunScripts.SelectedItems[0].Checked = !listViewRunScripts.SelectedItems[0].Checked;
if (listViewRunScripts.SelectedItems[0].Text == "Baal") if (listViewRunScripts.SelectedItems[0].Text == "Baal")
{ {
Form1_0.Baal_0.KillBaal = checkBoxKillBaal.Checked = Form1_0.Baal_0.KillBaal; checkBoxKillBaal.Checked = Form1_0.Baal_0.KillBaal;
panelBaalFeature.Visible = true; panelBaalFeature.Visible = true;
} }
if (listViewRunScripts.SelectedItems[0].Text == "Maphack ONLY (no script running)")
{
panelOverlay.Visible = true;
}
else else
{ {
MessageBox.Show("No specials features exist for this run!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("No specials features exist for this run!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Information);
@ -313,5 +344,15 @@ namespace app
Application.DoEvents(); Application.DoEvents();
} }
} }
private void button3_Click(object sender, EventArgs e)
{
panelOverlay.Visible = false;
}
private void buttonOverlaySettings_Click(object sender, EventArgs e)
{
panelOverlay.Visible = true;
}
} }
} }

View File

@ -11,6 +11,7 @@ using System.Security.Cryptography;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
using static app.MapAreaStruc; using static app.MapAreaStruc;
using static System.Diagnostics.DebuggableAttribute; using static System.Diagnostics.DebuggableAttribute;
@ -22,6 +23,23 @@ namespace app
public Form1 Form1_0; public Form1 Form1_0;
//#######################################
//#######################################
//SETTINGS CONFIGURATION
public bool ShowMobs = true;
public bool ShowWPs = true;
public bool ShowGoodChests = true;
public bool ShowLogs = true;
public bool ShowBotInfos = true;
public bool ShowNPC = true;
public bool ShowPathFinding = true;
public bool ShowExits = true;
public bool ShowMapHackShowLines = true;
public bool ShowUnitsScanCount = false; //false = only on debug menu open
//#######################################
//#######################################
private Pen redPen = new Pen(Color.FromArgb(150, 255, 0, 0), 2); private Pen redPen = new Pen(Color.FromArgb(150, 255, 0, 0), 2);
private Pen yellowPen = new Pen(Color.FromArgb(150, 255, 255, 0), 2); private Pen yellowPen = new Pen(Color.FromArgb(150, 255, 255, 0), 2);
private Pen greenPen = new Pen(Color.FromArgb(150, 0, 255, 0), 2); private Pen greenPen = new Pen(Color.FromArgb(150, 0, 255, 0), 2);
@ -43,6 +61,7 @@ namespace app
public List<System.Drawing.Point> MobsPoints = new List<System.Drawing.Point>(); public List<System.Drawing.Point> MobsPoints = new List<System.Drawing.Point>();
public List<int> MobsIDs = new List<int>(); public List<int> MobsIDs = new List<int>();
public List<int> MobsTypes = new List<int>();
public List<System.Drawing.Point> NPCPoints = new List<System.Drawing.Point>(); public List<System.Drawing.Point> NPCPoints = new List<System.Drawing.Point>();
public List<int> NPCIDs = new List<int>(); public List<int> NPCIDs = new List<int>();
@ -137,19 +156,22 @@ namespace app
CanDisplayOverlay = true; CanDisplayOverlay = true;
DateTime StartScanTime = DateTime.Now; DateTime StartScanTime = DateTime.Now;
SetAllGoodChestNearby(); if (ShowGoodChests) SetAllGoodChestNearby();
if (ShowMobs)
{
if (!Form1_0.MobsStruc_0.DebuggingMobs) SetAllMonsterNearby(); if (!Form1_0.MobsStruc_0.DebuggingMobs) SetAllMonsterNearby();
if (Form1_0.MobsStruc_0.DebuggingMobs) SetAllMonsterNearbyDebug(); if (Form1_0.MobsStruc_0.DebuggingMobs) SetAllMonsterNearbyDebug();
SetAllNPCNearby(); }
SetAllWPNearby(); if (ShowNPC) SetAllNPCNearby();
SetAllExitNearby(); if (ShowWPs) SetAllWPNearby();
if (ShowExits) SetAllExitNearby();
UpdateOverlay(); UpdateOverlay();
TimeSpan UpdatingDisplayTime = DateTime.Now - StartScanTime; TimeSpan UpdatingDisplayTime = DateTime.Now - StartScanTime;
//stop scanning too much lags!! (->> issue fixed!) //stop scanning too much lags!!
if (UpdatingDisplayTime.TotalMilliseconds > 160) if (UpdatingDisplayTime.TotalMilliseconds > 180)
{ {
Form1_0.method_1("Overlay creating too much slowdown, disabling Overlay!", Color.OrangeRed); Form1_0.method_1("Overlay creating too much slowdown, disabling Overlay!", Color.OrangeRed);
ScanningOverlayItems = false; ScanningOverlayItems = false;
@ -204,18 +226,18 @@ namespace app
} }
//Set duriel tomb exit //Set duriel tomb exit
Position OrificePos = Form1_0.MapAreaStruc_0.GetAreaOfObject("object", "HoradricOrifice", new List<int>(), 65, 72); Position OrificePos = Form1_0.MapAreaStruc_0.GetAreaOfObject("object", "HoradricOrifice", new List<int>(), 65, 72, true);
if (OrificePos.X != 0 && OrificePos.Y != 0) if (OrificePos.X != 0 && OrificePos.Y != 0)
{ {
//"id":71, "type":"exit", "x":214, "y":25, "isGoodExit":true} //"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); //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>() { }); 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>() { }, true);
ExitPointDuriel.X = ThisFinalPosition.X; ExitPointDuriel.X = ThisFinalPosition.X;
ExitPointDuriel.Y = ThisFinalPosition.Y; ExitPointDuriel.Y = ThisFinalPosition.Y;
} }
//Set Summoner Pos //Set Summoner Pos
Position ThisFinalPositionArcane = Form1_0.MapAreaStruc_0.GetPositionOfObject("npc", "Summoner", (int) Enums.Area.ArcaneSanctuary, new List<int>() { }); Position ThisFinalPositionArcane = Form1_0.MapAreaStruc_0.GetPositionOfObject("npc", "Summoner", (int) Enums.Area.ArcaneSanctuary, new List<int>() { }, true);
ExitPointSummoner.X = ThisFinalPositionArcane.X; ExitPointSummoner.X = ThisFinalPositionArcane.X;
ExitPointSummoner.Y = ThisFinalPositionArcane.Y; ExitPointSummoner.Y = ThisFinalPositionArcane.Y;
if (ExitPointSummoner.X != 0 && ExitPointSummoner.Y != 0) if (ExitPointSummoner.X != 0 && ExitPointSummoner.Y != 0)
@ -229,6 +251,7 @@ namespace app
{ {
MobsPoints = new List<System.Drawing.Point>(); MobsPoints = new List<System.Drawing.Point>();
MobsIDs = new List<int>(); MobsIDs = new List<int>();
MobsTypes = new List<int>();
try try
{ {
@ -237,6 +260,7 @@ namespace app
{ {
MobsPoints.Add(new System.Drawing.Point(monsterPositions[i][0], monsterPositions[i][1])); MobsPoints.Add(new System.Drawing.Point(monsterPositions[i][0], monsterPositions[i][1]));
MobsIDs.Add(Form1_0.MobsStruc_0.monsterIDs[i]); MobsIDs.Add(Form1_0.MobsStruc_0.monsterIDs[i]);
MobsTypes.Add(Form1_0.MobsStruc_0.monsterTypes[i]);
} }
} }
catch { } catch { }
@ -264,6 +288,7 @@ namespace app
Form1_0.ClearDebugMobs(); Form1_0.ClearDebugMobs();
MobsPoints = new List<System.Drawing.Point>(); MobsPoints = new List<System.Drawing.Point>();
MobsIDs = new List<int>(); MobsIDs = new List<int>();
MobsTypes = new List<int>();
try try
{ {
@ -272,6 +297,7 @@ namespace app
{ {
MobsPoints.Add(new System.Drawing.Point(monsterPositions[i][0], monsterPositions[i][1])); MobsPoints.Add(new System.Drawing.Point(monsterPositions[i][0], monsterPositions[i][1]));
MobsIDs.Add(Form1_0.MobsStruc_0.monsterIDs[i]); MobsIDs.Add(Form1_0.MobsStruc_0.monsterIDs[i]);
MobsTypes.Add(Form1_0.MobsStruc_0.monsterTypes[i]);
} }
} }
catch { } catch { }
@ -330,11 +356,53 @@ namespace app
{ {
base.OnPaint(e); base.OnPaint(e);
if (CharConfig.ShowOverlay && Form1_0.GameStruc_0.IsInGame()) if (CharConfig.ShowOverlay)
{ {
e.Graphics.CompositingQuality = CompositingQuality.HighQuality; e.Graphics.CompositingQuality = CompositingQuality.HighQuality;
e.Graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; e.Graphics.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
//################################################
//################################################
//Print Logs
if (ShowLogs)
{
List<int> ToRemoveIndex = new List<int>();
for (int i = 0; i < LogsTexts.Count; i++) if ((DateTime.Now - LogsTextsTimeSinceSpawned[i]).TotalSeconds >= 15) ToRemoveIndex.Add(i);
for (int i = ToRemoveIndex.Count - 4; i >= 0; i--)
{
LogsTextsTimeSinceSpawned.RemoveAt(ToRemoveIndex[i]);
LogsTexts.RemoveAt(ToRemoveIndex[i]);
LogsTextColor.RemoveAt(ToRemoveIndex[i]);
}
for (int i = 0; i < LogsTexts.Count; i++)
{
//invert index
int ThisIndexInverted = LogsTexts.Count - 1 - i;
if (LogsTextColor[ThisIndexInverted] == Color.Black) LogsTextColor[ThisIndexInverted] = Color.White;
if (LogsTextColor[ThisIndexInverted] == Color.DarkBlue) LogsTextColor[ThisIndexInverted] = Color.LightBlue;
if (LogsTextColor[ThisIndexInverted] == Color.DarkGreen) LogsTextColor[ThisIndexInverted] = Color.LightGreen;
if (LogsTextColor[ThisIndexInverted] == Color.DarkMagenta || LogsTextColor[ThisIndexInverted] == Color.Magenta) LogsTextColor[ThisIndexInverted] = Color.FromArgb(255, 255, 120, 255);
if (LogsTextColor[ThisIndexInverted] == Color.OrangeRed) LogsTextColor[ThisIndexInverted] = Color.Orange;
if (LogsTextColor[ThisIndexInverted] == Color.Red) LogsTextColor[ThisIndexInverted] = Color.LightPink;
if (LogsTextColor[ThisIndexInverted] == System.Drawing.ColorTranslator.FromHtml("#0005ff")) LogsTextColor[ThisIndexInverted] = Color.LightBlue;
if (LogsTextColor[ThisIndexInverted] == System.Drawing.ColorTranslator.FromHtml("#6a6a6a")) LogsTextColor[ThisIndexInverted] = Color.LightGray;
SolidBrush drawBrushCustom = new SolidBrush(Color.FromArgb(200, LogsTextColor[ThisIndexInverted].R, LogsTextColor[ThisIndexInverted].G, LogsTextColor[ThisIndexInverted].B));
string ThisLogTxt = LogsTexts[ThisIndexInverted];
SizeF ThisS = e.Graphics.MeasureString(ThisLogTxt, drawFontBold10);
//FillRectangle(e, drawBrushDark, 1500, 840 - (i * 20), 410, 20, true);
FillRectangle(e, drawBrushDark, 1890 - (ThisS.Width * ScaleScreenSizeInverted), 840 - (i * 20), ThisS.Width, 20, true);
DrawString(e, ThisLogTxt, drawFontBold10, drawBrushCustom, 1890 - (ThisS.Width * ScaleScreenSizeInverted) + 2, 840 - (i * 20), true);
}
}
//################################################
//################################################
if (Form1_0.GameStruc_0.IsInGame())
{
if (ShowBotInfos)
{
//Print Potions Qty //Print Potions Qty
int Qty1 = 0; int Qty1 = 0;
int Qty2 = 0; int Qty2 = 0;
@ -384,37 +452,6 @@ namespace app
DrawString(e, MobsTxt, drawFontBold, drawBrushWhite, 560, 910, true); DrawString(e, MobsTxt, drawFontBold, drawBrushWhite, 560, 910, true);
} }
//Print Logs
List<int> ToRemoveIndex = new List<int>();
for (int i = 0; i < LogsTexts.Count; i++) if ((DateTime.Now - LogsTextsTimeSinceSpawned[i]).TotalSeconds >= 15) ToRemoveIndex.Add(i);
for (int i = ToRemoveIndex.Count - 4; i >= 0; i--)
{
LogsTextsTimeSinceSpawned.RemoveAt(ToRemoveIndex[i]);
LogsTexts.RemoveAt(ToRemoveIndex[i]);
LogsTextColor.RemoveAt(ToRemoveIndex[i]);
}
for (int i = 0; i < LogsTexts.Count; i++)
{
//invert index
int ThisIndexInverted = LogsTexts.Count - 1 - i;
if (LogsTextColor[ThisIndexInverted] == Color.Black) LogsTextColor[ThisIndexInverted] = Color.White;
if (LogsTextColor[ThisIndexInverted] == Color.DarkBlue) LogsTextColor[ThisIndexInverted] = Color.LightBlue;
if (LogsTextColor[ThisIndexInverted] == Color.DarkGreen) LogsTextColor[ThisIndexInverted] = Color.LightGreen;
if (LogsTextColor[ThisIndexInverted] == Color.DarkMagenta || LogsTextColor[ThisIndexInverted] == Color.Magenta) LogsTextColor[ThisIndexInverted] = Color.FromArgb(255, 255, 120, 255);
if (LogsTextColor[ThisIndexInverted] == Color.OrangeRed) LogsTextColor[ThisIndexInverted] = Color.Orange;
if (LogsTextColor[ThisIndexInverted] == Color.Red) LogsTextColor[ThisIndexInverted] = Color.LightPink;
if (LogsTextColor[ThisIndexInverted] == System.Drawing.ColorTranslator.FromHtml("#0005ff")) LogsTextColor[ThisIndexInverted] = Color.LightBlue;
if (LogsTextColor[ThisIndexInverted] == System.Drawing.ColorTranslator.FromHtml("#6a6a6a")) LogsTextColor[ThisIndexInverted] = Color.LightGray;
SolidBrush drawBrushCustom = new SolidBrush(Color.FromArgb(200, LogsTextColor[ThisIndexInverted].R, LogsTextColor[ThisIndexInverted].G, LogsTextColor[ThisIndexInverted].B));
string ThisLogTxt = LogsTexts[ThisIndexInverted];
SizeF ThisS = e.Graphics.MeasureString(ThisLogTxt, drawFontBold10);
//FillRectangle(e, drawBrushDark, 1500, 840 - (i * 20), 410, 20, true);
FillRectangle(e, drawBrushDark, 1890 - (ThisS.Width * ScaleScreenSizeInverted), 840 - (i * 20), ThisS.Width, 20, true);
DrawString(e, ThisLogTxt, drawFontBold10, drawBrushCustom, 1890 - (ThisS.Width * ScaleScreenSizeInverted) + 2, 840 - (i * 20), true);
}
//Print Status //Print Status
DrawString(e, "Status: " + Form1_0.CurrentStatus, drawFontBold, drawBrushWhite, 560, 935, true); DrawString(e, "Status: " + Form1_0.CurrentStatus, drawFontBold, drawBrushWhite, 560, 935, true);
ThisS2 = e.Graphics.MeasureString(Form1_0.CurrentGameTime, drawFontBold); ThisS2 = e.Graphics.MeasureString(Form1_0.CurrentGameTime, drawFontBold);
@ -422,7 +459,7 @@ namespace app
DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, 990, 935, true); DrawString(e, Form1_0.CurrentGameTime, drawFontBold, drawBrushYellow, 990, 935, true);
//Print mS Delay //Print mS Delay
string ThisMSStr = "~" + Form1_0.Average_mS + "(" + Form1_0.mS + ")"; string ThisMSStr = "~" + Form1_0.Average_mS + "ms(" + Form1_0.mS.Replace("ms", "") + ")";
DrawString(e, ThisMSStr, drawFontBold, drawBrushYellow, 1090, 910, true); DrawString(e, ThisMSStr, drawFontBold, drawBrushYellow, 1090, 910, true);
//Print FPS Delay //Print FPS Delay
@ -452,13 +489,31 @@ namespace app
} }
//Print Units Scanned Count //Print Units Scanned Count
if (Form1_0.DebugMenuStyle > 0) if (ShowUnitsScanCount || (Form1_0.DebugMenuStyle > 0 && !ShowUnitsScanCount))
{ {
string UnitsStr = "Units:" + Form1_0.PatternsScan_0.GetUnitsScannedCount().ToString(); //Show values of the V2 Units Scan
DrawString(e, UnitsStr, drawFontBold, drawBrushGreen, 560, 885, true); string UnitsStr = "Units Scan:" + Form1_0.PatternsScan_0.GetUnitsScannedCount(2).ToString();
UnitsStr += " (Items:" + Form1_0.PatternsScan_0.ScannedItemsCount;
UnitsStr += ", Player:" + Form1_0.PatternsScan_0.ScannedPlayerCount;
UnitsStr += ", Objects:" + Form1_0.PatternsScan_0.ScannedObjectsCount;
UnitsStr += ", NPC:" + Form1_0.PatternsScan_0.ScannedNPCCount;
UnitsStr += ")";
DrawString(e, UnitsStr, drawFontBold, drawBrushGreen, 560, 860, true);
//Show values of the V1 Units Scan
/*UnitsStr = "Units Scan V1:" + Form1_0.PatternsScan_0.GetUnitsScannedCount(1).ToString();
UnitsStr += " (Items:" + Form1_0.PatternsScan_0.ScannedItemsCount;
UnitsStr += ", Player:" + Form1_0.PatternsScan_0.ScannedPlayerCount;
UnitsStr += ", Objects:" + Form1_0.PatternsScan_0.ScannedObjectsCount;
UnitsStr += ", NPC:" + Form1_0.PatternsScan_0.ScannedNPCCount;
UnitsStr += ")";
DrawString(e, UnitsStr, drawFontBold, drawBrushGreen, 560, 835, true);*/
}
} }
if (CanDisplayOverlay) if (CanDisplayOverlay)
{
if (ShowPathFinding)
{ {
for (int i = 0; i < PathFindingPoints.Count - 1; i++) for (int i = 0; i < PathFindingPoints.Count - 1; i++)
{ {
@ -492,22 +547,33 @@ namespace app
} }
DrawCrossAtPoint(e, StartPoint, redPen, false); DrawCrossAtPoint(e, StartPoint, redPen, false);
} }
}
if (ShowMobs)
{
for (int i = 0; i < MobsPoints.Count; i++) for (int i = 0; i < MobsPoints.Count; i++)
{ {
Pen ThisPenMobs = yellowPen;
Brush ThisBrushMobs = drawBrushYellow;
if (MobsTypes[i] == 1 || MobsTypes[i] == 2 || MobsTypes[i] == 3)
{
ThisPenMobs = orangePen;
ThisBrushMobs = drawBrushOrange;
}
Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, MobsPoints[i].X, MobsPoints[i].Y); Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, MobsPoints[i].X, MobsPoints[i].Y);
System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y); System.Drawing.Point StartPoint = new System.Drawing.Point(itemScreenPosStart.X, itemScreenPosStart.Y);
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, yellowPen, false); DrawCrossAtPoint(e, StartPoint, ThisPenMobs, false);
//if (Form1_0.MobsStruc_0.DebuggingMobs)
//{
string ThisTxt = "ID:" + MobsIDs[i].ToString(); string ThisTxt = "ID:" + MobsIDs[i].ToString();
SizeF ThisS3 = e.Graphics.MeasureString(ThisTxt, drawFont); SizeF ThisS3 = e.Graphics.MeasureString(ThisTxt, drawFont);
DrawString(e, ThisTxt, drawFont, drawBrushYellow, StartPoint.X - (ThisS3.Width / 2), StartPoint.Y + 9, false); DrawString(e, ThisTxt, drawFont, ThisBrushMobs, StartPoint.X - (ThisS3.Width / 2), StartPoint.Y + 9, false);
//} }
} }
if (ShowNPC)
{
for (int i = 0; i < NPCPoints.Count; i++) for (int i = 0; i < NPCPoints.Count; i++)
{ {
Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, NPCPoints[i].X, NPCPoints[i].Y); Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, NPCPoints[i].X, NPCPoints[i].Y);
@ -515,14 +581,14 @@ namespace app
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, purplePen, false); DrawCrossAtPoint(e, StartPoint, purplePen, false);
//if (Form1_0.MobsStruc_0.DebuggingMobs)
//{
string ThisTxt = "ID:" + NPCIDs[i].ToString(); string ThisTxt = "ID:" + NPCIDs[i].ToString();
SizeF ThisS3 = e.Graphics.MeasureString(ThisTxt, drawFont); SizeF ThisS3 = e.Graphics.MeasureString(ThisTxt, drawFont);
DrawString(e, ThisTxt, drawFont, drawBrushWhite, StartPoint.X - (ThisS3.Width / 2), StartPoint.Y + 9, false); DrawString(e, ThisTxt, drawFont, drawBrushWhite, StartPoint.X - (ThisS3.Width / 2), StartPoint.Y + 9, false);
//} }
} }
if (ShowGoodChests)
{
for (int i = 0; i < GoodChestsPoints.Count; i++) for (int i = 0; i < GoodChestsPoints.Count; i++)
{ {
Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, GoodChestsPoints[i].X, GoodChestsPoints[i].Y); Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, GoodChestsPoints[i].X, GoodChestsPoints[i].Y);
@ -530,14 +596,17 @@ namespace app
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, greenPen, false); DrawCrossAtPoint(e, StartPoint, greenPen, false);
if (CharConfig.RunMapHackOnly) if (CharConfig.RunMapHackOnly && ShowMapHackShowLines)
{ {
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY); System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint); PlayerPoint = RescaleThisPoint(PlayerPoint);
DrawLine(e, greenPen, StartPoint, PlayerPoint, false); DrawLine(e, greenPen, StartPoint, PlayerPoint, false);
} }
} }
}
if (ShowWPs)
{
for (int i = 0; i < WPPoints.Count; i++) for (int i = 0; i < WPPoints.Count; i++)
{ {
Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, WPPoints[i].X, WPPoints[i].Y); Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, WPPoints[i].X, WPPoints[i].Y);
@ -545,15 +614,17 @@ namespace app
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, bluePen, false); DrawCrossAtPoint(e, StartPoint, bluePen, false);
if (CharConfig.RunMapHackOnly) if (CharConfig.RunMapHackOnly && ShowMapHackShowLines)
{ {
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY); System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint); PlayerPoint = RescaleThisPoint(PlayerPoint);
DrawLine(e, bluePen, StartPoint, PlayerPoint, false); DrawLine(e, bluePen, StartPoint, PlayerPoint, false);
} }
} }
}
if (CharConfig.RunMapHackOnly)
if (CharConfig.RunMapHackOnly && ShowMapHackShowLines)
{ {
FillRectangle(e, drawBrushDark, 1398, 5, 270, 119, true); FillRectangle(e, drawBrushDark, 1398, 5, 270, 119, true);
DrawString(e, "Green: Good Chest", drawFontBold10, drawBrushGreen, 1400, 5, true); DrawString(e, "Green: Good Chest", drawFontBold10, drawBrushGreen, 1400, 5, true);
@ -564,6 +635,8 @@ namespace app
DrawString(e, "Cyan: Previous Area Exit (Special)", drawFontBold10, drawBrushCyan, 1400, 105, true); DrawString(e, "Cyan: Previous Area Exit (Special)", drawFontBold10, drawBrushCyan, 1400, 105, true);
} }
if (ShowExits)
{
for (int i = 0; i < ExitPoints.Count; i++) for (int i = 0; i < ExitPoints.Count; i++)
{ {
Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, ExitPoints[i].X, ExitPoints[i].Y); Position itemScreenPosStart = Form1_0.GameStruc_0.World2ScreenDisplay(Form1_0.PlayerScan_0.xPosFinal, Form1_0.PlayerScan_0.yPosFinal, ExitPoints[i].X, ExitPoints[i].Y);
@ -571,7 +644,7 @@ namespace app
StartPoint = RescaleThisPoint(StartPoint); StartPoint = RescaleThisPoint(StartPoint);
DrawCrossAtPoint(e, StartPoint, cyanPen, false); DrawCrossAtPoint(e, StartPoint, cyanPen, false);
if (CharConfig.RunMapHackOnly) if (CharConfig.RunMapHackOnly && ShowMapHackShowLines)
{ {
System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY); System.Drawing.Point PlayerPoint = new System.Drawing.Point(Form1_0.CenterX, Form1_0.CenterY);
PlayerPoint = RescaleThisPoint(PlayerPoint); PlayerPoint = RescaleThisPoint(PlayerPoint);
@ -626,6 +699,8 @@ namespace app
} }
} }
} }
}
}
public void DrawString(PaintEventArgs e, string ThisTxt, Font ThisFont, Brush ThisBrush, float PosX, float PosY, bool FixPos) public void DrawString(PaintEventArgs e, string ThisTxt, Font ThisFont, Brush ThisBrush, float PosX, float PosY, bool FixPos)
{ {

View File

@ -68,7 +68,7 @@ namespace app
} }
} }
public void MoveToNextArea(Area ThisID, int AcceptOffset = 4, bool ClearAreaOnMoving = false) public bool MoveToNextArea(Area ThisID, int AcceptOffset = 4, bool ClearAreaOnMoving = false)
{ {
Form1_0.PlayerScan_0.GetPositions(); Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = true; IsMovingToNextArea = true;
@ -89,12 +89,14 @@ namespace app
if (ThisFinalPosition.X == 0 && ThisFinalPosition.Y == 0) ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", Form1_0.Town_0.getAreaName((int)ThisID), (int)ThisID, new List<int>() { }, true); if (ThisFinalPosition.X == 0 && ThisFinalPosition.Y == 0) ThisFinalPosition = Form1_0.MapAreaStruc_0.GetPositionOfObject("object", Form1_0.Town_0.getAreaName((int)ThisID), (int)ThisID, new List<int>() { }, true);
//Console.WriteLine("Going to Pos: " + ThisFinalPosition.X + ", " + ThisFinalPosition.Y); //Console.WriteLine("Going to Pos: " + ThisFinalPosition.X + ", " + ThisFinalPosition.Y);
Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving); return Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving);
} }
catch { } catch { }
return false;
} }
public void MoveToExit(Area ThisID, int AcceptOffset = 4, bool ClearAreaOnMoving = false) public bool MoveToExit(Area ThisID, int AcceptOffset = 4, bool ClearAreaOnMoving = false)
{ {
Form1_0.PlayerScan_0.GetPositions(); Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false; IsMovingToNextArea = false;
@ -120,12 +122,14 @@ namespace app
TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 }; TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
//Console.WriteLine("Going to Pos: " + ThisFinalPosition.X + ", " + ThisFinalPosition.Y); //Console.WriteLine("Going to Pos: " + ThisFinalPosition.X + ", " + ThisFinalPosition.Y);
Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving); return Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving);
} }
catch { } catch { }
return false;
} }
public void MoveToNPC(string NPCName, int AcceptOffset = 4, bool ClearAreaOnMoving = false) public bool MoveToNPC(string NPCName, int AcceptOffset = 4, bool ClearAreaOnMoving = false)
{ {
Form1_0.PlayerScan_0.GetPositions(); Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false; IsMovingToNextArea = false;
@ -145,12 +149,14 @@ namespace app
PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 }; PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 }; TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving); return Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving);
} }
catch { } catch { }
return false;
} }
public void MoveToObject(string ObjectName, int AcceptOffset = 4, bool ClearAreaOnMoving = false) public bool MoveToObject(string ObjectName, int AcceptOffset = 4, bool ClearAreaOnMoving = false)
{ {
Form1_0.PlayerScan_0.GetPositions(); Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false; IsMovingToNextArea = false;
@ -170,12 +176,14 @@ namespace app
PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 }; PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 }; TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving); return Form1_0.PathFinding_0.GetPathFinding(AcceptOffset, ClearAreaOnMoving);
} }
catch { } catch { }
return false;
} }
public void MoveToThisPos(Position ThisPositionn, int AcceptOffset = 4, bool ClearAreaOnMoving = false) public bool MoveToThisPos(Position ThisPositionn, int AcceptOffset = 4, bool ClearAreaOnMoving = false)
{ {
if (Form1_0.PlayerScan_0.levelNo == 0) Form1_0.PlayerScan_0.GetPositions(); if (Form1_0.PlayerScan_0.levelNo == 0) Form1_0.PlayerScan_0.GetPositions();
IsMovingToNextArea = false; IsMovingToNextArea = false;
@ -195,13 +203,17 @@ namespace app
PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 }; PlayerOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 }; TargetOffsetInCollisiongrid = new Position { X = 0, Y = 0 };
GetPathFinding(AcceptOffset, ClearAreaOnMoving); return GetPathFinding(AcceptOffset, ClearAreaOnMoving);
} }
catch { } catch { }
return false;
} }
public void GetPathFinding(int AcceptOffset = 4, bool ClearAreaOnMoving = false) public bool GetPathFinding(int AcceptOffset = 4, bool ClearAreaOnMoving = false)
{ {
bool MovedCorrectly = false;
Point startPos = new Point(Form1_0.PlayerScan_0.xPos - ThisOffsetPosition.X, Form1_0.PlayerScan_0.yPos - ThisOffsetPosition.Y); Point startPos = new Point(Form1_0.PlayerScan_0.xPos - ThisOffsetPosition.X, Form1_0.PlayerScan_0.yPos - ThisOffsetPosition.Y);
Point targetPos = new Point(ThisFinalPosition.X - ThisOffsetPosition.X, ThisFinalPosition.Y - ThisOffsetPosition.Y); Point targetPos = new Point(ThisFinalPosition.X - ThisOffsetPosition.X, ThisFinalPosition.Y - ThisOffsetPosition.Y);
//Point startPos = new Point(115, 579); //Point startPos = new Point(115, 579);
@ -228,7 +240,7 @@ namespace app
&& startPos.Y >= (targetPos.Y - Form1_0.Mover_0.MoveAcceptOffset) && startPos.Y >= (targetPos.Y - Form1_0.Mover_0.MoveAcceptOffset)
&& startPos.Y <= (targetPos.Y + Form1_0.Mover_0.MoveAcceptOffset)) && startPos.Y <= (targetPos.Y + Form1_0.Mover_0.MoveAcceptOffset))
{ {
return; return true;
} }
} }
@ -242,7 +254,7 @@ namespace app
if (targetPos.X <= 0 || targetPos.Y <= 0) if (targetPos.X <= 0 || targetPos.Y <= 0)
{ {
Form1_0.method_1("Target pos are bad: " + targetPos.X + ", " + targetPos.Y, Color.OrangeRed); Form1_0.method_1("Target pos are bad: " + targetPos.X + ", " + targetPos.Y, Color.OrangeRed);
return; return false;
} }
path = FindPath(startPos, targetPos); path = FindPath(startPos, targetPos);
@ -265,7 +277,7 @@ namespace app
Form1_0.method_1("No path found.", Color.Red); Form1_0.method_1("No path found.", Color.Red);
//Form1_0.MapAreaStruc_0.DumpMap(); //Form1_0.MapAreaStruc_0.DumpMap();
Form1_0.GoToNextScript(); Form1_0.GoToNextScript();
return; return false;
} }
//################################################ //################################################
@ -391,12 +403,18 @@ namespace app
//tryyy++; //tryyy++;
//} //}
} }
int FinalX = path[path.Count - 1].X + ThisOffsetPosition.X - PlayerOffsetInCollisiongrid.X;
int FinalY = path[path.Count - 1].Y + ThisOffsetPosition.Y - PlayerOffsetInCollisiongrid.Y;
if (Form1_0.Mover_0.IsPositionNearOf(FinalX, FinalY, AcceptOffset)) MovedCorrectly = true;
} }
else else
{ {
Form1_0.method_1("No path found.", Color.Red); Form1_0.method_1("No path found.", Color.Red);
Form1_0.GoToNextScript(); Form1_0.GoToNextScript();
} }
return MovedCorrectly;
} }
public void DetectCloserPathPositions() public void DetectCloserPathPositions()
@ -815,62 +833,33 @@ namespace app
public Point TeleportPoint = new Point(0, 0); public Point TeleportPoint = new Point(0, 0);
private bool CanTeleport(Point next) /*private List<Node> GetNeighbors(Node node, int teleportDistance)
{ {
/*for (int dx = -TeleportAcceptSize; dx <= TeleportAcceptSize; dx++) List<Node> neighbors = new List<Node>();
{
for (int dy = -TeleportAcceptSize; dy <= TeleportAcceptSize; dy++)
{
int nx = current.X + dx;
int ny = current.Y + dy;
if (nx >= 0 && nx < ThisCollisionGrid.GetLength(0) && ny >= 0 && ny < ThisCollisionGrid.GetLength(1)) // Assuming a 2D grid, iterate over all nodes and check if they are within the teleport distance
foreach (Node otherNode in allNodes)
{ {
double distance = Math.Sqrt(dx * dx + dy * dy); if (otherNode != node && IsWithinTeleportDistance(node, otherNode, teleportDistance))
if (distance <= TeleportAcceptSize && ThisCollisionGrid[nx, ny])
{ {
TeleportPoint.X = nx; neighbors.Add(otherNode);
TeleportPoint.Y = ny;
return true;
} }
} }
}
}
return false;*/
for (int dir = 0; dir < 8; dir++) return neighbors;
{ }
for (int i = TeleportAcceptSize - 1; i > 0; i--)
{
int XAdder = 0;
int YAdder = 0;
if (dir == 0) XAdder = i;
if (dir == 1) XAdder = -i;
if (dir == 2) YAdder = i;
if (dir == 3) YAdder = -i;
if (dir == 4) { XAdder = i; YAdder = i; }
if (dir == 5) { XAdder = -i; YAdder = -i; }
if (dir == 6) { XAdder = i; YAdder = -i; }
if (dir == 7) { XAdder = -i; YAdder = i; }
if (ThisCollisionGrid[next.X + XAdder, next.Y + YAdder]) private bool IsWithinTeleportDistance(Node nodeA, Node nodeB, int teleportDistance)
{ {
// Check if the target point is walkable and within teleportSize range int distanceX = Math.Abs(nodeA.x - nodeB.x);
//return IsWalkable(next) && Math.Abs(next.X - current.X) <= TeleportAcceptSize && Math.Abs(next.Y - current.Y) <= TeleportAcceptSize; int distanceY = Math.Abs(nodeA.y - nodeB.y);
//return IsWalkable(next) && (Math.Abs(next.X - current.X) <= TeleportAcceptSize || Math.Abs(next.Y - current.Y) <= TeleportAcceptSize);
//double distance = Math.Sqrt(Math.Pow(next.X - current.X, 2) + Math.Pow(next.Y - current.Y, 2)); // Calculate the Euclidean distance between the two nodes
//return IsWalkable(next) && distance <= TeleportAcceptSize; double distance = Math.Sqrt(distanceX * distanceX + distanceY * distanceY);
TeleportPoint.X = next.X + XAdder; // Return true if the distance is within the teleport distance limit
TeleportPoint.Y = next.Y + YAdder; return distance <= teleportDistance;
return true; }*/
//return IsWalkable(next);
}
}
}
return false;
}
private bool IsWalkable(Point point) private bool IsWalkable(Point point)
{ {

View File

@ -37,6 +37,40 @@ namespace app
Form1_0 = form1_1; Form1_0 = form1_1;
} }
public bool EndBossBattle()
{
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);
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);
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);
if (!Form1_0.ItemsStruc_0.GetItems(true)) Form1_0.WaitDelay(5);
if (CharConfig.ClearAfterBoss)
{
if (Form1_0.MobsStruc_0.GetMobs("", "", true, 30, new List<long>()))
{
Form1_0.Battle_0.DoBattleScript(30);
return false;
}
}
Form1_0.ItemsStruc_0.GrabAllItemsForGold();
Form1_0.Battle_0.ClearingArea = false;
Form1_0.Battle_0.DoingBattle = false;
Form1_0.Potions_0.CanUseSkillForRegen = true;
Form1_0.Town_0.FastTowning = false;
Form1_0.Town_0.UseLastTP = false;
return true;
}
public int[] FindBestPositionNoMobsArround(int playerX, int playerY, List<int[]> monsterPositions, int maxDisplacement) public int[] FindBestPositionNoMobsArround(int playerX, int playerY, List<int[]> monsterPositions, int maxDisplacement)
{ {
// Create a list to store all possible positions around the player // Create a list to store all possible positions around the player
@ -245,7 +279,8 @@ namespace app
//no atack pos found?? //no atack pos found??
AttackPosFound = true; AttackPosFound = true;
ChoosenAttackLocation++; //return attack pos = 4 (for error) ChoosenAttackLocation++; //return attack pos = 4 (for error)
ReturnPos = new Position { X = 0, Y = 0 }; ReturnPos = new Position { X = ThisAttackPos.X, Y = ThisAttackPos.Y };
//ReturnPos = new Position { X = 0, Y = 0 };
} }
} }
} }
@ -264,12 +299,12 @@ namespace app
Form1_0.KeyMouse_0.PressKey(Keys.W); Form1_0.KeyMouse_0.PressKey(Keys.W);
Form1_0.WaitDelay(15); Form1_0.WaitDelay(15);
//Form1_0.KeyMouse_0.PressKey(Keys.F4); Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleOrder);
//Form1_0.WaitDelay(15); Form1_0.WaitDelay(10);
Form1_0.KeyMouse_0.MouseClicc(1025, 1025); /*Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseClicc(1095, 610); Form1_0.KeyMouse_0.MouseClicc(1095, 610);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);*/
Form1_0.PlayerScan_0.GetPositions(); Form1_0.PlayerScan_0.GetPositions();
//press W again to switch weapon again //press W again to switch weapon again
@ -277,12 +312,12 @@ namespace app
{ {
Form1_0.KeyMouse_0.PressKey(Keys.W); Form1_0.KeyMouse_0.PressKey(Keys.W);
Form1_0.WaitDelay(15); Form1_0.WaitDelay(15);
//Form1_0.KeyMouse_0.PressKey(Keys.F4); Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleOrder);
//Form1_0.WaitDelay(15); Form1_0.WaitDelay(10);
Form1_0.KeyMouse_0.MouseClicc(1025, 1025); /*Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseClicc(1095, 610); Form1_0.KeyMouse_0.MouseClicc(1095, 610);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);*/
Form1_0.PlayerScan_0.GetPositions(); Form1_0.PlayerScan_0.GetPositions();
} }
@ -290,19 +325,23 @@ namespace app
Form1_0.WaitDelay(30); Form1_0.WaitDelay(30);
//select battle command //select battle command
Form1_0.KeyMouse_0.MouseClicc(1025, 1025); Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleCommand);
Form1_0.WaitDelay(10);
/*Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseClicc(1025, 610); Form1_0.KeyMouse_0.MouseClicc(1025, 610);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);*/
Form1_0.KeyMouse_0.MouseCliccRight_RealPos(Form1_0.CenterX, Form1_0.CenterY); Form1_0.KeyMouse_0.MouseCliccRight_RealPos(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(30); //60 <- Form1_0.WaitDelay(30); //60 <-
Form1_0.Potions_0.CheckIfWeUsePotion(); Form1_0.Potions_0.CheckIfWeUsePotion();
//select battle cry //select battle cry
Form1_0.KeyMouse_0.MouseClicc(1025, 1025); Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillBattleCry);
Form1_0.WaitDelay(10);
/*Form1_0.KeyMouse_0.MouseClicc(1025, 1025);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);
Form1_0.KeyMouse_0.MouseClicc(1165, 610); Form1_0.KeyMouse_0.MouseClicc(1165, 610);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);*/
Form1_0.KeyMouse_0.MouseCliccRight_RealPos(Form1_0.CenterX, Form1_0.CenterY); Form1_0.KeyMouse_0.MouseCliccRight_RealPos(Form1_0.CenterX, Form1_0.CenterY);
Form1_0.WaitDelay(60); Form1_0.WaitDelay(60);

View File

@ -35,7 +35,7 @@ namespace app
public void AddCubeItem(int PosX, int PosY) public void AddCubeItem(int PosX, int PosY)
{ {
int AtI = ConvertXYToFullCubeIndex(PosX, PosY); int AtI = ConvertXYToFullCubeIndex(PosX, PosY);
Cube_ItemTxtNoList[AtI] = Form1_0.ItemsStruc_0.txtFileNo; if (AtI < Cube_ItemTxtNoList.Length) Cube_ItemTxtNoList[AtI] = Form1_0.ItemsStruc_0.txtFileNo;
} }
public int ConvertXYToFullCubeIndex(int PosX, int PosY) public int ConvertXYToFullCubeIndex(int PosX, int PosY)

View File

@ -310,8 +310,7 @@ namespace app
using (Process curProcess = Process.GetCurrentProcess()) using (Process curProcess = Process.GetCurrentProcess())
using (ProcessModule curModule = curProcess.MainModule) using (ProcessModule curModule = curProcess.MainModule)
{ {
return SetWindowsHookEx(WH_KEYBOARD_LL, proc, return SetWindowsHookEx(WH_KEYBOARD_LL, proc, GetModuleHandle(curModule.ModuleName), 0);
GetModuleHandle(curModule.ModuleName), 0);
} }
} }

View File

@ -74,7 +74,7 @@ namespace app
//fix town act5 stuck near bolder //fix town act5 stuck near bolder
if (Form1_0.Town_0.GetInTown() && IsPositionNearOf(5093, 5034, 2)) if (Form1_0.Town_0.GetInTown() && IsPositionNearOf(5093, 5034, 2))
{ {
MoveToLocationAttack(5098, 5022); MoveToLocationAttack(5100, 5021);
} }
int TryMove = 0; int TryMove = 0;
@ -155,6 +155,8 @@ namespace app
Application.DoEvents(); Application.DoEvents();
Form1_0.ItemsStruc_0.AvoidItemsOnGroundPointerList.Clear();
//###### //######
//moving location is way to far away something might be wrong! //moving location is way to far away something might be wrong!
if (!IsPositionNearOf(ThisX, ThisY, 300)) if (!IsPositionNearOf(ThisX, ThisY, 300))
@ -217,6 +219,7 @@ namespace app
{ {
if (!AllowMoveSideWay) if (!AllowMoveSideWay)
{ {
Form1_0.ItemsStruc_0.AvoidItemsOnGroundPointerList.Clear();
Form1_0.overlayForm.ResetMoveToLocation(); Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E); Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
return false; return false;
@ -265,6 +268,7 @@ namespace app
} }
Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillDefenseAura); Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillDefenseAura);
Form1_0.ItemsStruc_0.AvoidItemsOnGroundPointerList.Clear();
Form1_0.overlayForm.ResetMoveToLocation(); Form1_0.overlayForm.ResetMoveToLocation();
return MovedCorrectly; return MovedCorrectly;
} }
@ -347,6 +351,7 @@ namespace app
if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1 if (Form1_0.PlayerScan_0.levelNo < StartAreaBeforeMoving - 1
|| Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1) || Form1_0.PlayerScan_0.levelNo > StartAreaBeforeMoving + 1)
{ {
Form1_0.ItemsStruc_0.AvoidItemsOnGroundPointerList.Clear();
Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags Form1_0.overlayForm.ScanningOverlayItems = true; //try rescanning overlay if there was too much lags
Form1_0.overlayForm.ResetMoveToLocation(); Form1_0.overlayForm.ResetMoveToLocation();
Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E); Form1_0.KeyMouse_0.ReleaseKey(System.Windows.Forms.Keys.E);
@ -363,7 +368,7 @@ namespace app
//} //}
//Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillDefenseAura); //Form1_0.KeyMouse_0.PressKey(CharConfig.KeySkillDefenseAura);
Form1_0.ItemsStruc_0.AvoidItemsOnGroundPointerList.Clear();
Form1_0.overlayForm.ResetMoveToLocation(); Form1_0.overlayForm.ResetMoveToLocation();
return MovedCorrectly; return MovedCorrectly;
} }

View File

@ -158,9 +158,12 @@ namespace app
Form1_0.WaitDelay(100); Form1_0.WaitDelay(100);
PlaceItem(itemScreenPos["x"], itemScreenPos["y"]); PlaceItem(itemScreenPos["x"], itemScreenPos["y"]);
IdentifiedItem = true; IdentifiedItem = true;
if (k == LastItemIdentified) Form1_0.ItemsStruc_0.GetItems(false); //get inventory again
{
//#########################
//try selling this bad item //try selling this bad item
if (k == LastItemIdentified && Form1_0.InventoryStruc_0.InventoryHasStashItem[i] == 0)
{
Form1_0.KeyMouse_0.SendCTRL_CLICK(itemScreenPos["x"], itemScreenPos["y"]); Form1_0.KeyMouse_0.SendCTRL_CLICK(itemScreenPos["x"], itemScreenPos["y"]);
Form1_0.WaitDelay(5); Form1_0.WaitDelay(5);
Form1_0.ItemsStruc_0.GetItems(false); //get inventory again Form1_0.ItemsStruc_0.GetItems(false); //get inventory again
@ -171,6 +174,7 @@ namespace app
} }
} }
LastItemIdentified = k; LastItemIdentified = k;
//#########################
break; break;
} }
} }
@ -184,7 +188,9 @@ namespace app
else tries2 = 0; else tries2 = 0;
} }
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
if (Form1_0.InventoryStruc_0.HasUnidItemInInventory()) HasUnidItem = true; if (Form1_0.InventoryStruc_0.HasUnidItemInInventory()) HasUnidItem = true;
Form1_0.ItemsStruc_0.GetItems(false); //get inventory
} }
//sell items //sell items
@ -456,6 +462,8 @@ namespace app
} }
//buy key //buy key
if (CharConfig.UseKeys)
{
Form1_0.InventoryStruc_0.VerifyKeysInventory(); Form1_0.InventoryStruc_0.VerifyKeysInventory();
tries = 0; tries = 0;
StartQty = Form1_0.InventoryStruc_0.HUDItems_keys; StartQty = Form1_0.InventoryStruc_0.HUDItems_keys;
@ -491,6 +499,7 @@ namespace app
} }
StartQty = Form1_0.InventoryStruc_0.HUDItems_keys; StartQty = Form1_0.InventoryStruc_0.HUDItems_keys;
} }
}
//buy tome of portal for cows level //buy tome of portal for cows level
if (ShopForTomeOfPortal) if (ShopForTomeOfPortal)

View File

@ -45,6 +45,7 @@ RunEldritchScript=false
RunShenkScript=false RunShenkScript=false
RunNihlatakScript=false RunNihlatakScript=false
RunItemGrabScriptOnly=false RunItemGrabScriptOnly=false
ClearAfterBoss=false
//####################################### //#######################################
//NOT IN GAME SCRIPT (SEARCH GAMES OR CREATE A NEW GAME) //NOT IN GAME SCRIPT (SEARCH GAMES OR CREATE A NEW GAME)
@ -64,3 +65,18 @@ LeaveIfMobsIsPresent_ID=
LeaveIfMobsIsPresent_Count= LeaveIfMobsIsPresent_Count=
LeaveIfMobsCountIsAbove=0 LeaveIfMobsCountIsAbove=0
SafeHealingStrat=false SafeHealingStrat=false
//#######################################
//SPECIALS OVERLAY FEATURES
//#######################################
ShowMobs=true
ShowWPs=true
ShowGoodChests=true
ShowLogs=true
ShowBotInfos=true
ShowNPC=true
ShowPathFinding=true
ShowExits=true
ShowMapHackShowLines=true
ShowUnitsScanCount=false

View File

@ -19,6 +19,9 @@ KeySkillfastMoveOutsideTown=F7
KeySkillDefenseAura=F6 KeySkillDefenseAura=F6
KeySkillCastDefense=F5 KeySkillCastDefense=F5
KeySkillLifeAura=F3 KeySkillLifeAura=F3
KeySkillBattleOrder=D5
KeySkillBattleCommand=D6
KeySkillBattleCry=D7
PlayerAttackWithRightHand=false PlayerAttackWithRightHand=false
@ -62,9 +65,19 @@ GrabForGold=true
IDAtShop=true IDAtShop=true
LeaveDiabloClone=true LeaveDiabloClone=true
GambleGold=true GambleGold=true
UseKeys=true
//####################################### //#######################################
//MERC SETTINGS //MERC SETTINGS
//####################################### //#######################################
UsingMerc=true UsingMerc=true
MercTakeHPPotUnder=40 MercTakeHPPotUnder=40
//#######################################
//AVOID IMMUNE SETTINGS
//#######################################
AvoidColdImmune=false
AvoidFireImmune=false
AvoidLightImmune=false
AvoidPoisonImmune=false
AvoidMagicImmune=false

View File

@ -19,6 +19,9 @@ KeySkillfastMoveOutsideTown=F7
KeySkillDefenseAura=F7 KeySkillDefenseAura=F7
KeySkillCastDefense=F5 KeySkillCastDefense=F5
KeySkillLifeAura=F4 KeySkillLifeAura=F4
KeySkillBattleOrder=D5
KeySkillBattleCommand=D6
KeySkillBattleCry=D7
PlayerAttackWithRightHand=true PlayerAttackWithRightHand=true
@ -62,9 +65,19 @@ GrabForGold=true
IDAtShop=true IDAtShop=true
LeaveDiabloClone=true LeaveDiabloClone=true
GambleGold=true GambleGold=true
UseKeys=true
//####################################### //#######################################
//MERC SETTINGS //MERC SETTINGS
//####################################### //#######################################
UsingMerc=false UsingMerc=false
MercTakeHPPotUnder=40 MercTakeHPPotUnder=40
//#######################################
//AVOID IMMUNE SETTINGS
//#######################################
AvoidColdImmune=false
AvoidFireImmune=false
AvoidLightImmune=false
AvoidPoisonImmune=false
AvoidMagicImmune=false

View File

@ -291,10 +291,10 @@ Perfect Diamond
//[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest //[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
[Name] == Shako && [Quality] == unique // Harlequin Crest [Name] == Shako && [Quality] == unique // Harlequin Crest
[Name] == Demonhead && [Quality] == unique // Andariel's Visage [Name] == Demonhead && [Quality] == unique // Andariel's Visage
[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal //[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal
[Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull [Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull
[Name] == SpiredHelm && [Quality] == unique && [Flag] != ethereal// Nightwing's Veil [Name] == SpiredHelm && [Quality] == unique && [Flag] != ethereal// Nightwing's Veil
[Name] == Corona && [Quality] == unique && [Flag] != ethereal // Crown of ages //[Name] == Corona && [Quality] == unique && [Flag] != ethereal // Crown of ages
[Name] == Corona && [Quality] == unique // Crown of ages [Name] == Corona && [Quality] == unique // Crown of ages
//##### Armor //##### Armor

View File

@ -153,18 +153,36 @@ namespace app
Assassin = 6, Assassin = 6,
} }
public enum NpcFlag public enum MonsterType
{ {
None = 0, None = 0,
SuperUnique = 1 << 1, SuperUnique = 1,
Champion = 1 << 2, Champion = 2,
Unique = 1 << 3, Unique = 3,
Minion = 1 << 4, Minion = 4,
Possessed = 1 << 5, Possessed = 5,
Ghostly = 1 << 6, Ghostly = 6,
Multishot = 1 << 7, Multishot = 7,
} }
public enum StatResist
{
ColdImmune,
FireImmune,
LightImmune,
PoisonImmune,
MagicImmune
}
/*public enum MonsterType
{
None,
SuperUnique,
Champion,
Unique,
Minion
}*/
/** Extra Skills NPC's can have */ /** Extra Skills NPC's can have */
public enum NpcEnchant public enum NpcEnchant
{ {

View File

@ -99,10 +99,12 @@ namespace app
public void VerifyKeysInventory() public void VerifyKeysInventory()
{ {
if (!CharConfig.UseKeys) return;
int thisindex = CharConfig.KeysLocationInInventory.Item1 + (CharConfig.KeysLocationInInventory.Item2 * 10); int thisindex = CharConfig.KeysLocationInInventory.Item1 + (CharConfig.KeysLocationInInventory.Item2 * 10);
//if its not a key at the key location, relocate the item //if its not a key at the key location, relocate the item
if (InventoryItemNames[thisindex] != "Key") if (InventoryItemNames[thisindex] != "Key" && InventoryItemNames[thisindex] != "" && InventoryHasItem[thisindex] > 0)
{ {
//Console.WriteLine("here"); //Console.WriteLine("here");
int ThisNewIndex = GetNextFreeSpaceInInventory(); int ThisNewIndex = GetNextFreeSpaceInInventory();
@ -309,7 +311,7 @@ namespace app
InventoryHasUnidItem[FullIndex] = 1; 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]); //Console.WriteLine(Form1_0.ItemsStruc_0.ItemNAAME + ", StashItem:" + InventoryHasStashItem[FullIndex] + ", ItemToID:" + InventoryHasItemToID[FullIndex] + ", UnidItem:" + InventoryHasUnidItem[FullIndex]);
} }
catch { } catch { }
} }

View File

@ -49,6 +49,54 @@ namespace app
Form1_0 = form1_1; Form1_0 = form1_1;
} }
public void CheckItemNames()
{
foreach (var ThisDir in PickItemsRunesKeyGems)
{
if (ThisDir.Value)
{
bool FoundItemName = false;
string CheckName = ThisDir.Key.Replace(" ", "");
for (int i = 0; i < 659; i++ )
{
if (Form1_0.ItemsNames_0.getItemBaseName(i).Replace(" ", "") == CheckName)
{
FoundItemName = true;
break;
}
}
if (!FoundItemName)
{
Form1_0.method_1("Item '" + ThisDir.Key + "' from the pickit doesn't exist", Color.Red);
}
}
}
foreach (var ThisDir in PickItemsNormal_ByName)
{
if (ThisDir.Value)
{
bool FoundItemName = false;
string CheckName = Regex.Replace(ThisDir.Key, @"[\d-]", string.Empty);
for (int i = 0; i < 659; i++)
{
if (Form1_0.ItemsNames_0.getItemBaseName(i).Replace(" ", "") == CheckName)
{
FoundItemName = true;
break;
}
}
if (!FoundItemName)
{
Form1_0.method_1("Item '" + CheckName + "' from the pickit doesn't exist", Color.Red);
}
}
}
}
public bool ShouldKeepItem() public bool ShouldKeepItem()
{ {
return ShouldPickItem(true); return ShouldPickItem(true);

View File

@ -5467,7 +5467,7 @@ namespace app
case 371: case 371:
return "Chaos Armor"; return "Chaos Armor";
case 372: case 372:
return "Ornate Armor"; return "Ornate Plate";
case 373: case 373:
return "Mage Plate"; return "Mage Plate";
case 374: case 374:
@ -6029,17 +6029,17 @@ namespace app
case 652: case 652:
return "Mephisto's Brain"; return "Mephisto's Brain";
case 653: case 653:
return "Token of Absolution"; return "Token Of Absolution";
case 654: case 654:
return "Twisted Essence of Suffering"; return "Twisted Essence Of Suffering";
case 655: case 655:
return "Charged Essense of Hatred"; return "Charged Essence Of Hatred";
case 656: case 656:
return "Burning Essence of Terror"; return "Burning Essence Of Terror";
case 657: case 657:
return "Festering Essence of Destruction"; return "Festering Essence Of Destruction";
case 658: case 658:
return "Standard of Heroes"; return "Standard Of Heroes";
default: default:
return ""; return "";
} }

View File

@ -323,6 +323,20 @@ namespace app
} }
} }
public string GetItemsStashInfosTxt()
{
string ThisInfos = ", StashItem:";
if (Form1_0.ItemsAlert_0.ShouldKeepItem()) ThisInfos += "true";
else ThisInfos += "false";
ThisInfos += ", ItemToID:";
if (Form1_0.ItemsAlert_0.ShouldPickItem(false)) ThisInfos += "true";
else ThisInfos += "false";
//Console.WriteLine(Form1_0.ItemsStruc_0.ItemNAAME + ", StashItem:" + InventoryHasStashItem[FullIndex] + ", ItemToID:" + InventoryHasItemToID[FullIndex] + ", UnidItem:" + InventoryHasUnidItem[FullIndex]);
return ThisInfos;
}
public bool DebuggingItems = false; public bool DebuggingItems = false;
public List<string> AllItemsOnCursor = new List<string>(); public List<string> AllItemsOnCursor = new List<string>();
@ -423,7 +437,7 @@ namespace app
if (DebuggingItems) if (DebuggingItems)
{ {
AllItemsOnCursor.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Cursor - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsOnCursor.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Cursor - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
} }
} }
@ -444,7 +458,7 @@ namespace app
if (DebuggingItems) if (DebuggingItems)
{ {
AllItemsInInventory.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Inventory - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsInInventory.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Inventory - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
} }
@ -456,7 +470,7 @@ namespace app
if (DebuggingItems) if (DebuggingItems)
{ {
AllItemsInStash.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Stash - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsInStash.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Stash - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
} }
if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc == 4) if (dwOwnerId != Form1_0.PlayerScan_0.unitId && equiploc == 4)
@ -472,9 +486,9 @@ namespace app
if (dwOwnerId == dwOwnerId_Shared3) StashNum = 4; if (dwOwnerId == dwOwnerId_Shared3) StashNum = 4;
Form1_0.StashStruc_0.AddStashItem(itemx, itemy, StashNum); Form1_0.StashStruc_0.AddStashItem(itemx, itemy, StashNum);
if (dwOwnerId == dwOwnerId_Shared1 && DebuggingItems) AllItemsInSharedStash1.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shared Stash1 - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); if (dwOwnerId == dwOwnerId_Shared1 && DebuggingItems) AllItemsInSharedStash1.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shared Stash1 - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
if (dwOwnerId == dwOwnerId_Shared2 && DebuggingItems) AllItemsInSharedStash2.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shared Stash2 - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); if (dwOwnerId == dwOwnerId_Shared2 && DebuggingItems) AllItemsInSharedStash2.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shared Stash2 - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
if (dwOwnerId == dwOwnerId_Shared3 && DebuggingItems) AllItemsInSharedStash3.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shared Stash3 - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); if (dwOwnerId == dwOwnerId_Shared3 && DebuggingItems) AllItemsInSharedStash3.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Shared Stash3 - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
} }
if (dwOwnerId == Form1_0.PlayerScan_0.unitId && equiploc == 3) if (dwOwnerId == Form1_0.PlayerScan_0.unitId && equiploc == 3)
@ -485,7 +499,7 @@ namespace app
if (DebuggingItems) if (DebuggingItems)
{ {
AllItemsIncube.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Cube - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsIncube.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Cube - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
} }
} }
@ -505,7 +519,7 @@ namespace app
if (DebuggingItems) if (DebuggingItems)
{ {
AllItemsEquipped.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - Equipped - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsEquipped.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - Equipped - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
} }
else else
@ -516,7 +530,7 @@ namespace app
Form1_0.method_1("owner: " + dwOwnerId.ToString("X") + ", ID: " + ItemID.ToString("X") + ", name: " + ItemNAAME + " - at: " + itemx + "," + itemy + " - " + equiploc, Color.DarkGreen); Form1_0.method_1("owner: " + dwOwnerId.ToString("X") + ", ID: " + ItemID.ToString("X") + ", name: " + ItemNAAME + " - at: " + itemx + "," + itemy + " - " + equiploc, Color.DarkGreen);
}*/ }*/
} }
} }
if (itemdatastruc[0x0C] == 2) if (itemdatastruc[0x0C] == 2)
{ {
if (dwOwnerId == Form1_0.PlayerScan_0.unitId) if (dwOwnerId == Form1_0.PlayerScan_0.unitId)
@ -529,7 +543,7 @@ namespace app
if (DebuggingItems) if (DebuggingItems)
{ {
AllItemsInBelt.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Belt - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsInBelt.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - In Belt - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
} }
} }
@ -541,12 +555,19 @@ namespace app
//Form1_0.method_1_Items("Ground: " + ItemNAAME, GetColorFromQuality((int)itemQuality)); //Form1_0.method_1_Items("Ground: " + ItemNAAME, GetColorFromQuality((int)itemQuality));
if (DebuggingItems) if (DebuggingItems)
{ {
AllItemsOnGround.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Ground/Droping - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats()); AllItemsOnGround.Add("ID:" + txtFileNo + "(" + ItemNAAME + ") at:" + itemx + ", " + itemy + " - On Ground/Droping - " + Form1_0.ItemsAlert_0.GetItemTypeText() + " && " + GetQualityTextString() + " && " + GetAllFlagsFromItem() + " && " + GetAllValuesFromStats() + GetItemsStashInfosTxt());
} }
if (IsIncludedInList(BadItemsOnGroundPointerList, ItemPointerLocation)) continue;
if (IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation)) continue;
if (!IsPickingItem) continue; if (!IsPickingItem) continue;
if (IsIncludedInList(BadItemsOnGroundPointerList, ItemPointerLocation)) continue;
if (IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation))
{
if (!IsItemPickingPotion())
{
continue;
//if (!Form1_0.ItemsAlert_0.ShouldPickItem(false)) continue;
}
}
Form1_0.UIScan_0.readUI(); Form1_0.UIScan_0.readUI();
if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu || Form1_0.UIScan_0.fullMenu) continue; if (Form1_0.UIScan_0.leftMenu || Form1_0.UIScan_0.rightMenu || Form1_0.UIScan_0.fullMenu) continue;
@ -660,6 +681,7 @@ namespace app
{ {
if (!IsItemPickingPotion() && !IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation)) if (!IsItemPickingPotion() && !IsIncludedInList(AvoidItemsOnGroundPointerList, ItemPointerLocation))
{ {
//Form1_0.method_1("Added avoid item 'OnGround':" + ItemNAAME, Color.OrangeRed);
AvoidItemsOnGroundPointerList.Add(ItemPointerLocation); AvoidItemsOnGroundPointerList.Add(ItemPointerLocation);
} }
} }

View File

@ -34,7 +34,7 @@ namespace app
_kooloMapPath = Application.StartupPath + @"\map.exe"; _kooloMapPath = Application.StartupPath + @"\map.exe";
} }
public Position GetAreaOfObject(string ObjectType, string ObjectName, List<int> IgnoreTheseIndex, int StartAreaIndexToSearch = 0, int EndAreaIndexToSearch = 1) public Position GetAreaOfObject(string ObjectType, string ObjectName, List<int> IgnoreTheseIndex, int StartAreaIndexToSearch = 0, int EndAreaIndexToSearch = 1, bool ForOverlay = false)
{ {
Position ThisPos = new Position(); Position ThisPos = new Position();
ThisPos.X = 0; ThisPos.X = 0;
@ -51,8 +51,8 @@ namespace app
{ {
//ExitType = "exit" or "exit_area" //ExitType = "exit" or "exit_area"
CurrentObjectIndex = 0; if (!ForOverlay) CurrentObjectIndex = 0;
CurrentObjectAreaIndex = 0; if (!ForOverlay) CurrentObjectAreaIndex = 0;
for (int i = StartAreaIndexToSearch; i < EndAreaIndexToSearch; i++) for (int i = StartAreaIndexToSearch; i < EndAreaIndexToSearch; i++)
{ {
@ -69,8 +69,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
if (AllMapData[i].Objects[k].Type == "exit_area" && ObjectType == "exit_area") if (AllMapData[i].Objects[k].Type == "exit_area" && ObjectType == "exit_area")
@ -79,8 +79,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
if (AllMapData[i].Objects[k].Type == "object" && ObjectType == "object") if (AllMapData[i].Objects[k].Type == "object" && ObjectType == "object")
@ -90,8 +90,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
if (AllMapData[i].Objects[k].Type == "npc" && ObjectType == "npc") if (AllMapData[i].Objects[k].Type == "npc" && ObjectType == "npc")
@ -100,8 +100,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
} }
@ -115,7 +115,7 @@ namespace app
return ThisPos; return ThisPos;
} }
public Position GetPositionOfObject(string ObjectType, string ObjectName, int AreaID, List<int> IgnoreTheseIndex, bool IgnoreName = false) public Position GetPositionOfObject(string ObjectType, string ObjectName, int AreaID, List<int> IgnoreTheseIndex, bool IgnoreName = false, bool ForOverlay = false)
{ {
Position ThisPos = new Position(); Position ThisPos = new Position();
ThisPos.X = 0; ThisPos.X = 0;
@ -127,8 +127,8 @@ namespace app
{ {
//ExitType = "exit" or "exit_area" //ExitType = "exit" or "exit_area"
CurrentObjectIndex = 0; if (!ForOverlay) CurrentObjectIndex = 0;
CurrentObjectAreaIndex = 0; if (!ForOverlay) CurrentObjectAreaIndex = 0;
//for (int i = 0; i < AllMapData.Count; i++) //for (int i = 0; i < AllMapData.Count; i++)
//{ //{
@ -149,8 +149,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
if (AllMapData[i].Objects[k].Type == "exit_area" && ObjectType == "exit_area") if (AllMapData[i].Objects[k].Type == "exit_area" && ObjectType == "exit_area")
@ -160,8 +160,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
if (AllMapData[i].Objects[k].Type == "object" && ObjectType == "object") if (AllMapData[i].Objects[k].Type == "object" && ObjectType == "object")
@ -173,8 +173,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
else else
@ -184,8 +184,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
} }
@ -197,8 +197,8 @@ namespace app
{ {
ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X; ThisPos.X = AllMapData[i].Offset.X + AllMapData[i].Objects[k].X;
ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y; ThisPos.Y = AllMapData[i].Offset.Y + AllMapData[i].Objects[k].Y;
CurrentObjectIndex = k; if (!ForOverlay) CurrentObjectIndex = k;
CurrentObjectAreaIndex = i; if (!ForOverlay) CurrentObjectAreaIndex = i;
} }
} }
} }

View File

@ -7,6 +7,8 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using static System.Windows.Forms.AxHost; using static System.Windows.Forms.AxHost;
using static app.MapAreaStruc; using static app.MapAreaStruc;
using static app.EnumsMobsNPC;
using static app.EnumsStates;
namespace app namespace app
{ {
@ -209,6 +211,7 @@ namespace app
} }
public List<int> monsterIDs = new List<int>(); public List<int> monsterIDs = new List<int>();
public List<int> monsterTypes = new List<int>();
public List<int[]> GetAllMobsNearby() public List<int[]> GetAllMobsNearby()
{ {
@ -216,6 +219,7 @@ namespace app
List<int[]> monsterPositions2 = new List<int[]>(); List<int[]> monsterPositions2 = new List<int[]>();
monsterIDs = new List<int>(); monsterIDs = new List<int>();
monsterTypes = new List<int>();
try try
{ {
@ -233,6 +237,12 @@ namespace app
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 4, ref CurrentPointerBytes, CurrentPointerBytes.Length); Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 4, ref CurrentPointerBytes, CurrentPointerBytes.Length);
uint txtFileNo2 = BitConverter.ToUInt32(CurrentPointerBytes, 0); uint txtFileNo2 = BitConverter.ToUInt32(CurrentPointerBytes, 0);
CurrentPointerBytes = new byte[8];
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x10, ref CurrentPointerBytes, CurrentPointerBytes.Length);
long unitDataPtr = BitConverter.ToInt64(CurrentPointerBytes, 0);
byte flag = Form1_0.Mem_0.ReadByteRaw((IntPtr) (unitDataPtr + 0x1A));
//long pStatsListExPtr = BitConverter.ToInt64(mobsdatastruc, 0x88); //long pStatsListExPtr = BitConverter.ToInt64(mobsdatastruc, 0x88);
CurrentPointerBytes = new byte[8]; CurrentPointerBytes = new byte[8];
Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x88, ref CurrentPointerBytes, CurrentPointerBytes.Length); Form1_0.Mem_0.ReadRawMemory(MobsPointerLocation + 0x88, ref CurrentPointerBytes, CurrentPointerBytes.Length);
@ -268,6 +278,7 @@ namespace app
{ {
monsterPositions2.Add(new int[2] { (int)xPosFinalAll, (int)yPosFinalAll }); monsterPositions2.Add(new int[2] { (int)xPosFinalAll, (int)yPosFinalAll });
monsterIDs.Add((int)txtFileNo2); monsterIDs.Add((int)txtFileNo2);
monsterTypes.Add(GetMonsterType(flag));
} }
} }
} }
@ -282,6 +293,66 @@ namespace app
return monsterPositions2; return monsterPositions2;
} }
public int GetMonsterType(byte typeFlag)
{
switch (typeFlag)
{
case 10:
return (int) Enums.MonsterType.SuperUnique;
case 1 << 2:
return (int)Enums.MonsterType.Champion;
case 1 << 3:
return (int)Enums.MonsterType.Unique;
case 1 << 4:
return (int)Enums.MonsterType.Minion;
case 1 << 5:
return (int)Enums.MonsterType.Possessed;
case 1 << 6:
return (int)Enums.MonsterType.Ghostly;
case 1 << 7:
return (int)Enums.MonsterType.Multishot;
default:
return (int) Enums.MonsterType.None;
}
}
public bool IsImmune(Enums.StatResist resist)
{
if (this.statCount < 100)
{
Form1_0.Mem_0.ReadRawMemory(this.statPtr, ref statBuffer, (int)(this.statCount * 10));
for (int i = 0; i < this.statCount; i++)
{
int offset = i * 8;
short statLayer = BitConverter.ToInt16(statBuffer, offset);
ushort statEnum = BitConverter.ToUInt16(statBuffer, offset + 0x2);
int statValue = BitConverter.ToInt32(statBuffer, offset + 0x4);
if (resist == Enums.StatResist.ColdImmune && (Enums.Attribute) statEnum == Enums.Attribute.ColdResist)
{
return true;
}
if (resist == Enums.StatResist.FireImmune && (Enums.Attribute) statEnum == Enums.Attribute.FireResist)
{
return true;
}
if (resist == Enums.StatResist.LightImmune && (Enums.Attribute) statEnum == Enums.Attribute.LightningResist)
{
return true;
}
if (resist == Enums.StatResist.PoisonImmune && (Enums.Attribute) statEnum == Enums.Attribute.PoisonResist)
{
return true;
}
if (resist == Enums.StatResist.MagicImmune && (Enums.Attribute) statEnum == Enums.Attribute.MagicResist)
{
return true;
}
}
}
return false;
}
public void GetUnitPathDataAll() public void GetUnitPathDataAll()
{ {
//pPathPtr = BitConverter.ToInt64(mobsdatastruc, 0x38); //pPathPtr = BitConverter.ToInt64(mobsdatastruc, 0x38);
@ -392,6 +463,23 @@ namespace app
GetStatsAddr(); GetStatsAddr();
int MobHPBuffer = GetHPFromStats(); int MobHPBuffer = GetHPFromStats();
//Avoid Immunes
if (CharConfig.AvoidColdImmune
|| CharConfig.AvoidFireImmune
|| CharConfig.AvoidLightImmune
|| CharConfig.AvoidPoisonImmune
|| CharConfig.AvoidMagicImmune)
{
if (IsImmune(Enums.StatResist.ColdImmune) && CharConfig.AvoidColdImmune
|| IsImmune(Enums.StatResist.FireImmune) && CharConfig.AvoidFireImmune
|| IsImmune(Enums.StatResist.LightImmune) && CharConfig.AvoidLightImmune
|| IsImmune(Enums.StatResist.PoisonImmune) && CharConfig.AvoidPoisonImmune
|| IsImmune(Enums.StatResist.MagicImmune) && CharConfig.AvoidMagicImmune)
{
continue; //go to next mobs
}
}
//Console.WriteLine("found near mob " + txtFileNo + " at: " + xPosFinal + ", " + yPosFinal + " HP:" + MobHPBuffer); //Console.WriteLine("found near mob " + txtFileNo + " at: " + xPosFinal + ", " + yPosFinal + " HP:" + MobHPBuffer);
if ((MobHPBuffer > 0 || (MobHPBuffer == 0 && MobName != "")) if ((MobHPBuffer > 0 || (MobHPBuffer == 0 && MobName != ""))
&& (xPosFinal != 0 && yPosFinal != 0)//) && (xPosFinal != 0 && yPosFinal != 0)//)

View File

@ -226,6 +226,7 @@ namespace app
{ {
case 0: return 1; //UNKOWN case 0: return 1; //UNKOWN
case 1: return 1; //Skeleton case 1: return 1; //Skeleton
case 3: return 1; //UNKOWN
//case 23: return 1; //WarpedFallen //case 23: return 1; //WarpedFallen
case 149: return 1; //Chicken case 149: return 1; //Chicken
case 151: return 1; //Rat case 151: return 1; //Rat

View File

@ -1,4 +1,5 @@
using System; using System;
using System.IO;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Linq; using System.Linq;
@ -20,6 +21,8 @@ namespace app
public List<long> AllPlayersPointers = new List<long>(); public List<long> AllPlayersPointers = new List<long>();
public List<long> AllNPCPointers = new List<long>(); public List<long> AllNPCPointers = new List<long>();
public List<long> AllPossiblePointers = new List<long>();
public List<long> AllPossibleItemsPointers = new List<long>(); public List<long> AllPossibleItemsPointers = new List<long>();
public List<long> AllPossiblePlayerPointers = new List<long>(); public List<long> AllPossiblePlayerPointers = new List<long>();
public List<long> AllPossibleObjectsPointers = new List<long>(); public List<long> AllPossibleObjectsPointers = new List<long>();
@ -32,9 +35,13 @@ namespace app
public long StartIndexItem = long.MaxValue; public long StartIndexItem = long.MaxValue;
public long StartIndexItemLast = long.MaxValue; public long StartIndexItemLast = long.MaxValue;
public int ScanUnitsNumber = 2600; public int ScanUnitsNumber = 2100;
//public int ScanUnitsNumber = 2048; //public int ScanUnitsNumber = 2048;
public int ScanUnitsNegativeOffset = 0; public int ScanUnitsNegativeOffset = 30;
public long StartIndexItem_V2 = long.MaxValue;
public long StartIndexItemLast_V2 = long.MaxValue;
public void SetForm1(Form1 form1_1) public void SetForm1(Form1 form1_1)
@ -248,19 +255,99 @@ namespace app
//DetectFirstUnitPointer(); //DetectFirstUnitPointer();
} }
//########################################################################################################################################
/*public void scanForUnitsPointer(string SearchUnitsType) //########################################################################################################################################
//########################################################################################################################################
//ALL VERSIONS
public void unitPatternScan(long AtPoiinter, string SearchType)
{ {
UnitPatternScan(SearchUnitsType); long SearchOffset = 0;
//checkForMissingPointers(SearchUnitsType); long ThisAddrF = Search(UnitBuffer, ThisCheckbytes, SearchOffset, SearchType);
//while (ThisAddrF >= 0)
if (ThisAddrF >= 0)
{
AddPointerToList(AtPoiinter + ThisAddrF, SearchType);
}
}
public int ScannedItemsCount = 0;
public int ScannedPlayerCount = 0;
public int ScannedObjectsCount = 0;
public int ScannedNPCCount = 0;
public int GetUnitsScannedCount(int ThisVersion)
{
ScannedItemsCount = 0;
ScannedPlayerCount = 0;
ScannedObjectsCount = 0;
ScannedNPCCount = 0;
if (ThisVersion == 1) scanForUnitsPointerV1("item");
int UnitsScannedCount = 0;
long CheckThisI = StartIndexItem;
if (ThisVersion == 2) CheckThisI = StartIndexItem_V2;
CheckThisI -= (0x48 + 0x170) * ScanUnitsNegativeOffset; //offseting in negative here
UnitBuffer = new byte[9];
//string SavePathh = Form1_0.ThisEndPath + "DumpHexUnits";
//File.Create(SavePathh).Dispose();
for (int i = 0; i < ScanUnitsNumber; i++)
{
if ((i % 2) == 1) CheckThisI += 0x48;
else CheckThisI += 0x170;
/*byte[] CurrentUnitBuff = new byte[(0x48 + 0x170)];
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref CurrentUnitBuff, CurrentUnitBuff.Length);
AppendAllBytes(SavePathh, CurrentUnitBuff);*/
ThisCheckbytes = new byte[] { (byte)UnitType.Item, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
long SearchOffset = 0;
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "item") >= 0) { UnitsScannedCount++; ScannedItemsCount++; }
ThisCheckbytes = new byte[] { (byte)UnitType.Player, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
SearchOffset = 0;
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "player") >= 0) { UnitsScannedCount++; ScannedPlayerCount++; }
ThisCheckbytes = new byte[] { (byte)UnitType.GameObject, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
SearchOffset = 0;
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "objects") >= 0) { UnitsScannedCount++; ScannedObjectsCount++; }
ThisCheckbytes = new byte[] { (byte)UnitType.NPC, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
SearchOffset = 0;
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "NPC") >= 0) { UnitsScannedCount++; ScannedNPCCount++; }
}
return UnitsScannedCount;
}
public static void AppendAllBytes(string path, byte[] bytes)
{
using (var stream = new FileStream(path, FileMode.Append))
{
stream.Write(bytes, 0, bytes.Length);
}
}
//########################################################################################################################################
//########################################################################################################################################
//########################################################################################################################################
//VERSION 2 UNITS SCAN
public void scanForUnitsPointer(string SearchUnitsType)
{
UnitPatternScanV2(SearchUnitsType);
} }
public void DetectFirstUnitPointer() public void DetectFirstUnitPointer()
{ {
long UnitOffset = 0; long UnitOffset = (long)Form1_0.BaseAddress + (long)Form1_0.offsets["unitTable"] + Form1_0.UnitStrucOffset;
//try
//{
UnitOffset = (long)Form1_0.BaseAddress + (long)Form1_0.offsets["unitTable"] + Form1_0.UnitStrucOffset;
AllPossiblePointers = new List<long>(); AllPossiblePointers = new List<long>();
for (int i = 0; i < ((128 + 516) * 10); i += 8) for (int i = 0; i < ((128 + 516) * 10); i += 8)
@ -272,19 +359,18 @@ namespace app
//set start index for searching //set start index for searching
for (int i = 0; i < AllPossiblePointers.Count; i++) for (int i = 0; i < AllPossiblePointers.Count; i++)
{ {
if (AllPossiblePointers[i] < StartIndexItem) StartIndexItem = AllPossiblePointers[i]; if (AllPossiblePointers[i] < StartIndexItem_V2) StartIndexItem_V2 = AllPossiblePointers[i];
} }
//(byte)UnitType.Item, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 //(byte)UnitType.Item, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00
//1C 00 00 00 0C 00 00 00 21 00 00 00 1D 00 00 00 //1C 00 00 00 0C 00 00 00 21 00 00 00 1D 00 00 00
//04 00 00 00 1F 00 00 00 06 00 00 00 00 00 00 00 //04 00 00 00 1F 00 00 00 06 00 00 00 00 00 00 00
if (StartIndexItem == long.MaxValue) return; if (StartIndexItem_V2 == long.MaxValue) return;
int BadCount = 0; int BadCount = 0;
long CheckThisI = StartIndexItem; long CheckThisI = StartIndexItem_V2;
//CheckThisI -= (0x48 + 0x170) * 100; //offseting in negative here for (int i = 250; i >= 0; i--)
for (int i = 100; i >= 0; i--)
{ {
//if ((i % 2) == 1) CheckThisI -= 0x48; //if ((i % 2) == 1) CheckThisI -= 0x48;
//else CheckThisI -= 0x170; //else CheckThisI -= 0x170;
@ -299,7 +385,7 @@ namespace app
if (CurrentUnitBuff[6] == 0 && CurrentUnitBuff[7] == 0) if (CurrentUnitBuff[6] == 0 && CurrentUnitBuff[7] == 0)
{ {
BadCount = 0; BadCount = 0;
StartIndexItem = CheckThisI; StartIndexItem_V2 = CheckThisI;
} }
else else
{ {
@ -308,12 +394,11 @@ namespace app
BadCount++; BadCount++;
if (BadCount >= 3) if (BadCount >= 3)
{ {
if (StartIndexItem != LastStartIndexItem) if (StartIndexItem_V2 != StartIndexItemLast_V2)
{ {
LastStartIndexItem = StartIndexItem; StartIndexItemLast_V2 = StartIndexItem_V2;
//ScanUnitsNumber += i; //ScanUnitsNumber += i;
Form1_0.method_1("Units pointer start at: 0x" + StartIndexItem.ToString("X"), Color.Black); Form1_0.method_1("Units pointer start at: 0x" + StartIndexItem_V2.ToString("X"), Color.Black);
//Form1_0.method_1("BAD Units pointer start at: 0x" + CheckThisI.ToString("X"), Color.Black);
} }
return; return;
} }
@ -324,57 +409,61 @@ namespace app
} }
} }
} }
//} }
//catch
//{
// return;
//}
}*/
public int GetUnitsScannedCount() public void UnitPatternScanV2(string SearchUnitsType)
{ {
int UnitsScannedCount = 0; if (StartIndexItem_V2 == long.MaxValue) DetectFirstUnitPointer();
long CheckThisI = StartIndexItem;
CheckThisI -= (0x48 + 0x170) * ScanUnitsNegativeOffset; //offseting in negative here
UnitBuffer = new byte[9];
//string SavePathh = Form1_0.ThisEndPath + "DumpHexUnits"; //search
//File.Create(SavePathh).Dispose(); long CheckThisI = StartIndexItem_V2;
UnitBuffer = new byte[9];
CheckThisI -= (0x48 + 0x170) * ScanUnitsNegativeOffset; //offseting in negative here
//Console.WriteLine("Unit start: 0x" + CheckThisI.ToString("X"));
//Console.WriteLine("Unit end: 0x" + (CheckThisI + ((0x48 * ScanUnitsNumber / 2)) + ((0x170 * ScanUnitsNumber / 2))).ToString("X"));
for (int i = 0; i < ScanUnitsNumber; i++) for (int i = 0; i < ScanUnitsNumber; i++)
{ {
if ((i % 2) == 1) CheckThisI += 0x48; if ((i % 2) == 1) CheckThisI += 0x48;
else CheckThisI += 0x170; else CheckThisI += 0x170;
//byte[] CurrentUnitBuff = new byte[(0x48 + 0x170)]; if (SearchUnitsType == "item")
//Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref CurrentUnitBuff, CurrentUnitBuff.Length); {
//AppendAllBytes(SavePathh, CurrentUnitBuff);
ThisCheckbytes = new byte[] { (byte)UnitType.Item, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 }; ThisCheckbytes = new byte[] { (byte)UnitType.Item, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length); Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
long SearchOffset = 0; unitPatternScan(CheckThisI, "item");
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "item") >= 0) UnitsScannedCount++; }
if (SearchUnitsType == "player")
{
ThisCheckbytes = new byte[] { (byte)UnitType.Player, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 }; ThisCheckbytes = new byte[] { (byte)UnitType.Player, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length); Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
SearchOffset = 0; unitPatternScan(CheckThisI, "player");
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "item") >= 0) UnitsScannedCount++; }
if (SearchUnitsType == "objects")
{
ThisCheckbytes = new byte[] { (byte)UnitType.GameObject, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 }; ThisCheckbytes = new byte[] { (byte)UnitType.GameObject, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length); Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
SearchOffset = 0; unitPatternScan(CheckThisI, "objects");
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "item") >= 0) UnitsScannedCount++; }
if (SearchUnitsType == "NPC")
{
ThisCheckbytes = new byte[] { (byte)UnitType.NPC, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 }; ThisCheckbytes = new byte[] { (byte)UnitType.NPC, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00 };
Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length); Form1_0.Mem_0.ReadRawMemory(CheckThisI, ref UnitBuffer, UnitBuffer.Length);
SearchOffset = 0; unitPatternScan(CheckThisI, "NPC");
if (Search(UnitBuffer, ThisCheckbytes, SearchOffset, "item") >= 0) UnitsScannedCount++; }
}
} }
return UnitsScannedCount;
}
public void scanForUnitsPointer(string SearchUnitsType) //########################################################################################################################################
//########################################################################################################################################
//########################################################################################################################################
//VERSION 1 UNITS SCAN
public void scanForUnitsPointerV1(string SearchUnitsType)
{ {
long UnitOffset = 0; long UnitOffset = 0;
try try
@ -431,15 +520,12 @@ namespace app
} }
} }
UnitPatternScan(SearchUnitsType); UnitPatternScanV1(SearchUnitsType);
checkForMissingPointers(SearchUnitsType); checkForMissingPointers(SearchUnitsType);
} }
public void UnitPatternScan(string SearchUnitsType) public void UnitPatternScanV1(string SearchUnitsType)
{ {
//DetectFirstUnitPointer();
//if (StartIndexItem == long.MaxValue) DetectFirstUnitPointer();
if (SearchUnitsType == "item") AllItemsPointers = new List<long>(); if (SearchUnitsType == "item") AllItemsPointers = new List<long>();
if (SearchUnitsType == "player") AllPlayersPointers = new List<long>(); if (SearchUnitsType == "player") AllPlayersPointers = new List<long>();
if (SearchUnitsType == "objects") AllObjectsPointers = new List<long>(); if (SearchUnitsType == "objects") AllObjectsPointers = new List<long>();
@ -505,8 +591,11 @@ namespace app
//search //search
long CheckThisI = StartIndexItem; long CheckThisI = StartIndexItem;
UnitBuffer = new byte[9]; UnitBuffer = new byte[9];
CheckThisI -= (0x48 + 0x170) * ScanUnitsNegativeOffset; //offseting in negative here CheckThisI -= (0x48 + 0x170) * ScanUnitsNegativeOffset; //offseting in negative here
//Console.WriteLine("Unit start: 0x" + CheckThisI.ToString("X"));
//Console.WriteLine("Unit end: 0x" + (CheckThisI + ((0x48 * ScanUnitsNumber / 2)) + ((0x170 * ScanUnitsNumber / 2))).ToString("X"));
for (int i = 0; i < ScanUnitsNumber; i++) for (int i = 0; i < ScanUnitsNumber; i++)
{ {
if ((i % 2) == 1) CheckThisI += 0x48; if ((i % 2) == 1) CheckThisI += 0x48;
@ -562,18 +651,6 @@ namespace app
} }
} }
public void unitPatternScan(long AtPoiinter, string SearchType)
{
long SearchOffset = 0;
long ThisAddrF = Search(UnitBuffer, ThisCheckbytes, SearchOffset, SearchType);
//while (ThisAddrF >= 0)
if (ThisAddrF >= 0)
{
AddPointerToList(AtPoiinter + ThisAddrF, SearchType);
}
}
public void AddPointerToList(long TPoiinter, string SearchType) public void AddPointerToList(long TPoiinter, string SearchType)
{ {
if (SearchType == "item") if (SearchType == "item")
@ -652,22 +729,5 @@ namespace app
} }
} }
} }
/*public const long OneKB = 1024;
public const long OneMB = OneKB * OneKB;
public const long OneGB = OneMB * OneKB;
public const long OneTB = OneGB * OneKB;
public string BytesToHumanReadable(long bytes)
{
if (bytes < 0) return "ERROR";
if (bytes < OneKB) return $"{bytes}B";
if (bytes >= OneKB && bytes < OneMB) return $"{bytes / OneKB}KB";
if (bytes >= OneMB && bytes < OneGB) return $"{bytes / OneMB}MB";
if (bytes >= OneGB && bytes < OneTB) return $"{bytes / OneMB}GB";
if (bytes >= OneTB) return $"{bytes / OneTB}";
return "TOO BIG";
}*/
} }
} }

View File

@ -45,6 +45,7 @@ RunEldritchScript=false
RunShenkScript=false RunShenkScript=false
RunNihlatakScript=false RunNihlatakScript=false
RunItemGrabScriptOnly=false RunItemGrabScriptOnly=false
ClearAfterBoss=false
//####################################### //#######################################
//NOT IN GAME SCRIPT (SEARCH GAMES OR CREATE A NEW GAME) //NOT IN GAME SCRIPT (SEARCH GAMES OR CREATE A NEW GAME)
@ -64,3 +65,18 @@ LeaveIfMobsIsPresent_ID=
LeaveIfMobsIsPresent_Count= LeaveIfMobsIsPresent_Count=
LeaveIfMobsCountIsAbove=0 LeaveIfMobsCountIsAbove=0
SafeHealingStrat=false SafeHealingStrat=false
//#######################################
//SPECIALS OVERLAY FEATURES
//#######################################
ShowMobs=true
ShowWPs=true
ShowGoodChests=true
ShowLogs=true
ShowBotInfos=true
ShowNPC=true
ShowPathFinding=true
ShowExits=true
ShowMapHackShowLines=true
ShowUnitsScanCount=false

View File

@ -19,6 +19,9 @@ KeySkillfastMoveOutsideTown=F7
KeySkillDefenseAura=F6 KeySkillDefenseAura=F6
KeySkillCastDefense=F5 KeySkillCastDefense=F5
KeySkillLifeAura=F3 KeySkillLifeAura=F3
KeySkillBattleOrder=D5
KeySkillBattleCommand=D6
KeySkillBattleCry=D7
PlayerAttackWithRightHand=false PlayerAttackWithRightHand=false
@ -62,9 +65,19 @@ GrabForGold=true
IDAtShop=true IDAtShop=true
LeaveDiabloClone=true LeaveDiabloClone=true
GambleGold=true GambleGold=true
UseKeys=true
//####################################### //#######################################
//MERC SETTINGS //MERC SETTINGS
//####################################### //#######################################
UsingMerc=true UsingMerc=true
MercTakeHPPotUnder=40 MercTakeHPPotUnder=40
//#######################################
//AVOID IMMUNE SETTINGS
//#######################################
AvoidColdImmune=false
AvoidFireImmune=false
AvoidLightImmune=false
AvoidPoisonImmune=false
AvoidMagicImmune=false

View File

@ -19,6 +19,9 @@ KeySkillfastMoveOutsideTown=F7
KeySkillDefenseAura=F7 KeySkillDefenseAura=F7
KeySkillCastDefense=F5 KeySkillCastDefense=F5
KeySkillLifeAura=F4 KeySkillLifeAura=F4
KeySkillBattleOrder=D5
KeySkillBattleCommand=D6
KeySkillBattleCry=D7
PlayerAttackWithRightHand=true PlayerAttackWithRightHand=true
@ -62,9 +65,19 @@ GrabForGold=true
IDAtShop=true IDAtShop=true
LeaveDiabloClone=true LeaveDiabloClone=true
GambleGold=true GambleGold=true
UseKeys=true
//####################################### //#######################################
//MERC SETTINGS //MERC SETTINGS
//####################################### //#######################################
UsingMerc=false UsingMerc=false
MercTakeHPPotUnder=40 MercTakeHPPotUnder=40
//#######################################
//AVOID IMMUNE SETTINGS
//#######################################
AvoidColdImmune=false
AvoidFireImmune=false
AvoidLightImmune=false
AvoidPoisonImmune=false
AvoidMagicImmune=false

View File

@ -291,10 +291,10 @@ Perfect Diamond
//[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest //[Name] == Shako && [Quality] == unique && [Defense] >= 120 // Harlequin Crest
[Name] == Shako && [Quality] == unique // Harlequin Crest [Name] == Shako && [Quality] == unique // Harlequin Crest
[Name] == Demonhead && [Quality] == unique // Andariel's Visage [Name] == Demonhead && [Quality] == unique // Andariel's Visage
[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal //[Name] == Demonhead && [Quality] == unique && [Flag] != ethereal
[Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull [Name] == BoneVisage && [Quality] == unique && [Flag] != ethereal // Giant Skull
[Name] == SpiredHelm && [Quality] == unique && [Flag] != ethereal// Nightwing's Veil [Name] == SpiredHelm && [Quality] == unique && [Flag] != ethereal// Nightwing's Veil
[Name] == Corona && [Quality] == unique && [Flag] != ethereal // Crown of ages //[Name] == Corona && [Quality] == unique && [Flag] != ethereal // Crown of ages
[Name] == Corona && [Quality] == unique // Crown of ages [Name] == Corona && [Quality] == unique // Crown of ages
//##### Armor //##### Armor

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.