Tactics: Western Philosophers Vs. Musicians  0.12
A turn-based tactical game combining rules and gameplay elements inspired by Final Fantasy Tactics and the Mayfair Exponential Game System. Unlike most games of this type, motion is in full, grid-less 3D.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Tactics3DFightingStyle.h
Go to the documentation of this file.
1 // Copyright (C) 2006-2015 Dylan Blair
3 //
4 // email: dblair@alumni.cs.utexas.edu
5 //
6 // This file is part of Tactics3D.
7 //
8 // Tactics3D is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // Tactics3D is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the Free Software
20 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22 
23 #ifndef TACTICS3DFIGHTING_STYLE_H
24 #define TACTICS3DFIGHTING_STYLE_H
25 
26 #include <vector>
27 #include <string>
28 #include <map>
29 
30 #include "../Libs/Utils_LIB/UTypes.h"
31 
32 namespace Tactics3D {
33  class Warrior;
34  class AttackRange;
35  struct SpecialMoveAction;
36 
40 
43 
44  struct CounterableMove {
48 
50 
51  CounterableMove(Warrior* attacker_, SPECIAL_MOVE move_) :
52  _attacker(attacker_), _move(move_), _numRoundEndEvents(0) {}
53 
54  bool operator<(const CounterableMove& rhs_) const {
55  if (_attacker != rhs_._attacker)
56  return (_attacker < rhs_._attacker);
57  return _move < rhs_._move;
58  }
59  };
60 
61  struct SpecialMove {
64  std::string _name;
65 
66  SpecialMove(FIGHTING_STYLE style_, SPECIAL_MOVE id_, const std::string& name_) : _style(style_), _id(id_), _name(name_) {}
67  virtual ~SpecialMove() {}
68 
69  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
70  Warrior* defender_, SpecialMoveAction* specialMoveAction_) const {}
71 
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_);
77  }
78 
79  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
80  Warrior* defender_, const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
81  SpecialMoveAction* specialMoveAction_) const {
82  if (params_.size() == 0) use(attacker_,attackRange_,defender_,specialMoveAction_);
83  }
84 
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_,
88  SpecialMoveAction* specialMoveAction_) const {
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_);
93  }
94 
95  virtual int getNumDefenders(const Warrior* attacker_) const { return 1; }
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_); }
102 
103  virtual bool canMoveInSameRound() const { return true; }
104  virtual bool canTranslate() const { return false; }
105  virtual bool canRotate() const { return false; }
106 
107  virtual bool doesMoveCurrCamToWarriorPOV(const Warrior* attacker_) const { UNUSED(attacker_); return false; }
108 
109  virtual void formatSpecialMoveParams(int OOAdj_, int ODAdj_, int DmgAdj_,
110  std::vector<OpenSkyNet::Utils::TaggedUnion>& specialMoveParams_) const { UNUSED(OOAdj_); UNUSED(ODAdj_); UNUSED(DmgAdj_); specialMoveParams_.clear(); }
111  };
112 
113  struct Haymaker : public SpecialMove {
114  Haymaker() : SpecialMove(BRAWLING, HAYMAKER, "Haymaker") {}
115  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
116  Warrior* defender_, SpecialMoveAction* specialMoveAction_) const;
117 
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;
120  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
121  };
122  extern const Haymaker g_haymaker;
123 
124  struct OneTwoPunch : public SpecialMove {
126  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
127  Warrior* defender_, SpecialMoveAction* specialMoveAction_) const;
128 
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;
131  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
132  };
133  extern const OneTwoPunch g_oneTwoPunch;
134 
135  struct PowerPunch : public SpecialMove {
136  PowerPunch() : SpecialMove(BOXING, POWER_PUNCH, "Power Punch") {}
137  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
138  Warrior* defender_, const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
139  SpecialMoveAction* specialMoveAction_) const;
140 
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;
143  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
144 
145  virtual void formatSpecialMoveParams(int OOAdj_, int ODAdj_, int DmgAdj_,
146  std::vector<OpenSkyNet::Utils::TaggedUnion>& specialMoveParams_) const;
147  };
148  extern const PowerPunch g_powerPunch;
149 
150  struct LegSweep : public SpecialMove {
151  LegSweep() : SpecialMove(KARATE, LEG_SWEEP, "Leg Sweep") {}
152  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
153  Warrior* defender_, SpecialMoveAction* specialMoveAction_) const;
154 
155  virtual void getOOAdj(const Warrior* attacker_, int& min_, int& max_) const;
156  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
157  };
158  extern const LegSweep g_legSweep;
159 
162  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
163  Warrior* defender_, SpecialMoveAction* specialMoveAction_) const;
164 
165  virtual void getODAdj(const Warrior* attacker_, int& min_, int& max_) const;
166  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
167  };
168  extern const DoublePumpThrustKick g_doublePumpThrustKick;
169 
170  struct PowerSlam : public SpecialMove {
171  PowerSlam() : SpecialMove(WRESTLING, POWER_SLAM, "Power Slam") {}
172  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
173  Warrior* defender_, SpecialMoveAction* specialMoveAction_) const;
174 
175  virtual void getOOAdj(const Warrior* attacker_, int& min_, int& max_) const;
176  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
177  };
178  extern const PowerSlam g_powerSlam;
179 
180  struct ScorpionDeathlock : public SpecialMove {
182  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
183  Warrior* defender_, SpecialMoveAction* specialMoveAction_) const;
184 
185  virtual void getOOAdj(const Warrior* attacker_, int& min_, int& max_) const;
186  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
187  };
188  extern const ScorpionDeathlock g_scorpionDeathlock;
189 
190  struct HipFire : public SpecialMove {
192  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
193  Warrior* defender_, const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
194  SpecialMoveAction* specialMoveAction_) const;
195 
196  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
197  virtual void getPrePerformInfo(char* buffer_, int bufferLen_) const;
198  virtual void getAnimationName(char* buffer_, int bufferLen_) const { memset(buffer_,0,bufferLen_); }
199 
200  virtual bool canRotate() const { return true; }
201 
202  virtual bool doesMoveCurrCamToWarriorPOV(const Warrior* attacker_) const;
203  };
204  extern const HipFire g_hipFire;
205 
206  struct IronSightsFire : public SpecialMove {
208  virtual void use(Warrior* attacker_, const AttackRange* attackRange_,
209  Warrior* defender_, const std::vector<OpenSkyNet::Utils::TaggedUnion>& params_,
210  SpecialMoveAction* specialMoveAction_) const;
211 
212  virtual void getPlayerInfo(const Warrior* attacker_, char* buffer_, int bufferLen_) const;
213  virtual void getPrePerformInfo(char* buffer_, int bufferLen_) const;
214  virtual void getAnimationName(char* buffer_, int bufferLen_) const { memset(buffer_,0,bufferLen_); }
215 
216  virtual bool canMoveInSameRound() const { return false; }
217  virtual bool canRotate() const { return true; }
218 
219  virtual bool doesMoveCurrCamToWarriorPOV(const Warrior* attacker_) const;
220  };
221  extern const IronSightsFire g_ironSightsFire;
222 
223  extern std::map<SPECIAL_MOVE, const SpecialMove*> g_specialMoves;
224 
225  struct FightingStyle {
227  std::string _name;
229  std::vector<SPECIAL_MOVE> _specialMoves;
230 
231  FightingStyle(FIGHTING_STYLE style_, std::string name_, int offense_, int defense_) :
232  _style(style_), _name(name_), _offense(offense_), _defense(defense_) {}
233 
234  virtual void getInfo(char* buffer_, int bufferLen_) const;
235 
236  static void initAll();
237  };
238  extern FightingStyle g_brawling;
239  extern FightingStyle g_boxing;
240  extern FightingStyle g_karate;
241  extern FightingStyle g_wrestling;
242  extern FightingStyle g_weaponProficiency;
243 
244  extern std::map<FIGHTING_STYLE, const FightingStyle*> g_fightingStyles;
245 }
246 
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 > &params_, 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 > &params_, 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 > &params_, 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
FightingStyle g_karate
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
FightingStyle g_boxing
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 > &params_, 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
FightingStyle g_brawling
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 > &params_, SpecialMoveAction *specialMoveAction_) const
Definition: Tactics3DFightingStyle.h:79
Definition: Tactics3DFightingStyle.h:41