[Spells] Updated pet suspend code to use spell effect data and bonuses (#1501)

This commit is contained in:
KayenEQ
2021-08-31 01:35:18 -04:00
committed by GitHub
parent 3b01608a71
commit 5f3c054044
7 changed files with 28 additions and 18 deletions
+13 -11
View File
@@ -5596,18 +5596,20 @@ void Client::AddLDoNWin(uint32 theme_id)
}
void Client::SuspendMinion()
void Client::SuspendMinion(int value)
{
/*
SPA 151 Allows an extra pet to be saved and resummoned later.
Casting with a pet but without a suspended pet will suspend the pet
Casting without a pet and with a suspended pet will unsuspend the pet
effect value 0 = save pet with no buffs or equipment
effect value 1 = save pet with buffs and equipment
effect value 2 = unknown
Note: SPA 308 allows for suspended pets to be resummoned after zoning.
*/
NPC *CurrentPet = GetPet()->CastToNPC();
int AALevel = GetAA(aaSuspendedMinion);
if(AALevel == 0)
return;
if(GetLevel() < 62)
return;
if(!CurrentPet)
{
if(m_suspendedminion.SpellID > 0)
@@ -5629,7 +5631,7 @@ void Client::SuspendMinion()
return;
}
if(AALevel >= 2)
if(value >= 1)
{
CurrentPet->SetPetState(m_suspendedminion.Buffs, m_suspendedminion.Items);
@@ -5698,7 +5700,7 @@ void Client::SuspendMinion()
m_suspendedminion.petpower = CurrentPet->GetPetPower();
m_suspendedminion.size = CurrentPet->GetSize();
if(AALevel >= 2)
if(value >= 1)
CurrentPet->GetPetState(m_suspendedminion.Buffs, m_suspendedminion.Items, m_suspendedminion.Name);
else
strn0cpy(m_suspendedminion.Name, CurrentPet->GetName(), 64); // Name stays even at rank 1