summaryrefslogtreecommitdiff
path: root/src/map/homunculus.h
diff options
context:
space:
mode:
authormasao87 <masao87@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-14 15:52:49 +0000
committermasao87 <masao87@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-07-14 15:52:49 +0000
commit9ca7fe72868a501e35b4e0545280cbef4aac5c4f (patch)
treec18df14b4de46a9e7997bee5f2da74107b84b63f /src/map/homunculus.h
parent5641020eb4684b3898fe4f35cf5391977abd4ea8 (diff)
downloadhercules-9ca7fe72868a501e35b4e0545280cbef4aac5c4f.tar.gz
hercules-9ca7fe72868a501e35b4e0545280cbef4aac5c4f.tar.bz2
hercules-9ca7fe72868a501e35b4e0545280cbef4aac5c4f.tar.xz
hercules-9ca7fe72868a501e35b4e0545280cbef4aac5c4f.zip
- Added new script command hommutate which changes an Homunculus into an Homunculus S Class. Super special thanks to Xantara for doing the command!
- Added 2 new configs to homunc.conf to set the Max. Level for Homunculus and homunculus. - Updated homun_exp.txt table with values from Lvl. 99 to 150 for Homnunculus S. - Updated script_commands.txt with description of the new script command. - Added Homunculus S Quest. bugreport:5641 git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16427 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/homunculus.h')
-rw-r--r--src/map/homunculus.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/map/homunculus.h b/src/map/homunculus.h
index 47f874588..cb209144a 100644
--- a/src/map/homunculus.h
+++ b/src/map/homunculus.h
@@ -47,6 +47,29 @@ struct homun_data {
char blockskill[MAX_SKILL]; // [orn]
};
+#define HOM_EVO 0x100 //256
+#define HOM_S 0x200 //512
+
+#define HOM_REG 0x1000 //4096
+
+enum {
+// Normal Homunculus
+ MAPID_LIF = HOM_REG|0x0,
+ MAPID_AMISTR,
+ MAPID_FILIR,
+ MAPID_VANILMIRTH,
+// Evolved Homunulus
+ MAPID_LIF_E = HOM_REG|HOM_EVO|0x0,
+ MAPID_AMISTR_E,
+ MAPID_FILIR_E,
+ MAPID_VANILMIRTH_E,
+// Homunculus S
+ MAPID_EIRA = HOM_S|0x0,
+ MAPID_BAYERI,
+ MAPID_SERA,
+ MAPID_DIETER,
+ MAPID_ELANOR,
+};
#define homdb_checkid(id) (id >= HM_CLASS_BASE && id <= HM_CLASS_MAX)
@@ -55,14 +78,16 @@ struct homun_data {
int do_init_merc(void);
int merc_hom_recv_data(int account_id, struct s_homunculus *sh, int flag); //albator
struct view_data* merc_get_hom_viewdata(int class_);
+int hom_class2mapid(int hom_class);
void merc_damage(struct homun_data *hd,struct block_list *src,int hp,int sp);
int merc_hom_dead(struct homun_data *hd, struct block_list *src);
void merc_hom_skillup(struct homun_data *hd,int skillnum);
-int merc_hom_calc_skilltree(struct homun_data *hd) ;
-int merc_hom_checkskill(struct homun_data *hd,int skill_id) ;
-int merc_hom_gainexp(struct homun_data *hd,int exp) ;
-int merc_hom_levelup(struct homun_data *hd) ;
-int merc_hom_evolution(struct homun_data *hd) ;
+int merc_hom_calc_skilltree(struct homun_data *hd);
+int merc_hom_checkskill(struct homun_data *hd,int skill_id);
+int merc_hom_gainexp(struct homun_data *hd,int exp);
+int merc_hom_levelup(struct homun_data *hd);
+int merc_hom_evolution(struct homun_data *hd);
+int hom_mutate(struct homun_data *hd,int homun_id);
void merc_hom_heal(struct homun_data *hd,int hp,int sp);
int merc_hom_vaporize(struct map_session_data *sd, int flag);
int merc_resurrect_homunculus(struct map_session_data *sd, unsigned char per, short x, short y);