Fiberlock now can trap multiple enemies on the same cell and its triggering area was reduced to 1x1.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13792 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
47f91b6387
commit
dbb4774882
@ -5,6 +5,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||
|
||||
09/05/19
|
||||
* 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]
|
||||
09/05/18
|
||||
* Item-bonuses now use the official default durations for status changes [Playtester]
|
||||
* status calc code cleanup [ultramage]
|
||||
|
@ -81,7 +81,7 @@
|
||||
369,0xb3, , -1, 0,10000,all, 0x008 //PA_GOSPEL
|
||||
395,0xb5, , 4, 0, -1,all, 0x200 //CG_MOONLIT
|
||||
404,0xb6, , -1, 0, -1,all, 0x000 //PF_FOGWALL
|
||||
405,0xb7, , 0, 1,1000,enemy, 0x000 //PF_SPIDERWEB
|
||||
405,0xb7, , 0, 0,1000,enemy, 0x000 //PF_SPIDERWEB
|
||||
409,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLBABY
|
||||
410,0xb2, , 0,-1, -1,noone, 0x000 //WE_CALLPARENT
|
||||
428,0x86, , 0, 1, 100,enemy, 0x000 //SG_SUN_WARM
|
||||
|
@ -7162,8 +7162,9 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
|
||||
|
||||
if (sg->interval == -1) {
|
||||
switch (sg->unit_id) {
|
||||
case UNT_SPIDERWEB: // The 'interval' value was set to -1 so that the unit wouldn't trigger in the next interval,
|
||||
break; // but FiberLock can trap multiple targets on the same cell. [Inkfish]
|
||||
case UNT_ANKLESNARE: //These happen when a trap is splash-triggered by multiple targets on the same cell.
|
||||
case UNT_SPIDERWEB:
|
||||
case UNT_FIREPILLAR_ACTIVE:
|
||||
return 0;
|
||||
default:
|
||||
@ -7337,18 +7338,22 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
|
||||
|
||||
case UNT_SPIDERWEB:
|
||||
case UNT_ANKLESNARE:
|
||||
if(sg->val2==0 && tsc){
|
||||
if( ( sg->val2 == 0 || sg->unit_id == UNT_SPIDERWEB ) && tsc )
|
||||
{
|
||||
int sec = skill_get_time2(sg->skill_id,sg->skill_lv);
|
||||
if (status_change_start(bl,type,10000,sg->skill_lv,sg->group_id,0,0,sec, 8))
|
||||
if( status_change_start(bl,type,10000,sg->skill_lv,sg->group_id,0,0,sec, 8) )
|
||||
{
|
||||
const struct TimerData* td = tsc->data[type]?get_timer(tsc->data[type]->timer):NULL;
|
||||
if (td) sec = DIFF_TICK(td->tick, tick);
|
||||
const struct TimerData* td = tsc->data[type]?get_timer(tsc->data[type]->timer):NULL;
|
||||
if( td )
|
||||
sec = DIFF_TICK(td->tick, tick);
|
||||
map_moveblock(bl, src->bl.x, src->bl.y, tick);
|
||||
clif_fixpos(bl);
|
||||
sg->val2=bl->id;
|
||||
} else
|
||||
sg->val2 = bl->id;
|
||||
}
|
||||
else
|
||||
sec = 3000; //Couldn't trap it?
|
||||
if( sg->unit_id == UNT_ANKLESNARE ) clif_01ac(&src->bl); // mysterious packet
|
||||
if( sg->unit_id == UNT_ANKLESNARE )
|
||||
clif_01ac(&src->bl); // mysterious packet
|
||||
sg->limit = DIFF_TICK(tick,sg->tick)+sec;
|
||||
sg->interval = -1;
|
||||
src->range = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user