- 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
This commit is contained in:
skotlex 2006-08-18 17:13:33 +00:00
parent 91b9fed6e3
commit 397c92b0df
2 changed files with 10 additions and 16 deletions

View File

@ -886,8 +886,8 @@
525,1000,1000,0,0,0 525,1000,1000,0,0,0
//-- NJ_ZENYNAGE //-- NJ_ZENYNAGE
526,0,5000,0,0,0 526,0,5000,0,0,0
//-- NJ_TATAMIGAESHI // Duration1 is land-effect & range-inmunity effect. Duration2 is skill_attack duration (minimal value) //-- NJ_TATAMIGAESHI // Duration1 is land-effect, Duration2 is range-inmunity effect.
527,0,3000,0,3000,200 527,0,3000,0,3000,3000
//-- NJ_KASUMIKIRI // Delay unknown (if there is one) //-- NJ_KASUMIKIRI // Delay unknown (if there is one)
528,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0 528,0,0,0,30000:60000:90000:120000:150000:180000:210000:240000:270000:300000,0
//-- NJ_SHADOWJUMP // Delay unknown (if there is one) //-- NJ_SHADOWJUMP // Delay unknown (if there is one)

View File

@ -6243,7 +6243,7 @@ int skill_castend_pos2 (struct block_list *src, int x, int y, int skillid, int s
} }
break; break;
case NJ_TATAMIGAESHI: 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); skill_unitsetting(src,skillid,skilllv,src->x,src->y,0);
break; 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); 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) if (!group->alive_count)
{ //No cells? Something that was blocked completely by Land Protector? { //No cells? Something that was blocked completely by Land Protector?
skill_delunitgroup(src, group); 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: 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: case UNT_DEMONSTRATION:
skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0); skill_attack(BF_WEAPON,ss,&src->bl,bl,sg->skill_id,sg->skill_lv,tick,0);
break; break;