Skip to content

Commit

Permalink
Analytics: Updated Eparch challenge mode detection after the HP nerfs
Browse files Browse the repository at this point in the history
  • Loading branch information
Linkaaaaa authored Jul 24, 2024
1 parent 6e23f80 commit 463732e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 10 deletions.
2 changes: 1 addition & 1 deletion ArcdpsLogManager/ArcdpsLogManager.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
Each new log data update causes a revision increase.
See LogDataUpdater for the updates.
-->
<Version>1.11.1.7</Version>
<Version>1.11.1.8</Version>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="DebounceThrottle" Version="2.0.0" />
Expand Down
10 changes: 5 additions & 5 deletions ArcdpsLogManager/Logs/Updates/LogDataUpdater.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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."),
Expand All @@ -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.
};
Expand Down
8 changes: 7 additions & 1 deletion EVTCAnalytics/GameData/GameBuilds.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,15 @@ public static class GameBuilds
public static int LonelyTowerRelease = 163141;

/// <summary>
/// Lonely Tower Challenge Mode release.<br></br>
/// Lonely Tower Challenge Mode release with HP nerf.<br></br>
/// https://wiki.guildwars2.com/wiki/Game_updates/2024-06-04
/// </summary>
public static int LonelyTowerCMRelease = 163807;

/// <summary>
/// Eparch further HP nerfs for all modes.<br></br>
/// https://wiki.guildwars2.com/wiki/Game_updates/2024-06-25
/// </summary>
public static int LonelyTowerHPNerf2 = 164824;
}
}
16 changes: 13 additions & 3 deletions EVTCAnalytics/Processing/EncounterDataProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down

0 comments on commit 463732e

Please sign in to comment.