From 397c92b0df50bde6d9cc7da73c7760a0758f31e0 Mon Sep 17 00:00:00 2001 From: skotlex Date: Fri, 18 Aug 2006 17:13:33 +0000 Subject: [PATCH] - Figured out a better way to make TATAMIGAESHI attack only on the instant it is placed down. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@8350 54d463be-8e91-2dee-dedb-b68131a5f0ec --- db/skill_cast_db.txt | 4 ++-- src/map/skill.c | 22 ++++++++-------------- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/db/skill_cast_db.txt b/db/skill_cast_db.txt index 0d20825c17..3f56a41be2 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 f8b946eb0f..af6a337ca7 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;