summaryrefslogtreecommitdiff
path: root/src/map/mercenary.h
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-08-26 05:11:58 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2008-08-26 05:11:58 +0000
commit78d0348440ea4856e44044fff370b8bd4dfe90db (patch)
treee1b744ef06305a0f52c208c979fb6946480c7bbe /src/map/mercenary.h
parentbc8bfb195d56fb9b2b41ff729f5110ea4b4a4af6 (diff)
downloadhercules-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.h48
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_ */