Files
ForecastingVillage/include/systems/combat_manager.h
2020-04-29 12:28:22 +02:00

49 lines
1.1 KiB
C

/*
** EPITECH PROJECT, 2020
** my_rpg
** File description:
** combat_manager.h
*/
#ifndef MY_RPG_COMBAT_MANAGER_H
#define MY_RPG_COMBAT_MANAGER_H
#include <components/attack_component.h>
#include "system.h"
#include "components/combat_holder.h"
#include "components/dialog_holder.h"
enum combat_state
{
ATTACK,
DEFEND,
ATTACKING,
DEFENDING,
IDLE
};
struct combat_manager {
gc_system base;
gc_scene *game_scene;
struct enemy *current_enemy;
struct attack_holder *next_enemy_attack;
enum combat_state state;
char *last_attack;
int last_damage;
int last_enemy_damage;
};
extern const struct combat_manager combat_manager;
#define ATTACK_TEXT "What attack will you do?"
void combat_start(gc_engine *engine, char *enemy_name);
void combat_end(gc_engine *engine, bool has_won);
void show_attacks(struct combat_manager *this, struct dialog_holder *dialog, \
gc_scene *scene, gc_engine *engine);
void defend(struct combat_manager *this, struct dialog_holder *dialog, \
gc_scene *scene, gc_engine *engine);
#endif //MY_RPG_COMBAT_MANAGER_H