Fixes startup
This commit is contained in:
@@ -368,6 +368,24 @@ namespace Game.Scripting
|
|||||||
public virtual GameObjectAI GetAI(GameObject go) { return null; }
|
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 class AreaTriggerScript : ScriptObject
|
||||||
{
|
{
|
||||||
public AreaTriggerScript(string name) : base(name)
|
public AreaTriggerScript(string name) : base(name)
|
||||||
|
|||||||
@@ -133,6 +133,9 @@ namespace Game.Scripting
|
|||||||
case nameof(GameObjectAI):
|
case nameof(GameObjectAI):
|
||||||
genericType = typeof(GenericGameObjectScript<>).MakeGenericType(type);
|
genericType = typeof(GenericGameObjectScript<>).MakeGenericType(type);
|
||||||
break;
|
break;
|
||||||
|
case nameof(AreaTriggerAI):
|
||||||
|
genericType = typeof(GenericAreaTriggerScript<>).MakeGenericType(type);
|
||||||
|
break;
|
||||||
case "SpellScriptLoader":
|
case "SpellScriptLoader":
|
||||||
case "AuraScriptLoader":
|
case "AuraScriptLoader":
|
||||||
case "WorldScript":
|
case "WorldScript":
|
||||||
|
|||||||
@@ -64,20 +64,11 @@ namespace Scripts.Spells.DemonHunter
|
|||||||
[Script("areatrigger_dh_sigil_of_silence", SpellIds.SigilOfSilenceAoe)]
|
[Script("areatrigger_dh_sigil_of_silence", SpellIds.SigilOfSilenceAoe)]
|
||||||
[Script("areatrigger_dh_sigil_of_misery", SpellIds.SigilOfMiseryAoe)]
|
[Script("areatrigger_dh_sigil_of_misery", SpellIds.SigilOfMiseryAoe)]
|
||||||
[Script("areatrigger_dh_sigil_of_flame", SpellIds.SigilOfFlameAoe)]
|
[Script("areatrigger_dh_sigil_of_flame", SpellIds.SigilOfFlameAoe)]
|
||||||
class areatrigger_dh_generic_sigil : AreaTriggerEntityScript
|
class areatrigger_dh_generic_sigil : AreaTriggerAI
|
||||||
{
|
{
|
||||||
uint _trigger;
|
uint _trigger;
|
||||||
|
|
||||||
public areatrigger_dh_generic_sigil(string script, uint trigger) : base(script)
|
public areatrigger_dh_generic_sigil(AreaTrigger at, uint trigger) : base(at)
|
||||||
{
|
|
||||||
_trigger = trigger;
|
|
||||||
}
|
|
||||||
|
|
||||||
class areatrigger_dh_generic_sigilAI : AreaTriggerAI
|
|
||||||
{
|
|
||||||
uint _trigger;
|
|
||||||
|
|
||||||
public areatrigger_dh_generic_sigilAI(AreaTrigger at, uint trigger) : base(at)
|
|
||||||
{
|
{
|
||||||
_trigger = trigger;
|
_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
|
[Script] // 208673 - Sigil of Chains
|
||||||
class spell_dh_sigil_of_chains : SpellScript
|
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
|
[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") { }
|
public areatrigger_pri_angelic_feather(AreaTrigger areatrigger) : base(areatrigger) { }
|
||||||
|
|
||||||
class areatrigger_pri_angelic_featherAI : AreaTriggerAI
|
|
||||||
{
|
|
||||||
public areatrigger_pri_angelic_featherAI(AreaTrigger areatrigger) : base(areatrigger) { }
|
|
||||||
|
|
||||||
// Called when the AreaTrigger has just been initialized, just before added to map
|
// Called when the AreaTrigger has just been initialized, just before added to map
|
||||||
public override void OnInitialize()
|
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)
|
// 192078 - Wind Rush Totem (Spell)
|
||||||
[Script] // 12676 - AreaTriggerId
|
[Script] // 12676 - AreaTriggerId
|
||||||
class areatrigger_sha_wind_rush_totem : AreaTriggerEntityScript
|
class areatrigger_sha_wind_rush_totem : AreaTriggerAI
|
||||||
{
|
|
||||||
public areatrigger_sha_wind_rush_totem() : base("areatrigger_sha_wind_rush_totem") { }
|
|
||||||
|
|
||||||
class areatrigger_sha_wind_rush_totemAI : AreaTriggerAI
|
|
||||||
{
|
{
|
||||||
static int REFRESH_TIME = 4500;
|
static int REFRESH_TIME = 4500;
|
||||||
|
|
||||||
int _refreshTimer;
|
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;
|
_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