1277 {
1279 return;
1280
1282 if (!instance)
1283 return;
1284
1286
1288 {
1290 {
1291 if (
Aura* oldPlague =
GetCaster()->GetAura(plagueId, professor->GetGUID()))
1292 {
1293 if (
Aura* newPlague = professor->AddAura(plagueId,
GetHitUnit()))
1294 {
1295 newPlague->SetMaxDuration(oldPlague->GetMaxDuration());
1296 newPlague->SetDuration(oldPlague->GetDuration());
1297 oldPlague->Remove();
1302 }
1303 }
1304 }
1305 }
1306 }
std::uint32_t uint32
Definition: Define.h:108
@ 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:100
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:1169
void RemoveAurasDueToSpell(uint32 spellId, ObjectGuid casterGUID=ObjectGuid::Empty, uint8 reqEffMask=0, AuraRemoveMode removeMode=AURA_REMOVE_BY_DEFAULT)
Definition: Unit.cpp:4855
Definition: InstanceScript.h:141
ObjectGuid GetGuidData(uint32 type) const override
Definition: InstanceScript.cpp:94
Definition: SpellAuras.h:87
Unit * GetHitUnit()
Definition: SpellScript.cpp:448