Fixes startup
This commit is contained in:
@@ -368,6 +368,24 @@ namespace Game.Scripting
|
||||
public virtual GameObjectAI GetAI(GameObject go) { return null; }
|
||||
}
|
||||
|
||||
public class GenericAreaTriggerScript<AI> : AreaTriggerEntityScript where AI : AreaTriggerAI
|
||||
{
|
||||
public GenericAreaTriggerScript(string name, object[] args) : base(name)
|
||||
{
|
||||
_args = args;
|
||||
}
|
||||
|
||||
public override AreaTriggerAI GetAI(AreaTrigger me)
|
||||
{
|
||||
if (me.GetInstanceScript() != null)
|
||||
return GetInstanceAI<AI>(me);
|
||||
else
|
||||
return (AI)Activator.CreateInstance(typeof(AI), new object[] { me }.Combine(_args));
|
||||
}
|
||||
|
||||
object[] _args;
|
||||
}
|
||||
|
||||
public class AreaTriggerScript : ScriptObject
|
||||
{
|
||||
public AreaTriggerScript(string name) : base(name)
|
||||
|
||||
@@ -133,6 +133,9 @@ namespace Game.Scripting
|
||||
case nameof(GameObjectAI):
|
||||
genericType = typeof(GenericGameObjectScript<>).MakeGenericType(type);
|
||||
break;
|
||||
case nameof(AreaTriggerAI):
|
||||
genericType = typeof(GenericAreaTriggerScript<>).MakeGenericType(type);
|
||||
break;
|
||||
case "SpellScriptLoader":
|
||||
case "AuraScriptLoader":
|
||||
case "WorldScript":
|
||||
|
||||
@@ -64,20 +64,11 @@ namespace Scripts.Spells.DemonHunter
|
||||
[Script("areatrigger_dh_sigil_of_silence", SpellIds.SigilOfSilenceAoe)]
|
||||
[Script("areatrigger_dh_sigil_of_misery", SpellIds.SigilOfMiseryAoe)]
|
||||
[Script("areatrigger_dh_sigil_of_flame", SpellIds.SigilOfFlameAoe)]
|
||||
class areatrigger_dh_generic_sigil : AreaTriggerEntityScript
|
||||
class areatrigger_dh_generic_sigil : AreaTriggerAI
|
||||
{
|
||||
uint _trigger;
|
||||
|
||||
public areatrigger_dh_generic_sigil(string script, uint trigger) : base(script)
|
||||
{
|
||||
_trigger = trigger;
|
||||
}
|
||||
|
||||
class areatrigger_dh_generic_sigilAI : AreaTriggerAI
|
||||
{
|
||||
uint _trigger;
|
||||
|
||||
public areatrigger_dh_generic_sigilAI(AreaTrigger at, uint trigger) : base(at)
|
||||
public areatrigger_dh_generic_sigil(AreaTrigger at, uint trigger) : base(at)
|
||||
{
|
||||
_trigger = trigger;
|
||||
}
|
||||
@@ -90,12 +81,6 @@ namespace Scripts.Spells.DemonHunter
|
||||
}
|
||||
}
|
||||
|
||||
public override AreaTriggerAI GetAI(AreaTrigger at)
|
||||
{
|
||||
return new areatrigger_dh_generic_sigilAI(at, _trigger);
|
||||
}
|
||||
}
|
||||
|
||||
[Script] // 208673 - Sigil of Chains
|
||||
class spell_dh_sigil_of_chains : SpellScript
|
||||
{
|
||||
|
||||
@@ -1015,13 +1015,9 @@ namespace Scripts.Spells.Priest
|
||||
}
|
||||
|
||||
[Script] // Angelic Feather areatrigger - created by SPELL_PRIEST_ANGELIC_FEATHER_AREATRIGGER
|
||||
class areatrigger_pri_angelic_feather : AreaTriggerEntityScript
|
||||
class areatrigger_pri_angelic_feather : AreaTriggerAI
|
||||
{
|
||||
public areatrigger_pri_angelic_feather() : base("areatrigger_pri_angelic_feather") { }
|
||||
|
||||
class areatrigger_pri_angelic_featherAI : AreaTriggerAI
|
||||
{
|
||||
public areatrigger_pri_angelic_featherAI(AreaTrigger areatrigger) : base(areatrigger) { }
|
||||
public areatrigger_pri_angelic_feather(AreaTrigger areatrigger) : base(areatrigger) { }
|
||||
|
||||
// Called when the AreaTrigger has just been initialized, just before added to map
|
||||
public override void OnInitialize()
|
||||
@@ -1050,10 +1046,4 @@ namespace Scripts.Spells.Priest
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override AreaTriggerAI GetAI(AreaTrigger areatrigger)
|
||||
{
|
||||
return new areatrigger_pri_angelic_featherAI(areatrigger);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1044,17 +1044,13 @@ namespace Scripts.Spells.Shaman
|
||||
|
||||
// 192078 - Wind Rush Totem (Spell)
|
||||
[Script] // 12676 - AreaTriggerId
|
||||
class areatrigger_sha_wind_rush_totem : AreaTriggerEntityScript
|
||||
{
|
||||
public areatrigger_sha_wind_rush_totem() : base("areatrigger_sha_wind_rush_totem") { }
|
||||
|
||||
class areatrigger_sha_wind_rush_totemAI : AreaTriggerAI
|
||||
class areatrigger_sha_wind_rush_totem : AreaTriggerAI
|
||||
{
|
||||
static int REFRESH_TIME = 4500;
|
||||
|
||||
int _refreshTimer;
|
||||
|
||||
public areatrigger_sha_wind_rush_totemAI(AreaTrigger areatrigger) : base(areatrigger)
|
||||
public areatrigger_sha_wind_rush_totem(AreaTrigger areatrigger) : base(areatrigger)
|
||||
{
|
||||
_refreshTimer = REFRESH_TIME;
|
||||
}
|
||||
@@ -1095,10 +1091,4 @@ namespace Scripts.Spells.Shaman
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override AreaTriggerAI GetAI(AreaTrigger areatrigger)
|
||||
{
|
||||
return new areatrigger_sha_wind_rush_totemAI(areatrigger);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user