Help with MO_BODYRELOCATION

Tsuuu

New member
Messages
80
Points
0
Emulator
Good morning, can someone help me block the use of the skill BODYRELOCATION when in trap? I tried to make some settings in the functions below but I did not succeed.

skill.c

case MO_BODYRELOCATION:
if (unit->movepos(src, x, y, 1, 1)) {
#if PACKETVER >= 20111005
clif->snap(src, src->x, src->y);
#else
clif->skill_poseffect(src,skill_id,skill_lv,src->x,src->y,tick);
#endif
if (sd)
skill->blockpc_start (sd, MO_EXTREMITYFIST, 1000);
}
break;


Code:
case UNT_SPIDERWEB:
			if( sc && sc->data[SC_SPIDERWEB] && sc->data[SC_SPIDERWEB]->val1 > 0 ) {
				// If you are fiberlocked and can't move, it will only increase your fireweakness level. [Inkfish]
				sc->data[SC_SPIDERWEB]->val2++;
				break;
			} else if (sc && battle->check_target(&src->bl,bl,sg->target_flag) > 0) {
				int sec = skill->get_time2(sg->skill_id,sg->skill_lv);
				if( status->change_start(ss, bl,type,10000,sg->skill_lv,1,sg->group_id,0,sec,SCFLAG_FIXEDRATE) ) {
					const struct TimerData* td = sce?timer->get(sce->timer):NULL;
					if( td )
						sec = DIFF_TICK32(td->tick, tick);
					map->moveblock(bl, src->bl.x, src->bl.y, tick);
					clif->fixpos(bl);
					sg->val2 = bl->id;
				} else {
					sec = 3000; //Couldn't trap it?
				}
				sg->limit = DIFF_TICK32(tick,sg->tick)+sec;
			}
			break;


Thank you in advance ! +1

Please, help me !
default_unsure.png
:unsure:

 
@edit

Can anyone help me at least in a workaround? You can get around with the skill snap even though being trapped in traps is being horrible for my server, please somebody help me evolve, give me at least the direction!

 
yes

yes i can help you

KKc5ndW.png


 
if(sc && sc->data[sC_ANKLESNARE]) {
                clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
                break;
            }

 
if that doesn't work, substitute skill_id for MO_BODYRELOCATION, and if that doesn't work we'll talk
 
keep in mind spiral pierce's root also uses ankle snare's SC effect, meaning they will also be unable to relocate out of spiral pierce's root(which in this case is a good thing for you)
 
Last edited by a moderator:
First of all thank you for trying to help me ...

Unfortunately it did not work, I tried both methods and none worked, I made sure I was using it in the correct location, I ran several tests and none worked.

case MO_BODYRELOCATION:
if(sc && sc->data[SC_ANKLESNARE]) {
clif->skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
break;
}

if( sc && sc->data[SC_EXPLOSIONSPIRITS] )
req.spiritball = 0;
break;


Code:
case MO_BODYRELOCATION:
			if(sc && sc->data[SC_ANKLESNARE]) {
                clif->skill_fail(sd,MO_BODYRELOCATION,USESKILL_FAIL_LEVEL,0);
                break;
            }

			if( sc && sc->data[SC_EXPLOSIONSPIRITS] )
				req.spiritball = 0;
			break;


Thankfully there are people like you, thank you...

 
Last edited by a moderator:
Back
Top