Vaya, fallo mío. Llegué a entender y a buscar precisamente lo que no querías, que se pudiera congelar la mob de thor dungeon y mantener el efecto endure (cosa de los días en que haces las cosas al revés). He editado mi respuesta anterior para reflejarlo. Mis disculpas.
Ahora sí que sí, lo que buscas es la siguiente función, dentro de
src/map/status.c, (
línea 5684 en la última versión contando a la fecha de publicación del post)
unsigned short status_calc_dmotion(struct block_list *bl, struct status_change *sc, int dmotion) {
La función entera sin modificar está así:
unsigned short status_calc_dmotion(struct block_list *bl, struct status_change *sc, int dmotion) { // It has been confirmed on official servers that MvP mobs have no dmotion even without endure if( bl->type == BL_MOB && (((TBL_MOB*)bl)->status.mode&MD_BOSS) ) return 0; if( !sc || !sc->count || map_flag_gvg2(bl->m) || map->list[bl->m].flag.battleground ) return cap_value(dmotion,0,USHRT_MAX); if( sc->data[SC_ENDURE] ) return 0; if( sc->data[SC_RUN] || sc->data[SC_WUGDASH] ) return 0; return (unsigned short)cap_value(dmotion,0,USHRT_MAX);}
Si no quieres meterte en muchos problemas yo alteraría la siguiente parte:
// It has been confirmed on official servers that MvP mobs have no dmotion even without endure if( bl->type == BL_MOB && (((TBL_MOB*)bl)->status.mode&MD_BOSS) ) return 0;
Tal que así:
// It has been confirmed on official servers that MvP mobs have no dmotion even without endure if( bl->type == BL_MOB && (((TBL_MOB*)bl)->status.mode&MD_BOSS) ) int mob_id = ((TBL_MOB*)bl)->class_; // Obtiene el mobID de la mob [jaBote] if (mob_id != MOBID_MOB_1 && mob_id != MOBID_MOB_2 && mob_id != MOBID_MOB_3) // Saltar endure permanente para determinados mobs [jaBote|Dakai-RO] return 0;
Deberías te dejo a ti colocar los mob IDs ahí en el código. No lo he probado, pero si no funciona debería estar muy cerca y con un poco de conocimiento o suerte deberías ser capaz de depurar los errores por ti mismo. Ni que decir tiene que esto has de probarlo antes en un entorno de pruebas, pero por si acaso.
Un saludo.