mirror of
https://github.com/azerothcore/mod-ale
synced 2025-11-29 15:38:17 +08:00
Implement BG methods for TC and do other fixes
This commit is contained in:
@@ -9,7 +9,6 @@
|
|||||||
|
|
||||||
namespace LuaBattleGround
|
namespace LuaBattleGround
|
||||||
{
|
{
|
||||||
#ifdef MANGOS // Currently only tested on Mangos. May need tweaking for TC
|
|
||||||
/**
|
/**
|
||||||
* Returns the name of the [Battleground]
|
* Returns the name of the [Battleground]
|
||||||
*
|
*
|
||||||
@@ -216,6 +215,5 @@ namespace LuaBattleGround
|
|||||||
Eluna::Push(L, bg->GetStatus());
|
Eluna::Push(L, bg->GetStatus());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
@@ -7,7 +7,6 @@
|
|||||||
// Required
|
// Required
|
||||||
#include "AccountMgr.h"
|
#include "AccountMgr.h"
|
||||||
#include "AuctionHouseMgr.h"
|
#include "AuctionHouseMgr.h"
|
||||||
#include "BattleGround/BattleGroundMgr.h"
|
|
||||||
#include "Cell.h"
|
#include "Cell.h"
|
||||||
#include "CellImpl.h"
|
#include "CellImpl.h"
|
||||||
#include "Chat.h"
|
#include "Chat.h"
|
||||||
@@ -42,10 +41,12 @@
|
|||||||
#include "ScriptedCreature.h"
|
#include "ScriptedCreature.h"
|
||||||
#include "SpellInfo.h"
|
#include "SpellInfo.h"
|
||||||
#include "WeatherMgr.h"
|
#include "WeatherMgr.h"
|
||||||
|
#include "Battleground.h"
|
||||||
#else
|
#else
|
||||||
#include "Config/Config.h"
|
#include "Config/Config.h"
|
||||||
#include "ReactorAI.h"
|
#include "ReactorAI.h"
|
||||||
#include "revision_nr.h"
|
#include "revision_nr.h"
|
||||||
|
#include "BattleGround/BattleGroundMgr.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if (!defined(TBC) && !defined(CLASSIC))
|
#if (!defined(TBC) && !defined(CLASSIC))
|
||||||
@@ -121,9 +122,3 @@ enum SelectAggroTarget
|
|||||||
SELECT_TARGET_FARTHEST
|
SELECT_TARGET_FARTHEST
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Some dummy includes containing BOOST_VERSION:
|
|
||||||
// ObjectAccessor.h Config.h Log.h
|
|
||||||
#ifdef BOOST_VERSION
|
|
||||||
#define USING_BOOST
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -14,15 +14,21 @@
|
|||||||
#endif
|
#endif
|
||||||
namespace LuaQuery
|
namespace LuaQuery
|
||||||
{
|
{
|
||||||
|
void CheckFields(lua_State* L, ElunaQuery* result)
|
||||||
|
{
|
||||||
|
if (Eluna::CHECKVAL<uint32>(L, 2) >= RESULT->GetFieldCount())
|
||||||
|
luaL_argerror(L, 2, "invalid field index");
|
||||||
|
}
|
||||||
|
|
||||||
/* BOOLEAN */
|
/* BOOLEAN */
|
||||||
int IsNull(lua_State* L, ElunaQuery* result)
|
int IsNull(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
|
CheckFields(L, result);
|
||||||
|
|
||||||
#ifndef TRINITY
|
#ifndef TRINITY
|
||||||
if (col < RESULT->GetFieldCount())
|
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].IsNULL());
|
Eluna::Push(L, RESULT->Fetch()[col].IsNULL());
|
||||||
#else
|
#else
|
||||||
if (col < RESULT->GetFieldCount())
|
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].IsNull());
|
Eluna::Push(L, RESULT->Fetch()[col].IsNull());
|
||||||
#endif
|
#endif
|
||||||
return 1;
|
return 1;
|
||||||
@@ -47,7 +53,7 @@ namespace LuaQuery
|
|||||||
int GetBool(lua_State* L, ElunaQuery* result)
|
int GetBool(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetBool());
|
Eluna::Push(L, RESULT->Fetch()[col].GetBool());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -55,7 +61,7 @@ namespace LuaQuery
|
|||||||
int GetUInt8(lua_State* L, ElunaQuery* result)
|
int GetUInt8(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetUInt8());
|
Eluna::Push(L, RESULT->Fetch()[col].GetUInt8());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -63,7 +69,7 @@ namespace LuaQuery
|
|||||||
int GetUInt16(lua_State* L, ElunaQuery* result)
|
int GetUInt16(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetUInt16());
|
Eluna::Push(L, RESULT->Fetch()[col].GetUInt16());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -71,7 +77,7 @@ namespace LuaQuery
|
|||||||
int GetUInt32(lua_State* L, ElunaQuery* result)
|
int GetUInt32(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetUInt32());
|
Eluna::Push(L, RESULT->Fetch()[col].GetUInt32());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -79,7 +85,7 @@ namespace LuaQuery
|
|||||||
int GetUInt64(lua_State* L, ElunaQuery* result)
|
int GetUInt64(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetUInt64());
|
Eluna::Push(L, RESULT->Fetch()[col].GetUInt64());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -87,7 +93,7 @@ namespace LuaQuery
|
|||||||
int GetInt8(lua_State* L, ElunaQuery* result)
|
int GetInt8(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetInt8());
|
Eluna::Push(L, RESULT->Fetch()[col].GetInt8());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -95,7 +101,7 @@ namespace LuaQuery
|
|||||||
int GetInt16(lua_State* L, ElunaQuery* result)
|
int GetInt16(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetInt16());
|
Eluna::Push(L, RESULT->Fetch()[col].GetInt16());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -103,7 +109,7 @@ namespace LuaQuery
|
|||||||
int GetInt32(lua_State* L, ElunaQuery* result)
|
int GetInt32(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetInt32());
|
Eluna::Push(L, RESULT->Fetch()[col].GetInt32());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -111,7 +117,7 @@ namespace LuaQuery
|
|||||||
int GetInt64(lua_State* L, ElunaQuery* result)
|
int GetInt64(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetInt64());
|
Eluna::Push(L, RESULT->Fetch()[col].GetInt64());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -119,7 +125,7 @@ namespace LuaQuery
|
|||||||
int GetFloat(lua_State* L, ElunaQuery* result)
|
int GetFloat(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetFloat());
|
Eluna::Push(L, RESULT->Fetch()[col].GetFloat());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -127,7 +133,7 @@ namespace LuaQuery
|
|||||||
int GetDouble(lua_State* L, ElunaQuery* result)
|
int GetDouble(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetDouble());
|
Eluna::Push(L, RESULT->Fetch()[col].GetDouble());
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -135,7 +141,8 @@ namespace LuaQuery
|
|||||||
int GetString(lua_State* L, ElunaQuery* result)
|
int GetString(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
|
|
||||||
#ifndef TRINITY
|
#ifndef TRINITY
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetCppString());
|
Eluna::Push(L, RESULT->Fetch()[col].GetCppString());
|
||||||
#else
|
#else
|
||||||
@@ -147,7 +154,8 @@ namespace LuaQuery
|
|||||||
int GetCString(lua_State* L, ElunaQuery* result)
|
int GetCString(lua_State* L, ElunaQuery* result)
|
||||||
{
|
{
|
||||||
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
uint32 col = Eluna::CHECKVAL<uint32>(L, 2);
|
||||||
if (col < RESULT->GetFieldCount())
|
CheckFields(L, result);
|
||||||
|
|
||||||
#ifndef TRINITY
|
#ifndef TRINITY
|
||||||
Eluna::Push(L, RESULT->Fetch()[col].GetString());
|
Eluna::Push(L, RESULT->Fetch()[col].GetString());
|
||||||
#else
|
#else
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
|
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
#include "SharedDefines.h"
|
#include "SharedDefines.h"
|
||||||
|
#include <unordered_map>
|
||||||
|
#include <unordered_set>
|
||||||
#ifdef TRINITY
|
#ifdef TRINITY
|
||||||
#include "QueryResult.h"
|
#include "QueryResult.h"
|
||||||
#ifdef CATA
|
#ifdef CATA
|
||||||
@@ -19,6 +21,17 @@
|
|||||||
#include "Database/QueryResult.h"
|
#include "Database/QueryResult.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Some dummy includes containing BOOST_VERSION:
|
||||||
|
// ObjectAccessor.h Config.h Log.h
|
||||||
|
#ifdef BOOST_VERSION
|
||||||
|
#define USING_BOOST
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef USING_BOOST
|
||||||
|
#include <boost/thread/locks.hpp>
|
||||||
|
#include <boost/thread/shared_mutex.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef TRINITY
|
#ifdef TRINITY
|
||||||
typedef QueryResult ElunaQuery;
|
typedef QueryResult ElunaQuery;
|
||||||
#ifndef CATA
|
#ifndef CATA
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ extern "C"
|
|||||||
|
|
||||||
#ifdef TRINITY
|
#ifdef TRINITY
|
||||||
struct ItemTemplate;
|
struct ItemTemplate;
|
||||||
|
typedef BattlegroundTypeId BattleGroundTypeId;
|
||||||
#else
|
#else
|
||||||
struct ItemPrototype;
|
struct ItemPrototype;
|
||||||
typedef ItemPrototype ItemTemplate;
|
typedef ItemPrototype ItemTemplate;
|
||||||
@@ -38,7 +39,10 @@ typedef int Difficulty;
|
|||||||
|
|
||||||
struct AreaTriggerEntry;
|
struct AreaTriggerEntry;
|
||||||
class AuctionHouseObject;
|
class AuctionHouseObject;
|
||||||
class BattleGround;
|
#ifdef TRINITY
|
||||||
|
class Battleground;
|
||||||
|
typedef Battleground BattleGround;
|
||||||
|
#endif
|
||||||
class Channel;
|
class Channel;
|
||||||
class Corpse;
|
class Corpse;
|
||||||
class Creature;
|
class Creature;
|
||||||
|
|||||||
Reference in New Issue
Block a user