summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/skill_cast_db.txt4
-rw-r--r--src/map/skill.c22
2 files changed, 10 insertions, 16 deletions
diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt
index 0d20825c1..3f56a41be 100644
--- a/db/skill_cast_db.txt
+++ b/db/skill_cast_db.txt
@@ -886,8 +886,8 @@
525,1000,1000,0,0,0
//-- NJ_ZENYNAGE
526,0,5000,0,0,0
-//-- NJ_TATAMIGAESHI // Duration1 is land-effect & range-inmunity effect. Duration2 is skill_attack duration (minimal value)
-527,0,3000,0,3000,200
+//-- NJ_TATAMIGAESHI // Duration1 is land-effect, Duration2 is range-inmunity effect.
+527,0,3000,0,3000,3000
//-- NJ_KASUMIKIRI // Delay unknown (if there is one)
528,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
//-- NJ_SHADOWJUMP // Delay unknown (if there is one)
diff --git a/src/map/skill.c b/src/map/skill.c
index f8b946eb0..af6a337ca 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -6243,7 +6243,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
}
break;
case NJ_TATAMIGAESHI:
- sc_start(src,type,100,skilllv,skill_get_time(skillid,skilllv));
+ sc_start(src,type,100,skilllv,skill_get_time2(skillid,skilllv));
skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
break;
@@ -6780,6 +6780,13 @@ struct skill_unit_group *skill_unitsetting (struct block_list *src, int skillid,
unit->bl.x,unit->bl.y,group->bl_flag,&unit->bl,gettick(),1);
}
}
+ if (skillid == NJ_TATAMIGAESHI)
+ { //Disable it, since it should do instant damage
+ //(which was done in the map_foreachincell call up there) [Skotlex]
+ group->target_flag=BCT_NOONE;
+ group->bl_flag= 0;
+ }
+
if (!group->alive_count)
{ //No cells? Something that was blocked completely by Land Protector?
skill_delunitgroup(src, group);
@@ -7173,19 +7180,6 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
}
case UNT_TATAMIGAESHI:
- {
- /* NJ_TATAMIGAESHI has to work like that (has to be instant, instead of during 1s), according to Tharis' last video
- Did not find a better way to do it (even in traps' code) */
-
- struct skill_unit_group *sug; // better name needed
-
- if ( (sug = map_find_skill_unit_oncell(bl,bl->x,bl->y,NJ_TATAMIGAESHI,NULL)->group) != NULL )
- {
- if ( DIFF_TICK(gettick(), sug->tick) <= skill_get_time2(sg->skill_id, sg->skill_lv) )
- skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
- }
- break;
- }
case UNT_DEMONSTRATION:
skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break;