- 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:
parent
91b9fed6e3
commit
397c92b0df
@ -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)
|
||||||
|
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user