Core/Battlegrounds: Move to scripts And a lot of misc commits i couldn't recover.

Port From (https://github.com/TrinityCore/TrinityCore/commit/d0d5d309bb5877dc2fcb27f6cb123707a31ec1e8)
This commit is contained in:
Hondacrx
2024-08-04 15:18:22 -04:00
parent bca02a24b0
commit e9b21a91be
139 changed files with 8322 additions and 8700 deletions
+13 -13
View File
@@ -242,6 +242,19 @@ namespace Game.Scripting
Global.ScriptMgr.AddScript(this);
}
// Gets an BattlegroundScript object for this battleground.
public virtual BattlegroundScript GetBattlegroundScript(BattlegroundMap map) { return null; }
}
class GenericBattlegroundMapScript<Script> : BattlegroundMapScript where Script : BattlegroundScript
{
public GenericBattlegroundMapScript(string name, uint mapId) : base(name, mapId) { }
public override BattlegroundScript GetBattlegroundScript(BattlegroundMap map)
{
return (Script)Activator.CreateInstance(typeof(Script), new object[] { map });
}
}
public class ItemScript : ScriptObject
@@ -430,19 +443,6 @@ namespace Game.Scripting
public virtual BattleField GetBattlefield(Map map) { return null; }
}
public class BattlegroundScript : ScriptObject
{
public BattlegroundScript(string name) : base(name)
{
Global.ScriptMgr.AddScript(this);
}
public override bool IsDatabaseBound() { return true; }
// Should return a fully valid Battlegroundobject for the type ID.
public virtual Battleground GetBattleground() { return null; }
}
public class OutdoorPvPScript : ScriptObject
{
public OutdoorPvPScript(string name) : base(name)
+4 -4
View File
@@ -608,11 +608,11 @@ namespace Game.Scripting
}
//BattlegroundScript
public Battleground CreateBattleground(BattlegroundTypeId typeId)
public BattlegroundScript CreateBattlegroundData(BattlegroundMap map)
{
// @todo Implement script-side Battlegrounds.
Cypher.Assert(false);
return null;
Cypher.Assert(map != null);
return RunScriptRet<BattlegroundMapScript, BattlegroundScript>(p => p.GetBattlegroundScript(map), map.GetScriptId(), null);
}
// OutdoorPvPScript