1196 {
1198 return;
1199
1201 if (!instance)
1202 return;
1203
1205
1207 {
1209 {
1210 if (
Aura* oldPlague =
GetCaster()->GetAura(plagueId, professor->GetGUID()))
1211 {
1212 if (
Aura* newPlague = professor->AddAura(plagueId,
GetHitUnit()))
1213 {
1214 newPlague->SetMaxDuration(oldPlague->GetMaxDuration());
1215 newPlague->SetDuration(oldPlague->GetDuration());
1216 oldPlague->Remove();
1221 }
1222 }
1223 }
1224 }
1225 }
std::uint32_t uint32
Definition Define.h:107
@ SPELL_UNBOUND_PLAGUE_PROTECTION
Definition boss_professor_putricide.cpp:80
@ SPELL_PLAGUE_SICKNESS
Definition boss_professor_putricide.cpp:79
Definition SpellAuras.h:87
Definition InstanceScript.h:143
ObjectGuid GetGuidData(uint32 type) const override
Definition InstanceScript.cpp:111
Unit * GetHitUnit()
Definition SpellScript.cpp:448
SpellCastResult CastSpell(SpellCastTargets const &targets, SpellInfo const *spellInfo, CustomSpellValues const *value, TriggerCastFlags triggerFlags=TRIGGERED_NONE, Item *castItem=nullptr, AuraEffect const *triggeredByAura=nullptr, ObjectGuid originalCaster=ObjectGuid::Empty)
Definition Unit.cpp:1389
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition Unit.cpp:5189
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1238
@ DATA_PROFESSOR_PUTRICIDE
Definition icecrown_citadel.h:92
Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:210