diff options
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | db/skill_db.txt | 2 | ||||
-rw-r--r-- | src/map/skill.c | 13 |
3 files changed, 14 insertions, 2 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 5430166a1..9ccd19ee3 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -7,6 +7,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. * Added missing packet 0x2c9 and fixed 0x2da's length error. [Inkfish] * Fiberlock now can trap multiple enemies on the same cell and its triggering area was reduced to 1x1. [Inkfish] * Miracle should only be dispelled on map change. [Inkfish] + * Fixed the three hits of EarthQuake not being calculated seperately. [Inkfish] 09/05/18 * Item-bonuses now use the official default durations for status changes [Playtester] * status calc code cleanup [ultramage] diff --git a/db/skill_db.txt b/db/skill_db.txt index dbd0a5ac9..583f8af65 100644 --- a/db/skill_db.txt +++ b/db/skill_db.txt @@ -588,7 +588,7 @@ 544,-5,6,1,0,0x40,0,10,1,no,0,0,0,weapon,0, NJ_ISSEN,Final Strike // Additional NPC Skills (Episode 11.3) -653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,3,no,0,0x2,0,magic,0, NPC_EARTHQUAKE,Earthquake +653,0,8,4,0,0x6,5:7:9:11:13:5:7:9:11:13,10,1,no,0,0x2,0,magic,0, NPC_EARTHQUAKE,Earthquake 654,9,6,1,3,0,5,10,1,no,0,0x2,14,weapon,0, NPC_FIREBREATH,Fire Breath 655,9,6,1,1,0,5,10,1,no,0,0x2,14,weapon,0, NPC_ICEBREATH,Ice Breath 656,9,6,1,4,0,5,10,1,no,0,0x2,14,weapon,0, NPC_THUNDERBREATH,Thunder Breath diff --git a/src/map/skill.c b/src/map/skill.c index 8fd559cba..f9d982922 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2226,7 +2226,14 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr data) map_foreachinarea(skill_frostjoke_scream,skl->map,skl->x-range,skl->y-range, skl->x+range,skl->y+range,BL_CHAR,src,skl->skill_id,skl->skill_lv,tick); break; - + case NPC_EARTHQUAKE: + skill_area_temp[0] = map_foreachinrange(skill_area_sub, src, skill_get_splash(skl->skill_id, skl->skill_lv), BL_CHAR, src, skl->skill_id, skl->skill_lv, tick, BCT_ENEMY, skill_area_sub_count); + skill_area_temp[1] = src->id; + skill_area_temp[2] = 0; + map_foreachinrange(skill_area_sub, src, skill_get_splash(skl->skill_id, skl->skill_lv), splash_target(src), src, skl->skill_id, skl->skill_lv, tick, skl->flag, skill_castend_damage_id); + if( skl->type > 1 ) + skill_addtimerskill(src,tick+250,src->id,0,0,skl->skill_id,skl->skill_lv,skl->type-1,skl->flag); + break; case WZ_WATERBALL: if (!status_isdead(target)) skill_attack(BF_MAGIC,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); @@ -2698,6 +2705,10 @@ int skill_castend_damage_id (struct block_list* src, struct block_list *bl, int // recursive invocation of skill_castend_damage_id() with flag|1 map_foreachinrange(skill_area_sub, bl, skill_get_splash(skillid, skilllv), splash_target(src), src, skillid, skilllv, tick, flag|BCT_ENEMY|SD_SPLASH|1, skill_castend_damage_id); + //FIXME: Isn't EarthQuake a ground skill after all? + if( skillid == NPC_EARTHQUAKE ) + skill_addtimerskill(src,tick+250,src->id,0,0,skillid,skilllv,2,flag|BCT_ENEMY|SD_SPLASH|1); + //FIXME: move this to skill_additional_effect or some such? [ultramage] if( skillid == SM_MAGNUM || skillid == MS_MAGNUM ) { // Initiate 10% of your damage becomes fire element. |