1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-24 21:57:44 +00:00

Code style adjusted for 2 spaces and various other small things, checkout CodeStyle.xml for details

This commit is contained in:
Mordred 2018-08-29 21:40:59 +02:00
parent 2a74f6908e
commit e745bd0329
546 changed files with 51735 additions and 45827 deletions

103
CodeStyle.xml Normal file
View file

@ -0,0 +1,103 @@
<code_scheme name="Default" version="173">
<option name="AUTODETECT_INDENTS" value="false" />
<Objective-C>
<option name="INDENT_NAMESPACE_MEMBERS" value="0" />
<option name="INDENT_C_STRUCT_MEMBERS" value="2" />
<option name="INDENT_CLASS_MEMBERS" value="2" />
<option name="INDENT_INSIDE_CODE_BLOCK" value="2" />
<option name="FUNCTION_BRACE_PLACEMENT" value="2" />
<option name="BLOCK_BRACE_PLACEMENT" value="2" />
<option name="CLASS_CONSTRUCTOR_INIT_LIST_NEW_LINE_BEFORE_COLON" value="0" />
<option name="CLASS_CONSTRUCTOR_INIT_LIST_NEW_LINE_AFTER_COLON" value="1" />
<option name="SUPERCLASS_LIST_ALIGN_MULTILINE" value="false" />
<option name="SUPERCLASS_LIST_BEFORE_COLON" value="0" />
<option name="SUPERCLASS_LIST_AFTER_COLON" value="1" />
<option name="SPACE_WITHIN_TEMPLATE_DECLARATION_LTGT" value="true" />
<option name="SPACE_WITHIN_TEMPLATE_CALL_LTGT" value="true" />
<option name="SPACE_WITHIN_FUNCTION_DECLARATION_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_FUNCTION_CALL_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_LAMBDA_CAPTURE_LIST_BRACKET" value="true" />
<option name="SPACE_BEFORE_POINTER_IN_DECLARATION" value="false" />
<option name="SPACE_AFTER_POINTER_IN_DECLARATION" value="true" />
<option name="SPACE_BEFORE_REFERENCE_IN_DECLARATION" value="false" />
<option name="SPACE_AFTER_REFERENCE_IN_DECLARATION" value="true" />
<option name="SPACE_BETWEEN_ADJACENT_BRACKETS" value="true" />
<option name="DISCHARGED_SHORT_TERNARY_OPERATOR" value="true" />
</Objective-C>
<Objective-C-extensions>
<file>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
</file>
<class>
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
<option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
</class>
<extensions>
<pair source="cpp" header="h" fileNamingConvention="NONE" />
<pair source="c" header="h" fileNamingConvention="NONE" />
</extensions>
</Objective-C-extensions>
<DBN-PSQL>
<case-options enabled="false">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false" />
</DBN-PSQL>
<DBN-SQL>
<case-options enabled="false">
<option name="KEYWORD_CASE" value="lower" />
<option name="FUNCTION_CASE" value="lower" />
<option name="PARAMETER_CASE" value="lower" />
<option name="DATATYPE_CASE" value="lower" />
<option name="OBJECT_CASE" value="preserve" />
</case-options>
<formatting-settings enabled="false">
<option name="STATEMENT_SPACING" value="one_line" />
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
</formatting-settings>
</DBN-SQL>
<codeStyleSettings language="ObjectiveC">
<option name="KEEP_CONTROL_STATEMENT_IN_ONE_LINE" value="false" />
<option name="BRACE_STYLE" value="2" />
<option name="CLASS_BRACE_STYLE" value="2" />
<option name="ELSE_ON_NEW_LINE" value="true" />
<option name="SPACE_AROUND_LAMBDA_ARROW" value="false" />
<option name="SPACE_WITHIN_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_IF_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_WHILE_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_FOR_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_CATCH_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_SWITCH_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_CAST_PARENTHESES" value="true" />
<option name="SPACE_WITHIN_BRACKETS" value="true" />
<option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACES" value="true" />
<option name="SPACE_BEFORE_IF_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_WHILE_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_FOR_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_CATCH_PARENTHESES" value="false" />
<option name="SPACE_BEFORE_SWITCH_PARENTHESES" value="false" />
<option name="KEEP_SIMPLE_METHODS_IN_ONE_LINE" value="false" />
<indentOptions>
<option name="INDENT_SIZE" value="2" />
<option name="CONTINUATION_INDENT_SIZE" value="2" />
<option name="TAB_SIZE" value="2" />
</indentOptions>
</codeStyleSettings>
</code_scheme>

View file

