Scripts/Spells: Dimensional Ripper - Everlook
Port From (https://github.com/TrinityCore/TrinityCore/commit/b8d675eba761a5616c7d69a78851ea61af61f4f6)
This commit is contained in:
@@ -576,24 +576,6 @@ namespace Game.Spells
|
|||||||
Log.outError(LogFilter.Spells, "Spell.EffectTeleportUnits - spellId {0} attempted to teleport creature to a different map.", m_spellInfo.Id);
|
Log.outError(LogFilter.Spells, "Spell.EffectTeleportUnits - spellId {0} attempted to teleport creature to a different map.", m_spellInfo.Id);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// post effects for TARGET_DEST_DB
|
|
||||||
switch (m_spellInfo.Id)
|
|
||||||
{
|
|
||||||
// Dimensional Ripper - Everlook
|
|
||||||
case 23442:
|
|
||||||
{
|
|
||||||
int r = RandomHelper.IRand(0, 119);
|
|
||||||
if (r >= 70) // 7/12 success
|
|
||||||
{
|
|
||||||
if (r < 100) // 4/12 evil twin
|
|
||||||
m_caster.CastSpell(m_caster, 23445, new CastSpellExtraArgs(TriggerCastFlags.FullMask).SetOriginalCastId(m_castId));
|
|
||||||
else // 1/12 fire
|
|
||||||
m_caster.CastSpell(m_caster, 23449, new CastSpellExtraArgs(TriggerCastFlags.FullMask).SetOriginalCastId(m_castId));
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[SpellEffectHandler(SpellEffectName.TeleportWithSpellVisualKitLoadingScreen)]
|
[SpellEffectHandler(SpellEffectName.TeleportWithSpellVisualKitLoadingScreen)]
|
||||||
|
|||||||
@@ -173,6 +173,7 @@ namespace Scripts.Spells.Items
|
|||||||
|
|
||||||
// TransporterSpells
|
// TransporterSpells
|
||||||
public const uint EvilTwin = 23445;
|
public const uint EvilTwin = 23445;
|
||||||
|
public const uint TransporterMalfunctionFire = 23449;
|
||||||
public const uint TransporterMalfunctionSmaller = 36893;
|
public const uint TransporterMalfunctionSmaller = 36893;
|
||||||
public const uint TransporterMalfunctionBigger = 36895;
|
public const uint TransporterMalfunctionBigger = 36895;
|
||||||
public const uint TransporterMalfunctionChicken = 36940;
|
public const uint TransporterMalfunctionChicken = 36940;
|
||||||
@@ -1801,6 +1802,39 @@ namespace Scripts.Spells.Items
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Script] // 23442 - Dimensional Ripper - Everlook
|
||||||
|
class spell_item_dimensional_ripper_everlook : SpellScript
|
||||||
|
{
|
||||||
|
public override bool Validate(SpellInfo spellInfo)
|
||||||
|
{
|
||||||
|
return ValidateSpellInfo(SpellIds.TransporterMalfunctionFire, SpellIds.EvilTwin);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool Load()
|
||||||
|
{
|
||||||
|
return GetCaster().IsPlayer();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleScript(uint effIndex)
|
||||||
|
{
|
||||||
|
int r = RandomHelper.IRand(0, 119);
|
||||||
|
if (r <= 70) // 7/12 success
|
||||||
|
return;
|
||||||
|
|
||||||
|
Unit caster = GetCaster();
|
||||||
|
|
||||||
|
if (r < 100) // 4/12 evil twin
|
||||||
|
caster.CastSpell(caster, SpellIds.EvilTwin, true);
|
||||||
|
else // 1/12 fire
|
||||||
|
caster.CastSpell(caster, SpellIds.TransporterMalfunctionFire, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.TeleportUnits));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Script] // 36941 - Ultrasafe Transporter: Toshley's Station
|
[Script] // 36941 - Ultrasafe Transporter: Toshley's Station
|
||||||
class spell_item_ultrasafe_transporter : SpellScript
|
class spell_item_ultrasafe_transporter : SpellScript
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -0,0 +1,2 @@
|
|||||||
|
DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_item_dimensional_ripper_everlook';
|
||||||
|
INSERT INTO `spell_script_names` VALUES (23442,'spell_item_dimensional_ripper_everlook');
|
||||||
Reference in New Issue
Block a user