mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-28 20:27:46 +00:00
Merge pull request #272 from takhlaq/party_crap
Base for social implementation
This commit is contained in:
commit
b36402119e
378 changed files with 2915 additions and 1250 deletions
|
@ -17,9 +17,9 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
|
|||
# set(Boost_DEBUG 1)
|
||||
|
||||
if( NOT SAPPHIRE_BOOST_VER )
|
||||
set(SAPPHIRE_BOOST_VER 1.60.0)
|
||||
set( SAPPHIRE_BOOST_VER 1.63.0 )
|
||||
endif()
|
||||
set(SAPPHIRE_BOOST_FOLDER_NAME boost_1_60_0)
|
||||
set( SAPPHIRE_BOOST_FOLDER_NAME boost_1_63_0 )
|
||||
|
||||
##########################################################################
|
||||
# Common and library path
|
||||
|
@ -37,8 +37,8 @@ include( "cmake/cotire.cmake" )
|
|||
include( GetGitRevisionDescription )
|
||||
get_git_head_revision( GIT_REFSPEC GIT_SHA1 )
|
||||
git_describe( VERSION --all --dirty=-d )
|
||||
configure_file("src/common/Version.cpp.in"
|
||||
"src/common/Version.cpp" @ONLY)
|
||||
configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/src/common/Version.cpp.in"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/src/common/Version.cpp" @ONLY )
|
||||
|
||||
##########################################################################
|
||||
add_subdirectory( "src/libraries/sapphire/datReader" )
|
||||
|
|
|
@ -707,6 +707,38 @@ namespace Common {
|
|||
MountSkill = 0xD,
|
||||
};
|
||||
|
||||
enum SocialCategory : uint8_t
|
||||
{
|
||||
Party = 1,
|
||||
Friends = 2,
|
||||
FreeCompanyPetition = 4,
|
||||
FreeCompany = 5,
|
||||
};
|
||||
|
||||
enum SocialListType : uint8_t
|
||||
{
|
||||
PartyList = 0x02,
|
||||
FriendList = 0x0b,
|
||||
SearchList = 0x0e,
|
||||
};
|
||||
|
||||
|
||||
// todo: rename SocialRequestAction and SocialRequestResponse cause they seem ambiguous
|
||||
enum class SocialRequestAction : uint8_t
|
||||
{
|
||||
Invite = 1,
|
||||
Cancel = 2,
|
||||
Accept = 3,
|
||||
Decline = 4,
|
||||
};
|
||||
|
||||
enum class SocialRequestResponse : uint8_t
|
||||
{
|
||||
Decline,
|
||||
Accept,
|
||||
Cancel,
|
||||
};
|
||||
|
||||
typedef std::vector< PlayerStateFlag > PlayerStateFlagList;
|
||||
|
||||
} /* Common */
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#include "DbConnection.h"
|
||||
#include "DbWorker.h"
|
||||
#include <MySqlConnector.h>
|
||||
|
||||
#include "Logging/Logger.h"
|
||||
|
||||
#include "PreparedStatement.h"
|
||||
#include <boost/make_shared.hpp>
|
||||
#include "Framework.h"
|
||||
|
||||
|
||||
extern Core::Logger g_log;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
Core::Db::DbConnection::DbConnection( ConnectionInfo &connInfo ) :
|
||||
m_reconnecting( false ),
|
||||
|
@ -67,7 +67,7 @@ uint32_t Core::Db::DbConnection::open()
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_log.error( e.what() );
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -119,7 +119,7 @@ bool Core::Db::DbConnection::execute( const std::string& sql )
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_log.error( e.what() );
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -134,7 +134,7 @@ boost::shared_ptr< Mysql::ResultSet > Core::Db::DbConnection::query( const std::
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_log.error( e.what() );
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
@ -148,13 +148,11 @@ boost::shared_ptr< Mysql::ResultSet > Core::Db::DbConnection::query( boost::shar
|
|||
|
||||
if( !ping() )
|
||||
{
|
||||
g_log.error( "MysqlConnection went down" );
|
||||
// naivly reconnect and hope for the best
|
||||
open();
|
||||
lockIfReady();
|
||||
if( !prepareStatements() )
|
||||
g_log.error( "Mysql Statements failed to prepare..." );
|
||||
g_log.info( "MysqlConnection reestablished" );
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
uint32_t index = stmt->getIndex();
|
||||
|
@ -172,7 +170,7 @@ boost::shared_ptr< Mysql::ResultSet > Core::Db::DbConnection::query( boost::shar
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_log.error( e.what() );
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
@ -198,7 +196,7 @@ bool Core::Db::DbConnection::execute( boost::shared_ptr< Core::Db::PreparedState
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_log.error( e.what() );
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -234,7 +232,7 @@ void Core::Db::DbConnection::prepareStatement( uint32_t index, const std::string
|
|||
}
|
||||
catch( std::runtime_error& e )
|
||||
{
|
||||
g_log.error( e.what() );
|
||||
g_fw.get< Logger >()->error( e.what() );
|
||||
m_prepareError = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,8 +3,9 @@
|
|||
#include "CharaDbConnection.h"
|
||||
#include "DbWorkerPool.h"
|
||||
#include "Logging/Logger.h"
|
||||
#include "Framework.h"
|
||||
|
||||
extern Core::Logger g_log;
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
Core::Db::DbLoader::DbLoader()
|
||||
{
|
||||
|
@ -16,12 +17,14 @@ Core::Db::DbLoader& Core::Db::DbLoader::addDb( Core::Db::DbWorkerPool< T >& pool
|
|||
|
||||
m_open.push([this, info, &pool]() -> bool
|
||||
{
|
||||
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
const uint8_t asyncThreads = info.asyncThreads;
|
||||
const uint8_t synchThreads = info.syncThreads;
|
||||
|
||||
if( asyncThreads < 1 || asyncThreads > 32 )
|
||||
{
|
||||
g_log.error( "database: invalid number of worker threads specified. Please pick a value between 1 and 32." );
|
||||
pLog->error( "database: invalid number of worker threads specified. Please pick a value between 1 and 32." );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -36,7 +39,7 @@ Core::Db::DbLoader& Core::Db::DbLoader::addDb( Core::Db::DbWorkerPool< T >& pool
|
|||
|
||||
if( error )
|
||||
{
|
||||
g_log.error( "DatabasePool failed to open." );
|
||||
pLog->error( "DatabasePool failed to open." );
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -50,7 +53,8 @@ Core::Db::DbLoader& Core::Db::DbLoader::addDb( Core::Db::DbWorkerPool< T >& pool
|
|||
{
|
||||
if( !pool.prepareStatements() )
|
||||
{
|
||||
g_log.error( "Could not prepare statements of the database, see log for details." );
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->error( "Could not prepare statements of the database, see log for details." );
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
|
@ -6,9 +6,11 @@
|
|||
#include "Operation.h"
|
||||
#include "CharaDbConnection.h"
|
||||
#include <boost/make_shared.hpp>
|
||||
#include "Framework.h"
|
||||
|
||||
#include "Logging/Logger.h"
|
||||
extern Core::Logger g_log;
|
||||
|
||||
extern Core::Framework g_fw;
|
||||
|
||||
class PingOperation : public Core::Db::Operation
|
||||
{
|
||||
|
@ -46,7 +48,8 @@ void Core::Db::DbWorkerPool< T >::setConnectionInfo( const ConnectionInfo& info,
|
|||
template< class T >
|
||||
uint32_t Core::Db::DbWorkerPool< T >::open()
|
||||
{
|
||||
g_log.info( "[DbPool] Opening DatabasePool " + getDatabaseName() +
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->info( "[DbPool] Opening DatabasePool " + getDatabaseName() +
|
||||
" Asynchronous connections: " + std::to_string( m_asyncThreads ) +
|
||||
" Synchronous connections: " + std::to_string( m_synchThreads ) );
|
||||
|
||||
|
@ -59,7 +62,7 @@ uint32_t Core::Db::DbWorkerPool< T >::open()
|
|||
|
||||
if( !error )
|
||||
{
|
||||
g_log.info( "[DbPool] DatabasePool " + getDatabaseName() + " opened successfully. " +
|
||||
pLog->info( "[DbPool] DatabasePool " + getDatabaseName() + " opened successfully. " +
|
||||
std::to_string( ( m_connections[IDX_SYNCH].size() + m_connections[IDX_ASYNC].size() ) ) +
|
||||
" total connections running." );
|
||||
}
|
||||
|
@ -70,10 +73,11 @@ uint32_t Core::Db::DbWorkerPool< T >::open()
|
|||
template< class T >
|
||||
void Core::Db::DbWorkerPool< T >::close()
|
||||
{
|
||||
g_log.info("[DbPool] Closing down DatabasePool " + getDatabaseName() );
|
||||
auto pLog = g_fw.get< Logger >();
|
||||
pLog->info("[DbPool] Closing down DatabasePool " + getDatabaseName() );
|
||||
m_connections[IDX_ASYNC].clear();
|
||||
m_connections[IDX_SYNCH].clear();
|
||||
g_log.info("[DbPool] All connections on DatabasePool " + getDatabaseName() + "closed." );
|
||||
pLog->info("[DbPool] All connections on DatabasePool " + getDatabaseName() + "closed." );
|
||||
}
|
||||
|
||||
template< class T >
|
||||
|
|
|
@ -2,6 +2,11 @@
|
|||
#define _COMMON_FORWARDS_H
|
||||
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <chrono>
|
||||
|
||||
using namespace std::chrono_literals;
|
||||
using time_point = std::chrono::steady_clock::time_point;
|
||||
using duration = std::chrono::steady_clock::duration;
|
||||
|
||||
namespace Core
|
||||
{
|
||||
|
|
5
src/common/Framework.cpp
Normal file
5
src/common/Framework.cpp
Normal file
|
@ -0,0 +1,5 @@
|
|||
#include "Framework.h"
|
||||
|
||||
#include <Logging/Logger.h>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/make_shared.hpp>
|
37
src/common/Framework.h
Normal file
37
src/common/Framework.h
Normal file
|
@ -0,0 +1,37 @@
|
|||
#ifndef _CORE_FRAMEWORK_H
|
||||
#define _CORE_FRAMEWORK_H
|
||||
|
||||
#include <map>
|
||||
#include <typeindex>
|
||||
#include <typeinfo>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <cassert>
|
||||
|
||||
namespace Core
|
||||
{
|
||||
|
||||
class Framework
|
||||
{
|
||||
using TypenameToObject = std::map< std::type_index, boost::shared_ptr< void > >;
|
||||
TypenameToObject ObjectMap;
|
||||
|
||||
public:
|
||||
template< typename T >
|
||||
boost::shared_ptr< T > get()
|
||||
{
|
||||
auto iType = ObjectMap.find( typeid( T ) );
|
||||
assert( !( iType == ObjectMap.end() ) );
|
||||
return boost::static_pointer_cast< T >( iType->second );
|
||||
}
|
||||
|
||||
template< typename T >
|
||||
void set( boost::shared_ptr< T > value )
|
||||
{
|
||||
assert( value ); // why would anyone store nullptrs....
|
||||
ObjectMap[typeid( T )] = value;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // _CORE_FRAMEWORK_H
|
|
@ -72,9 +72,10 @@ namespace Packets {
|
|||
|
||||
Playtime = 0x00DF, // updated 4.2
|
||||
CFRegistered = 0x00B8, // updated 4.1
|
||||
SocialRequestResponse = 0x00BB, // updated 4.1
|
||||
CancelAllianceForming = 0x00C6, // updated 4.2
|
||||
Chat = 0x00E1, // updated 4.2
|
||||
SocialRequestResponse = 0x00E5, // updated 4.1
|
||||
SocialRequestReceive = 0x00E6, // updated 4.2
|
||||
SocialList = 0x00E7, // updated 4.2
|
||||
|
||||
UpdateSearchInfo = 0x00EA, // updated 4.2
|
||||
|
|
|
@ -81,19 +81,64 @@ struct FFXIVIpcPlayTime : FFXIVIpcBasePacket<Playtime>
|
|||
*/
|
||||
struct PlayerEntry {
|
||||
uint64_t contentId;
|
||||
uint8_t bytes[12];
|
||||
uint32_t timestamp;
|
||||
uint8_t bytes[4];
|
||||
uint8_t status; // bitmask. friend: if it's a request, if added, recipient/sender
|
||||
uint8_t unknown; // maybe bitmask? a value of 4 sets it to linkshell request
|
||||
uint8_t entryIcon; // observed in friend group icon, sideffects for displaying text
|
||||
uint8_t unavailable; // bool
|
||||
uint16_t zoneId;
|
||||
uint16_t zoneId1;
|
||||
char bytes1[8];
|
||||
uint8_t grandCompany;
|
||||
uint8_t clientLanguage;
|
||||
uint8_t knownLanguages; // bitmask, J 0x01, E 0x02, D 0x04, F 0x08
|
||||
uint8_t searchComment; // bool
|
||||
char bytes1[6];
|
||||
uint64_t onlineStatusMask;
|
||||
uint8_t classJob;
|
||||
Common::ClassJob classJob;
|
||||
uint8_t padding;
|
||||
uint8_t level;
|
||||
uint8_t padding1;
|
||||
uint16_t level;
|
||||
uint16_t padding2;
|
||||
uint8_t one;
|
||||
char name[0x20];
|
||||
char fcTag[9];
|
||||
char fcTag[5];
|
||||
};
|
||||
|
||||
struct FFXIVIpcSocialRequestReceive : FFXIVIpcBasePacket<SocialRequestReceive>
|
||||
{
|
||||
uint32_t actorId; // actor id of player which initiated request
|
||||
uint16_t unknown;
|
||||
uint16_t unknown2;
|
||||
uint32_t timestamp; // must be greater than current time
|
||||
uint8_t unknown3;
|
||||
uint8_t unknown4; // Very likely cross-world related
|
||||
Common::SocialCategory category; // 1 - party invite, 2 - friends request, 3 - ??, 4 - fc signature request, 5 - fc invite,
|
||||
uint8_t unknown5;
|
||||
Common::SocialRequestAction action; // 0 - ??, 1 - received, 2 - canceled, 4 - friend accept/fc sign/fc join, 5 - refuse fc petition/decline invite
|
||||
uint8_t unknown6;
|
||||
char name[0x20];
|
||||
uint16_t unknown7;
|
||||
uint16_t unknown8;
|
||||
uint16_t unknown9;
|
||||
};
|
||||
|
||||
struct FFXIVIpcSocialRequestError : FFXIVIpcBasePacket<SocialRequestError>
|
||||
{
|
||||
uint32_t messageId; // if 0 then type's message is used (type must 2/4/5 or it wont print)
|
||||
Common::SocialCategory category; // 2 - friend request, 4 - fc petition, 5 - fc invitation, anything else and wont print
|
||||
uint8_t unknown; // possibly padding
|
||||
char name[0x20];
|
||||
uint8_t unknown3[2]; // probably padding
|
||||
|
||||
};
|
||||
|
||||
struct FFXIVIpcSocialRequestResponse : FFXIVIpcBasePacket<SocialRequestResponse>
|
||||
{
|
||||
uint64_t contentId;
|
||||
uint32_t unknown;
|
||||
Common::SocialCategory category; // Common::SocialCategory
|
||||
Common::SocialRequestResponse response; // Common::SocialRequestResponse
|
||||
char name[0x20];
|
||||
uint16_t padding;
|
||||
};
|
||||
|
||||
struct FFXIVIpcSocialList : FFXIVIpcBasePacket<SocialList>
|
||||
|
|
|
@ -72,7 +72,7 @@ namespace Util
|
|||
return spawnIndex != getAllocFailId();
|
||||
}
|
||||
|
||||
constexpr T getAllocFailId()
|
||||
constexpr T getAllocFailId() const
|
||||
{
|
||||
return static_cast< T >( -1 );
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 732e26b4bfb15875d71ae4ec13b8bd6155013840
|
||||
Subproject commit 67b949dfe3ffbbba7963b0861670ab4bb1819991
|
|
@ -12,3 +12,4 @@ include_directories("${PROJECT_SOURCE_DIR}")
|
|||
add_subdirectory(${PROJECT_SOURCE_DIR}/sapphire_lobby)
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/sapphire_api)
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/sapphire_zone)
|
||||
add_subdirectory(${PROJECT_SOURCE_DIR}/Scripts)
|
||||
|
|
|
@ -3,8 +3,6 @@ project(Sapphire_Script)
|
|||
|
||||
file(GLOB SCRIPT_INCLUDE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/*.h")
|
||||
|
||||
include_directories("${CMAKE_SOURCE_DIR}/src/servers/")
|
||||
|
||||
message("exec: ${EXECUTABLE_OUTPUT_DIRECTORY}")
|
||||
|
||||
set(SCRIPT_LIB_DIR "${EXECUTABLE_OUTPUT_DIRECTORY}/compiledscripts/" )
|
||||
|
@ -42,9 +40,6 @@ foreach(_scriptDir ${children})
|
|||
|
||||
if(MSVC)
|
||||
target_link_libraries( "script_${_name}" ${Boost_LIBRARIES})
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
set_target_properties( "script_${_name}" PROPERTIES
|
||||
CXX_STANDARD 14
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
|
@ -56,10 +51,7 @@ foreach(_scriptDir ${children})
|
|||
)
|
||||
endif()
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/servers/sapphire_zone/")
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/servers/sapphire_zone/Script")
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/servers/sapphire_zone/Script/Scripts")
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/")
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/common")
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_SOURCE_DIR}/src/servers/Script/Scripts")
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
target_include_directories("script_${_name}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/Scripts")
|
||||
|
15
src/servers/Scripts/action/ScriptLoader.cpp
Normal file
15
src/servers/Scripts/action/ScriptLoader.cpp
Normal file
|
@ -0,0 +1,15 @@
|
|||
#include <Script/NativeScriptApi.h>
|
||||
|
||||
#include "ActionSprint3.cpp"
|
||||
|
||||
const ScriptObject* ptrs[] =
|
||||
{
|
||||
static_cast< ScriptObject* >( new ActionSprint3 ),
|
||||
|
||||
nullptr
|
||||
};
|
||||
|
||||
extern "C" EXPORT const ScriptObject** getScripts()
|
||||
{
|
||||
return ptrs;
|
||||
}
|
25
src/servers/Scripts/common/ScriptLoader.cpp
Normal file
25
src/servers/Scripts/common/ScriptLoader.cpp
Normal file
|
@ -0,0 +1,25 @@
|
|||
#include <Script/NativeScriptApi.h>
|
||||
|
||||
#include "Aethernet.cpp"
|
||||
#include "Aetheryte.cpp"
|
||||
#include "HouFurOrchestrion.cpp"
|
||||
#include "CmnDefInnBed.cpp"
|
||||
#include "CmnDefCutSceneReplay.cpp"
|
||||
#include "CmnDefLinkShell.cpp"
|
||||
|
||||
const ScriptObject* ptrs[] =
|
||||
{
|
||||
static_cast< ScriptObject* >( new Aethernet ),
|
||||
static_cast< ScriptObject* >( new Aetheryte ),
|
||||
static_cast< ScriptObject* >( new HouFurOrchestrion ),
|
||||
static_cast< ScriptObject* >( new CmnDefInnBed ),
|
||||
static_cast< ScriptObject* >( new CmnDefCutSceneReplay ),
|
||||
static_cast< ScriptObject* >( new CmnDefLinkShell ),
|
||||
|
||||
nullptr
|
||||
};
|
||||
|
||||
extern "C" EXPORT const ScriptObject** getScripts()
|
||||
{
|
||||
return ptrs;
|
||||
}
|
547
src/servers/Scripts/instances/ScriptLoader.cpp
Normal file
547
src/servers/Scripts/instances/ScriptLoader.cpp
Normal file
|
@ -0,0 +1,547 @@
|
|||
#include <Script/NativeScriptApi.h>
|
||||
|
||||
#include "pvp/TheFeastTeamRanked.cpp"
|
||||
#include "pvp/SealRockSeize.cpp"
|
||||
#include "pvp/TheFeast4on4Ranked.cpp"
|
||||
#include "pvp/TheFeast4on4LightParty.cpp"
|
||||
#include "pvp/TheFeastRanked.cpp"
|
||||
#include "pvp/TheFieldsofGloryShatter.cpp"
|
||||
#include "pvp/TheFeastTraining.cpp"
|
||||
#include "pvp/Astragalos.cpp"
|
||||
#include "pvp/TheFeast4on4Training.cpp"
|
||||
#include "pvp/TheFeastCustomMatchFeastingGrounds.cpp"
|
||||
#include "pvp/TheFeastCustomMatchLichenweed.cpp"
|
||||
#include "pvp/TheBorderlandRuinsSecure.cpp"
|
||||
#include "pvp/TheFeastCustomMatchCrystalTower.cpp"
|
||||
#include "dungeons/TheTamTaraDeepcroft.cpp"
|
||||
#include "dungeons/DomaCastle.cpp"
|
||||
#include "dungeons/HullbreakerIsleHard.cpp"
|
||||
#include "dungeons/Snowcloak.cpp"
|
||||
#include "dungeons/TheGreatGubalLibrary.cpp"
|
||||
#include "dungeons/TheWanderersPalace.cpp"
|
||||
#include "dungeons/Xelphatol.cpp"
|
||||
#include "dungeons/TheLostCityofAmdaporHard.cpp"
|
||||
#include "dungeons/SaintMociannesArboretum.cpp"
|
||||
#include "dungeons/BardamsMettle.cpp"
|
||||
#include "dungeons/TheTamTaraDeepcroftHard.cpp"
|
||||
#include "dungeons/KuganeCastle.cpp"
|
||||
#include "dungeons/TheDrownedCityofSkalla.cpp"
|
||||
#include "dungeons/ShisuioftheVioletTides.cpp"
|
||||
#include "dungeons/CuttersCry.cpp"
|
||||
#include "dungeons/HellsLid.cpp"
|
||||
#include "dungeons/TheVault.cpp"
|
||||
#include "dungeons/TheStoneVigilHard.cpp"
|
||||
#include "dungeons/Sastasha.cpp"
|
||||
#include "dungeons/TheFractalContinuum.cpp"
|
||||
#include "dungeons/TheLostCityofAmdapor.cpp"
|
||||
#include "dungeons/TheAurumVale.cpp"
|
||||
#include "dungeons/SohrKhai.cpp"
|
||||
#include "dungeons/TheSunkenTempleofQarnHard.cpp"
|
||||
#include "dungeons/Neverreap.cpp"
|
||||
#include "dungeons/TheAntitower.cpp"
|
||||
#include "dungeons/Halatali.cpp"
|
||||
#include "dungeons/TheAery.cpp"
|
||||
#include "dungeons/PharosSiriusHard.cpp"
|
||||
#include "dungeons/CastrumMeridianum.cpp"
|
||||
#include "dungeons/TheGreatGubalLibraryHard.cpp"
|
||||
#include "dungeons/SohmAl.cpp"
|
||||
#include "dungeons/TheTempleoftheFist.cpp"
|
||||
#include "dungeons/TheKeeperoftheLake.cpp"
|
||||
#include "dungeons/AmdaporKeepHard.cpp"
|
||||
#include "dungeons/TheWanderersPalaceHard.cpp"
|
||||
#include "dungeons/CastrumAbania.cpp"
|
||||
#include "dungeons/AlaMhigo.cpp"
|
||||
#include "dungeons/PharosSirius.cpp"
|
||||
#include "dungeons/TheStoneVigil.cpp"
|
||||
#include "dungeons/TheThousandMawsofTotoRak.cpp"
|
||||
#include "dungeons/BrayfloxsLongstopHard.cpp"
|
||||
#include "dungeons/DzemaelDarkhold.cpp"
|
||||
#include "dungeons/SohmAlHard.cpp"
|
||||
#include "dungeons/HaukkeManor.cpp"
|
||||
#include "dungeons/HullbreakerIsle.cpp"
|
||||
#include "dungeons/TheFractalContinuumHard.cpp"
|
||||
#include "dungeons/TheSirensongSea.cpp"
|
||||
#include "dungeons/BaelsarsWall.cpp"
|
||||
#include "dungeons/HalataliHard.cpp"
|
||||
#include "dungeons/TheAetherochemicalResearchFacility.cpp"
|
||||
#include "dungeons/SastashaHard.cpp"
|
||||
#include "dungeons/CopperbellMinesHard.cpp"
|
||||
#include "dungeons/TheSunkenTempleofQarn.cpp"
|
||||
#include "dungeons/AmdaporKeep.cpp"
|
||||
#include "dungeons/TheDuskVigil.cpp"
|
||||
#include "dungeons/BrayfloxsLongstop.cpp"
|
||||
#include "dungeons/HaukkeManorHard.cpp"
|
||||
#include "dungeons/CopperbellMines.cpp"
|
||||
#include "dungeons/ThePraetorium.cpp"
|
||||
#include "questbattles/RaisingtheSword.cpp"
|
||||
#include "questbattles/InterdimensionalRift.cpp"
|
||||
#include "questbattles/CuriousGorgeMeetsHisMatch.cpp"
|
||||
#include "questbattles/WithHeartandSteel.cpp"
|
||||
#include "questbattles/OneLifeforOneWorld.cpp"
|
||||
#include "questbattles/ABloodyReunion.cpp"
|
||||
#include "questbattles/MatsubaMayhem.cpp"
|
||||
#include "questbattles/BloodontheDeck.cpp"
|
||||
#include "questbattles/OurCompromise.cpp"
|
||||
#include "questbattles/Naadam.cpp"
|
||||
#include "questbattles/InThalsName.cpp"
|
||||
#include "questbattles/TheResonant.cpp"
|
||||
#include "questbattles/OurUnsungHeroes.cpp"
|
||||
#include "questbattles/DarkwingDragon.cpp"
|
||||
#include "questbattles/BloodDragoon.cpp"
|
||||
#include "questbattles/ASpectaclefortheAges.cpp"
|
||||
#include "questbattles/ItsProbablyaTrap.cpp"
|
||||
#include "questbattles/TheBattleonBekko.cpp"
|
||||
#include "questbattles/TheHeartoftheProblem.cpp"
|
||||
#include "questbattles/TheOrphansandtheBrokenBlade.cpp"
|
||||
#include "questbattles/TheCarteneauFlatsHeliodrome.cpp"
|
||||
#include "questbattles/ReturnoftheBull.cpp"
|
||||
#include "questbattles/TheFaceofTrueEvil.cpp"
|
||||
#include "questbattles/WhenClansCollide.cpp"
|
||||
#include "raids/AlexanderTheArmoftheSonSavage.cpp"
|
||||
#include "raids/TheLabyrinthoftheAncients.cpp"
|
||||
#include "raids/SigmascapeV30.cpp"
|
||||
#include "raids/TheVoidArk.cpp"
|
||||
#include "raids/SyrcusTower.cpp"
|
||||
#include "raids/DeltascapeV20.cpp"
|
||||
#include "raids/TheFinalCoilofBahamutTurn1.cpp"
|
||||
#include "raids/SigmascapeV20Savage.cpp"
|
||||
#include "raids/TheFinalCoilofBahamutTurn3.cpp"
|
||||
#include "raids/SigmascapeV30Savage.cpp"
|
||||
#include "raids/TheBindingCoilofBahamutTurn2.cpp"
|
||||
#include "raids/AlexanderTheSouloftheCreatorSavage.cpp"
|
||||
#include "raids/DunScaith.cpp"
|
||||
#include "raids/DeltascapeV40Savage.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutTurn1.cpp"
|
||||
#include "raids/AlexanderTheHeartoftheCreatorSavage.cpp"
|
||||
#include "raids/DeltascapeV40.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutSavageTurn2.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutTurn3.cpp"
|
||||
#include "raids/TheUnendingCoilofBahamutUltimate.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutTurn2.cpp"
|
||||
#include "raids/TheWorldofDarkness.cpp"
|
||||
#include "raids/SigmascapeV10.cpp"
|
||||
#include "raids/AlexanderTheBurdenoftheSonSavage.cpp"
|
||||
#include "raids/TheFinalCoilofBahamutTurn2.cpp"
|
||||
#include "raids/AlexanderTheBurdenoftheFatherSavage.cpp"
|
||||
#include "raids/AlexanderTheHeartoftheCreator.cpp"
|
||||
#include "raids/TheBindingCoilofBahamutTurn4.cpp"
|
||||
#include "raids/AlexanderTheBreathoftheCreatorSavage.cpp"
|
||||
#include "raids/AlexanderTheEyesoftheCreatorSavage.cpp"
|
||||
#include "raids/AlexanderTheArmoftheFatherSavage.cpp"
|
||||
#include "raids/DeltascapeV30.cpp"
|
||||
#include "raids/AlexanderTheFistoftheFather.cpp"
|
||||
#include "raids/DeltascapeV10.cpp"
|
||||
#include "raids/DeltascapeV10Savage.cpp"
|
||||
#include "raids/SigmascapeV40Savage.cpp"
|
||||
#include "raids/AlexanderTheCuffoftheSon.cpp"
|
||||
#include "raids/AlexanderTheFistoftheSonSavage.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutSavageTurn3.cpp"
|
||||
#include "raids/AlexanderTheArmoftheFather.cpp"
|
||||
#include "raids/AlexanderTheCuffoftheSonSavage.cpp"
|
||||
#include "raids/TheBindingCoilofBahamutTurn5.cpp"
|
||||
#include "raids/SigmascapeV20.cpp"
|
||||
#include "raids/AlexanderTheCuffoftheFather.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutSavageTurn1.cpp"
|
||||
#include "raids/TheBindingCoilofBahamutTurn1.cpp"
|
||||
#include "raids/AlexanderTheBurdenoftheSon.cpp"
|
||||
#include "raids/AlexanderTheBreathoftheCreator.cpp"
|
||||
#include "raids/TheFinalCoilofBahamutTurn4.cpp"
|
||||
#include "raids/DeltascapeV30Savage.cpp"
|
||||
#include "raids/AlexanderTheFistoftheSon.cpp"
|
||||
#include "raids/AlexanderTheFistoftheFatherSavage.cpp"
|
||||
#include "raids/AlexanderTheArmoftheSon.cpp"
|
||||
#include "raids/TheBindingCoilofBahamutTurn3.cpp"
|
||||
#include "raids/SigmascapeV40.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutTurn4.cpp"
|
||||
#include "raids/AlexanderTheCuffoftheFatherSavage.cpp"
|
||||
#include "raids/SigmascapeV10Savage.cpp"
|
||||
#include "raids/DeltascapeV20Savage.cpp"
|
||||
#include "raids/TheWeepingCityofMhach.cpp"
|
||||
#include "raids/TheRoyalCityofRabanastre.cpp"
|
||||
#include "raids/AlexanderTheBurdenoftheFather.cpp"
|
||||
#include "raids/AlexanderTheEyesoftheCreator.cpp"
|
||||
#include "raids/TheSecondCoilofBahamutSavageTurn4.cpp"
|
||||
#include "raids/AlexanderTheSouloftheCreator.cpp"
|
||||
#include "AkhAfahAmphitheatreExtreme.cpp"
|
||||
#include "guildhests/HeroontheHalfShell.cpp"
|
||||
#include "guildhests/BasicTrainingEnemyStrongholds.cpp"
|
||||
#include "guildhests/ShadowandClaw.cpp"
|
||||
#include "guildhests/AnnoytheVoid.cpp"
|
||||
#include "guildhests/StingingBack.cpp"
|
||||
#include "guildhests/FlickingSticksandTakingNames.cpp"
|
||||
#include "guildhests/SolemnTrinity.cpp"
|
||||
#include "guildhests/UndertheArmor.cpp"
|
||||
#include "guildhests/LongLivetheQueen.cpp"
|
||||
#include "guildhests/AllsWellthatEndsintheWell.cpp"
|
||||
#include "guildhests/MorethanaFeeler.cpp"
|
||||
#include "guildhests/PullingPoisonPosies.cpp"
|
||||
#include "guildhests/WardUp.cpp"
|
||||
#include "guildhests/BasicTrainingEnemyParties.cpp"
|
||||
#include "trials/TheStrikingTreeHard.cpp"
|
||||
#include "trials/TheJadeStoaExtreme.cpp"
|
||||
#include "trials/TheMinstrelsBalladThordansReign.cpp"
|
||||
#include "trials/TheBowlofEmbersHard.cpp"
|
||||
#include "trials/TheSingularityReactor.cpp"
|
||||
#include "trials/ContainmentBayS1T7Extreme.cpp"
|
||||
#include "trials/ContainmentBayS1T7.cpp"
|
||||
#include "trials/TheHowlingEyeHard.cpp"
|
||||
#include "trials/TheStrikingTreeExtreme.cpp"
|
||||
#include "trials/Emanation.cpp"
|
||||
#include "trials/SpecialEventI.cpp"
|
||||
#include "trials/TheLimitlessBlueExtreme.cpp"
|
||||
#include "trials/ThePoolofTributeExtreme.cpp"
|
||||
#include "trials/BattleontheBigBridge.cpp"
|
||||
#include "trials/TheRoyalMenagerie.cpp"
|
||||
#include "trials/BattleintheBigKeep.cpp"
|
||||
#include "trials/UrthsFount.cpp"
|
||||
#include "trials/EmanationExtreme.cpp"
|
||||
#include "trials/TheJadeStoa.cpp"
|
||||
#include "trials/TheHowlingEyeExtreme.cpp"
|
||||
#include "trials/TheBowlofEmbers.cpp"
|
||||
#include "trials/TheChrysalis.cpp"
|
||||
#include "trials/TheStepsofFaith.cpp"
|
||||
#include "trials/ARelicReborntheChimera.cpp"
|
||||
#include "trials/ContainmentBayP1T6.cpp"
|
||||
#include "trials/TheMinstrelsBalladNidhoggsRage.cpp"
|
||||
#include "trials/ThokastThokExtreme.cpp"
|
||||
#include "trials/ThornmarchExtreme.cpp"
|
||||
#include "trials/TheLimitlessBlueHard.cpp"
|
||||
#include "trials/ContainmentBayP1T6Extreme.cpp"
|
||||
#include "trials/TheNavelExtreme.cpp"
|
||||
#include "trials/SpecialEventII.cpp"
|
||||
#include "trials/TheWhorleaterExtreme.cpp"
|
||||
#include "trials/TheMinstrelsBalladUltimasBane.cpp"
|
||||
#include "trials/ContainmentBayZ1T9.cpp"
|
||||
#include "trials/TheFinalStepsofFaith.cpp"
|
||||
#include "trials/ThokastThokHard.cpp"
|
||||
#include "trials/AkhAfahAmphitheatreHard.cpp"
|
||||
#include "trials/CapeWestwind.cpp"
|
||||
#include "trials/TheMinstrelsBalladShinryusDomain.cpp"
|
||||
#include "trials/ContainmentBayZ1T9Extreme.cpp"
|
||||
#include "trials/SpecialEventIII.cpp"
|
||||
#include "trials/ThornmarchHard.cpp"
|
||||
#include "trials/TheDragonsNeck.cpp"
|
||||
#include "trials/TheNavelHard.cpp"
|
||||
#include "trials/TheWhorleaterHard.cpp"
|
||||
#include "trials/TheNavel.cpp"
|
||||
#include "trials/TheBowlofEmbersExtreme.cpp"
|
||||
#include "trials/ARelicReborntheHydra.cpp"
|
||||
#include "trials/ThePoolofTribute.cpp"
|
||||
#include "trials/TheHowlingEye.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors181190.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors6170.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors151160.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors4150.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors5160.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors3140.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors1120.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors110.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors141150.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors161170.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors131140.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors7180.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors101110.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors171180.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors2130.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors191200.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors121130.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors111120.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors91100.cpp"
|
||||
#include "deepdungeon/ThePalaceoftheDeadFloors8190.cpp"
|
||||
#include "treasurehunt/TheAquapolis.cpp"
|
||||
#include "treasurehunt/TheLostCanalsofUznair.cpp"
|
||||
#include "treasurehunt/TheHiddenCanalsofUznair.cpp"
|
||||
#include "hallofthenovice/InteractwiththeBattlefield.cpp"
|
||||
#include "hallofthenovice/AvoidEngagedTargets.cpp"
|
||||
#include "hallofthenovice/AvoidAreaofEffectAttacks.cpp"
|
||||
#include "hallofthenovice/HealMultipleAllies.cpp"
|
||||
#include "hallofthenovice/ExecuteaCombotoIncreaseEnmity.cpp"
|
||||
#include "hallofthenovice/AssistAlliesinDefeatingaTarget.cpp"
|
||||
#include "hallofthenovice/HealanAlly.cpp"
|
||||
#include "hallofthenovice/EngageMultipleTargets.cpp"
|
||||
#include "hallofthenovice/FinalExercise.cpp"
|
||||
#include "hallofthenovice/EngageEnemyReinforcements.cpp"
|
||||
#include "hallofthenovice/ExecuteaRangedAttacktoIncreaseEnmity.cpp"
|
||||
#include "hallofthenovice/ExecuteaComboinBattle.cpp"
|
||||
#include "hallofthenovice/DefeatanOccupiedTarget.cpp"
|
||||
#include "hallofthenovice/AccrueEnmityfromMultipleTargets.cpp"
|
||||
#include "events/TheValentionesCeremony.cpp"
|
||||
#include "events/TheHauntedManor.cpp"
|
||||
|
||||
const ScriptObject* ptrs[] =
|
||||
{
|
||||
static_cast< ScriptObject* >( new TheFeastTeamRanked ),
|
||||
static_cast< ScriptObject* >( new SealRockSeize ),
|
||||
static_cast< ScriptObject* >( new TheFeast4on4Ranked ),
|
||||
static_cast< ScriptObject* >( new TheFeast4on4LightParty ),
|
||||
static_cast< ScriptObject* >( new TheFeastRanked ),
|
||||
static_cast< ScriptObject* >( new TheFieldsofGloryShatter ),
|
||||
static_cast< ScriptObject* >( new TheFeastTraining ),
|
||||
static_cast< ScriptObject* >( new Astragalos ),
|
||||
static_cast< ScriptObject* >( new TheFeast4on4Training ),
|
||||
static_cast< ScriptObject* >( new TheFeastCustomMatchFeastingGrounds ),
|
||||
static_cast< ScriptObject* >( new TheFeastCustomMatchLichenweed ),
|
||||
static_cast< ScriptObject* >( new TheBorderlandRuinsSecure ),
|
||||
static_cast< ScriptObject* >( new TheFeastCustomMatchCrystalTower ),
|
||||
static_cast< ScriptObject* >( new TheTamTaraDeepcroft ),
|
||||
static_cast< ScriptObject* >( new DomaCastle ),
|
||||
static_cast< ScriptObject* >( new HullbreakerIsleHard ),
|
||||
static_cast< ScriptObject* >( new Snowcloak ),
|
||||
static_cast< ScriptObject* >( new TheGreatGubalLibrary ),
|
||||
static_cast< ScriptObject* >( new TheWanderersPalace ),
|
||||
static_cast< ScriptObject* >( new Xelphatol ),
|
||||
static_cast< ScriptObject* >( new TheLostCityofAmdaporHard ),
|
||||
static_cast< ScriptObject* >( new SaintMociannesArboretum ),
|
||||
static_cast< ScriptObject* >( new BardamsMettle ),
|
||||
static_cast< ScriptObject* >( new TheTamTaraDeepcroftHard ),
|
||||
static_cast< ScriptObject* >( new KuganeCastle ),
|
||||
static_cast< ScriptObject* >( new TheDrownedCityofSkalla ),
|
||||
static_cast< ScriptObject* >( new ShisuioftheVioletTides ),
|
||||
static_cast< ScriptObject* >( new CuttersCry ),
|
||||
static_cast< ScriptObject* >( new HellsLid ),
|
||||
static_cast< ScriptObject* >( new TheVault ),
|
||||
static_cast< ScriptObject* >( new TheStoneVigilHard ),
|
||||
static_cast< ScriptObject* >( new Sastasha ),
|
||||
static_cast< ScriptObject* >( new TheFractalContinuum ),
|
||||
static_cast< ScriptObject* >( new TheLostCityofAmdapor ),
|
||||
static_cast< ScriptObject* >( new TheAurumVale ),
|
||||
static_cast< ScriptObject* >( new SohrKhai ),
|
||||
static_cast< ScriptObject* >( new TheSunkenTempleofQarnHard ),
|
||||
static_cast< ScriptObject* >( new Neverreap ),
|
||||
static_cast< ScriptObject* >( new TheAntitower ),
|
||||
static_cast< ScriptObject* >( new Halatali ),
|
||||
static_cast< ScriptObject* >( new TheAery ),
|
||||
static_cast< ScriptObject* >( new PharosSiriusHard ),
|
||||
static_cast< ScriptObject* >( new CastrumMeridianum ),
|
||||
static_cast< ScriptObject* >( new TheGreatGubalLibraryHard ),
|
||||
static_cast< ScriptObject* >( new SohmAl ),
|
||||
static_cast< ScriptObject* >( new TheTempleoftheFist ),
|
||||
static_cast< ScriptObject* >( new TheKeeperoftheLake ),
|
||||
static_cast< ScriptObject* >( new AmdaporKeepHard ),
|
||||
static_cast< ScriptObject* >( new TheWanderersPalaceHard ),
|
||||
static_cast< ScriptObject* >( new CastrumAbania ),
|
||||
static_cast< ScriptObject* >( new AlaMhigo ),
|
||||
static_cast< ScriptObject* >( new PharosSirius ),
|
||||
static_cast< ScriptObject* >( new TheStoneVigil ),
|
||||
static_cast< ScriptObject* >( new TheThousandMawsofTotoRak ),
|
||||
static_cast< ScriptObject* >( new BrayfloxsLongstopHard ),
|
||||
static_cast< ScriptObject* >( new DzemaelDarkhold ),
|
||||
static_cast< ScriptObject* >( new SohmAlHard ),
|
||||
static_cast< ScriptObject* >( new HaukkeManor ),
|
||||
static_cast< ScriptObject* >( new HullbreakerIsle ),
|
||||
static_cast< ScriptObject* >( new TheFractalContinuumHard ),
|
||||
static_cast< ScriptObject* >( new TheSirensongSea ),
|
||||
static_cast< ScriptObject* >( new BaelsarsWall ),
|
||||
static_cast< ScriptObject* >( new HalataliHard ),
|
||||
static_cast< ScriptObject* >( new TheAetherochemicalResearchFacility ),
|
||||
static_cast< ScriptObject* >( new SastashaHard ),
|
||||
static_cast< ScriptObject* >( new CopperbellMinesHard ),
|
||||
static_cast< ScriptObject* >( new TheSunkenTempleofQarn ),
|
||||
static_cast< ScriptObject* >( new AmdaporKeep ),
|
||||
static_cast< ScriptObject* >( new TheDuskVigil ),
|
||||
static_cast< ScriptObject* >( new BrayfloxsLongstop ),
|
||||
static_cast< ScriptObject* >( new HaukkeManorHard ),
|
||||
static_cast< ScriptObject* >( new CopperbellMines ),
|
||||
static_cast< ScriptObject* >( new ThePraetorium ),
|
||||
static_cast< ScriptObject* >( new RaisingtheSword ),
|
||||
static_cast< ScriptObject* >( new InterdimensionalRift ),
|
||||
static_cast< ScriptObject* >( new CuriousGorgeMeetsHisMatch ),
|
||||
static_cast< ScriptObject* >( new WithHeartandSteel ),
|
||||
static_cast< ScriptObject* >( new OneLifeforOneWorld ),
|
||||
static_cast< ScriptObject* >( new ABloodyReunion ),
|
||||
static_cast< ScriptObject* >( new MatsubaMayhem ),
|
||||
static_cast< ScriptObject* >( new BloodontheDeck ),
|
||||
static_cast< ScriptObject* >( new OurCompromise ),
|
||||
static_cast< ScriptObject* >( new Naadam ),
|
||||
static_cast< ScriptObject* >( new InThalsName ),
|
||||
static_cast< ScriptObject* >( new TheResonant ),
|
||||
static_cast< ScriptObject* >( new OurUnsungHeroes ),
|
||||
static_cast< ScriptObject* >( new DarkwingDragon ),
|
||||
static_cast< ScriptObject* >( new BloodDragoon ),
|
||||
static_cast< ScriptObject* >( new ASpectaclefortheAges ),
|
||||
static_cast< ScriptObject* >( new ItsProbablyaTrap ),
|
||||
static_cast< ScriptObject* >( new TheBattleonBekko ),
|
||||
static_cast< ScriptObject* >( new TheHeartoftheProblem ),
|
||||
static_cast< ScriptObject* >( new TheOrphansandtheBrokenBlade ),
|
||||
static_cast< ScriptObject* >( new TheCarteneauFlatsHeliodrome ),
|
||||
static_cast< ScriptObject* >( new ReturnoftheBull ),
|
||||
static_cast< ScriptObject* >( new TheFaceofTrueEvil ),
|
||||
static_cast< ScriptObject* >( new WhenClansCollide ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheArmoftheSonSavage ),
|
||||
static_cast< ScriptObject* >( new TheLabyrinthoftheAncients ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV30 ),
|
||||
static_cast< ScriptObject* >( new TheVoidArk ),
|
||||
static_cast< ScriptObject* >( new SyrcusTower ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV20 ),
|
||||
static_cast< ScriptObject* >( new TheFinalCoilofBahamutTurn1 ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV20Savage ),
|
||||
static_cast< ScriptObject* >( new TheFinalCoilofBahamutTurn3 ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV30Savage ),
|
||||
static_cast< ScriptObject* >( new TheBindingCoilofBahamutTurn2 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheSouloftheCreatorSavage ),
|
||||
static_cast< ScriptObject* >( new DunScaith ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV40Savage ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutTurn1 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheHeartoftheCreatorSavage ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV40 ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutSavageTurn2 ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutTurn3 ),
|
||||
static_cast< ScriptObject* >( new TheUnendingCoilofBahamutUltimate ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutTurn2 ),
|
||||
static_cast< ScriptObject* >( new TheWorldofDarkness ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV10 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheBurdenoftheSonSavage ),
|
||||
static_cast< ScriptObject* >( new TheFinalCoilofBahamutTurn2 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheBurdenoftheFatherSavage ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheHeartoftheCreator ),
|
||||
static_cast< ScriptObject* >( new TheBindingCoilofBahamutTurn4 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheBreathoftheCreatorSavage ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheEyesoftheCreatorSavage ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheArmoftheFatherSavage ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV30 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheFistoftheFather ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV10 ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV10Savage ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV40Savage ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheCuffoftheSon ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheFistoftheSonSavage ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutSavageTurn3 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheArmoftheFather ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheCuffoftheSonSavage ),
|
||||
static_cast< ScriptObject* >( new TheBindingCoilofBahamutTurn5 ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV20 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheCuffoftheFather ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutSavageTurn1 ),
|
||||
static_cast< ScriptObject* >( new TheBindingCoilofBahamutTurn1 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheBurdenoftheSon ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheBreathoftheCreator ),
|
||||
static_cast< ScriptObject* >( new TheFinalCoilofBahamutTurn4 ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV30Savage ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheFistoftheSon ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheFistoftheFatherSavage ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheArmoftheSon ),
|
||||
static_cast< ScriptObject* >( new TheBindingCoilofBahamutTurn3 ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV40 ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutTurn4 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheCuffoftheFatherSavage ),
|
||||
static_cast< ScriptObject* >( new SigmascapeV10Savage ),
|
||||
static_cast< ScriptObject* >( new DeltascapeV20Savage ),
|
||||
static_cast< ScriptObject* >( new TheWeepingCityofMhach ),
|
||||
static_cast< ScriptObject* >( new TheRoyalCityofRabanastre ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheBurdenoftheFather ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheEyesoftheCreator ),
|
||||
static_cast< ScriptObject* >( new TheSecondCoilofBahamutSavageTurn4 ),
|
||||
static_cast< ScriptObject* >( new AlexanderTheSouloftheCreator ),
|
||||
static_cast< ScriptObject* >( new AkhAfahAmphitheatreExtreme ),
|
||||
static_cast< ScriptObject* >( new HeroontheHalfShell ),
|
||||
static_cast< ScriptObject* >( new BasicTrainingEnemyStrongholds ),
|
||||
static_cast< ScriptObject* >( new ShadowandClaw ),
|
||||
static_cast< ScriptObject* >( new AnnoytheVoid ),
|
||||
static_cast< ScriptObject* >( new StingingBack ),
|
||||
static_cast< ScriptObject* >( new FlickingSticksandTakingNames ),
|
||||
static_cast< ScriptObject* >( new SolemnTrinity ),
|
||||
static_cast< ScriptObject* >( new UndertheArmor ),
|
||||
static_cast< ScriptObject* >( new LongLivetheQueen ),
|
||||
static_cast< ScriptObject* >( new AllsWellthatEndsintheWell ),
|
||||
static_cast< ScriptObject* >( new MorethanaFeeler ),
|
||||
static_cast< ScriptObject* >( new PullingPoisonPosies ),
|
||||
static_cast< ScriptObject* >( new WardUp ),
|
||||
static_cast< ScriptObject* >( new BasicTrainingEnemyParties ),
|
||||
static_cast< ScriptObject* >( new TheStrikingTreeHard ),
|
||||
static_cast< ScriptObject* >( new TheJadeStoaExtreme ),
|
||||
static_cast< ScriptObject* >( new TheMinstrelsBalladThordansReign ),
|
||||
static_cast< ScriptObject* >( new TheBowlofEmbersHard ),
|
||||
static_cast< ScriptObject* >( new TheSingularityReactor ),
|
||||
static_cast< ScriptObject* >( new ContainmentBayS1T7Extreme ),
|
||||
static_cast< ScriptObject* >( new ContainmentBayS1T7 ),
|
||||
static_cast< ScriptObject* >( new TheHowlingEyeHard ),
|
||||
static_cast< ScriptObject* >( new TheStrikingTreeExtreme ),
|
||||
static_cast< ScriptObject* >( new Emanation ),
|
||||
static_cast< ScriptObject* >( new SpecialEventI ),
|
||||
static_cast< ScriptObject* >( new TheLimitlessBlueExtreme ),
|
||||
static_cast< ScriptObject* >( new ThePoolofTributeExtreme ),
|
||||
static_cast< ScriptObject* >( new BattleontheBigBridge ),
|
||||
static_cast< ScriptObject* >( new TheRoyalMenagerie ),
|
||||
static_cast< ScriptObject* >( new BattleintheBigKeep ),
|
||||
static_cast< ScriptObject* >( new UrthsFount ),
|
||||
static_cast< ScriptObject* >( new EmanationExtreme ),
|
||||
static_cast< ScriptObject* >( new TheJadeStoa ),
|
||||
static_cast< ScriptObject* >( new TheHowlingEyeExtreme ),
|
||||
static_cast< ScriptObject* >( new TheBowlofEmbers ),
|
||||
static_cast< ScriptObject* >( new TheChrysalis ),
|
||||
static_cast< ScriptObject* >( new TheStepsofFaith ),
|
||||
static_cast< ScriptObject* >( new ARelicReborntheChimera ),
|
||||
static_cast< ScriptObject* >( new ContainmentBayP1T6 ),
|
||||
static_cast< ScriptObject* >( new TheMinstrelsBalladNidhoggsRage ),
|
||||
static_cast< ScriptObject* >( new ThokastThokExtreme ),
|
||||
static_cast< ScriptObject* >( new ThornmarchExtreme ),
|
||||
static_cast< ScriptObject* >( new TheLimitlessBlueHard ),
|
||||
static_cast< ScriptObject* >( new ContainmentBayP1T6Extreme ),
|
||||
static_cast< ScriptObject* >( new TheNavelExtreme ),
|
||||
static_cast< ScriptObject* >( new SpecialEventII ),
|
||||
static_cast< ScriptObject* >( new TheWhorleaterExtreme ),
|
||||
static_cast< ScriptObject* >( new TheMinstrelsBalladUltimasBane ),
|
||||
static_cast< ScriptObject* >( new ContainmentBayZ1T9 ),
|
||||
static_cast< ScriptObject* >( new TheFinalStepsofFaith ),
|
||||
static_cast< ScriptObject* >( new ThokastThokHard ),
|
||||
static_cast< ScriptObject* >( new AkhAfahAmphitheatreHard ),
|
||||
static_cast< ScriptObject* >( new CapeWestwind ),
|
||||
static_cast< ScriptObject* >( new TheMinstrelsBalladShinryusDomain ),
|
||||
static_cast< ScriptObject* >( new ContainmentBayZ1T9Extreme ),
|
||||
static_cast< ScriptObject* >( new SpecialEventIII ),
|
||||
static_cast< ScriptObject* >( new ThornmarchHard ),
|
||||
static_cast< ScriptObject* >( new TheDragonsNeck ),
|
||||
static_cast< ScriptObject* >( new TheNavelHard ),
|
||||
static_cast< ScriptObject* >( new TheWhorleaterHard ),
|
||||
static_cast< ScriptObject* >( new TheNavel ),
|
||||
static_cast< ScriptObject* >( new TheBowlofEmbersExtreme ),
|
||||
static_cast< ScriptObject* >( new ARelicReborntheHydra ),
|
||||
static_cast< ScriptObject* >( new ThePoolofTribute ),
|
||||
static_cast< ScriptObject* >( new TheHowlingEye ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors181190 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors6170 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors151160 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors4150 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors5160 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors3140 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors1120 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors110 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors141150 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors161170 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors131140 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors7180 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors101110 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors171180 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors2130 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors191200 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors121130 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors111120 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors91100 ),
|
||||
static_cast< ScriptObject* >( new ThePalaceoftheDeadFloors8190 ),
|
||||
static_cast< ScriptObject* >( new TheAquapolis ),
|
||||
static_cast< ScriptObject* >( new TheLostCanalsofUznair ),
|
||||
static_cast< ScriptObject* >( new TheHiddenCanalsofUznair ),
|
||||
static_cast< ScriptObject* >( new InteractwiththeBattlefield ),
|
||||
static_cast< ScriptObject* >( new AvoidEngagedTargets ),
|
||||
static_cast< ScriptObject* >( new AvoidAreaofEffectAttacks ),
|
||||
static_cast< ScriptObject* >( new HealMultipleAllies ),
|
||||
static_cast< ScriptObject* >( new ExecuteaCombotoIncreaseEnmity ),
|
||||
static_cast< ScriptObject* >( new AssistAlliesinDefeatingaTarget ),
|
||||
static_cast< ScriptObject* >( new HealanAlly ),
|
||||
static_cast< ScriptObject* >( new EngageMultipleTargets ),
|
||||
static_cast< ScriptObject* >( new FinalExercise ),
|
||||
static_cast< ScriptObject* >( new EngageEnemyReinforcements ),
|
||||
static_cast< ScriptObject* >( new ExecuteaRangedAttacktoIncreaseEnmity ),
|
||||
static_cast< ScriptObject* >( new ExecuteaComboinBattle ),
|
||||
static_cast< ScriptObject* >( new DefeatanOccupiedTarget ),
|
||||
static_cast< ScriptObject* >( new AccrueEnmityfromMultipleTargets ),
|
||||
static_cast< ScriptObject* >( new TheValentionesCeremony ),
|
||||
static_cast< ScriptObject* >( new TheHauntedManor ),
|
||||
|
||||
nullptr
|
||||
};
|
||||
|
||||
extern "C" EXPORT const ScriptObject** getScripts()
|
||||
{
|
||||
return ptrs;
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue