Core/Player: Allow questgiver, if npc, to cast quest RewSpellCast & RewSpell rather than player.
This commit is contained in:
1 parent
d7c0fe9fc3
commit
6ba4d70b5c
1 file changed
+18
-2
@@ -15301,9 +15301,25 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
|
||||
|
||||
// cast spells after mark quest complete (some spells have quest completed state requirements in spell_area data)
|
||||
if (quest->GetRewSpellCast() > 0)
|
||||
CastSpell(this, quest->GetRewSpellCast(), true);
|
||||
{
|
||||
if (questGiver->isType(TYPEMASK_UNIT))
|
||||
{
|
||||
if (Creature* creature = GetMap()->GetCreature(questGiver->GetGUID()))
|
||||
creature->CastSpell(this, quest->GetRewSpellCast(), true);
|
||||
}
|
||||
else
|
||||
CastSpell(this, quest->GetRewSpellCast(), true);
|
||||
}
|
||||
else if (quest->GetRewSpell() > 0)
|
||||
CastSpell(this, quest->GetRewSpell(), true);
|
||||
{
|
||||
if (questGiver->isType(TYPEMASK_UNIT))
|
||||
{
|
||||
if (Creature* creature = GetMap()->GetCreature(questGiver->GetGUID()))
|
||||
creature->CastSpell(this, quest->GetRewSpell(), true);
|
||||
}
|
||||
else
|
||||
CastSpell(this, quest->GetRewSpell(), true);
|
||||
}
|
||||
|
||||
if (quest->GetZoneOrSort() > 0)
|
||||
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_COMPLETE_QUESTS_IN_ZONE, quest->GetZoneOrSort());
|
||||
|
||||
Reference in new issue
Block a user