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;
|
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!
|
case 45204: // Clone Me!
|
||||||
m_caster.CastSpell(unitTarget, (uint)damage, new CastSpellExtraArgs(true));
|
m_caster.CastSpell(unitTarget, (uint)damage, new CastSpellExtraArgs(true));
|
||||||
break;
|
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
|
// Brittle Armor - need remove one 24575 Brittle Armor aura
|
||||||
case 24590:
|
case 24590:
|
||||||
unitTarget.RemoveAuraFromStack(24575);
|
unitTarget.RemoveAuraFromStack(24575);
|
||||||
@@ -2848,19 +2790,6 @@ namespace Game.Spells
|
|||||||
m_originalCaster.CastSpell(m_originalCaster, (uint)damage, new CastSpellExtraArgs(false));
|
m_originalCaster.CastSpell(m_originalCaster, (uint)damage, new CastSpellExtraArgs(false));
|
||||||
break;
|
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
|
// Summon Ghouls On Scarlet Crusade
|
||||||
case 51904:
|
case 51904:
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -171,8 +171,11 @@ namespace Scripts.Spells.Items
|
|||||||
public const uint ScrollOfRecallFailAlliance1 = 60323;
|
public const uint ScrollOfRecallFailAlliance1 = 60323;
|
||||||
public const uint ScrollOfRecallFailHorde1 = 60328;
|
public const uint ScrollOfRecallFailHorde1 = 60328;
|
||||||
|
|
||||||
// DimensionalRipperArea52
|
// TransporterSpells
|
||||||
public const uint TransporterMalfunction = 36895;
|
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 TransformHorde = 36897;
|
||||||
public const uint TransformAlliance = 36899;
|
public const uint TransformAlliance = 36899;
|
||||||
public const uint SoulSplitEvil = 36900;
|
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
|
class spell_item_dimensional_ripper_area52 : SpellScript
|
||||||
{
|
{
|
||||||
public override bool Load()
|
public override bool Load()
|
||||||
@@ -1817,7 +1873,7 @@ namespace Scripts.Spells.Items
|
|||||||
switch (RandomHelper.URand(0, 3))
|
switch (RandomHelper.URand(0, 3))
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
spellId = SpellIds.TransporterMalfunction;
|
spellId = SpellIds.TransporterMalfunctionBigger;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
spellId = SpellIds.SoulSplitEvil;
|
spellId = SpellIds.SoulSplitEvil;
|
||||||
|
|||||||
Reference in New Issue
Block a user