diff options
author | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-08-26 05:11:58 +0000 |
---|---|---|
committer | ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2008-08-26 05:11:58 +0000 |
commit | 78d0348440ea4856e44044fff370b8bd4dfe90db (patch) | |
tree | e1b744ef06305a0f52c208c979fb6946480c7bbe /src/map/mercenary.h | |
parent | bc8bfb195d56fb9b2b41ff729f5110ea4b4a4af6 (diff) | |
download | hercules-78d0348440ea4856e44044fff370b8bd4dfe90db.tar.gz hercules-78d0348440ea4856e44044fff370b8bd4dfe90db.tar.bz2 hercules-78d0348440ea4856e44044fff370b8bd4dfe90db.tar.xz hercules-78d0348440ea4856e44044fff370b8bd4dfe90db.zip |
Added mercenary code (it should have been done this way in r13122).
Removed 2 unused variables in homunculus code.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13137 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/mercenary.h')
-rw-r--r-- | src/map/mercenary.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/map/mercenary.h b/src/map/mercenary.h new file mode 100644 index 000000000..bc2046dc7 --- /dev/null +++ b/src/map/mercenary.h @@ -0,0 +1,48 @@ +// 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 + +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; + + struct map_session_data *master; + int contract_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); +int do_init_mercenary(void); +int merc_delete(struct mercenary_data *md, int reply); +void merc_contract_stop(struct mercenary_data *md); + +#endif /* _MERCENARY_H_ */ |