1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-27 06:47:45 +00:00

Merge pull request #714 from collett8192/5.58_pr

Update to 5.58.
This commit is contained in:
Adam 2021-07-28 18:59:37 +10:00 committed by GitHub
commit 37fabec6f5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 2231 additions and 1498 deletions

View file

@ -6,6 +6,7 @@
#include "CommonGen.h"
#include "Vector3.h"
#include "Network/PacketDef/Ipcs.h"
// +---------------------------------------------------------------------------
// The following enumerations are structures to require their type be included.
@ -25,7 +26,7 @@ namespace Sapphire::Common
const uint8_t CURRENT_EXPANSION_ID = 3;
const uint8_t CLASSJOB_TOTAL = 38;
const uint8_t CLASSJOB_SLOTS = 28;
const uint8_t CLASSJOB_SLOTS = 30;
const uint8_t TOWN_COUNT = 6;
@ -51,11 +52,11 @@ namespace Sapphire::Common
enum InventoryOperation : uint16_t
{
Discard = 0x0117,
Move = 0x0118,
Swap = 0x0119,
Split = 0x011A,
Merge = 0x011C,
Discard = Network::Packets::ClientZoneIpcType::InventoryModifyHandler + 7,
Move = Network::Packets::ClientZoneIpcType::InventoryModifyHandler + 8,
Swap = Network::Packets::ClientZoneIpcType::InventoryModifyHandler + 9,
Split = Network::Packets::ClientZoneIpcType::InventoryModifyHandler + 10,
Merge = Network::Packets::ClientZoneIpcType::InventoryModifyHandler + 12
};
enum ClientLanguage : uint8_t

View file

