Scripts/Spells: Ultrasafe Transporter: Toshley's Station
Port From (https://github.com/TrinityCore/TrinityCore/commit/996b7c1f0ebb22b424d7406adf88b43143b2ede4)
This commit is contained in:
@@ -593,59 +593,6 @@ namespace Game.Spells
|
||||
}
|
||||
return;
|
||||
}
|
||||
// Ultrasafe Transporter: Toshley's Station
|
||||
case 36941:
|
||||
{
|
||||
if (RandomHelper.randChance(50)) // 50% success
|
||||
{
|
||||
int rand_eff = RandomHelper.IRand(1, 7);
|
||||
switch (rand_eff)
|
||||
{
|
||||
case 1:
|
||||
// soul split - evil
|
||||
m_caster.CastSpell(m_caster, 36900, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 2:
|
||||
// soul split - good
|
||||
m_caster.CastSpell(m_caster, 36901, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 3:
|
||||
// Increase the size
|
||||
m_caster.CastSpell(m_caster, 36895, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 4:
|
||||
// Decrease the size
|
||||
m_caster.CastSpell(m_caster, 36893, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 5:
|
||||
// Transform
|
||||
{
|
||||
if (m_caster.ToPlayer().GetTeam() == Team.Alliance)
|
||||
m_caster.CastSpell(m_caster, 36897, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
else
|
||||
m_caster.CastSpell(m_caster, 36899, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
case 6:
|
||||
// chicken
|
||||
m_caster.CastSpell(m_caster, 36940, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
case 7:
|
||||
// evil twin
|
||||
m_caster.CastSpell(m_caster, 23445, new CastSpellExtraArgs(TriggerCastFlags.FullMask)
|
||||
.SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2756,11 +2703,6 @@ namespace Game.Spells
|
||||
case 45204: // Clone Me!
|
||||
m_caster.CastSpell(unitTarget, (uint)damage, new CastSpellExtraArgs(true));
|
||||
break;
|
||||
case 55693: // Remove Collapsing Cave Aura
|
||||
if (unitTarget == null)
|
||||
return;
|
||||
unitTarget.RemoveAurasDueToSpell((uint)effectInfo.CalcValue());
|
||||
break;
|
||||
// Brittle Armor - need remove one 24575 Brittle Armor aura
|
||||
case 24590:
|
||||
unitTarget.RemoveAuraFromStack(24575);
|
||||
@@ -2848,19 +2790,6 @@ namespace Game.Spells
|
||||
m_originalCaster.CastSpell(m_originalCaster, (uint)damage, new CastSpellExtraArgs(false));
|
||||
break;
|
||||
}
|
||||
// Deathbolt from Thalgran Blightbringer
|
||||
// reflected by Freya's Ward
|
||||
// Retribution by Sevenfold Retribution
|
||||
case 51854:
|
||||
{
|
||||
if (unitTarget == null)
|
||||
return;
|
||||
if (unitTarget.HasAura(51845))
|
||||
unitTarget.CastSpell(m_caster, 51856, new CastSpellExtraArgs(TriggerCastFlags.FullMask).SetOriginalCastId(m_castId));
|
||||
else
|
||||
m_caster.CastSpell(unitTarget, 51855, new CastSpellExtraArgs(TriggerCastFlags.FullMask).SetOriginalCastId(m_castId));
|
||||
break;
|
||||
}
|
||||
// Summon Ghouls On Scarlet Crusade
|
||||
case 51904:
|
||||
{
|
||||
|
||||
@@ -171,8 +171,11 @@ namespace Scripts.Spells.Items
|
||||
public const uint ScrollOfRecallFailAlliance1 = 60323;
|
||||
public const uint ScrollOfRecallFailHorde1 = 60328;
|
||||
|
||||
// DimensionalRipperArea52
|
||||
public const uint TransporterMalfunction = 36895;
|
||||
// TransporterSpells
|
||||
public const uint EvilTwin = 23445;
|
||||
public const uint TransporterMalfunctionSmaller = 36893;
|
||||
public const uint TransporterMalfunctionBigger = 36895;
|
||||
public const uint TransporterMalfunctionChicken = 36940;
|
||||
public const uint TransformHorde = 36897;
|
||||
public const uint TransformAlliance = 36899;
|
||||
public const uint SoulSplitEvil = 36900;
|
||||
@@ -1798,7 +1801,60 @@ namespace Scripts.Spells.Items
|
||||
}
|
||||
}
|
||||
|
||||
[Script]
|
||||
[Script] // 36941 - Ultrasafe Transporter: Toshley's Station
|
||||
class spell_item_ultrasafe_transporter : SpellScript
|
||||
{
|
||||
public override bool Load()
|
||||
{
|
||||
return GetCaster().IsPlayer();
|
||||
}
|
||||
|
||||
void HandleScript(uint effIndex)
|
||||
{
|
||||
if (!RandomHelper.randChance(50)) // 50% success
|
||||
return;
|
||||
|
||||
Unit caster = GetCaster();
|
||||
|
||||
uint spellId = 0;
|
||||
switch (RandomHelper.URand(0, 6))
|
||||
{
|
||||
case 0:
|
||||
spellId = SpellIds.TransporterMalfunctionSmaller;
|
||||
break;
|
||||
case 1:
|
||||
spellId = SpellIds.TransporterMalfunctionBigger;
|
||||
break;
|
||||
case 2:
|
||||
spellId = SpellIds.SoulSplitEvil;
|
||||
break;
|
||||
case 3:
|
||||
spellId = SpellIds.SoulSplitGood;
|
||||
break;
|
||||
case 4:
|
||||
if (caster.ToPlayer().GetTeamId() == TeamId.Alliance)
|
||||
spellId = SpellIds.TransformHorde;
|
||||
else
|
||||
spellId = SpellIds.TransformAlliance;
|
||||
break;
|
||||
case 5:
|
||||
spellId = SpellIds.TransporterMalfunctionChicken;
|
||||
break;
|
||||
case 6:
|
||||
spellId = SpellIds.EvilTwin;
|
||||
break;
|
||||
}
|
||||
|
||||
caster.CastSpell(caster, spellId, true);
|
||||
}
|
||||
|
||||
public override void Register()
|
||||
{
|
||||
OnEffectHitTarget.Add(new EffectHandler(HandleScript, 0, SpellEffectName.TeleportUnits));
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 36890 - Dimensional Ripper - Area 52
|
||||
class spell_item_dimensional_ripper_area52 : SpellScript
|
||||
{
|
||||
public override bool Load()
|
||||
@@ -1817,7 +1873,7 @@ namespace Scripts.Spells.Items
|
||||
switch (RandomHelper.URand(0, 3))
|
||||
{
|
||||
case 0:
|
||||
spellId = SpellIds.TransporterMalfunction;
|
||||
spellId = SpellIds.TransporterMalfunctionBigger;
|
||||
break;
|
||||
case 1:
|
||||
spellId = SpellIds.SoulSplitEvil;
|
||||
|
||||
Reference in New Issue
Block a user