diff options
-rw-r--r-- | db/pre-re/skill_require_db.txt | 6 | ||||
-rw-r--r-- | db/pre-re/skill_unit_db.txt | 2 | ||||
-rw-r--r-- | db/re/skill_require_db.txt | 6 | ||||
-rw-r--r-- | db/re/skill_unit_db.txt | 2 | ||||
-rw-r--r-- | src/map/skill.c | 9 | ||||
-rw-r--r-- | src/map/status.c | 2 | ||||
-rw-r--r-- | src/map/unit.c | 6 |
7 files changed, 14 insertions, 19 deletions
diff --git a/db/pre-re/skill_require_db.txt b/db/pre-re/skill_require_db.txt index eb1cf851b..42cadf03e 100644 --- a/db/pre-re/skill_require_db.txt +++ b/db/pre-re/skill_require_db.txt @@ -680,10 +680,10 @@ 2342,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_CRESCENTELBOW_AUTOSPELL#Crescent Elbow Autospell# 2343,0,0,11:12:13:14:15:16:17:18:19:20,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GATEOFHELL#Gate of Hell# 2344,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_QUIET#Gentle Touch - Quiet# -2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# +2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# 2346,0,0,40:50:60:70:80,-1:-2:-3:-4:-5,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_ENERGYGAIN#Gentle Touch - Energy Gain# -2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CHANGE#Gentle Touch - Change# -2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# +2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CHANGE#Gentle Touch - Change# +2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# //More from SR Sura (but not following ID order) 2517,0,0,40:45:50:55:60,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_HOWLINGOFLION#Howling of Lion# 2518,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_RIDEINLIGHTNING#Ride In Lightening# diff --git a/db/pre-re/skill_unit_db.txt b/db/pre-re/skill_unit_db.txt index fc05641a8..1a8b6d0f5 100644 --- a/db/pre-re/skill_unit_db.txt +++ b/db/pre-re/skill_unit_db.txt @@ -135,7 +135,7 @@ 2446,0x86, , 0, 3:3:3:4:4,1000,enemy, 0x018 //SO_EARTHGRAVE 2447,0x86, , 0, 3:3:3:4:4,1000,enemy, 0x018 //SO_DIAMONDDUST 2449,0xdf, , 0, 3:3:4:4:5,500,enemy, 0x018 //SO_PSYCHIC_WAVE -2450,0xe0, , 3, 0, 500,enemy, 0x010 //SO_CLOUD_KILL +2450,0xe0, , 0, 3, 500,enemy, 0x010 //SO_CLOUD_KILL 2452,0xe4, , 0, 3,3000,all, 0x010 //SO_WARMER 2453,0xeb, , 0, 1:1:2:2:3,1000,enemy,0x010 //SO_VACUUM_EXTREME 2465,0xf1, , 0, 2,1000,all, 0x010 //SO_FIRE_INSIGNIA diff --git a/db/re/skill_require_db.txt b/db/re/skill_require_db.txt index 3137f7605..b569704bd 100644 --- a/db/re/skill_require_db.txt +++ b/db/re/skill_require_db.txt @@ -686,10 +686,10 @@ 2342,0,0,1,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_CRESCENTELBOW_AUTOSPELL#Crescent Elbow Autospell# 2343,0,0,11:12:13:14:15:16:17:18:19:20,0,-11:-12:-13:-14:-15:-16:-17:-18:-19:-20,0,99,0,0,none,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GATEOFHELL#Gate of Hell# 2344,0,0,20:25:30:35:40,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_QUIET#Gentle Touch - Quiet# -2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# +2345,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CURE#Gentle Touch - Cure# 2346,0,0,40:50:60:70:80,-1:-2:-3:-4:-5,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_ENERGYGAIN#Gentle Touch - Energy Gain# -2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CHANGE#Gentle Touch - Change# -2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# +2347,0,0,40:50:60:70:80,-2:-4:-6:-8:-10,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_CHANGE#Gentle Touch - Change# +2348,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_GENTLETOUCH_REVITALIZE#Gentle Touch - Revitalize# //More from SR Sura (but not following ID order) 2517,0,0,40:45:50:55:60,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_HOWLINGOFLION#Howling of Lion# 2518,0,0,40:50:60:70:80,0,0,0,99,0,0,none,1:2:3:4:5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //SR_RIDEINLIGHTNING#Ride In Lightening# diff --git a/db/re/skill_unit_db.txt b/db/re/skill_unit_db.txt index 83bdb1238..8a313ca0c 100644 --- a/db/re/skill_unit_db.txt +++ b/db/re/skill_unit_db.txt @@ -138,7 +138,7 @@ 2446,0x86, , 0, 3:3:3:4:4,1000,enemy, 0x018 //SO_EARTHGRAVE 2447,0x86, , 0, 3:3:3:4:4,1000,enemy, 0x018 //SO_DIAMONDDUST 2449,0xdf, , 0, 3:3:4:4:5,500,enemy, 0x018 //SO_PSYCHIC_WAVE -2450,0xe0, , 3, 0, 500,enemy, 0x010 //SO_CLOUD_KILL +2450,0xe0, , 0, 3, 500,enemy, 0x010 //SO_CLOUD_KILL 2452,0xe4, , 0, 3,3000,all, 0x010 //SO_WARMER 2453,0xeb, , 0, 1:1:2:2:3,1000,enemy,0x010 //SO_VACUUM_EXTREME 2465,0xf1, , 0, 1,1000,all, 0x010 //SO_FIRE_INSIGNIA 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); |