IW4M-Admin/Data/Models/Client/Stats/EFClientHitStatistic.cs
RaidMax c5375b661b huge commit for advanced stats feature.
broke data out into its own library.
may be breaking changes with existing plugins
2021-03-22 11:09:25 -05:00

92 lines
2.5 KiB
C#

using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using Data.Models.Client.Stats.Reference;
using Data.Models.Server;
using Stats.Models;
namespace Data.Models.Client.Stats
{
public class EFClientHitStatistic : AuditFields
{
[Key]
public int ClientHitStatisticId { get; set; }
[Required]
public int ClientId { get; set; }
[ForeignKey(nameof(ClientId))]
public virtual EFClient Client { get; set; }
public long? ServerId { get; set; }
[ForeignKey(nameof(ServerId))]
public virtual EFServer Server { get; set; }
public int? HitLocationId { get; set; }
[ForeignKey(nameof(HitLocationId))]
public virtual EFHitLocation HitLocation { get; set; }
public int? MeansOfDeathId { get; set; }
[ForeignKey(nameof(MeansOfDeathId))]
public virtual EFMeansOfDeath MeansOfDeath { get; set; }
public int? WeaponId { get; set; }
[ForeignKey(nameof(WeaponId))]
public virtual EFWeapon Weapon { get; set; }
public int? WeaponAttachmentComboId { get; set; }
[ForeignKey(nameof(WeaponAttachmentComboId))]
public virtual EFWeaponAttachmentCombo WeaponAttachmentCombo { get; set; }
/// <summary>
/// how many hits the player got
/// </summary>
public int HitCount { get; set; }
/// <summary>
/// how many kills the player got
/// </summary>
public int KillCount { get; set; }
/// <summary>
/// how much damage the player inflicted
/// </summary>
public int DamageInflicted { get; set; }
/// <summary>
/// how many hits the player received
/// </summary>
public int ReceivedHitCount { get; set; }
/// <summary>
/// how many kills the player received
/// </summary>
public int DeathCount { get; set; }
/// <summary>
/// how much damage the player received
/// </summary>
public int DamageReceived { get; set; }
/// <summary>
/// how many times the player killed themself
/// </summary>
public int SuicideCount { get; set; }
/// <summary>
/// estimation of time spent with the configuration
/// </summary>
public int? UsageSeconds { get; set; }
/// <summary>
/// total in-game score
/// </summary>
public int? Score { get; set; }
}
}