@ -4,14 +4,14 @@
#include <stdint.h>
/* This file has been automatically generated.
Changes will be lost upon regeneration.
To change the content edit tools/exd_common_gen */
Changes will be lost upon regeneration.
To change the content edit tools/exd_common_gen */
namespace Sapphire::Common {
///////////////////////////////////////////////////////////
//ActionCategory.exd
enum class ActionCategory : uint8_t
{
///////////////////////////////////////////////////////////
//ActionCategory.exd
enum class ActionCategory : uint8_t
{
None = 0,
Autoattack = 1,
Spell = 2,
@ -25,15 +25,16 @@ enum class ActionCategory : uint8_t
System = 10,
Artillery = 11,
Mount = 12,
Glamour = 13,
Special = 13,
ItemManipulation = 14,
AdrenalineRush = 15,
};
//1 = 16,
};
///////////////////////////////////////////////////////////
//BaseParam.exd
enum class BaseParam : uint8_t
{
///////////////////////////////////////////////////////////
//BaseParam.exd
enum class BaseParam : uint8_t
{
None = 0,
Strength = 1,
Dexterity = 2,
@ -85,7 +86,7 @@ enum class BaseParam : uint8_t
Morale = 48,
Enmity = 49,
EnmityReduction = 50,
CarefulDesynthesis = 51,
DesynthesisSkillGain = 51,
EXPBonus = 52,
Regen = 53,
Refresh = 54,
@ -108,12 +109,12 @@ enum class BaseParam : uint8_t
Control = 71,
Gathering = 72,
Perception = 73,
};
};
///////////////////////////////////////////////////////////
//BeastReputationRank.exd
enum class BeastReputationRank : uint8_t
{
///////////////////////////////////////////////////////////
//BeastReputationRank.exd
enum class BeastReputationRank : uint8_t
{
None = 0,
Neutral = 1,
Recognized = 2,
@ -123,18 +124,33 @@ enum class BeastReputationRank : uint8_t
Honored = 6,
Sworn = 7,
Allied = 8,
};
};
///////////////////////////////////////////////////////////
//BeastTribe.exd
enum class BeastTribe : uint8_t
{
};
///////////////////////////////////////////////////////////
//BeastTribe.exd
enum class BeastTribe : uint8_t
{
/* = 0,
1 = 1,
2 = 2,
3 = 3,
4 = 4,
5 = 5,
6 = 6,
7 = 7,
8 = 8,
9 = 9,
10 = 10,
11 = 11,
12 = 12,
13 = 13,
14 = 14,*/
};
///////////////////////////////////////////////////////////
//ClassJob.exd
enum class ClassJob : uint8_t
{
///////////////////////////////////////////////////////////
//ClassJob.exd
enum class ClassJob : uint8_t
{
Adventurer = 0,
Gladiator = 1,
Pugilist = 2,
@ -174,12 +190,14 @@ enum class ClassJob : uint8_t
Bluemage = 36,
Gunbreaker = 37,
Dancer = 38,
};
// = 39,
//1 = 40,
};
///////////////////////////////////////////////////////////
//ContentType.exd
enum class ContentType : uint8_t
{
///////////////////////////////////////////////////////////
//ContentType.exd
enum class ContentType : uint8_t
{
None = 0,
DutyRoulette = 1,
Dungeons = 2,
@ -200,46 +218,53 @@ enum class ContentType : uint8_t
DisciplesoftheHand = 17,
RetainerVentures = 18,
GoldSaucer = 19,
//1 = 20,
DeepDungeons = 21,
//2 = 22,
//3 = 23,
WondrousTails = 24,
CustomDeliveries = 25,
Eureka = 26,
};
//4 = 27,
UltimateRaids = 28,
//5 = 29,
};
///////////////////////////////////////////////////////////
//EmoteCategory.exd
enum class EmoteCategory : uint8_t
{
///////////////////////////////////////////////////////////
//EmoteCategory.exd
enum class EmoteCategory : uint8_t
{
None = 0,
General = 1,
Special = 2,
Expressions = 3,
};
//1 = 4,
};
///////////////////////////////////////////////////////////
//ExVersion.exd
enum class ExVersion : uint8_t
{
///////////////////////////////////////////////////////////
//ExVersion.exd
enum class ExVersion : uint8_t
{
ARealmReborn = 0,
Heavensward = 1,
Stormblood = 2,
Shadowbringers = 3,
};
};
///////////////////////////////////////////////////////////
//GrandCompany.exd
enum class GrandCompany : uint8_t
{
///////////////////////////////////////////////////////////
//GrandCompany.exd
enum class GrandCompany : uint8_t
{
None = 0,
Maelstrom = 1,
OrderoftheTwinAdder = 2,
ImmortalFlames = 3,
};
};
///////////////////////////////////////////////////////////
//GuardianDeity.exd
enum class GuardianDeity : uint8_t
{
///////////////////////////////////////////////////////////
//GuardianDeity.exd
enum class GuardianDeity : uint8_t
{
None = 0,
HalonetheFury = 1,
MenphinatheLover = 2,
@ -253,12 +278,12 @@ enum class GuardianDeity : uint8_t
NaldthaltheTraders = 10,
NophicatheMatron = 11,
AlthyktheKeeper = 12,
};
};
///////////////////////////////////////////////////////////
//ItemUICategory.exd
enum class ItemUICategory : uint8_t
{
///////////////////////////////////////////////////////////
//ItemUICategory.exd
enum class ItemUICategory : uint8_t
{
None = 0,
PugilistsArm = 1,
GladiatorsArm = 2,
@ -367,12 +392,12 @@ enum class ItemUICategory : uint8_t
BlueMagesArm = 105,
GunbreakersArm = 106,
DancersArm = 107,
};
};
///////////////////////////////////////////////////////////
//ItemSearchCategory.exd
enum class ItemSearchCategory : uint8_t
{
///////////////////////////////////////////////////////////
//ItemSearchCategory.exd
enum class ItemSearchCategory : uint8_t
{
None = 0,
PrimaryArms = 1,
PrimaryTools = 2,
@ -460,13 +485,26 @@ enum class ItemSearchCategory : uint8_t
RedMagesArms = 84,
ScholarsArms = 85,
GunbreakersArms = 86,
ThrowingWeapons = 87,
};
DancersArms1 = 87,
/*1 = 88,
2 = 89,
3 = 90,
4 = 91,
5 = 92,
6 = 93,
7 = 94,
8 = 95,
9 = 96,
10 = 97,
11 = 98,
12 = 99,
13 = 100,*/
};
///////////////////////////////////////////////////////////
//OnlineStatus.exd
enum class OnlineStatus : uint8_t
{
///////////////////////////////////////////////////////////
//OnlineStatus.exd
enum class OnlineStatus : uint8_t
{
Producer = 1,
GameMaster = 2,
GameMaster1 = 3,
@ -514,12 +552,12 @@ enum class OnlineStatus : uint8_t
FreeCompany = 45,
GrandCompany = 46,
Online = 47,
};
};
///////////////////////////////////////////////////////////
//Race.exd
enum class Race : uint8_t
{
///////////////////////////////////////////////////////////
//Race.exd
enum class Race : uint8_t
{
None = 0,
Hyur = 1,
Elezen = 2,
@ -529,12 +567,12 @@ enum class Race : uint8_t
AuRa = 6,
Hrothgar = 7,
Viera = 8,
};
};
///////////////////////////////////////////////////////////
//Tribe.exd
enum class Tribe : uint8_t
{
///////////////////////////////////////////////////////////
//Tribe.exd
enum class Tribe : uint8_t
{
None = 0,
Midlander = 1,
Highlander = 2,
@ -552,25 +590,30 @@ enum class Tribe : uint8_t
TheLost = 14,
Rava = 15,
Veena = 16,
};
};
///////////////////////////////////////////////////////////
//Town.exd
enum class Town : uint8_t
{
///////////////////////////////////////////////////////////
//Town.exd
enum class Town : uint8_t
{
Nowheresville = 0,
LimsaLominsa = 1,
Gridania = 2,
Uldah = 3,
Ishgard = 4,
// = 5,
//1 = 6,
Kugane = 7,
TheCrystarium = 10,
};
//2 = 8,
//3 = 9,
Crystarium = 10,
//4 = 11,
};
///////////////////////////////////////////////////////////
//Weather.exd
enum class Weather : uint8_t
{
///////////////////////////////////////////////////////////
//Weather.exd
enum class Weather : uint8_t
{
None = 0,
ClearSkies = 1,
FairSkies = 2,
@ -672,14 +715,14 @@ enum class Weather : uint8_t
Moonlight1 = 98,
Moonlight2 = 99,
Moonlight3 = 100,
FairSkies10 = 101,
RedMoon = 101,
Scarlet = 102,
Scarlet1 = 103,
Scarlet2 = 104,
FairSkies11 = 105,
FairSkies12 = 106,
FairSkies13 = 107,
FairSkies14 = 108,
FairSkies10 = 105,
FairSkies11 = 106,
FairSkies12 = 107,
FairSkies13 = 108,
Flames = 109,
Tsunamis = 110,
Cyclones = 111,
@ -701,13 +744,36 @@ enum class Weather : uint8_t
Termination2 = 127,
Termination3 = 128,
EverlastingLight1 = 129,
Eruptions1 = 130,
Termination4 = 131,
};
FairSkies14 = 132,
UmbralFlare = 133,
UmbralDuststorm = 134,
UmbralLevin = 135,
UmbralTempest = 136,
Starshower = 137,
Delirium = 138,
Clouds2 = 139,
Clouds3 = 140,
Irradiance1 = 141,
Irradiance2 = 142,
StormClouds1 = 143,
Firestorm = 144,
SpectralCurrent = 145,
//1 = 146,
Climactic = 147,
//2 = 148,
//3 = 149,
//4 = 150,
//5 = 151,
//6 = 152,
//7 = 153,
};
///////////////////////////////////////////////////////////
//HousingAppeal.exd
enum class HousingAppeal : uint8_t
{
///////////////////////////////////////////////////////////
//HousingAppeal.exd
enum class HousingAppeal : uint8_t
{
None = 0,
Emporium = 1,
Boutique = 2,
@ -721,6 +787,7 @@ enum class HousingAppeal : uint8_t
Sanctum = 10,
Venue = 11,
Florist = 12,
// = 13,
Library = 14,
PhotoStudio = 15,
HauntedHouse = 16,
@ -728,8 +795,10 @@ enum class HousingAppeal : uint8_t
Bathhouse = 18,
Garden = 19,
FarEastern = 20,
};
VisitorsWelcome = 21,
Bakery = 22,
UnderRenovation = 23,
ConcertHall = 24,
};
}
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -43,67 +43,67 @@ namespace Sapphire::Network::Packets
*/
enum ServerZoneIpcType : uint16_t
{
Ping = 0x0183, // updated 5.45 hotfix
Init = 0x01EA, // updated 5.45 hotfix
Ping = 0x02CB, // updated 5.58
Init = 0x02A8, // updated 5.58
ActorFreeSpawn = 0x0185, // updated 5.45 hotfix
InitZone = 0x0233, // updated 5.45 hotfix
ActorFreeSpawn = 0x0210, // updated 5.58
InitZone = 0x0100, // updated 5.58
EffectResult = 0x01D7, // updated 5.45 hotfix
ActorControl = 0x00C2, // updated 5.45 hotfix
ActorControlSelf = 0x03D5, // updated 5.45 hotfix
ActorControlTarget = 0x0171, // updated 5.45 hotfix
EffectResult = 0x0151, // updated 5.58
ActorControl = 0x0264, // updated 5.58
ActorControlSelf = 0x0314, // updated 5.58
ActorControlTarget = 0x00FC, // updated 5.58
/*!
* @brief Used when resting
*/
UpdateHpMpTp = 0x019B, // updated 5.45 hotfix
UpdateHpMpTp = 0x039B, // updated 5.58
///////////////////////////////////////////////////
ChatBanned = 0xF06B,
Playtime = 0x0302, // updated 5.45 hotfix
Logout = 0x012A, // updated 5.45 hotfix
CFNotify = 0x026E, // updated 5.45 hotfix
Playtime = 0x02BE, // updated 5.58
Logout = 0x0297, // updated 5.58
CFNotify = 0x01AC, // updated 5.58
CFMemberStatus = 0x0079,
CFDutyInfo = 0x0145, // updated 5.45 hotfix
CFDutyInfo = 0x0083, // updated 5.58
CFPlayerInNeed = 0xF07F,
CFPreferredRole = 0x012E, // updated 5.45 hotfix
CFCancel = 0x0312, // updated 5.45 hotfix
CFPreferredRole = 0x02FB, // updated 5.58
CFCancel = 0x0135, // updated 5.58
SocialRequestError = 0xF0AD,
CFRegistered = 0x01FB, // updated 5.45 hotfix
SocialRequestResponse = 0x03A5, // updated 5.45 hotfix
SocialMessage = 0x030C, // updated 5.45 hotfix
SocialMessage2 = 0x00BB, // updated 5.45 hotfix
CancelAllianceForming = 0x00C6, // updated 4.2
CFRegistered = 0x037E, // updated 5.58
SocialRequestResponse = 0x0254, // updated 5.58
SocialMessage = 0x02F2, // updated 5.58
SocialMessage2 = 0x017A, // updated 5.58
CancelAllianceForming = 0xF0C6, // updated 4.2
LogMessage = 0x00D0,
LogMessage = 0x020F, // updated 5.58
Chat = 0x01BA, // updated 5.45 hotfix
Chat = 0x0220, // updated 5.58
PartyChat = 0x0065,
WorldVisitList = 0xF0FE, // added 4.5
SocialList = 0x0315, // updated 5.45 hotfix
SocialList = 0x0396, // updated 5.58
ExamineSearchInfo = 0x035F, // updated 5.45 hotfix
UpdateSearchInfo = 0x0310, // updated 5.45 hotfix
InitSearchInfo = 0x01ED, // updated 5.45 hotfix
ExamineSearchComment = 0x0102, // updated 4.1
ExamineSearchInfo = 0x031F, // updated 5.58
UpdateSearchInfo = 0x0219, // updated 5.58
InitSearchInfo = 0x01A0, // updated 5.58
ExamineSearchComment = 0x0315, // updated 5.58
ServerNoticeShort = 0x03B4, // updated 5.45 hotfix
ServerNotice = 0x0354, // updated 5.45 hotfix
SetOnlineStatus = 0x0166, // updated 5.45 hotfix
ServerNoticeShort = 0x0211, // updated 5.58
ServerNotice = 0x03B9, // updated 5.58
SetOnlineStatus = 0x0163, // updated 5.58
CountdownInitiate = 0x0237, // updated 5.25
CountdownCancel = 0x00D9, // updated 5.18
CountdownInitiate = 0x01F9, // updated 5.58
CountdownCancel = 0x0206, // updated 5.58
PlayerAddedToBlacklist = 0x033F, // updated 5.1
PlayerRemovedFromBlacklist = 0x0385, // updated 5.1
BlackList = 0x02BD, // updated 5.45 hotfix
PlayerAddedToBlacklist = 0x01FE, // updated 5.58
PlayerRemovedFromBlacklist = 0x02D6, // updated 5.58
BlackList = 0x028A, // updated 5.58
LinkshellList = 0x021A, // updated 5.45 hotfix
LinkshellList = 0x02DD, // updated 5.58
MailDeleteRequest = 0xF12B, // updated 5.0
@ -114,87 +114,87 @@ namespace Sapphire::Network::Packets
MarketTaxRates = 0x01F8, // updated 5.35 hotfix
MarketBoardSearchResult = 0x01D6, // updated 5.45 hotfix
MarketBoardItemListingCount = 0x00C0, // updated 5.45 hotfix
MarketBoardItemListingHistory = 0x01C3, // updated 5.45 hotfix
MarketBoardItemListing = 0x016B, // updated 5.45 hotfix
MarketBoardSearchResult = 0x0355, // updated 5.58
MarketBoardItemListingCount = 0x0275, // updated 5.58
MarketBoardItemListingHistory = 0x0112, // updated 5.58
MarketBoardItemListing = 0x00F5, // updated 5.58
CharaFreeCompanyTag = 0x013B, // updated 4.5
FreeCompanyBoardMsg = 0x013C, // updated 4.5
FreeCompanyInfo = 0x03D0, // updated 5.45 hotfix
ExamineFreeCompanyInfo = 0xF13E, // updated 4.5
FreeCompanyBoardMsg = 0x028D, // updated 5.58
FreeCompanyInfo = 0x0346, // updated 5.58
ExamineFreeCompanyInfo = 0x00B7, // updated 5.58
FreeCompanyUpdateShortMessage = 0xF157, // added 5.0
StatusEffectList = 0x0243, // updated 5.45 hotfix
StatusEffectList = 0x01C5, // updated 5.58
EurekaStatusEffectList = 0x0167, // updated 5.18
BossStatusEffectList = 0x0312, // added 5.1
Effect = 0x027F, // updated 5.45 hotfix
AoeEffect8 = 0x009B, // updated 5.45 hotfix
AoeEffect16 = 0x028C, // updated 5.45 hotfix
AoeEffect24 = 0x02AD, // updated 5.45 hotfix
AoeEffect32 = 0x00A7, // updated 5.45 hotfix
PersistantEffect = 0x0244, // updated 5.45 hotfix
Effect = 0x0102, // updated 5.58
AoeEffect8 = 0x0345, // updated 5.58
AoeEffect16 = 0x02B6, // updated 5.58
AoeEffect24 = 0x0298, // updated 5.58
AoeEffect32 = 0x03A4, // updated 5.58
PersistantEffect = 0x008D, // updated 5.58
GCAffiliation = 0x0155, // updated 5.45 hotfix
GCAffiliation = 0x02B1, // updated 5.58
PlayerSpawn = 0x01AB, // updated 5.45 hotfix
NpcSpawn = 0x02C9, // updated 5.45 hotfix
PlayerSpawn = 0x0249, // updated 5.58
NpcSpawn = 0x014B, // updated 5.58
NpcSpawn2 = 0x01CB, // ( Bigger statuseffectlist? ) updated 5.3
ActorMove = 0x006B, // updated 5.45 hotfix
ActorMove = 0x023D, // updated 5.58
ActorSetPos = 0x00C6, // updated 5.45 hotfix
ActorSetPos = 0x0280, // updated 5.58
ActorCast = 0x034C, // updated 5.45 hotfix
ActorCast = 0x02A7, // updated 5.58
SomeCustomiseChangePacketProbably = 0x00CD, // added 5.18
PartyList = 0x00F5, // updated 5.45 hotfix
PartyMessage = 0x01BC, // updated 5.45 hotfix
HateRank = 0x0217, // updated 5.45 hotfix
HateList = 0x00E5, // updated 5.45 hotfix
ObjectSpawn = 0x0336, // updated 5.45 hotfix
ObjectDespawn = 0x02D0, // updated 5.45 hotfix
UpdateClassInfo = 0x0179, // updated 5.45 hotfix
PartyList = 0x02BD, // updated 5.58
PartyMessage = 0x0318, // updated 5.58
HateRank = 0x02C0, // updated 5.58
HateList = 0x01B4, // updated 5.58
ObjectSpawn = 0x0104, // updated 5.58
ObjectDespawn = 0x030D, // updated 5.58
UpdateClassInfo = 0x0198, // updated 5.58
SilentSetClassJob = 0xF18E, // updated 5.0 - seems to be the case, not sure if it's actually used for anything
PlayerSetup = 0x01E9, // updated 5.45 hotfix
PlayerStats = 0x01CC, // updated 5.45 hotfix
ActorOwner = 0x0153, // updated 5.45 hotfix
PlayerStateFlags = 0x02DC, // updated 5.45 hotfix
PlayerClassInfo = 0x02F0, // updated 5.45 hotfix
CharaVisualEffect = 0x026A, // updated 5.45 hotfix
PlayerSetup = 0x0296, // updated 5.58
PlayerStats = 0x00D5, // updated 5.58
ActorOwner = 0x00AE, // updated 5.58
PlayerStateFlags = 0x022A, // updated 5.58
PlayerClassInfo = 0x02DF, // updated 5.58
CharaVisualEffect = 0x0134, // updated 5.58
ModelEquip = 0x024A, // updated 5.45 hotfix
Examine = 0x0261, // updated 5.45 hotfix
CharaNameReq = 0x0380, // updated 5.45 hotfix
ModelEquip = 0x0312, // updated 5.58
Examine = 0x00D3, // updated 5.58
CharaNameReq = 0x031C, // updated 5.58
// nb: see #565 on github
UpdateRetainerItemSalePrice = 0xF19F, // updated 5.0
RetainerSaleHistory = 0x020E, // updated 5.21 hotfix
RetainerInformation = 0x026B, // updated 5.45 hotfix
RetainerSaleHistory = 0x01D3, // updated 5.58
RetainerInformation = 0x0069, // updated 5.58
SetLevelSync = 0x1186, // not updated for 4.4, not sure what it is anymore
ItemInfo = 0x0175, // updated 5.45 hotfix
ContainerInfo = 0x0193, // updated 5.45 hotfix
InventoryTransactionFinish = 0x00BD, // updated 5.45 hotfix
InventoryTransaction = 0x02EE, // updated 5.45 hotfix
CurrencyCrystalInfo = 0x0363, // updated 5.45 hotfix
ItemInfo = 0x00A7, // updated 5.58
ContainerInfo = 0x0208, // updated 5.58
InventoryTransactionFinish = 0x01A3, // updated 5.58
InventoryTransaction = 0x03AC, // updated 5.58
CurrencyCrystalInfo = 0x0394, // updated 5.58
InventoryActionAck = 0x02FA, // updated 5.45 hotfix
UpdateInventorySlot = 0x017D, // updated 5.45 hotfix
InventoryActionAck = 0x0305, // updated 5.58
UpdateInventorySlot = 0x0200, // updated 5.58
HuntingLogEntry = 0x0232, // updated 5.45 hotfix
HuntingLogEntry = 0x00C5, // updated 5.58
EventPlay = 0x0276, // updated 5.45 hotfix
EventPlay4 = 0x028D, // updated 5.45 hotfix
EventPlay8 = 0x0318, // updated 5.45 hotfix
EventPlay16 = 0x020D, // updated 5.45 hotfix
EventPlay32 = 0x03B5, // updated 5.45 hotfix
EventPlay64 = 0x039E, // updated 5.45 hotfix
EventPlay128 = 0x02F4, // updated 5.45 hotfix
EventPlay255 = 0x009D, // updated 5.45 hotfix
EventPlay = 0x01EF, // updated 5.58
EventPlay4 = 0x021C, // updated 5.58
EventPlay8 = 0x0337, // updated 5.58
EventPlay16 = 0x0319, // updated 5.58
EventPlay32 = 0x01E2, // updated 5.58
EventPlay64 = 0x02FD, // updated 5.58
EventPlay128 = 0x026E, // updated 5.58
EventPlay255 = 0x039E, // updated 5.58
EventYield = 0x0268, // updated 5.45 hotfix
EventYield = 0x02CB, // updated 5.55 hotfix
//EventYield4 = 0x0000,
//EventYield8 = 0x0000,
//EventYield16 = 0x0000,
@ -203,89 +203,89 @@ namespace Sapphire::Network::Packets
//EventYield128 = 0x0000,
//EventYield255 = 0x0000,
EventStart = 0x02DE, // updated 5.45 hotfix
EventFinish = 0x01A3, // updated 5.45 hotfix
EventStart = 0x01CC, // updated 5.58
EventFinish = 0x0180, // updated 5.58
EventLinkshell = 0x1169,
QuestActiveList = 0x015A, // updated 5.45 hotfix
QuestUpdate = 0x037B, // updated 5.45 hotfix
QuestCompleteList = 0x0287, // updated 5.45 hotfix
QuestActiveList = 0x035D, // updated 5.58
QuestUpdate = 0x029A, // updated 5.58
QuestCompleteList = 0x03C5, // updated 5.58
QuestFinish = 0x0066, // updated 5.45 hotfix
MSQTrackerComplete = 0xF1D6, // updated 5.0
QuestFinish = 0x0274, // updated 5.58
MSQTrackerComplete = 0x01C1, // updated 5.58
MSQTrackerProgress = 0xF1CD, // updated 4.5 ? this actually looks like the two opcodes have been combined, see #474
QuestMessage = 0x017B, // updated 5.45 hotfix
QuestMessage = 0x036E, // updated 5.55 hotfix
QuestTracker = 0x01E8, // updated 5.45 hotfix
QuestTracker = 0x038E, // updated 5.58
Mount = 0x0122, // updated 5.45 hotfix
Mount = 0x03C2, // updated 5.58
DirectorVars = 0x0252, // updated 5.45 hotfix
DirectorVars = 0x01ED, // updated 5.58
SomeDirectorUnk1 = 0x0084, // updated 5.18
SomeDirectorUnk2 = 0xF0C1, // updated 5.18
SomeDirectorUnk4 = 0x0071, // updated 5.45 hotfix
SomeDirectorUnk4 = 0x01BD, // updated 5.58
SomeDirectorUnk8 = 0x028A, // updated 5.18
SomeDirectorUnk16 = 0x028C, // updated 5.18
DirectorPopUp = 0xF162, // updated 5.18 - display dialogue pop-ups in duties and FATEs, for example, Teraflare's countdown
DirectorPopUp4 = 0x0214, // updated 5.18
DirectorPopUp8 = 0x00F8, // updated 5.18
DirectorPopUp = 0x02E3, // updated 5.58
DirectorPopUp4 = 0x01DC, // updated 5.58
DirectorPopUp8 = 0x011D, // updated 5.58
CFAvailableContents = 0xF1FD, // updated 4.2
WeatherChange = 0x0167, // updated 5.45 hotfix
PlayerTitleList = 0x00F3, // updated 5.45 hotfix
Discovery = 0x0247, // updated 5.45 hotfix
WeatherChange = 0x01B1, // updated 5.58
PlayerTitleList = 0x02B4, // updated 5.58
Discovery = 0x00B8, // updated 5.58
EorzeaTimeOffset = 0x00C5, // updated 5.45 hotfix
EorzeaTimeOffset = 0x03D9, // updated 5.58
EquipDisplayFlags = 0x0316, // updated 5.45 hotfix
EquipDisplayFlags = 0x0199, // updated 5.58
MiniCactpotInit = 0x0286, // added 5.31
ShopMessage = 0x02FC, // updated 5.45 hotfix
LootMessage = 0x03B8, // updated 5.45 hotfix
ResultDialog = 0x0296, // updated 5.45 hotfix
DesynthResult = 0x0323, // updated 5.45 hotfix
ShopMessage = 0x0162, // updated 5.55 hotfix
LootMessage = 0x038C, // updated 5.58
ResultDialog = 0x00DF, // updated 5.58
DesynthResult = 0x038F, // updated 5.58
/// Housing //////////////////////////////////////
LandSetInitialize = 0x03E2, // updated 5.45 hotfix
LandUpdate = 0x027E, // updated 5.45 hotfix
YardObjectSpawn = 0x010E, // updated 5.45 hotfix
HousingIndoorInitialize = 0x01A9, // updated 5.45 hotfix
LandPriceUpdate = 0x0379, // updated 5.45 hotfix
LandInfoSign = 0x0398, // updated 5.45 hotfix
LandRename = 0x00F6, // updated 5.45 hotfix
HousingEstateGreeting = 0x037D, // updated 5.45 hotfix
HousingUpdateLandFlagsSlot = 0x03AF, // updated 5.45 hotfix
HousingLandFlags = 0x033B, // updated 5.45 hotfix
HousingShowEstateGuestAccess = 0x01B3, // updated 5.45 hotfix
LandSetInitialize = 0x03E3, // updated 5.58
LandUpdate = 0x029E, // updated 5.58
YardObjectSpawn = 0x0367, // updated 5.58
HousingIndoorInitialize = 0x02A6, // updated 5.58
LandPriceUpdate = 0x0143, // updated 5.58
LandInfoSign = 0x0269, // updated 5.58
LandRename = 0x0107, // updated 5.58
HousingEstateGreeting = 0x0340, // updated 5.58
HousingUpdateLandFlagsSlot = 0x02D2, // updated 5.58
HousingLandFlags = 0x0156, // updated 5.58
HousingShowEstateGuestAccess = 0x015C, // updated 5.58
HousingObjectInitialize = 0x00B5, // updated 5.45 hotfix
HousingInternalObjectSpawn = 0x00BC, // updated 5.45 hotfix
HousingObjectInitialize = 0x0245, // updated 5.58
HousingInternalObjectSpawn = 0x0194, // updated 5.58
HousingWardInfo = 0x015E, // updated 5.45 hotfix
HousingObjectMove = 0x03E6, // updated 5.45 hotfix
HousingWardInfo = 0x00A4, // updated 5.58
HousingObjectMove = 0x01AE, // updated 5.58
SharedEstateSettingsResponse = 0x03A4, // updated 5.45 hotfix
SharedEstateSettingsResponse = 0x0378, // updated 5.58
LandUpdateHouseName = 0x0215, // updated 5.45 hotfix
LandUpdateHouseName = 0x034B, // updated 5.58
LandSetMap = 0x0103, // updated 5.45 hotfix
LandSetMap = 0x02F6, // updated 5.58
//////////////////////////////////////////////////
DuelChallenge = 0x0277, // 4.2; this is responsible for opening the ui
PerformNote = 0x0248, // updated 5.45 hotfix
PerformNote = 0x00BE, // updated 5.58
PrepareZoning = 0x01EE, // updated 5.45 hotfix
ActorGauge = 0x018E, // updated 5.45 hotfix
DutyGauge = 0x00D2, // updated 5.45 hotfix
PrepareZoning = 0x0171, // updated 5.58
ActorGauge = 0x0335, // updated 5.58
DutyGauge = 0x02F6, // updated 5.58
// daily quest info -> without them sent, login will take longer...
DailyQuests = 0x02C4, // updated 5.45 hotfix
DailyQuestRepeatFlags = 0x024D, // updated 5.45 hotfix
DailyQuests = 0x0331, // updated 5.58
DailyQuestRepeatFlags = 0x01D1, // updated 5.58
/// Doman Mahjong //////////////////////////////////////
MahjongOpenGui = 0x02A4, // only available in mahjong instance
@ -294,20 +294,20 @@ namespace Sapphire::Network::Packets
MahjongEndRoundTsumo = 0x02BF, // called tsumo
MahjongEndRoundRon = 0x2C0, // called ron or double ron (waiting for action must be flagged from discard packet to call)
MahjongTileDiscard = 0x02C1, // giri (discarding a tile.) chi(1)/pon(2)/kan(4)/ron(8) flags etc..
MahjongPlayersInfo = 0x02C2, // actor id, name, rating and stuff..
MahjongPlayersInfo = 0xF2C2, // actor id, name, rating and stuff..
// 2C3 and 2C4 are currently unknown
MahjongEndRoundDraw = 0x02C5, // self explanatory
MahjongEndGame = 0x02C6, // finished oorasu(all-last) round; shows a result screen.
/// Airship & Submarine //////////////////////////////////////
AirshipExplorationResult = 0x0131, // updated 5.45 hotfix
AirshipStatus = 0x0253, // updated 5.45 hotfix
AirshipStatusList = 0x0391, // updated 5.45 hotfix
AirshipTimers = 0x0206, // updated 5.45 hotfix
SubmarineExplorationResult = 0x00EB, // updated 5.45 hotfix
SubmarineProgressionStatus = 0x0333, // updated 5.45 hotfix
SubmarineStatusList = 0x01F2, // updated 5.45 hotfix
SubmarineTimers = 0x013B, // updated 5.45 hotfix
AirshipExplorationResult = 0x036C, // updated 5.58
AirshipStatus = 0x021F, // updated 5.58
AirshipStatusList = 0x0073, // updated 5.58
AirshipTimers = 0x0250, // updated 5.58
SubmarineExplorationResult = 0x01D0, // updated 5.58
SubmarineProgressionStatus = 0x0377, // updated 5.58
SubmarineStatusList = 0x0338, // updated 5.58
SubmarineTimers = 0x0292, // updated 5.58
};
/**
@ -315,110 +315,109 @@ namespace Sapphire::Network::Packets
*/
enum ClientZoneIpcType : uint16_t
{
PingHandler = 0x0183, // updated 5.45 hotfix
InitHandler = 0x01EA, // updated 5.45 hotfix
PingHandler = 0x03A3, // updated 5.58
InitHandler = 0x03B3, // updated 5.58
FinishLoadingHandler = 0x023F, // updated 5.45 hotfix
FinishLoadingHandler = 0x0217, // updated 5.58
CFCommenceHandler = 0x0118, // updated 5.35 hotfix
CFCommenceHandler = 0xF118, // updated 5.35 hotfix
CFCancelHandler = 0x0332, // updated 5.35 hotfix
CFRegisterDuty = 0x033C, // updated 5.45 hotfix
CFRegisterRoulette = 0x0121, // updated 5.45 hotfix
PlayTimeHandler = 0x0096, // updated 5.45 hotfix
LogoutHandler = 0x0312, // updated 5.45 hotfix
CancelLogout = 0x0307, // updated 5.45 hotfix
CFCancelHandler = 0x00A9, // updated 5.58
CFRegisterDuty = 0x036A, // updated 5.58
CFRegisterRoulette = 0x038C, // updated 5.58
PlayTimeHandler = 0x01A8, // updated 5.58
LogoutHandler = 0x02A5, // updated 5.58
CancelLogout = 0x03CC, // updated 5.58
CFDutyInfoHandler = 0xF078, // updated 4.2
CFDutyInfoHandler = 0x0078, // updated 4.2
SocialReqSendHandler = 0x0366, // updated 5.58
SocialResponseHandler = 0x0311, // updated 5.58
CreateCrossWorldLS = 0x0125, // updated 5.58
SocialReqSendHandler = 0x0288, // updated 5.45 hotfix
SocialResponseHandler = 0x029B, // updated 5.45 hotfix
CreateCrossWorldLS = 0x00AF, // updated 4.3
ChatHandler = 0x00A4, // updated 5.45 hotfix
ChatHandler = 0x02F4, // updated 5.58
PartyChatHandler = 0x0065,
PartySetLeaderHandler = 0x02EF, // updated 5.45 hotfix
LeavePartyHandler = 0x017E, // updated 5.45 hotfix
KickPartyMemberHandler = 0x0070, // updated 5.45 hotfix
DisbandPartyHandler = 0x037A, // updated 5.45 hotfix
PartySetLeaderHandler = 0x03C2, // updated 5.58
LeavePartyHandler = 0x028A, // updated 5.58
KickPartyMemberHandler = 0x01D1, // updated 5.58
DisbandPartyHandler = 0x032B, // updated 5.58
SocialListHandler = 0x02B0, // updated 5.45 hotfix
SetSearchInfoHandler = 0x0111, // updated 5.45 hotfix
ReqSearchInfoHandler = 0x03AC, // updated 5.45 hotfix
SocialListHandler = 0x006E, // updated 5.58
SetSearchInfoHandler = 0x010A, // updated 5.58
ReqSearchInfoHandler = 0x0255, // updated 5.58
ReqExamineSearchCommentHandler = 0x00E7, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x00F1, // updated 5.0
BlackListHandler = 0x02CD, // updated 5.45 hotfix
PlayerSearchHandler = 0x00F4, // updated 5.0
ReqRemovePlayerFromBlacklist = 0x015A, // updated 5.58
BlackListHandler = 0x02C5, // updated 5.58
PlayerSearchHandler = 0x0259, // updated 5.58
LinkshellListHandler = 0x0258, // updated 5.45 hotfix
LinkshellListHandler = 0x01F0, // updated 5.58
MarketBoardRequestItemListingInfo = 0x0102, // updated 4.5
MarketBoardRequestItemListings = 0x0103, // updated 4.5
MarketBoardSearch = 0x0107, // updated 4.5
MarketBoardRequestItemListingInfo = 0x02D3, // updated 5.58
MarketBoardRequestItemListings = 0x00AD, // updated 5.58
MarketBoardSearch = 0x00D6, // updated 5.58
ReqExamineFcInfo = 0x0113, // updated 4.1
ReqExamineFcInfo = 0x0359, // updated 5.58
FcInfoReqHandler = 0x011A, // updated 4.2
FcInfoReqHandler = 0x0078, // updated 5.58
FreeCompanyUpdateShortMessageHandler = 0x0123, // added 5.0
ReqMarketWishList = 0x012C, // updated 4.3
ReqMarketWishList = 0x0364, // updated 5.58
ReqJoinNoviceNetwork = 0x0129, // updated 4.2
ReqCountdownInitiate = 0x025F, // updated 5.35 hotfix
ReqCountdownCancel = 0x0244, // updated 5.25
ReqCountdownInitiate = 0x020E, // updated 5.58
ReqCountdownCancel = 0x03BE, // updated 5.58
ZoneLineHandler = 0x00BA, // updated 5.45 hotfix
ClientTrigger = 0x0146, // updated 5.45 hotfix
DiscoveryHandler = 0x00E3, // updated 5.35 hotfix
ZoneLineHandler = 0x00B0, // updated 5.58
ClientTrigger = 0x008B, // updated 5.58
DiscoveryHandler = 0x01B4, // updated 5.58
PlaceFieldMarkerPreset = 0x01D3, // updated 5.45 hotfix
PlaceFieldMarker = 0x0392, // updated 5.45 hotfix
SkillHandler = 0x0388, // updated 5.45 hotfix
GMCommand1 = 0x01E0, // updated 5.45 hotfix
GMCommand2 = 0x0114, // updated 5.45 hotfix
AoESkillHandler = 0x03A0, // updated 5.45 hotfix
PlaceFieldMarkerPreset = 0x03B0, // updated 5.58
PlaceFieldMarker = 0x011A, // updated 5.58
SkillHandler = 0x0175, // updated 5.58
GMCommand1 = 0x0353, // updated 5.58
GMCommand2 = 0x03E7, // updated 5.58
AoESkillHandler = 0x021D, // updated 5.58
UpdatePositionHandler = 0x031A, // updated 5.45 hotfix
UpdatePositionHandler = 0x0212, // updated 5.58
InventoryModifyHandler = 0x0110, // updated 5.45 hotfix
InventoryModifyHandler = 0x014A, // updated 5.58
InventoryEquipRecommendedItems = 0x0186, // updated 5.45 hotfix
InventoryEquipRecommendedItems = 0x01D7, // updated 5.58
ReqPlaceHousingItem = 0x0360, // updated 5.45 hotfix
BuildPresetHandler = 0x01D7, // updated 5.45 hotfix
ReqPlaceHousingItem = 0x0354, // updated 5.58
BuildPresetHandler = 0x00DC, // updated 5.58
TalkEventHandler = 0x00C2, // updated 5.45 hotfix
EmoteEventHandler = 0x03D5, // updated 5.45 hotfix
WithinRangeEventHandler = 0x0171, // updated 5.45 hotfix
OutOfRangeEventHandler = 0x019B, // updated 5.45 hotfix
EnterTeriEventHandler = 0x027F, // updated 5.45 hotfix
ShopEventHandler = 0x03D4, // updated 5.45 hotfix
EventYieldHandler = 0x0230, // updated 5.45 hotfix
ReturnEventHandler = 0x02AD, // updated 5.45 hotfix
TradeReturnEventHandler = 0x00A7, // updated 5.45 hotfix
TradeMultipleReturnEventHander = 0x035C, // updated 5.35 hotfix
TalkEventHandler = 0x012D, // updated 5.58
EmoteEventHandler = 0xF35A, // updated 5.55 hotfix
WithinRangeEventHandler = 0x022C, // updated 5.58
OutOfRangeEventHandler = 0x0294, // updated 5.58
EnterTeriEventHandler = 0x00C1, // updated 5.58
ShopEventHandler = 0x02B8, // updated 5.58
EventYieldHandler = 0x02A0, // updated 5.55 hotfix
ReturnEventHandler = 0x0333, // updated 5.58
TradeReturnEventHandler = 0x0179, // updated 5.58
TradeReturnEventHandler2 = 0x0169, // updated 5.55 hotfix
LinkshellEventHandler = 0x016B, // updated 4.5
LinkshellEventHandler1 = 0x016C, // updated 4.5
ReqEquipDisplayFlagsChange = 0x03B0, // updated 5.45 hotfix
ReqEquipDisplayFlagsChange = 0x01AD, // updated 5.58
LandRenameHandler = 0x0187, // updated 5.45 hotfix
HousingUpdateHouseGreeting = 0x0367, // updated 5.45 hotfix
HousingUpdateObjectPosition = 0x0265, // updated 5.45 hotfix
HousingEditExterior = 0x0297, // updated 5.45 hotfix
LandRenameHandler = 0x0083, // updated 5.58
HousingUpdateHouseGreeting = 0x031A, // updated 5.58
HousingUpdateObjectPosition = 0x010E, // updated 5.58
HousingEditAppearance = 0x00D7, // updated 5.55 hotfix
SetSharedEstateSettings = 0x0146, // updated 5.45 hotfix
SetSharedEstateSettings = 0x0342, // updated 5.58
UpdatePositionInstance = 0x034E, // updated 5.45 hotfix
UpdatePositionInstance = 0x01A3, // updated 5.58
PerformNoteHandler = 0x0336, // updated 5.45 hotfix
PerformNoteHandler = 0x015E, // updated 5.58
WorldInteractionHandler = 0x02E4, // updated 5.45 hotfix
Dive = 0x00F1, // updated 5.45 hotfix
WorldInteractionHandler = 0x03CE, // updated 5.58
Dive = 0x034C, // updated 5.58
};
////////////////////////////////////////////////////////////////////////////////

