Combat/Threat rewrite - prep & refactor
Port From (https://github.com/TrinityCore/TrinityCore/commit/8be23fcbbdf26e8169defd761e61765f301bebe0)
This commit is contained in:
@@ -102,7 +102,7 @@ namespace Scripts.EasternKingdoms.Karazhan.Curator
|
||||
switch (eventId)
|
||||
{
|
||||
case EventIds.HatefulBolt:
|
||||
Unit target = SelectTarget(SelectAggroTarget.TopAggro, 1);
|
||||
Unit target = SelectTarget(SelectAggroTarget.MaxThreat, 1);
|
||||
if (target != null)
|
||||
DoCast(target, SpellIds.HatefulBolt);
|
||||
_events.Repeat(TimeSpan.FromSeconds(7), TimeSpan.FromSeconds(15));
|
||||
|
||||
@@ -278,16 +278,9 @@ namespace Scripts.EasternKingdoms.Karazhan.Moroes
|
||||
|
||||
if (Blind_Timer <= diff)
|
||||
{
|
||||
List<Unit> targets = SelectTargetList(5, SelectAggroTarget.Random, me.GetCombatReach() * 5, true);
|
||||
foreach (var i in targets)
|
||||
{
|
||||
|
||||
if (!me.IsWithinMeleeRange(i))
|
||||
{
|
||||
DoCast(i, SpellIds.Blind);
|
||||
break;
|
||||
}
|
||||
}
|
||||
Unit target = SelectTarget(SelectAggroTarget.MinDistance, 0, 0.0f, true, false);
|
||||
if (target != null)
|
||||
DoCast(target, SpellIds.Blind);
|
||||
Blind_Timer = 40000;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -765,11 +765,11 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
|
||||
{
|
||||
Talk(RedRidingHood.SayWolfHood);
|
||||
DoCast(target, RedRidingHood.SpellLittleRedRidingHood, true);
|
||||
TempThreat = DoGetThreat(target);
|
||||
TempThreat = GetThreat(target);
|
||||
if (TempThreat != 0.0f)
|
||||
DoModifyThreatPercent(target, -100);
|
||||
ModifyThreatByPercent(target, -100);
|
||||
HoodGUID = target.GetGUID();
|
||||
me.AddThreat(target, 1000000.0f);
|
||||
AddThreat(target, 1000000.0f);
|
||||
ChaseTimer = 20000;
|
||||
IsChasing = true;
|
||||
}
|
||||
@@ -781,9 +781,9 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
|
||||
if (target)
|
||||
{
|
||||
HoodGUID.Clear();
|
||||
if (DoGetThreat(target) != 0f)
|
||||
DoModifyThreatPercent(target, -100);
|
||||
me.AddThreat(target, TempThreat);
|
||||
if (GetThreat(target) != 0f)
|
||||
ModifyThreatByPercent(target, -100);
|
||||
AddThreat(target, TempThreat);
|
||||
TempThreat = 0;
|
||||
}
|
||||
|
||||
@@ -1023,7 +1023,7 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
|
||||
Romulo.GetMotionMaster().Clear();
|
||||
Romulo.SetDeathState(DeathState.JustDied);
|
||||
Romulo.CombatStop(true);
|
||||
Romulo.DeleteThreatList();
|
||||
Romulo.GetThreatManager().ClearAllThreat();
|
||||
Romulo.SetDynamicFlags(UnitDynFlags.Lootable);
|
||||
}
|
||||
|
||||
@@ -1261,7 +1261,7 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
|
||||
Julianne.GetMotionMaster().Clear();
|
||||
Julianne.SetDeathState(DeathState.JustDied);
|
||||
Julianne.CombatStop(true);
|
||||
Julianne.DeleteThreatList();
|
||||
Julianne.GetThreatManager().ClearAllThreat();
|
||||
Julianne.SetDynamicFlags(UnitDynFlags.Lootable);
|
||||
}
|
||||
return;
|
||||
@@ -1290,7 +1290,7 @@ namespace Scripts.EasternKingdoms.Karazhan.OperaEvent
|
||||
Creature Julianne = (ObjectAccessor.GetCreature(me, JulianneGUID));
|
||||
if (Julianne && Julianne.GetVictim())
|
||||
{
|
||||
me.AddThreat(Julianne.GetVictim(), 1.0f);
|
||||
AddThreat(Julianne.GetVictim(), 1.0f);
|
||||
AttackStart(Julianne.GetVictim());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user