Scripts/Eye of Eternity: Fix vehicle crashes

* I tought if a spell would hit all targets on map then the force cast would be cast for each, apparently I was wrong since it had unlimited implicit targets.
* Remove a condition with target mask players since there is a attribute that takes care of that.

Closes #9365
This commit is contained in:
Trista
2013-03-07 04:53:51 +02:00
parent 8ef1bda36b
commit 8993eef723
2 changed files with 11 additions and 8 deletions

View File

@@ -0,0 +1,2 @@
-- Delete condition that is already covered by spell attribute
DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=58846;

View File

@@ -19,9 +19,13 @@
SDName: Boss Malygos
Script Data End */
/* Add support for using Exit Portal while on drake and find why at 100 Z ground
falling creature/player bodies aren't stopped (when players reach it should die).
Also there is release button unavailability sometimes not sure why. */
/* Main problems needing most attention:
1) Add support for using Exit Portal while on drake which means to
find seat flag that allows casting on passenger or something that
will prevent valid target filtering.
2) Find what cause client not sending release now availability
if player dies after far falling. For now player needs to logout to get body after
if release button remain unavailable after box popping.*/
#include "ScriptMgr.h"
#include "ScriptedCreature.h"
@@ -2174,9 +2178,7 @@ class spell_alexstrasza_bunny_destroy_platform_boom_visual : public SpellScriptL
void HandleDummy(SpellEffIndex /*effIndex*/)
{
if (Creature* target = GetHitCreature())
{
target->CastSpell(target, SPELL_DESTROY_PLATFORM_EVENT);
}
}
void Register()
@@ -2215,14 +2217,13 @@ class spell_alexstrasza_bunny_destroy_platform_event : public SpellScriptLoader
void HandleScript(SpellEffIndex /*effIndex*/)
{
Creature* caster = GetCaster()->ToCreature();
caster->CastSpell(caster, SPELL_SUMMON_RED_DRAGON_BUDDY_F_CAST, true);
GetCaster()->CastSpell((Unit*)NULL, SPELL_SUMMON_RED_DRAGON_BUDDY_F_CAST);
}
void Register()
{
OnEffectHit += SpellEffectFn(spell_alexstrasza_bunny_destroy_platform_event_SpellScript::HandleSendEvent, EFFECT_0, SPELL_EFFECT_SEND_EVENT);
OnEffectHitTarget += SpellEffectFn(spell_alexstrasza_bunny_destroy_platform_event_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
OnEffectHit += SpellEffectFn(spell_alexstrasza_bunny_destroy_platform_event_SpellScript::HandleScript, EFFECT_2, SPELL_EFFECT_SCRIPT_EFFECT);
}
};