[WIP] Gnomish Mind Control Cap and Gnomish Universal Remote
This commit is contained in:
@@ -354,6 +354,15 @@ namespace Scripts.Spells.Items
|
|||||||
//Tauntflag
|
//Tauntflag
|
||||||
public const uint TauntFlag = 51657;
|
public const uint TauntFlag = 51657;
|
||||||
|
|
||||||
|
//MindControlCap
|
||||||
|
public const uint GnomishMindControlCap = 13181;
|
||||||
|
public const uint Dullard = 67809;
|
||||||
|
|
||||||
|
//UniversalRemote
|
||||||
|
public const uint ControlMachine = 8345;
|
||||||
|
public const uint MobilityMalfunction = 8346;
|
||||||
|
public const uint TargetLock = 8347;
|
||||||
|
|
||||||
//Zandalariancharms
|
//Zandalariancharms
|
||||||
public const uint UnstablePowerAuraStack = 24659;
|
public const uint UnstablePowerAuraStack = 24659;
|
||||||
public const uint RestlessStrengthAuraStack = 24662;
|
public const uint RestlessStrengthAuraStack = 24662;
|
||||||
@@ -3060,6 +3069,76 @@ namespace Scripts.Spells.Items
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Script] // 13180 - Gnomish Mind Control Cap
|
||||||
|
class spell_item_mind_control_cap_SpellScript : SpellScript
|
||||||
|
{
|
||||||
|
public override bool Load()
|
||||||
|
{
|
||||||
|
if (!GetCastItem())
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool Validate(SpellInfo spellInfo)
|
||||||
|
{
|
||||||
|
return ValidateSpellInfo(SpellIds.GnomishMindControlCap, SpellIds.Dullard);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleDummy(uint effIndex)
|
||||||
|
{
|
||||||
|
Unit caster = GetCaster();
|
||||||
|
Unit target = GetHitUnit();
|
||||||
|
if (target)
|
||||||
|
{
|
||||||
|
if (RandomHelper.randChance(95))
|
||||||
|
caster.CastSpell(target, RandomHelper.randChance(32) ? SpellIds.Dullard : SpellIds.GnomishMindControlCap, true, GetCastItem());
|
||||||
|
else
|
||||||
|
target.CastSpell(caster, SpellIds.GnomishMindControlCap, true); // backfire - 5% chance
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Script] // 8344 - Universal Remote (Gnomish Universal Remote)
|
||||||
|
class spell_item_universal_remote_SpellScript : SpellScript
|
||||||
|
{
|
||||||
|
public override bool Load()
|
||||||
|
{
|
||||||
|
if (!GetCastItem())
|
||||||
|
return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool Validate(SpellInfo spellInfo)
|
||||||
|
{
|
||||||
|
return ValidateSpellInfo(SpellIds.ControlMachine, SpellIds.MobilityMalfunction, SpellIds.TargetLock);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleDummy(uint effIndex)
|
||||||
|
{
|
||||||
|
Unit target = GetHitUnit();
|
||||||
|
if (target)
|
||||||
|
{
|
||||||
|
uint chance = RandomHelper.URand(0, 99);
|
||||||
|
if (chance < 15)
|
||||||
|
GetCaster().CastSpell(target, SpellIds.TargetLock, true, GetCastItem());
|
||||||
|
else if (chance < 25)
|
||||||
|
GetCaster().CastSpell(target, SpellIds.MobilityMalfunction, true, GetCastItem());
|
||||||
|
else
|
||||||
|
GetCaster().CastSpell(target, SpellIds.ControlMachine, true, GetCastItem());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
OnEffectHitTarget.Add(new EffectHandler(HandleDummy, 0, SpellEffectName.Dummy));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Item - 19950: Zandalarian Hero Charm
|
// Item - 19950: Zandalarian Hero Charm
|
||||||
// 24658 - Unstable Power
|
// 24658 - Unstable Power
|
||||||
// Item - 19949: Zandalarian Hero Medallion
|
// Item - 19949: Zandalarian Hero Medallion
|
||||||
|
|||||||
Reference in New Issue
Block a user