Core/BattlePets: Misc fixes

Port From (https://github.com/TrinityCore/TrinityCore/commit/924182f692bde38d8fed85d5dbe7531a09790501)
This commit is contained in:
hondacrx
2022-01-07 13:20:16 -05:00
parent 56b2c4e0a4
commit e0340e7c07
7 changed files with 86 additions and 37 deletions
+27
View File
@@ -4149,6 +4149,33 @@ namespace Scripts.Spells.Generic
}
}
[Script]// 118301 - Summon Battle Pet
class spell_summon_battle_pet : SpellScript
{
void HandleSummon(uint effIndex)
{
uint creatureId = (uint)GetSpellValue().EffectBasePoints[effIndex];
if (Global.ObjectMgr.GetCreatureTemplate(creatureId) != null)
{
PreventHitDefaultEffect(effIndex);
Unit caster = GetCaster();
var properties = CliDB.SummonPropertiesStorage.LookupByKey((uint)GetEffectInfo().MiscValueB);
uint duration = (uint)GetSpellInfo().CalcDuration(caster);
Position pos = GetHitDest().GetPosition();
Creature summon = caster.GetMap().SummonCreature(creatureId, pos, properties, duration, caster, GetSpellInfo().Id);
if (summon != null)
summon.SetImmuneToAll(true);
}
}
public override void Register()
{
OnEffectHit.Add(new EffectHandler(HandleSummon, 0, SpellEffectName.Summon));
}
}
// 40307 - Stasis Field
class StasisFieldSearcher : ICheck<Unit>
{