-Fix bugreport:7522 shadow form not ending correctly on target dead.
-Fix SC_LIGHT_OF_REGENE not ending status before revive player. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17277 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
ac3e46de84
commit
a74e22453d
@ -6582,6 +6582,10 @@ int pc_dead(struct map_session_data *sd,struct block_list *src)
|
||||
status_change_end(&devsd->bl, SC_DEVOTION, INVALID_TIMER);
|
||||
sd->devotion[k] = 0;
|
||||
}
|
||||
if(sd->shadowform_id){ //if we were target of shadowform
|
||||
status_change_end(map_id2bl(sd->shadowform_id), SC__SHADOWFORM, INVALID_TIMER);
|
||||
sd->shadowform_id = 0; //should be remove on status end anyway
|
||||
}
|
||||
|
||||
if(sd->status.pet_id > 0 && sd->pd) {
|
||||
struct pet_data *pd = sd->pd;
|
||||
|
@ -1321,6 +1321,7 @@ int status_damage(struct block_list *src,struct block_list *target,int hp, int s
|
||||
TBL_PC *sd = BL_CAST(BL_PC,target);
|
||||
TBL_HOM *hd = sd->hd;
|
||||
if(hd && hd->sc.data[SC_LIGHT_OF_REGENE]){
|
||||
status_change_clear(target,0);
|
||||
clif_skillcasting(&hd->bl, hd->bl.id, target->id, 0,0, MH_LIGHT_OF_REGENE, skill_get_ele(MH_LIGHT_OF_REGENE, 1), 10); //just to display usage
|
||||
clif_skill_nodamage(&sd->bl, target, ALL_RESURRECTION, 1, status_revive(&sd->bl,hd->sc.data[SC_LIGHT_OF_REGENE]->val2,0));
|
||||
status_change_end(&sd->hd->bl,SC_LIGHT_OF_REGENE,INVALID_TIMER);
|
||||
@ -9645,9 +9646,7 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const
|
||||
break;
|
||||
case SC__SHADOWFORM: {
|
||||
struct map_session_data *s_sd = map_id2sd(sce->val2);
|
||||
if( !s_sd )
|
||||
break;
|
||||
s_sd->shadowform_id = 0;
|
||||
if(s_sd ) s_sd->shadowform_id = 0;
|
||||
}
|
||||
break;
|
||||
case SC_SITDOWN_FORCE:
|
||||
|
Loading…
x
Reference in New Issue
Block a user