Scripts/Uldum: ported db updates for "Dirty Birds"

* added generic spell script to correctly filter targets for launch quest spells
* added launch quest spell to Mangy Hyjenas
This commit is contained in:
Ovahlord committed 2019-05-18 04:49:11 +02:00
1 parent 340a901ec0
commit 506011cda6
2 files changed
+68 -1

No files matched your search

+39 -1
View File
@@ -4937,6 +4937,44 @@ class spell_gen_reverse_cast_ride_vehicle : public SpellScript
}
};
class GroupMemberCheck
{
public:
GroupMemberCheck(Player* player) : _player(player) { }
bool operator()(WorldObject* object)
{
if (Player* player = object->ToPlayer())
return !player->IsInSameGroupWith(_player);
return false;
}
private:
Player* _player;
};
class spell_gen_launch_quest : public SpellScript
{
PrepareSpellScript(spell_gen_launch_quest);
bool Load() override
{
return GetCaster()->GetTypeId() == TYPEID_UNIT;
}
void FilterTargets(std::list<WorldObject*>& targets)
{
if (targets.size() > 1)
if (Player* player = GetCaster()->ToCreature()->GetLootRecipient())
targets.remove_if(GroupMemberCheck(player));
}
void Register() override
{
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_gen_launch_quest::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
void AddSC_generic_spell_scripts()
{
new spell_gen_absorb0_hitlimit1();
@@ -5050,5 +5088,5 @@ void AddSC_generic_spell_scripts()
RegisterSpellScript(spell_gen_revserse_cast_mirror_image);
RegisterSpellScript(spell_gen_mirror_image_aura);
RegisterSpellScript(spell_gen_reverse_cast_ride_vehicle);
RegisterSpellScript(spell_gen_launch_quest);
}