summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-03-23 10:55:01 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-03-23 10:55:01 +0000
commit3a783a8bdd6f2c3e59ce900ef36af7e8e79a2f5b (patch)
treec615fe4ba739c2879d590dfc6698e867fcb22360
parentd5c10b3c0b55a63c7bd89e43dc7a79c977bd259e (diff)
downloadhercules-3a783a8bdd6f2c3e59ce900ef36af7e8e79a2f5b.tar.gz
hercules-3a783a8bdd6f2c3e59ce900ef36af7e8e79a2f5b.tar.bz2
hercules-3a783a8bdd6f2c3e59ce900ef36af7e8e79a2f5b.tar.xz
hercules-3a783a8bdd6f2c3e59ce900ef36af7e8e79a2f5b.zip
Fixed bugreport:1551 causing coma on monsters now grants you your-fully-deserved exp.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@15783 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/status.c5
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;