From ff6317b65b37c6439076afd810193baf893b3611 Mon Sep 17 00:00:00 2001 From: skotlex Date: Tue, 18 Jul 2006 13:25:21 +0000 Subject: - Added a proper check to make aggressive mobs never override homun targets regardless of distance. - Removed a bunch of homun-related variables that are not needed at all. The alive condition is removed, now the code checks for the hp value to know if the homun is alive or not. - Cleaned up a bit the skill-id function, homun skill checks (such as delay and skill-lv learned) should be correct now. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7727 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/status.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/map/status.h') diff --git a/src/map/status.h b/src/map/status.h index 2f35a5fbb..65e512ec5 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -514,13 +514,16 @@ enum { #define SCB_PC 0x80000000 #define SCB_ALL 0x7FFFFFFF +//Define to determine who gets HP/SP consumed on doing skills/etc. [Skotlex] +#define BL_CONSUME (BL_PC|BL_HOMUNCULUS) + int status_damage(struct block_list *src,struct block_list *target,int hp,int sp, int walkdelay, int flag); //Define for standard HP damage attacks. #define status_fix_damage(src, target, hp, walkdelay) status_damage(src, target, hp, 0, walkdelay, 0) //Define for standard HP/SP damage triggers. #define status_zap(bl, hp, sp) status_damage(NULL, bl, hp, sp, 0, 1) //Define for standard HP/SP skill-related cost triggers (mobs require no HP/SP to use skills) -#define status_charge(bl, hp, sp) ((bl)->type != BL_PC || status_damage(NULL, bl, hp, sp, 0, 3)) +#define status_charge(bl, hp, sp) (!((bl)->type&BL_CONSUME) || status_damage(NULL, bl, hp, sp, 0, 3)) int status_percent_change(struct block_list *src,struct block_list *target,signed char hp_rate, signed char sp_rate, int flag); //Easier handling of status_percent_change #define status_percent_heal(bl, hp_rate, sp_rate) status_percent_change(NULL, bl, -(hp_rate), -(sp_rate), 1) -- cgit v1.2.3-60-g2f50