View file

@ -427,7 +427,7 @@ struct FFXIVIpcDive :
};
struct FFXIVIpcHousingEditExterior :
FFXIVIpcBasePacket< HousingEditExterior >
FFXIVIpcBasePacket< HousingEditAppearance >
{
uint16_t landId;
uint8_t unknown[6];

View file

@ -680,6 +680,7 @@ namespace Sapphire::Network::Packets::Server
uint16_t unk; // == 0
uint16_t modelChara;
uint16_t rotation;
uint16_t currentMount;
uint16_t activeMinion;
uint8_t spawnIndex;
uint8_t state;
@ -693,24 +694,20 @@ namespace Sapphire::Network::Packets::Server
uint8_t classJob;
uint8_t u26d;
uint16_t u27a;
uint8_t currentMount;
uint8_t mountHead;
uint8_t mountBody;
uint8_t mountFeet;
uint8_t mountColor;
uint8_t scale;
//uint32_t elementalLevel; one of these two field changed to 16bit
//uint32_t element;
uint8_t elementData[6];
uint8_t unknown5_5[3];
Common::StatusEffect effect[30];
Common::FFXIVARR_POSITION3 pos;
uint32_t models[10];
char name[32];
uint8_t look[26];
char fcTag[6];
uint32_t unk30;
uint32_t unk30[2];
};
/**
@ -753,9 +750,10 @@ namespace Sapphire::Network::Packets::Server
uint32_t displayFlags;
uint16_t fateID;
uint16_t mPCurr;
uint16_t unknown1; // 0
uint16_t unknown2; // 0 or pretty big numbers > 30000
uint16_t unknown1;
uint16_t unknown2;
uint16_t modelChara;
uint16_t currentMount;
uint16_t rotation;
uint16_t activeMinion;
uint8_t spawnIndex;
@ -770,14 +768,13 @@ namespace Sapphire::Network::Packets::Server
uint8_t classJob;
uint8_t u26d;
uint16_t u27a;
uint8_t currentMount;
uint8_t mountHead;
uint8_t mountBody;
uint8_t mountFeet;
uint8_t mountColor;
uint8_t scale;
uint16_t elementalLevel; // Eureka
uint16_t element; // Eureka
uint8_t elemental[6];
uint8_t unknown5_5[3];
Common::StatusEffect effect[30];
Common::FFXIVARR_POSITION3 pos;
uint32_t models[10];
@ -789,7 +786,7 @@ namespace Sapphire::Network::Packets::Server
uint8_t bNPCPartSlot;
uint8_t unk32;
uint16_t unk33;
uint32_t unk34;
uint32_t unk34[2];
};
/**
@ -1041,12 +1038,12 @@ namespace Sapphire::Network::Packets::Server
unsigned char mountGuideMask[22];
unsigned char u19_2;
*/
unsigned char unknown5_3a[176];
unsigned char unknown5_55a[178];
unsigned char companionName[21];
unsigned char companionDefRank;
unsigned char companionAttRank;
unsigned char companionHealRank;
unsigned char mountGuideMask[27];
unsigned char mountGuideMask[29];
//==
char name[32];
unsigned char unknownOword[16];
@ -1055,11 +1052,10 @@ namespace Sapphire::Network::Packets::Server
unsigned char aetheryte[21];
unsigned char discovery[445];
unsigned char howto[34];
unsigned char minions[53];
unsigned char minions[55];
unsigned char chocoboTaxiMask[10];
unsigned char watchedCutscenes[135];
unsigned char companionBardingMask[10];
unsigned char unknown5_45a; // companionBardingMask[11]?
unsigned char watchedCutscenes[137];
unsigned char companionBardingMask[11];
unsigned char companionEquippedHead;
unsigned char companionEquippedBody;
unsigned char companionEquippedLegs;
@ -1092,12 +1088,12 @@ namespace Sapphire::Network::Packets::Server
unsigned char aetherCurrentMask[22];
unsigned char u10[3];
*/
unsigned char unknown5_45c[294];
unsigned char unknown5_55b[295];
//==
unsigned char orchestrionMask[40]; // this field may already be extended, if it is, the beginning bytes are at the end of unknown5_45c
unsigned char orchestrionMask[40]; // this field may already be extended, if it is, the beginning bytes are at the end of unknown5_55b
unsigned char hallOfNoviceCompletion[3];
unsigned char animaCompletion[11];
unsigned char unknown5_3e[33];
unsigned char unknown5_55c[35];
unsigned char unlockedRaids[28];
unsigned char unlockedDungeons[18];
unsigned char unlockedGuildhests[10];
@ -1117,7 +1113,7 @@ namespace Sapphire::Network::Packets::Server
unsigned int exploratoryMissionNextTimestamp;
unsigned char pvpLevel;
*/
unsigned char unknown5_45d[8];
unsigned char unknown5_55d[9];
//==
};

