2
/// Defines a combat ability.
4
#ifndef SWTOR_PARSER_LOGABILITY_H
5
#define SWTOR_PARSER_LOGABILITY_H
10
#include "parser/LogHit.h"
20
/// Default constructor.
21
/// @param name The name of the ability.
22
LogAbility(std::string name);
23
/// Default deconstructor.
25
/// Gets the ability name.
26
/// @return The ability name.
27
std::string GetName();
28
/// Adds a hit to the ability.
29
/// @param hit The hit to add.
30
void AddHit(LogHit *hit);
31
/// Gets all the ability hits.
32
/// @param type The hit type.
33
/// @return Vector containing all ability hits.
34
std::vector<LogHit*> GetAll(LogHitType type);
35
/// Gets all the ability non-crit hits.
36
/// @param type The hit type.
37
/// @return Vector containing all non-crit hits.
38
std::vector<LogHit*> GetHits(LogHitType type);
39
/// Gets all the ability crits.
40
/// @param type The hit type.
41
/// @return Vector containing all crits.
42
std::vector<LogHit*> GetCrits(LogHitType type);
43
/// Gets all the ability misses.
44
/// @param type The hit type.
45
/// @return Vector containing all misses.
46
std::vector<LogHit*> GetMisses(LogHitType type);
47
/// Gets the ability hit chance.
48
/// @param type The hit type.
49
/// @return Percent-based integer with the hit chance.
50
int GetHitChance(LogHitType type);
51
/// Gets the ability crit chance.
52
/// @param type The hit type.
53
/// @return Percent-based integer with the crit chance.
54
int GetCritChance(LogHitType type);
55
/// Gets the ability miss chance.
56
/// @param type The hit type.
57
/// @return Percent-based integer with the miss chance.
58
int GetMissChance(LogHitType type);
59
/// Gets the minimum hit value.
60
/// @param type The hit type.
61
/// @return Integer with the minimum hit value.
62
int GetMinimumHit(LogHitType type);
63
/// Gets the average hit value.
64
/// @param type The hit type.
65
/// @return Integer with the average hit value.
66
int GetAverageHit(LogHitType type);
67
/// Gets the maximum hit value.
68
/// @param type The hit type.
69
/// @return Integer with the maximum hit value.
70
int GetMaximumHit(LogHitType type);
71
/// Gets the minimum crit value.
72
/// @param type The hit type.
73
/// @return Integer with the minimum crit value.
74
int GetMinimumCrit(LogHitType type);
75
/// Gets the average crit value.
76
/// @param type The hit type.
77
/// @return Integer with the average crit value.
78
int GetAverageCrit(LogHitType type);
79
/// Gets the maximum crit value.
80
/// @param type The hit type.
81
/// @return Integer with the maximum crit value.
82
int GetMaximumCrit(LogHitType type);
83
/// Gets the total value of the hits.
84
/// @param type The hit type.
85
/// @return Integer with the total value of all the hits.
86
int GetTotalValue(LogHitType type);
87
/// Gets the total threat of the hits.
88
/// @param type The hit type.
89
/// @return Integer with the total threat of all the hits.
90
int GetTotalThreat(LogHitType type);
92
std::string m_name; ///< The name of the ability.
93
std::vector<LogHit*> m_hits; ///< Vector containing all ability hits.