diff options
author | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-11-12 14:29:41 +0000 |
---|---|---|
committer | rud0lp20 <rud0lp20@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-11-12 14:29:41 +0000 |
commit | 4cc80656aeb5af0e810a5f7c1ef28624b1328dbd (patch) | |
tree | 571287ac45fe74432b3c4e96f26eb9de8ba6af2d /src/map | |
parent | 0ac093bd184a8821d8761929a472a0103ddfa67a (diff) | |
download | hercules-4cc80656aeb5af0e810a5f7c1ef28624b1328dbd.tar.gz hercules-4cc80656aeb5af0e810a5f7c1ef28624b1328dbd.tar.bz2 hercules-4cc80656aeb5af0e810a5f7c1ef28624b1328dbd.tar.xz hercules-4cc80656aeb5af0e810a5f7c1ef28624b1328dbd.zip |
Fixed bugreport:6719 adjusted SR_GENTLETOUCH_CURE,SR_GENTLETOUCH_CHANGE, and SR_GENTLETOUCH_REVITALIZE required spirit balls.
Fixed bugreport:6140 removed unused status icon SI_CLOUDKILL.
Fixed bugreport:6829 an animation problem in casting skills.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16921 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/skill.c | 9 | ||||
-rw-r--r-- | src/map/status.c | 2 | ||||
-rw-r--r-- | src/map/unit.c | 6 |
3 files changed, 6 insertions, 11 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 89a9fa658..5d03b739a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -9709,9 +9709,9 @@ int skill_castend_pos2(struct block_list* src, int x, int y, int skillid, int sk map_foreachinarea(skill_graffitiremover,src->m,x-i,y-i,x+i,y+i,BL_SKILL); break; - case SO_CLOUD_KILL: case SO_WARMER: - flag|=(skillid == SO_WARMER)?8:4; + flag|= 8; + case SO_CLOUD_KILL: skill_unitsetting(src,skillid,skilllv,x,y,0); break; @@ -14420,10 +14420,6 @@ int skill_clear_group (struct block_list *bl, int flag) if (flag&1) group[count++]= ud->skillunit[i]; break; - case SO_CLOUD_KILL: - if( flag&4 ) - group[count++]= ud->skillunit[i]; - break; case SO_WARMER: if( flag&8 ) group[count++]= ud->skillunit[i]; @@ -14462,7 +14458,6 @@ struct skill_unit_group *skill_locate_element_field(struct block_list *bl) case SA_LANDPROTECTOR: case NJ_SUITON: case SO_WARMER: - case SO_CLOUD_KILL: case SC_BLOODYLUST: return ud->skillunit[i]; } diff --git a/src/map/status.c b/src/map/status.c index f3625b1e7..68b7498fc 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -685,7 +685,7 @@ void initChangeTables(void) { set_sc( SO_ELECTRICWALK , SC_PROPERTYWALK , SI_PROPERTYWALK , SCB_NONE ); set_sc( SO_SPELLFIST , SC_SPELLFIST , SI_SPELLFIST , SCB_NONE ); set_sc_with_vfx( SO_DIAMONDDUST , SC_CRYSTALIZE , SI_COLD , SCB_NONE ); // it does show the snow icon on mobs but doesn't affect it. - set_sc( SO_CLOUD_KILL , SC_POISON , SI_CLOUDKILL , SCB_NONE ); + add_sc( SO_CLOUD_KILL , SC_POISON ); set_sc( SO_STRIKING , SC_STRIKING , SI_STRIKING , SCB_WATK|SCB_CRI ); set_sc( SO_WARMER , SC_WARMER , SI_WARMER , SCB_NONE ); set_sc( SO_VACUUM_EXTREME , SC_VACUUM_EXTREME , SI_VACUUM_EXTREME , SCB_NONE ); diff --git a/src/map/unit.c b/src/map/unit.c index 4eaa4ba30..4827c0c68 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -1260,12 +1260,11 @@ int unit_skilluse_id2(struct block_list *src, int target_id, short skill_num, sh casttime = skill_vfcastfix(src, casttime, skill_num, skill_lv); #endif + unit_stop_walking(src,1);// eventhough this is not how official works but this will do the trick. bugreport:6829 // in official this is triggered even if no cast time. clif_skillcasting(src, src->id, target_id, 0,0, skill_num, skill_get_ele(skill_num, skill_lv), casttime); if( casttime > 0 || temp ) { - unit_stop_walking(src,1); - if (sd && target->type == BL_MOB) { TBL_MOB *md = (TBL_MOB*)target; @@ -1453,11 +1452,12 @@ int unit_skilluse_pos2( struct block_list *src, short skill_x, short skill_y, sh if (!src->prev) return 0; } } + + unit_stop_walking(src,1); // in official this is triggered even if no cast time. clif_skillcasting(src, src->id, 0, skill_x, skill_y, skill_num, skill_get_ele(skill_num, skill_lv), casttime); if( casttime > 0 ) { - unit_stop_walking(src,1); ud->skilltimer = add_timer( tick+casttime, skill_castend_pos, src->id, 0 ); if( (sd && pc_checkskill(sd,SA_FREECAST) > 0) || skill_num == LG_EXEEDBREAK) status_calc_bl(&sd->bl, SCB_SPEED); |