View file

@ -132,7 +132,7 @@ private:
{
if( result.param2 == 1 )
{
if( player.giveQuestRewards( getId(), 0 ) )
if( player.giveQuestRewards( getId(), result.param3 ) )
{
player.setQuestUI8BH( getId(), 0 );
player.finishQuest( getId() );

View file

@ -1591,7 +1591,7 @@ uint16_t Sapphire::Entity::Player::getCurrentCompanion() const
return m_companionId;
}
uint8_t Sapphire::Entity::Player::getCurrentMount() const
uint16_t Sapphire::Entity::Player::getCurrentMount() const
{
return m_mount;
}

View file

@ -584,7 +584,7 @@ namespace Sapphire::Entity
uint16_t getCurrentCompanion() const;
/*! get the current mount */
uint8_t getCurrentMount() const;
uint16_t getCurrentMount() const;
/*! set current persistent emote */
void setPersistentEmote( uint32_t emoteId );
@ -1067,8 +1067,8 @@ namespace Sapphire::Entity
uint16_t m_activeTitle;
uint8_t m_titleList[48];
uint8_t m_howTo[34];
uint8_t m_minions[40];
uint8_t m_mountGuide[27];
uint8_t m_minions[55];
uint8_t m_mountGuide[29];
uint8_t m_homePoint;
uint8_t m_startTown;
uint16_t m_townWarpFstFlags;
@ -1076,8 +1076,8 @@ namespace Sapphire::Entity
uint8_t m_discovery[445];
uint32_t m_playTime;
uint16_t m_classArray[28];
uint32_t m_expArray[28];
uint16_t m_classArray[ Common::CLASSJOB_SLOTS ];
uint32_t m_expArray[ Common::CLASSJOB_SLOTS ];
uint8_t m_aetheryte[21];
uint8_t m_unlocks[64];
uint8_t m_orchestrion[40];

View file

@ -186,6 +186,9 @@ bool Sapphire::Entity::Player::load( uint32_t charId, World::SessionPtr pSession
auto titleList = res->getBlobVector( "TitleList" );
memcpy( reinterpret_cast< char* >( m_titleList ), titleList.data(), titleList.size() );
auto minions = res->getBlobVector( "Minions" );
memcpy( reinterpret_cast< char* >( m_minions ), minions.data(), minions.size() );
auto mountGuide = res->getBlobVector( "Mounts" );
memcpy( reinterpret_cast< char* >( m_mountGuide ), mountGuide.data(), mountGuide.size() );

View file

@ -226,15 +226,7 @@ void Sapphire::World::Manager::DebugCommandMgr::set( char* data, Entity::Player&
if( player.getLevelForClass( static_cast< Common::ClassJob > ( id ) ) == 0 )
{
player.setLevelForClass( 1, static_cast< Common::ClassJob > ( id ) );
player.setClassJob( static_cast< Common::ClassJob > ( id ) );
player.sendModel();
player.sendItemLevel();
player.calculateStats();
player.sendStats();
player.sendStatusEffectUpdate();
player.sendStatusUpdate();
}
else
player.setClassJob( static_cast< Common::ClassJob > ( id ) );
player.sendModel();
player.sendItemLevel();

View file

@ -90,7 +90,7 @@ Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pH
setZoneHandler( ClientZoneIpcType::ReqPlaceHousingItem, "ReqPlaceHousingItem", &GameConnection::reqPlaceHousingItem );
setZoneHandler( ClientZoneIpcType::HousingUpdateObjectPosition, "HousingUpdateObjectPosition",
&GameConnection::reqMoveHousingItem );
setZoneHandler( ClientZoneIpcType::HousingEditExterior, "HousingEditExterior", &GameConnection::housingEditExterior );
setZoneHandler( ClientZoneIpcType::HousingEditAppearance, "HousingEditAppearance", &GameConnection::housingEditExterior );
setZoneHandler( ClientZoneIpcType::TalkEventHandler, "EventHandlerTalk", &GameConnection::eventHandlerTalk );
setZoneHandler( ClientZoneIpcType::EmoteEventHandler, "EventHandlerEmote", &GameConnection::eventHandlerEmote );
@ -101,10 +101,10 @@ Sapphire::Network::GameConnection::GameConnection( Sapphire::Network::HivePtr pH
setZoneHandler( ClientZoneIpcType::EnterTeriEventHandler, "EventHandlerEnterTeri",
&GameConnection::eventHandlerEnterTerritory );
setZoneHandler( ClientZoneIpcType::ReturnEventHandler, "EventHandlerReturn", &GameConnection::eventHandlerReturn );
setZoneHandler( ClientZoneIpcType::TradeReturnEventHandler, "EventHandlerReturn",
setZoneHandler( ClientZoneIpcType::ReturnEventHandler, "ReturnEventHandler", &GameConnection::eventHandlerReturn );
setZoneHandler( ClientZoneIpcType::TradeReturnEventHandler, "TradeReturnEventHandler",
&GameConnection::eventHandlerReturn );
setZoneHandler( ClientZoneIpcType::TradeMultipleReturnEventHander, "EventHandlerReturn", &GameConnection::eventHandlerReturn );
setZoneHandler( ClientZoneIpcType::TradeReturnEventHandler2, "TradeReturnEventHandler2", &GameConnection::eventHandlerReturn );
setZoneHandler( ClientZoneIpcType::ShopEventHandler, "ShopEventHandler",
&GameConnection::eventHandlerShop );

View file

@ -53,7 +53,7 @@ namespace Sapphire::Network::Packets::Server
memcpy( m_data.aetheryte, player.getAetheryteArray(), sizeof( m_data.aetheryte ) );
// Set the class levels and exp.
for( uint8_t i = 0; i < 25; i++ )
for( uint8_t i = 0; i < Common::CLASSJOB_SLOTS; i++ )
{
m_data.levels[ i ] = player.getClassArray()[ i ];
m_data.exp[ i ] = player.getExpArray()[ i ];