1189 {
1191 return;
1192
1194 if (!instance)
1195 return;
1196
1198
1200 {
1202 {
1203 if (
Aura* oldPlague =
GetCaster()->GetAura(plagueId, professor->GetGUID()))
1204 {
1205 if (
Aura* newPlague = professor->AddAura(plagueId,
GetHitUnit()))
1206 {
1207 newPlague->SetMaxDuration(oldPlague->GetMaxDuration());
1208 newPlague->SetDuration(oldPlague->GetDuration());
1209 oldPlague->Remove();
1214 }
1215 }
1216 }
1217 }
1218 }
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
@ DATA_PROFESSOR_PUTRICIDE
Definition: icecrown_citadel.h:97
Creature * GetCreature(WorldObject const &u, ObjectGuid const guid)
Definition: ObjectAccessor.cpp:213
Definition: Creature.h:46
InstanceScript * GetInstanceScript() const
Definition: Object.cpp:1192
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:1167
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: Unit.cpp:4890
Definition: InstanceScript.h:142
ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:95
Definition: SpellAuras.h:87
Unit * GetHitUnit()
Definition: SpellScript.cpp:448