|
@@ -2000,6 +2000,7 @@ int64 status_charge(struct block_list* bl, int64 hp, int64 sp);
|
|
int status_percent_change(struct block_list *src, struct block_list *target, int8 hp_rate, int8 sp_rate, uint8 flag);
|
|
int status_percent_change(struct block_list *src, struct block_list *target, int8 hp_rate, int8 sp_rate, uint8 flag);
|
|
//Easier handling of status_percent_change
|
|
//Easier handling of status_percent_change
|
|
#define status_percent_heal(bl, hp_rate, sp_rate) status_percent_change(NULL, bl, -(hp_rate), -(sp_rate), 0)
|
|
#define status_percent_heal(bl, hp_rate, sp_rate) status_percent_change(NULL, bl, -(hp_rate), -(sp_rate), 0)
|
|
|
|
+/// Deals % damage from 'src' to 'target'. If rate is > 0 is % of current HP/SP, < 0 % of MaxHP/MaxSP
|
|
#define status_percent_damage(src, target, hp_rate, sp_rate, kill) status_percent_change(src, target, hp_rate, sp_rate, (kill)?1:2)
|
|
#define status_percent_damage(src, target, hp_rate, sp_rate, kill) status_percent_change(src, target, hp_rate, sp_rate, (kill)?1:2)
|
|
//Instant kill with no drops/exp/etc
|
|
//Instant kill with no drops/exp/etc
|
|
#define status_kill(bl) status_percent_damage(NULL, bl, 100, 0, true)
|
|
#define status_kill(bl) status_percent_damage(NULL, bl, 100, 0, true)
|