Fixed ancient MvP dmotion/walkdelay/hitlock exploit, bugreport:1851
-- The fix on this commit works thanks to a previous commit i did weeks ago to fix other mob walk delay bug git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15330 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
6e0b7ee4c0
commit
ea2417cc0f
@ -4563,8 +4563,10 @@ static unsigned short status_calc_dmotion(struct block_list *bl, struct status_c
|
||||
{
|
||||
if( !sc || !sc->count || map_flag_gvg(bl->m) || map[bl->m].flag.battleground )
|
||||
return cap_value(dmotion,0,USHRT_MAX);
|
||||
|
||||
if( sc->data[SC_ENDURE] )
|
||||
/**
|
||||
* It has been confirmed on official servers that MvP mobs have no dmotion even without endure
|
||||
**/
|
||||
if( sc->data[SC_ENDURE] || ( bl->type == BL_MOB && (((TBL_MOB*)bl)->status.mode&MD_BOSS) ) )
|
||||
return 0;
|
||||
if( sc->data[SC_CONCENTRATION] )
|
||||
return 0;
|
||||
|
@ -962,6 +962,12 @@ int unit_set_walkdelay(struct block_list *bl, unsigned int tick, int delay, int
|
||||
struct unit_data *ud = unit_bl2ud(bl);
|
||||
if (delay <= 0 || !ud) return 0;
|
||||
|
||||
/**
|
||||
* MvP mobs have no walk delay
|
||||
**/
|
||||
if( bl->type == BL_MOB && (((TBL_MOB*)bl)->status.mode&MD_BOSS) )
|
||||
return 0;
|
||||
|
||||
if (type) {
|
||||
if (DIFF_TICK(ud->canmove_tick, tick+delay) > 0)
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user