diff options
author | Teleqraph <nyrdeveloper@gmail.com> | 2023-04-23 16:49:01 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-23 16:49:01 +0200 |
commit | c7ff9a9083fdb5aab1fe54b16ffd84851f99424d (patch) | |
tree | 992cbad112412a88c282fb3bb70367c405bfd42c /src/server/game | |
parent | 26950594f6b90b8de81d6043cbe78759c7185e28 (diff) |
Scripts/Spells: Implement Summon Sayaad (#28907)
Co-authored-by: ModoX <moardox@gmail.com>
Diffstat (limited to 'src/server/game')
-rw-r--r-- | src/server/game/Entities/Creature/TemporarySummon.h | 4 | ||||
-rw-r--r-- | src/server/game/Entities/Pet/Pet.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Pet/PetDefines.h | 1 | ||||
-rw-r--r-- | src/server/game/Spells/Spell.cpp | 2 |
4 files changed, 6 insertions, 3 deletions
diff --git a/src/server/game/Entities/Creature/TemporarySummon.h b/src/server/game/Entities/Creature/TemporarySummon.h index 27dfea28506..4b0778ff796 100644 --- a/src/server/game/Entities/Creature/TemporarySummon.h +++ b/src/server/game/Entities/Creature/TemporarySummon.h @@ -29,6 +29,7 @@ enum PetEntry PET_SUCCUBUS = 1863, PET_DOOMGUARD = 18540, PET_FELGUARD = 30146, + PET_INCUBUS = 184600, // Death Knight pets PET_GHOUL = 26125, @@ -94,9 +95,10 @@ class TC_GAME_API Minion : public TempSummon bool IsPetImp() const { return GetEntry() == PET_IMP; } bool IsPetFelhunter() const { return GetEntry() == PET_FEL_HUNTER; } bool IsPetVoidwalker() const { return GetEntry() == PET_VOID_WALKER; } - bool IsPetSuccubus() const { return GetEntry() == PET_SUCCUBUS; } + bool IsPetSayaad() const { return GetEntry() == PET_SUCCUBUS || GetEntry() == PET_INCUBUS; } bool IsPetDoomguard() const { return GetEntry() == PET_DOOMGUARD; } bool IsPetFelguard() const { return GetEntry() == PET_FELGUARD; } + bool IsWarlockPet() const { return IsPetImp() || IsPetFelhunter() || IsPetVoidwalker() || IsPetSayaad() || IsPetDoomguard() || IsPetFelguard(); } // Death Knight pets bool IsPetGhoul() const { return GetEntry() == PET_GHOUL; } // Ghoul may be guardian or pet diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index 10283386cc6..e95740ea408 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -931,7 +931,7 @@ bool Guardian::InitStatsForLevel(uint8 petlevel) SetPowerType(POWER_ENERGY); SetFullPower(POWER_ENERGY); } - else if (IsPetImp() || IsPetFelhunter() || IsPetVoidwalker() || IsPetSuccubus() || IsPetDoomguard() || IsPetFelguard()) // Warlock pets have energy (since 5.x) + else if (IsWarlockPet()) // Warlock pets have energy (since 5.x) SetPowerType(POWER_ENERGY); else SetPowerType(POWER_MANA); diff --git a/src/server/game/Entities/Pet/PetDefines.h b/src/server/game/Entities/Pet/PetDefines.h index 0b1048e79d0..607efbf59df 100644 --- a/src/server/game/Entities/Pet/PetDefines.h +++ b/src/server/game/Entities/Pet/PetDefines.h @@ -111,6 +111,7 @@ enum class PetTameResult : uint8 }; constexpr uint32 CALL_PET_SPELL_ID = 883; +constexpr uint32 PET_SUMMONING_DISORIENTATION = 32752; class PetStable { diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp index f13171af2df..77d5cf5e449 100644 --- a/src/server/game/Spells/Spell.cpp +++ b/src/server/game/Spells/Spell.cpp @@ -6174,7 +6174,7 @@ SpellCastResult Spell::CheckCast(bool strict, int32* param1 /*= nullptr*/, int32 { if (strict) //starting cast, trigger pet stun (cast by pet so it doesn't attack player) if (Pet* pet = unitCaster->ToPlayer()->GetPet()) - pet->CastSpell(pet, 32752, CastSpellExtraArgs(TRIGGERED_FULL_MASK) + pet->CastSpell(pet, PET_SUMMONING_DISORIENTATION, CastSpellExtraArgs(TRIGGERED_FULL_MASK) .SetOriginalCaster(pet->GetGUID()) .SetTriggeringSpell(this)); } |