@ -27,7 +27,8 @@ namespace Common {
float z; float z;
}; };
enum InventoryOperation : uint8_t enum InventoryOperation :
uint8_t
{ {
Discard = 0x07, Discard = 0x07,
Move = 0x08, Move = 0x08,
@ -36,7 +37,8 @@ namespace Common {
Split = 0x0A Split = 0x0A
}; };
enum ClientLanguage : uint8_t enum ClientLanguage :
uint8_t
{ {
Japanese = 1, Japanese = 1,
English = 2, English = 2,
@ -44,7 +46,8 @@ namespace Common {
French = 8 French = 8
}; };
enum ObjKind : uint8_t enum ObjKind :
uint8_t
{ {
None = 0x00, None = 0x00,
Player = 0x01, Player = 0x01,
@ -63,13 +66,15 @@ namespace Common {
CardStand = 0x0E, CardStand = 0x0E,
}; };
enum Stance : uint8_t enum Stance :
uint8_t
{ {
Passive = 0, Passive = 0,
Active = 1, Active = 1,
}; };
enum class DisplayFlags : uint16_t enum class DisplayFlags :
uint16_t
{ {
ActiveStance = 0x001, ActiveStance = 0x001,
Invisible = 0x020, Invisible = 0x020,
@ -79,7 +84,8 @@ namespace Common {
Visor = 0x800, Visor = 0x800,
}; };
enum struct ActorStatus : uint8_t enum struct ActorStatus :
uint8_t
{ {
Idle = 0x01, Idle = 0x01,
Dead = 0x02, Dead = 0x02,
@ -93,7 +99,8 @@ namespace Common {
EmoteMode = 0x0B EmoteMode = 0x0B
}; };
enum GearSetSlot : uint8_t enum GearSetSlot :
uint8_t
{ {
MainHand = 0, MainHand = 0,
OffHand = 1, OffHand = 1,
@ -111,7 +118,8 @@ namespace Common {
SoulCrystal = 13, SoulCrystal = 13,
}; };
enum EquipSlotCategory : uint8_t enum EquipSlotCategory :
uint8_t
{ {
Unequippable = 0, Unequippable = 0,
@ -151,7 +159,8 @@ namespace Common {
BodyDisallowLegsFeet = 21, BodyDisallowLegsFeet = 21,
}; };
enum InventoryType : uint16_t enum InventoryType :
uint16_t
{ {
Bag0 = 0, Bag0 = 0,
Bag1 = 1, Bag1 = 1,
@ -203,7 +212,8 @@ namespace Common {
FreeCompanyCrystal = 22001 FreeCompanyCrystal = 22001
}; };
enum ContainerType : uint16_t enum ContainerType :
uint16_t
{ {
Unknown = 0, Unknown = 0,
Bag = 1, Bag = 1,
@ -213,7 +223,8 @@ namespace Common {
}; };
enum CurrencyType : uint8_t enum CurrencyType :
uint8_t
{ {
Gil = 0x01, Gil = 0x01,
StormSeal = 0x02, StormSeal = 0x02,
@ -231,7 +242,8 @@ namespace Common {
TomestoneLore = 0x0E TomestoneLore = 0x0E
}; };
enum CrystalType : uint8_t enum CrystalType :
uint8_t
{ {
FireShard = 0x01, FireShard = 0x01,
IceShard = 0x02, IceShard = 0x02,
@ -255,7 +267,8 @@ namespace Common {
WaterCluster = 0x12 WaterCluster = 0x12
}; };
enum struct ZoneingType : uint8_t enum struct ZoneingType :
uint8_t
{ {
None = 1, None = 1,
Teleport = 2, Teleport = 2,
@ -264,22 +277,24 @@ namespace Common {
FadeIn = 5, FadeIn = 5,
}; };
enum struct ResurrectType : uint8_t enum struct ResurrectType :
uint8_t
{ {
None = 0, None = 0,
RaiseSpell = 5, RaiseSpell = 5,
Return = 8 Return = 8
}; };
enum Gender : uint8_t enum Gender :
uint8_t
{ {
Male = 0, Male = 0,
Female = 1, Female = 1,
}; };
enum struct GCRank :
enum struct GCRank : uint8_t uint8_t
{ {
None = 0, None = 0,
PrivateThirdClass = 1, PrivateThirdClass = 1,
@ -315,7 +330,8 @@ namespace Common {
uint32_t sourceActorId; uint32_t sourceActorId;
}; };
enum CharaLook : uint8_t enum CharaLook :
uint8_t
{ {
Race = 0x00, Race = 0x00,
Gender = 0x01, Gender = 0x01,
@ -346,7 +362,8 @@ namespace Common {
}; };
enum MoveType : uint8_t enum MoveType :
uint8_t
{ {
Running = 0x00, Running = 0x00,
Walking = 0x02, Walking = 0x02,
@ -355,7 +372,8 @@ namespace Common {
BackWalk = 0x06, BackWalk = 0x06,
}; };
enum MoveState : uint8_t enum MoveState :
uint8_t
{ {
No = 0x00, No = 0x00,
Land = 0x02, Land = 0x02,
@ -455,7 +473,8 @@ namespace Common {
}; };
enum struct ActionAspect : uint8_t enum struct ActionAspect :
uint8_t
{ {
None = 0, // Doesn't imply unaspected None = 0, // Doesn't imply unaspected
Fire = 1, Fire = 1,
@ -467,7 +486,8 @@ namespace Common {
Unaspected = 7 // Doesn't imply magical unaspected damage - could be unaspected physical Unaspected = 7 // Doesn't imply magical unaspected damage - could be unaspected physical
}; };
enum class ActionType : int8_t enum class ActionType :
int8_t
{ {
WeaponOverride = -1, // Needs more investigation (takes the damage type of the equipped weapon)? WeaponOverride = -1, // Needs more investigation (takes the damage type of the equipped weapon)?
Unknown_0 = 0, Unknown_0 = 0,
@ -481,7 +501,8 @@ namespace Common {
LimitBreak = 8, LimitBreak = 8,
}; };
enum ActionEffectType : uint8_t enum ActionEffectType :
uint8_t
{ {
Nothing = 0, Nothing = 0,
Miss = 1, Miss = 1,
@ -502,7 +523,8 @@ namespace Common {
Mount = 38 Mount = 38
}; };
enum class ActionHitSeverityType : uint8_t enum class ActionHitSeverityType :
uint8_t
{ {
NormalDamage = 0, NormalDamage = 0,
CritHeal = 0, CritHeal = 0,
@ -512,14 +534,16 @@ namespace Common {
CritDirectHitDamage = 3 CritDirectHitDamage = 3
}; };
enum ActionEffectDisplayType : uint8_t enum ActionEffectDisplayType :
uint8_t
{ {
HideActionName = 0, HideActionName = 0,
ShowActionName = 1, ShowActionName = 1,
ShowItemName = 2, ShowItemName = 2,
}; };
enum class ActionCollisionType : uint8_t enum class ActionCollisionType :
uint8_t
{ {
None, None,
SingleTarget, SingleTarget,
@ -532,28 +556,32 @@ namespace Common {
Unknown3 Unknown3
}; };
enum HandleActionType : uint8_t enum HandleActionType :
uint8_t
{ {
Event, Event,
Spell, Spell,
Teleport Teleport
}; };
enum HandleSkillType : uint8_t enum HandleSkillType :
uint8_t
{ {
StdDamage, StdDamage,
StdHeal, StdHeal,
StdDot, StdDot,
}; };
enum InvincibilityType : uint8_t enum InvincibilityType :
uint8_t
{ {
InvincibilityNone, InvincibilityNone,
InvincibilityRefill, InvincibilityRefill,
InvincibilityStayAlive, InvincibilityStayAlive,
}; };
enum PlayerStateFlag : uint8_t enum PlayerStateFlag :
uint8_t
{ {
HideUILockChar = 0, // as the name suggests, hides the ui and logs the char... HideUILockChar = 0, // as the name suggests, hides the ui and logs the char...
InCombat = 1, // in Combat, locks gearchange/return/teleport InCombat = 1, // in Combat, locks gearchange/return/teleport
@ -569,7 +597,8 @@ namespace Common {
}; };
enum struct FateStatus : uint8_t enum struct FateStatus :
uint8_t
{ {
Active = 2, Active = 2,
Inactive = 4, Inactive = 4,
@ -577,7 +606,8 @@ namespace Common {
Completed = 8, Completed = 8,
}; };
enum struct ChatType : uint16_t enum struct ChatType :
uint16_t
{ {
LogKindError, LogKindError,
ServerDebug, ServerDebug,
@ -682,7 +712,8 @@ namespace Common {
Unused100 Unused100
}; };
enum EquipDisplayFlags : uint8_t enum EquipDisplayFlags :
uint8_t
{ {
HideNothing = 0x0, HideNothing = 0x0,
HideHead = 0x1, HideHead = 0x1,
@ -695,7 +726,8 @@ namespace Common {
Visor = 0x40, Visor = 0x40,
}; };
enum SkillType : uint8_t enum SkillType :
uint8_t
{ {
Normal = 0x1, Normal = 0x1,
MountSkill = 0xD, MountSkill = 0xD,

View file

@ -5,37 +5,164 @@
namespace Core { namespace Core {
namespace Common { namespace Common {
bool operator==( const ActionCategory& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } bool operator==( const ActionCategory& t, const uint8_t& g )
bool operator==( const uint8_t& g, const ActionCategory& t ) { return static_cast< uint8_t >( t ) == g; } {
bool operator==( const BeastReputationRank& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } return static_cast< uint8_t >( t ) == g;
bool operator==( const uint8_t& g, const BeastReputationRank& t ) { return static_cast< uint8_t >( t ) == g; } }
bool operator==( const BeastTribe& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; }
bool operator==( const uint8_t& g, const BeastTribe& t ) { return static_cast< uint8_t >( t ) == g; } bool operator==( const uint8_t& g, const ActionCategory& t )
bool operator==( const ClassJob& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } {
bool operator==( const uint8_t& g, const ClassJob& t ) { return static_cast< uint8_t >( t ) == g; } return static_cast< uint8_t >( t ) == g;
bool operator==( const ContentType& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } }
bool operator==( const uint8_t& g, const ContentType& t ) { return static_cast< uint8_t >( t ) == g; }
bool operator==( const EmoteCategory& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } bool operator==( const BeastReputationRank& t, const uint8_t& g )
bool operator==( const uint8_t& g, const EmoteCategory& t ) { return static_cast< uint8_t >( t ) == g; } {
bool operator==( const ExVersion& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } return static_cast< uint8_t >( t ) == g;
bool operator==( const uint8_t& g, const ExVersion& t ) { return static_cast< uint8_t >( t ) == g; } }
bool operator==( const GrandCompany& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; }
bool operator==( const uint8_t& g, const GrandCompany& t ) { return static_cast< uint8_t >( t ) == g; } bool operator==( const uint8_t& g, const BeastReputationRank& t )
bool operator==( const GuardianDeity& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } {
bool operator==( const uint8_t& g, const GuardianDeity& t ) { return static_cast< uint8_t >( t ) == g; } return static_cast< uint8_t >( t ) == g;
bool operator==( const ItemUICategory& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } }
bool operator==( const uint8_t& g, const ItemUICategory& t ) { return static_cast< uint8_t >( t ) == g; }
bool operator==( const ItemSearchCategory& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } bool operator==( const BeastTribe& t, const uint8_t& g )
bool operator==( const uint8_t& g, const ItemSearchCategory& t ) { return static_cast< uint8_t >( t ) == g; } {
bool operator==( const OnlineStatus& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } return static_cast< uint8_t >( t ) == g;
bool operator==( const uint8_t& g, const OnlineStatus& t ) { return static_cast< uint8_t >( t ) == g; } }
bool operator==( const Race& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; }
bool operator==( const uint8_t& g, const Race& t ) { return static_cast< uint8_t >( t ) == g; } bool operator==( const uint8_t& g, const BeastTribe& t )
bool operator==( const Tribe& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } {
bool operator==( const uint8_t& g, const Tribe& t ) { return static_cast< uint8_t >( t ) == g; } return static_cast< uint8_t >( t ) == g;
bool operator==( const Town& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } }
bool operator==( const uint8_t& g, const Town& t ) { return static_cast< uint8_t >( t ) == g; }
bool operator==( const Weather& t, const uint8_t& g ) { return static_cast< uint8_t >( t ) == g; } bool operator==( const ClassJob& t, const uint8_t& g )
bool operator==( const uint8_t& g, const Weather& t ) { return static_cast< uint8_t >( t ) == g; } {
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const ClassJob& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const ContentType& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const ContentType& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const EmoteCategory& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const EmoteCategory& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const ExVersion& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const ExVersion& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const GrandCompany& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const GrandCompany& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const GuardianDeity& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const GuardianDeity& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const ItemUICategory& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const ItemUICategory& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const ItemSearchCategory& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const ItemSearchCategory& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const OnlineStatus& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const OnlineStatus& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const Race& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const Race& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const Tribe& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const Tribe& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const Town& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const Town& t )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const Weather& t, const uint8_t& g )
{
return static_cast< uint8_t >( t ) == g;
}
bool operator==( const uint8_t& g, const Weather& t )
{
return static_cast< uint8_t >( t ) == g;
}
} }
} }

View file

@ -11,7 +11,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//ActionCategory.exd //ActionCategory.exd
enum class ActionCategory : uint8_t enum class ActionCategory :
uint8_t
{ {
Autoattack = 1, Autoattack = 1,
Spell = 2, Spell = 2,
@ -32,7 +33,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//BeastReputationRank.exd //BeastReputationRank.exd
enum class BeastReputationRank : uint8_t enum class BeastReputationRank :
uint8_t
{ {
None = 0, None = 0,
Neutral = 1, Neutral = 1,
@ -47,13 +49,15 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//BeastTribe.exd //BeastTribe.exd
enum class BeastTribe : uint8_t enum class BeastTribe :
uint8_t
{ {
}; };
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//ClassJob.exd //ClassJob.exd
enum class ClassJob : uint8_t enum class ClassJob :
uint8_t
{ {
Adventurer = 0, Adventurer = 0,
Gladiator = 1, Gladiator = 1,
@ -95,7 +99,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//ContentType.exd //ContentType.exd
enum class ContentType : uint8_t enum class ContentType :
uint8_t
{ {
DutyRoulette = 1, DutyRoulette = 1,
Dungeons = 2, Dungeons = 2,
@ -123,7 +128,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//EmoteCategory.exd //EmoteCategory.exd
enum class EmoteCategory : uint8_t enum class EmoteCategory :
uint8_t
{ {
General = 1, General = 1,
Persistent = 2, Persistent = 2,
@ -132,7 +138,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//ExVersion.exd //ExVersion.exd
enum class ExVersion : uint8_t enum class ExVersion :
uint8_t
{ {
ARealmReborn = 0, ARealmReborn = 0,
Heavensward = 1, Heavensward = 1,
@ -141,7 +148,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//GrandCompany.exd //GrandCompany.exd
enum class GrandCompany : uint8_t enum class GrandCompany :
uint8_t
{ {
None = 0, None = 0,
Maelstrom = 1, Maelstrom = 1,
@ -151,7 +159,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//GuardianDeity.exd //GuardianDeity.exd
enum class GuardianDeity : uint8_t enum class GuardianDeity :
uint8_t
{ {
HalonetheFury = 1, HalonetheFury = 1,
MenphinatheLover = 2, MenphinatheLover = 2,
@ -169,7 +178,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//ItemUICategory.exd //ItemUICategory.exd
enum class ItemUICategory : uint8_t enum class ItemUICategory :
uint8_t
{ {
PugilistsArm = 1, PugilistsArm = 1,
GladiatorsArm = 2, GladiatorsArm = 2,
@ -275,7 +285,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//ItemSearchCategory.exd //ItemSearchCategory.exd
enum class ItemSearchCategory : uint8_t enum class ItemSearchCategory :
uint8_t
{ {
PrimaryArms = 1, PrimaryArms = 1,
PrimaryTools = 2, PrimaryTools = 2,
@ -366,7 +377,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//OnlineStatus.exd //OnlineStatus.exd
enum class OnlineStatus : uint8_t enum class OnlineStatus :
uint8_t
{ {
Producer = 1, Producer = 1,
GameMaster = 2, GameMaster = 2,
@ -419,7 +431,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//Race.exd //Race.exd
enum class Race : uint8_t enum class Race :
uint8_t
{ {
Hyur = 1, Hyur = 1,
Elezen = 2, Elezen = 2,
@ -431,7 +444,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//Tribe.exd //Tribe.exd
enum class Tribe : uint8_t enum class Tribe :
uint8_t
{ {
Midlander = 1, Midlander = 1,
Highlander = 2, Highlander = 2,
@ -449,7 +463,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//Town.exd //Town.exd
enum class Town : uint8_t enum class Town :
uint8_t
{ {
Nowheresville = 0, Nowheresville = 0,
LimsaLominsa = 1, LimsaLominsa = 1,
@ -461,7 +476,8 @@ namespace Common {
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
//Weather.exd //Weather.exd
enum class Weather : uint8_t enum class Weather :
uint8_t
{ {
None = 0, None = 0,
ClearSkies = 1, ClearSkies = 1,

View file

@ -3,12 +3,12 @@
#include <boost/property_tree/ptree.hpp> #include <boost/property_tree/ptree.hpp>
namespace Core namespace Core {
{
class ConfigMgr class ConfigMgr
{ {
public: public:
ConfigMgr() = default; ConfigMgr() = default;
~ConfigMgr() = default; ~ConfigMgr() = default;
bool loadConfig( const std::string& configName ); bool loadConfig( const std::string& configName );

View file

@ -1,7 +1,7 @@
/* /*
base64.cpp and base64.h base64.cpp and base64.h
Copyright (C) 2004-2008 René Nyffenegger Copyright (C) 2004-2008 Ren<EFBFBD> Nyffenegger
This source code is provided 'as-is', without any express or implied This source code is provided 'as-is', without any express or implied
warranty. In no event will the author be held liable for any damages warranty. In no event will the author be held liable for any damages
@ -21,7 +21,7 @@
3. This notice may not be removed or altered from any source distribution. 3. This notice may not be removed or altered from any source distribution.
René Nyffenegger rene.nyffenegger@adp-gmbh.ch Ren<EFBFBD> Nyffenegger rene.nyffenegger@adp-gmbh.ch
*/ */
@ -34,20 +34,24 @@ static const std::string base64_chars =
"0123456789+/"; "0123456789+/";
static inline bool is_base64( uint8_t c ) { static inline bool is_base64( uint8_t c )
{
return ( isalnum( c ) || ( c == '+' ) || ( c == '/' ) ); return ( isalnum( c ) || ( c == '+' ) || ( c == '/' ) );
} }
std::string Core::Util::base64_encode( uint8_t const* bytes_to_encode, uint32_t in_len ) { std::string Core::Util::base64_encode( uint8_t const* bytes_to_encode, uint32_t in_len )
{
std::string ret; std::string ret;
int32_t i = 0; int32_t i = 0;
int32_t j = 0; int32_t j = 0;
uint8_t char_array_3[3]; uint8_t char_array_3[3];
uint8_t char_array_4[4]; uint8_t char_array_4[4];
while( in_len-- ) { while( in_len-- )
{
char_array_3[ i++ ] = *( bytes_to_encode++ ); char_array_3[ i++ ] = *( bytes_to_encode++ );
if( i == 3 ) { if( i == 3 )
{
char_array_4[ 0 ] = ( char_array_3[ 0 ] & 0xfc ) >> 2; char_array_4[ 0 ] = ( char_array_3[ 0 ] & 0xfc ) >> 2;
char_array_4[ 1 ] = ( ( char_array_3[ 0 ] & 0x03 ) << 4 ) + ( ( char_array_3[ 1 ] & 0xf0 ) >> 4 ); char_array_4[ 1 ] = ( ( char_array_3[ 0 ] & 0x03 ) << 4 ) + ( ( char_array_3[ 1 ] & 0xf0 ) >> 4 );
char_array_4[ 2 ] = ( ( char_array_3[ 1 ] & 0x0f ) << 2 ) + ( ( char_array_3[ 2 ] & 0xc0 ) >> 6 ); char_array_4[ 2 ] = ( ( char_array_3[ 1 ] & 0x0f ) << 2 ) + ( ( char_array_3[ 2 ] & 0xc0 ) >> 6 );
@ -81,7 +85,8 @@ std::string Core::Util::base64_encode( uint8_t const* bytes_to_encode, uint32_t
} }
std::string Core::Util::base64_decode( std::string const& encoded_string ) { std::string Core::Util::base64_decode( std::string const& encoded_string )
{
int32_t in_len = encoded_string.size(); int32_t in_len = encoded_string.size();
int32_t i = 0; int32_t i = 0;
int32_t j = 0; int32_t j = 0;
@ -89,9 +94,12 @@ std::string Core::Util::base64_decode( std::string const& encoded_string ) {
uint8_t char_array_4[4], char_array_3[3]; uint8_t char_array_4[4], char_array_3[3];
std::string ret; std::string ret;
while( in_len-- && ( encoded_string[in_] != '=' ) && is_base64( encoded_string[in_] ) ) { while( in_len-- && ( encoded_string[ in_ ] != '=' ) && is_base64( encoded_string[ in_ ] ) )
char_array_4[i++] = encoded_string[in_]; in_++; {
if( i == 4 ) { char_array_4[ i++ ] = encoded_string[ in_ ];
in_++;
if( i == 4 )
{
for( i = 0; i < 4; i++ ) for( i = 0; i < 4; i++ )
char_array_4[ i ] = static_cast< uint8_t >( base64_chars.find( char_array_4[ i ] ) ); char_array_4[ i ] = static_cast< uint8_t >( base64_chars.find( char_array_4[ i ] ) );
@ -105,7 +113,8 @@ std::string Core::Util::base64_decode( std::string const& encoded_string ) {
} }
} }
if( i ) { if( i )
{
for( j = i; j < 4; j++ ) for( j = i; j < 4; j++ )
char_array_4[ j ] = 0; char_array_4[ j ] = 0;
@ -116,7 +125,8 @@ std::string Core::Util::base64_decode( std::string const& encoded_string ) {
char_array_3[ 1 ] = ( ( char_array_4[ 1 ] & 0xf ) << 4 ) + ( ( char_array_4[ 2 ] & 0x3c ) >> 2 ); char_array_3[ 1 ] = ( ( char_array_4[ 1 ] & 0xf ) << 4 ) + ( ( char_array_4[ 2 ] & 0x3c ) >> 2 );
char_array_3[ 2 ] = ( ( char_array_4[ 2 ] & 0x3 ) << 6 ) + char_array_4[ 3 ]; char_array_3[ 2 ] = ( ( char_array_4[ 2 ] & 0x3 ) << 6 ) + char_array_4[ 3 ];
for( j = 0; ( j < i - 1 ); j++ ) ret += char_array_3[j]; for( j = 0; ( j < i - 1 ); j++ )
ret += char_array_3[ j ];
} }
return ret; return ret;

View file

@ -1,10 +1,9 @@
#include <string> #include <string>
namespace Core namespace Core {
{ namespace Util {
namespace Util
{
std::string base64_encode( uint8_t const*, uint32_t len ); std::string base64_encode( uint8_t const*, uint32_t len );
std::string base64_decode( std::string const& s ); std::string base64_decode( std::string const& s );
} }
} }

View file

@ -34,14 +34,22 @@ void BlowFish::Blowfish_encipher (DWORD *xl, DWORD *xr)
Xr.dword = *xr; Xr.dword = *xr;
Xl.dword ^= PArray[ 0 ]; Xl.dword ^= PArray[ 0 ];
ROUND (Xr, Xl, 1) ; ROUND (Xl, Xr, 2) ; ROUND ( Xr, Xl, 1 );
ROUND (Xr, Xl, 3) ; ROUND (Xl, Xr, 4) ; ROUND ( Xl, Xr, 2 );
ROUND (Xr, Xl, 5) ; ROUND (Xl, Xr, 6) ; ROUND ( Xr, Xl, 3 );
ROUND (Xr, Xl, 7) ; ROUND (Xl, Xr, 8) ; ROUND ( Xl, Xr, 4 );
ROUND (Xr, Xl, 9) ; ROUND (Xl, Xr, 10) ; ROUND ( Xr, Xl, 5 );
ROUND (Xr, Xl, 11) ; ROUND (Xl, Xr, 12) ; ROUND ( Xl, Xr, 6 );
ROUND (Xr, Xl, 13) ; ROUND (Xl, Xr, 14) ; ROUND ( Xr, Xl, 7 );
ROUND (Xr, Xl, 15) ; ROUND (Xl, Xr, 16) ; ROUND ( Xl, Xr, 8 );
ROUND ( Xr, Xl, 9 );
ROUND ( Xl, Xr, 10 );
ROUND ( Xr, Xl, 11 );
ROUND ( Xl, Xr, 12 );
ROUND ( Xr, Xl, 13 );
ROUND ( Xl, Xr, 14 );
ROUND ( Xr, Xl, 15 );
ROUND ( Xl, Xr, 16 );
Xr.dword ^= PArray[ 17 ]; Xr.dword ^= PArray[ 17 ];
*xr = Xl.dword; *xr = Xl.dword;
@ -58,14 +66,22 @@ void BlowFish::Blowfish_decipher (DWORD *xl, DWORD *xr)
Xr.dword = *xr; Xr.dword = *xr;
Xl.dword ^= PArray[ 17 ]; Xl.dword ^= PArray[ 17 ];
ROUND (Xr, Xl, 16) ; ROUND (Xl, Xr, 15) ; ROUND ( Xr, Xl, 16 );
ROUND (Xr, Xl, 14) ; ROUND (Xl, Xr, 13) ; ROUND ( Xl, Xr, 15 );
ROUND (Xr, Xl, 12) ; ROUND (Xl, Xr, 11) ; ROUND ( Xr, Xl, 14 );
ROUND (Xr, Xl, 10) ; ROUND (Xl, Xr, 9) ; ROUND ( Xl, Xr, 13 );
ROUND (Xr, Xl, 8) ; ROUND (Xl, Xr, 7) ; ROUND ( Xr, Xl, 12 );
ROUND (Xr, Xl, 6) ; ROUND (Xl, Xr, 5) ; ROUND ( Xl, Xr, 11 );
ROUND (Xr, Xl, 4) ; ROUND (Xl, Xr, 3) ; ROUND ( Xr, Xl, 10 );
ROUND (Xr, Xl, 2) ; ROUND (Xl, Xr, 1) ; ROUND ( Xl, Xr, 9 );
ROUND ( Xr, Xl, 8 );
ROUND ( Xl, Xr, 7 );
ROUND ( Xr, Xl, 6 );
ROUND ( Xl, Xr, 5 );
ROUND ( Xr, Xl, 4 );
ROUND ( Xl, Xr, 3 );
ROUND ( Xr, Xl, 2 );
ROUND ( Xl, Xr, 1 );
Xr.dword ^= PArray[ 0 ]; Xr.dword ^= PArray[ 0 ];
*xl = Xr.dword; *xl = Xr.dword;
@ -107,7 +123,8 @@ void BlowFish::initialize (BYTE key[], int32_t keybytes)
uintptr_t v9 = ( uintptr_t ) key; uintptr_t v9 = ( uintptr_t ) key;
int32_t v8 = 0; int32_t v8 = 0;
int32_t v11 = 0; int32_t v11 = 0;
do { do
{
v13 = ( char ) ( *( BYTE* ) ( v8 + v9 ) ); v13 = ( char ) ( *( BYTE* ) ( v8 + v9 ) );
v12 = v8 + 1; v12 = v8 + 1;
if( v12 >= v10 ) if( v12 >= v10 )
@ -131,7 +148,6 @@ void BlowFish::initialize (BYTE key[], int32_t keybytes)
} while( v11 < 18 ); } while( v11 < 18 );
datal = 0; datal = 0;
datar = 0; datar = 0;

View file

@ -18,15 +18,22 @@ class BlowFish
private: private:
DWORD* PArray; DWORD* PArray;
DWORD (* SBoxes)[256]; DWORD (* SBoxes)[256];
void Blowfish_encipher( DWORD* xl, DWORD* xr ); void Blowfish_encipher( DWORD* xl, DWORD* xr );
void Blowfish_decipher( DWORD* xl, DWORD* xr ); void Blowfish_decipher( DWORD* xl, DWORD* xr );
public: public:
BlowFish(); BlowFish();
~BlowFish(); ~BlowFish();
void initialize( BYTE key[], int32_t keybytes ); void initialize( BYTE key[], int32_t keybytes );
DWORD GetOutputLength( DWORD lInputLong ); DWORD GetOutputLength( DWORD lInputLong );
DWORD Encode( BYTE* pInput, BYTE* pOutput, DWORD lSize ); DWORD Encode( BYTE* pInput, BYTE* pOutput, DWORD lSize );
void Decode( BYTE* pInput, BYTE* pOutput, DWORD lSize ); void Decode( BYTE* pInput, BYTE* pOutput, DWORD lSize );
}; };
@ -35,10 +42,12 @@ public:
#define ORDER_DCBA // chosing Intel in this case #define ORDER_DCBA // chosing Intel in this case
#ifdef ORDER_DCBA // DCBA - little endian - intel #ifdef ORDER_DCBA // DCBA - little endian - intel
union aword { union aword
{
DWORD dword; DWORD dword;
BYTE byte[4]; BYTE byte[4];
struct { struct
{
uint32_t byte3:8; uint32_t byte3:8;
uint32_t byte2:8; uint32_t byte2:8;
uint32_t byte1:8; uint32_t byte1:8;

View file

@ -175,7 +175,8 @@ void Core::Util::md5_update( md5_context *ctx, uint8_t *input, uint32_t length )
{ {
uint32_t left, fill; uint32_t left, fill;
if( !length ) return; if( !length )
return;
left = ctx->total[ 0 ] & 0x3F; left = ctx->total[ 0 ] & 0x3F;
fill = 64 - left; fill = 64 - left;

View file

@ -1,11 +1,10 @@
#ifndef _MD52_H #ifndef _MD52_H
#define _MD52_H #define _MD52_H
#include <stdint.h> #include <stdint.h>
namespace Core namespace Core {
{ namespace Util {
namespace Util
{
using md5_context = struct using md5_context = struct
{ {
uint32_t total[2]; uint32_t total[2];
@ -15,8 +14,11 @@ namespace Core
void md5( uint8_t* text, uint8_t* hash, int32_t size ); void md5( uint8_t* text, uint8_t* hash, int32_t size );
void md5_starts( md5_context* ctx ); void md5_starts( md5_context* ctx );
void md5_update( md5_context* ctx, uint8_t* input, uint32_t length ); void md5_update( md5_context* ctx, uint8_t* input, uint32_t length );
void md5_finish( md5_context* ctx, uint8_t digest[16] ); void md5_finish( md5_context* ctx, uint8_t digest[16] );
static const char* msg[] = static const char* msg[] =

View file

@ -1,12 +1,14 @@
#include "CharaDbConnection.h" #include "CharaDbConnection.h"
#include <MySqlConnector.h> #include <MySqlConnector.h>
Core::Db::CharaDbConnection::CharaDbConnection( ConnectionInfo& connInfo ) : DbConnection( connInfo ) Core::Db::CharaDbConnection::CharaDbConnection( ConnectionInfo& connInfo ) :
DbConnection( connInfo )
{ {
} }
Core::Db::CharaDbConnection::CharaDbConnection( Core::LockedWaitQueue< boost::shared_ptr< Operation > >* q, Core::Db::CharaDbConnection::CharaDbConnection( Core::LockedWaitQueue< boost::shared_ptr< Operation > >* q,
ConnectionInfo& connInfo) : DbConnection( q, connInfo ) ConnectionInfo& connInfo ) :
DbConnection( q, connInfo )
{ {
} }
@ -61,56 +63,86 @@ void Core::Db::CharaDbConnection::doPrepareStatements()
CONNECTION_SYNC ); CONNECTION_SYNC );
prepareStatement( CHARA_UP_NAME, "UPDATE charainfo SET Name = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_NAME, "UPDATE charainfo SET Name = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_HPMP, "UPDATE charainfo SET Hp = ?, Mp = ?, Tp = ?, Gp = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_HPMP, "UPDATE charainfo SET Hp = ?, Mp = ?, Tp = ?, Gp = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_MODE, "UPDATE charainfo SET Mode = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_MODE, "UPDATE charainfo SET Mode = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_MOUNT, "UPDATE charainfo SET Mount = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_MOUNT, "UPDATE charainfo SET Mount = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_INVINCIBLE, "UPDATE charainfo SET InvincibleGM = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_INVINCIBLE, "UPDATE charainfo SET InvincibleGM = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_CUSTOMIZE, "UPDATE charainfo SET Customize = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_CUSTOMIZE, "UPDATE charainfo SET Customize = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_MODELMAINWEAP, "UPDATE charainfo SET ModelMainWeapon = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_MODELMAINWEAP, "UPDATE charainfo SET ModelMainWeapon = ? WHERE CharacterId = ?;",
prepareStatement( CHARA_UP_MODELSUBWEAP, "UPDATE charainfo SET ModelSubWeapon = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); CONNECTION_ASYNC );
prepareStatement( CHARA_UP_MODELSYSWEAP, "UPDATE charainfo SET ModelSystemWeapon = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_MODELSUBWEAP, "UPDATE charainfo SET ModelSubWeapon = ? WHERE CharacterId = ?;",
prepareStatement( CHARA_UP_MODELEQUIP, "UPDATE charainfo SET ModelEquip = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); CONNECTION_ASYNC );
prepareStatement( CHARA_UP_EMOTEMODETYPE, "UPDATE charainfo SET EmoteModeType = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_MODELSYSWEAP, "UPDATE charainfo SET ModelSystemWeapon = ? WHERE CharacterId = ?;",
prepareStatement( CHARA_UP_FIRSTLOGINTIME, "UPDATE charainfo SET FirstLoginTime = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); CONNECTION_ASYNC );
prepareStatement( CHARA_UP_MODELEQUIP, "UPDATE charainfo SET ModelEquip = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_EMOTEMODETYPE, "UPDATE charainfo SET EmoteModeType = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_FIRSTLOGINTIME, "UPDATE charainfo SET FirstLoginTime = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_LANGUAGE, "UPDATE charainfo SET Language = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_LANGUAGE, "UPDATE charainfo SET Language = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_ISNEWGAME, "UPDATE charainfo SET IsNewGame = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_ISNEWGAME, "UPDATE charainfo SET IsNewGame = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_ISNEWADV, "UPDATE charainfo SET IsNewAdventurer = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_ISNEWADV, "UPDATE charainfo SET IsNewAdventurer = ? WHERE CharacterId = ?;",
prepareStatement( CHARA_UP_TERRITORY, "UPDATE charainfo SET TerritoryType = ?, TerritoryId = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); CONNECTION_ASYNC );
prepareStatement( CHARA_UP_POS, "UPDATE charainfo SET OPosX = ?, OPosY = ?, OPosZ = ?, OPosR = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_TERRITORY,
"UPDATE charainfo SET TerritoryType = ?, TerritoryId = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_POS,
"UPDATE charainfo SET OPosX = ?, OPosY = ?, OPosZ = ?, OPosR = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_CLASS, "UPDATE charainfo SET Class = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_CLASS, "UPDATE charainfo SET Class = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_STATUS, "UPDATE charainfo SET Status = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_STATUS, "UPDATE charainfo SET Status = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_TOTALPLAYTIME, "UPDATE charainfo SET TotalPlayTime = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_TOTALPLAYTIME, "UPDATE charainfo SET TotalPlayTime = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_HOMEPOINT, "UPDATE charainfo SET Homepoint = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_HOMEPOINT, "UPDATE charainfo SET Homepoint = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_FAVOPOINT, "UPDATE charainfo SET FavoritePoint = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_FAVOPOINT, "UPDATE charainfo SET FavoritePoint = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_TITLE, "UPDATE charainfo SET ActiveTitle = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_TITLE, "UPDATE charainfo SET ActiveTitle = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_TITLELIST, "UPDATE charainfo SET TitleList = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_TITLELIST, "UPDATE charainfo SET TitleList = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_ACHIEVEMENTS, "UPDATE charainfo SET Achievement = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_ACHIEVEMENTS, "UPDATE charainfo SET Achievement = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_AETHERYTE, "UPDATE charainfo SET Aetheryte = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_AETHERYTE, "UPDATE charainfo SET Aetheryte = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_HOWTO, "UPDATE charainfo SET HowTo = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_HOWTO, "UPDATE charainfo SET HowTo = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_MINIONS, "UPDATE charainfo SET Minions = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_MINIONS, "UPDATE charainfo SET Minions = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_MOUNTS, "UPDATE charainfo SET Mounts = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_MOUNTS, "UPDATE charainfo SET Mounts = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_GEARSET, "UPDATE charainfo SET EquippedMannequin = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_GEARSET, "UPDATE charainfo SET EquippedMannequin = ? WHERE CharacterId = ?;",
prepareStatement( CHARA_UP_CONFIGFLAGS, "UPDATE charainfo SET ConfigFlags = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); CONNECTION_ASYNC );
prepareStatement( CHARA_UP_QUESTCOMPLETE, "UPDATE charainfo SET QuestCompleteFlags = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_CONFIGFLAGS, "UPDATE charainfo SET ConfigFlags = ? WHERE CharacterId = ?;",
prepareStatement( CHARA_UP_OPENINGSEQ, "UPDATE charainfo SET OpeningSequence = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); CONNECTION_ASYNC );
prepareStatement( CHARA_UP_QUESTTRACKING, "UPDATE charainfo SET QuestTracking = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_QUESTCOMPLETE, "UPDATE charainfo SET QuestCompleteFlags = ? WHERE CharacterId = ?;",
prepareStatement( CHARA_UP_GRANDCOMPANY, "UPDATE charainfo SET GrandCompany = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); CONNECTION_ASYNC );
prepareStatement( CHARA_UP_GRANDCOMPANYRANKS, "UPDATE charainfo SET GrandCompanyRank = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_OPENINGSEQ, "UPDATE charainfo SET OpeningSequence = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_QUESTTRACKING, "UPDATE charainfo SET QuestTracking = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_GRANDCOMPANY, "UPDATE charainfo SET GrandCompany = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_GRANDCOMPANYRANKS, "UPDATE charainfo SET GrandCompanyRank = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_DISCOVERY, "UPDATE charainfo SET Discovery = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_DISCOVERY, "UPDATE charainfo SET Discovery = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_GMRANK, "UPDATE charainfo SET GMRank = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_GMRANK, "UPDATE charainfo SET GMRank = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_EQUIPDISPLAYFLAGS, "UPDATE charainfo SET EquipDisplayFlags = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_EQUIPDISPLAYFLAGS, "UPDATE charainfo SET EquipDisplayFlags = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_UP_UNLOCKS, "UPDATE charainfo SET Unlocks = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_UNLOCKS, "UPDATE charainfo SET Unlocks = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_UP_CFPENATLY, "UPDATE charainfo SET CFPenaltyUntil = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_UP_CFPENATLY, "UPDATE charainfo SET CFPenaltyUntil = ? WHERE CharacterId = ?;",
CONNECTION_ASYNC );
/// SEARCH INFO /// SEARCH INFO
prepareStatement( CHARA_SEARCHINFO_INS, "INSERT INTO charainfosearch (CharacterId, UPDATE_DATE ) VALUES ( ?, NOW() );", CONNECTION_BOTH ); prepareStatement( CHARA_SEARCHINFO_INS,
prepareStatement( CHARA_SEARCHINFO_UP_SELECTCLASS, "UPDATE charainfosearch SET SelectClassId = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); "INSERT INTO charainfosearch (CharacterId, UPDATE_DATE ) VALUES ( ?, NOW() );", CONNECTION_BOTH );
prepareStatement( CHARA_SEARCHINFO_UP_SELECTREGION, "UPDATE charainfosearch SET SelectRegion = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_SEARCHINFO_UP_SELECTCLASS,
prepareStatement( CHARA_SEARCHINFO_UP_SEARCHCOMMENT, "UPDATE charainfosearch SET SearchComment = ? WHERE CharacterId = ?;", CONNECTION_ASYNC ); "UPDATE charainfosearch SET SelectClassId = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_SEARCHINFO_UP_SELECTREGION,
"UPDATE charainfosearch SET SelectRegion = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_SEARCHINFO_UP_SEARCHCOMMENT,
"UPDATE charainfosearch SET SearchComment = ? WHERE CharacterId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_SEARCHINFO_SEL, "SELECT * FROM charainfosearch WHERE CharacterId = ?;", CONNECTION_SYNC ); prepareStatement( CHARA_SEARCHINFO_SEL, "SELECT * FROM charainfosearch WHERE CharacterId = ?;", CONNECTION_SYNC );
/// QUEST INFO /// QUEST INFO
prepareStatement( CHARA_QUEST_INS, "INSERT INTO charaquestnew ( CharacterId, SlotId, QuestId, Sequence, Flags, Variables_0, " prepareStatement( CHARA_QUEST_INS,
"INSERT INTO charaquestnew ( CharacterId, SlotId, QuestId, Sequence, Flags, Variables_0, "
"Variables_1, Variables_2, Variables_3, Variables_4, " "Variables_1, Variables_2, Variables_3, Variables_4, "
"Variables_5, Variables_6 ) VALUES( ?,?,?,?,?,?,?,?,?,?,?,? );", CONNECTION_ASYNC ); "Variables_5, Variables_6 ) VALUES( ?,?,?,?,?,?,?,?,?,?,?,? );", CONNECTION_ASYNC );
@ -119,23 +151,29 @@ void Core::Db::CharaDbConnection::doPrepareStatements()
"Variables_4 = ?, Variables_5 = ?, Variables_6 = ? " "Variables_4 = ?, Variables_5 = ?, Variables_6 = ? "
"WHERE CharacterId = ? AND QuestId = ?;", CONNECTION_ASYNC ); "WHERE CharacterId = ? AND QuestId = ?;", CONNECTION_ASYNC );
prepareStatement( CHARA_QUEST_DEL, "DELETE FROM charaquestnew WHERE CharacterId = ? AND QuestId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_QUEST_DEL, "DELETE FROM charaquestnew WHERE CharacterId = ? AND QuestId = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_QUEST_SEL, "SELECT * FROM charaquestnew WHERE CharacterId = ?;", CONNECTION_SYNC ); prepareStatement( CHARA_QUEST_SEL, "SELECT * FROM charaquestnew WHERE CharacterId = ?;", CONNECTION_SYNC );
/// CLASS INFO /// CLASS INFO
prepareStatement( CHARA_CLASS_SEL, "SELECT ClassIdx, Exp, Lvl FROM characlass WHERE CharacterId = ?;", CONNECTION_SYNC ); prepareStatement( CHARA_CLASS_SEL, "SELECT ClassIdx, Exp, Lvl FROM characlass WHERE CharacterId = ?;",
prepareStatement( CHARA_CLASS_INS, "INSERT INTO characlass ( CharacterId, ClassIdx, Exp, Lvl ) VALUES( ?,?,?,? );", CONNECTION_BOTH ); CONNECTION_SYNC );
prepareStatement( CHARA_CLASS_UP, "UPDATE characlass SET Exp = ?, Lvl = ? WHERE CharacterId = ? AND ClassIdx = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_CLASS_INS, "INSERT INTO characlass ( CharacterId, ClassIdx, Exp, Lvl ) VALUES( ?,?,?,? );",
CONNECTION_BOTH );
prepareStatement( CHARA_CLASS_UP, "UPDATE characlass SET Exp = ?, Lvl = ? WHERE CharacterId = ? AND ClassIdx = ?;",
CONNECTION_ASYNC );
prepareStatement( CHARA_CLASS_DEL, "DELETE FROM characlass WHERE CharacterId = ?;", CONNECTION_ASYNC ); prepareStatement( CHARA_CLASS_DEL, "DELETE FROM characlass WHERE CharacterId = ?;", CONNECTION_ASYNC );
/// INVENTORY INFO /// INVENTORY INFO
prepareStatement( CHARA_ITEMINV_INS, "INSERT INTO charaiteminventory ( CharacterId, storageId, UPDATE_DATE ) VALUES ( ?, ?, NOW() );", CONNECTION_BOTH ); prepareStatement( CHARA_ITEMINV_INS,
"INSERT INTO charaiteminventory ( CharacterId, storageId, UPDATE_DATE ) VALUES ( ?, ?, NOW() );",
CONNECTION_BOTH );
/// ITEM GLOBAL /// ITEM GLOBAL
prepareStatement( CHARA_ITEMGLOBAL_INS, "INSERT INTO charaglobalitem ( CharacterId, ItemId, catalogId, UPDATE_DATE ) VALUES ( ?, ?, ?, NOW() );", CONNECTION_BOTH ); prepareStatement( CHARA_ITEMGLOBAL_INS,
"INSERT INTO charaglobalitem ( CharacterId, ItemId, catalogId, UPDATE_DATE ) VALUES ( ?, ?, ?, NOW() );",
CONNECTION_BOTH );
} }

View file

@ -3,13 +3,12 @@
#include "DbConnection.h" #include "DbConnection.h"
namespace Core namespace Core {
{ namespace Db {
namespace Db
{
class DbConnectionInfo; class DbConnectionInfo;
enum CharaDbStatements : uint32_t enum CharaDbStatements :
uint32_t
{ {
CHARA_SEL, CHARA_SEL,
CHARA_SEL_MINIMAL, CHARA_SEL_MINIMAL,
@ -79,12 +78,14 @@ enum CharaDbStatements : uint32_t
MAX_STATEMENTS MAX_STATEMENTS
}; };
class CharaDbConnection : public DbConnection class CharaDbConnection :
public DbConnection
{ {
public: public:
using Statements = CharaDbStatements; using Statements = CharaDbStatements;
CharaDbConnection( ConnectionInfo& connInfo ); CharaDbConnection( ConnectionInfo& connInfo );
CharaDbConnection( Core::LockedWaitQueue< boost::shared_ptr< Operation > >* q, ConnectionInfo& connInfo ); CharaDbConnection( Core::LockedWaitQueue< boost::shared_ptr< Operation > >* q, ConnectionInfo& connInfo );
~CharaDbConnection(); ~CharaDbConnection();

View file

@ -140,7 +140,8 @@ boost::shared_ptr< Mysql::ResultSet > Core::Db::DbConnection::query( const std::
} }
boost::shared_ptr< Mysql::ResultSet > Core::Db::DbConnection::query( boost::shared_ptr< Core::Db::PreparedStatement > stmt ) boost::shared_ptr< Mysql::ResultSet >
Core::Db::DbConnection::query( boost::shared_ptr< Core::Db::PreparedStatement > stmt )
{ {
boost::shared_ptr< Mysql::ResultSet > res( nullptr ); boost::shared_ptr< Mysql::ResultSet > res( nullptr );
if( !stmt ) if( !stmt )

View file

@ -10,21 +10,24 @@
#include <boost/scoped_ptr.hpp> #include <boost/scoped_ptr.hpp>
#include <boost/enable_shared_from_this.hpp> #include <boost/enable_shared_from_this.hpp>
namespace Mysql namespace Mysql {
{
class Connection; class Connection;
class ResultSet; class ResultSet;
class PreparedResultSet; class PreparedResultSet;
class PreparedStatement; class PreparedStatement;
} }
namespace Core namespace Core {
{ namespace Db {
namespace Db
{
class DatabaseWorker; class DatabaseWorker;
class PreparedStatement; class PreparedStatement;
class Operation; class Operation;
class DbWorker; class DbWorker;
using PreparedStmtScopedPtr = boost::scoped_ptr< PreparedStatement >; using PreparedStmtScopedPtr = boost::scoped_ptr< PreparedStatement >;
@ -49,38 +52,53 @@ namespace Db
using PreparedStatementMap = std::map< uint32_t, std::pair< std::string, ConnectionFlags > >; using PreparedStatementMap = std::map< uint32_t, std::pair< std::string, ConnectionFlags > >;
class DbConnection : public boost::enable_shared_from_this< DbConnection > class DbConnection :
public boost::enable_shared_from_this< DbConnection >
{ {
public: public:
// Constructor for synchronous connections. // Constructor for synchronous connections.
DbConnection( ConnectionInfo& connInfo ); DbConnection( ConnectionInfo& connInfo );
// Constructor for asynchronous connections. // Constructor for asynchronous connections.
DbConnection( Core::LockedWaitQueue< boost::shared_ptr< Operation > >* queue, ConnectionInfo& connInfo ); DbConnection( Core::LockedWaitQueue< boost::shared_ptr< Operation > >* queue, ConnectionInfo& connInfo );
virtual ~DbConnection(); virtual ~DbConnection();
virtual uint32_t open(); virtual uint32_t open();
void close(); void close();
bool prepareStatements(); bool prepareStatements();
bool execute( const std::string& sql ); bool execute( const std::string& sql );
bool execute( boost::shared_ptr< PreparedStatement > stmt ); bool execute( boost::shared_ptr< PreparedStatement > stmt );
boost::shared_ptr< Mysql::ResultSet > query( const std::string& sql ); boost::shared_ptr< Mysql::ResultSet > query( const std::string& sql );
boost::shared_ptr< Mysql::ResultSet > query( boost::shared_ptr< PreparedStatement > stmt ); boost::shared_ptr< Mysql::ResultSet > query( boost::shared_ptr< PreparedStatement > stmt );
void beginTransaction(); void beginTransaction();
void rollbackTransaction(); void rollbackTransaction();
void commitTransaction(); void commitTransaction();
bool ping(); bool ping();
uint32_t getLastError(); uint32_t getLastError();
bool lockIfReady(); bool lockIfReady();
void unlock(); void unlock();
boost::shared_ptr< Mysql::Connection > getConnection() { return m_pConnection; } boost::shared_ptr< Mysql::Connection > getConnection()
{
return m_pConnection;
}
boost::shared_ptr< Mysql::PreparedStatement > getPreparedStatement( uint32_t index ); boost::shared_ptr< Mysql::PreparedStatement > getPreparedStatement( uint32_t index );
void prepareStatement( uint32_t index, const std::string& sql, ConnectionFlags flags ); void prepareStatement( uint32_t index, const std::string& sql, ConnectionFlags flags );
virtual void doPrepareStatements() = 0; virtual void doPrepareStatements() = 0;
@ -100,6 +118,7 @@ namespace Db
std::mutex m_mutex; std::mutex m_mutex;
DbConnection( DbConnection const& right ) = delete; DbConnection( DbConnection const& right ) = delete;
DbConnection& operator=( DbConnection const& right ) = delete; DbConnection& operator=( DbConnection const& right ) = delete;
}; };

View file

@ -24,7 +24,8 @@ Core::Db::DbLoader& Core::Db::DbLoader::addDb( Core::Db::DbWorkerPool< T >& pool
if( asyncThreads < 1 || asyncThreads > 32 ) if( asyncThreads < 1 || asyncThreads > 32 )
{ {
pLog->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; return false;
} }
@ -44,7 +45,8 @@ Core::Db::DbLoader& Core::Db::DbLoader::addDb( Core::Db::DbWorkerPool< T >& pool
} }
} }
m_close.push( [&pool] { pool.close(); } ); m_close.push( [ &pool ]
{ pool.close(); } );
return true; return true;
} ); } );

View file

@ -8,10 +8,8 @@
#include <string> #include <string>
#include "DbConnection.h" #include "DbConnection.h"
namespace Core namespace Core {
{ namespace Db {
namespace Db
{
template< class T > template< class T >
class DbWorkerPool; class DbWorkerPool;
@ -35,6 +33,7 @@ namespace Core
private: private:
bool openDatabases(); bool openDatabases();
bool prepareStatements(); bool prepareStatements();
using Predicate = std::function< bool() >; using Predicate = std::function< bool() >;

View file

@ -6,17 +6,17 @@
#include "Util/LockedWaitQueue.h" #include "Util/LockedWaitQueue.h"
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
namespace Core namespace Core {
{ namespace Db {
namespace Db
{
class DbConnection; class DbConnection;
class Operation; class Operation;
class DbWorker class DbWorker
{ {
public: public:
DbWorker( LockedWaitQueue< boost::shared_ptr< Operation > >* newQueue, DbConnection* connection ); DbWorker( LockedWaitQueue< boost::shared_ptr< Operation > >* newQueue, DbConnection* connection );
~DbWorker(); ~DbWorker();
private: private:
@ -24,16 +24,17 @@ namespace Db
DbConnection* m_pConn; DbConnection* m_pConn;
void workerThread(); void workerThread();
std::thread m_workerThread; std::thread m_workerThread;
std::atomic< bool > m_cancelationToken; std::atomic< bool > m_cancelationToken;
DbWorker( DbWorker const& right ) = delete; DbWorker( DbWorker const& right ) = delete;
DbWorker& operator=( DbWorker const& right ) = delete; DbWorker& operator=( DbWorker const& right ) = delete;
}; };
} }
} }
#endif //SAPPHIRE_DBWORKER_H #endif //SAPPHIRE_DBWORKER_H

View file

@ -12,7 +12,8 @@
extern Core::Framework g_fw; extern Core::Framework g_fw;
class PingOperation : public Core::Db::Operation class PingOperation :
public Core::Db::Operation
{ {
bool execute() override bool execute() override
{ {
@ -23,7 +24,8 @@ class PingOperation : public Core::Db::Operation
template< class T > template< class T >
Core::Db::DbWorkerPool< T >::DbWorkerPool() Core::Db::DbWorkerPool< T >::DbWorkerPool()
: m_queue( new Core::LockedWaitQueue< boost::shared_ptr< Operation > >() ), :
m_queue( new Core::LockedWaitQueue< boost::shared_ptr< Operation > >() ),
m_asyncThreads( 0 ), m_asyncThreads( 0 ),
m_synchThreads( 0 ) m_synchThreads( 0 )
{ {
@ -101,7 +103,8 @@ bool Core::Db::DbWorkerPool<T>::prepareStatements()
} }
template< class T > template< class T >
boost::shared_ptr< Mysql::ResultSet > Core::Db::DbWorkerPool< T >::query( const std::string& sql, boost::shared_ptr< T > connection ) boost::shared_ptr< Mysql::ResultSet >
Core::Db::DbWorkerPool< T >::query( const std::string& sql, boost::shared_ptr< T > connection )
{ {
if( !connection ) if( !connection )
connection = getFreeConnection(); connection = getFreeConnection();
@ -113,7 +116,8 @@ boost::shared_ptr< Mysql::ResultSet > Core::Db::DbWorkerPool< T >::query( const
} }
template< class T > template< class T >
boost::shared_ptr< Mysql::PreparedResultSet > Core::Db::DbWorkerPool< T >::query( boost::shared_ptr< PreparedStatement > stmt ) boost::shared_ptr< Mysql::PreparedResultSet >
Core::Db::DbWorkerPool< T >::query( boost::shared_ptr< PreparedStatement > stmt )
{ {
auto connection = getFreeConnection(); auto connection = getFreeConnection();
auto ret = boost::static_pointer_cast< Mysql::PreparedResultSet >( connection->query( stmt ) ); auto ret = boost::static_pointer_cast< Mysql::PreparedResultSet >( connection->query( stmt ) );
@ -123,7 +127,8 @@ boost::shared_ptr< Mysql::PreparedResultSet > Core::Db::DbWorkerPool< T >::query
} }
template< class T > template< class T >
boost::shared_ptr< Core::Db::PreparedStatement > Core::Db::DbWorkerPool< T >::getPreparedStatement( PreparedStatementIndex index ) boost::shared_ptr< Core::Db::PreparedStatement >
Core::Db::DbWorkerPool< T >::getPreparedStatement( PreparedStatementIndex index )
{ {
return boost::make_shared< PreparedStatement >( index ); return boost::make_shared< PreparedStatement >( index );
} }
@ -163,7 +168,8 @@ uint32_t Core::Db::DbWorkerPool< T >::openConnections( InternalIndex type, uint8
for( uint8_t i = 0; i < numConnections; ++i ) for( uint8_t i = 0; i < numConnections; ++i )
{ {
// Create the connection // Create the connection
auto connection = [&] { auto connection = [ & ]
{
switch( type ) switch( type )
{ {
case IDX_ASYNC: case IDX_ASYNC:
@ -277,4 +283,5 @@ void DatabaseWorkerPool<T>::ExecuteOrAppend(SQLTransaction& trans, PreparedState
} }
*/ */
template class Core::Db::DbWorkerPool< Core::Db::CharaDbConnection >; template
class Core::Db::DbWorkerPool< Core::Db::CharaDbConnection >;

View file

@ -7,15 +7,17 @@
#include <ResultSet.h> #include <ResultSet.h>
#include "Util/LockedWaitQueue.h" #include "Util/LockedWaitQueue.h"
#include "DbConnection.h" #include "DbConnection.h"
namespace Core
{ namespace Core {
namespace Db namespace Db {
{
template< typename T > template< typename T >
class LockedWaitQueue; class LockedWaitQueue;
class Operation; class Operation;
class PreparedStatement; class PreparedStatement;
struct ConnectionInfo; struct ConnectionInfo;
template< class T > template< class T >
@ -49,12 +51,17 @@ public:
// Async execution // Async execution
void execute( const std::string& sql ); void execute( const std::string& sql );
void execute( boost::shared_ptr< PreparedStatement > stmt ); void execute( boost::shared_ptr< PreparedStatement > stmt );
// Sync execution // Sync execution
void directExecute( const std::string& sql ); void directExecute( const std::string& sql );
void directExecute( boost::shared_ptr< PreparedStatement > stmt ); void directExecute( boost::shared_ptr< PreparedStatement > stmt );
boost::shared_ptr< Mysql::ResultSet > query( const std::string& sql, boost::shared_ptr< T > connection = nullptr );
boost::shared_ptr< Mysql::ResultSet >
query( const std::string& sql, boost::shared_ptr< T > connection = nullptr );
boost::shared_ptr< Mysql::PreparedResultSet > query( boost::shared_ptr< PreparedStatement > stmt ); boost::shared_ptr< Mysql::PreparedResultSet > query( boost::shared_ptr< PreparedStatement > stmt );
using PreparedStatementIndex = typename T::Statements; using PreparedStatementIndex = typename T::Statements;

View file

@ -1,36 +1,46 @@
#ifndef SAPPHIRE_OPERATION_H #ifndef SAPPHIRE_OPERATION_H
#define SAPPHIRE_OPERATION_H #define SAPPHIRE_OPERATION_H
namespace Mysql namespace Mysql {
{
class Connection; class Connection;
} }
namespace Core namespace Core {
{ namespace Db {
namespace Db
{
class DbConnection; class DbConnection;
class PreparedStatement; class PreparedStatement;
class Operation class Operation
{ {
public: public:
Operation() : m_pConn( nullptr ) { } Operation() :
virtual ~Operation() { } m_pConn( nullptr )
{
}
virtual ~Operation()
{
}
virtual int call() virtual int call()
{ {
execute(); execute();
return 0; return 0;
} }
virtual bool execute() = 0; virtual bool execute() = 0;
virtual void setConnection( DbConnection* pCon ) { m_pConn = pCon; }
virtual void setConnection( DbConnection* pCon )
{
m_pConn = pCon;
}
DbConnection* m_pConn; DbConnection* m_pConn;
private: private:
Operation( Operation const& right ) = delete; Operation( Operation const& right ) = delete;
Operation& operator=( Operation const& right ) = delete; Operation& operator=( Operation const& right ) = delete;
}; };

View file

@ -8,9 +8,13 @@
Core::Db::PreparedStatement::PreparedStatement( uint32_t index ) : Core::Db::PreparedStatement::PreparedStatement( uint32_t index ) :
m_stmt( nullptr ), m_stmt( nullptr ),
m_index( index ) { } m_index( index )
{
}
Core::Db::PreparedStatement::~PreparedStatement() { } Core::Db::PreparedStatement::~PreparedStatement()
{
}
void Core::Db::PreparedStatement::bindParameters() void Core::Db::PreparedStatement::bindParameters()
{ {

View file

@ -1,20 +1,18 @@
#ifndef SAPPHIRE_PREPAREDSTATEMENT_H #ifndef SAPPHIRE_PREPAREDSTATEMENT_H
#define SAPPHIRE_PREPAREDSTATEMENT_H #define SAPPHIRE_PREPAREDSTATEMENT_H
#include <stdint.h> #include <stdint.h>
#include <vector> #include <vector>
#include <string> #include <string>
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "Operation.h" #include "Operation.h"
namespace Mysql namespace Mysql {
{
class PreparedStatement; class PreparedStatement;
} }
namespace Core namespace Core {
{ namespace Db {
namespace Db
{
union PreparedStatementDataUnion union PreparedStatementDataUnion
{ {
bool boolean; bool boolean;
@ -49,19 +47,29 @@ namespace Db
{ {
public: public:
explicit PreparedStatement( uint32_t index ); explicit PreparedStatement( uint32_t index );
~PreparedStatement(); ~PreparedStatement();
void setBool( uint8_t index, bool value ); void setBool( uint8_t index, bool value );
void setUInt( uint8_t index, uint32_t value ); void setUInt( uint8_t index, uint32_t value );
void setUInt64( uint8_t index, uint64_t value ); void setUInt64( uint8_t index, uint64_t value );
void setInt( uint8_t index, int32_t value ); void setInt( uint8_t index, int32_t value );
void setInt64( uint8_t index, int64_t value ); void setInt64( uint8_t index, int64_t value );
void setDouble( uint8_t index, double value ); void setDouble( uint8_t index, double value );
void setString( uint8_t index, const std::string& value ); void setString( uint8_t index, const std::string& value );
void setBinary( uint8_t index, const std::vector< uint8_t >& value ); void setBinary( uint8_t index, const std::vector< uint8_t >& value );
void setNull( uint8_t index ); void setNull( uint8_t index );
uint32_t getIndex() const; uint32_t getIndex() const;
void setMysqlPS( boost::shared_ptr< Mysql::PreparedStatement > pStmt ); void setMysqlPS( boost::shared_ptr< Mysql::PreparedStatement > pStmt );
void bindParameters(); void bindParameters();
@ -72,6 +80,7 @@ namespace Db
std::vector< PreparedStatementData > m_statementData; std::vector< PreparedStatementData > m_statementData;
PreparedStatement( PreparedStatement const& right ) = delete; PreparedStatement( PreparedStatement const& right ) = delete;
PreparedStatement& operator=( PreparedStatement const& right ) = delete; PreparedStatement& operator=( PreparedStatement const& right ) = delete;
}; };
@ -80,5 +89,4 @@ namespace Db
} }
#endif //SAPPHIRE_PREPAREDSTATEMENT_H #endif //SAPPHIRE_PREPAREDSTATEMENT_H

View file

@ -38,8 +38,8 @@ bool Core::Db::StatementTask::execute()
} }
Core::Db::PreparedStatementTask::PreparedStatementTask( boost::shared_ptr< Core::Db::PreparedStatement > stmt,
Core::Db::PreparedStatementTask::PreparedStatementTask( boost::shared_ptr< Core::Db::PreparedStatement > stmt, bool async ) : bool async ) :
m_stmt( stmt ) m_stmt( stmt )
//, m_result(nullptr) //, m_result(nullptr)
{ {

View file

@ -5,13 +5,12 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "Operation.h" #include "Operation.h"
namespace Core namespace Core {
{ namespace Db {
namespace Db
{
class PreparedStatement; class PreparedStatement;
class StatementTask : public Operation class StatementTask :
public Operation
{ {
public: public:
@ -32,10 +31,12 @@ namespace Db
// QueryResultPromise *m_result; // QueryResultPromise *m_result;
}; };
class PreparedStatementTask : public Operation class PreparedStatementTask :
public Operation
{ {
public: public:
PreparedStatementTask( boost::shared_ptr< PreparedStatement > stmt, bool async = false ); PreparedStatementTask( boost::shared_ptr< PreparedStatement > stmt, bool async = false );
~PreparedStatementTask(); ~PreparedStatementTask();
bool execute() override; bool execute() override;

View file

@ -660,7 +660,8 @@ boost::shared_ptr< Core::Data::LevelInfo >
return nullptr; return nullptr;
} }
const std::vector<boost::shared_ptr< Core::Data::AetheryteInfo > > Core::Data::ExdData::getAetheryteInfoForZone( uint16_t zoneId ) const std::vector< boost::shared_ptr< Core::Data::AetheryteInfo > >
Core::Data::ExdData::getAetheryteInfoForZone( uint16_t zoneId )
{ {
std::vector< boost::shared_ptr< AetheryteInfo > > aetheryteList; std::vector< boost::shared_ptr< AetheryteInfo > > aetheryteList;

View file

@ -93,7 +93,6 @@ namespace Core {
uint8_t reward_reputation; uint8_t reward_reputation;
std::vector< std::string > script_entity; std::vector< std::string > script_entity;
std::vector< uint32_t > script_value; std::vector< uint32_t > script_value;
}; };
@ -290,6 +289,7 @@ namespace Core {
{ {
public: public:
ExdData(); ExdData();
~ExdData( void ); ~ExdData( void );
bool init( const std::string& path ); bool init( const std::string& path );
@ -326,23 +326,39 @@ namespace Core {
std::map< uint32_t, TribeInfo > m_tribeInfoMap; std::map< uint32_t, TribeInfo > m_tribeInfoMap;
bool loadZoneInfo(); bool loadZoneInfo();
bool loadClassJobInfo(); bool loadClassJobInfo();
bool loadParamGrowInfo(); bool loadParamGrowInfo();
bool loadEventActionInfo(); bool loadEventActionInfo();
bool loadActionInfo(); bool loadActionInfo();
bool loadStatusEffectInfo(); bool loadStatusEffectInfo();
bool loadAetheryteInfo(); bool loadAetheryteInfo();
bool loadTribeInfo(); bool loadTribeInfo();
boost::shared_ptr< QuestInfo > getQuestInfo( uint32_t questId ); boost::shared_ptr< QuestInfo > getQuestInfo( uint32_t questId );
boost::shared_ptr< OpeningInfo > getOpeningInfo( uint32_t openingId ); boost::shared_ptr< OpeningInfo > getOpeningInfo( uint32_t openingId );
boost::shared_ptr< CustomTalkInfo > getCustomTalkInfo( uint32_t customTalkId ); boost::shared_ptr< CustomTalkInfo > getCustomTalkInfo( uint32_t customTalkId );
boost::shared_ptr< AetheryteInfo > getAetheryteInfo( uint32_t aetheryteId ); boost::shared_ptr< AetheryteInfo > getAetheryteInfo( uint32_t aetheryteId );
boost::shared_ptr< ActionInfo > getActionInfo( uint32_t actionId ); boost::shared_ptr< ActionInfo > getActionInfo( uint32_t actionId );
boost::shared_ptr< PlaceNameInfo > getPlaceNameInfo( uint32_t placeNameId ); boost::shared_ptr< PlaceNameInfo > getPlaceNameInfo( uint32_t placeNameId );
boost::shared_ptr< ItemInfo > getItemInfo( uint32_t catalogId ); boost::shared_ptr< ItemInfo > getItemInfo( uint32_t catalogId );
boost::shared_ptr< RaceInfo > getRaceInfo( uint32_t raceId ); boost::shared_ptr< RaceInfo > getRaceInfo( uint32_t raceId );
boost::shared_ptr< EventItemInfo > getEventItemInfo( uint32_t eventItemId ); boost::shared_ptr< EventItemInfo > getEventItemInfo( uint32_t eventItemId );
boost::shared_ptr< LevelInfo > getLevelInfo( uint32_t levelId ); boost::shared_ptr< LevelInfo > getLevelInfo( uint32_t levelId );
const std::vector< boost::shared_ptr< AetheryteInfo > > getAetheryteInfoForZone( uint16_t zoneId ); const std::vector< boost::shared_ptr< AetheryteInfo > > getAetheryteInfoForZone( uint16_t zoneId );

View file

@ -4,7 +4,6 @@
#include <boost/variant.hpp> #include <boost/variant.hpp>
Core::Data::Achievement::Achievement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::Achievement::Achievement( uint32_t row_id, Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_AchievementDat.get_row( row_id ); auto row = exdData->m_AchievementDat.get_row( row_id );
@ -244,7 +243,8 @@ Core::Data::AirshipExplorationLog::AirshipExplorationLog( uint32_t row_id, Core:
text = exdData->getField< std::string >( row, 0 ); text = exdData->getField< std::string >( row, 0 );
} }
Core::Data::AirshipExplorationParamType::AirshipExplorationParamType( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::AirshipExplorationParamType::AirshipExplorationParamType( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_AirshipExplorationParamTypeDat.get_row( row_id ); auto row = exdData->m_AirshipExplorationParamTypeDat.get_row( row_id );
name = exdData->getField< std::string >( row, 0 ); name = exdData->getField< std::string >( row, 0 );
@ -306,7 +306,8 @@ Core::Data::AnimaWeapon5SpiritTalk::AnimaWeapon5SpiritTalk( uint32_t row_id, Cor
dialogue = exdData->getField< int32_t >( row, 0 ); dialogue = exdData->getField< int32_t >( row, 0 );
} }
Core::Data::AnimaWeapon5SpiritTalkParam::AnimaWeapon5SpiritTalkParam( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::AnimaWeapon5SpiritTalkParam::AnimaWeapon5SpiritTalkParam( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_AnimaWeapon5SpiritTalkParamDat.get_row( row_id ); auto row = exdData->m_AnimaWeapon5SpiritTalkParamDat.get_row( row_id );
prologue = exdData->getField< std::string >( row, 0 ); prologue = exdData->getField< std::string >( row, 0 );
@ -959,13 +960,15 @@ Core::Data::CompanyCraftDraft::CompanyCraftDraft( uint32_t row_id, Core::Data::E
order = exdData->getField< uint32_t >( row, 8 ); order = exdData->getField< uint32_t >( row, 8 );
} }
Core::Data::CompanyCraftDraftCategory::CompanyCraftDraftCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::CompanyCraftDraftCategory::CompanyCraftDraftCategory( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_CompanyCraftDraftCategoryDat.get_row( row_id ); auto row = exdData->m_CompanyCraftDraftCategoryDat.get_row( row_id );
name = exdData->getField< std::string >( row, 0 ); name = exdData->getField< std::string >( row, 0 );
} }
Core::Data::CompanyCraftManufactoryState::CompanyCraftManufactoryState( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::CompanyCraftManufactoryState::CompanyCraftManufactoryState( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_CompanyCraftManufactoryStateDat.get_row( row_id ); auto row = exdData->m_CompanyCraftManufactoryStateDat.get_row( row_id );
name = exdData->getField< std::string >( row, 0 ); name = exdData->getField< std::string >( row, 0 );
@ -1072,7 +1075,8 @@ Core::Data::ContentFinderCondition::ContentFinderCondition( uint32_t row_id, Cor
icon = exdData->getField< uint32_t >( row, 37 ); icon = exdData->getField< uint32_t >( row, 37 );
} }
Core::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::ContentFinderConditionTransient::ContentFinderConditionTransient( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_ContentFinderConditionTransientDat.get_row( row_id ); auto row = exdData->m_ContentFinderConditionTransientDat.get_row( row_id );
description = exdData->getField< std::string >( row, 0 ); description = exdData->getField< std::string >( row, 0 );
@ -1602,7 +1606,8 @@ Core::Data::EurekaGrowData::EurekaGrowData( uint32_t row_id, Core::Data::ExdData
baseResistance = exdData->getField< uint16_t >( row, 0 ); baseResistance = exdData->getField< uint16_t >( row, 0 );
} }
Core::Data::EurekaSphereElementAdjust::EurekaSphereElementAdjust( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::EurekaSphereElementAdjust::EurekaSphereElementAdjust( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_EurekaSphereElementAdjustDat.get_row( row_id ); auto row = exdData->m_EurekaSphereElementAdjustDat.get_row( row_id );
powerModifier = exdData->getField< uint16_t >( row, 0 ); powerModifier = exdData->getField< uint16_t >( row, 0 );
@ -1828,7 +1833,8 @@ Core::Data::GatheringItem::GatheringItem( uint32_t row_id, Core::Data::ExdDataGe
isHidden = exdData->getField< bool >( row, 2 ); isHidden = exdData->getField< bool >( row, 2 );
} }
Core::Data::GatheringItemLevelConvertTable::GatheringItemLevelConvertTable( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::GatheringItemLevelConvertTable::GatheringItemLevelConvertTable( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_GatheringItemLevelConvertTableDat.get_row( row_id ); auto row = exdData->m_GatheringItemLevelConvertTableDat.get_row( row_id );
gatheringItemLevel = exdData->getField< uint8_t >( row, 0 ); gatheringItemLevel = exdData->getField< uint8_t >( row, 0 );
@ -2024,7 +2030,8 @@ Core::Data::GcArmyExpedition::GcArmyExpedition( uint32_t row_id, Core::Data::Exd
description = exdData->getField< std::string >( row, 9 ); description = exdData->getField< std::string >( row, 9 );
} }
Core::Data::GcArmyExpeditionMemberBonus::GcArmyExpeditionMemberBonus( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::GcArmyExpeditionMemberBonus::GcArmyExpeditionMemberBonus( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_GcArmyExpeditionMemberBonusDat.get_row( row_id ); auto row = exdData->m_GcArmyExpeditionMemberBonusDat.get_row( row_id );
race = exdData->getField< uint8_t >( row, 0 ); race = exdData->getField< uint8_t >( row, 0 );
@ -2623,7 +2630,8 @@ Core::Data::MasterpieceSupplyDuty::MasterpieceSupplyDuty( uint32_t row_id, Core:
rewardCurrency = exdData->getField< uint16_t >( row, 2 ); rewardCurrency = exdData->getField< uint16_t >( row, 2 );
} }
Core::Data::MasterpieceSupplyMultiplier::MasterpieceSupplyMultiplier( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::MasterpieceSupplyMultiplier::MasterpieceSupplyMultiplier( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_MasterpieceSupplyMultiplierDat.get_row( row_id ); auto row = exdData->m_MasterpieceSupplyMultiplierDat.get_row( row_id );
xpMultiplier.push_back( exdData->getField< uint16_t >( row, 0 ) ); xpMultiplier.push_back( exdData->getField< uint16_t >( row, 0 ) );
@ -3370,7 +3378,8 @@ Core::Data::RacingChocoboName::RacingChocoboName( uint32_t row_id, Core::Data::E
name = exdData->getField< std::string >( row, 0 ); name = exdData->getField< std::string >( row, 0 );
} }
Core::Data::RacingChocoboNameCategory::RacingChocoboNameCategory( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::RacingChocoboNameCategory::RacingChocoboNameCategory( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_RacingChocoboNameCategoryDat.get_row( row_id ); auto row = exdData->m_RacingChocoboNameCategoryDat.get_row( row_id );
sortKey = exdData->getField< uint8_t >( row, 0 ); sortKey = exdData->getField< uint8_t >( row, 0 );
@ -3768,7 +3777,8 @@ Core::Data::ScenarioTreeTips::ScenarioTreeTips( uint32_t row_id, Core::Data::Exd
tips2 = exdData->getField< uint32_t >( row, 3 ); tips2 = exdData->getField< uint32_t >( row, 3 );
} }
Core::Data::ScenarioTreeTipsClassQuest::ScenarioTreeTipsClassQuest( uint32_t row_id, Core::Data::ExdDataGenerated* exdData ) Core::Data::ScenarioTreeTipsClassQuest::ScenarioTreeTipsClassQuest( uint32_t row_id,
Core::Data::ExdDataGenerated* exdData )
{ {
auto row = exdData->m_ScenarioTreeTipsClassQuestDat.get_row( row_id ); auto row = exdData->m_ScenarioTreeTipsClassQuestDat.get_row( row_id );
quest = exdData->getField< uint32_t >( row, 0 ); quest = exdData->getField< uint32_t >( row, 0 );

File diff suppressed because it is too large Load diff

View file

@ -3,27 +3,27 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
namespace Core namespace Core {
{
class ConfigMgr; class ConfigMgr;
typedef boost::shared_ptr< ConfigMgr > ConfigMgrPtr; typedef boost::shared_ptr< ConfigMgr > ConfigMgrPtr;
namespace Network namespace Network {
{
class Hive; class Hive;
class Acceptor; class Acceptor;
class Connection; class Connection;
typedef boost::shared_ptr< Hive > HivePtr; typedef boost::shared_ptr< Hive > HivePtr;
typedef boost::shared_ptr< Acceptor > AcceptorPtr; typedef boost::shared_ptr< Acceptor > AcceptorPtr;
typedef boost::shared_ptr< Connection > ConnectionPtr; typedef boost::shared_ptr< Connection > ConnectionPtr;
namespace Packets namespace Packets {
{
class GamePacket; class GamePacket;
class FFXIVPacketBase; class FFXIVPacketBase;
typedef boost::shared_ptr< GamePacket > GamePacketPtr; typedef boost::shared_ptr< GamePacket > GamePacketPtr;
@ -33,7 +33,6 @@ namespace Core
} }
} }

View file

@ -7,8 +7,7 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include <cassert> #include <cassert>
namespace Core namespace Core {
{
class Framework class Framework
{ {

View file

@ -37,16 +37,20 @@ namespace Core {
auto format = ( auto format = (
boost::log::expressions::stream << boost::log::expressions::stream <<
boost::log::expressions::format_date_time< boost::posix_time::ptime >("TimeStamp", "[%H:%M:%S]") << boost::log::expressions::format_date_time< boost::posix_time::ptime >(
"TimeStamp", "[%H:%M:%S]" ) <<
"[" << boost::log::trivial::severity << "] " << "[" << boost::log::trivial::severity << "] " <<
boost::log::expressions::smessage boost::log::expressions::smessage
); );
boost::log::add_file_log boost::log::add_file_log
( (
boost::log::keywords::file_name = m_logFile + "%Y-%m-%d.log", /*< file name pattern >*/ boost::log::keywords::file_name =
boost::log::keywords::rotation_size = 10 * 1024 * 1024, /*< rotate files every 10 MiB... >*/ m_logFile + "%Y-%m-%d.log", /*< file name pattern >*/
boost::log::keywords::time_based_rotation = boost::log::sinks::file::rotation_at_time_point(0, 0, 0), /*< ...or at midnight >*/ boost::log::keywords::rotation_size =
10 * 1024 * 1024, /*< rotate files every 10 MiB... >*/
boost::log::keywords::time_based_rotation = boost::log::sinks::file::rotation_at_time_point( 0, 0,
0 ), /*< ...or at midnight >*/
boost::log::keywords::open_mode = std::ios::app, boost::log::keywords::open_mode = std::ios::app,
boost::log::keywords::format = format, boost::log::keywords::format = format,
boost::log::keywords::auto_flush = true boost::log::keywords::auto_flush = true
@ -84,5 +88,4 @@ namespace Core {
} }
} }

View file

@ -6,7 +6,8 @@
namespace Core { namespace Core {
enum struct LoggingSeverity : uint8_t enum struct LoggingSeverity :
uint8_t
{ {
trace = 0, trace = 0,
debug = 1, debug = 1,
@ -34,8 +35,11 @@ namespace Core {
void Log( LoggingSeverity logSev, const std::string& text ); void Log( LoggingSeverity logSev, const std::string& text );
void error( const std::string& text ); void error( const std::string& text );
void info( const std::string& text ); void info( const std::string& text );
void debug( const std::string& text ); void debug( const std::string& text );
void fatal( const std::string& text ); void fatal( const std::string& text );
void setLogPath( const std::string& logPath ); void setLogPath( const std::string& logPath );
@ -43,9 +47,7 @@ namespace Core {
}; };
} }
#endif #endif

View file

@ -4,15 +4,14 @@
#include <boost/interprocess/detail/atomic.hpp> #include <boost/interprocess/detail/atomic.hpp>
#include <boost/bind.hpp> #include <boost/bind.hpp>
namespace Core namespace Core {
{ namespace Network {
namespace Network
{
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
Acceptor::Acceptor( HivePtr hive ) Acceptor::Acceptor( HivePtr hive )
: m_hive( hive ), :
m_hive( hive ),
m_acceptor( hive->GetService() ), m_acceptor( hive->GetService() ),
m_io_strand( hive->GetService() ), m_io_strand( hive->GetService() ),
m_error_state( 0 ) m_error_state( 0 )
@ -69,7 +68,8 @@ namespace Core
connection->GetSocket().remote_endpoint().address().to_string(), connection->GetSocket().remote_endpoint().address().to_string(),
connection->GetSocket().remote_endpoint().port() ) ) connection->GetSocket().remote_endpoint().port() ) )
{ {
connection->OnAccept( m_acceptor.local_endpoint().address().to_string(), m_acceptor.local_endpoint().port() ); connection->OnAccept( m_acceptor.local_endpoint().address().to_string(),
m_acceptor.local_endpoint().port() );
connection->Recv(); connection->Recv();
} }
} }

View file

@ -7,14 +7,13 @@
#include <boost/shared_ptr.hpp> #include <boost/shared_ptr.hpp>
#include "Forwards.h" #include "Forwards.h"
namespace Core namespace Core {
{ namespace Network {
namespace Network
{
class Connection; class Connection;
class Acceptor : public boost::enable_shared_from_this< Acceptor > class Acceptor :
public boost::enable_shared_from_this< Acceptor >
{ {
friend class Hive; friend class Hive;
@ -26,9 +25,13 @@ namespace Core
private: private:
Acceptor( const Acceptor& rhs ); Acceptor( const Acceptor& rhs );
Acceptor& operator=( const Acceptor& rhs ); Acceptor& operator=( const Acceptor& rhs );
void StartError( const boost::system::error_code& error ); void StartError( const boost::system::error_code& error );
void DispatchAccept( ConnectionPtr connection ); void DispatchAccept( ConnectionPtr connection );
void HandleAccept( const boost::system::error_code& error, ConnectionPtr connection ); void HandleAccept( const boost::system::error_code& error, ConnectionPtr connection );
private: private:
@ -46,6 +49,7 @@ namespace Core
public: public:
Acceptor( HivePtr hive ); Acceptor( HivePtr hive );
virtual ~Acceptor(); virtual ~Acceptor();
// Returns the Hive object. // Returns the Hive object.

View file

@ -15,7 +15,8 @@ namespace Core {
namespace Network { namespace Network {
namespace ActorControl { namespace ActorControl {
enum ActorControlType : uint16_t enum ActorControlType :
uint16_t
{ {
/*! Toggles weapon status -> Sheathed/UnSheathed /*! Toggles weapon status -> Sheathed/UnSheathed
\param param1 status 0|1 */ \param param1 status 0|1 */

View file

@ -118,10 +118,14 @@ inline istream& operator >> ( istream& is, FFXIVARR_PACKET_SEGMENT_HEADER& hdr )
return is.read( reinterpret_cast< char* >( &hdr ), sizeof hdr ); return is.read( reinterpret_cast< char* >( &hdr ), sizeof hdr );
} }
template < int T > struct FFXIVIpcBasePacket template< int T >
struct FFXIVIpcBasePacket
{ {
/** Creates a constant representing the IPC type */ /** Creates a constant representing the IPC type */
enum { _ServerIpcType = T }; enum
{
_ServerIpcType = T
};
}; };
struct FFXIVARR_PACKET_RAW struct FFXIVARR_PACKET_RAW

View file

@ -8,7 +8,8 @@ namespace Core {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
Connection::Connection( HivePtr hive ) Connection::Connection( HivePtr hive )
: m_hive( hive ), :
m_hive( hive ),
m_socket( hive->GetService() ), m_socket( hive->GetService() ),
m_io_strand( hive->GetService() ), m_io_strand( hive->GetService() ),
m_receive_buffer_size( 32000 ), m_receive_buffer_size( 32000 ),
@ -95,7 +96,8 @@ namespace Core {
} }
} }
void Connection::HandleSend( const boost::system::error_code & error, std::list< std::vector< uint8_t > >::iterator itr ) void
Connection::HandleSend( const boost::system::error_code& error, std::list< std::vector< uint8_t > >::iterator itr )
{ {
if( error || HasError() || m_hive->HasStopped() ) if( error || HasError() || m_hive->HasStopped() )
{ {
@ -154,7 +156,8 @@ namespace Core {
boost::asio::ip::tcp::resolver resolver( m_hive->GetService() ); boost::asio::ip::tcp::resolver resolver( m_hive->GetService() );
boost::asio::ip::tcp::resolver::query query( host, std::to_string( port ) ); boost::asio::ip::tcp::resolver::query query( host, std::to_string( port ) );
boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve( query ); boost::asio::ip::tcp::resolver::iterator iterator = resolver.resolve( query );
m_socket.async_connect( *iterator, m_io_strand.wrap( boost::bind( &Connection::HandleConnect, shared_from_this(), _1 ) ) ); m_socket.async_connect( *iterator,
m_io_strand.wrap( boost::bind( &Connection::HandleConnect, shared_from_this(), _1 ) ) );
} }

View file

@ -18,14 +18,18 @@ namespace Core {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
class Hive; class Hive;
class Acceptor; class Acceptor;
class Connection; class Connection;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
class Connection : public boost::enable_shared_from_this< Connection > class Connection :
public boost::enable_shared_from_this< Connection >
{ {
friend class Acceptor; friend class Acceptor;
friend class Hive; friend class Hive;
protected: protected:
@ -40,39 +44,61 @@ namespace Core {
Connection( HivePtr hive ); Connection( HivePtr hive );
virtual ~Connection(); virtual ~Connection();
private: private:
Connection( const Connection& rhs ); Connection( const Connection& rhs );
Connection& operator=( const Connection& rhs ); Connection& operator=( const Connection& rhs );
void StartSend(); void StartSend();
void StartRecv( int32_t total_bytes ); void StartRecv( int32_t total_bytes );
void StartError( const boost::system::error_code& error ); void StartError( const boost::system::error_code& error );
void DispatchSend( std::vector< uint8_t > buffer ); void DispatchSend( std::vector< uint8_t > buffer );
void DispatchRecv( int32_t total_bytes ); void DispatchRecv( int32_t total_bytes );
void HandleConnect( const boost::system::error_code& error ); void HandleConnect( const boost::system::error_code& error );
void HandleSend( const boost::system::error_code& error, std::list< std::vector< uint8_t > >::iterator itr ); void HandleSend( const boost::system::error_code& error, std::list< std::vector< uint8_t > >::iterator itr );
void HandleRecv( const boost::system::error_code& error, int32_t actual_bytes ); void HandleRecv( const boost::system::error_code& error, int32_t actual_bytes );
private: private:
// Called when the connection has successfully connected to the local host. // Called when the connection has successfully connected to the local host.
virtual void OnAccept( const std::string & host, uint16_t port ) {}; virtual void OnAccept( const std::string& host, uint16_t port )
{
};
// Called when the connection has successfully connected to the remote host. // Called when the connection has successfully connected to the remote host.
virtual void OnConnect( const std::string & host, uint16_t port ) {}; virtual void OnConnect( const std::string& host, uint16_t port )
{
};
// Called when data has been sent by the connection. // Called when data has been sent by the connection.
virtual void OnSend( const std::vector< uint8_t > & buffer ) {}; virtual void OnSend( const std::vector< uint8_t >& buffer )
{
};
// Called when data has been received by the connection. // Called when data has been received by the connection.
virtual void OnRecv( std::vector< uint8_t > & buffer ) {}; virtual void OnRecv( std::vector< uint8_t >& buffer )
{
};
// Called when an error is encountered. // Called when an error is encountered.
virtual void OnError( const boost::system::error_code & error ) {}; virtual void OnError( const boost::system::error_code& error )
{
};
// Called when the connection has been disconnected // Called when the connection has been disconnected
virtual void OnDisconnect() {}; virtual void OnDisconnect()
{
};
public: public:
// Returns the Hive object. // Returns the Hive object.

View file

@ -67,6 +67,7 @@ class FFXIVIpcPacketBase
{ {
public: public:
virtual ~FFXIVIpcPacketBase() = default; virtual ~FFXIVIpcPacketBase() = default;
/** /**
* @brief Gets the IPC type of this packet. (Useful for determining the * @brief Gets the IPC type of this packet. (Useful for determining the
* type of a parsed packet.) * type of a parsed packet.)
@ -109,8 +110,15 @@ protected:
uint16_t m_segmentType; uint16_t m_segmentType;
public: public:
virtual uint32_t getContentSize() { return 0; }; virtual uint32_t getContentSize()
virtual std::vector< uint8_t > getContent() { return{}; }; {
return 0;
};
virtual std::vector< uint8_t > getContent()
{
return {};
};
/** /**
* @brief Gets the segment type of this packet. * @brief Gets the segment type of this packet.
@ -170,7 +178,8 @@ public:
}; };
template< typename T, typename T1 > template< typename T, typename T1 >
class FFXIVIpcPacket : public FFXIVIpcPacketBase< T1 >, public FFXIVPacketBase class FFXIVIpcPacket :
public FFXIVIpcPacketBase< T1 >, public FFXIVPacketBase
{ {
public: public:
FFXIVIpcPacket< T, T1 >( uint32_t sourceActorId, uint32_t targetActorId ) : FFXIVIpcPacket< T, T1 >( uint32_t sourceActorId, uint32_t targetActorId ) :
@ -231,9 +240,15 @@ public:
}; };
/** Gets a reference to the underlying IPC data structure. */ /** Gets a reference to the underlying IPC data structure. */
T& data() { return m_data; }; T& data()
{
return m_data;
};
const T& data() const { return m_data; } const T& data() const
{
return m_data;
}
protected: protected:
/** Initializes the fields of the header structures */ /** Initializes the fields of the header structures */
@ -257,7 +272,8 @@ protected:
}; };
class FFXIVRawPacket : public FFXIVPacketBase class FFXIVRawPacket :
public FFXIVPacketBase
{ {
public: public:
FFXIVRawPacket( uint16_t type, uint32_t size, uint32_t sourceActorId, uint32_t targetActorId ) : FFXIVRawPacket( uint16_t type, uint32_t size, uint32_t sourceActorId, uint32_t targetActorId ) :
@ -298,7 +314,10 @@ public:
} }
/** Gets a reference to the underlying IPC data structure. */ /** Gets a reference to the underlying IPC data structure. */
std::vector< uint8_t >& data() { return m_data; }; std::vector< uint8_t >& data()
{
return m_data;
};
protected: protected:
/** Initializes the fields of the header structures */ /** Initializes the fields of the header structures */

View file

@ -1,5 +1,6 @@
#ifndef _GAMEPACKETPARSER_H #ifndef _GAMEPACKETPARSER_H
#define _GAMEPACKETPARSER_H #define _GAMEPACKETPARSER_H
#include "CommonNetwork.h" #include "CommonNetwork.h"
namespace Core { namespace Core {
@ -41,6 +42,7 @@ namespace Packets {
FFXIVARR_PACKET_RAW& packet ); FFXIVARR_PACKET_RAW& packet );
bool checkHeader( const FFXIVARR_PACKET_HEADER& header ); bool checkHeader( const FFXIVARR_PACKET_HEADER& header );
bool checkSegmentHeader( const FFXIVARR_PACKET_SEGMENT_HEADER& header ); bool checkSegmentHeader( const FFXIVARR_PACKET_SEGMENT_HEADER& header );
} }

View file

@ -9,7 +9,8 @@ namespace Core {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
Hive::Hive() Hive::Hive()
: m_work_ptr( new boost::asio::io_service::work( m_io_service ) ), :
m_work_ptr( new boost::asio::io_service::work( m_io_service ) ),
m_shutdown( 0 ) m_shutdown( 0 )
{ {
} }

View file

@ -8,7 +8,8 @@
namespace Core { namespace Core {
namespace Network { namespace Network {
class Hive : public boost::enable_shared_from_this< Hive > class Hive :
public boost::enable_shared_from_this< Hive >
{ {
private: private:
boost::asio::io_service m_io_service; boost::asio::io_service m_io_service;
@ -17,10 +18,12 @@ namespace Core {
private: private:
Hive( const Hive& rhs ); Hive( const Hive& rhs );
Hive& operator=( const Hive& rhs ); Hive& operator=( const Hive& rhs );
public: public:
Hive(); Hive();
virtual ~Hive(); virtual ~Hive();
// Returns the io_service of this object. // Returns the io_service of this object.

View file

@ -18,6 +18,7 @@ class PacketContainer
{ {
public: public:
PacketContainer( uint32_t segmentTargetOverride = 0 ); PacketContainer( uint32_t segmentTargetOverride = 0 );
~PacketContainer(); ~PacketContainer();
void addPacket( FFXIVPacketBasePtr entry ); void addPacket( FFXIVPacketBasePtr entry );

View file

@ -13,7 +13,8 @@ namespace Server {
* Structural representation of the packet sent by the server as response * Structural representation of the packet sent by the server as response
* to a tell request * to a tell request
*/ */
struct FFXIVIpcTell : FFXIVIpcBasePacket<Tell> struct FFXIVIpcTell :
FFXIVIpcBasePacket< Tell >
{ {
uint32_t u1; uint32_t u1;
uint16_t u2a; uint16_t u2a;
@ -29,7 +30,8 @@ struct FFXIVIpcTell : FFXIVIpcBasePacket<Tell>
* Structural representation of the packet sent by the server as response * Structural representation of the packet sent by the server as response
* to a failed tell because of unavailable target player * to a failed tell because of unavailable target player
*/ */
struct FFXIVIpcTellErrNotFound : FFXIVIpcBasePacket<TellErrNotFound> struct FFXIVIpcTellErrNotFound :
FFXIVIpcBasePacket< TellErrNotFound >
{ {
char receipientName[32]; char receipientName[32];
}; };

View file

@ -12,7 +12,8 @@ namespace Packets {
/** /**
* Server IPC Lobby Type Codes. * Server IPC Lobby Type Codes.
*/ */
enum ServerLobbyIpcType : uint16_t enum ServerLobbyIpcType :
uint16_t
{ {
LobbyError = 0x0002, LobbyError = 0x0002,
LobbyServiceAccountList = 0x000C, LobbyServiceAccountList = 0x000C,
@ -27,7 +28,8 @@ namespace Packets {
/** /**
* Client IPC Lobby Type Codes. * Client IPC Lobby Type Codes.
*/ */
enum ClientLobbyIpcType : uint16_t enum ClientLobbyIpcType :
uint16_t
{ {
ReqCharList = 0x0003, ReqCharList = 0x0003,
ReqEnterWorld = 0x0004, ReqEnterWorld = 0x0004,
@ -42,7 +44,8 @@ namespace Packets {
/** /**
* Server IPC Zone Type Codes. * Server IPC Zone Type Codes.
*/ */
enum ServerZoneIpcType : uint16_t enum ServerZoneIpcType :
uint16_t
{ {
// static opcode ( the ones that rarely, if ever, change ) // static opcode ( the ones that rarely, if ever, change )
@ -195,7 +198,8 @@ namespace Packets {
/** /**
* Client IPC Zone Type Codes. * Client IPC Zone Type Codes.
*/ */
enum ClientZoneIpcType : uint16_t enum ClientZoneIpcType :
uint16_t
{ {
PingHandler = 0x0065, // unchanged 4.3 PingHandler = 0x0065, // unchanged 4.3
@ -206,7 +210,6 @@ namespace Packets {
CFCommenceHandler = 0x006F, CFCommenceHandler = 0x006F,
CFRegisterDuty = 0x0071, CFRegisterDuty = 0x0071,
CFRegisterRoulette = 0x0072, CFRegisterRoulette = 0x0072,
PlayTimeHandler = 0x0073, // unchanged 4.3 PlayTimeHandler = 0x0073, // unchanged 4.3
@ -279,7 +282,8 @@ namespace Packets {
/** /**
* Server IPC Chat Type Codes. * Server IPC Chat Type Codes.
*/ */
enum ServerChatIpcType : uint16_t enum ServerChatIpcType :
uint16_t
{ {
Tell = 0x0064, // updated for sb Tell = 0x0064, // updated for sb
TellErrNotFound = 0x0066, TellErrNotFound = 0x0066,
@ -288,7 +292,8 @@ namespace Packets {
/** /**
* Client IPC Chat Type Codes. * Client IPC Chat Type Codes.
*/ */
enum ClientChatIpcType : uint16_t enum ClientChatIpcType :
uint16_t
{ {
TellReq = 0x0064, TellReq = 0x0064,
}; };

View file

@ -9,14 +9,16 @@ namespace Network {
namespace Packets { namespace Packets {
namespace Server { namespace Server {
struct FFXIVIpcRetainerList : FFXIVIpcBasePacket<LobbyRetainerList> struct FFXIVIpcRetainerList :
FFXIVIpcBasePacket< LobbyRetainerList >
{ {
uint8_t padding[0x210]; uint8_t padding[0x210];
}; };
/** /**
*/ */
struct FFXIVIpcServiceIdInfo : FFXIVIpcBasePacket<LobbyServiceAccountList> struct FFXIVIpcServiceIdInfo :
FFXIVIpcBasePacket< LobbyServiceAccountList >
{ {
uint64_t seq; uint64_t seq;
uint8_t padding; uint8_t padding;
@ -35,7 +37,8 @@ struct FFXIVIpcServiceIdInfo : FFXIVIpcBasePacket<LobbyServiceAccountList>
}; };
struct FFXIVIpcServerList : FFXIVIpcBasePacket<LobbyServerList> struct FFXIVIpcServerList :
FFXIVIpcBasePacket< LobbyServerList >
{ {
uint64_t seq; uint64_t seq;
uint16_t final; uint16_t final;
@ -56,7 +59,8 @@ struct FFXIVIpcServerList : FFXIVIpcBasePacket<LobbyServerList>
} server[6]; } server[6];
}; };
struct FFXIVIpcCharList : FFXIVIpcBasePacket<LobbyCharList> struct FFXIVIpcCharList :
FFXIVIpcBasePacket< LobbyCharList >
{ {
uint64_t seq; uint64_t seq;
uint8_t counter; // current packet count * 4, count * 4 +1 on last packet. uint8_t counter; // current packet count * 4, count * 4 +1 on last packet.
@ -96,7 +100,8 @@ struct FFXIVIpcCharList : FFXIVIpcBasePacket<LobbyCharList>
}; };
struct FFXIVIpcEnterWorld : FFXIVIpcBasePacket<LobbyEnterWorld> struct FFXIVIpcEnterWorld :
FFXIVIpcBasePacket< LobbyEnterWorld >
{ {
uint64_t seq; uint64_t seq;
uint32_t charId; uint32_t charId;
@ -110,7 +115,8 @@ struct FFXIVIpcEnterWorld : FFXIVIpcBasePacket<LobbyEnterWorld>
uint64_t padding4; uint64_t padding4;
}; };
struct FFXIVIpcCharCreate : FFXIVIpcBasePacket<LobbyCharCreate> struct FFXIVIpcCharCreate :
FFXIVIpcBasePacket< LobbyCharCreate >
{ {
uint64_t seq; uint64_t seq;
uint8_t unknown; uint8_t unknown;
@ -129,7 +135,8 @@ struct FFXIVIpcCharCreate : FFXIVIpcBasePacket<LobbyCharCreate>
char world[32]; char world[32];
}; };
struct FFXIVIpcLobbyError : FFXIVIpcBasePacket<LobbyError> struct FFXIVIpcLobbyError :
FFXIVIpcBasePacket< LobbyError >
{ {
uint64_t seq; uint64_t seq;
uint32_t error_id; uint32_t error_id;

View file

@ -9,7 +9,8 @@ namespace Network {
namespace Packets { namespace Packets {
namespace Client { namespace Client {
struct FFXIVIpcGmCommand1 : FFXIVIpcBasePacket< GMCommand1 > struct FFXIVIpcGmCommand1 :
FFXIVIpcBasePacket< GMCommand1 >
{ {
/* 0000 */ uint32_t commandId; /* 0000 */ uint32_t commandId;
/* 0004 */ uint32_t param1; /* 0004 */ uint32_t param1;
@ -18,14 +19,16 @@ struct FFXIVIpcGmCommand1 : FFXIVIpcBasePacket< GMCommand1 >
/* 0018 */ uint32_t param3; /* 0018 */ uint32_t param3;
}; };
struct FFXIVIpcGmCommand2 : FFXIVIpcBasePacket< GMCommand2 > struct FFXIVIpcGmCommand2 :
FFXIVIpcBasePacket< GMCommand2 >
{ {
/* 0000 */ uint32_t commandId; /* 0000 */ uint32_t commandId;
/* 0004 */ char unk_4[0x10]; /* 0004 */ char unk_4[0x10];
/* 0014 */ char param1[0x20]; /* 0014 */ char param1[0x20];
}; };
struct FFXIVIpcClientTrigger : FFXIVIpcBasePacket< ClientTrigger > struct FFXIVIpcClientTrigger :
FFXIVIpcBasePacket< ClientTrigger >
{ {
/* 0000 */ uint16_t commandId; /* 0000 */ uint16_t commandId;
/* 0002 */ uint8_t unk_2[2]; /* 0002 */ uint8_t unk_2[2];
@ -36,7 +39,8 @@ struct FFXIVIpcClientTrigger : FFXIVIpcBasePacket< ClientTrigger >
/* 0018 */ uint64_t param3; /* 0018 */ uint64_t param3;
}; };
struct FFXIVIpcSkillHandler : FFXIVIpcBasePacket< SkillHandler > struct FFXIVIpcSkillHandler :
FFXIVIpcBasePacket< SkillHandler >
{ {
/* 0000 */ char pad_0000[1]; /* 0000 */ char pad_0000[1];
/* 0001 */ uint8_t type; /* 0001 */ uint8_t type;
@ -47,17 +51,20 @@ struct FFXIVIpcSkillHandler : FFXIVIpcBasePacket< SkillHandler >
/* 0010 */ uint64_t targetId; /* 0010 */ uint64_t targetId;
}; };
struct FFXIVIpcZoneLineHandler : FFXIVIpcBasePacket< ZoneLineHandler > struct FFXIVIpcZoneLineHandler :
FFXIVIpcBasePacket< ZoneLineHandler >
{ {
/* 0000 */ uint32_t zoneLineId; /* 0000 */ uint32_t zoneLineId;
}; };
struct FFXIVIpcDiscoveryHandler : FFXIVIpcBasePacket< DiscoveryHandler > struct FFXIVIpcDiscoveryHandler :
FFXIVIpcBasePacket< DiscoveryHandler >
{ {
/* 0000 */ uint32_t positionRef; /* 0000 */ uint32_t positionRef;
}; };
struct FFXIVIpcEventHandlerReturn : FFXIVIpcBasePacket< ReturnEventHandler > struct FFXIVIpcEventHandlerReturn :
FFXIVIpcBasePacket< ReturnEventHandler >
{ {
/* 0000 */ uint32_t eventId; /* 0000 */ uint32_t eventId;
/* 0004 */ uint16_t scene; /* 0004 */ uint16_t scene;
@ -69,46 +76,53 @@ struct FFXIVIpcEventHandlerReturn : FFXIVIpcBasePacket< ReturnEventHandler >
/* 0010 */ uint16_t param4; /* 0010 */ uint16_t param4;
}; };
struct FFXIVIpcEnterTerritoryHandler : FFXIVIpcBasePacket< EnterTeriEventHandler > struct FFXIVIpcEnterTerritoryHandler :
FFXIVIpcBasePacket< EnterTeriEventHandler >
{ {
/* 0000 */ uint32_t eventId; /* 0000 */ uint32_t eventId;
/* 0004 */ uint16_t param1; /* 0004 */ uint16_t param1;
/* 0006 */ uint16_t param2; /* 0006 */ uint16_t param2;
}; };
struct FFXIVIpcEventHandlerOutsideRange : FFXIVIpcBasePacket< OutOfRangeEventHandler > struct FFXIVIpcEventHandlerOutsideRange :
FFXIVIpcBasePacket< OutOfRangeEventHandler >
{ {
/* 0000 */ uint32_t param1; /* 0000 */ uint32_t param1;
/* 0004 */ uint32_t eventId; /* 0004 */ uint32_t eventId;
/* 0008 */ Common::FFXIVARR_POSITION3 position; /* 0008 */ Common::FFXIVARR_POSITION3 position;
}; };
struct FFXIVIpcEventHandlerWithinRange : FFXIVIpcBasePacket< WithinRangeEventHandler > struct FFXIVIpcEventHandlerWithinRange :
FFXIVIpcBasePacket< WithinRangeEventHandler >
{ {
/* 0000 */ uint32_t param1; /* 0000 */ uint32_t param1;
/* 0004 */ uint32_t eventId; /* 0004 */ uint32_t eventId;
/* 0008 */ Common::FFXIVARR_POSITION3 position; /* 0008 */ Common::FFXIVARR_POSITION3 position;
}; };
struct FFXIVIpcEventHandlerEmote : FFXIVIpcBasePacket< EmoteEventHandler > struct FFXIVIpcEventHandlerEmote :
FFXIVIpcBasePacket< EmoteEventHandler >
{ {
/* 0000 */ uint64_t actorId; /* 0000 */ uint64_t actorId;
/* 0008 */ uint32_t eventId; /* 0008 */ uint32_t eventId;
/* 000C */ uint16_t emoteId; /* 000C */ uint16_t emoteId;
}; };
struct FFXIVIpcEventHandlerTalk : FFXIVIpcBasePacket< TalkEventHandler > struct FFXIVIpcEventHandlerTalk :
FFXIVIpcBasePacket< TalkEventHandler >
{ {
/* 0000 */ uint64_t actorId; /* 0000 */ uint64_t actorId;
/* 0008 */ uint32_t eventId; /* 0008 */ uint32_t eventId;
}; };
struct FFXIVIpcPingHandler : FFXIVIpcBasePacket< PingHandler > struct FFXIVIpcPingHandler :
FFXIVIpcBasePacket< PingHandler >
{ {
/* 0000 */ uint32_t timestamp; // maybe lol.. /* 0000 */ uint32_t timestamp; // maybe lol..
}; };
struct FFXIVIpcSetSearchInfo : FFXIVIpcBasePacket< SetSearchInfoHandler > struct FFXIVIpcSetSearchInfo :
FFXIVIpcBasePacket< SetSearchInfoHandler >
{ {
union union
{ {
@ -125,14 +139,16 @@ struct FFXIVIpcSetSearchInfo : FFXIVIpcBasePacket< SetSearchInfoHandler >
/* 0012 */ char searchComment[193]; /* 0012 */ char searchComment[193];
}; };
struct FFXIVIpcTellHandler : FFXIVIpcBasePacket< TellReq > struct FFXIVIpcTellHandler :
FFXIVIpcBasePacket< TellReq >
{ {
/* 0000 */ char pad_0000[4]; /* 0000 */ char pad_0000[4];
/* 0004 */ char targetPCName[32]; /* 0004 */ char targetPCName[32];
/* 0024 */ char message[1012]; /* 0024 */ char message[1012];
}; };
struct FFXIVIpcChatHandler : FFXIVIpcBasePacket< ChatHandler > struct FFXIVIpcChatHandler :
FFXIVIpcBasePacket< ChatHandler >
{ {
/* 0000 */ char pad_0000[4]; /* 0000 */ char pad_0000[4];
/* 0004 */ uint32_t sourceId; /* 0004 */ uint32_t sourceId;
@ -141,7 +157,8 @@ struct FFXIVIpcChatHandler : FFXIVIpcBasePacket< ChatHandler >
/* 001A */ char message[1012]; /* 001A */ char message[1012];
}; };
struct FFXIVIpcLinkshellEventHandler : FFXIVIpcBasePacket< LinkshellEventHandler > struct FFXIVIpcLinkshellEventHandler :
FFXIVIpcBasePacket< LinkshellEventHandler >
{ {
/* 0000 */ uint32_t eventId; /* 0000 */ uint32_t eventId;
/* 0004 */ uint16_t scene; /* 0004 */ uint16_t scene;
@ -149,7 +166,8 @@ struct FFXIVIpcLinkshellEventHandler : FFXIVIpcBasePacket< LinkshellEventHandler
/* 0007 */ char lsName[21]; /* 0007 */ char lsName[21];
}; };
struct FFXIVIpcInventoryModifyHandler : FFXIVIpcBasePacket< InventoryModifyHandler > struct FFXIVIpcInventoryModifyHandler :
FFXIVIpcBasePacket< InventoryModifyHandler >
{ {
/* 0000 */ uint32_t seq; /* 0000 */ uint32_t seq;
/* 0004 */ Common::InventoryOperation action; /* 0004 */ Common::InventoryOperation action;

View file

@ -19,7 +19,8 @@ namespace Server {
* Structural representation of the packet sent by the server as response * Structural representation of the packet sent by the server as response
* to a ping packet * to a ping packet
*/ */
struct FFXIVIpcPing : FFXIVIpcBasePacket<Ping> struct FFXIVIpcPing :
FFXIVIpcBasePacket< Ping >
{ {
/* 0000 */ uint64_t timeInMilliseconds; /* 0000 */ uint64_t timeInMilliseconds;
/* 0008 */ uint8_t unknown_8[0x38]; /* 0008 */ uint8_t unknown_8[0x38];
@ -29,7 +30,8 @@ struct FFXIVIpcPing : FFXIVIpcBasePacket<Ping>
* Structural representation of the packet sent by the server as response * Structural representation of the packet sent by the server as response
* to a ping packet * to a ping packet
*/ */
struct FFXIVIpcInit : FFXIVIpcBasePacket<Init> struct FFXIVIpcInit :
FFXIVIpcBasePacket< Init >
{ {
uint64_t unknown; uint64_t unknown;
uint32_t charId; uint32_t charId;
@ -40,7 +42,8 @@ struct FFXIVIpcInit : FFXIVIpcBasePacket<Init>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* carrying chat messages * carrying chat messages
*/ */
struct FFXIVIpcChat : FFXIVIpcBasePacket<Chat> struct FFXIVIpcChat :
FFXIVIpcBasePacket< Chat >
{ {
/* 0000 */ uint8_t padding[14]; //Maybe this is SubCode, or some kind of talker ID... /* 0000 */ uint8_t padding[14]; //Maybe this is SubCode, or some kind of talker ID...
Common::ChatType chatType; Common::ChatType chatType;
@ -48,7 +51,8 @@ struct FFXIVIpcChat : FFXIVIpcBasePacket<Chat>
char msg[1012]; char msg[1012];
}; };
struct FFXIVIpcChatBanned : FFXIVIpcBasePacket<ChatBanned> struct FFXIVIpcChatBanned :
FFXIVIpcBasePacket< ChatBanned >
{ {
uint8_t padding[4]; // I was not sure reinterpreting ZST is valid behavior in C++. uint8_t padding[4]; // I was not sure reinterpreting ZST is valid behavior in C++.
// client doesn't care about the data (zero sized) for this opcode anyway. // client doesn't care about the data (zero sized) for this opcode anyway.
@ -58,7 +62,8 @@ struct FFXIVIpcChatBanned : FFXIVIpcBasePacket<ChatBanned>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* carrying chat messages * carrying chat messages
*/ */
struct FFXIVIpcLogout : FFXIVIpcBasePacket<Logout> struct FFXIVIpcLogout :
FFXIVIpcBasePacket< Logout >
{ {
uint32_t flags1; uint32_t flags1;
uint32_t flags2; uint32_t flags2;
@ -68,7 +73,8 @@ struct FFXIVIpcLogout : FFXIVIpcBasePacket<Logout>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* sent to show the play time * sent to show the play time
*/ */
struct FFXIVIpcPlayTime : FFXIVIpcBasePacket<Playtime> struct FFXIVIpcPlayTime :
FFXIVIpcBasePacket< Playtime >
{ {
uint32_t playTimeInMinutes; uint32_t playTimeInMinutes;
uint32_t padding; uint32_t padding;
@ -79,7 +85,8 @@ struct FFXIVIpcPlayTime : FFXIVIpcBasePacket<Playtime>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* with a list of players ( party list | friend list | search results ) * with a list of players ( party list | friend list | search results )
*/ */
struct PlayerEntry { struct PlayerEntry
{
uint64_t contentId; uint64_t contentId;
uint8_t bytes[12]; uint8_t bytes[12];
uint16_t zoneId; uint16_t zoneId;
@ -96,7 +103,8 @@ struct PlayerEntry {
char fcTag[9]; char fcTag[9];
}; };
struct FFXIVIpcSocialList : FFXIVIpcBasePacket<SocialList> struct FFXIVIpcSocialList :
FFXIVIpcBasePacket< SocialList >
{ {
uint32_t padding; uint32_t padding;
uint32_t padding1; uint32_t padding1;
@ -109,7 +117,8 @@ struct FFXIVIpcSocialList : FFXIVIpcBasePacket<SocialList>
}; };
struct FFXIVIpcSetSearchInfo : FFXIVIpcBasePacket<UpdateSearchInfo> struct FFXIVIpcSetSearchInfo :
FFXIVIpcBasePacket< UpdateSearchInfo >
{ {
uint64_t onlineStatusFlags; uint64_t onlineStatusFlags;
uint64_t unknown; uint64_t unknown;
@ -120,7 +129,8 @@ struct FFXIVIpcSetSearchInfo : FFXIVIpcBasePacket<UpdateSearchInfo>
uint8_t padding2; uint8_t padding2;
}; };
struct FFXIVIpcInitSearchInfo : FFXIVIpcBasePacket<InitSearchInfo> struct FFXIVIpcInitSearchInfo :
FFXIVIpcBasePacket< InitSearchInfo >
{ {
uint64_t onlineStatusFlags; uint64_t onlineStatusFlags;
uint64_t unknown; uint64_t unknown;
@ -134,18 +144,21 @@ struct FFXIVIpcInitSearchInfo : FFXIVIpcBasePacket<InitSearchInfo>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to display a server notice message * to display a server notice message
*/ */
struct FFXIVIpcServerNotice : FFXIVIpcBasePacket<ServerNotice> struct FFXIVIpcServerNotice :
FFXIVIpcBasePacket< ServerNotice >
{ {
/* 0000 */ uint8_t padding; /* 0000 */ uint8_t padding;
char message[307]; char message[307];
}; };
struct FFXIVIpcSetOnlineStatus : FFXIVIpcBasePacket<SetOnlineStatus> struct FFXIVIpcSetOnlineStatus :
FFXIVIpcBasePacket< SetOnlineStatus >
{ {
uint64_t onlineStatusFlags; uint64_t onlineStatusFlags;
}; };
struct FFXIVIpcBlackList : FFXIVIpcBasePacket<BlackList> struct FFXIVIpcBlackList :
FFXIVIpcBasePacket< BlackList >
{ {
struct BlEntry struct BlEntry
{ {
@ -158,7 +171,8 @@ struct FFXIVIpcBlackList : FFXIVIpcBasePacket<BlackList>
uint32_t padding2; uint32_t padding2;
}; };
struct FFXIVIpcLogMessage : FFXIVIpcBasePacket<LogMessage> struct FFXIVIpcLogMessage :
FFXIVIpcBasePacket< LogMessage >
{ {
uint32_t field_0; uint32_t field_0;
uint32_t field_4; uint32_t field_4;
@ -172,7 +186,8 @@ struct FFXIVIpcLogMessage : FFXIVIpcBasePacket<LogMessage>
uint32_t field_58; uint32_t field_58;
}; };
struct FFXIVIpcLinkshellList : FFXIVIpcBasePacket<LinkshellList> struct FFXIVIpcLinkshellList :
FFXIVIpcBasePacket< LinkshellList >
{ {
struct LsEntry struct LsEntry
{ {
@ -185,7 +200,8 @@ struct FFXIVIpcLinkshellList : FFXIVIpcBasePacket<LinkshellList>
} entry[8]; } entry[8];
}; };
struct FFXIVIpcStatusEffectList : FFXIVIpcBasePacket<StatusEffectList> struct FFXIVIpcStatusEffectList :
FFXIVIpcBasePacket< StatusEffectList >
{ {
uint8_t classId; uint8_t classId;
uint8_t level1; uint8_t level1;
@ -200,7 +216,8 @@ struct FFXIVIpcStatusEffectList : FFXIVIpcBasePacket<StatusEffectList>
uint32_t padding; uint32_t padding;
}; };
struct FFXIVGCAffiliation : FFXIVIpcBasePacket<GCAffiliation> struct FFXIVGCAffiliation :
FFXIVIpcBasePacket< GCAffiliation >
{ {
uint8_t gcId; uint8_t gcId;
uint8_t gcRank[3]; uint8_t gcRank[3];
@ -210,7 +227,8 @@ struct FFXIVGCAffiliation : FFXIVIpcBasePacket<GCAffiliation>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* add a status effect * add a status effect
*/ */
struct FFXIVIpcAddStatusEffect : FFXIVIpcBasePacket<AddStatusEffect> struct FFXIVIpcAddStatusEffect :
FFXIVIpcBasePacket< AddStatusEffect >
{ {
uint32_t unknown; uint32_t unknown;
uint32_t actor_id; uint32_t actor_id;
@ -237,7 +255,8 @@ struct FFXIVIpcAddStatusEffect : FFXIVIpcBasePacket<AddStatusEffect>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update certain player details / status * to update certain player details / status
*/ */
struct FFXIVIpcActorControl142 : FFXIVIpcBasePacket<ActorControl142> struct FFXIVIpcActorControl142 :
FFXIVIpcBasePacket< ActorControl142 >
{ {
/* 0000 */ uint16_t category; /* 0000 */ uint16_t category;
/* 0002 */ uint16_t padding; /* 0002 */ uint16_t padding;
@ -252,7 +271,8 @@ struct FFXIVIpcActorControl142 : FFXIVIpcBasePacket<ActorControl142>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update certain player details / status * to update certain player details / status
*/ */
struct FFXIVIpcActorControl143 : FFXIVIpcBasePacket<ActorControl143> struct FFXIVIpcActorControl143 :
FFXIVIpcBasePacket< ActorControl143 >
{ {
/* 0000 */ uint16_t category; /* 0000 */ uint16_t category;
/* 0002 */ uint16_t padding; /* 0002 */ uint16_t padding;
@ -269,7 +289,8 @@ struct FFXIVIpcActorControl143 : FFXIVIpcBasePacket<ActorControl143>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update certain player details / status * to update certain player details / status
*/ */
struct FFXIVIpcActorControl144 : FFXIVIpcBasePacket<ActorControl144> struct FFXIVIpcActorControl144 :
FFXIVIpcBasePacket< ActorControl144 >
{ {
/* 0000 */ uint16_t category; /* 0000 */ uint16_t category;
/* 0002 */ uint16_t padding; /* 0002 */ uint16_t padding;
@ -285,7 +306,8 @@ struct FFXIVIpcActorControl144 : FFXIVIpcBasePacket<ActorControl144>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update HP / MP / TP * to update HP / MP / TP
*/ */
struct FFXIVIpcUpdateHpMpTp : FFXIVIpcBasePacket<UpdateHpMpTp> struct FFXIVIpcUpdateHpMpTp :
FFXIVIpcBasePacket< UpdateHpMpTp >
{ {
/* 0000 */ uint32_t hp; /* 0000 */ uint32_t hp;
/* 0004 */ uint16_t mp; /* 0004 */ uint16_t mp;
@ -335,7 +357,8 @@ struct EffectHeader
uint32_t padding_22[2]; uint32_t padding_22[2];
}; };
struct FFXIVIpcEffect : FFXIVIpcBasePacket<Effect> struct FFXIVIpcEffect :
FFXIVIpcBasePacket< Effect >
{ {
EffectHeader header; EffectHeader header;
@ -365,17 +388,30 @@ struct FFXIVIpcAoeEffect
uint32_t padding_78; uint32_t padding_78;
}; };
struct FFXIVIpcAoeEffect8 : FFXIVIpcBasePacket< AoeEffect8 >, FFXIVIpcAoeEffect< 8 > {}; struct FFXIVIpcAoeEffect8 :
struct FFXIVIpcAoeEffect16 : FFXIVIpcBasePacket< AoeEffect16 >, FFXIVIpcAoeEffect< 16 > {}; FFXIVIpcBasePacket< AoeEffect8 >, FFXIVIpcAoeEffect< 8 >
struct FFXIVIpcAoeEffect24 : FFXIVIpcBasePacket< AoeEffect24 >, FFXIVIpcAoeEffect< 24 > {}; {
struct FFXIVIpcAoeEffect32 : FFXIVIpcBasePacket< AoeEffect32 >, FFXIVIpcAoeEffect< 32 > {}; };
struct FFXIVIpcAoeEffect16 :
FFXIVIpcBasePacket< AoeEffect16 >, FFXIVIpcAoeEffect< 16 >
{
};
struct FFXIVIpcAoeEffect24 :
FFXIVIpcBasePacket< AoeEffect24 >, FFXIVIpcAoeEffect< 24 >
{
};
struct FFXIVIpcAoeEffect32 :
FFXIVIpcBasePacket< AoeEffect32 >, FFXIVIpcAoeEffect< 32 >
{
};
/** /**
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to spawn an actor * to spawn an actor
*/ */
struct FFXIVIpcPlayerSpawn : FFXIVIpcBasePacket<PlayerSpawn> struct FFXIVIpcPlayerSpawn :
FFXIVIpcBasePacket< PlayerSpawn >
{ {
uint16_t title; uint16_t title;
uint16_t u1b; uint16_t u1b;
@ -451,7 +487,8 @@ struct FFXIVIpcPlayerSpawn : FFXIVIpcBasePacket<PlayerSpawn>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to spawn an actor * to spawn an actor
*/ */
struct FFXIVIpcNpcSpawn : FFXIVIpcBasePacket<NpcSpawn> struct FFXIVIpcNpcSpawn :
FFXIVIpcBasePacket< NpcSpawn >
{ {
uint32_t gimmickId; // needs to be existing in the map, mob will snap to it uint32_t gimmickId; // needs to be existing in the map, mob will snap to it
uint8_t u2b; uint8_t u2b;
@ -531,7 +568,8 @@ struct FFXIVIpcNpcSpawn : FFXIVIpcBasePacket<NpcSpawn>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to show player movement * to show player movement
*/ */
struct FFXIVIpcActorFreeSpawn : FFXIVIpcBasePacket<ActorFreeSpawn> struct FFXIVIpcActorFreeSpawn :
FFXIVIpcBasePacket< ActorFreeSpawn >
{ {
uint32_t spawnId; uint32_t spawnId;
uint32_t actorId; uint32_t actorId;
@ -541,7 +579,8 @@ struct FFXIVIpcActorFreeSpawn : FFXIVIpcBasePacket<ActorFreeSpawn>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to show player movement * to show player movement
*/ */
struct FFXIVIpcActorMove : FFXIVIpcBasePacket<ActorMove> struct FFXIVIpcActorMove :
FFXIVIpcBasePacket< ActorMove >
{ {
/* 0000 */ uint8_t rotation; /* 0000 */ uint8_t rotation;
/* 0001 */ uint8_t unknown_1; /* 0001 */ uint8_t unknown_1;
@ -558,7 +597,8 @@ struct FFXIVIpcActorMove : FFXIVIpcBasePacket<ActorMove>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to set an actors position * to set an actors position
*/ */
struct FFXIVIpcActorSetPos : FFXIVIpcBasePacket<ActorSetPos> struct FFXIVIpcActorSetPos :
FFXIVIpcBasePacket< ActorSetPos >
{ {
uint16_t r16; uint16_t r16;
uint8_t waitForLoad; uint8_t waitForLoad;
@ -572,12 +612,12 @@ struct FFXIVIpcActorSetPos : FFXIVIpcBasePacket<ActorSetPos>
}; };
/** /**
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to start an actors casting * to start an actors casting
*/ */
struct FFXIVIpcActorCast : FFXIVIpcBasePacket<ActorCast> struct FFXIVIpcActorCast :
FFXIVIpcBasePacket< ActorCast >
{ {
uint16_t action_id; uint16_t action_id;
Common::SkillType skillType; Common::SkillType skillType;
@ -593,7 +633,8 @@ struct FFXIVIpcActorCast : FFXIVIpcBasePacket<ActorCast>
uint16_t unknown_3; uint16_t unknown_3;
}; };
struct FFXIVIpcHateList : FFXIVIpcBasePacket<HateList> struct FFXIVIpcHateList :
FFXIVIpcBasePacket< HateList >
{ {
uint32_t numEntries; uint32_t numEntries;
struct LsEntry struct LsEntry
@ -606,7 +647,8 @@ struct FFXIVIpcHateList : FFXIVIpcBasePacket<HateList>
uint32_t padding; uint32_t padding;
}; };
struct FFXIVIpcUpdateClassInfo : FFXIVIpcBasePacket<UpdateClassInfo> struct FFXIVIpcUpdateClassInfo :
FFXIVIpcBasePacket< UpdateClassInfo >
{ {
uint8_t classId; uint8_t classId;
uint8_t level1; uint8_t level1;
@ -620,7 +662,8 @@ struct FFXIVIpcUpdateClassInfo : FFXIVIpcBasePacket<UpdateClassInfo>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to send the titles available to the player * to send the titles available to the player
*/ */
struct FFXIVIpcPlayerTitleList : FFXIVIpcBasePacket<PlayerTitleList> struct FFXIVIpcPlayerTitleList :
FFXIVIpcBasePacket< PlayerTitleList >
{ {
uint8_t titleList[48]; uint8_t titleList[48];
}; };
@ -629,7 +672,8 @@ struct FFXIVIpcPlayerTitleList : FFXIVIpcBasePacket<PlayerTitleList>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to initialize a zone for the player * to initialize a zone for the player
*/ */
struct FFXIVIpcInitZone : FFXIVIpcBasePacket<InitZone> struct FFXIVIpcInitZone :
FFXIVIpcBasePacket< InitZone >
{ {
uint16_t serverId; uint16_t serverId;
uint16_t zoneId; uint16_t zoneId;
@ -651,7 +695,8 @@ struct FFXIVIpcInitZone : FFXIVIpcBasePacket<InitZone>
* Structural representation of the packet sent by the server to initialize * Structural representation of the packet sent by the server to initialize
* the client UI upon initial connection. * the client UI upon initial connection.
*/ */
struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI> struct FFXIVIpcInitUI :
FFXIVIpcBasePacket< InitUI >
{ {
// plain C types for a bit until the packet is actually fixed. // plain C types for a bit until the packet is actually fixed.
// makes conversion between different editors easier. // makes conversion between different editors easier.
@ -799,7 +844,8 @@ struct FFXIVIpcInitUI : FFXIVIpcBasePacket<InitUI>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to set a players stats * to set a players stats
*/ */
struct FFXIVIpcPlayerStats : FFXIVIpcBasePacket<PlayerStats> struct FFXIVIpcPlayerStats :
FFXIVIpcBasePacket< PlayerStats >
{ {
uint32_t strength; uint32_t strength;
uint32_t dexterity; uint32_t dexterity;
@ -855,7 +901,8 @@ struct FFXIVIpcPlayerStats : FFXIVIpcBasePacket<PlayerStats>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to set an actors current owner * to set an actors current owner
*/ */
struct FFXIVIpcActorOwner : FFXIVIpcBasePacket<ActorOwner> struct FFXIVIpcActorOwner :
FFXIVIpcBasePacket< ActorOwner >
{ {
uint8_t type; uint8_t type;
uint8_t padding[7]; uint8_t padding[7];
@ -867,7 +914,8 @@ struct FFXIVIpcActorOwner : FFXIVIpcBasePacket<ActorOwner>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to set a players state * to set a players state
*/ */
struct FFXIVIpcPlayerStateFlags : FFXIVIpcBasePacket<PlayerStateFlags> struct FFXIVIpcPlayerStateFlags :
FFXIVIpcBasePacket< PlayerStateFlags >
{ {
uint8_t flags[12]; uint8_t flags[12];
uint32_t padding; uint32_t padding;
@ -877,7 +925,8 @@ struct FFXIVIpcPlayerStateFlags : FFXIVIpcBasePacket<PlayerStateFlags>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* containing current class information * containing current class information
*/ */
struct FFXIVIpcPlayerClassInfo : FFXIVIpcBasePacket<PlayerClassInfo> struct FFXIVIpcPlayerClassInfo :
FFXIVIpcBasePacket< PlayerClassInfo >
{ {
uint16_t classId; uint16_t classId;
uint8_t unknown; uint8_t unknown;
@ -891,7 +940,8 @@ struct FFXIVIpcPlayerClassInfo : FFXIVIpcBasePacket<PlayerClassInfo>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update a players appearance * to update a players appearance
*/ */
struct FFXIVIpcModelEquip : FFXIVIpcBasePacket<ModelEquip> struct FFXIVIpcModelEquip :
FFXIVIpcBasePacket< ModelEquip >
{ {
/* 0000 */ uint64_t mainWeapon; /* 0000 */ uint64_t mainWeapon;
/* 0008 */ uint64_t offWeapon; /* 0008 */ uint64_t offWeapon;
@ -904,7 +954,8 @@ struct FFXIVIpcModelEquip : FFXIVIpcBasePacket<ModelEquip>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update a players appearance * to update a players appearance
*/ */
struct FFXIVIpcItemInfo : FFXIVIpcBasePacket<ItemInfo> struct FFXIVIpcItemInfo :
FFXIVIpcBasePacket< ItemInfo >
{ {
uint32_t sequence; uint32_t sequence;
uint32_t unknown; uint32_t unknown;
@ -938,7 +989,8 @@ struct FFXIVIpcItemInfo : FFXIVIpcBasePacket<ItemInfo>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update a players appearance * to update a players appearance
*/ */
struct FFXIVIpcContainerInfo : FFXIVIpcBasePacket<ContainerInfo> struct FFXIVIpcContainerInfo :
FFXIVIpcBasePacket< ContainerInfo >
{ {
uint32_t sequence; uint32_t sequence;
uint32_t numItems; uint32_t numItems;
@ -950,7 +1002,8 @@ struct FFXIVIpcContainerInfo : FFXIVIpcBasePacket<ContainerInfo>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update a players appearance * to update a players appearance
*/ */
struct FFXIVIpcCurrencyCrystalInfo : FFXIVIpcBasePacket<CurrencyCrystalInfo> struct FFXIVIpcCurrencyCrystalInfo :
FFXIVIpcBasePacket< CurrencyCrystalInfo >
{ {
uint32_t sequence; uint32_t sequence;
uint16_t containerId; uint16_t containerId;
@ -963,14 +1016,16 @@ struct FFXIVIpcCurrencyCrystalInfo : FFXIVIpcBasePacket<CurrencyCrystalInfo>
uint32_t unknown3; uint32_t unknown3;
}; };
struct FFXIVIpcInventoryTransactionFinish : FFXIVIpcBasePacket<InventoryTransactionFinish> struct FFXIVIpcInventoryTransactionFinish :
FFXIVIpcBasePacket< InventoryTransactionFinish >
{ {
uint32_t transactionId; uint32_t transactionId;
uint32_t transactionId1; uint32_t transactionId1;
uint64_t padding; uint64_t padding;
}; };
struct FFXIVIpcInventoryTransaction : FFXIVIpcBasePacket<InventoryTransaction> struct FFXIVIpcInventoryTransaction :
FFXIVIpcBasePacket< InventoryTransaction >
{ {
uint32_t transactionId; uint32_t transactionId;
uint8_t type; uint8_t type;
@ -988,7 +1043,8 @@ struct FFXIVIpcInventoryTransaction : FFXIVIpcBasePacket<InventoryTransaction>
}; };
struct FFXIVIpcInventoryActionAck : FFXIVIpcBasePacket<InventoryActionAck> struct FFXIVIpcInventoryActionAck :
FFXIVIpcBasePacket< InventoryActionAck >
{ {
uint32_t sequence; uint32_t sequence;
uint16_t type; uint16_t type;
@ -1002,7 +1058,8 @@ struct FFXIVIpcInventoryActionAck : FFXIVIpcBasePacket<InventoryActionAck>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update a slot in the inventory * to update a slot in the inventory
*/ */
struct FFXIVIpcUpdateInventorySlot : FFXIVIpcBasePacket<UpdateInventorySlot> struct FFXIVIpcUpdateInventorySlot :
FFXIVIpcBasePacket< UpdateInventorySlot >
{ {
uint32_t sequence; uint32_t sequence;
uint32_t unknown; uint32_t unknown;
@ -1035,7 +1092,8 @@ struct FFXIVIpcUpdateInventorySlot : FFXIVIpcBasePacket<UpdateInventorySlot>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to start an event, not actually playing it, but registering * to start an event, not actually playing it, but registering
*/ */
struct FFXIVIpcEventStart : FFXIVIpcBasePacket<EventStart> struct FFXIVIpcEventStart :
FFXIVIpcBasePacket< EventStart >
{ {
/* 0000 */ uint64_t actorId; /* 0000 */ uint64_t actorId;
/* 0008 */ uint32_t eventId; /* 0008 */ uint32_t eventId;
@ -1051,7 +1109,8 @@ struct FFXIVIpcEventStart : FFXIVIpcBasePacket<EventStart>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to play an event * to play an event
*/ */
struct FFXIVIpcEventPlay : FFXIVIpcBasePacket<EventPlay> struct FFXIVIpcEventPlay :
FFXIVIpcBasePacket< EventPlay >
{ {
uint64_t actorId; uint64_t actorId;
uint32_t eventId; uint32_t eventId;
@ -1069,7 +1128,8 @@ struct FFXIVIpcEventPlay : FFXIVIpcBasePacket<EventPlay>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to play an event * to play an event
*/ */
struct FFXIVIpcDirectorPlayScene : FFXIVIpcBasePacket<DirectorPlayScene> struct FFXIVIpcDirectorPlayScene :
FFXIVIpcBasePacket< DirectorPlayScene >
{ {
uint64_t actorId; uint64_t actorId;
uint32_t eventId; uint32_t eventId;
@ -1088,7 +1148,8 @@ struct FFXIVIpcDirectorPlayScene : FFXIVIpcBasePacket<DirectorPlayScene>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to finish an event * to finish an event
*/ */
struct FFXIVIpcEventFinish : FFXIVIpcBasePacket<EventFinish> struct FFXIVIpcEventFinish :
FFXIVIpcBasePacket< EventFinish >
{ {
/* 0000 */ uint32_t eventId; /* 0000 */ uint32_t eventId;
/* 0004 */ uint8_t param1; /* 0004 */ uint8_t param1;
@ -1098,7 +1159,8 @@ struct FFXIVIpcEventFinish : FFXIVIpcBasePacket<EventFinish>
/* 000C */ uint32_t padding1; /* 000C */ uint32_t padding1;
}; };
struct FFXIVIpcEventOpenGilShop : FFXIVIpcBasePacket<EventOpenGilShop> struct FFXIVIpcEventOpenGilShop :
FFXIVIpcBasePacket< EventOpenGilShop >
{ {
uint64_t actorId; uint64_t actorId;
uint32_t eventId; uint32_t eventId;
@ -1114,7 +1176,8 @@ struct FFXIVIpcEventOpenGilShop : FFXIVIpcBasePacket<EventOpenGilShop>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to respond to a linkshell creation event * to respond to a linkshell creation event
*/ */
struct FFXIVIpcEventLinkshell : FFXIVIpcBasePacket<EventLinkshell> struct FFXIVIpcEventLinkshell :
FFXIVIpcBasePacket< EventLinkshell >
{ {
uint32_t eventId; uint32_t eventId;
uint8_t scene; uint8_t scene;
@ -1131,7 +1194,8 @@ struct FFXIVIpcEventLinkshell : FFXIVIpcBasePacket<EventLinkshell>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to send the active quests * to send the active quests
*/ */
struct FFXIVIpcQuestActiveList : FFXIVIpcBasePacket<QuestActiveList> struct FFXIVIpcQuestActiveList :
FFXIVIpcBasePacket< QuestActiveList >
{ {
Common::QuestActive activeQuests[30]; Common::QuestActive activeQuests[30];
}; };
@ -1140,7 +1204,8 @@ struct FFXIVIpcQuestActiveList : FFXIVIpcBasePacket<QuestActiveList>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to send update a quest slot * to send update a quest slot
*/ */
struct FFXIVIpcQuestUpdate : FFXIVIpcBasePacket<QuestUpdate> struct FFXIVIpcQuestUpdate :
FFXIVIpcBasePacket< QuestUpdate >
{ {
uint16_t slot; uint16_t slot;
uint16_t padding; uint16_t padding;
@ -1151,7 +1216,8 @@ struct FFXIVIpcQuestUpdate : FFXIVIpcBasePacket<QuestUpdate>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to send the completed quests mask * to send the completed quests mask
*/ */
struct FFXIVIpcQuestCompleteList : FFXIVIpcBasePacket<QuestCompleteList> struct FFXIVIpcQuestCompleteList :
FFXIVIpcBasePacket< QuestCompleteList >
{ {
uint8_t questCompleteMask[396]; uint8_t questCompleteMask[396];
uint8_t unknownCompleteMask[32]; uint8_t unknownCompleteMask[32];
@ -1161,7 +1227,8 @@ struct FFXIVIpcQuestCompleteList : FFXIVIpcBasePacket<QuestCompleteList>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to finish a quest * to finish a quest
*/ */
struct FFXIVIpcQuestFinish : FFXIVIpcBasePacket<QuestFinish> struct FFXIVIpcQuestFinish :
FFXIVIpcBasePacket< QuestFinish >
{ {
uint16_t questId; uint16_t questId;
uint8_t flag1; uint8_t flag1;
@ -1176,7 +1243,8 @@ struct FFXIVIpcQuestFinish : FFXIVIpcBasePacket<QuestFinish>
* type 1 icon * type 1 icon
* type 5 status * type 5 status
*/ */
struct FFXIVIpcQuestMessage : FFXIVIpcBasePacket<QuestMessage> struct FFXIVIpcQuestMessage :
FFXIVIpcBasePacket< QuestMessage >
{ {
/* 0000 */ uint32_t questId; /* 0000 */ uint32_t questId;
/* 0000 */ uint8_t msgId; /* 0000 */ uint8_t msgId;
@ -1186,7 +1254,8 @@ struct FFXIVIpcQuestMessage : FFXIVIpcBasePacket<QuestMessage>
/* 0000 */ uint32_t var2; /* 0000 */ uint32_t var2;
}; };
struct FFXIVIpcQuestTracker : FFXIVIpcBasePacket<QuestTracker> struct FFXIVIpcQuestTracker :
FFXIVIpcBasePacket< QuestTracker >
{ {
struct TrackerEntry struct TrackerEntry
{ {
@ -1197,7 +1266,8 @@ struct FFXIVIpcQuestTracker : FFXIVIpcBasePacket<QuestTracker>
}; };
struct FFXIVIpcWeatherChange : FFXIVIpcBasePacket<WeatherChange> struct FFXIVIpcWeatherChange :
FFXIVIpcBasePacket< WeatherChange >
{ {
uint32_t weatherId; uint32_t weatherId;
float delay; float delay;
@ -1207,7 +1277,8 @@ struct FFXIVIpcWeatherChange : FFXIVIpcBasePacket<WeatherChange>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to send a unviel a map * to send a unviel a map
*/ */
struct FFXIVIpcDiscovery : FFXIVIpcBasePacket<Discovery> struct FFXIVIpcDiscovery :
FFXIVIpcBasePacket< Discovery >
{ {
/* 0000 */ uint32_t map_part_id; /* 0000 */ uint32_t map_part_id;
/* 0004 */ uint32_t map_id; /* 0004 */ uint32_t map_id;
@ -1217,7 +1288,8 @@ struct FFXIVIpcDiscovery : FFXIVIpcBasePacket<Discovery>
/** /**
* UNKOWN TYPE * UNKOWN TYPE
*/ */
struct FFXIVARR_IPC_UNK322 : FFXIVIpcBasePacket<IPCTYPE_UNK_322> struct FFXIVARR_IPC_UNK322 :
FFXIVIpcBasePacket< IPCTYPE_UNK_322 >
{ {
/* 0000 */ uint8_t unk[8]; /* 0000 */ uint8_t unk[8];
}; };
@ -1225,7 +1297,8 @@ struct FFXIVARR_IPC_UNK322 : FFXIVIpcBasePacket<IPCTYPE_UNK_322>
/** /**
* UNKOWN TYPE * UNKOWN TYPE
*/ */
struct FFXIVARR_IPC_UNK320 : FFXIVIpcBasePacket<IPCTYPE_UNK_320> struct FFXIVARR_IPC_UNK320 :
FFXIVIpcBasePacket< IPCTYPE_UNK_320 >
{ {
/* 0000 */ uint8_t unk[0x38]; /* 0000 */ uint8_t unk[0x38];
}; };
@ -1234,7 +1307,8 @@ struct FFXIVARR_IPC_UNK320 : FFXIVIpcBasePacket<IPCTYPE_UNK_320>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* prepare zoning, showing screenmessage * prepare zoning, showing screenmessage
*/ */
struct FFXIVIpcPrepareZoning : FFXIVIpcBasePacket<PrepareZoning> struct FFXIVIpcPrepareZoning :
FFXIVIpcBasePacket< PrepareZoning >
{ {
uint32_t logMessage; uint32_t logMessage;
uint16_t targetZone; uint16_t targetZone;
@ -1254,7 +1328,8 @@ struct FFXIVIpcPrepareZoning : FFXIVIpcBasePacket<PrepareZoning>
* *
* See https://gist.github.com/Minoost/c35843c4c8a7a931f31fdaac9bce64c2 * See https://gist.github.com/Minoost/c35843c4c8a7a931f31fdaac9bce64c2
*/ */
struct FFXIVIpcCFNotify : FFXIVIpcBasePacket<CFNotify> struct FFXIVIpcCFNotify :
FFXIVIpcBasePacket< CFNotify >
{ {
uint32_t state1; // 3 = cancelled, 4 = duty ready uint32_t state1; // 3 = cancelled, 4 = duty ready
uint32_t state2; // if state1 == 3, state2 is cancelled reason uint32_t state2; // if state1 == 3, state2 is cancelled reason
@ -1274,7 +1349,8 @@ struct FFXIVIpcCFNotify : FFXIVIpcBasePacket<CFNotify>
* Do note that this packet has to come early in login phase (around initui packet) * Do note that this packet has to come early in login phase (around initui packet)
* or it won't be applied until you reconnect * or it won't be applied until you reconnect
*/ */
struct FFXIVIpcCFAvailableContents : FFXIVIpcBasePacket<CFAvailableContents> struct FFXIVIpcCFAvailableContents :
FFXIVIpcBasePacket< CFAvailableContents >
{ {
uint8_t contents[0x48]; uint8_t contents[0x48];
}; };
@ -1283,7 +1359,8 @@ struct FFXIVIpcCFAvailableContents : FFXIVIpcBasePacket<CFAvailableContents>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update adventure in needs in duty roulette * to update adventure in needs in duty roulette
*/ */
struct FFXIVIpcCFPlayerInNeed : FFXIVIpcBasePacket<CFPlayerInNeed> struct FFXIVIpcCFPlayerInNeed :
FFXIVIpcBasePacket< CFPlayerInNeed >
{ {
// Ordered by roulette id // Ordered by roulette id
uint8_t inNeeds[0x10]; uint8_t inNeeds[0x10];
@ -1293,13 +1370,15 @@ struct FFXIVIpcCFPlayerInNeed : FFXIVIpcBasePacket<CFPlayerInNeed>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to update duty info in general * to update duty info in general
*/ */
struct FFXIVIpcCFDutyInfo : FFXIVIpcBasePacket<CFDutyInfo> struct FFXIVIpcCFDutyInfo :
FFXIVIpcBasePacket< CFDutyInfo >
{ {
uint8_t penaltyTime; uint8_t penaltyTime;
uint8_t unknown[7]; uint8_t unknown[7];
}; };
struct FFXIVIpcCFRegisterDuty : FFXIVIpcBasePacket<CFRegisterDuty> struct FFXIVIpcCFRegisterDuty :
FFXIVIpcBasePacket< CFRegisterDuty >
{ {
uint32_t unknown0; // 0x301 uint32_t unknown0; // 0x301
uint8_t rouletteId; // if it's a daily roulette uint8_t rouletteId; // if it's a daily roulette
@ -1308,7 +1387,8 @@ struct FFXIVIpcCFRegisterDuty : FFXIVIpcBasePacket<CFRegisterDuty>
}; };
struct FFXIVIpcCFMemberStatus : FFXIVIpcBasePacket<CFMemberStatus> struct FFXIVIpcCFMemberStatus :
FFXIVIpcBasePacket< CFMemberStatus >
{ {
uint16_t contentId; uint16_t contentId;
uint16_t unknown1; uint16_t unknown1;
@ -1321,7 +1401,8 @@ struct FFXIVIpcCFMemberStatus : FFXIVIpcBasePacket<CFMemberStatus>
uint32_t unknown3; uint32_t unknown3;
}; };
struct FFXIVIpcEorzeaTimeOffset : FFXIVIpcBasePacket<EorzeaTimeOffset> struct FFXIVIpcEorzeaTimeOffset :
FFXIVIpcBasePacket< EorzeaTimeOffset >
{ {
uint64_t timestamp; uint64_t timestamp;
}; };
@ -1330,7 +1411,8 @@ struct FFXIVIpcEorzeaTimeOffset : FFXIVIpcBasePacket<EorzeaTimeOffset>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to set the gear show/hide status of a character * to set the gear show/hide status of a character
*/ */
struct FFXIVIpcEquipDisplayFlags : FFXIVIpcBasePacket<EquipDisplayFlags> struct FFXIVIpcEquipDisplayFlags :
FFXIVIpcBasePacket< EquipDisplayFlags >
{ {
uint8_t bitmask; uint8_t bitmask;
}; };
@ -1339,7 +1421,8 @@ struct FFXIVIpcEquipDisplayFlags : FFXIVIpcBasePacket<EquipDisplayFlags>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to mount a player * to mount a player
*/ */
struct FFXIVIpcMount : FFXIVIpcBasePacket<Mount> struct FFXIVIpcMount :
FFXIVIpcBasePacket< Mount >
{ {
uint32_t id; uint32_t id;
}; };
@ -1348,7 +1431,8 @@ struct FFXIVIpcMount : FFXIVIpcBasePacket<Mount>
* Structural representation of the packet sent by the server * Structural representation of the packet sent by the server
* to mount a player * to mount a player
*/ */
struct FFXIVIpcDirectorVars : FFXIVIpcBasePacket<DirectorVars> struct FFXIVIpcDirectorVars :
FFXIVIpcBasePacket< DirectorVars >
{ {
/*! DirectorType | ContentId */ /*! DirectorType | ContentId */
uint32_t m_directorId; uint32_t m_directorId;
@ -1361,18 +1445,21 @@ struct FFXIVIpcDirectorVars : FFXIVIpcBasePacket<DirectorVars>
}; };
struct FFXIVIpcActorGauge : FFXIVIpcBasePacket<ActorGauge> struct FFXIVIpcActorGauge :
FFXIVIpcBasePacket< ActorGauge >
{ {
uint8_t classJobId; uint8_t classJobId;
uint8_t data[15]; // depends on classJobId uint8_t data[15]; // depends on classJobId
}; };
struct FFXIVIpcPerformNote : FFXIVIpcBasePacket<PerformNote> struct FFXIVIpcPerformNote :
FFXIVIpcBasePacket< PerformNote >
{ {
uint8_t data[32]; uint8_t data[32];
}; };
struct FFXIVIpcWardInfo : FFXIVIpcBasePacket<WardInfo> struct FFXIVIpcWardInfo :
FFXIVIpcBasePacket< WardInfo >
{ {
uint16_t unknown0; uint16_t unknown0;
uint16_t wardNum; // set 1 for "Mist, Ward 2" uint16_t wardNum; // set 1 for "Mist, Ward 2"
@ -1386,7 +1473,8 @@ struct FFXIVIpcWardInfo : FFXIVIpcBasePacket<WardInfo>
uint8_t unknown6; uint8_t unknown6;
uint8_t unknown7; uint8_t unknown7;
uint8_t unknown8; uint8_t unknown8;
struct { struct
{
uint8_t houseSize; //1 = small, 2 = middle, 3 = big; 1 uint8_t houseSize; //1 = small, 2 = middle, 3 = big; 1
uint8_t houseState; //1 = for sell, 2 = sold, 3 = hasOwner, 0x0A = House sharing; 2 uint8_t houseState; //1 = for sell, 2 = sold, 3 = hasOwner, 0x0A = House sharing; 2
uint8_t iconColor; //HouseState has to be 3; 1 = Private, 2 = FC House; 4 uint8_t iconColor; //HouseState has to be 3; 1 = Private, 2 = FC House; 4
@ -1405,7 +1493,8 @@ struct FFXIVIpcWardInfo : FFXIVIpcBasePacket<WardInfo>
} landSet[30]; } landSet[30];
}; };
struct FFXIVIpcWardYardInfo : FFXIVIpcBasePacket<WardYardInfo> struct FFXIVIpcWardYardInfo :
FFXIVIpcBasePacket< WardYardInfo >
{ {
/* consistency check? */ /* consistency check? */
uint32_t unknown1; //always 0xFFFFFFFF uint32_t unknown1; //always 0xFFFFFFFF
@ -1424,13 +1513,15 @@ struct FFXIVIpcWardYardInfo : FFXIVIpcBasePacket<WardYardInfo>
} object[100]; } object[100];
}; };
struct FFXIVIpcMSQTrackerProgress : FFXIVIpcBasePacket<MSQTrackerProgress> struct FFXIVIpcMSQTrackerProgress :
FFXIVIpcBasePacket< MSQTrackerProgress >
{ {
uint32_t id; uint32_t id;
uint32_t padding; uint32_t padding;
}; };
struct FFXIVIpcMSQTrackerComplete : FFXIVIpcBasePacket<MSQTrackerComplete> struct FFXIVIpcMSQTrackerComplete :
FFXIVIpcBasePacket< MSQTrackerComplete >
{ {
uint32_t id; uint32_t id;
uint32_t padding1; uint32_t padding1;
@ -1439,7 +1530,8 @@ struct FFXIVIpcMSQTrackerComplete : FFXIVIpcBasePacket<MSQTrackerComplete>
uint64_t padding4; // last 4 bytes is uint32_t but who cares uint64_t padding4; // last 4 bytes is uint32_t but who cares
}; };
struct FFXIVIpcObjectSpawn : FFXIVIpcBasePacket<ObjectSpawn> struct FFXIVIpcObjectSpawn :
FFXIVIpcBasePacket< ObjectSpawn >
{ {
uint8_t spawnIndex; uint8_t spawnIndex;
uint8_t objKind; uint8_t objKind;
@ -1464,13 +1556,15 @@ struct FFXIVIpcObjectSpawn : FFXIVIpcBasePacket<ObjectSpawn>
int16_t unknown3E; int16_t unknown3E;
}; };
struct FFXIVIpcObjectDespawn : FFXIVIpcBasePacket<ObjectDespawn> struct FFXIVIpcObjectDespawn :
FFXIVIpcBasePacket< ObjectDespawn >
{ {
uint8_t spawnIndex; uint8_t spawnIndex;
uint8_t padding[7]; uint8_t padding[7];
}; };
struct FFXIVIpcDuelChallenge : FFXIVIpcBasePacket<DuelChallenge> struct FFXIVIpcDuelChallenge :
FFXIVIpcBasePacket< DuelChallenge >
{ {
uint8_t otherClassJobId; uint8_t otherClassJobId;
uint8_t otherLevel; // class job level uint8_t otherLevel; // class job level

View file

@ -1,4 +1,5 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include <thread> #include <thread>
#include <mutex> #include <mutex>
@ -12,6 +13,7 @@ namespace Core {
{ {
public: public:
LockedQueue(); LockedQueue();
~LockedQueue(); ~LockedQueue();
T pop(); T pop();
@ -23,6 +25,7 @@ namespace Core {
//this will push it onto the queue, and swap the object //this will push it onto the queue, and swap the object
// with a default-constructed T at the same time. // with a default-constructed T at the same time.
void push_swap( T& object ); void push_swap( T& object );
void push_reset( T& object ); void push_reset( T& object );

View file

@ -8,8 +8,7 @@
#include <type_traits> #include <type_traits>
#include <utility> #include <utility>
namespace Core namespace Core {
{
template< typename T > template< typename T >
class LockedWaitQueue class LockedWaitQueue
@ -22,7 +21,10 @@ private:
public: public:
LockedWaitQueue<T>() : m_shutdown(false) { } LockedWaitQueue< T >() :
m_shutdown( false )
{
}
void push( const T& value ) void push( const T& value )
{ {
@ -88,10 +90,15 @@ public:
private: private:
template< typename E = T > template< typename E = T >
typename std::enable_if< std::is_pointer< E >::value >::type deleteQueuedObject( E& obj ) { delete obj; } typename std::enable_if< std::is_pointer< E >::value >::type deleteQueuedObject( E& obj )
{
delete obj;
}
template< typename E = T > template< typename E = T >
typename std::enable_if< !std::is_pointer< E >::value >::type deleteQueuedObject( E const& ) { } typename std::enable_if< !std::is_pointer< E >::value >::type deleteQueuedObject( E const& )
{
}
}; };
} }

View file

@ -5,10 +5,8 @@
#include <unordered_map> #include <unordered_map>
#include <type_traits> #include <type_traits>
namespace Core namespace Core {
{ namespace Util {
namespace Util
{
template< typename T, typename ActorIdType = uint32_t > template< typename T, typename ActorIdType = uint32_t >
class SpawnIndexAllocator class SpawnIndexAllocator
{ {
@ -20,7 +18,8 @@ namespace Util
SpawnIndexAllocator() : SpawnIndexAllocator() :
m_maxSlotId( 0 ), m_maxSlotId( 0 ),
m_reserveFirstSlot( false ) m_reserveFirstSlot( false )
{ } {
}
void init( T maxSlotId, bool reserveFirstSlot = false ) void init( T maxSlotId, bool reserveFirstSlot = false )
{ {

View file

@ -22,7 +22,9 @@ float calcAngTo( float x, float y, float x1, float y1 );
float calcAngFrom( float x, float y, float x1, float y1 ); float calcAngFrom( float x, float y, float x1, float y1 );
uint16_t floatToUInt16( float val ); uint16_t floatToUInt16( float val );
uint16_t floatToUInt16Rot( float val ); uint16_t floatToUInt16Rot( float val );
uint8_t floatToUInt8Rot( float val ); uint8_t floatToUInt8Rot( float val );
template template

View file

@ -2,11 +2,14 @@
#include "../ScriptObject.h" #include "../ScriptObject.h"
#include <Actor/Player.h> #include <Actor/Player.h>
class ActionReturn6 : public ActionScript class ActionReturn6 :
public ActionScript
{ {
public: public:
ActionReturn6() : ActionScript( 6 ) ActionReturn6() :
{} ActionScript( 6 )
{
}
void onCastFinish( Core::Entity::Player& player, Core::Entity::Chara& targetActor ) override void onCastFinish( Core::Entity::Player& player, Core::Entity::Chara& targetActor ) override
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class ActionSprint3 : public ActionScript class ActionSprint3 :
public ActionScript
{ {
public: public:
ActionSprint3() : ActionScript( 3 ) ActionSprint3() :
{} ActionScript( 3 )
{
}
void onCastFinish( Core::Entity::Player& player, Core::Entity::Chara& targetActor ) override void onCastFinish( Core::Entity::Player& player, Core::Entity::Chara& targetActor ) override
{ {

View file

@ -10,11 +10,14 @@
#define AETHERYTE_MENU_FAVORITE_POINT 4 #define AETHERYTE_MENU_FAVORITE_POINT 4
#define AETHERYTE_MENU_FAVORITE_POINT_SECURITY_TOKEN 5 #define AETHERYTE_MENU_FAVORITE_POINT_SECURITY_TOKEN 5
class Aethernet : public EventScript class Aethernet :
public EventScript
{ {
public: public:
Aethernet() : EventScript( EVENTSCRIPT_AETHERNET_ID ) Aethernet() :
{} EventScript( EVENTSCRIPT_AETHERNET_ID )
{
}
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
{ {
@ -30,7 +33,8 @@ public:
} }
else else
{ {
player.eventActionStart( eventId, ACTION_ATTUNE, []( Entity::Player& player, uint32_t eventId, uint64_t additional ) player.eventActionStart( eventId, ACTION_ATTUNE,
[]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
player.registerAetheryte( eventId & 0xFFFF ); player.registerAetheryte( eventId & 0xFFFF );
player.playScene( eventId, 3, 0, 0, 0 ); player.playScene( eventId, 3, 0, 0, 0 );

View file

@ -12,11 +12,14 @@
#define AETHERYTE_MENU_FAVORITE_POINT 4 #define AETHERYTE_MENU_FAVORITE_POINT 4
#define AETHERYTE_MENU_FAVORITE_POINT_SECURITY_TOKEN 5 #define AETHERYTE_MENU_FAVORITE_POINT_SECURITY_TOKEN 5
class Aetheryte : public EventScript class Aetheryte :
public EventScript
{ {
public: public:
Aetheryte() : EventScript( EVENTSCRIPT_AETHERYTE_ID ) Aetheryte() :
{} EventScript( EVENTSCRIPT_AETHERYTE_ID )
{
}
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
{ {
@ -28,7 +31,8 @@ public:
{ {
player.setHomepoint( result.eventId & 0xFFFF ); player.setHomepoint( result.eventId & 0xFFFF );
player.sendQuestMessage( result.eventId, 2, 0xEA, 0, 0 ); player.sendQuestMessage( result.eventId, 2, 0xEA, 0, 0 );
} else if( result.param1 == 512 ) // aethernet access }
else if( result.param1 == 512 ) // aethernet access
{ {
if( result.param2 == 4 ) if( result.param2 == 4 )
{ {
@ -48,7 +52,8 @@ public:
} }
else else
{ {
player.eventActionStart( eventId, ACTION_ATTUNE, []( Entity::Player& player, uint32_t eventId, uint64_t additional ) player.eventActionStart( eventId, ACTION_ATTUNE,
[]( Entity::Player& player, uint32_t eventId, uint64_t additional )
{ {
player.registerAetheryte( eventId & 0xFFFF ); player.registerAetheryte( eventId & 0xFFFF );

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class CmnDefCutSceneReplay : public EventScript class CmnDefCutSceneReplay :
public EventScript
{ {
public: public:
CmnDefCutSceneReplay() : EventScript( 721028 ) CmnDefCutSceneReplay() :
{} EventScript( 721028 )
{
}
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class CmnDefHousingSignboard : public EventScript class CmnDefHousingSignboard :
public EventScript
{ {
public: public:
CmnDefHousingSignboard() : EventScript( 721031 ) CmnDefHousingSignboard() :
{} EventScript( 721031 )
{
}
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class CmnDefInnBed : public EventScript class CmnDefInnBed :
public EventScript
{ {
public: public:
CmnDefInnBed() : EventScript( 720916 ) CmnDefInnBed() :
{} EventScript( 720916 )
{
}
// menu // menu
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )

View file

@ -5,11 +5,14 @@
#define ACTION_RENAME 3 #define ACTION_RENAME 3
#define ACTION_REMOVE 4 #define ACTION_REMOVE 4
class CmnDefLinkShell : public EventScript class CmnDefLinkShell :
public EventScript
{ {
public: public:
CmnDefLinkShell() : EventScript( 0xB0006 ) CmnDefLinkShell() :
{} EventScript( 0xB0006 )
{
}
void Scene00001( Entity::Player& player ) void Scene00001( Entity::Player& player )
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class CmnDefMarketBoardGridania : public EventScript class CmnDefMarketBoardGridania :
public EventScript
{ {
public: public:
CmnDefMarketBoardGridania() : EventScript( 0xB0027 ) CmnDefMarketBoardGridania() :
{} EventScript( 0xB0027 )
{
}
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class CmnDefMogLetter : public EventScript class CmnDefMogLetter :
public EventScript
{ {
public: public:
CmnDefMogLetter() : EventScript( 720898 ) CmnDefMogLetter() :
{} EventScript( 720898 )
{
}
void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override void onTalk( uint32_t eventId, Entity::Player& player, uint64_t actorId ) override
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class CmnDefNpcRepair : public EventScript class CmnDefNpcRepair :
public EventScript
{ {
public: public:
CmnDefNpcRepair() : EventScript( 0xB0013 ) CmnDefNpcRepair() :
{} EventScript( 0xB0013 )
{
}
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class CmnDefWeatherForeCast : public EventScript class CmnDefWeatherForeCast :
public EventScript
{ {
public: public:
CmnDefWeatherForeCast() : EventScript( 721100 ) CmnDefWeatherForeCast() :
{} EventScript( 721100 )
{
}
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class ComDefMobHuntBoard : public EventScript class ComDefMobHuntBoard :
public EventScript
{ {
public: public:
ComDefMobHuntBoard() : EventScript( 0xB00CA ) ComDefMobHuntBoard() :
{} EventScript( 0xB00CA )
{
}
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )
{ {

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class GilShop : public EventScript class GilShop :
public EventScript
{ {
public: public:
GilShop() : EventScript( 0x00040001 ) GilShop() :
{} EventScript( 0x00040001 )
{
}
constexpr static auto SCENE_FLAGS = HIDE_HOTBAR | NO_DEFAULT_CAMERA; constexpr static auto SCENE_FLAGS = HIDE_HOTBAR | NO_DEFAULT_CAMERA;

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Actor/Player.h> #include <Actor/Player.h>
class HouFurOrchestrion : public EventScript class HouFurOrchestrion :
public EventScript
{ {
public: public:
HouFurOrchestrion() : EventScript( 721226 ) HouFurOrchestrion() :
{} EventScript( 721226 )
{
}
void Scene00000( Entity::Player& player ) void Scene00000( Entity::Player& player )
{ {

View file

@ -1,26 +1,36 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class AkhAfahAmphitheatreExtreme : public InstanceContentScript class AkhAfahAmphitheatreExtreme :
public InstanceContentScript
{ {
public: public:
AkhAfahAmphitheatreExtreme() : InstanceContentScript( 20025 ) AkhAfahAmphitheatreExtreme() :
{ } InstanceContentScript( 20025 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "unknown_0", 2004238, 4772738, 4, { -1.210436f, 0.000000f, -0.715586f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2004238, 4772738, 4, { -1.210436f, 0.000000f, -0.715586f }, 1.000000f,
instance->registerEObj( "sgvf_r1fc_b0472", 2004239, 4797573, 4, { 1.181316f, -0.000000f, 1.563968f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "sgvf_r1fc_b0472", 2004239, 4797573, 4, { 1.181316f, -0.000000f, 1.563968f }, 1.000000f,
0.000000f );
// States -> wind_def wind_def_anim wind_pop wind_pop_anim // States -> wind_def wind_def_anim wind_pop wind_pop_anim
instance->registerEObj( "sgvf_r1fc_b0471", 2004240, 4841629, 4, { 11.000000f, 0.000000f, -11.000000f }, 1.000000f, 0.793709f ); instance->registerEObj( "sgvf_r1fc_b0471", 2004240, 4841629, 4, { 11.000000f, 0.000000f, -11.000000f }, 1.000000f,
0.793709f );
// States -> magi_def magi_def_anim magi_pop magi_pop_anim // States -> magi_def magi_def_anim magi_pop magi_pop_anim
instance->registerEObj( "sgvf_r1fc_b0471_1", 2004349, 4841631, 4, { 12.811310f, -0.000000f, 9.376424f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_r1fc_b0471_1", 2004349, 4841631, 4, { 12.811310f, -0.000000f, 9.376424f }, 1.000000f,
0.000000f );
// States -> magi_def magi_def_anim magi_pop magi_pop_anim // States -> magi_def magi_def_anim magi_pop magi_pop_anim
instance->registerEObj( "sgvf_r1fc_b0471_2", 2004350, 4841632, 4, { -8.033875f, 0.000000f, 10.406790f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_r1fc_b0471_2", 2004350, 4841632, 4, { -8.033875f, 0.000000f, 10.406790f }, 1.000000f,
0.000000f );
// States -> magi_def magi_def_anim magi_pop magi_pop_anim // States -> magi_def magi_def_anim magi_pop magi_pop_anim
instance->registerEObj( "sgvf_r1fc_b0471_3", 2004351, 4841633, 4, { -8.319038f, -0.000001f, -10.997720f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_r1fc_b0471_3", 2004351, 4841633, 4, { -8.319038f, -0.000001f, -10.997720f },
1.000000f, 0.000000f );
// States -> magi_def magi_def_anim magi_pop magi_pop_anim // States -> magi_def magi_def_anim magi_pop magi_pop_anim
instance->registerEObj( "Entrance", 2000182, 4738599, 5, { 9.717670f, 0.000000f, 14.522430f }, 1.000000f, 0.000000f ); instance->registerEObj( "Entrance", 2000182, 4738599, 5, { 9.717670f, 0.000000f, 14.522430f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "Exit", 2000139, 0, 4, { 0.000000f, 0.000000f, -15.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "Exit", 2000139, 0, 4, { 0.000000f, 0.000000f, -15.000000f }, 1.000000f, 0.000000f );

View file

@ -1,17 +1,22 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors101110 : public InstanceContentScript class ThePalaceoftheDeadFloors101110 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors101110() : InstanceContentScript( 60011 ) ThePalaceoftheDeadFloors101110() :
{ } InstanceContentScript( 60011 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6527847, 4, { -300.000000f, 0.000026f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6527847, 4, { -300.000000f, 0.000026f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
instance->registerEObj( "sgvf_w_lvd_b0959_1", 2000608, 6544382, 4, { 301.149902f, -0.045413f, 285.247589f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959_1", 2000608, 6544382, 4, { 301.149902f, -0.045413f, 285.247589f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors110 : public InstanceContentScript class ThePalaceoftheDeadFloors110 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors110() : InstanceContentScript( 60001 ) ThePalaceoftheDeadFloors110() :
{ } InstanceContentScript( 60001 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2002872, 6324883, 4, { -300.000000f, -0.000010f, -220.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2002872, 6324883, 4, { -300.000000f, -0.000010f, -220.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors111120 : public InstanceContentScript class ThePalaceoftheDeadFloors111120 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors111120() : InstanceContentScript( 60012 ) ThePalaceoftheDeadFloors111120() :
{ } InstanceContentScript( 60012 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535115, 4, { -300.000000f, 0.000026f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535115, 4, { -300.000000f, 0.000026f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors1120 : public InstanceContentScript class ThePalaceoftheDeadFloors1120 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors1120() : InstanceContentScript( 60002 ) ThePalaceoftheDeadFloors1120() :
{ } InstanceContentScript( 60002 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6353850, 4, { -300.000000f, 0.000026f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6353850, 4, { -300.000000f, 0.000026f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors121130 : public InstanceContentScript class ThePalaceoftheDeadFloors121130 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors121130() : InstanceContentScript( 60013 ) ThePalaceoftheDeadFloors121130() :
{ } InstanceContentScript( 60013 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535115, 4, { -300.000000f, 0.000026f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535115, 4, { -300.000000f, 0.000026f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors131140 : public InstanceContentScript class ThePalaceoftheDeadFloors131140 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors131140() : InstanceContentScript( 60014 ) ThePalaceoftheDeadFloors131140() :
{ } InstanceContentScript( 60014 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535683, 4, { -300.000000f, -0.000205f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535683, 4, { -300.000000f, -0.000205f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors141150 : public InstanceContentScript class ThePalaceoftheDeadFloors141150 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors141150() : InstanceContentScript( 60015 ) ThePalaceoftheDeadFloors141150() :
{ } InstanceContentScript( 60015 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535683, 4, { -300.000000f, -0.000205f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6535683, 4, { -300.000000f, -0.000205f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors151160 : public InstanceContentScript class ThePalaceoftheDeadFloors151160 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors151160() : InstanceContentScript( 60016 ) ThePalaceoftheDeadFloors151160() :
{ } InstanceContentScript( 60016 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f }, 1.000000f, -0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f },
1.000000f, -0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors161170 : public InstanceContentScript class ThePalaceoftheDeadFloors161170 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors161170() : InstanceContentScript( 60017 ) ThePalaceoftheDeadFloors161170() :
{ } InstanceContentScript( 60017 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f }, 1.000000f, -0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f },
1.000000f, -0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors171180 : public InstanceContentScript class ThePalaceoftheDeadFloors171180 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors171180() : InstanceContentScript( 60018 ) ThePalaceoftheDeadFloors171180() :
{ } InstanceContentScript( 60018 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f }, 1.000000f, -0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f },
1.000000f, -0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors181190 : public InstanceContentScript class ThePalaceoftheDeadFloors181190 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors181190() : InstanceContentScript( 60019 ) ThePalaceoftheDeadFloors181190() :
{ } InstanceContentScript( 60019 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f }, 1.000000f, -0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f },
1.000000f, -0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors191200 : public InstanceContentScript class ThePalaceoftheDeadFloors191200 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors191200() : InstanceContentScript( 60020 ) ThePalaceoftheDeadFloors191200() :
{ } InstanceContentScript( 60020 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f }, 1.000000f, -0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6534547, 4, { -301.179504f, 0.130118f, -301.014709f },
1.000000f, -0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors2130 : public InstanceContentScript class ThePalaceoftheDeadFloors2130 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors2130() : InstanceContentScript( 60003 ) ThePalaceoftheDeadFloors2130() :
{ } InstanceContentScript( 60003 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2002872, 6387948, 4, { -300.000000f, -0.116918f, -237.513199f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2002872, 6387948, 4, { -300.000000f, -0.116918f, -237.513199f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,24 +1,35 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors3140 : public InstanceContentScript class ThePalaceoftheDeadFloors3140 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors3140() : InstanceContentScript( 60004 ) ThePalaceoftheDeadFloors3140() :
{ } InstanceContentScript( 60004 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6367892, 4, { -300.000000f, 0.000000f, -225.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6367892, 4, { -300.000000f, 0.000000f, -225.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
instance->registerEObj( "sgvf_w_lvd_b0959_1", 2002872, 6392196, 4, { 300.000000f, 0.000000f, 374.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959_1", 2002872, 6392196, 4, { 300.000000f, 0.000000f, 374.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
instance->registerEObj( "unknown_0", 2007351, 6277715, 4, { 300.036102f, 0.000000f, 373.916687f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2007351, 6277715, 4, { 300.036102f, 0.000000f, 373.916687f }, 1.000000f,
instance->registerEObj( "unknown_1", 2007352, 6394671, 4, { 307.159912f, 0.000000f, 370.556702f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_2", 2007353, 6394677, 4, { 305.303894f, 0.000000f, 380.231415f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_1", 2007352, 6394671, 4, { 307.159912f, 0.000000f, 370.556702f }, 1.000000f,
instance->registerEObj( "unknown_3", 2007354, 6394673, 4, { 296.024109f, -0.000000f, 381.100189f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_4", 2007355, 6394675, 4, { 291.561890f, 0.000000f, 372.412689f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_2", 2007353, 6394677, 4, { 305.303894f, 0.000000f, 380.231415f }, 1.000000f,
instance->registerEObj( "unknown_5", 2007356, 6394674, 4, { 298.511902f, 0.000000f, 366.134003f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_3", 2007354, 6394673, 4, { 296.024109f, -0.000000f, 381.100189f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_4", 2007355, 6394675, 4, { 291.561890f, 0.000000f, 372.412689f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_5", 2007356, 6394674, 4, { 298.511902f, 0.000000f, 366.134003f }, 1.000000f,
0.000000f );
} }

View file

@ -1,24 +1,35 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors4150 : public InstanceContentScript class ThePalaceoftheDeadFloors4150 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors4150() : InstanceContentScript( 60005 ) ThePalaceoftheDeadFloors4150() :
{ } InstanceContentScript( 60005 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6367892, 4, { -300.000000f, 0.000000f, -225.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6367892, 4, { -300.000000f, 0.000000f, -225.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
instance->registerEObj( "sgvf_w_lvd_b0959_1", 2002872, 6392196, 4, { 300.000000f, 0.000000f, 374.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959_1", 2002872, 6392196, 4, { 300.000000f, 0.000000f, 374.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
instance->registerEObj( "unknown_0", 2007351, 6277715, 4, { 300.036102f, 0.000000f, 373.916687f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2007351, 6277715, 4, { 300.036102f, 0.000000f, 373.916687f }, 1.000000f,
instance->registerEObj( "unknown_1", 2007352, 6394671, 4, { 307.159912f, 0.000000f, 370.556702f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_2", 2007353, 6394677, 4, { 305.303894f, 0.000000f, 380.231415f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_1", 2007352, 6394671, 4, { 307.159912f, 0.000000f, 370.556702f }, 1.000000f,
instance->registerEObj( "unknown_3", 2007354, 6394673, 4, { 296.024109f, -0.000000f, 381.100189f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_4", 2007355, 6394675, 4, { 291.561890f, 0.000000f, 372.412689f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_2", 2007353, 6394677, 4, { 305.303894f, 0.000000f, 380.231415f }, 1.000000f,
instance->registerEObj( "unknown_5", 2007356, 6394674, 4, { 298.511902f, 0.000000f, 366.134003f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_3", 2007354, 6394673, 4, { 296.024109f, -0.000000f, 381.100189f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_4", 2007355, 6394675, 4, { 291.561890f, 0.000000f, 372.412689f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_5", 2007356, 6394674, 4, { 298.511902f, 0.000000f, 366.134003f }, 1.000000f,
0.000000f );
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors5160 : public InstanceContentScript class ThePalaceoftheDeadFloors5160 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors5160() : InstanceContentScript( 60006 ) ThePalaceoftheDeadFloors5160() :
{ } InstanceContentScript( 60006 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6521120, 4, { -300.000000f, 3.189805f, -241.061096f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6521120, 4, { -300.000000f, 3.189805f, -241.061096f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors6170 : public InstanceContentScript class ThePalaceoftheDeadFloors6170 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors6170() : InstanceContentScript( 60007 ) ThePalaceoftheDeadFloors6170() :
{ } InstanceContentScript( 60007 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6521120, 4, { -300.000000f, 3.189805f, -241.061096f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6521120, 4, { -300.000000f, 3.189805f, -241.061096f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,15 +1,19 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors7180 : public InstanceContentScript class ThePalaceoftheDeadFloors7180 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors7180() : InstanceContentScript( 60008 ) ThePalaceoftheDeadFloors7180() :
{ } InstanceContentScript( 60008 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6521120, 4, { -300.000000f, 3.189805f, -241.061096f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6521120, 4, { -300.000000f, 3.189805f, -241.061096f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,17 +1,22 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors8190 : public InstanceContentScript class ThePalaceoftheDeadFloors8190 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors8190() : InstanceContentScript( 60009 ) ThePalaceoftheDeadFloors8190() :
{ } InstanceContentScript( 60009 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6527847, 4, { -300.000000f, 0.000026f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6527847, 4, { -300.000000f, 0.000026f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
instance->registerEObj( "sgvf_w_lvd_b0959_1", 2000608, 6544382, 4, { 301.149902f, -0.045413f, 285.247589f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959_1", 2000608, 6544382, 4, { 301.149902f, -0.045413f, 285.247589f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,17 +1,22 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class ThePalaceoftheDeadFloors91100 : public InstanceContentScript class ThePalaceoftheDeadFloors91100 :
public InstanceContentScript
{ {
public: public:
ThePalaceoftheDeadFloors91100() : InstanceContentScript( 60010 ) ThePalaceoftheDeadFloors91100() :
{ } InstanceContentScript( 60010 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6527847, 4, { -300.000000f, 0.000026f, -237.000000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959", 2000608, 6527847, 4, { -300.000000f, 0.000026f, -237.000000f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
instance->registerEObj( "sgvf_w_lvd_b0959_1", 2000608, 6544382, 4, { 301.149902f, -0.045413f, 285.247589f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0959_1", 2000608, 6544382, 4, { 301.149902f, -0.045413f, 285.247589f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off // States -> vf_bextwall_on vf_bextwall_on2off vf_bextwall_off
} }

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class AlaMhigo : public InstanceContentScript class AlaMhigo :
public InstanceContentScript
{ {
public: public:
AlaMhigo() : InstanceContentScript( 56 ) AlaMhigo() :
{ } InstanceContentScript( 56 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {

View file

@ -1,137 +1,219 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class AmdaporKeep : public InstanceContentScript class AmdaporKeep :
public InstanceContentScript
{ {
public: public:
AmdaporKeep() : InstanceContentScript( 14 ) AmdaporKeep() :
{ } InstanceContentScript( 14 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgbg_f1d3_a1_gar2", 2000551, 4277027, 4, { -3.577190f, 48.000000f, -12.625050f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgbg_f1d3_a1_gar2", 2000551, 4277027, 4, { -3.577190f, 48.000000f, -12.625050f },
1.000000f, 0.000000f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_1", 2000552, 4277005, 4, { 21.455280f, 48.000011f, -12.604770f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_1", 2000552, 4277005, 4, { 21.455280f, 48.000011f, -12.604770f },
1.000000f, 0.000000f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_2", 2000553, 4277029, 4, { -3.963791f, 48.000000f, 9.699657f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_2", 2000553, 4277029, 4, { -3.963791f, 48.000000f, 9.699657f },
1.000000f, 0.000000f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_3", 2000554, 4277028, 4, { 21.081841f, 47.999920f, 9.731779f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_3", 2000554, 4277028, 4, { 21.081841f, 47.999920f, 9.731779f },
1.000000f, 0.000000f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "Entrance", 2000491, 4246565, 5, { -254.388702f, -8.857766f, -0.323940f }, 1.000000f, 0.000000f ); instance->registerEObj( "Entrance", 2000491, 4246565, 5, { -254.388702f, -8.857766f, -0.323940f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "unknown_0", 2000492, 0, 4, { -266.179810f, -9.200000f, -0.162207f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2000492, 0, 4, { -266.179810f, -9.200000f, -0.162207f }, 1.000000f,
instance->registerEObj( "Exit", 2000493, 4246574, 4, { -12.466670f, 48.285069f, -0.015320f }, 0.991760f, 0.000048f ); 0.000000f );
instance->registerEObj( "Exit", 2000493, 4246574, 4, { -12.466670f, 48.285069f, -0.015320f }, 0.991760f,
0.000048f );
// States -> vf_htras1_on vf_htras1_of // States -> vf_htras1_on vf_htras1_of
instance->registerEObj( "sgvf_w_lvd_b0094", 2000494, 4246576, 4, { -81.527344f, 0.000003f, -1.602537f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0094", 2000494, 4246576, 4, { -81.527344f, 0.000003f, -1.602537f }, 1.000000f,
0.000000f );
// States -> vf_line_on vf_line_of // States -> vf_line_on vf_line_of
instance->registerEObj( "sgvf_w_lvd_b0118", 2000495, 4246594, 4, { -81.412201f, 0.000003f, 0.186550f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118", 2000495, 4246594, 4, { -81.412201f, 0.000003f, 0.186550f }, 1.000000f,
0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0094_1", 2000496, 4246595, 4, { 199.816895f, 21.957701f, -104.781303f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgvf_w_lvd_b0094_1", 2000496, 4246595, 4, { 199.816895f, 21.957701f, -104.781303f },
0.991760f, 0.000048f );
// States -> vf_line_on vf_line_of // States -> vf_line_on vf_line_of
instance->registerEObj( "sgpl_w_lvd_b0118_f1d2", 2000497, 4246596, 4, { 200.915497f, 21.957701f, -104.598198f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgpl_w_lvd_b0118_f1d2", 2000497, 4246596, 4, { 200.915497f, 21.957701f, -104.598198f },
0.991760f, 0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0249", 2000498, 4246617, 4, { 34.775269f, 48.081181f, 0.381470f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgvf_w_lvd_b0249", 2000498, 4246617, 4, { 34.775269f, 48.081181f, 0.381470f }, 0.991760f,
0.000048f );
// States -> vf_line_on vf_line_of // States -> vf_line_on vf_line_of
instance->registerEObj( "sgvf_w_lvd_b0250", 2000499, 4246618, 4, { 34.775269f, 48.081181f, -0.839294f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgvf_w_lvd_b0250", 2000499, 4246618, 4, { 34.775269f, 48.081181f, -0.839294f }, 0.991760f,
0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Shortcut", 2000700, 0, 4, { -246.833496f, -8.499996f, 4.016408f }, 1.000000f, 0.000000f ); instance->registerEObj( "Shortcut", 2000700, 0, 4, { -246.833496f, -8.499996f, 4.016408f }, 1.000000f, 0.000000f );
instance->registerEObj( "Aetherialflow", 2000500, 4247835, 4, { -10.236110f, -0.000000f, -0.015320f }, 0.991760f, 0.000048f ); instance->registerEObj( "Aetherialflow", 2000500, 4247835, 4, { -10.236110f, -0.000000f, -0.015320f }, 0.991760f,
instance->registerEObj( "PresenceChamberdoor", 2000502, 4308888, 4, { 60.483269f, 48.174511f, -0.015320f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "BloodyTranseptdoor", 2000687, 4308274, 4, { 199.985397f, 22.200001f, -103.389503f }, 1.000000f, 0.000000f ); instance->registerEObj( "PresenceChamberdoor", 2000502, 4308888, 4, { 60.483269f, 48.174511f, -0.015320f },
instance->registerEObj( "sgvf_f1d1_b0008", 2002741, 4388278, 4, { -82.462273f, 0.000002f, 0.045686f }, 1.000000f, 0.000000f ); 0.991760f, 0.000048f );
instance->registerEObj( "BloodyTranseptdoor", 2000687, 4308274, 4, { 199.985397f, 22.200001f, -103.389503f },
1.000000f, 0.000000f );
instance->registerEObj( "sgvf_f1d1_b0008", 2002741, 4388278, 4, { -82.462273f, 0.000002f, 0.045686f }, 1.000000f,
0.000000f );
// States -> vf_baria1_off vf_baria_on // States -> vf_baria1_off vf_baria_on
instance->registerEObj( "sgbg_f1d3_a1_gar1", 2000509, 4271520, 4, { 134.111496f, 22.079769f, -5.935791f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1", 2000509, 4271520, 4, { 134.111496f, 22.079769f, -5.935791f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_1", 2000510, 4271522, 4, { 142.229202f, 22.079769f, -6.088379f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_2", 2000511, 4271529, 4, { 158.129196f, 22.079769f, -6.088379f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_1", 2000510, 4271522, 4, { 142.229202f, 22.079769f, -6.088379f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_3", 2000512, 4271531, 4, { 133.958893f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_4", 2000513, 4271532, 4, { 142.015594f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_2", 2000511, 4271529, 4, { 158.129196f, 22.079769f, -6.088379f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_5", 2000514, 4271533, 4, { 158.190201f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_6", 2000521, 4274657, 4, { 193.987900f, 22.110291f, 42.099609f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_3", 2000512, 4271531, 4, { 133.958893f, 22.079769f, 6.271362f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_7", 2000522, 4274656, 4, { 193.804794f, 22.079769f, 57.938480f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_8", 2000523, 4274655, 4, { 193.804794f, 22.079769f, 65.964722f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_4", 2000513, 4271532, 4, { 142.015594f, 22.079769f, 6.271362f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_9", 2000524, 4274661, 4, { 206.317093f, 22.079769f, 42.038570f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_10", 2000525, 4274660, 4, { 206.286697f, 22.079769f, 57.968990f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_5", 2000514, 4271533, 4, { 158.190201f, 22.079769f, 6.271362f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_11", 2000526, 4274659, 4, { 206.286697f, 22.079769f, 65.995239f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_12", 2000533, 4274648, 4, { 241.992798f, 22.079769f, -6.332520f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_6", 2000521, 4274657, 4, { 193.987900f, 22.110291f, 42.099609f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_13", 2000534, 4274649, 4, { 258.075806f, 22.079769f, -6.332520f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_14", 2000535, 4274650, 4, { 265.949493f, 22.079769f, -6.271484f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_7", 2000522, 4274656, 4, { 193.804794f, 22.079769f, 57.938480f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_15", 2000536, 4274651, 4, { 241.931793f, 22.079769f, 6.240906f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_16", 2000537, 4274652, 4, { 258.075806f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_8", 2000523, 4274655, 4, { 193.804794f, 22.079769f, 65.964722f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_17", 2000538, 4274653, 4, { 266.071503f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_18", 2000545, 4274662, 4, { 193.804794f, 22.079769f, -34.042912f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_9", 2000524, 4274661, 4, { 206.317093f, 22.079769f, 42.038570f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_19", 2000546, 4274667, 4, { 193.804794f, 22.079769f, -42.008121f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_20", 2000547, 4274666, 4, { 193.804794f, 22.079769f, -58.335270f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_10", 2000525, 4274660, 4, { 206.286697f, 22.079769f, 57.968990f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_21", 2000548, 4274663, 4, { 206.317093f, 22.079769f, -33.890320f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_22", 2000549, 4274665, 4, { 206.317093f, 22.079769f, -41.916561f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_11", 2000526, 4274659, 4, { 206.286697f, 22.079769f, 65.995239f },
instance->registerEObj( "sgbg_f1d3_a1_gar1_23", 2000550, 4274664, 4, { 206.317093f, 22.079769f, -58.274231f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar2_4", 2000503, 4274671, 4, { 134.111496f, 22.079769f, -5.935791f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar1_12", 2000533, 4274648, 4, { 241.992798f, 22.079769f, -6.332520f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_13", 2000534, 4274649, 4, { 258.075806f, 22.079769f, -6.332520f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_14", 2000535, 4274650, 4, { 265.949493f, 22.079769f, -6.271484f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_15", 2000536, 4274651, 4, { 241.931793f, 22.079769f, 6.240906f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_16", 2000537, 4274652, 4, { 258.075806f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_17", 2000538, 4274653, 4, { 266.071503f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_18", 2000545, 4274662, 4, { 193.804794f, 22.079769f, -34.042912f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_19", 2000546, 4274667, 4, { 193.804794f, 22.079769f, -42.008121f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_20", 2000547, 4274666, 4, { 193.804794f, 22.079769f, -58.335270f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_21", 2000548, 4274663, 4, { 206.317093f, 22.079769f, -33.890320f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_22", 2000549, 4274665, 4, { 206.317093f, 22.079769f, -41.916561f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar1_23", 2000550, 4274664, 4, { 206.317093f, 22.079769f, -58.274231f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_f1d3_a1_gar2_4", 2000503, 4274671, 4, { 134.111496f, 22.079769f, -5.935791f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_5", 2000504, 4274672, 4, { 142.229202f, 22.079769f, -6.088379f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_5", 2000504, 4274672, 4, { 142.229202f, 22.079769f, -6.088379f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_6", 2000505, 4274673, 4, { 158.129196f, 22.079769f, -6.088379f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_6", 2000505, 4274673, 4, { 158.129196f, 22.079769f, -6.088379f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_7", 2000506, 4274674, 4, { 133.958893f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_7", 2000506, 4274674, 4, { 133.958893f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_8", 2000507, 4274675, 4, { 142.015594f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_8", 2000507, 4274675, 4, { 142.015594f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_9", 2000508, 4274676, 4, { 158.190201f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_9", 2000508, 4274676, 4, { 158.190201f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_10", 2000515, 4274685, 4, { 193.987900f, 22.110291f, 42.099609f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_10", 2000515, 4274685, 4, { 193.987900f, 22.110291f, 42.099609f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_11", 2000516, 4274684, 4, { 193.804794f, 22.079769f, 57.938480f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_11", 2000516, 4274684, 4, { 193.804794f, 22.079769f, 57.938480f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_12", 2000517, 4274683, 4, { 193.804794f, 22.079769f, 65.964722f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_12", 2000517, 4274683, 4, { 193.804794f, 22.079769f, 65.964722f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_13", 2000518, 4274688, 4, { 206.317093f, 22.079769f, 42.038570f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_13", 2000518, 4274688, 4, { 206.317093f, 22.079769f, 42.038570f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_14", 2000519, 4274687, 4, { 206.317093f, 22.079769f, 57.968990f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_14", 2000519, 4274687, 4, { 206.317093f, 22.079769f, 57.968990f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_15", 2000520, 4274686, 4, { 206.317093f, 22.079769f, 65.995239f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_15", 2000520, 4274686, 4, { 206.317093f, 22.079769f, 65.995239f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_16", 2000527, 4274677, 4, { 241.992798f, 22.079769f, -6.332520f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_16", 2000527, 4274677, 4, { 241.992798f, 22.079769f, -6.332520f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_17", 2000528, 4274678, 4, { 258.075806f, 22.079769f, -6.332520f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_17", 2000528, 4274678, 4, { 258.075806f, 22.079769f, -6.332520f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_18", 2000529, 4274679, 4, { 265.949493f, 22.079769f, -6.271484f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_18", 2000529, 4274679, 4, { 265.949493f, 22.079769f, -6.271484f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_19", 2000530, 4274680, 4, { 241.931793f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_19", 2000530, 4274680, 4, { 241.931793f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_20", 2000531, 4274681, 4, { 258.075806f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_20", 2000531, 4274681, 4, { 258.075806f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_21", 2000532, 4274682, 4, { 266.071503f, 22.079769f, 6.271362f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_21", 2000532, 4274682, 4, { 266.071503f, 22.079769f, 6.271362f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_22", 2000539, 4274689, 4, { 193.804794f, 22.079769f, -34.042912f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_22", 2000539, 4274689, 4, { 193.804794f, 22.079769f, -34.042912f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_23", 2000540, 4274694, 4, { 193.804794f, 22.079769f, -42.008121f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_23", 2000540, 4274694, 4, { 193.804794f, 22.079769f, -42.008121f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_24", 2000541, 4274693, 4, { 193.804794f, 22.079769f, -58.335270f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_24", 2000541, 4274693, 4, { 193.804794f, 22.079769f, -58.335270f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_25", 2000542, 4274690, 4, { 206.317093f, 22.079769f, -33.890320f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_25", 2000542, 4274690, 4, { 206.317093f, 22.079769f, -33.890320f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_26", 2000543, 4274692, 4, { 206.317093f, 22.079769f, -41.916561f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_26", 2000543, 4274692, 4, { 206.317093f, 22.079769f, -41.916561f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "sgbg_f1d3_a1_gar2_27", 2000544, 4274691, 4, { 206.317093f, 22.079769f, -58.274231f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_f1d3_a1_gar2_27", 2000544, 4274691, 4, { 206.317093f, 22.079769f, -58.274231f },
0.991760f, 0.000048f );
// States -> on off vfx_on // States -> on off vfx_on
instance->registerEObj( "Entrance_1", 2000182, 5608623, 5, { -156.520401f, -2.800003f, -5.140180f }, 1.000000f, 0.000000f ); instance->registerEObj( "Entrance_1", 2000182, 5608623, 5, { -156.520401f, -2.800003f, -5.140180f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 5608617, 4, { -154.662003f, -2.800003f, 5.028913f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 5608617, 4, { -154.662003f, -2.800003f, 5.028913f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_1", 2002735, 0, 4, { -151.232193f, -2.822998f, 0.289556f }, 1.174927f, -1.570451f ); instance->registerEObj( "unknown_1", 2002735, 0, 4, { -151.232193f, -2.822998f, 0.289556f }, 1.174927f,
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2005128, 5608619, 4, { -112.240501f, -2.800003f, -0.701091f }, 1.000000f, 0.000000f ); -1.570451f );
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2005128, 5608619, 4, { -112.240501f, -2.800003f, -0.701091f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_2", 2002735, 0, 4, { -46.585720f, 0.045776f, 0.190301f }, 1.179312f, -1.570451f ); instance->registerEObj( "unknown_2", 2002735, 0, 4, { -46.585720f, 0.045776f, 0.190301f }, 1.179312f, -1.570451f );
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2002872, 5608620, 4, { -46.476231f, 0.000000f, -0.510445f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_3", 2002872, 5608620, 4, { -46.476231f, 0.000000f, -0.510445f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Exit_1", 2000139, 0, 4, { -7.766907f, -0.015320f, 0.015198f }, 0.991760f, 0.000048f ); instance->registerEObj( "Exit_1", 2000139, 0, 4, { -7.766907f, -0.015320f, 0.015198f }, 0.991760f, 0.000048f );
instance->registerEObj( "sgvf_f1d3_bo189", 2000561, 4248559, 4, { 200.121902f, 21.988159f, -114.000000f }, 1.000000f, 0.000048f ); instance->registerEObj( "sgvf_f1d3_bo189", 2000561, 4248559, 4, { 200.121902f, 21.988159f, -114.000000f },
instance->registerEObj( "sgbg_col_wall_00", 2000555, 4249099, 4, { 200.000000f, 21.988159f, -151.822800f }, 0.991760f, 0.000048f ); 1.000000f, 0.000048f );
instance->registerEObj( "Aetherialflow_1", 2000501, 4247838, 4, { 200.061005f, 22.000000f, -165.266006f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_col_wall_00", 2000555, 4249099, 4, { 200.000000f, 21.988159f, -151.822800f },
instance->registerEObj( "sgbg_col_wall_00_1", 2000556, 4249100, 4, { 200.000000f, 21.988159f, -146.822800f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_col_wall_00_2", 2000557, 4249101, 4, { 200.000000f, 21.988159f, -141.822800f }, 0.991760f, 0.000048f ); instance->registerEObj( "Aetherialflow_1", 2000501, 4247838, 4, { 200.061005f, 22.000000f, -165.266006f },
instance->registerEObj( "sgbg_col_wall_00_3", 2000560, 4249104, 4, { 200.000000f, 21.988159f, -126.822800f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_col_wall_00_4", 2000602, 4253048, 4, { 200.000000f, 21.988159f, -121.822800f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_col_wall_00_1", 2000556, 4249100, 4, { 200.000000f, 21.988159f, -146.822800f },
instance->registerEObj( "sgbg_col_wall_00_5", 2000559, 4249103, 4, { 200.000000f, 21.988159f, -131.822800f }, 0.991760f, 0.000048f ); 0.991760f, 0.000048f );
instance->registerEObj( "sgbg_col_wall_00_6", 2000558, 4249102, 4, { 200.000000f, 21.957701f, -136.838501f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_col_wall_00_2", 2000557, 4249101, 4, { 200.000000f, 21.988159f, -141.822800f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_col_wall_00_3", 2000560, 4249104, 4, { 200.000000f, 21.988159f, -126.822800f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_col_wall_00_4", 2000602, 4253048, 4, { 200.000000f, 21.988159f, -121.822800f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_col_wall_00_5", 2000559, 4249103, 4, { 200.000000f, 21.988159f, -131.822800f },
0.991760f, 0.000048f );
instance->registerEObj( "sgbg_col_wall_00_6", 2000558, 4249102, 4, { 200.000000f, 21.957701f, -136.838501f },
0.991760f, 0.000048f );
} }

View file

@ -1,51 +1,80 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class AmdaporKeepHard : public InstanceContentScript class AmdaporKeepHard :
public InstanceContentScript
{ {
public: public:
AmdaporKeepHard() : InstanceContentScript( 29 ) AmdaporKeepHard() :
{ } InstanceContentScript( 29 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0118", 2002872, 5040923, 4, { 203.452301f, 0.116688f, 208.657593f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118", 2002872, 5040923, 4, { 203.452301f, 0.116688f, 208.657593f }, 1.000000f,
0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_0", 2002735, 0, 4, { 199.471802f, 0.116693f, 210.128204f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2002735, 0, 4, { 199.471802f, 0.116693f, 210.128204f }, 1.000000f, 0.000000f );
instance->registerEObj( "sgbg_f1d7_a4_scy01", 2005153, 5619221, 4, { 198.706802f, -20.000010f, 229.113907f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgbg_f1d7_a4_scy01", 2005153, 5619221, 4, { 198.706802f, -20.000010f, 229.113907f },
instance->registerEObj( "unknown_1", 2004696, 5009720, 4, { -200.316895f, -4.301562f, -43.621670f }, 1.000000f, 0.000000f ); 1.000000f, 0.000000f );
instance->registerEObj( "unknown_2", 2004697, 5009721, 4, { -47.771290f, -0.000000f, -71.658272f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_1", 2004696, 5009720, 4, { -200.316895f, -4.301562f, -43.621670f }, 1.000000f,
instance->registerEObj( "sgbg_f1d7_a1_evl01", 2004698, 5031991, 4, { -125.087196f, -2.000000f, 28.417601f }, 1.000000f, -0.000000f ); 0.000000f );
instance->registerEObj( "unknown_2", 2004697, 5009721, 4, { -47.771290f, -0.000000f, -71.658272f }, 1.000000f,
0.000000f );
instance->registerEObj( "sgbg_f1d7_a1_evl01", 2004698, 5031991, 4, { -125.087196f, -2.000000f, 28.417601f },
1.000000f, -0.000000f );
// States -> evils_def evils_off_anim evils_on evils_on_anim // States -> evils_def evils_off_anim evils_on evils_on_anim
instance->registerEObj( "sgvf_f1d7_b0574", 2004699, 5031992, 4, { -104.790604f, -2.000000f, 47.174728f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_f1d7_b0574", 2004699, 5031992, 4, { -104.790604f, -2.000000f, 47.174728f }, 1.000000f,
0.000000f );
// States -> vf_baria1_off vf_baria_on // States -> vf_baria1_off vf_baria_on
instance->registerEObj( "unknown_3", 2004700, 0, 4, { 2.343430f, 48.179089f, -2.083742f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_3", 2004700, 0, 4, { 2.343430f, 48.179089f, -2.083742f }, 1.000000f, 0.000000f );
instance->registerEObj( "unknown_4", 2004702, 5009732, 4, { 125.604897f, 43.999989f, 3.999085f }, 1.000000f, 0.005971f ); instance->registerEObj( "unknown_4", 2004702, 5009732, 4, { 125.604897f, 43.999989f, 3.999085f }, 1.000000f,
0.005971f );
instance->registerEObj( "unknown_5", 2004701, 0, 4, { 149.666000f, 44.200001f, -0.006115f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_5", 2004701, 0, 4, { 149.666000f, 44.200001f, -0.006115f }, 1.000000f, 0.000000f );
instance->registerEObj( "unknown_6", 2004703, 5010816, 4, { 196.927399f, 44.000019f, -101.381798f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_6", 2004703, 5010816, 4, { 196.927399f, 44.000019f, -101.381798f }, 1.000000f,
instance->registerEObj( "sgbg_f1d7_a1_evl01_1", 2004704, 5032163, 4, { 199.696106f, 44.000000f, -181.197006f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "sgbg_f1d7_a1_evl01_1", 2004704, 5032163, 4, { 199.696106f, 44.000000f, -181.197006f },
1.000000f, 0.000000f );
// States -> evils_def evils_off_anim evils_on evils_on_anim // States -> evils_def evils_off_anim evils_on evils_on_anim
instance->registerEObj( "Aetherialflow", 2004705, 5032164, 4, { 199.682800f, 44.163898f, -180.392395f }, 1.000000f, -0.000000f ); instance->registerEObj( "Aetherialflow", 2004705, 5032164, 4, { 199.682800f, 44.163898f, -180.392395f }, 1.000000f,
instance->registerEObj( "Fellorb", 2004706, 5009746, 4, { 200.094101f, -0.000008f, 0.050249f }, 1.000000f, 0.000000f ); -0.000000f );
instance->registerEObj( "Aetherialflow_1", 2004707, 5033533, 4, { 199.899506f, 0.000000f, -3.297300f }, 1.000000f, -0.000000f ); instance->registerEObj( "Fellorb", 2004706, 5009746, 4, { 200.094101f, -0.000008f, 0.050249f }, 1.000000f,
instance->registerEObj( "unknown_7", 2004768, 5033548, 4, { 210.649307f, 0.116687f, -6.120441f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_8", 2004769, 5033549, 4, { 189.489807f, 0.116688f, -6.804901f }, 1.000000f, 0.000000f ); instance->registerEObj( "Aetherialflow_1", 2004707, 5033533, 4, { 199.899506f, 0.000000f, -3.297300f }, 1.000000f,
instance->registerEObj( "unknown_9", 2004770, 5033551, 4, { 204.506500f, 0.116687f, 9.902725f }, 1.000000f, 0.000000f ); -0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2004708, 5034801, 4, { -119.510101f, -2.400002f, 18.885540f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_7", 2004768, 5033548, 4, { 210.649307f, 0.116687f, -6.120441f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_8", 2004769, 5033549, 4, { 189.489807f, 0.116688f, -6.804901f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_9", 2004770, 5033551, 4, { 204.506500f, 0.116687f, 9.902725f }, 1.000000f,
0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2004708, 5034801, 4, { -119.510101f, -2.400002f, 18.885540f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2002872, 5034800, 4, { -130.314606f, -2.400000f, -18.221069f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_2", 2002872, 5034800, 4, { -130.314606f, -2.400000f, -18.221069f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_10", 2002735, 0, 4, { -125.041801f, -1.964380f, -20.543480f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_10", 2002735, 0, 4, { -125.041801f, -1.964380f, -20.543480f }, 1.000000f,
instance->registerEObj( "sgpl_f1d7_a1_gar0", 2004996, 5390927, 4, { -112.845497f, -2.400000f, 12.122500f }, 1.000000f, 0.785314f ); 0.000000f );
instance->registerEObj( "sgpl_f1d7_a1_gar0_1", 2004997, 5390928, 4, { -112.845497f, -2.400000f, -12.378100f }, 1.000000f, 0.785457f ); instance->registerEObj( "sgpl_f1d7_a1_gar0", 2004996, 5390927, 4, { -112.845497f, -2.400000f, 12.122500f },
instance->registerEObj( "sgpl_f1d7_a1_gar0_2", 2004998, 5390929, 4, { -137.250000f, -2.400000f, 12.122500f }, 1.000000f, -0.785410f ); 1.000000f, 0.785314f );
instance->registerEObj( "sgpl_f1d7_a1_gar0_3", 2004999, 5390930, 4, { -137.396194f, -2.400000f, -12.366500f }, 1.000000f, -0.785398f ); instance->registerEObj( "sgpl_f1d7_a1_gar0_1", 2004997, 5390928, 4, { -112.845497f, -2.400000f, -12.378100f },
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2004782, 5038257, 4, { 198.459198f, 43.991699f, -172.369705f }, 1.000000f, 0.000048f ); 1.000000f, 0.785457f );
instance->registerEObj( "sgpl_f1d7_a1_gar0_2", 2004998, 5390929, 4, { -137.250000f, -2.400000f, 12.122500f },
1.000000f, -0.785410f );
instance->registerEObj( "sgpl_f1d7_a1_gar0_3", 2004999, 5390930, 4, { -137.396194f, -2.400000f, -12.366500f },
1.000000f, -0.785398f );
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2004782, 5038257, 4, { 198.459198f, 43.991699f, -172.369705f },
1.000000f, 0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0118_4", 2002872, 5038255, 4, { 197.802597f, 43.991699f, -125.932701f }, 1.000000f, -0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_4", 2002872, 5038255, 4, { 197.802597f, 43.991699f, -125.932701f },
1.000000f, -0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_11", 2002735, 0, 4, { 199.511703f, 44.022221f, -130.601303f }, 1.000000f, -0.000000f ); instance->registerEObj( "unknown_11", 2002735, 0, 4, { 199.511703f, 44.022221f, -130.601303f }, 1.000000f,
instance->registerEObj( "Entrance", 2000182, 5018466, 5, { -255.724792f, -9.199999f, -5.249732f }, 1.000000f, 0.000000f ); -0.000000f );
instance->registerEObj( "Entrance", 2000182, 5018466, 5, { -255.724792f, -9.199999f, -5.249732f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "Shortcut", 2000700, 0, 4, { -252.173401f, -9.199999f, 5.737248f }, 1.000000f, 0.000000f ); instance->registerEObj( "Shortcut", 2000700, 0, 4, { -252.173401f, -9.199999f, 5.737248f }, 1.000000f, 0.000000f );
instance->registerEObj( "Exit", 2000139, 0, 4, { 200.798599f, -0.000008f, 240.880905f }, 1.000000f, 0.000000f ); instance->registerEObj( "Exit", 2000139, 0, 4, { 200.798599f, -0.000008f, 240.880905f }, 1.000000f, 0.000000f );

View file

@ -1,46 +1,73 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class BaelsarsWall : public InstanceContentScript class BaelsarsWall :
public InstanceContentScript
{ {
public: public:
BaelsarsWall() : InstanceContentScript( 48 ) BaelsarsWall() :
{ } InstanceContentScript( 48 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "unknown_0", 2002735, 0, 4, { -173.966797f, 3.049999f, 52.443710f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2002735, 0, 4, { -173.966797f, 3.049999f, 52.443710f }, 1.000000f, 0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2002872, 6588628, 4, { -173.612198f, 3.049997f, 52.688000f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118", 2002872, 6588628, 4, { -173.612198f, 3.049997f, 52.688000f }, 1.000000f,
0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 6588629, 4, { -154.029907f, 3.049906f, 72.262756f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 6588629, 4, { -154.029907f, 3.049906f, 72.262756f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_1", 2002735, 0, 4, { 95.577843f, -300.028412f, 0.707827f }, 1.000000f, -1.570451f ); instance->registerEObj( "unknown_1", 2002735, 0, 4, { 95.577843f, -300.028412f, 0.707827f }, 1.000000f,
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2002872, 6588652, 4, { 95.163948f, -300.028198f, 0.952097f }, 1.000000f, -1.570451f ); -1.570451f );
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2002872, 6588652, 4, { 95.163948f, -300.028198f, 0.952097f },
1.000000f, -1.570451f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2002872, 6588653, 4, { 135.748398f, -300.000092f, 0.172490f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_3", 2002872, 6588653, 4, { 135.748398f, -300.000092f, 0.172490f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0118_4", 2002872, 6588667, 4, { 371.527588f, 212.000000f, 391.566010f }, 1.000000f, -0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_4", 2002872, 6588667, 4, { 371.527588f, 212.000000f, 391.566010f },
1.000000f, -0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_2", 2002735, 0, 4, { 371.795685f, 212.000000f, 391.643097f }, 1.000000f, -1.570451f ); instance->registerEObj( "unknown_2", 2002735, 0, 4, { 371.795685f, 212.000000f, 391.643097f }, 1.000000f,
instance->registerEObj( "Shortcut", 2000700, 0, 4, { -230.764297f, -0.932137f, -173.143600f }, 1.000000f, 0.000000f ); -1.570451f );
instance->registerEObj( "Shortcut", 2000700, 0, 4, { -230.764297f, -0.932137f, -173.143600f }, 1.000000f,
0.000000f );
instance->registerEObj( "Exit", 2000139, 0, 4, { 352.071411f, 212.000000f, 391.988892f }, 0.991760f, 0.000048f ); instance->registerEObj( "Exit", 2000139, 0, 4, { 352.071411f, 212.000000f, 391.988892f }, 0.991760f, 0.000048f );
instance->registerEObj( "Entrance", 2000182, 6562675, 5, { -228.044006f, -0.901261f, -183.153198f }, 1.000000f, 0.000000f ); instance->registerEObj( "Entrance", 2000182, 6562675, 5, { -228.044006f, -0.901261f, -183.153198f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "Imperialidentificationkey", 2007567, 0, 4, { -202.837997f, -0.966086f, -62.488140f }, 1.000000f, 0.000000f ); instance->registerEObj( "Imperialidentificationkey", 2007567, 0, 4, { -202.837997f, -0.966086f, -62.488140f },
instance->registerEObj( "Securityterminal", 2007571, 6640773, 4, { -206.023102f, 2.815013f, -48.897739f }, 1.000000f, 0.000000f ); 1.000000f, 0.000000f );
instance->registerEObj( "unknown_3", 2007575, 6501039, 4, { -203.861694f, 1.804717f, -49.827511f }, 1.000000f, 0.000000f ); instance->registerEObj( "Securityterminal", 2007571, 6640773, 4, { -206.023102f, 2.815013f, -48.897739f },
instance->registerEObj( "Imperialidentificationkey_1", 2007568, 0, 4, { -176.569397f, 2.150000f, 17.400681f }, 1.000000f, 0.000000f ); 1.000000f, 0.000000f );
instance->registerEObj( "Securityterminal_1", 2007572, 6516973, 4, { -187.083206f, 2.707914f, 19.031469f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_3", 2007575, 6501039, 4, { -203.861694f, 1.804717f, -49.827511f }, 1.000000f,
instance->registerEObj( "unknown_4", 2007576, 6502290, 4, { -174.854904f, 2.100000f, 23.458460f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_5", 2007776, 6500492, 4, { -126.770897f, 2.000089f, 72.952606f }, 1.000000f, 0.000000f ); instance->registerEObj( "Imperialidentificationkey_1", 2007568, 0, 4, { -176.569397f, 2.150000f, 17.400681f },
instance->registerEObj( "Controlpanel", 2007580, 0, 4, { -0.003809f, -299.760315f, 0.024599f }, 2.000000f, 0.000048f ); 1.000000f, 0.000000f );
instance->registerEObj( "Controlpanel_1", 2007581, 0, 4, { 177.511993f, -298.963196f, 4.224624f }, 0.991760f, 0.000048f ); instance->registerEObj( "Securityterminal_1", 2007572, 6516973, 4, { -187.083206f, 2.707914f, 19.031469f },
instance->registerEObj( "Controlpanel_2", 2007582, 6523203, 4, { 177.434006f, -298.072601f, 6.243333f }, 1.000000f, 0.000000f ); 1.000000f, 0.000000f );
instance->registerEObj( "unknown_6", 2007601, 6516974, 4, { 176.321396f, -299.105713f, 0.250570f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_4", 2007576, 6502290, 4, { -174.854904f, 2.100000f, 23.458460f }, 1.000000f,
instance->registerEObj( "Imperialidentificationkey_2", 2007569, 0, 4, { 317.032288f, 169.000107f, 230.153503f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "Securityterminal_2", 2007573, 6488516, 4, { 320.921600f, 169.867996f, 243.976807f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_5", 2007776, 6500492, 4, { -126.770897f, 2.000089f, 72.952606f }, 1.000000f,
instance->registerEObj( "unknown_7", 2007577, 6488509, 4, { 328.225189f, 169.000107f, 244.581894f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_8", 2007578, 6777152, 4, { 382.790100f, 203.000000f, 357.169403f }, 1.000000f, 0.000000f ); instance->registerEObj( "Controlpanel", 2007580, 0, 4, { -0.003809f, -299.760315f, 0.024599f }, 2.000000f,
0.000048f );
instance->registerEObj( "Controlpanel_1", 2007581, 0, 4, { 177.511993f, -298.963196f, 4.224624f }, 0.991760f,
0.000048f );
instance->registerEObj( "Controlpanel_2", 2007582, 6523203, 4, { 177.434006f, -298.072601f, 6.243333f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_6", 2007601, 6516974, 4, { 176.321396f, -299.105713f, 0.250570f }, 1.000000f,
0.000000f );
instance->registerEObj( "Imperialidentificationkey_2", 2007569, 0, 4, { 317.032288f, 169.000107f, 230.153503f },
1.000000f, 0.000000f );
instance->registerEObj( "Securityterminal_2", 2007573, 6488516, 4, { 320.921600f, 169.867996f, 243.976807f },
1.000000f, 0.000000f );
instance->registerEObj( "unknown_7", 2007577, 6488509, 4, { 328.225189f, 169.000107f, 244.581894f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_8", 2007578, 6777152, 4, { 382.790100f, 203.000000f, 357.169403f }, 1.000000f,
0.000000f );
} }

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class BardamsMettle : public InstanceContentScript class BardamsMettle :
public InstanceContentScript
{ {
public: public:
BardamsMettle() : InstanceContentScript( 53 ) BardamsMettle() :
{ } InstanceContentScript( 53 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {

View file

@ -1,34 +1,50 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class BrayfloxsLongstop : public InstanceContentScript class BrayfloxsLongstop :
public InstanceContentScript
{ {
public: public:
BrayfloxsLongstop() : InstanceContentScript( 8 ) BrayfloxsLongstop() :
{ } InstanceContentScript( 8 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "unknown_0", 2001694, 0, 4, { -36.384769f, 34.915119f, -234.568405f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2001694, 0, 4, { -36.384769f, 34.915119f, -234.568405f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_1", 2001461, 0, 4, { 142.567200f, -1.266762f, 67.804497f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_1", 2001461, 0, 4, { 142.567200f, -1.266762f, 67.804497f }, 0.991760f, 0.000048f );
instance->registerEObj( "RunstopHeadgate", 2001462, 3996541, 4, { 105.920601f, 1.745684f, 11.445460f }, 1.000000f, 0.000000f ); instance->registerEObj( "RunstopHeadgate", 2001462, 3996541, 4, { 105.920601f, 1.745684f, 11.445460f }, 1.000000f,
instance->registerEObj( "RunstopGutgate", 2001463, 3970152, 4, { 113.391296f, -0.849704f, -33.166710f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "RunstopBackgate", 2001464, 3970154, 4, { -19.424801f, 7.919373f, -71.122383f }, 0.991760f, 0.000048f ); instance->registerEObj( "RunstopGutgate", 2001463, 3970152, 4, { 113.391296f, -0.849704f, -33.166710f }, 1.000000f,
instance->registerEObj( "LongstopHeadgate", 2001465, 3970153, 4, { -113.634499f, 1.332127f, -58.144779f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "LongstopGutgate", 2001466, 3976772, 4, { -89.831360f, 14.042510f, -96.676224f }, 1.000000f, 0.000000f ); instance->registerEObj( "RunstopBackgate", 2001464, 3970154, 4, { -19.424801f, 7.919373f, -71.122383f }, 0.991760f,
instance->registerEObj( "sgvf_w_lvd_b0118", 2001584, 4086949, 4, { 106.822800f, -1.629326f, 2.541263f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "LongstopHeadgate", 2001465, 3970153, 4, { -113.634499f, 1.332127f, -58.144779f },
1.000000f, 0.000000f );
instance->registerEObj( "LongstopGutgate", 2001466, 3976772, 4, { -89.831360f, 14.042510f, -96.676224f }, 1.000000f,
0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2001584, 4086949, 4, { 106.822800f, -1.629326f, 2.541263f }, 1.000000f,
0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_2", 2001585, 0, 4, { 110.429604f, -1.663330f, 3.311157f }, 0.991760f, 0.214809f ); instance->registerEObj( "unknown_2", 2001585, 0, 4, { 110.429604f, -1.663330f, 3.311157f }, 0.991760f, 0.214809f );
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2001586, 4088979, 4, { 8.021301f, 5.921407f, -69.090309f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_1", 2001586, 4088979, 4, { 8.021301f, 5.921407f, -69.090309f }, 1.000000f,
0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_3", 2001587, 0, 4, { 6.458210f, 5.902269f, -67.560417f }, 1.000000f, -0.788830f ); instance->registerEObj( "unknown_3", 2001587, 0, 4, { 6.458210f, 5.902269f, -67.560417f }, 1.000000f, -0.788830f );
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2001588, 4088985, 4, { -106.298798f, -2.123102f, -10.585170f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_2", 2001588, 4088985, 4, { -106.298798f, -2.123102f, -10.585170f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_4", 2001589, 0, 4, { -105.172897f, -2.123102f, -10.865350f }, 1.000000f, -0.043989f ); instance->registerEObj( "unknown_4", 2001589, 0, 4, { -105.172897f, -2.123102f, -10.865350f }, 1.000000f,
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2001590, 4088991, 4, { -68.039551f, 33.716820f, -232.938904f }, 1.000000f, 0.000000f ); -0.043989f );
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2001590, 4088991, 4, { -68.039551f, 33.716820f, -232.938904f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_5", 2001591, 0, 4, { -68.693542f, 33.682091f, -234.070496f }, 1.000000f, -1.318638f ); instance->registerEObj( "unknown_5", 2001591, 0, 4, { -68.693542f, 33.682091f, -234.070496f }, 1.000000f,
instance->registerEObj( "Entrance", 2000182, 4097104, 5, { 122.445702f, -1.119082f, 68.403687f }, 1.000000f, 0.000000f ); -1.318638f );
instance->registerEObj( "Entrance", 2000182, 4097104, 5, { 122.445702f, -1.119082f, 68.403687f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "Shortcut", 2000700, 0, 4, { 113.256897f, -1.172536f, 59.115589f }, 1.000000f, 0.000000f ); instance->registerEObj( "Shortcut", 2000700, 0, 4, { 113.256897f, -1.172536f, 59.115589f }, 1.000000f, 0.000000f );
instance->registerEObj( "Exit", 2000139, 0, 4, { -8.639429f, 35.641689f, -234.813797f }, 0.991760f, 0.000048f ); instance->registerEObj( "Exit", 2000139, 0, 4, { -8.639429f, 35.641689f, -234.813797f }, 0.991760f, 0.000048f );

View file

@ -1,43 +1,64 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class BrayfloxsLongstopHard : public InstanceContentScript class BrayfloxsLongstopHard :
public InstanceContentScript
{ {
public: public:
BrayfloxsLongstopHard() : InstanceContentScript( 20 ) BrayfloxsLongstopHard() :
{ } InstanceContentScript( 20 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "unknown_0", 2003103, 0, 4, { -16.800230f, 25.375731f, -171.007904f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_0", 2003103, 0, 4, { -16.800230f, 25.375731f, -171.007904f }, 0.991760f,
instance->registerEObj( "RunstopHeadgate", 2002182, 4542379, 4, { 105.912804f, 1.724182f, 11.428960f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2002183, 4621964, 4, { 111.650299f, 0.228821f, -49.790279f }, 0.991760f, 0.000048f ); instance->registerEObj( "RunstopHeadgate", 2002182, 4542379, 4, { 105.912804f, 1.724182f, 11.428960f }, 0.991760f,
0.000048f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2002183, 4621964, 4, { 111.650299f, 0.228821f, -49.790279f }, 0.991760f,
0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Shortcut", 2000700, 0, 4, { -75.025421f, -1.210333f, 73.659332f }, 0.991760f, 0.000048f ); instance->registerEObj( "Shortcut", 2000700, 0, 4, { -75.025421f, -1.210333f, 73.659332f }, 0.991760f, 0.000048f );
instance->registerEObj( "Entrance", 2000182, 4543753, 5, { -77.622681f, 0.605630f, 95.628304f }, 0.991760f, 0.000048f ); instance->registerEObj( "Entrance", 2000182, 4543753, 5, { -77.622681f, 0.605630f, 95.628304f }, 0.991760f,
0.000048f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "unknown_1", 2002326, 0, 4, { -3.491464f, -0.354560f, -24.718349f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_1", 2002326, 0, 4, { -3.491464f, -0.354560f, -24.718349f }, 1.000000f, 0.000000f );
instance->registerEObj( "Tinykey", 2002325, 0, 4, { -62.769581f, -0.332854f, 36.199650f }, 1.000000f, 0.000000f ); instance->registerEObj( "Tinykey", 2002325, 0, 4, { -62.769581f, -0.332854f, 36.199650f }, 1.000000f, 0.000000f );
instance->registerEObj( "sgpl_w_lvd_b0118_wide", 2002872, 4543726, 4, { 111.888000f, -2.109839f, -6.942894f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgpl_w_lvd_b0118_wide", 2002872, 4543726, 4, { 111.888000f, -2.109839f, -6.942894f },
0.991760f, 0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_2", 2002735, 0, 4, { 114.658699f, -2.093417f, -6.149437f }, 1.100000f, 0.000000f ); instance->registerEObj( "unknown_2", 2002735, 0, 4, { 114.658699f, -2.093417f, -6.149437f }, 1.100000f, 0.000000f );
instance->registerEObj( "unknown_3", 2002109, 4549243, 4, { 92.977211f, 5.002774f, -110.975502f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_3", 2002109, 4549243, 4, { 92.977211f, 5.002774f, -110.975502f }, 1.000000f,
instance->registerEObj( "unknown_4", 2002150, 4549448, 4, { 30.497520f, 8.248112f, -82.096916f }, 0.991760f, 0.000048f ); 0.000000f );
instance->registerEObj( "unknown_5", 2002180, 4549459, 4, { 27.134510f, 7.114878f, -120.719704f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_4", 2002150, 4549448, 4, { 30.497520f, 8.248112f, -82.096916f }, 0.991760f,
instance->registerEObj( "unknown_6", 2002181, 4574849, 4, { 45.695850f, 7.015042f, -129.344604f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "Stolenwares", 2002262, 4598415, 4, { -28.610241f, 25.192631f, -174.631195f }, 0.991760f, -0.000527f ); instance->registerEObj( "unknown_5", 2002180, 4549459, 4, { 27.134510f, 7.114878f, -120.719704f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_6", 2002181, 4574849, 4, { 45.695850f, 7.015042f, -129.344604f }, 1.000000f,
0.000000f );
instance->registerEObj( "Stolenwares", 2002262, 4598415, 4, { -28.610241f, 25.192631f, -174.631195f }, 0.991760f,
-0.000527f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_7", 2002735, 0, 4, { 44.686901f, 7.015000f, -131.547394f }, 0.500000f, -0.532325f ); instance->registerEObj( "unknown_7", 2002735, 0, 4, { 44.686901f, 7.015000f, -131.547394f }, 0.500000f,
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 4543729, 4, { 44.232769f, 7.015042f, -129.352997f }, 0.991760f, 0.000048f ); -0.532325f );
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 4543729, 4, { 44.232769f, 7.015042f, -129.352997f },
0.991760f, 0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "ブレイフロクスの抜道", 2003429, 0, 4, { 44.358749f, 7.554582f, -132.341095f }, 1.000000f, 0.000000f ); instance->registerEObj( "ブレイフロクスの抜道", 2003429, 0, 4, { 44.358749f, 7.554582f, -132.341095f }, 1.000000f,
0.000000f );
instance->registerEObj( "Exit", 2000139, 0, 4, { -25.894650f, 35.019409f, -222.949600f }, 0.991760f, 0.000048f ); instance->registerEObj( "Exit", 2000139, 0, 4, { -25.894650f, 35.019409f, -222.949600f }, 0.991760f, 0.000048f );
instance->registerEObj( "SwiftmakeCheckgate", 2002184, 4549240, 4, { -95.264717f, 12.888430f, -122.593300f }, 1.000000f, 0.000000f ); instance->registerEObj( "SwiftmakeCheckgate", 2002184, 4549240, 4, { -95.264717f, 12.888430f, -122.593300f },
instance->registerEObj( "SwiftmakeCheckgate_1", 2002665, 4549241, 4, { -100.273201f, 20.310730f, -163.513397f }, 1.000000f, 0.000000f ); 1.000000f, 0.000000f );
instance->registerEObj( "SwiftmakeCheckgate_2", 2002884, 4572942, 4, { -102.647499f, 21.011600f, -187.365494f }, 0.991760f, 0.000048f ); instance->registerEObj( "SwiftmakeCheckgate_1", 2002665, 4549241, 4, { -100.273201f, 20.310730f, -163.513397f },
instance->registerEObj( "sgvf_w_lvd_b0250", 2002872, 4543735, 4, { -48.175251f, 34.706921f, -234.463196f }, 0.991760f, 0.000048f ); 1.000000f, 0.000000f );
instance->registerEObj( "SwiftmakeCheckgate_2", 2002884, 4572942, 4, { -102.647499f, 21.011600f, -187.365494f },
0.991760f, 0.000048f );
instance->registerEObj( "sgvf_w_lvd_b0250", 2002872, 4543735, 4, { -48.175251f, 34.706921f, -234.463196f },
0.991760f, 0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_8", 2002735, 0, 4, { -48.271229f, 34.918541f, -235.574203f }, 1.000000f, -1.497719f ); instance->registerEObj( "unknown_8", 2002735, 0, 4, { -48.271229f, 34.918541f, -235.574203f }, 1.000000f,
-1.497719f );
} }

View file

@ -1,11 +1,14 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class CastrumAbania : public InstanceContentScript class CastrumAbania :
public InstanceContentScript
{ {
public: public:
CastrumAbania() : InstanceContentScript( 55 ) CastrumAbania() :
{ } InstanceContentScript( 55 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {

View file

@ -1,83 +1,139 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class CastrumMeridianum : public InstanceContentScript class CastrumMeridianum :
public InstanceContentScript
{ {
public: public:
CastrumMeridianum() : InstanceContentScript( 15 ) CastrumMeridianum() :
{ } InstanceContentScript( 15 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "sgvf_w_lvd_b0250", 2000593, 4249703, 4, { -67.576859f, 70.350082f, -36.382999f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0250", 2000593, 4249703, 4, { -67.576859f, 70.350082f, -36.382999f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_0", 2000594, 0, 4, { -72.778549f, 70.163177f, -38.339291f }, 1.000000f, 1.406840f ); instance->registerEObj( "unknown_0", 2000594, 0, 4, { -72.778549f, 70.163177f, -38.339291f }, 1.000000f,
instance->registerEObj( "Magitekmissile", 2000662, 0, 4, { -108.687798f, 70.343590f, -8.558592f }, 1.400000f, -0.605074f ); 1.406840f );
instance->registerEObj( "Magitekmissile_1", 2000663, 0, 4, { -116.665100f, 70.390266f, -53.063919f }, 1.400000f, -0.849513f ); instance->registerEObj( "Magitekmissile", 2000662, 0, 4, { -108.687798f, 70.343590f, -8.558592f }, 1.400000f,
instance->registerEObj( "unknown_1", 2001149, 0, 4, { -72.778549f, 70.163177f, -38.339291f }, 1.000000f, 1.406839f ); -0.605074f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2000591, 4249720, 4, { -25.465830f, 83.385536f, -254.529602f }, 1.000000f, 0.000000f ); instance->registerEObj( "Magitekmissile_1", 2000663, 0, 4, { -116.665100f, 70.390266f, -53.063919f }, 1.400000f,
-0.849513f );
instance->registerEObj( "unknown_1", 2001149, 0, 4, { -72.778549f, 70.163177f, -38.339291f }, 1.000000f,
1.406839f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2000591, 4249720, 4, { -25.465830f, 83.385536f, -254.529602f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_2", 2000592, 0, 4, { -25.038260f, 81.798767f, -248.906296f }, 1.100000f, 0.000000f ); instance->registerEObj( "unknown_2", 2000592, 0, 4, { -25.038260f, 81.798767f, -248.906296f }, 1.100000f,
instance->registerEObj( "Imperialidentificationkey", 2000870, 0, 4, { -67.439163f, 81.798767f, -231.079102f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "Imperialidentificationkey", 2000870, 0, 4, { -67.439163f, 81.798767f, -231.079102f },
1.000000f, 0.000000f );
instance->registerEObj( "unknown_3", 2000588, 0, 4, { 34.634392f, 71.755402f, -45.910198f }, 0.900000f, 1.543478f ); instance->registerEObj( "unknown_3", 2000588, 0, 4, { 34.634392f, 71.755402f, -45.910198f }, 0.900000f, 1.543478f );
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2000587, 4249693, 4, { 36.526970f, 70.598427f, -46.207680f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_1", 2000587, 4249693, 4, { 36.526970f, 70.598427f, -46.207680f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Imperialidentificationkey_1", 2000869, 0, 4, { -7.280443f, 69.781212f, 27.170691f }, 1.000000f, 0.000000f ); instance->registerEObj( "Imperialidentificationkey_1", 2000869, 0, 4, { -7.280443f, 69.781212f, 27.170691f },
1.000000f, 0.000000f );
instance->registerEObj( "unknown_4", 2000590, 0, 4, { -7.938801f, 70.550377f, 55.590679f }, 1.100000f, -0.213036f ); instance->registerEObj( "unknown_4", 2000590, 0, 4, { -7.938801f, 70.550377f, 55.590679f }, 1.100000f, -0.213036f );
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2000589, 4249713, 4, { -5.998041f, 70.281548f, 58.349812f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_2", 2000589, 4249713, 4, { -5.998041f, 70.281548f, 58.349812f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Searchlightterminal", 2000564, 3169670, 4, { 213.829102f, 89.024597f, -107.133797f }, 1.000000f, 1.045186f ); instance->registerEObj( "Searchlightterminal", 2000564, 3169670, 4, { 213.829102f, 89.024597f, -107.133797f },
1.000000f, 1.045186f );
// States -> blue_on red_on white_on // States -> blue_on red_on white_on
instance->registerEObj( "sgbg_w_emp_015_01a", 2000565, 4204866, 4, { 210.588501f, 88.962471f, -106.430901f }, 0.991760f, 0.000048f ); instance->registerEObj( "sgbg_w_emp_015_01a", 2000565, 4204866, 4, { 210.588501f, 88.962471f, -106.430901f },
0.991760f, 0.000048f );
// States -> blue_on red_on light_off // States -> blue_on red_on light_off
instance->registerEObj( "Shortcut", 2000603, 0, 4, { 242.256302f, 87.579422f, -95.018204f }, 0.991760f, 0.000048f ); instance->registerEObj( "Shortcut", 2000603, 0, 4, { 242.256302f, 87.579422f, -95.018204f }, 0.991760f, 0.000048f );
instance->registerEObj( "Disposalchute", 2000597, 0, 4, { 40.790581f, 71.410004f, -11.781850f }, 0.991760f, 1.191010f ); instance->registerEObj( "Disposalchute", 2000597, 0, 4, { 40.790581f, 71.410004f, -11.781850f }, 0.991760f,
instance->registerEObj( "unknown_5", 2000860, 3168876, 4, { 197.143005f, 92.716309f, -155.744797f }, 1.000000f, 0.000000f ); 1.191010f );
instance->registerEObj( "unknown_6", 2000861, 3168877, 4, { 211.024704f, 89.452042f, -70.152588f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_5", 2000860, 3168876, 4, { 197.143005f, 92.716309f, -155.744797f }, 1.000000f,
instance->registerEObj( "Searchlightterminal_1", 2000873, 4317191, 4, { 206.509399f, 90.986397f, -79.219772f }, 1.000000f, 1.466079f ); 0.000000f );
instance->registerEObj( "unknown_6", 2000861, 3168877, 4, { 211.024704f, 89.452042f, -70.152588f }, 1.000000f,
0.000000f );
instance->registerEObj( "Searchlightterminal_1", 2000873, 4317191, 4, { 206.509399f, 90.986397f, -79.219772f },
1.000000f, 1.466079f );
// States -> blue_on red_on white_on // States -> blue_on red_on white_on
instance->registerEObj( "unknown_7", 2000566, 4204867, 4, { -62.804321f, 72.657097f, 180.368805f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_7", 2000566, 4204867, 4, { -62.804321f, 72.657097f, 180.368805f }, 1.000000f,
instance->registerEObj( "Searchlightterminal_2", 2000567, 4204869, 4, { -71.896492f, 74.742790f, 151.474503f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_8", 2000569, 4204871, 4, { 1.863623f, 71.927399f, 89.175919f }, 1.000000f, 0.000000f ); instance->registerEObj( "Searchlightterminal_2", 2000567, 4204869, 4, { -71.896492f, 74.742790f, 151.474503f },
instance->registerEObj( "Unstablepaneling", 2000571, 3956106, 4, { 95.737846f, 64.963051f, 103.147400f }, 1.000000f, 0.000000f ); 1.000000f, 0.000000f );
instance->registerEObj( "unknown_9", 2000573, 3149745, 4, { 93.090912f, 66.531853f, 117.642097f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_8", 2000569, 4204871, 4, { 1.863623f, 71.927399f, 89.175919f }, 1.000000f,
instance->registerEObj( "unknown_10", 2000572, 4065604, 4, { 83.071327f, 60.587688f, 116.300903f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "Unstablepaneling_1", 2000574, 3956104, 4, { 104.309601f, 64.941147f, 67.240013f }, 1.000000f, 0.000000f ); instance->registerEObj( "Unstablepaneling", 2000571, 3956106, 4, { 95.737846f, 64.963051f, 103.147400f }, 1.000000f,
instance->registerEObj( "unknown_11", 2000575, 4065628, 4, { 93.616432f, 60.529831f, 51.407162f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_12", 2000576, 3149747, 4, { 101.933800f, 66.905586f, 52.199631f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_9", 2000573, 3149745, 4, { 93.090912f, 66.531853f, 117.642097f }, 1.000000f,
instance->registerEObj( "unknown_13", 2000577, 3642024, 4, { 20.799950f, 70.334259f, 4.277452f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_14", 2000862, 3149816, 4, { -77.378540f, 78.416023f, 130.266205f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_10", 2000572, 4065604, 4, { 83.071327f, 60.587688f, 116.300903f }, 1.000000f,
instance->registerEObj( "Incendiary#37", 2000570, 0, 4, { 109.141098f, 64.757690f, 62.367512f }, 0.991760f, 0.000048f ); 0.000000f );
instance->registerEObj( "Incendiary#37_1", 2001113, 0, 4, { 124.726898f, 64.689621f, 62.085869f }, 1.000000f, 0.000000f ); instance->registerEObj( "Unstablepaneling_1", 2000574, 3956104, 4, { 104.309601f, 64.941147f, 67.240013f },
instance->registerEObj( "unknown_15", 2001206, 0, 4, { 104.233803f, 66.103699f, 68.343483f }, 1.000000f, 0.000000f ); 1.000000f, 0.000000f );
instance->registerEObj( "unknown_16", 2001205, 0, 4, { 95.566910f, 66.188728f, 101.984398f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_11", 2000575, 4065628, 4, { 93.616432f, 60.529831f, 51.407162f }, 1.000000f,
instance->registerEObj( "unknown_17", 2000578, 3642033, 4, { 5.540902f, 70.172447f, -68.735893f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_18", 2000586, 3169187, 4, { -84.639374f, 86.075699f, -294.635010f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_12", 2000576, 3149747, 4, { 101.933800f, 66.905586f, 52.199631f }, 1.000000f,
instance->registerEObj( "Magitekterminal", 2000582, 0, 4, { -62.063919f, 69.259163f, -89.851593f }, 1.500000f, 0.261981f ); 0.000000f );
instance->registerEObj( "Magitekterminal_1", 2000583, 0, 4, { -43.080639f, 69.331673f, -84.657654f }, 1.480042f, 0.271375f ); instance->registerEObj( "unknown_13", 2000577, 3642024, 4, { 20.799950f, 70.334259f, 4.277452f }, 1.000000f,
instance->registerEObj( "unknown_19", 2000584, 3642010, 4, { -53.516090f, 69.940781f, -85.333992f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_20", 2000863, 3169178, 4, { 31.803410f, 83.652863f, -168.188904f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_14", 2000862, 3149816, 4, { -77.378540f, 78.416023f, 130.266205f }, 0.991760f,
instance->registerEObj( "Searchlightterminal_3", 2000568, 4204872, 4, { 24.724890f, 77.701874f, -154.365402f }, 0.991760f, 0.795709f ); 0.000048f );
instance->registerEObj( "Incendiary#37", 2000570, 0, 4, { 109.141098f, 64.757690f, 62.367512f }, 0.991760f,
0.000048f );
instance->registerEObj( "Incendiary#37_1", 2001113, 0, 4, { 124.726898f, 64.689621f, 62.085869f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_15", 2001206, 0, 4, { 104.233803f, 66.103699f, 68.343483f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_16", 2001205, 0, 4, { 95.566910f, 66.188728f, 101.984398f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_17", 2000578, 3642033, 4, { 5.540902f, 70.172447f, -68.735893f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_18", 2000586, 3169187, 4, { -84.639374f, 86.075699f, -294.635010f }, 1.000000f,
0.000000f );
instance->registerEObj( "Magitekterminal", 2000582, 0, 4, { -62.063919f, 69.259163f, -89.851593f }, 1.500000f,
0.261981f );
instance->registerEObj( "Magitekterminal_1", 2000583, 0, 4, { -43.080639f, 69.331673f, -84.657654f }, 1.480042f,
0.271375f );
instance->registerEObj( "unknown_19", 2000584, 3642010, 4, { -53.516090f, 69.940781f, -85.333992f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_20", 2000863, 3169178, 4, { 31.803410f, 83.652863f, -168.188904f }, 1.000000f,
0.000000f );
instance->registerEObj( "Searchlightterminal_3", 2000568, 4204872, 4, { 24.724890f, 77.701874f, -154.365402f },
0.991760f, 0.795709f );
// States -> blue_on red_on white_on // States -> blue_on red_on white_on
instance->registerEObj( "sgbg_w_emp_015_01a_1", 2000874, 4317259, 4, { 10.967040f, 74.960777f, -139.438599f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgbg_w_emp_015_01a_1", 2000874, 4317259, 4, { 10.967040f, 74.960777f, -139.438599f },
1.000000f, 0.000000f );
// States -> blue_on red_on light_off // States -> blue_on red_on light_off
instance->registerEObj( "unknown_21", 2001136, 4265914, 4, { -18.308630f, 81.798767f, -204.730896f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_21", 2001136, 4265914, 4, { -18.308630f, 81.798767f, -204.730896f }, 1.000000f,
instance->registerEObj( "unknown_22", 2001160, 4200584, 4, { 5.338250f, 70.502319f, -87.827461f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_23", 2001159, 4200444, 4, { 21.572090f, 70.516617f, 9.031565f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_22", 2001160, 4200584, 4, { 5.338250f, 70.502319f, -87.827461f }, 1.000000f,
instance->registerEObj( "MarkXLIIIantiaircraftcannon", 2000595, 0, 4, { -66.151108f, 69.594437f, -20.559780f }, 0.991760f, 1.356260f ); 0.000000f );
instance->registerEObj( "MarkXLIIIantiaircraftcannon_1", 2000600, 0, 4, { -70.083420f, 69.122810f, -65.019180f }, 0.991760f, 0.891590f ); instance->registerEObj( "unknown_23", 2001159, 4200444, 4, { 21.572090f, 70.516617f, 9.031565f }, 1.000000f,
instance->registerEObj( "MarkXLIIIantiaircraftcannon_2", 2000601, 0, 4, { -44.756939f, 67.998627f, -39.293011f }, 0.991760f, 1.490808f ); 0.000000f );
instance->registerEObj( "unknown_24", 2000865, 3169123, 4, { -27.982929f, 79.754509f, -48.873550f }, 1.000000f, 0.000000f ); instance->registerEObj( "MarkXLIIIantiaircraftcannon", 2000595, 0, 4, { -66.151108f, 69.594437f, -20.559780f },
instance->registerEObj( "unknown_25", 2000865, 3284996, 4, { -19.120440f, 79.754509f, -11.464200f }, 1.000000f, 0.000000f ); 0.991760f, 1.356260f );
instance->registerEObj( "Searchlightterminal_4", 2000580, 4204877, 4, { -26.230459f, 79.754509f, -42.167561f }, 0.991760f, 1.557559f ); instance->registerEObj( "MarkXLIIIantiaircraftcannon_1", 2000600, 0, 4, { -70.083420f, 69.122810f, -65.019180f },
0.991760f, 0.891590f );
instance->registerEObj( "MarkXLIIIantiaircraftcannon_2", 2000601, 0, 4, { -44.756939f, 67.998627f, -39.293011f },
0.991760f, 1.490808f );
instance->registerEObj( "unknown_24", 2000865, 3169123, 4, { -27.982929f, 79.754509f, -48.873550f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_25", 2000865, 3284996, 4, { -19.120440f, 79.754509f, -11.464200f }, 1.000000f,
0.000000f );
instance->registerEObj( "Searchlightterminal_4", 2000580, 4204877, 4, { -26.230459f, 79.754509f, -42.167561f },
0.991760f, 1.557559f );
// States -> blue_on red_on white_on // States -> blue_on red_on white_on
instance->registerEObj( "Searchlightterminal_5", 2000581, 4265903, 4, { -23.853939f, 79.754509f, -15.348020f }, 0.991760f, 0.000048f ); instance->registerEObj( "Searchlightterminal_5", 2000581, 4265903, 4, { -23.853939f, 79.754509f, -15.348020f },
0.991760f, 0.000048f );
// States -> blue_on red_on white_on // States -> blue_on red_on white_on
instance->registerEObj( "sgbg_w_emp_015_01a_2", 2000875, 4317262, 4, { -45.087860f, 67.998833f, -39.263939f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgbg_w_emp_015_01a_2", 2000875, 4317262, 4, { -45.087860f, 67.998833f, -39.263939f },
1.000000f, 0.000000f );
// States -> blue_on red_on light_off // States -> blue_on red_on light_off
instance->registerEObj( "Entrance", 2000562, 4247977, 5, { 257.286194f, 87.030891f, -99.538628f }, 1.000000f, 0.000000f ); instance->registerEObj( "Entrance", 2000562, 4247977, 5, { 257.286194f, 87.030891f, -99.538628f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "unknown_26", 2000563, 0, 4, { 260.508087f, 86.897049f, -89.411842f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_26", 2000563, 0, 4, { 260.508087f, 86.897049f, -89.411842f }, 1.000000f,
0.000000f );
instance->registerEObj( "Exit", 2000596, 0, 4, { -121.432404f, 70.350082f, -28.426470f }, 1.000000f, 0.000000f ); instance->registerEObj( "Exit", 2000596, 0, 4, { -121.432404f, 70.350082f, -28.426470f }, 1.000000f, 0.000000f );
} }

View file

@ -1,68 +1,117 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class CopperbellMines : public InstanceContentScript class CopperbellMines :
public InstanceContentScript
{ {
public: public:
CopperbellMines() : InstanceContentScript( 3 ) CopperbellMines() :
{ } InstanceContentScript( 3 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "unknown_0", 2000068, 0, 4, { 44.405670f, -9.596272f, -115.661201f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2000068, 0, 4, { 44.405670f, -9.596272f, -115.661201f }, 1.000000f,
instance->registerEObj( "sgvf_w_lvd_b0118", 2001526, 4056196, 4, { 42.862770f, -9.734462f, -118.006302f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2001526, 4056196, 4, { 42.862770f, -9.734462f, -118.006302f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_1", 2000069, 0, 4, { 35.776779f, -38.010250f, 86.627357f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_1", 2000069, 0, 4, { 35.776779f, -38.010250f, 86.627357f }, 1.000000f, 0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2001527, 4056695, 4, { 34.781620f, -38.026581f, 85.051003f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_1", 2001527, 4056695, 4, { 34.781620f, -38.026581f, 85.051003f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2001528, 4056696, 4, { -93.129417f, -57.842449f, 54.637360f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_2", 2001528, 4056696, 4, { -93.129417f, -57.842449f, 54.637360f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_2", 2000037, 0, 4, { -90.569702f, -57.860081f, 55.157581f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_2", 2000037, 0, 4, { -90.569702f, -57.860081f, 55.157581f }, 1.000000f,
instance->registerEObj( "unknown_3", 2000266, 3163462, 4, { -73.202423f, -55.895020f, 1.983328f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_4", 2000267, 3163472, 4, { -123.490501f, -56.689388f, 36.337471f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_3", 2000266, 3163462, 4, { -73.202423f, -55.895020f, 1.983328f }, 1.000000f,
instance->registerEObj( "Improvedblastingdevice", 2000184, 4093714, 4, { 30.553780f, -37.974628f, 110.802399f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_5", 2000239, 4093740, 4, { 34.836300f, -38.021832f, 115.035202f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_4", 2000267, 3163472, 4, { -123.490501f, -56.689388f, 36.337471f }, 0.991760f,
0.000048f );
instance->registerEObj( "Improvedblastingdevice", 2000184, 4093714, 4, { 30.553780f, -37.974628f, 110.802399f },
1.000000f, 0.000000f );
instance->registerEObj( "unknown_5", 2000239, 4093740, 4, { 34.836300f, -38.021832f, 115.035202f }, 0.991760f,
0.000048f );
instance->registerEObj( "Exit", 2000139, 0, 4, { -100.877403f, -56.042820f, -15.206130f }, 0.991760f, 0.000048f ); instance->registerEObj( "Exit", 2000139, 0, 4, { -100.877403f, -56.042820f, -15.206130f }, 0.991760f, 0.000048f );
instance->registerEObj( "unknown_6", 2000186, 3163464, 4, { -127.532204f, -56.557701f, 13.108460f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_6", 2000186, 3163464, 4, { -127.532204f, -56.557701f, 13.108460f }, 1.000000f,
instance->registerEObj( "Tinykey", 2000159, 0, 4, { -209.307999f, 23.619301f, -210.254105f }, 0.991760f, 0.000048f ); 0.000000f );
instance->registerEObj( "Sealedblastingdoor", 2000160, 4025573, 4, { -205.498901f, 23.819269f, -208.536697f }, 0.991760f, 0.000048f ); instance->registerEObj( "Tinykey", 2000159, 0, 4, { -209.307999f, 23.619301f, -210.254105f }, 0.991760f,
instance->registerEObj( "unknown_7", 2000161, 4024332, 4, { -184.037094f, 13.828580f, -208.114502f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "Liftlever", 2000162, 4018210, 4, { -191.827606f, 23.433090f, -205.127106f }, 0.991760f, 0.000048f ); instance->registerEObj( "Sealedblastingdoor", 2000160, 4025573, 4, { -205.498901f, 23.819269f, -208.536697f },
instance->registerEObj( "Liftlever_1", 2000163, 0, 4, { -183.969498f, 24.006029f, -205.712097f }, 0.991760f, 1.570451f ); 0.991760f, 0.000048f );
instance->registerEObj( "unknown_8", 2001559, 4023678, 4, { -189.593399f, 23.392031f, -208.209396f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_7", 2000161, 4024332, 4, { -184.037094f, 13.828580f, -208.114502f }, 0.991760f,
instance->registerEObj( "Entrance", 2000182, 4085080, 5, { -253.156403f, 23.528379f, -174.613998f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "Liftlever", 2000162, 4018210, 4, { -191.827606f, 23.433090f, -205.127106f }, 0.991760f,
0.000048f );
instance->registerEObj( "Liftlever_1", 2000163, 0, 4, { -183.969498f, 24.006029f, -205.712097f }, 0.991760f,
1.570451f );
instance->registerEObj( "unknown_8", 2001559, 4023678, 4, { -189.593399f, 23.392031f, -208.209396f }, 0.991760f,
0.000048f );
instance->registerEObj( "Entrance", 2000182, 4085080, 5, { -253.156403f, 23.528379f, -174.613998f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "Shortcut", 2000700, 0, 4, { -237.184906f, 21.988159f, -166.420502f }, 0.991760f, 0.000048f ); instance->registerEObj( "Shortcut", 2000700, 0, 4, { -237.184906f, 21.988159f, -166.420502f }, 0.991760f,
instance->registerEObj( "unknown_9", 2000167, 0, 4, { -81.437439f, -5.447510f, -171.343597f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "unknown_10", 2000168, 3163094, 4, { -74.540337f, -5.935791f, -162.462799f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_9", 2000167, 0, 4, { -81.437439f, -5.447510f, -171.343597f }, 0.991760f,
instance->registerEObj( "Firesand", 2000169, 0, 4, { -20.828609f, -8.071711f, -161.638901f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "Blastingdevice", 2000170, 4053820, 4, { 41.374290f, -9.249741f, -135.238800f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_10", 2000168, 3163094, 4, { -74.540337f, -5.935791f, -162.462799f }, 0.991760f,
instance->registerEObj( "Firesand_1", 2000172, 0, 4, { 53.101452f, -3.845266f, -153.826401f }, 0.991760f, 0.901467f ); 0.000048f );
instance->registerEObj( "Sealedblastingdoor_1", 2000173, 4025574, 4, { 43.376751f, -9.109680f, -58.134281f }, 0.991760f, 0.000048f ); instance->registerEObj( "Firesand", 2000169, 0, 4, { -20.828609f, -8.071711f, -161.638901f }, 0.991760f,
instance->registerEObj( "Liftlever_2", 2000174, 4018213, 4, { 55.344479f, -8.804504f, -1.751919f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "Blastingdevice", 2000170, 4053820, 4, { 41.374290f, -9.249741f, -135.238800f }, 1.000000f,
0.000000f );
instance->registerEObj( "Firesand_1", 2000172, 0, 4, { 53.101452f, -3.845266f, -153.826401f }, 0.991760f,
0.901467f );
instance->registerEObj( "Sealedblastingdoor_1", 2000173, 4025574, 4, { 43.376751f, -9.109680f, -58.134281f },
0.991760f, 0.000048f );
instance->registerEObj( "Liftlever_2", 2000174, 4018213, 4, { 55.344479f, -8.804504f, -1.751919f }, 0.991760f,
0.000048f );
instance->registerEObj( "Liftlever_3", 2000175, 0, 4, { 55.965420f, -8.264337f, 6.017679f }, 0.991760f, 0.000048f ); instance->registerEObj( "Liftlever_3", 2000175, 0, 4, { 55.965420f, -8.264337f, 6.017679f }, 0.991760f, 0.000048f );
instance->registerEObj( "Liftlever_4", 2000166, 0, 4, { -183.969498f, -6.008533f, -205.992905f }, 0.991760f, -1.570451f ); instance->registerEObj( "Liftlever_4", 2000166, 0, 4, { -183.969498f, -6.008533f, -205.992905f }, 0.991760f,
instance->registerEObj( "Liftlever_5", 2000165, 4018211, 4, { -176.318695f, -6.546204f, -210.956100f }, 0.991760f, 0.000048f ); -1.570451f );
instance->registerEObj( "Liftlever_5", 2000165, 4018211, 4, { -176.318695f, -6.546204f, -210.956100f }, 0.991760f,
0.000048f );
instance->registerEObj( "Tinykey_1", 2000178, 0, 4, { 42.903980f, -9.979086f, -69.086594f }, 0.991760f, 0.000048f ); instance->registerEObj( "Tinykey_1", 2000178, 0, 4, { 42.903980f, -9.979086f, -69.086594f }, 0.991760f, 0.000048f );
instance->registerEObj( "unknown_11", 2001529, 4024331, 4, { 58.267658f, -19.085461f, 6.177349f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_11", 2001529, 4024331, 4, { 58.267658f, -19.085461f, 6.177349f }, 1.000000f,
instance->registerEObj( "Powderchamber", 2001536, 0, 4, { 43.821098f, -8.847800f, -128.329102f }, 0.991760f, 0.000048f ); 0.000000f );
instance->registerEObj( "unknown_12", 2001560, 4023676, 4, { -178.386200f, -6.605137f, -207.831696f }, 1.000000f, 0.000000f ); instance->registerEObj( "Powderchamber", 2001536, 0, 4, { 43.821098f, -8.847800f, -128.329102f }, 0.991760f,
instance->registerEObj( "unknown_13", 2001561, 4023677, 4, { 58.670898f, -8.835022f, 0.472961f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "unknown_14", 2000171, 3163067, 4, { 43.472900f, -9.262273f, -126.115898f }, 0.991789f, 0.000048f ); instance->registerEObj( "unknown_12", 2001560, 4023676, 4, { -178.386200f, -6.605137f, -207.831696f }, 1.000000f,
instance->registerEObj( "Liftlever_6", 2000176, 4018212, 4, { 61.119492f, -37.911671f, 13.438640f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "Liftlever_7", 2000177, 0, 4, { 55.985229f, -38.263531f, 6.003702f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_13", 2001561, 4023677, 4, { 58.670898f, -8.835022f, 0.472961f }, 0.991760f,
instance->registerEObj( "Firesand_2", 2000179, 0, 4, { 14.572330f, -42.069149f, 43.503422f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "Blastingdevice_1", 2000180, 4053821, 4, { 56.726372f, -37.999741f, 47.990452f }, 0.991760f, 0.000048f ); instance->registerEObj( "unknown_14", 2000171, 3163067, 4, { 43.472900f, -9.262273f, -126.115898f }, 0.991789f,
instance->registerEObj( "Firesand_3", 2001531, 0, 4, { 93.184647f, -41.640049f, 67.395599f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "Firesand_4", 2001532, 0, 4, { 38.064529f, -38.712662f, 60.511768f }, 1.000000f, 0.000000f ); instance->registerEObj( "Liftlever_6", 2000176, 4018212, 4, { 61.119492f, -37.911671f, 13.438640f }, 1.000000f,
instance->registerEObj( "Firesand_5", 2001533, 0, 4, { 31.755930f, -37.938789f, 114.646599f }, 1.000000f, -1.263692f ); 0.000000f );
instance->registerEObj( "Blastingdevice_2", 2001534, 4053822, 4, { 10.162710f, -36.846409f, 106.696999f }, 0.991760f, 0.000048f ); instance->registerEObj( "Liftlever_7", 2000177, 0, 4, { 55.985229f, -38.263531f, 6.003702f }, 0.991760f,
instance->registerEObj( "unknown_15", 2001535, 3163445, 4, { 5.569519f, -38.040829f, 111.711197f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "Powderchamber_1", 2001537, 0, 4, { 58.852821f, -37.774250f, 55.076962f }, 0.991760f, 0.000048f ); instance->registerEObj( "Firesand_2", 2000179, 0, 4, { 14.572330f, -42.069149f, 43.503422f }, 0.991760f,
instance->registerEObj( "Powderchamber_2", 2001538, 0, 4, { 6.485046f, -37.171558f, 113.633904f }, 0.991760f, 0.000048f ); 0.000048f );
instance->registerEObj( "unknown_16", 2001562, 4023675, 4, { 57.846920f, -38.864811f, 11.550960f }, 0.991760f, 0.000048f ); instance->registerEObj( "Blastingdevice_1", 2000180, 4053821, 4, { 56.726372f, -37.999741f, 47.990452f }, 0.991760f,
instance->registerEObj( "unknown_17", 2000181, 3163079, 4, { 57.479050f, -38.038540f, 56.536980f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "unknown_18", 2000185, 3163454, 4, { -55.588661f, -37.033691f, 94.193893f }, 0.991789f, 0.000048f ); instance->registerEObj( "Firesand_3", 2001531, 0, 4, { 93.184647f, -41.640049f, 67.395599f }, 1.000000f,
0.000000f );
instance->registerEObj( "Firesand_4", 2001532, 0, 4, { 38.064529f, -38.712662f, 60.511768f }, 1.000000f,
0.000000f );
instance->registerEObj( "Firesand_5", 2001533, 0, 4, { 31.755930f, -37.938789f, 114.646599f }, 1.000000f,
-1.263692f );
instance->registerEObj( "Blastingdevice_2", 2001534, 4053822, 4, { 10.162710f, -36.846409f, 106.696999f },
0.991760f, 0.000048f );
instance->registerEObj( "unknown_15", 2001535, 3163445, 4, { 5.569519f, -38.040829f, 111.711197f }, 0.991760f,
0.000048f );
instance->registerEObj( "Powderchamber_1", 2001537, 0, 4, { 58.852821f, -37.774250f, 55.076962f }, 0.991760f,
0.000048f );
instance->registerEObj( "Powderchamber_2", 2001538, 0, 4, { 6.485046f, -37.171558f, 113.633904f }, 0.991760f,
0.000048f );
instance->registerEObj( "unknown_16", 2001562, 4023675, 4, { 57.846920f, -38.864811f, 11.550960f }, 0.991760f,
0.000048f );
instance->registerEObj( "unknown_17", 2000181, 3163079, 4, { 57.479050f, -38.038540f, 56.536980f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_18", 2000185, 3163454, 4, { -55.588661f, -37.033691f, 94.193893f }, 0.991789f,
0.000048f );
} }

View file

@ -1,60 +1,102 @@
#include <ScriptObject.h> #include <ScriptObject.h>
#include <Zone/InstanceContent.h> #include <Zone/InstanceContent.h>
class CopperbellMinesHard : public InstanceContentScript class CopperbellMinesHard :
public InstanceContentScript
{ {
public: public:
CopperbellMinesHard() : InstanceContentScript( 18 ) CopperbellMinesHard() :
{ } InstanceContentScript( 18 )
{
}
void onInit( InstanceContentPtr instance ) override void onInit( InstanceContentPtr instance ) override
{ {
instance->registerEObj( "unknown_0", 2002930, 0, 4, { -90.674911f, -57.698959f, 55.099388f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_0", 2002930, 0, 4, { -90.674911f, -57.698959f, 55.099388f }, 1.000000f,
instance->registerEObj( "sgvf_w_lvd_b0118", 2002929, 4481287, 4, { -93.494362f, -57.942631f, 52.914669f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118", 2002929, 4481287, 4, { -93.494362f, -57.942631f, 52.914669f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Crystallizedrock", 2002947, 0, 4, { -104.992798f, -53.764061f, -21.253201f }, 1.000000f, 0.000000f ); instance->registerEObj( "Crystallizedrock", 2002947, 0, 4, { -104.992798f, -53.764061f, -21.253201f }, 1.000000f,
instance->registerEObj( "Crystallizedrock_1", 2003150, 0, 4, { -131.401993f, -56.204762f, 0.851171f }, 0.991760f, -0.745382f ); 0.000000f );
instance->registerEObj( "Crystallizedrock_2", 2003151, 0, 4, { -62.481171f, -59.339249f, 24.728519f }, 0.991760f, 1.004150f ); instance->registerEObj( "Crystallizedrock_1", 2003150, 0, 4, { -131.401993f, -56.204762f, 0.851171f }, 0.991760f,
instance->registerEObj( "Crystallizedrock_3", 2003152, 0, 4, { -86.379723f, -58.526180f, 47.109539f }, 0.991760f, 0.098224f ); -0.745382f );
instance->registerEObj( "Crystallizedrock_4", 2003153, 0, 4, { -114.249298f, -57.590469f, 38.164780f }, 0.991760f, 0.000048f ); instance->registerEObj( "Crystallizedrock_2", 2003151, 0, 4, { -62.481171f, -59.339249f, 24.728519f }, 0.991760f,
instance->registerEObj( "Crystallizedrock_5", 2003154, 0, 4, { -78.472977f, -56.144230f, -6.125785f }, 0.991760f, 0.703581f ); 1.004150f );
instance->registerEObj( "unknown_1", 2002735, 0, 4, { 66.489433f, -9.196375f, -91.109978f }, 1.000000f, -1.570451f ); instance->registerEObj( "Crystallizedrock_3", 2003152, 0, 4, { -86.379723f, -58.526180f, 47.109539f }, 0.991760f,
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 4481282, 4, { 69.178787f, -9.885409f, -91.345154f }, 1.000000f, 0.000000f ); 0.098224f );
instance->registerEObj( "Crystallizedrock_4", 2003153, 0, 4, { -114.249298f, -57.590469f, 38.164780f }, 0.991760f,
0.000048f );
instance->registerEObj( "Crystallizedrock_5", 2003154, 0, 4, { -78.472977f, -56.144230f, -6.125785f }, 0.991760f,
0.703581f );
instance->registerEObj( "unknown_1", 2002735, 0, 4, { 66.489433f, -9.196375f, -91.109978f }, 1.000000f,
-1.570451f );
instance->registerEObj( "sgvf_w_lvd_b0118_1", 2002872, 4481282, 4, { 69.178787f, -9.885409f, -91.345154f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "sgvf_w_lvd_b0118_2", 2002872, 4497376, 4, { 64.314568f, -9.885409f, -48.220890f }, 1.000000f, 0.000000f ); instance->registerEObj( "sgvf_w_lvd_b0118_2", 2002872, 4497376, 4, { 64.314568f, -9.885409f, -48.220890f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "unknown_2", 2002866, 4498423, 4, { 73.371529f, -11.611810f, -91.558388f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_2", 2002866, 4498423, 4, { 73.371529f, -11.611810f, -91.558388f }, 1.000000f,
instance->registerEObj( "unknown_3", 2002867, 4498424, 4, { 79.777977f, -11.999900f, -79.149048f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_4", 2002868, 4498425, 4, { 91.175873f, -12.124900f, -66.404877f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_3", 2002867, 4498424, 4, { 79.777977f, -11.999900f, -79.149048f }, 1.000000f,
instance->registerEObj( "unknown_5", 2002869, 4498426, 4, { 77.390869f, -12.124900f, -55.604710f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_6", 2002735, 0, 4, { 35.741501f, -38.003502f, 86.637199f }, 1.000000f, -0.000000f ); instance->registerEObj( "unknown_4", 2002868, 4498425, 4, { 91.175873f, -12.124900f, -66.404877f }, 1.000000f,
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2002872, 4481286, 4, { 34.816029f, -37.807098f, 89.653633f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_5", 2002869, 4498426, 4, { 77.390869f, -12.124900f, -55.604710f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_6", 2002735, 0, 4, { 35.741501f, -38.003502f, 86.637199f }, 1.000000f,
-0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118_3", 2002872, 4481286, 4, { 34.816029f, -37.807098f, 89.653633f },
1.000000f, 0.000000f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Improvedblastingdevice", 2002870, 4500271, 4, { 39.532532f, -37.026131f, 113.598297f }, 1.000000f, 0.000000f ); instance->registerEObj( "Improvedblastingdevice", 2002870, 4500271, 4, { 39.532532f, -37.026131f, 113.598297f },
instance->registerEObj( "sgvf_w_lvd_b0118_4", 2002948, 4508121, 4, { 6.729187f, -37.796692f, 112.748901f }, 0.991760f, 0.000048f ); 1.000000f, 0.000000f );
instance->registerEObj( "sgvf_w_lvd_b0118_4", 2002948, 4508121, 4, { 6.729187f, -37.796692f, 112.748901f },
0.991760f, 0.000048f );
// States -> vf_bextwall_on vf_bextwall_of // States -> vf_bextwall_on vf_bextwall_of
instance->registerEObj( "Liftlever", 2002902, 0, 4, { -184.034393f, 23.988701f, -205.737198f }, 1.000000f, -1.554668f ); instance->registerEObj( "Liftlever", 2002902, 0, 4, { -184.034393f, 23.988701f, -205.737198f }, 1.000000f,
instance->registerEObj( "Liftlever_1", 2002904, 0, 4, { -183.968002f, -6.010950f, -205.991592f }, 1.000000f, 1.545402f ); -1.554668f );
instance->registerEObj( "unknown_7", 2002905, 4478636, 4, { -192.156906f, 22.842710f, -208.392502f }, 0.991760f, 0.000048f ); instance->registerEObj( "Liftlever_1", 2002904, 0, 4, { -183.968002f, -6.010950f, -205.991592f }, 1.000000f,
instance->registerEObj( "unknown_8", 2002900, 4498399, 4, { -209.037796f, 23.594311f, -208.732300f }, 1.000000f, 0.000000f ); 1.545402f );
instance->registerEObj( "Liftlever_2", 2002901, 4478628, 4, { -191.601700f, 23.360180f, -205.152100f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_7", 2002905, 4478636, 4, { -192.156906f, 22.842710f, -208.392502f }, 0.991760f,
instance->registerEObj( "Liftlever_3", 2002903, 4478629, 4, { -176.329803f, -6.592807f, -210.900894f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "unknown_9", 2002906, 4478634, 4, { -177.598907f, -6.741823f, -208.024597f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_8", 2002900, 4498399, 4, { -209.037796f, 23.594311f, -208.732300f }, 1.000000f,
instance->registerEObj( "unknown_10", 2002907, 4478650, 4, { -183.958496f, 8.816254f, -208.023193f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_11", 2002908, 4498400, 4, { -50.309021f, -3.189148f, -200.885101f }, 0.991760f, 0.000048f ); instance->registerEObj( "Liftlever_2", 2002901, 4478628, 4, { -191.601700f, 23.360180f, -205.152100f }, 1.000000f,
instance->registerEObj( "unknown_12", 2002909, 4498416, 4, { 21.741100f, -9.932099f, -141.413300f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_13", 2002910, 4498406, 4, { -12.649780f, -6.958161f, -219.043304f }, 0.991760f, 0.000048f ); instance->registerEObj( "Liftlever_3", 2002903, 4478629, 4, { -176.329803f, -6.592807f, -210.900894f }, 1.000000f,
instance->registerEObj( "unknown_14", 2002911, 4498409, 4, { 18.035469f, -6.958161f, -209.711594f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_15", 2002912, 4498410, 4, { 17.977119f, -7.000057f, -185.896194f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_9", 2002906, 4478634, 4, { -177.598907f, -6.741823f, -208.024597f }, 1.000000f,
instance->registerEObj( "unknown_16", 2002923, 4498451, 4, { 60.402431f, -38.719849f, 51.888512f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_17", 2002924, 4498457, 4, { 65.252907f, -38.455730f, 39.846581f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_10", 2002907, 4478650, 4, { -183.958496f, 8.816254f, -208.023193f }, 1.000000f,
instance->registerEObj( "unknown_18", 2002925, 4498456, 4, { 55.235111f, -38.564739f, 39.248360f }, 1.000000f, 0.000000f ); 0.000000f );
instance->registerEObj( "unknown_19", 2002926, 4500996, 4, { -82.288239f, -39.313419f, 101.057198f }, 1.000000f, 0.000000f ); instance->registerEObj( "unknown_11", 2002908, 4498400, 4, { -50.309021f, -3.189148f, -200.885101f }, 0.991760f,
instance->registerEObj( "Entrance", 2000182, 4481330, 5, { -253.156403f, 23.528379f, -174.613998f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "unknown_12", 2002909, 4498416, 4, { 21.741100f, -9.932099f, -141.413300f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_13", 2002910, 4498406, 4, { -12.649780f, -6.958161f, -219.043304f }, 0.991760f,
0.000048f );
instance->registerEObj( "unknown_14", 2002911, 4498409, 4, { 18.035469f, -6.958161f, -209.711594f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_15", 2002912, 4498410, 4, { 17.977119f, -7.000057f, -185.896194f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_16", 2002923, 4498451, 4, { 60.402431f, -38.719849f, 51.888512f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_17", 2002924, 4498457, 4, { 65.252907f, -38.455730f, 39.846581f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_18", 2002925, 4498456, 4, { 55.235111f, -38.564739f, 39.248360f }, 1.000000f,
0.000000f );
instance->registerEObj( "unknown_19", 2002926, 4500996, 4, { -82.288239f, -39.313419f, 101.057198f }, 1.000000f,
0.000000f );
instance->registerEObj( "Entrance", 2000182, 4481330, 5, { -253.156403f, 23.528379f, -174.613998f }, 1.000000f,
0.000000f );
// States -> vf_lock_on vf_lock_of // States -> vf_lock_on vf_lock_of
instance->registerEObj( "Exit", 2000139, 0, 4, { -100.877403f, -56.042820f, -15.206130f }, 0.991760f, 0.000048f ); instance->registerEObj( "Exit", 2000139, 0, 4, { -100.877403f, -56.042820f, -15.206130f }, 0.991760f, 0.000048f );
instance->registerEObj( "Shortcut", 2000700, 0, 4, { -237.184906f, 21.988159f, -166.420502f }, 0.991760f, 0.000048f ); instance->registerEObj( "Shortcut", 2000700, 0, 4, { -237.184906f, 21.988159f, -166.420502f }, 0.991760f,
instance->registerEObj( "unknown_20", 2002899, 0, 4, { -267.241791f, 23.005880f, -170.712494f }, 1.000000f, 0.000000f ); 0.000048f );
instance->registerEObj( "unknown_20", 2002899, 0, 4, { -267.241791f, 23.005880f, -170.712494f }, 1.000000f,
0.000000f );
} }

Some files were not shown because too many files have changed in this diff Show more