1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- // Copyright (c) Athena Dev Teams - Licensed under GNU GPL
- // For more information, see LICENCE in the main folder
- #ifndef _MERCENARY_H_
- #define _MERCENARY_H_
- #include "status.h" // struct status_data, struct status_change
- #include "unit.h" // struct unit_data
- // number of cells that a mercenary can walk to from it's master before being warped
- #define MAX_MER_DISTANCE 15
- enum {
- ARCH_MERC_GUILD,
- SPEAR_MERC_GUILD,
- SWORD_MERC_GUILD,
- };
- struct s_mercenary_db {
- int class_;
- char sprite[NAME_LENGTH], name[NAME_LENGTH];
- unsigned short lv;
- short range2, range3;
- struct status_data status;
- struct view_data vd;
- struct {
- unsigned short id, lv;
- } skill[MAX_MERCSKILL];
- };
- extern struct s_mercenary_db mercenary_db[MAX_MERCENARY_CLASS];
- struct mercenary_data {
- struct block_list bl;
- struct unit_data ud;
- struct view_data *vd;
- struct status_data base_status, battle_status;
- struct status_change sc;
- struct regen_data regen;
- struct s_mercenary_db *db;
- struct s_mercenary mercenary;
- char blockskill[MAX_SKILL];
- struct map_session_data *master;
- int contract_timer;
-
- unsigned devotion_flag : 1;
- unsigned int masterteleport_timer;
- };
- bool merc_class(int class_);
- struct view_data * merc_get_viewdata(int class_);
- int merc_create(struct map_session_data *sd, int class_, unsigned int lifetime);
- int merc_data_received(struct s_mercenary *merc, bool flag);
- int mercenary_save(struct mercenary_data *md);
- void mercenary_heal(struct mercenary_data *md, int hp, int sp);
- int mercenary_dead(struct mercenary_data *md);
- int merc_delete(struct mercenary_data *md, int reply);
- void merc_contract_stop(struct mercenary_data *md);
- int mercenary_get_lifetime(struct mercenary_data *md);
- int mercenary_get_guild(struct mercenary_data *md);
- int mercenary_get_faith(struct mercenary_data *md);
- int mercenary_set_faith(struct mercenary_data *md, int value);
- int mercenary_get_calls(struct mercenary_data *md);
- int mercenary_set_calls(struct mercenary_data *md, int value);
- int mercenary_kills(struct mercenary_data *md);
- int mercenary_checkskill(struct mercenary_data *md, uint16 skill_id);
- /**
- * atcommand.c required
- **/
- int read_mercenarydb(void);
- int read_mercenary_skilldb(void);
- int do_init_mercenary(void);
- #endif /* _MERCENARY_H_ */
|