diff --git a/ArcdpsLogManager/ArcdpsLogManager.csproj b/ArcdpsLogManager/ArcdpsLogManager.csproj
index 2496ef70..a60b90b8 100644
--- a/ArcdpsLogManager/ArcdpsLogManager.csproj
+++ b/ArcdpsLogManager/ArcdpsLogManager.csproj
@@ -17,7 +17,7 @@
Each new log data update causes a revision increase.
See LogDataUpdater for the updates.
-->
- 1.11.1.7
+ 1.11.1.8
diff --git a/ArcdpsLogManager/Logs/Updates/LogDataUpdater.cs b/ArcdpsLogManager/Logs/Updates/LogDataUpdater.cs
index 3bfc7508..49452165 100644
--- a/ArcdpsLogManager/Logs/Updates/LogDataUpdater.cs
+++ b/ArcdpsLogManager/Logs/Updates/LogDataUpdater.cs
@@ -197,11 +197,7 @@ x.Profession is Profession.Thief or Profession.Engineer or Profession.Ranger
"Fix NM detection for Temple of Febe."),
new LogUpdate(log => log.ParsingVersion < new Version(1, 11, 1, 3)
&& log.Encounter == Encounter.Skorvald,
- "Fix success detection for Skorvald when all players are dead while the boss is invulnerable at 1%."),
- new LogUpdate(log => log.ParsingVersion < new Version(1, 11, 1, 4)
- && log.Encounter == Encounter.Other
- && log.MapId == MapIds.LonelyTower,
- "Add support for Eparch in the Lonely Tower fractal."),
+ "Fix success detection for Skorvald when all players are dead while the boss is invulnerable at 1%."),
new LogUpdate(log => log.ParsingVersion < new Version(1, 11, 1, 7)
&& log.Encounter == Encounter.SoullessHorror,
"Fix detection for Soulless Horror in case the encounter resets before all players are dead."),
@@ -216,6 +212,10 @@ x.Profession is Profession.Thief or Profession.Engineer or Profession.Ranger
new LogUpdate(log => log.ParsingVersion < new Version(1, 11, 1, 7)
&& log.Encounter is Encounter.Adina or Encounter.Sabir,
"Fix Adina and Sabir possibly being identified as the other one in rare scenarios."),
+ new LogUpdate(log => log.ParsingVersion < new Version(1, 11, 1, 8)
+ && log.Encounter == Encounter.Other
+ && log.MapId == MapIds.LonelyTower,
+ "Add support for Eparch in the Lonely Tower fractal."),
// When adding a new update, you need to increase the revision (last value) of the version in the .csproj file
// unless the version changes more significantly, in that case it can be reset to 0.
};
diff --git a/EVTCAnalytics/GameData/GameBuilds.cs b/EVTCAnalytics/GameData/GameBuilds.cs
index 1a529b28..695f9f19 100644
--- a/EVTCAnalytics/GameData/GameBuilds.cs
+++ b/EVTCAnalytics/GameData/GameBuilds.cs
@@ -31,9 +31,15 @@ public static class GameBuilds
public static int LonelyTowerRelease = 163141;
///
- /// Lonely Tower Challenge Mode release.
+ /// Lonely Tower Challenge Mode release with HP nerf.
/// https://wiki.guildwars2.com/wiki/Game_updates/2024-06-04
///
public static int LonelyTowerCMRelease = 163807;
+
+ ///
+ /// Eparch further HP nerfs for all modes.
+ /// https://wiki.guildwars2.com/wiki/Game_updates/2024-06-25
+ ///
+ public static int LonelyTowerHPNerf2 = 164824;
}
}
\ No newline at end of file
diff --git a/EVTCAnalytics/Processing/EncounterDataProvider.cs b/EVTCAnalytics/Processing/EncounterDataProvider.cs
index 221abf64..55eca137 100644
--- a/EVTCAnalytics/Processing/EncounterDataProvider.cs
+++ b/EVTCAnalytics/Processing/EncounterDataProvider.cs
@@ -676,13 +676,23 @@ private IEncounterData GetPvEEncounterData(Encounter encounter, Agent mainTarget
}
case Encounter.Eparch:
{
+ // Normal Mode Release: 31.771.528
+ // Challenge Mode Release: 32.618.906
+ // Challenge Mode Release (Normal Mode T4): 19.857.206
+ // HP Nerfs Patch (Challenge Mode): 22.833.236
+ // HP Nerfs Patch (Normal Mode T4): 13.900.044
return GetDefaultBuilder(encounter, mainTarget)
.WithResult(new AnyCombinedResultDeterminer(
new AgentKillingBlowDeterminer(mainTarget),
new BuffAppliedBelowHealthThresholdDeterminer(mainTarget, 0.2f, SkillIds.Determined)))
- // On release, Eparch had 31,771,528 health in NM.
- // On CM release, Eparch was reduced to 19,857,206 in NM and CM health is 32,618,906
- .WithModes(new AgentHealthModeDeterminer(mainTarget, 31_800_000))
+ .WithModes(new ConditionalModeDeterminer(
+ (gameBuild != null && gameBuild < GameBuilds.LonelyTowerCMRelease,
+ new AgentHealthModeDeterminer(mainTarget, 31_000_000, EncounterMode.Normal)),
+ (gameBuild != null && gameBuild >= GameBuilds.LonelyTowerCMRelease && gameBuild <= GameBuilds.LonelyTowerHPNerf2,
+ new AgentHealthModeDeterminer(mainTarget, 31_000_000, EncounterMode.Challenge)),
+ (gameBuild != null && gameBuild >= GameBuilds.LonelyTowerHPNerf2,
+ new AgentHealthModeDeterminer(mainTarget, 21_000_000, EncounterMode.Challenge))
+ ))
.Build();
}
default: