Signed-off-by: Cydh Ramdh <house.bad@gmail.com>
This commit is contained in:
Cydh Ramdh 2014-01-19 21:00:54 +07:00
parent 8c24dc899b
commit 5a2849d9ff
2 changed files with 14 additions and 6 deletions

View File

@ -16078,16 +16078,24 @@ bool skill_check_cloaking(struct block_list *bl, struct status_change_entry *sce
return wall;
}
int skill_check_shadowform(struct block_list *bl, int64 damage, int hit) {
/** Check Shadow Form on the target
* @param bl: Target
* @param damage: Damage amount
* @param hit
* @return val
*/
char skill_check_shadowform(struct block_list *bl, int64 damage, int hit) {
struct status_change *sc;
struct block_list *src;
nullpo_retr(0, bl);
if (!damage)
return 0;
sc = status_get_sc(bl);
if( sc && sc->data[SC__SHADOWFORM] && damage ) {
src = map_id2bl(sc->data[SC__SHADOWFORM]->val2);
if( sc && sc->data[SC__SHADOWFORM] ) {
struct block_list *src = map_id2bl(sc->data[SC__SHADOWFORM]->val2);
if( !src || src->m != bl->m ) {
status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER);
@ -16102,7 +16110,7 @@ int skill_check_shadowform(struct block_list *bl, int64 damage, int hit) {
}
status_damage(bl, src, damage, 0, clif_damage(src, src, gettick(), 500, 500, damage, hit, (hit > 1 ? 8 : 0), 0), 0);
if( (--sc->data[SC__SHADOWFORM]->val3) <= 0 ) {
if( sc && sc->data[SC__SHADOWFORM] && (--sc->data[SC__SHADOWFORM]->val3) <= 0 ) {
status_change_end(bl, SC__SHADOWFORM, INVALID_TIMER);
if( src->type == BL_PC )
((TBL_PC*)src)->shadowform_id = 0;

View File

@ -1966,7 +1966,7 @@ struct s_skill_magicmushroom_db {
};
extern struct s_skill_magicmushroom_db skill_magicmushroom_db[MAX_SKILL_MAGICMUSHROOM_DB];
int skill_maelstrom_suction(struct block_list *bl, va_list ap);
int skill_check_shadowform(struct block_list *bl, int64 damage, int hit);
char skill_check_shadowform(struct block_list *bl, int64 damage, int hit);
/**
* Ranger
**/