Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions CoreAdvanced.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2429,7 +2429,7 @@ public CapeSpecial CurrentCapeSpecial()
if (EquippedCape == null)
return CapeSpecial.None;
int patternId = EquippedCape.EnhancementPatternID;
if (Enum.IsDefined(typeof(EnhancementType), patternId))
if (!Enum.IsDefined(typeof(CapeSpecial), patternId))
return CapeSpecial.None;
return (CapeSpecial)patternId;
}
Expand All @@ -2447,7 +2447,7 @@ public HelmSpecial CurrentHelmSpecial()
return HelmSpecial.None;
int patternId = EquippedHelm.EnhancementPatternID;

if (Enum.IsDefined(typeof(EnhancementType), patternId))
if (!Enum.IsDefined(typeof(HelmSpecial), patternId))
return HelmSpecial.None;
return (HelmSpecial)patternId;
}
Expand All @@ -2465,7 +2465,7 @@ public WeaponSpecial CurrentWeaponSpecial()
return WeaponSpecial.None;
int patternId = EquippedWeapon.EnhancementPatternID;

if (Enum.IsDefined(typeof(EnhancementType), patternId))
if (!Enum.IsDefined(typeof(WeaponSpecial), patternId))
return WeaponSpecial.None;
return (WeaponSpecial)patternId;
}
Expand Down Expand Up @@ -2829,7 +2829,19 @@ void _AutoEnhance(InventoryItem item, int shopID, string? map = null, bool loggi
bool specialOnCape = item.Category == ItemCategory.Cape && cSpecial != CapeSpecial.None;
bool specialOnHelm = item.Category == ItemCategory.Helm && hSpecial != HelmSpecial.None;
bool specialOnWeapon = item.ItemGroup == "Weapon" && wSpecial.ToString() != "None";
string mapName = map ?? Bot.Map?.Name ?? "whitemap";
string sourceMap = map;
string mapName =
string.IsNullOrWhiteSpace(map)
? string.IsNullOrWhiteSpace(Bot.Map?.Name)
? "whitemap"
: Bot.Map.Name
: map;

if (string.IsNullOrWhiteSpace(sourceMap))
Core.Logger(
$"Enhance: map input was blank for {item.Name}[{item.ID}], using fallback map '{mapName}'."
);

List<ShopItem> shopItems = Core.GetShopItems(mapName, shopID);

// Shopdata complete check
Expand Down
24 changes: 21 additions & 3 deletions CoreBots.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2507,6 +2507,12 @@ public void SellItem(int itemID, int quant = 1, bool all = false)
/// <returns>A list of <see cref="ShopItem"/> objects from the specified shop, or an empty list if the shop data could not be loaded.</returns>
public List<ShopItem> GetShopItems(string map, int shopID)
{
string originalMap = map;
map = string.IsNullOrWhiteSpace(map) ? "whitemap" : map.Trim();

if (!string.Equals(originalMap, map, StringComparison.Ordinal))
Logger($"GetShopItems: map input '{originalMap}' normalized to '{map}'.");

// Ensure player is in map
if (!Bot.Map.Name.Equals(map, StringComparison.OrdinalIgnoreCase))
{
Expand Down Expand Up @@ -8854,9 +8860,9 @@ public void Join(
bool ignoreCheck = false
)
{
if (string.IsNullOrEmpty(map))
if (string.IsNullOrWhiteSpace(map))
{
Logger("Map is null, cannot join.");
Logger("Map is null/blank, cannot join.");
return;
}

Expand All @@ -8865,7 +8871,16 @@ public void Join(
PrivateRoomNumber = int.Parse(PrivateRoomNumber.ToString()[..6]);
}

map = map!.Replace(" ", "").Replace('I', 'i');
string originalMap = map;
map = map!.Trim().Replace(" ", "").Replace('I', 'i');
if (!string.Equals(originalMap, map, StringComparison.Ordinal))
Logger($"Join(): sanitized map from '{originalMap}' to '{map}'.");

if (string.IsNullOrWhiteSpace(map))
{
Logger("Join(): map resolved to blank after sanitize, aborting join to avoid invalid /join input.");
return;
}
map = map.ToLower() == "tercess" ? "tercessuinotlim" : map.ToLower();
string strippedMap = map.Contains('-') ? map.Split('-').First() : map;
cell =
Expand All @@ -8876,6 +8891,9 @@ public void Join(
if (Bot.Map.Name != null && Bot.Map.Name.ToLower() == strippedMap && !ignoreCheck)
return;

if (Bot.Map.Name != null && Bot.Map.Name != strippedMap)
Logger($"Join(): transitioning from '{Bot.Map.Name}' to '{strippedMap}'.");

//if aggro/aggroall is enabled when joining a map, disable it [forced]
Bot.Options.AggroMonsters = false;
Bot.Options.AggroAllMonsters = false;
Expand Down
Loading