generated from sigonasr2/CPlusPlusProjectTemplate
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
3.5 KiB
212 lines
3.5 KiB
2 years ago
|
#ifndef BATTLE_PROPERTY_H
|
||
|
#define BATTLE_PROPERTY_H
|
||
|
#include "pixelGameEngine.h"
|
||
|
#include "defines.h"
|
||
|
|
||
|
using namespace olc;
|
||
|
|
||
|
class BattleProperty{
|
||
|
public:
|
||
|
std::string displayName;
|
||
|
std::string effectName;
|
||
|
BattleProperty(std::string displayName,std::string effectName)
|
||
|
:displayName(displayName),effectName(effectName){}
|
||
|
virtual void OnApplication()=0; //What happens when the effect is immediately applied.
|
||
|
virtual void OnTurnStart()=0; //Effects on turn start.
|
||
|
virtual void OnTurnEnd()=0; //Effects on turn end.
|
||
|
};
|
||
|
|
||
|
class Property_PETRIFY:public BattleProperty{
|
||
|
public:
|
||
|
Property_PETRIFY()
|
||
|
:BattleProperty("PETRIFY","Petrified"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_PARALYZE:public BattleProperty{
|
||
|
public:
|
||
|
Property_PARALYZE()
|
||
|
:BattleProperty("PARALYZE","Paralyzed"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_DIAMONDIZE:public BattleProperty{
|
||
|
public:
|
||
|
Property_DIAMONDIZE()
|
||
|
:BattleProperty("DIAMONDIZE","Diamondized"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_CRYING:public BattleProperty{
|
||
|
public:
|
||
|
Property_CRYING()
|
||
|
:BattleProperty("CRYING","Crying"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_SLOW:public BattleProperty{
|
||
|
public:
|
||
|
Property_SLOW()
|
||
|
:BattleProperty("SLOW","Slowed"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_MUSHROOMIZED:public BattleProperty{
|
||
|
public:
|
||
|
Property_MUSHROOMIZED()
|
||
|
:BattleProperty("MUSHROOMIZED","Mushroomized"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_CONFUSE:public BattleProperty{
|
||
|
public:
|
||
|
Property_CONFUSE()
|
||
|
:BattleProperty("CONFUSE","Confused"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_POISON:public BattleProperty{
|
||
|
public:
|
||
|
Property_POISON()
|
||
|
:BattleProperty("POISON","Poisoned"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_REGEN:public BattleProperty{
|
||
|
public:
|
||
|
Property_REGEN()
|
||
|
:BattleProperty("REGEN","Regenerating"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_DEFENSE_UP:public BattleProperty{
|
||
|
public:
|
||
|
Property_DEFENSE_UP()
|
||
|
:BattleProperty("DEFENSE_UP","Hardened"){}
|
||
|
void OnApplication(){
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_REVIVE:public BattleProperty{
|
||
|
public:
|
||
|
Property_REVIVE()
|
||
|
:BattleProperty("REVIVE","Revived"){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Property_NONE:public BattleProperty{
|
||
|
public:
|
||
|
Property_NONE()
|
||
|
:BattleProperty("NONE",""){}
|
||
|
void OnApplication(){
|
||
|
|
||
|
}
|
||
|
void OnTurnStart(){
|
||
|
|
||
|
}
|
||
|
void OnTurnEnd(){
|
||
|
|
||
|
}
|
||
|
};
|
||
|
|
||
|
enum class Property{
|
||
|
PETRIFY,
|
||
|
PARALYZE,
|
||
|
DIAMONDIZE,
|
||
|
CRYING,
|
||
|
SLOW,
|
||
|
MUSHROOMIZED,
|
||
|
CONFUSE,
|
||
|
POISON,
|
||
|
REGEN,
|
||
|
DEFENSE_UP,
|
||
|
REVIVE,
|
||
|
NONE
|
||
|
};
|
||
|
#endif
|