PartyDamage/RawCombatData.cs

102 lines
1.8 KiB
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;
namespace PartyDamage;
[Serializable]
public class RawCombatData {
public RawEncounter Encounter;
[JsonProperty("Combatant")]
public Dictionary<string, RawCombatant> Combatants;
[JsonProperty("isActive")]
public bool IsActive;
}
[Serializable]
[JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
public class RawEncounter {
[JsonProperty("n")]
public char N;
[JsonProperty("t")]
public char T;
public string Title;
public string Duration;
public string Damage;
public string Dps;
[JsonProperty("encdps")]
public string EncDps;
[JsonProperty("ENCDPS")]
public string EncDps2;
public string Hits;
[JsonProperty("crithits")]
public string CritHits;
public string Misses;
[JsonProperty("hitfailed")]
public string HitFailed;
public string Swings;
public string Healed;
[JsonProperty("enchps")]
public string EncHps;
[JsonProperty("ENCHPS")]
public string EncHps2;
[JsonProperty("CurrentZoneName")]
public string CurrentZoneName;
}
[Serializable]
[JsonObject(NamingStrategyType = typeof(SnakeCaseNamingStrategy))]
public class RawCombatant {
public string Name;
public string Duration;
public string Damage;
public string Dps;
[JsonProperty("encdps")]
public string EncDps;
// seems like newtonsoft gets confused if we don't also specify this one
[JsonProperty("ENCDPS")]
public string EncDps2;
public string Hits;
[JsonProperty("crithits")]
public string CritHits;
public string Misses;
[JsonProperty("hitfailed")]
public string HitFailed;
public string Swings;
public string Healed;
[JsonProperty("enchps")]
public string EncHps;
[JsonProperty("Job")]
public string Job;
}