Beim Jäger gibt es den Spell Camouflage.
Den hab ich halbwegs gefixt.
Aber Problem besteht noch dass wenn die nutzzeit abgelaufen ist, man dann noch immer unsichtbar ist. Die sollte sich nach ende des Spells aufheben..
Ich hab schon alles versucht aber hab es nicht hinbekommen....
Wäre nett wenn mir jemand helfen könnte.
Jetztiger Script
P.S Pet sollte auch unsichtbar werden, doch leider klappt das nicht!
Code:
void AuraEffect::HandleModCamouflage (AuraApplication const *aurApp, uint8 mode, bool apply) const
{
if (!(mode & AURA_EFFECT_HANDLE_SEND_FOR_CLIENT_MASK))
return;
Unit *target = aurApp->GetTarget();
Pet* pet = target->CreateTamedPetFrom(HUNTER_PET, 0);
AuraRemoveMode removeMode = aurApp->GetRemoveMode();
if (apply)
{
target->CastSpell(target, 80326, true);
pet->HasAura(80326);
}
if (!(mode && target->isCamouflaged()))
{
target->RemoveAura(80326);
}
else if (!(target->isCamouflaged()))
// apply & remove
switch (GetId())
{
target->RemoveAura(80326);
target->RemoveAura(80325);
// Hunter's Camouflage
case 51755:
{
if (apply)
target->CastSpell(target,80326,true);
else
if (Unit* owner = target->GetCharmerOrOwner())
owner->RemoveAura(51755);
target->RemoveAura(80326);
target->RemoveAura(80325);
break;
}
}
if (aurApp->GetRemoveMode() == AURA_REMOVE_BY_DEATH)
{
target->RemoveAura(80326);
}
if (!(target->isCamouflaged()))
{
target->RemoveAura(80326);
target->RemoveAura(80325);
}
if (target->isAttackingPlayer())
{
target->RemoveAura(80326);
target->RemoveAura(80325);
}
else
{
target->CastSpell(target, 80326, true);
pet->HasAura(80326);
}
if (target->isInCombat())
{
target->RemoveAura(80326);
target->RemoveAura(80325);
}
else
{
target->CastSpell(target, 80326, true);
pet->HasAura(80326);
}
target->UpdateObjectVisibility();
}






