Skip to content

Commit d699c13

Browse files
Fixed positions in firstDamageStats always being the same
1 parent d7a62af commit d699c13

File tree

4 files changed

+42
-29
lines changed

4 files changed

+42
-29
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<Company>Source Engine Discord</Company>
1616
<Copyright>© 2014 EHVAG, 2020 Source Engine Discord and contributors</Copyright>
1717
<Product>SourceEngine.Demo</Product>
18-
<Version>2.1.0</Version>
18+
<Version>2.1.1</Version>
1919
</PropertyGroup>
2020

2121
<PropertyGroup Label="Package Metadata">

src/SourceEngine.Demo.Stats/DemoProcessor.cs

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,29 @@ public static MatchData FromDemoFile(string file, bool parseChickens, bool parse
612612
md.addEvent(typeof(PlayerKilledEventArgs), playerKilledEventArgs);
613613
}
614614

615-
var playerHurt = new PlayerHurt(e, round);
615+
var player = new Player(e.Player);
616+
var attacker = new Player(e.Attacker);
617+
618+
var playerHurt = new PlayerHurt()
619+
{
620+
Round = round,
621+
TimeInRound = e.TimeInRound,
622+
Player = player,
623+
XPositionPlayer = player.Position.X,
624+
YPositionPlayer = player.Position.Y,
625+
ZPositionPlayer = player.Position.Z,
626+
Attacker = attacker ?? null,
627+
XPositionAttacker = (attacker != null && attacker.Position != null) ? attacker.Position.X : 0,
628+
YPositionAttacker = (attacker != null && attacker.Position != null) ? attacker.Position.Y : 0,
629+
ZPositionAttacker = (attacker != null && attacker.Position != null) ? attacker.Position.Z : 0,
630+
Health = e.Health,
631+
Armor = e.Armor,
632+
Weapon = attacker != null ? e.Weapon : null,
633+
HealthDamage = e.HealthDamage,
634+
ArmorDamage = e.ArmorDamage,
635+
Hitgroup = e.Hitgroup,
636+
PossiblyKilledByBombExplosion = e.PossiblyKilledByBombExplosion,
637+
};
616638

617639
md.addEvent(typeof(PlayerHurt), playerHurt);
618640
};
@@ -1815,14 +1837,14 @@ public List<firstDamageStats> GetFirstDamageStats(ProcessedData processedData)
18151837
TimeInRound = firstDamage.TimeInRound,
18161838
TeamSideShooter = firstDamage.Attacker.Team.ToString(),
18171839
SteamIDShooter = firstDamage.Attacker.SteamID,
1818-
XPositionShooter = firstDamage.Attacker.Position.X,
1819-
YPositionShooter = firstDamage.Attacker.Position.Y,
1820-
ZPositionShooter = firstDamage.Attacker.Position.Z,
1840+
XPositionShooter = firstDamage.XPositionAttacker,
1841+
YPositionShooter = firstDamage.YPositionAttacker,
1842+
ZPositionShooter = firstDamage.ZPositionAttacker,
18211843
TeamSideVictim = firstDamage.Player.Team.ToString(),
18221844
SteamIDVictim = firstDamage.Player.SteamID,
1823-
XPositionVictim = firstDamage.Player.Position.X,
1824-
YPositionVictim = firstDamage.Player.Position.Y,
1825-
ZPositionVictim = firstDamage.Player.Position.Z,
1845+
XPositionVictim = firstDamage.XPositionPlayer,
1846+
YPositionVictim = firstDamage.YPositionPlayer,
1847+
ZPositionVictim = firstDamage.ZPositionPlayer,
18261848
Weapon = firstDamage.Weapon.Weapon.ToString(),
18271849
WeaponClass = firstDamage.Weapon.Class.ToString(),
18281850
WeaponType = firstDamage.Weapon.Type.ToString(),

src/SourceEngine.Demo.Stats/Models/PlayerHurt.cs

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,13 @@ public class PlayerHurt
1010
public int Round { get; set; }
1111
public double TimeInRound { get; set; }
1212
public Player Player { get; set; }
13+
public double XPositionPlayer { get; set; }
14+
public double YPositionPlayer { get; set; }
15+
public double ZPositionPlayer { get; set; }
1316
public Player Attacker { get; set; }
17+
public double XPositionAttacker { get; set; }
18+
public double YPositionAttacker { get; set; }
19+
public double ZPositionAttacker { get; set; }
1420
public int Health { get; set; }
1521
public int Armor { get; set; }
1622
public Equipment Weapon { get; set; }
@@ -20,20 +26,5 @@ public class PlayerHurt
2026
public bool PossiblyKilledByBombExplosion { get; set; }
2127

2228
public PlayerHurt() { }
23-
24-
public PlayerHurt(PlayerHurtEventArgs playerHurtEventArgs, int round)
25-
{
26-
Round = round;
27-
TimeInRound = playerHurtEventArgs.TimeInRound;
28-
Player = new Player(playerHurtEventArgs.Player);
29-
Attacker = new Player(playerHurtEventArgs.Attacker);
30-
Health = playerHurtEventArgs.Health;
31-
Armor = playerHurtEventArgs.Armor;
32-
Weapon = new Equipment(playerHurtEventArgs.Weapon);
33-
HealthDamage = playerHurtEventArgs.HealthDamage;
34-
ArmorDamage = playerHurtEventArgs.ArmorDamage;
35-
Hitgroup = playerHurtEventArgs.Hitgroup;
36-
PossiblyKilledByBombExplosion = playerHurtEventArgs.PossiblyKilledByBombExplosion;
37-
}
3829
}
3930
}

tests/SourceEngine.Demo.Stats.Tests/Tests.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,14 @@ public void Should_return_first_shot_stats_stats_correctly()
9393
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().TimeInRound.ShouldBe(40);
9494
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().TeamSideShooter.ShouldBe("Terrorist");
9595
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().SteamIDShooter.ShouldBe(32443298432);
96-
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().XPositionShooter.ShouldBe(200);
97-
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().YPositionShooter.ShouldBe(200);
98-
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().ZPositionShooter.ShouldBe(200);
96+
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().XPositionShooter.ShouldBe(0);
97+
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().YPositionShooter.ShouldBe(0);
98+
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().ZPositionShooter.ShouldBe(0);
9999
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().TeamSideVictim.ShouldBe("CounterTerrorist");
100100
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().SteamIDVictim.ShouldBe(12321313213);
101-
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().XPositionVictim.ShouldBe(80);
102-
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().YPositionVictim.ShouldBe(800);
103-
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().ZPositionVictim.ShouldBe(8000);
101+
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().XPositionVictim.ShouldBe(0);
102+
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().YPositionVictim.ShouldBe(0);
103+
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().ZPositionVictim.ShouldBe(0);
104104
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().Weapon.ShouldBe("AK47");
105105
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().WeaponClass.ShouldBe("Rifle");
106106
allStats.firstDamageStats[0].FirstDamageToEnemyByPlayers.FirstOrDefault().WeaponType.ShouldBe("AssaultRifle");

0 commit comments

Comments
 (0)