1248 {
1250 return;
1251
1253 if (!instance)
1254 return;
1255
1257
1259 {
1261 {
1262 if (
Aura* oldPlague =
GetCaster()->GetAura(plagueId, professor->GetGUID()))
1263 {
1264 if (
Aura* newPlague = professor->AddAura(plagueId,
GetHitUnit()))
1265 {
1266 newPlague->SetMaxDuration(oldPlague->GetMaxDuration());
1267 newPlague->SetDuration(oldPlague->GetDuration());
1268 oldPlague->Remove();
1273 }
1274 }
1275 }
1276 }
1277 }
std::uint32_t uint32
Definition Define.h:107
@ SPELL_UNBOUND_PLAGUE_PROTECTION
Definition boss_professor_putricide.cpp:81
@ SPELL_PLAGUE_SICKNESS
Definition boss_professor_putricide.cpp:80
Definition SpellAuras.h:88
Definition InstanceScript.h:143
ObjectGuid GetGuidData(uint32 type) const override
Definition InstanceScript.cpp:121
Unit * GetHitUnit()
Definition SpellScript.cpp:453
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:1378
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition Unit.cpp:4969
InstanceScript * GetInstanceScript() const
Definition Object.cpp:1247
@ DATA_PROFESSOR_PUTRICIDE
Definition icecrown_citadel.h:95
Creature * GetCreature(WorldObject const &u, ObjectGuid const &guid)
Definition ObjectAccessor.cpp:234