Bueno, no entraremos en controversias, para comenzar, después de la implementación de los Battle Grounds en el emulador, se decidió cambiar el tipo de ataque que los mobs tendrían, entiéndanse sus atribuciones en las armas dando origen a que las armas ya no fueran neutrales en los mobs si no que estas no tuvieran un elemento… ¿curioso no?, es por eso que los ataques se atribuían a un elemento ¿null?, y no te podías proteger ni por reducción, ni por cartas elementales.
Mi primera teoría: Los mobs habían cambiado el ataque de acuerdo al tipo elemento que era, teóricamente estaba equivocado eso no podía ser, puesto que después de hacer una primera prueba con 110% (una manteu) a todos los elementos aun me seguían pegando.
Entonces ¿qué rayos pasa?, siguiendo con el manteu a 110% y me seguían pegando, hasta que Eureka se me ocurre llamar a un Seyren haciendo que me persiguiera.

¿Por qué el Spiral Pirce del Seyren me curaba?, entonces me formule, algo ha de estar cambiado. Obvio no xD… después de 150 muertes aproximadamente.
Empecé a revisar línea a línea cada parte del código del emulador (debido a que el SVN esta caído y se me hace más fácil poder comparar ahí), y Eureka de nuevo, encontré algo que me llamo la atención.
//forced neutral for monsters
¿Y que sucede con lo otro?, empecé a trabajar en el archivo battle.c buscando este pedazo de código.
if (!skill_num && tstatus->flee2 && rand()%1000 < tstatus->flee2)
{ //Check for Lucky Dodge
wd.type=0x0b;
wd.dmg_lv=ATK_LUCKY;
if (wd.div_ < 0) wd.div_*=-1;
return wd;
}
t_class = status_get_class(target);
s_ele = s_ele_ = skill_get_ele(skill_num, skill_lv);
if (!skill_num || s_ele == -1) { //Take weapon's element
s_ele = sstatus->rhw.ele;
s_ele_ = sstatus->lhw.ele;
if (flag.arrow && sd && sd->arrow_ele)
s_ele = sd->arrow_ele;
if (battle_config.attack_attr_none&src->type)
nk|=NK_NO_ELEFIX; //Weapon's element is "not elemental"
} else if (s_ele == -2) { //Use enchantment's element
s_ele = s_ele_ = status_get_attack_sc_element(src,sc);
}
Como podemos ver ahí encontramos la atribución a este post //Element is not elemental, o sea que a partir de esas implementación el ataque de las armas en mob no tiene ningún elemento. ¿Pareciera?
Bueno si tu servidor es elemental, con equipo de 4 slots y tus usuarios ya se acostumbraron a “subir de nivel” de esta forma sin que los mobs los maten, editamos la siguiente línea:
nk|=NK_NO_ELEFIX; //Weapon's element is "not elemental"
De la siguiente manera:
nk &= ~NK_NO_ELEFIX;
De tal forma que la nueva versión del código es:
if (!skill_num && tstatus->flee2 && rand()%1000 < tstatus->flee2)
{ //Check for Lucky Dodge
wd.type=0x0b;
wd.dmg_lv=ATK_LUCKY;
if (wd.div_ < 0) wd.div_*=-1;
return wd;
}
t_class = status_get_class(target);
s_ele = s_ele_ = skill_get_ele(skill_num, skill_lv);
if (!skill_num || s_ele == -1) { //Take weapon's element
s_ele = sstatus->rhw.ele;
s_ele_ = sstatus->lhw.ele;
if (flag.arrow && sd && sd->arrow_ele)
s_ele = sd->arrow_ele;
if (battle_config.attack_attr_none&src->type)
// Remmi Atribution Change
nk &= ~NK_NO_ELEFIX; // Forced neutral for monster by Remmi Change
} else if (s_ele == -2) { //Use enchantment's element
s_ele = s_ele_ = status_get_attack_sc_element(src,sc);
}
Y ahora todo regresa a la normalidad, con mobs que nos curan si tenemos protección o inhumanidad a un elemento.

Recuerda que este es un cambio de eAthena y de Gravity, por favor considera las atribuciones a las modificaciones, una motivación o felicitación no esta de más y no te hagas del derecho del código, y si algún servidor elemental de los que actualmente conozco les dice que fue invención de ellos lo de los mobs con ataque Null no es cierto >.<.
Posdata: Gracias Geraldine por ayudarme a testear el código cambiado ^^
