23 #ifndef TACTICS3DFIGHTING_STYLE_H
24 #define TACTICS3DFIGHTING_STYLE_H
30 #include "../Libs/Utils_LIB/UTypes.h"
35 struct SpecialMoveAction;
72 virtual void use(
const std::vector<Warrior*>& attackers_,
73 const std::vector<const AttackRange*>& attackRanges_,
74 const std::vector<Warrior*>& defenders_,
SpecialMoveAction* specialMoveAction_)
const {
75 if ((attackers_.size() == 1) && (defenders_.size() == 1))
76 use(attackers_[0],attackRanges_[0],defenders_[0],specialMoveAction_);
80 Warrior* defender_,
const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
82 if (params_.size() == 0)
use(attacker_,attackRange_,defender_,specialMoveAction_);
85 virtual void use(
const std::vector<Warrior*>& attackers_,
86 const std::vector<const AttackRange*>& attackRanges_,
87 const std::vector<Warrior*>& defenders_,
const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
89 if ((attackers_.size() == 1) && (defenders_.size() == 1))
90 use(attackers_[0],attackRanges_[0],defenders_[0],params_,specialMoveAction_);
91 else if (params_.size() == 0)
92 use(attackers_,attackRanges_,defenders_,specialMoveAction_);
96 virtual void getOOAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const {
UNUSED(attacker_); min_ = 0; max_ = 0; }
97 virtual void getODAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const {
UNUSED(attacker_); min_ = 0; max_ = 0; }
98 virtual void getDmgAdj(
const Warrior* attacker_,
int OOAdj_,
int& min_,
int& max_)
const {
UNUSED(attacker_);
UNUSED(OOAdj_); min_ = 0; max_ = 0; }
99 virtual void getPlayerInfo(
const Warrior* attacker_,
char* buffer_,
int bufferLen_)
const {
UNUSED(attacker_); memset(buffer_,0,bufferLen_); }
100 virtual void getPrePerformInfo(
char* buffer_,
int bufferLen_)
const { memset(buffer_,0,bufferLen_); }
101 virtual void getAnimationName(
char* buffer_,
int bufferLen_)
const { strncpy(buffer_,
"attack", bufferLen_); }
110 std::vector<OpenSkyNet::Utils::TaggedUnion>& specialMoveParams_)
const {
UNUSED(OOAdj_);
UNUSED(ODAdj_);
UNUSED(DmgAdj_); specialMoveParams_.clear(); }
118 virtual void getOOAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const;
119 virtual void getDmgAdj(
const Warrior* attacker_,
int OOAdj_,
int& min_,
int& max_)
const;
129 virtual void getODAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const;
130 virtual void getDmgAdj(
const Warrior* attacker_,
int OOAdj_,
int& min_,
int& max_)
const;
138 Warrior* defender_,
const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
141 virtual void getOOAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const;
142 virtual void getDmgAdj(
const Warrior* attacker_,
int OOAdj_,
int& min_,
int& max_)
const;
146 std::vector<OpenSkyNet::Utils::TaggedUnion>& specialMoveParams_)
const;
155 virtual void getOOAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const;
165 virtual void getODAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const;
175 virtual void getOOAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const;
185 virtual void getOOAdj(
const Warrior* attacker_,
int& min_,
int& max_)
const;
193 Warrior* defender_,
const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
198 virtual void getAnimationName(
char* buffer_,
int bufferLen_)
const { memset(buffer_,0,bufferLen_); }
209 Warrior* defender_,
const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
214 virtual void getAnimationName(
char* buffer_,
int bufferLen_)
const { memset(buffer_,0,bufferLen_); }
234 virtual void getInfo(
char* buffer_,
int bufferLen_)
const;
247 #endif //TACTICS3DFIGHTING_STYLE_H
const PowerPunch g_powerPunch
Definition: Tactics3DFightingStyle.cpp:117
virtual bool canMoveInSameRound() const
Definition: Tactics3DFightingStyle.h:216
const LegSweep g_legSweep
Definition: Tactics3DFightingStyle.cpp:148
virtual bool canRotate() const
Definition: Tactics3DFightingStyle.h:105
const IronSightsFire g_ironSightsFire
Definition: Tactics3DFightingStyle.cpp:281
SPECIAL_MOVE
Definition: Tactics3DFightingStyle.h:37
virtual void getPrePerformInfo(char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.h:100
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:207
OneTwoPunch()
Definition: Tactics3DFightingStyle.h:125
virtual ~SpecialMove()
Definition: Tactics3DFightingStyle.h:67
virtual void getAnimationName(char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.h:214
Definition: Tactics3DFightingStyle.h:41
Definition: Tactics3DFightingStyle.h:44
virtual void getOOAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:229
#define UNUSED(var)
Definition: UTypes.h:35
virtual void formatSpecialMoveParams(int OOAdj_, int ODAdj_, int DmgAdj_, std::vector< OpenSkyNet::Utils::TaggedUnion > &specialMoveParams_) const
Definition: Tactics3DFightingStyle.h:109
virtual bool canTranslate() const
Definition: Tactics3DFightingStyle.h:104
virtual bool doesMoveCurrCamToWarriorPOV(const Warrior *attacker_) const
Definition: Tactics3DFightingStyle.h:107
virtual void getDmgAdj(const Warrior *attacker_, int OOAdj_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:100
FIGHTING_STYLE
Definition: Tactics3DFightingStyle.h:41
int _offense
Definition: Tactics3DFightingStyle.h:228
Definition: Tactics3DFightingStyle.h:38
virtual void getOOAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.h:96
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:265
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, const std::vector< OpenSkyNet::Utils::TaggedUnion > ¶ms_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:239
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:10
virtual void use(const std::vector< Warrior * > &attackers_, const std::vector< const AttackRange * > &attackRanges_, const std::vector< Warrior * > &defenders_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.h:72
Definition: Tactics3DFightingStyle.h:41
Definition: Tactics3DFightingStyle.h:42
const PowerSlam g_powerSlam
Definition: Tactics3DFightingStyle.cpp:205
Definition: Tactics3DWarrior.h:42
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, const std::vector< OpenSkyNet::Utils::TaggedUnion > ¶ms_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:79
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:243
HipFire()
Definition: Tactics3DFightingStyle.h:191
const ScorpionDeathlock g_scorpionDeathlock
Definition: Tactics3DFightingStyle.cpp:237
Definition: Tactics3DFightingStyle.h:38
Definition: Tactics3DAction.h:129
Definition: Tactics3DFightingStyle.h:39
int _defense
Definition: Tactics3DFightingStyle.h:228
virtual bool canRotate() const
Definition: Tactics3DFightingStyle.h:217
int _numRoundEndEvents
Definition: Tactics3DFightingStyle.h:47
SPECIAL_MOVE _id
Definition: Tactics3DFightingStyle.h:63
virtual void getPrePerformInfo(char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:251
const HipFire g_hipFire
Definition: Tactics3DFightingStyle.cpp:259
virtual void use(const std::vector< Warrior * > &attackers_, const std::vector< const AttackRange * > &attackRanges_, const std::vector< Warrior * > &defenders_, const std::vector< OpenSkyNet::Utils::TaggedUnion > ¶ms_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.h:85
FightingStyle(FIGHTING_STYLE style_, std::string name_, int offense_, int defense_)
Definition: Tactics3DFightingStyle.h:231
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.h:99
virtual int getNumDefenders(const Warrior *attacker_) const
Definition: Tactics3DFightingStyle.h:95
Definition: Tactics3DFightingStyle.h:38
virtual bool canMoveInSameRound() const
Definition: Tactics3DFightingStyle.h:103
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:141
Definition: Tactics3DFightingStyle.h:42
ScorpionDeathlock()
Definition: Tactics3DFightingStyle.h:181
Definition: Tactics3DFightingStyle.h:37
virtual bool doesMoveCurrCamToWarriorPOV(const Warrior *attacker_) const
Definition: Tactics3DFightingStyle.cpp:277
Definition: Tactics3DFightingStyle.h:160
Definition: Tactics3DFightingStyle.h:206
virtual void getDmgAdj(const Warrior *attacker_, int OOAdj_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:25
Definition: Tactics3DFightingStyle.h:38
std::string _name
Definition: Tactics3DFightingStyle.h:64
virtual void getODAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:166
Warrior * _attacker
Definition: Tactics3DFightingStyle.h:45
Definition: Tactics3DFightingStyle.h:37
FightingStyle g_weaponProficiency
Definition: Tactics3DFightingStyle.h:150
SpecialMove(FIGHTING_STYLE style_, SPECIAL_MOVE id_, const std::string &name_)
Definition: Tactics3DFightingStyle.h:66
const Haymaker g_haymaker
Definition: Tactics3DFightingStyle.cpp:36
Definition: Tactics3DFightingStyle.h:180
Definition: Tactics3DFightingStyle.h:190
virtual void getAnimationName(char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.h:198
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:233
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:38
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:177
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:30
DoublePumpThrustKick()
Definition: Tactics3DFightingStyle.h:161
virtual void getOOAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:20
Definition: Tactics3DFightingStyle.h:170
Definition: Tactics3DAttackRange.h:33
const OneTwoPunch g_oneTwoPunch
Definition: Tactics3DFightingStyle.cpp:77
std::string _name
Definition: Tactics3DFightingStyle.h:227
std::vector< SPECIAL_MOVE > _specialMoves
Definition: Tactics3DFightingStyle.h:229
CounterableMove(Warrior *attacker_, SPECIAL_MOVE move_)
Definition: Tactics3DFightingStyle.h:51
virtual void getAnimationName(char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.h:101
PowerPunch()
Definition: Tactics3DFightingStyle.h:136
Haymaker()
Definition: Tactics3DFightingStyle.h:114
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:150
std::map< FIGHTING_STYLE, const FightingStyle * > g_fightingStyles
Definition: Tactics3DFightingStyle.cpp:291
const DoublePumpThrustKick g_doublePumpThrustKick
Definition: Tactics3DFightingStyle.cpp:175
virtual void getODAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:61
virtual void getOOAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:195
virtual void getInfo(char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:293
virtual void getPrePerformInfo(char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:273
Definition: Tactics3DFightingStyle.h:41
Definition: Tactics3DFightingStyle.h:42
bool operator<(const CounterableMove &rhs_) const
Definition: Tactics3DFightingStyle.h:54
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:170
Definition: Tactics3DFightingStyle.h:225
virtual bool doesMoveCurrCamToWarriorPOV(const Warrior *attacker_) const
Definition: Tactics3DFightingStyle.cpp:255
SPECIAL_MOVE _move
Definition: Tactics3DFightingStyle.h:46
PowerSlam()
Definition: Tactics3DFightingStyle.h:171
static void initAll()
Definition: Tactics3DFightingStyle.cpp:307
Definition: Tactics3DFightingStyle.h:39
FIGHTING_STYLE _style
Definition: Tactics3DFightingStyle.h:62
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:119
virtual void formatSpecialMoveParams(int OOAdj_, int ODAdj_, int DmgAdj_, std::vector< OpenSkyNet::Utils::TaggedUnion > &specialMoveParams_) const
Definition: Tactics3DFightingStyle.cpp:111
virtual void getDmgAdj(const Warrior *attacker_, int OOAdj_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:65
FightingStyle g_wrestling
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:199
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, const std::vector< OpenSkyNet::Utils::TaggedUnion > ¶ms_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.cpp:261
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:71
Definition: Tactics3DFightingStyle.h:37
virtual void getDmgAdj(const Warrior *attacker_, int OOAdj_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.h:98
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.h:69
CounterableMove()
Definition: Tactics3DFightingStyle.h:49
Definition: Tactics3DFightingStyle.h:124
Definition: Tactics3DFightingStyle.h:113
virtual void getPlayerInfo(const Warrior *attacker_, char *buffer_, int bufferLen_) const
Definition: Tactics3DFightingStyle.cpp:104
Definition: Tactics3DFightingStyle.h:135
Definition: Tactics3DFightingStyle.h:41
FIGHTING_STYLE _style
Definition: Tactics3DFightingStyle.h:226
Definition: Tactics3DFightingStyle.h:42
virtual void getOOAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:137
virtual void getODAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.h:97
Definition: Tactics3DFightingStyle.h:37
Definition: Tactics3DFightingStyle.h:61
LegSweep()
Definition: Tactics3DFightingStyle.h:151
virtual bool canRotate() const
Definition: Tactics3DFightingStyle.h:200
IronSightsFire()
Definition: Tactics3DFightingStyle.h:207
virtual void getOOAdj(const Warrior *attacker_, int &min_, int &max_) const
Definition: Tactics3DFightingStyle.cpp:96
std::map< SPECIAL_MOVE, const SpecialMove * > g_specialMoves
Definition: Tactics3DFightingStyle.cpp:283
virtual void use(Warrior *attacker_, const AttackRange *attackRange_, Warrior *defender_, const std::vector< OpenSkyNet::Utils::TaggedUnion > ¶ms_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.h:79
Definition: Tactics3DFightingStyle.h:41