diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-13 20:25:13 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-07-13 20:25:13 +0000 |
commit | 692914bd8b2ec74f185eac77be3479d5a5235cb4 (patch) | |
tree | 750a6a469d8c780e6b4765918c019072b528f4b2 /src/map/skill.c | |
parent | 6301743e9002b391f83dca77a8e03fcbcd5f6d33 (diff) | |
download | hercules-692914bd8b2ec74f185eac77be3479d5a5235cb4.tar.gz hercules-692914bd8b2ec74f185eac77be3479d5a5235cb4.tar.bz2 hercules-692914bd8b2ec74f185eac77be3479d5a5235cb4.tar.xz hercules-692914bd8b2ec74f185eac77be3479d5a5235cb4.zip |
- Corrected NJ_KAENSIN as per description.
- Fixed a leaking map_freeblocklock on skill_del_unitgroup.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@7659 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index dc6194691..b55c6bea8 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3069,7 +3069,6 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int //case NJ_KASUMIKIRI: //case NJ_KIRIKAGE: //case NJ_KOUENKA: - case NJ_KAENSIN: //case NJ_HYOUSENSOU: //case NJ_HYOUSYOURAKU: //case NJ_HUUJIN: @@ -6409,8 +6408,8 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid, if (sd) val1 = sd->status.child; break; case NJ_KAENSIN: - val1 = skilllv; - val2 = (skilllv+1)/2 + 4; + val1 = (skilllv+1)/2 + 4; + skill_clear_group(src,1); break; case GS_GROUNDDRIFT: @@ -7032,9 +7031,8 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns case UNT_KAENSIN: skill_attack(BF_MAGIC,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); - src->val2--; - if (--src->val2<=0) - skill_delunit(src); + if (--sg->val1 <= 0) + skill_delunitgroup(NULL,sg); break; } @@ -8895,6 +8893,7 @@ int skill_clear_group (struct block_list *bl, int flag) case SA_VIOLENTGALE: case SA_LANDPROTECTOR: case NJ_SUITON: + case NJ_KAENSIN: if (flag&1) group[count++]= ud->skillunit[i]; break; @@ -9441,7 +9440,6 @@ int skill_delunitgroup (struct block_list *src, struct skill_unit_group *group) group->valstr=NULL; } - map_freeblock((struct block_list*)group->unit); /* aFree()の替わり */ group->unit=NULL; group->group_id=0; group->unit_count=0; |