diff --git a/zone/aa.cpp b/zone/aa.cpp index 2fb99a6fb..664a2c375 100644 --- a/zone/aa.cpp +++ b/zone/aa.cpp @@ -46,8 +46,20 @@ void Mob::TemporaryPets(uint16 spell_id, Mob *targ, const char *name_override, u if (targ != nullptr && targ->IsCorpse()) return; + // yep, even these need pet power! + int act_power = 0; + + if (IsClient()) { + act_power = CastToClient()->GetFocusEffect(focusPetPower, spell_id); + act_power = CastToClient()->mod_pet_power(act_power, spell_id); + } +#ifdef BOTS + else if (this->IsBot()) + act_power = CastToBot()->GetBotFocusEffect(Bot::BotfocusPetPower, spell_id); +#endif + PetRecord record; - if (!database.GetPetEntry(spells[spell_id].teleport_zone, &record)) + if (!database.GetPoweredPetEntry(spells[spell_id].teleport_zone, act_power, &record)) { Log(Logs::General, Logs::Error, "Unknown swarm pet spell id: %d, check pets table", spell_id); Message(13, "Unable to find data for pet %s", spells[spell_id].teleport_zone);