diff options
-rw-r--r-- | actions.c | 11 | ||||
-rw-r--r-- | actions.h | 10 | ||||
-rw-r--r-- | priv_entries.h | 10 |
3 files changed, 29 insertions, 2 deletions
@@ -203,3 +203,14 @@ void cyanure(SURFACES *surfaces, POSITIONS *positions, struct character_t *src, damage_target_hp(surfaces, positions, target, target->max_hp / 4); target->poisoned = true; } + +void esuna(SURFACES *surfaces, POSITIONS *positions, struct character_t *src, struct target_t *dest, void *data) +{ + (void) surfaces; + (void) positions; + (void) src; + (void) data; + + /* TODO cure every state and not only poison */ + dest->chr->poisoned = false; +} @@ -6,11 +6,19 @@ #include "target.h" void attack(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); + +/* black magic */ void cast_element(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); +void cyanure(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); + +/* white magic */ void cast_cure(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); +void esuna(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); + +/* use */ void use_potion(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); void use_ether(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); + void defend(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); -void cyanure(SURFACES *, POSITIONS *, struct character_t *src, struct target_t *dst, void *data); #endif /* ACTIONS_H */ diff --git a/priv_entries.h b/priv_entries.h index 6c3c798..db76406 100644 --- a/priv_entries.h +++ b/priv_entries.h @@ -22,7 +22,15 @@ struct entry_t white_magic_entries[] = { .f = cast_cure, .data = NULL, .target = TARGET_SINGLE | TARGET_TEAM, - } + }, + }, { + .name = "Esuna", + .children_cnt = 0, + .action = { + .f = esuna, + .data = NULL, + .target = TARGET_SINGLE, + }, }, }; |