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.
87 lines
1.8 KiB
87 lines
1.8 KiB
#ifndef BATTLE_H
|
|
#define BATTLE_H
|
|
#include "effect.h"
|
|
#include "pixelGameEngine.h"
|
|
using namespace olc;
|
|
|
|
enum class BattleMoveName{
|
|
TESTMOVE1,
|
|
TESTMOVE2,
|
|
TESTMOVE3,
|
|
BASH,
|
|
BASH_CHANGE,
|
|
DEFEND,
|
|
EQUIP_ARMOR,
|
|
CONSUMABLE,
|
|
CONSUMABLE_ENEMY,
|
|
HAILSTORM_A,
|
|
HAILSTORM_B,
|
|
HAILSTORM_G,
|
|
HAILSTORM_O,
|
|
HURRICANE_A,
|
|
HURRICANE_B,
|
|
HURRICANE_G,
|
|
HURRICANE_O,
|
|
METEORRAIN_A,
|
|
METEORRAIN_B,
|
|
METEORRAIN_G,
|
|
METEORRAIN_O,
|
|
PKFREEZE_A,
|
|
PKFREEZE_B,
|
|
PKFREEZE_G,
|
|
PKFREEZE_O,
|
|
PKSHIELD_A,
|
|
PKSHIELD_B,
|
|
PKSHIELD_O,
|
|
PKSHIELD_S,
|
|
PKLIFEUP_A,
|
|
PKLIFEUP_B,
|
|
PKLIFEUP_G,
|
|
PKLIFEUP_O,
|
|
PKFUN_A,
|
|
PKFUN_B,
|
|
PKFUN_G,
|
|
PKFUN_O,
|
|
PKFIRE_A,
|
|
PKFIRE_B,
|
|
PKFIRE_G,
|
|
PKFIRE_O,
|
|
FREEZE_PACKET,
|
|
};
|
|
|
|
enum class Resistance{
|
|
WET,
|
|
DRY,
|
|
COLD,
|
|
HEAT,
|
|
};
|
|
|
|
namespace Battle{
|
|
struct Move{
|
|
BattleMoveName id;
|
|
std::string name="";
|
|
std::string desc="";
|
|
char grade=0; //If the name of a move name match, then the grade helps sort it into the same category on menus.
|
|
int baseDmg=10; //The base damage of the attack.
|
|
int randomDmg=5; //Additional random roll damage to add onto the base damage.
|
|
int PPCost=0;
|
|
int range=1; //The range of this ability in tiles.
|
|
int channelTime=0; //The amount of frames to channel the spell.
|
|
bool friendly=false; //Target allies instead.
|
|
std::array<int,4>composition={0,0,0,0};
|
|
std::string attackMsg="$USER uses $POWER";
|
|
Effect*eff=nullptr;
|
|
bool pctDamage=false; //Uses % damage for the base damage instead of flat damage.
|
|
std::map<Property,int> properties={}; //The int is used to determine the chance of something occurring.
|
|
//Properties order is WET, DRY, COLD, HEAT
|
|
bool overworld=false; //Whether or not a move can be used on the overworld.
|
|
std::string GetPowerName() {
|
|
if (grade!=0) {
|
|
return name+" "+grade;
|
|
} else {
|
|
return name;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
#endif |