Scripts/Pet: Lil' K.T
Port From (https://github.com/TrinityCore/TrinityCore/commit/74174332c6f8f8cda136c2804bad6c665724185d)
This commit is contained in:
@@ -33,6 +33,10 @@ namespace Scripts.Pets
|
|||||||
//SoulTrader
|
//SoulTrader
|
||||||
public const uint EtherealOnSummon = 50052;
|
public const uint EtherealOnSummon = 50052;
|
||||||
public const uint EtherealPetRemoveAura = 50055;
|
public const uint EtherealPetRemoveAura = 50055;
|
||||||
|
|
||||||
|
//LichPet
|
||||||
|
public const uint LichOnSummon = 69735;
|
||||||
|
public const uint LichRemoveAura = 69736;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct TextIds
|
struct TextIds
|
||||||
@@ -67,5 +71,27 @@ namespace Scripts.Pets
|
|||||||
base.JustAppeared();
|
base.JustAppeared();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Script]
|
||||||
|
class npc_pet_lich : ScriptedAI
|
||||||
|
{
|
||||||
|
public npc_pet_lich(Creature creature) : base(creature) { }
|
||||||
|
|
||||||
|
public override void LeavingWorld()
|
||||||
|
{
|
||||||
|
Unit owner = me.GetOwner();
|
||||||
|
if (owner != null)
|
||||||
|
DoCast(owner, SpellIds.LichRemoveAura);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void JustAppeared()
|
||||||
|
{
|
||||||
|
Unit owner = me.GetOwner();
|
||||||
|
if (owner != null)
|
||||||
|
DoCast(owner, SpellIds.LichOnSummon);
|
||||||
|
|
||||||
|
base.JustAppeared();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -133,6 +133,10 @@ namespace Scripts.Spells.Generic
|
|||||||
// Interrupt
|
// Interrupt
|
||||||
public const uint GenThrowInterrupt = 32747;
|
public const uint GenThrowInterrupt = 32747;
|
||||||
|
|
||||||
|
// LichPet
|
||||||
|
public const uint LichPetAura = 69732;
|
||||||
|
public const uint LichPetAuraOnkill = 69731;
|
||||||
|
|
||||||
// Genericlifebloomspells
|
// Genericlifebloomspells
|
||||||
public const uint HexlordMalacrass = 43422;
|
public const uint HexlordMalacrass = 43422;
|
||||||
public const uint TurragePaw = 52552;
|
public const uint TurragePaw = 52552;
|
||||||
@@ -357,6 +361,9 @@ namespace Scripts.Spells.Generic
|
|||||||
public const uint Trollbane = 161707;
|
public const uint Trollbane = 161707;
|
||||||
public const uint Whitemane = 161708;
|
public const uint Whitemane = 161708;
|
||||||
public const uint Morgaine = 161709;
|
public const uint Morgaine = 161709;
|
||||||
|
|
||||||
|
// LichPet
|
||||||
|
public const uint LichPet = 36979;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct ModelIds
|
struct ModelIds
|
||||||
@@ -2148,6 +2155,66 @@ namespace Scripts.Spells.Generic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Script] // 69732 - Lich Pet Aura
|
||||||
|
class spell_gen_lich_pet_aura : AuraScript
|
||||||
|
{
|
||||||
|
bool CheckProc(ProcEventInfo eventInfo)
|
||||||
|
{
|
||||||
|
return eventInfo.GetProcTarget().IsPlayer();
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleProc(AuraEffect aurEff, ProcEventInfo eventInfo)
|
||||||
|
{
|
||||||
|
PreventDefaultAction();
|
||||||
|
|
||||||
|
List<TempSummon> minionList = new();
|
||||||
|
GetUnitOwner().GetAllMinionsByEntry(minionList, CreatureIds.LichPet);
|
||||||
|
foreach (Creature minion in minionList)
|
||||||
|
if (minion.IsAIEnabled())
|
||||||
|
minion.GetAI().DoCastSelf(SpellIds.LichPetAuraOnkill);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
DoCheckProc.Add(new CheckProcHandler(CheckProc));
|
||||||
|
OnEffectProc.Add(new EffectProcHandler(HandleProc, 0, AuraType.ProcTriggerSpell));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Script] // 69735 - Lich Pet OnSummon
|
||||||
|
class spell_gen_lich_pet_onsummon : SpellScript
|
||||||
|
{
|
||||||
|
public override bool Validate(SpellInfo spellInfo)
|
||||||
|
{
|
||||||
|
return ValidateSpellInfo(SpellIds.LichPetAura);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleScriptEffect(uint effIndex)
|
||||||
|
{
|
||||||
|
Unit target = GetHitUnit();
|
||||||
|
target.CastSpell(target, SpellIds.LichPetAura, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
OnEffectHitTarget.Add(new EffectHandler(HandleScriptEffect, 0, SpellEffectName.ScriptEffect));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[Script] // 69736 - Lich Pet Aura Remove
|
||||||
|
class spell_gen_lich_pet_aura_remove : SpellScript
|
||||||
|
{
|
||||||
|
void HandleScriptEffect(uint effIndex)
|
||||||
|
{
|
||||||
|
GetHitUnit().RemoveAurasDueToSpell(SpellIds.LichPetAura);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Register()
|
||||||
|
{
|
||||||
|
OnEffectHitTarget.Add(new EffectHandler(HandleScriptEffect, 0, SpellEffectName.ScriptEffect));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Script("spell_hexlord_lifebloom", SpellIds.HexlordMalacrass)]
|
[Script("spell_hexlord_lifebloom", SpellIds.HexlordMalacrass)]
|
||||||
[Script("spell_tur_ragepaw_lifebloom", SpellIds.TurragePaw)]
|
[Script("spell_tur_ragepaw_lifebloom", SpellIds.TurragePaw)]
|
||||||
[Script("spell_cenarion_scout_lifebloom", SpellIds.CenarionScout)]
|
[Script("spell_cenarion_scout_lifebloom", SpellIds.CenarionScout)]
|
||||||
|
|||||||
Reference in New Issue
Block a user