1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-10 15:20:48 -05:00

huge commit for advanced stats feature.

broke data out into its own library.
may be breaking changes with existing plugins
This commit is contained in:
RaidMax
2021-03-22 11:09:25 -05:00
parent 267b045883
commit 434392a7e4
505 changed files with 13671 additions and 3271 deletions

View File

@ -0,0 +1,52 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Data.Models.Server;
namespace Data.Models.Client
{
public class EFClientKill : SharedEntity
{
[Key] public long KillId { get; set; }
public int VictimId { get; set; }
[ForeignKey("VictimId")] public virtual EFClient Victim { get; set; }
public int AttackerId { get; set; }
[ForeignKey("AttackerId")] public virtual EFClient Attacker { get; set; }
public long ServerId { get; set; }
[ForeignKey("ServerId")] public virtual EFServer Server { get; set; }
public int HitLoc { get; set; }
public int DeathType { get; set; }
public int Damage { get; set; }
public int Weapon { get; set; }
public Vector3 KillOrigin { get; set; }
public Vector3 DeathOrigin { get; set; }
public Vector3 ViewAngles { get; set; }
public DateTime When { get; set; }
public double Fraction { get; set; }
public bool IsKill { get; set; }
public double VisibilityPercentage { get; set; }
// http://wiki.modsrepository.com/index.php?title=Call_of_Duty_5:_Gameplay_standards for conversion to meters
[NotMapped] public double Distance => Vector3.Distance(KillOrigin, DeathOrigin) * 0.0254;
public int Map { get; set; }
[NotMapped] public long TimeOffset { get; set; }
[NotMapped] public bool IsKillstreakKill { get; set; }
[NotMapped] public float AdsPercent { get; set; }
[NotMapped] public List<Vector3> AnglesList { get; set; }
[NotMapped] public int GameName { get; set; }
/// <summary>
/// Indicates if the attacker was alive after last captured angle
/// </summary>
[NotMapped]
public bool IsAlive { get; set; }
/// <summary>
/// Specifies the last time the attack button was detected as pressed
/// </summary>
[NotMapped]
public long TimeSinceLastAttack { get; set; }
}
}