Charm seems to be working in the latest build of march 2016, but previous build I had this was still broken. For anybody with older builds this is how I fixed charm
client_packet.cpp
Code:
case PET_GETLOST: {
if (mypet->Charmed())
break;
if (mypet->GetPetType() == petCharmed || !mypet->IsNPC()) {
// eqlive ignores this command
// we could just remove the charm
// and continue
// mypet->BuffFadeByEffect(SE_Charm);
break;
}
else {
SetPet(nullptr);
}
attack.cpp
Code:
/*
#2: figure out things that affect the player dying and mark them dead
*/
InterruptSpell();
SetPet(0);
SetHorseId(0);
dead = true;
if(GetMerc()) {
GetMerc()->Suspend();
}
if (GetPetType() == petCharmed) { #Added Pet break and wipe on death
BuffFadeByEffect(SE_Charm);
WipeHateList();
SetTarget(nullptr);
}