2022-01-24 15:15:12 +01:00
|
|
|
#pragma once
|
2022-01-25 22:20:10 +01:00
|
|
|
#include "stats.h"
|
2022-01-24 15:15:12 +01:00
|
|
|
|
|
|
|
struct Move {
|
|
|
|
char *name;
|
2022-02-17 21:26:33 +01:00
|
|
|
int id;
|
2022-02-18 15:44:41 +01:00
|
|
|
int categorie;
|
2022-02-17 01:04:45 +01:00
|
|
|
int init_pp;
|
2022-01-24 15:15:12 +01:00
|
|
|
int pp;
|
|
|
|
int atk;
|
2022-02-17 19:05:21 +01:00
|
|
|
int precision;
|
2022-02-18 15:44:41 +01:00
|
|
|
|
|
|
|
//self effect (%)
|
|
|
|
int boost_atk;
|
|
|
|
int boost_def;
|
|
|
|
int boost_hp;
|
2022-01-24 15:15:12 +01:00
|
|
|
};
|
|
|
|
|
2022-01-24 21:27:51 +01:00
|
|
|
struct Capacities {
|
|
|
|
int nbCapacities;
|
2022-01-24 15:15:12 +01:00
|
|
|
struct Move *moves[];
|
|
|
|
};
|
|
|
|
|
2022-02-17 19:05:21 +01:00
|
|
|
enum status {
|
2022-02-17 21:26:33 +01:00
|
|
|
MISS,
|
|
|
|
SUCCESS,
|
|
|
|
CRIT,
|
2022-02-18 15:44:41 +01:00
|
|
|
HEAL,
|
|
|
|
ATK,
|
|
|
|
DEF,
|
|
|
|
MULTIPLE
|
|
|
|
};
|
|
|
|
|
|
|
|
enum categorie {
|
|
|
|
STATUT,
|
|
|
|
PHYSICAL,
|
2022-04-16 01:06:24 +02:00
|
|
|
SPECIAL,
|
2022-02-17 19:05:21 +01:00
|
|
|
};
|
|
|
|
|
2022-01-24 15:15:12 +01:00
|
|
|
struct Move default_move();
|
2022-01-24 21:27:51 +01:00
|
|
|
struct Move get_move_id(int id);
|
2022-02-15 21:46:53 +01:00
|
|
|
void draw_move(int x, int y, int x2, int y2, struct Move *move);
|
|
|
|
void draw_classic_move(int x, int y, struct Move *move);
|
2022-02-17 19:05:21 +01:00
|
|
|
int execute_move(struct Stats *player_stats, struct Stats *monster_stats, struct Move *move, int ismonster);
|
2022-02-15 21:46:53 +01:00
|
|
|
int calc_damage(struct Stats *attacker, struct Stats *target, struct Move *move);
|
|
|
|
struct Move *copy_move(struct Move move);
|
2022-02-16 19:40:41 +01:00
|
|
|
struct Move *get_move_id_pointer(int id);
|
|
|
|
float crit(struct Stats *attacker);
|
2022-02-17 19:05:21 +01:00
|
|
|
int is_crit();
|
2022-02-18 15:44:41 +01:00
|
|
|
int is_miss(struct Move *move);
|
|
|
|
int self_effect(struct Stats *stats, struct Move *move);
|