diff options
-rw-r--r-- | src/map/skill.c | 4 | ||||
-rw-r--r-- | src/map/status.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index e47ee2b6d..b3830f9b7 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1076,7 +1076,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int break; case GS_BULLSEYE: //0.1% coma rate. if(tstatus->race == RC_BRUTE || tstatus->race == RC_DEMIHUMAN) - status_change_start(bl,SC_COMA,10,skilllv,0,0,0,0,0); + status_change_start(bl,SC_COMA,10,skilllv,0,src->id,0,0,0); break; case GS_PIERCINGSHOT: sc_start(bl,SC_BLEEDING,(skilllv*3),skilllv,skill_get_time2(skillid,skilllv)); @@ -1310,7 +1310,7 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int rate += sd->weapon_coma_race[tstatus->race]; rate += sd->weapon_coma_race[tstatus->mode&MD_BOSS?RC_BOSS:RC_NONBOSS]; if (rate) - status_change_start(bl, SC_COMA, rate, 0, 0, 0, 0, 0, 0); + status_change_start(bl, SC_COMA, rate, 0, 0, src->id, 0, 0, 0); } if( sd && battle_config.equip_self_break_rate ) { // Self weapon breaking diff --git a/src/map/status.c b/src/map/status.c index 37d4fe4f1..aa3ab0a29 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -6885,6 +6885,11 @@ int status_change_start(struct block_list* bl,enum sc_type type,int rate,int val } case SC_COMA: //Coma. Sends a char to 1HP. If val2, do not zap sp + if( val3 && bl->type == BL_MOB ) { + struct block_list* src = map_id2bl(val3); + if( src ) + mob_log_damage((TBL_MOB*)bl,src,status->hp - 1); + } status_zap(bl, status->hp-1, val2?0:status->sp); return 1; break; |