29 #ifndef M_FIGHTING_SHEET_H
30 #define M_FIGHTING_SHEET_H
42 class rpgSheet_Fighter_Props:
public rpgSheet_Acrobate_Props
45 M_SHEET_PROPS_COPY(rpgSheet_Fighter_Props);
49 rpgSheet_Fighter_Props(
void)
53 for(
unsigned i=0; i<M_ELEMENTS; i++) arDP[i] = 0.1;
70 double arDP[M_ELEMENTS];
74 std::vector<rpgAttack> vAttacks;
86 virtual void load(
class laPropertyList* pElement);
96 virtual rpgAttack modAttack(
unsigned n ){
97 ASSERT( n <properties()->vAttacks.size(),
"Attack %d is undefined.", n );
100 a.nAP += properties()->nAP;
101 a.nAP *= modifiers()->dMod_AP;
106 virtual double modDP(
unsigned nElement){
107 ASSERT(nElement < M_ELEMENTS,
"Defense against %d is undefined.", nElement);
109 return properties()->arDP[nElement] * modifiers()->dMod_DP;
112 inline M_BOOL isAlive() {
113 return properties()->nHP > 0 ? M_TRUE : M_FALSE;
117 virtual unsigned attack(
unsigned nAttack, rpgSheet_Fighter* pTarget );
120 virtual unsigned hit(
rpgAttack attack );
123 unsigned heal(
unsigned hp_heal );
127 inline void addAttack(
rpgAttack attack ){
128 properties()->vAttacks.push_back(attack);
Acrobatics RPG Properties.