mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-04-24 13:47:46 +00:00
Streamline ActorControlTypes, refactor ActionHandler/ClientTrigger to ClientActorControl
This commit is contained in:
parent
a042599a64
commit
f2c2087d7b
22 changed files with 360 additions and 309 deletions
|
@ -406,208 +406,6 @@ namespace Common {
|
||||||
Completed = 8,
|
Completed = 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ActorControlType : uint16_t
|
|
||||||
{
|
|
||||||
ToggleWeapon = 0x01,
|
|
||||||
SetStatus = 0x02,
|
|
||||||
CastStart = 0x03,
|
|
||||||
ToggleAggro = 0x04,
|
|
||||||
ClassJobChange = 0x05,
|
|
||||||
DefeatMsg = 0x06,
|
|
||||||
GainExpMsg = 0x07,
|
|
||||||
|
|
||||||
LevelUpEffect = 0x0A,
|
|
||||||
|
|
||||||
ExpChainMsg = 0x0C,
|
|
||||||
HpSetStat = 0x0D,
|
|
||||||
DeathAnimation = 0x0E,
|
|
||||||
CastInterrupt = 0x0F,
|
|
||||||
|
|
||||||
ActionStart = 0x11,
|
|
||||||
|
|
||||||
StatusEffectGain = 0x14,
|
|
||||||
StatusEffectLose = 0x15,
|
|
||||||
|
|
||||||
HPFloatingText = 0x17,
|
|
||||||
UpdateRestedExp = 0x018,
|
|
||||||
Unk2 = 0x19,
|
|
||||||
|
|
||||||
Flee = 0x1B,
|
|
||||||
|
|
||||||
Unk3 = 0x20, // Animation related?
|
|
||||||
|
|
||||||
CombatIndicationShow = 0x22,
|
|
||||||
|
|
||||||
SpawnEffect = 0x25,
|
|
||||||
ToggleInvisible = 0x26,
|
|
||||||
|
|
||||||
ToggleActionUnlock = 0x29,
|
|
||||||
|
|
||||||
UpdateUiExp = 0x2B,
|
|
||||||
DmgTakenMsg = 0x2D,
|
|
||||||
|
|
||||||
SetTarget = 0x32,
|
|
||||||
ToggleNameHidden = 0x36,
|
|
||||||
|
|
||||||
LimitbreakStart = 0x47,
|
|
||||||
LimitbreakPartyStart = 0x48,
|
|
||||||
BubbleText = 0x49,
|
|
||||||
|
|
||||||
DamageEffect = 0x50,
|
|
||||||
RaiseAnimation = 0x51,
|
|
||||||
TreasureScreenMsg = 0x57,
|
|
||||||
SetOwnerId = 0x59,
|
|
||||||
ItemRepairMsg = 0x5C,
|
|
||||||
|
|
||||||
DirectorInit = 0x64,
|
|
||||||
DirectorClear = 0x65,
|
|
||||||
|
|
||||||
LeveStartAnim = 0x66,
|
|
||||||
LeveStartError = 0x67,
|
|
||||||
DirectorEObjMod = 0x6A,
|
|
||||||
|
|
||||||
DirectorUpdate = 0x6D,
|
|
||||||
|
|
||||||
ItemObtainMsg = 0x75,
|
|
||||||
DutyQuestScreenMsg = 0x7B,
|
|
||||||
|
|
||||||
ItemObtainIcon = 0x84,
|
|
||||||
FateItemFailMsg = 0x85,
|
|
||||||
ItemFailMsg = 0x86,
|
|
||||||
ActionLearnMsg1 = 0x87,
|
|
||||||
|
|
||||||
FreeEventPos = 0x8A,
|
|
||||||
|
|
||||||
SetBGM = 0xA1,
|
|
||||||
|
|
||||||
UnlockAetherCurrentMsg = 0xA4,
|
|
||||||
|
|
||||||
RemoveName = 0xA8,
|
|
||||||
|
|
||||||
ScreenFadeOut = 0xAA,
|
|
||||||
|
|
||||||
ZoneIn = 0xC8,
|
|
||||||
ZoneInDefaultPos = 0xC9,
|
|
||||||
|
|
||||||
TeleportStart = 0xCB,
|
|
||||||
|
|
||||||
TeleportDone = 0xCD,
|
|
||||||
TeleportDoneFadeOut = 0xCE,
|
|
||||||
DespawnZoneScreenMsg = 0xCF,
|
|
||||||
|
|
||||||
InstanceSelectDlg = 0xD2,
|
|
||||||
ActorDespawnEffect = 0xD4,
|
|
||||||
|
|
||||||
CompanionUnlock = 0xFD,
|
|
||||||
ObtainBarding = 0xFE,
|
|
||||||
EquipBarding = 0xFF,
|
|
||||||
|
|
||||||
CompanionMsg1 = 0x102,
|
|
||||||
CompanionMsg2 = 0x103,
|
|
||||||
ShowPetHotbar = 0x104,
|
|
||||||
|
|
||||||
ActionLearnMsg = 0x109,
|
|
||||||
ActorFadeOut = 0x10A,
|
|
||||||
ActorFadeIn = 0x10B,
|
|
||||||
WithdrawMsg = 0x10C,
|
|
||||||
OrderMinion = 0x10D,
|
|
||||||
ToggleMinion = 0x10E,
|
|
||||||
LearnMinion = 0x10F,
|
|
||||||
ActorFateOut1 = 0x110,
|
|
||||||
|
|
||||||
Emote = 0x122,
|
|
||||||
|
|
||||||
SetPose = 0x127,
|
|
||||||
|
|
||||||
CraftingUnk = 0x12C,
|
|
||||||
|
|
||||||
GatheringSenseMsg = 0x130,
|
|
||||||
PartyMsg = 0x131,
|
|
||||||
GatheringSenseMsg1 = 0x132,
|
|
||||||
|
|
||||||
GatheringSenseMsg2 = 0x138,
|
|
||||||
|
|
||||||
FishingMsg = 0x140,
|
|
||||||
|
|
||||||
FishingBaitMsg = 0x145,
|
|
||||||
|
|
||||||
FishingReachMsg = 0x147,
|
|
||||||
FishingFailMsg = 0x148,
|
|
||||||
|
|
||||||
MateriaConvertMsg = 0x15E,
|
|
||||||
MeldSuccessMsg = 0x15F,
|
|
||||||
MeldFailMsg = 0x160,
|
|
||||||
MeldModeToggle = 0x161,
|
|
||||||
|
|
||||||
AetherRestoreMsg = 0x163,
|
|
||||||
|
|
||||||
DyeMsg = 0x168,
|
|
||||||
|
|
||||||
ToggleCrestMsg = 0x16A,
|
|
||||||
ToggleBulkCrestMsg = 0x16B,
|
|
||||||
MateriaRemoveMsg = 0x16C,
|
|
||||||
GlamourCastMsg = 0x16D,
|
|
||||||
GlamourRemoveMsg = 0x16E,
|
|
||||||
|
|
||||||
RelicInfuseMsg = 0x179,
|
|
||||||
|
|
||||||
AetherReductionDlg = 0x17D,
|
|
||||||
|
|
||||||
Unk6 = 0x19C,
|
|
||||||
EObjAnimation = 0x19D,
|
|
||||||
|
|
||||||
SetTitle = 0x1F4,
|
|
||||||
|
|
||||||
SetStatusIcon = 0x1F8,
|
|
||||||
LimitBreakGauge = 0x1F9, // Max level, amount, build type (chop sound), lb type(0=pve lb 1=pvp lb)
|
|
||||||
SetHomepoint = 0x1FB,
|
|
||||||
SetFavorite = 0x1FC,
|
|
||||||
LearnTeleport = 0x1FD,
|
|
||||||
|
|
||||||
OpenRecommendationGuide = 0x200,
|
|
||||||
ArmoryErrorMsg = 0x201,
|
|
||||||
|
|
||||||
AchievementPopup = 0x203,
|
|
||||||
|
|
||||||
Unk7 = 0x205, // LogMessage?
|
|
||||||
AchievementMsg = 0x206,
|
|
||||||
|
|
||||||
SetItemLevel = 0x209,
|
|
||||||
|
|
||||||
ChallengeEntryCompleteMsg = 0x20B,
|
|
||||||
ChallengeEntryUnlockMsg = 0x20C,
|
|
||||||
|
|
||||||
GilTrailMsg = 0x211,
|
|
||||||
|
|
||||||
SetMaxGearSets = 0x230,
|
|
||||||
|
|
||||||
SetCharaGearParamUI = 0x260,
|
|
||||||
|
|
||||||
GearSetEquipMsg = 0x321,
|
|
||||||
|
|
||||||
SetFestival = 0x386, // param1: festival.exd index
|
|
||||||
|
|
||||||
ToggleOrchestrionUnlock = 0x396,
|
|
||||||
Dismount = 0x3A0,
|
|
||||||
|
|
||||||
// Duty Recorder
|
|
||||||
BeginReplayAck = 0x3A1,
|
|
||||||
EndReplayAck = 0x3A2,
|
|
||||||
|
|
||||||
// PvP Duel
|
|
||||||
SetPvPState = 0x5E0, // param3 must be 6 to engage a duel (hardcoded in the client)
|
|
||||||
EndDuelSession = 0x5E1, // because someone went oob?
|
|
||||||
StartDuelCountdown = 0x5E2, // begins a countdown; also does some duel bgm thing.
|
|
||||||
StartDuel = 0x5E3, // actually all it does is set the challenger actor id;
|
|
||||||
DuelResultScreen = 0x5E4, // win/lose thing, also reset a target id just like what EndDuelSession does.
|
|
||||||
|
|
||||||
// Duty Action
|
|
||||||
SetDutyActionId = 0x5E8, // ContentExAction
|
|
||||||
SetDutyActionHud = 0x5E9, // disable/enable
|
|
||||||
SetDutyActionActive = 0x5EA,
|
|
||||||
SetDutyActionRemaining = 0x5EB,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum struct ChatType : uint16_t
|
enum struct ChatType : uint16_t
|
||||||
{
|
{
|
||||||
LogKindError,
|
LogKindError,
|
||||||
|
|
291
src/common/Network/CommonActorControl.h
Normal file
291
src/common/Network/CommonActorControl.h
Normal file
|
@ -0,0 +1,291 @@
|
||||||
|
#ifndef _COMMONACTORCONTROL_H
|
||||||
|
#define _COMMONACTORCONTROL_H
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include <boost/make_shared.hpp>
|
||||||
|
#include "CommonGen.h"
|
||||||
|
|
||||||
|
// +---------------------------------------------------------------------------
|
||||||
|
// The following enumerations are structures to require their type be included.
|
||||||
|
// They are also defined within the Core::Common namespace to avoid collisions.
|
||||||
|
// +---------------------------------------------------------------------------
|
||||||
|
namespace Core {
|
||||||
|
namespace Network {
|
||||||
|
namespace ActorControl {
|
||||||
|
|
||||||
|
enum ActorControlType : uint16_t
|
||||||
|
{
|
||||||
|
ToggleWeapon = 0x01,
|
||||||
|
SetStatus = 0x02,
|
||||||
|
CastStart = 0x03,
|
||||||
|
ToggleAggro = 0x04,
|
||||||
|
ClassJobChange = 0x05,
|
||||||
|
DefeatMsg = 0x06,
|
||||||
|
GainExpMsg = 0x07,
|
||||||
|
|
||||||
|
LevelUpEffect = 0x0A,
|
||||||
|
|
||||||
|
ExpChainMsg = 0x0C,
|
||||||
|
HpSetStat = 0x0D,
|
||||||
|
DeathAnimation = 0x0E,
|
||||||
|
CastInterrupt = 0x0F,
|
||||||
|
|
||||||
|
ActionStart = 0x11,
|
||||||
|
|
||||||
|
StatusEffectGain = 0x14,
|
||||||
|
StatusEffectLose = 0x15,
|
||||||
|
|
||||||
|
HPFloatingText = 0x17,
|
||||||
|
UpdateRestedExp = 0x018,
|
||||||
|
Unk2 = 0x19,
|
||||||
|
|
||||||
|
Flee = 0x1B,
|
||||||
|
|
||||||
|
Unk3 = 0x20, // Animation related?
|
||||||
|
|
||||||
|
CombatIndicationShow = 0x22,
|
||||||
|
|
||||||
|
SpawnEffect = 0x25,
|
||||||
|
ToggleInvisible = 0x26,
|
||||||
|
|
||||||
|
ToggleActionUnlock = 0x29,
|
||||||
|
|
||||||
|
UpdateUiExp = 0x2B,
|
||||||
|
DmgTakenMsg = 0x2D,
|
||||||
|
|
||||||
|
SetTarget = 0x32,
|
||||||
|
ToggleNameHidden = 0x36,
|
||||||
|
|
||||||
|
LimitbreakStart = 0x47,
|
||||||
|
LimitbreakPartyStart = 0x48,
|
||||||
|
BubbleText = 0x49,
|
||||||
|
|
||||||
|
DamageEffect = 0x50,
|
||||||
|
RaiseAnimation = 0x51,
|
||||||
|
TreasureScreenMsg = 0x57,
|
||||||
|
SetOwnerId = 0x59,
|
||||||
|
ItemRepairMsg = 0x5C,
|
||||||
|
|
||||||
|
DirectorInit = 0x64,
|
||||||
|
DirectorClear = 0x65,
|
||||||
|
|
||||||
|
LeveStartAnim = 0x66,
|
||||||
|
LeveStartError = 0x67,
|
||||||
|
DirectorEObjMod = 0x6A,
|
||||||
|
|
||||||
|
DirectorUpdate = 0x6D,
|
||||||
|
|
||||||
|
ItemObtainMsg = 0x75,
|
||||||
|
DutyQuestScreenMsg = 0x7B,
|
||||||
|
|
||||||
|
ItemObtainIcon = 0x84,
|
||||||
|
FateItemFailMsg = 0x85,
|
||||||
|
ItemFailMsg = 0x86,
|
||||||
|
ActionLearnMsg1 = 0x87,
|
||||||
|
|
||||||
|
FreeEventPos = 0x8A,
|
||||||
|
|
||||||
|
SetBGM = 0xA1,
|
||||||
|
|
||||||
|
UnlockAetherCurrentMsg = 0xA4,
|
||||||
|
|
||||||
|
RemoveName = 0xA8,
|
||||||
|
|
||||||
|
ScreenFadeOut = 0xAA,
|
||||||
|
|
||||||
|
ZoneIn = 0xC8,
|
||||||
|
ZoneInDefaultPos = 0xC9,
|
||||||
|
|
||||||
|
TeleportStart = 0xCB,
|
||||||
|
|
||||||
|
TeleportDone = 0xCD,
|
||||||
|
TeleportDoneFadeOut = 0xCE,
|
||||||
|
DespawnZoneScreenMsg = 0xCF,
|
||||||
|
|
||||||
|
InstanceSelectDlg = 0xD2,
|
||||||
|
ActorDespawnEffect = 0xD4,
|
||||||
|
|
||||||
|
CompanionUnlock = 0xFD,
|
||||||
|
ObtainBarding = 0xFE,
|
||||||
|
EquipBarding = 0xFF,
|
||||||
|
|
||||||
|
CompanionMsg1 = 0x102,
|
||||||
|
CompanionMsg2 = 0x103,
|
||||||
|
ShowPetHotbar = 0x104,
|
||||||
|
|
||||||
|
ActionLearnMsg = 0x109,
|
||||||
|
ActorFadeOut = 0x10A,
|
||||||
|
ActorFadeIn = 0x10B,
|
||||||
|
WithdrawMsg = 0x10C,
|
||||||
|
OrderMinion = 0x10D,
|
||||||
|
ToggleMinion = 0x10E,
|
||||||
|
LearnMinion = 0x10F,
|
||||||
|
ActorFateOut1 = 0x110,
|
||||||
|
|
||||||
|
Emote = 0x122,
|
||||||
|
|
||||||
|
SetPose = 0x127,
|
||||||
|
|
||||||
|
CraftingUnk = 0x12C,
|
||||||
|
|
||||||
|
GatheringSenseMsg = 0x130,
|
||||||
|
PartyMsg = 0x131,
|
||||||
|
GatheringSenseMsg1 = 0x132,
|
||||||
|
|
||||||
|
GatheringSenseMsg2 = 0x138,
|
||||||
|
|
||||||
|
FishingMsg = 0x140,
|
||||||
|
|
||||||
|
FishingBaitMsg = 0x145,
|
||||||
|
|
||||||
|
FishingReachMsg = 0x147,
|
||||||
|
FishingFailMsg = 0x148,
|
||||||
|
|
||||||
|
MateriaConvertMsg = 0x15E,
|
||||||
|
MeldSuccessMsg = 0x15F,
|
||||||
|
MeldFailMsg = 0x160,
|
||||||
|
MeldModeToggle = 0x161,
|
||||||
|
|
||||||
|
AetherRestoreMsg = 0x163,
|
||||||
|
|
||||||
|
DyeMsg = 0x168,
|
||||||
|
|
||||||
|
ToggleCrestMsg = 0x16A,
|
||||||
|
ToggleBulkCrestMsg = 0x16B,
|
||||||
|
MateriaRemoveMsg = 0x16C,
|
||||||
|
GlamourCastMsg = 0x16D,
|
||||||
|
GlamourRemoveMsg = 0x16E,
|
||||||
|
|
||||||
|
RelicInfuseMsg = 0x179,
|
||||||
|
|
||||||
|
AetherReductionDlg = 0x17D,
|
||||||
|
|
||||||
|
Unk6 = 0x19C,
|
||||||
|
EObjAnimation = 0x19D,
|
||||||
|
|
||||||
|
SetTitle = 0x1F4,
|
||||||
|
|
||||||
|
SetStatusIcon = 0x1F8,
|
||||||
|
LimitBreakGauge = 0x1F9, // Max level, amount, build type (chop sound), lb type(0=pve lb 1=pvp lb)
|
||||||
|
SetHomepoint = 0x1FB,
|
||||||
|
SetFavorite = 0x1FC,
|
||||||
|
LearnTeleport = 0x1FD,
|
||||||
|
|
||||||
|
OpenRecommendationGuide = 0x200,
|
||||||
|
ArmoryErrorMsg = 0x201,
|
||||||
|
|
||||||
|
AchievementPopup = 0x203,
|
||||||
|
|
||||||
|
Unk7 = 0x205, // LogMessage?
|
||||||
|
AchievementMsg = 0x206,
|
||||||
|
|
||||||
|
SetItemLevel = 0x209,
|
||||||
|
|
||||||
|
ChallengeEntryCompleteMsg = 0x20B,
|
||||||
|
ChallengeEntryUnlockMsg = 0x20C,
|
||||||
|
|
||||||
|
GilTrailMsg = 0x211,
|
||||||
|
|
||||||
|
SetMaxGearSets = 0x230,
|
||||||
|
|
||||||
|
SetCharaGearParamUI = 0x260,
|
||||||
|
|
||||||
|
GearSetEquipMsg = 0x321,
|
||||||
|
|
||||||
|
SetFestival = 0x386, // param1: festival.exd index
|
||||||
|
|
||||||
|
ToggleOrchestrionUnlock = 0x396,
|
||||||
|
Dismount = 0x3A0,
|
||||||
|
|
||||||
|
// Duty Recorder
|
||||||
|
BeginReplayAck = 0x3A1,
|
||||||
|
EndReplayAck = 0x3A2,
|
||||||
|
|
||||||
|
// PvP Duel
|
||||||
|
SetPvPState = 0x5E0, // param3 must be 6 to engage a duel (hardcoded in the client)
|
||||||
|
EndDuelSession = 0x5E1, // because someone went oob?
|
||||||
|
StartDuelCountdown = 0x5E2, // begins a countdown; also does some duel bgm thing.
|
||||||
|
StartDuel = 0x5E3, // actually all it does is set the challenger actor id;
|
||||||
|
DuelResultScreen = 0x5E4, // win/lose thing, also reset a target id just like what EndDuelSession does.
|
||||||
|
|
||||||
|
// Duty Action
|
||||||
|
SetDutyActionId = 0x5E8, // ContentExAction
|
||||||
|
SetDutyActionHud = 0x5E9, // disable/enable
|
||||||
|
SetDutyActionActive = 0x5EA,
|
||||||
|
SetDutyActionRemaining = 0x5EB,
|
||||||
|
};
|
||||||
|
|
||||||
|
enum ClientActorControlType
|
||||||
|
{
|
||||||
|
ToggleSeathe = 0x01,
|
||||||
|
ToggleAutoAttack = 0x02,
|
||||||
|
ChangeTarget = 0x03,
|
||||||
|
|
||||||
|
DismountReq = 0x65,
|
||||||
|
|
||||||
|
RemoveStatusEffect = 0x68,
|
||||||
|
CastCancel = 0x69,
|
||||||
|
|
||||||
|
Return = 0xC8, // return dead / accept raise
|
||||||
|
FinishZoning = 0xC9,
|
||||||
|
Teleport = 0xCA,
|
||||||
|
|
||||||
|
MarkPlayer = 0x12D, // Mark player, visible to party only
|
||||||
|
SetTitleReq = 0x12E,
|
||||||
|
TitleList = 0x12F,
|
||||||
|
|
||||||
|
UpdatedSeenHowTos = 0x133,
|
||||||
|
AllotAttribute = 0x135,
|
||||||
|
|
||||||
|
ClearWaymarks = 0x13A,
|
||||||
|
|
||||||
|
HuntingLogDetails = 0x194,
|
||||||
|
|
||||||
|
Timers = 0x1AB,
|
||||||
|
|
||||||
|
DyeItem = 0x1B5,
|
||||||
|
|
||||||
|
RequestChocoboInventory = 0x1C4,
|
||||||
|
|
||||||
|
EmoteReq = 0x1F4,
|
||||||
|
PersistantEmoteCancel = 0x1F7,
|
||||||
|
PoseChange = 0x1F9,
|
||||||
|
PoseReapply = 0x1FA,
|
||||||
|
PoseCancel = 0x1FB,
|
||||||
|
|
||||||
|
AchievementCrit = 0x202,
|
||||||
|
AchievementComp = 0x203,
|
||||||
|
AchievementCatChat = 0x206,
|
||||||
|
|
||||||
|
|
||||||
|
DirectorInitFinish = 0x321,
|
||||||
|
|
||||||
|
SomeDirectorEvent = 0x328, // unsure what exactly triggers it, starts director when returning to instance though
|
||||||
|
|
||||||
|
EnterTerritoryEventFinished = 0x330,
|
||||||
|
RequestInstanceLeave = 0x333, // df menu button
|
||||||
|
|
||||||
|
AchievementCritReq = 0x3E8,
|
||||||
|
AchievementList = 0x3E9,
|
||||||
|
|
||||||
|
CompanionAction = 0x6A4,
|
||||||
|
CompanionSetBarding = 0x6A5,
|
||||||
|
CompanionActionUnlock = 0x6A6,
|
||||||
|
|
||||||
|
OpenPerformInstrumentUI = 0x71C,
|
||||||
|
|
||||||
|
StartReplay = 0x7BC,
|
||||||
|
EndReplay = 0x7BD, // request for restoring the original player state (actor, buff, gauge, etc..)
|
||||||
|
|
||||||
|
OpenDuelUI = 0x898, // Open a duel ui
|
||||||
|
DuelRequestResult = 0x899, // either accept/reject
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
} /* ActorControl */
|
||||||
|
} /* Common */
|
||||||
|
} /* Core */
|
||||||
|
|
||||||
|
#endif
|
|
@ -227,7 +227,7 @@ namespace Packets {
|
||||||
ReqCountdownCancel = 0x012D, // updated 4.2
|
ReqCountdownCancel = 0x012D, // updated 4.2
|
||||||
|
|
||||||
ZoneLineHandler = 0x013C, // updated 4.3
|
ZoneLineHandler = 0x013C, // updated 4.3
|
||||||
ActionHandler = 0x013D, // updated 4.3
|
ClientActorControl = 0x013D, // updated 4.3
|
||||||
DiscoveryHandler = 0x013E, // updated 4.3
|
DiscoveryHandler = 0x013E, // updated 4.3
|
||||||
|
|
||||||
SkillHandler = 0x0140, // updated 4.3
|
SkillHandler = 0x0140, // updated 4.3
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include <Util/UtilMath.h>
|
#include <Util/UtilMath.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
||||||
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
||||||
|
@ -19,6 +20,7 @@ using namespace Core::Common;
|
||||||
using namespace Core::Network;
|
using namespace Core::Network;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
extern Core::Framework g_fw;
|
extern Core::Framework g_fw;
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include <Util/Util.h>
|
#include <Util/Util.h>
|
||||||
#include <Util/UtilMath.h>
|
#include <Util/UtilMath.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
||||||
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
||||||
|
@ -17,6 +18,7 @@ using namespace Core::Common;
|
||||||
using namespace Core::Network;
|
using namespace Core::Network;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
extern Core::Framework g_framework;
|
extern Core::Framework g_framework;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include <Util/Util.h>
|
#include <Util/Util.h>
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
||||||
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
||||||
|
@ -14,6 +15,7 @@ using namespace Core::Common;
|
||||||
using namespace Core::Network;
|
using namespace Core::Network;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
extern Core::Framework g_fw;
|
extern Core::Framework g_fw;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include <Util/Util.h>
|
#include <Util/Util.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
||||||
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
||||||
|
@ -16,6 +17,7 @@ using namespace Core::Common;
|
||||||
using namespace Core::Network;
|
using namespace Core::Network;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
Core::Action::EventAction::EventAction()
|
Core::Action::EventAction::EventAction()
|
||||||
{
|
{
|
||||||
|
@ -50,7 +52,7 @@ void Core::Action::EventAction::onStart()
|
||||||
|
|
||||||
m_startTime = Util::getTimeMs();
|
m_startTime = Util::getTimeMs();
|
||||||
|
|
||||||
auto control = ActorControlPacket142( m_pSource->getId(), Common::ActorControlType::CastStart,
|
auto control = ActorControlPacket142( m_pSource->getId(), ActorControlType::CastStart,
|
||||||
1, m_id, 0x4000004E );
|
1, m_id, 0x4000004E );
|
||||||
|
|
||||||
if( m_pSource->isPlayer() )
|
if( m_pSource->isPlayer() )
|
||||||
|
@ -77,7 +79,7 @@ void Core::Action::EventAction::onFinish()
|
||||||
if( m_onActionFinishClb )
|
if( m_onActionFinishClb )
|
||||||
m_onActionFinishClb( *m_pSource->getAsPlayer(), m_eventId, m_additional );
|
m_onActionFinishClb( *m_pSource->getAsPlayer(), m_eventId, m_additional );
|
||||||
|
|
||||||
auto control = ActorControlPacket142( m_pSource->getId(), Common::ActorControlType::CastStart, 0, m_id );
|
auto control = ActorControlPacket142( m_pSource->getId(), ActorControlType::CastStart, 0, m_id );
|
||||||
|
|
||||||
if( !pEvent->hasPlayedScene() )
|
if( !pEvent->hasPlayedScene() )
|
||||||
m_pSource->getAsPlayer()->eventFinish( m_eventId, 1 );
|
m_pSource->getAsPlayer()->eventFinish( m_eventId, 1 );
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include <Util/Util.h>
|
#include <Util/Util.h>
|
||||||
#include <Util/UtilMath.h>
|
#include <Util/UtilMath.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
||||||
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
||||||
|
@ -18,6 +19,7 @@ using namespace Core::Common;
|
||||||
using namespace Core::Network;
|
using namespace Core::Network;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
Core::Action::EventItemAction::EventItemAction()
|
Core::Action::EventItemAction::EventItemAction()
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#include <Util/UtilMath.h>
|
#include <Util/UtilMath.h>
|
||||||
#include <Network/PacketContainer.h>
|
#include <Network/PacketContainer.h>
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Forwards.h"
|
#include "Forwards.h"
|
||||||
#include "Action/Action.h"
|
#include "Action/Action.h"
|
||||||
|
@ -29,6 +30,7 @@ extern Core::Framework g_fw;
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
Core::Entity::Chara::Chara( ObjKind type ) :
|
Core::Entity::Chara::Chara( ObjKind type ) :
|
||||||
Actor( type )
|
Actor( type )
|
||||||
|
|
|
@ -7,11 +7,13 @@
|
||||||
#include <Network/GamePacket.h>
|
#include <Network/GamePacket.h>
|
||||||
#include <Network/GamePacketNew.h>
|
#include <Network/GamePacketNew.h>
|
||||||
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
#include <Util/UtilMath.h>
|
#include <Util/UtilMath.h>
|
||||||
|
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
#include "Framework.h"
|
#include "Framework.h"
|
||||||
extern Core::Framework g_fw;
|
extern Core::Framework g_fw;
|
||||||
|
@ -79,7 +81,7 @@ void Core::Entity::EventObject::setState( uint8_t state )
|
||||||
for( const auto& player : m_inRangePlayers )
|
for( const auto& player : m_inRangePlayers )
|
||||||
{
|
{
|
||||||
ZoneChannelPacket< FFXIVIpcActorControl142 > eobjUpdatePacket( getId(), player->getId() );
|
ZoneChannelPacket< FFXIVIpcActorControl142 > eobjUpdatePacket( getId(), player->getId() );
|
||||||
eobjUpdatePacket.data().category = Common::ActorControlType::DirectorEObjMod;
|
eobjUpdatePacket.data().category = ActorControlType::DirectorEObjMod;
|
||||||
eobjUpdatePacket.data().param1 = state;
|
eobjUpdatePacket.data().param1 = state;
|
||||||
|
|
||||||
player->queuePacket( eobjUpdatePacket );
|
player->queuePacket( eobjUpdatePacket );
|
||||||
|
@ -90,7 +92,7 @@ void Core::Entity::EventObject::setAnimationFlag( uint32_t flag, uint32_t animat
|
||||||
for( const auto& player : m_inRangePlayers )
|
for( const auto& player : m_inRangePlayers )
|
||||||
{
|
{
|
||||||
ZoneChannelPacket< FFXIVIpcActorControl142 > eobjUpdatePacket( getId(), player->getId() );
|
ZoneChannelPacket< FFXIVIpcActorControl142 > eobjUpdatePacket( getId(), player->getId() );
|
||||||
eobjUpdatePacket.data().category = Common::ActorControlType::EObjAnimation;
|
eobjUpdatePacket.data().category = ActorControlType::EObjAnimation;
|
||||||
eobjUpdatePacket.data().param1 = flag;
|
eobjUpdatePacket.data().param1 = flag;
|
||||||
eobjUpdatePacket.data().param2 = animationFlag;
|
eobjUpdatePacket.data().param2 = animationFlag;
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
#include <Network/PacketContainer.h>
|
#include <Network/PacketContainer.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Session.h"
|
#include "Session.h"
|
||||||
#include "Player.h"
|
#include "Player.h"
|
||||||
|
@ -45,6 +46,7 @@ extern Core::Framework g_fw;
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
// player constructor
|
// player constructor
|
||||||
Core::Entity::Player::Player() :
|
Core::Entity::Player::Player() :
|
||||||
|
@ -1336,7 +1338,7 @@ void Core::Entity::Player::setTitle( uint16_t titleId )
|
||||||
|
|
||||||
m_activeTitle = titleId;
|
m_activeTitle = titleId;
|
||||||
|
|
||||||
sendToInRangeSet( ActorControlPacket142( getId(), SetTitle, titleId ), true );
|
sendToInRangeSet( ActorControlPacket142( getId(), ActorControlType::SetTitle, titleId ), true );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::Entity::Player::setEquipDisplayFlags( uint8_t state )
|
void Core::Entity::Player::setEquipDisplayFlags( uint8_t state )
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#include <Common.h>
|
#include <Common.h>
|
||||||
#include <Network/GamePacket.h>
|
#include <Network/GamePacket.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Zone/Zone.h"
|
#include "Zone/Zone.h"
|
||||||
|
|
||||||
|
@ -18,6 +19,7 @@ extern Core::Framework g_framework;
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
Core::InventoryPtr Core::Entity::Player::getInventory() const
|
Core::InventoryPtr Core::Entity::Player::getInventory() const
|
||||||
{
|
{
|
||||||
|
@ -26,7 +28,7 @@ Core::InventoryPtr Core::Entity::Player::getInventory() const
|
||||||
|
|
||||||
void Core::Entity::Player::sendItemLevel()
|
void Core::Entity::Player::sendItemLevel()
|
||||||
{
|
{
|
||||||
queuePacket( ActorControlPacket142( getId(), SetItemLevel, getItemLevel(), 0 ) );
|
queuePacket( ActorControlPacket142( getId(), ActorControlType::SetItemLevel, getItemLevel(), 0 ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: This has to be redone and simplified
|
// TODO: This has to be redone and simplified
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include <Network/PacketDef/Ipcs.h>
|
#include <Network/PacketDef/Ipcs.h>
|
||||||
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Actor/Player.h"
|
#include "Actor/Player.h"
|
||||||
|
|
||||||
|
@ -12,6 +13,7 @@
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
Core::Event::Director::Director( Core::Event::Director::DirectorType type, uint16_t contentId ) :
|
Core::Event::Director::Director( Core::Event::Director::DirectorType type, uint16_t contentId ) :
|
||||||
m_contentId( contentId ),
|
m_contentId( contentId ),
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
#include "ItemContainer.h"
|
#include "ItemContainer.h"
|
||||||
#include "Item.h"
|
#include "Item.h"
|
||||||
#include "Framework.h"
|
#include "Framework.h"
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
extern Core::Framework g_fw;
|
extern Core::Framework g_fw;
|
||||||
|
|
||||||
|
@ -22,6 +23,7 @@ using namespace Core::Common;
|
||||||
using namespace Core::Network;
|
using namespace Core::Network;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
Core::Inventory::Inventory( Core::Entity::Player* pOwner )
|
Core::Inventory::Inventory( Core::Entity::Player* pOwner )
|
||||||
{
|
{
|
||||||
|
|
|
@ -66,7 +66,7 @@ Core::Network::GameConnection::GameConnection( Core::Network::HivePtr pHive,
|
||||||
setZoneHandler( ClientZoneIpcType::FcInfoReqHandler, "FcInfoReqHandler", &GameConnection::fcInfoReqHandler );
|
setZoneHandler( ClientZoneIpcType::FcInfoReqHandler, "FcInfoReqHandler", &GameConnection::fcInfoReqHandler );
|
||||||
|
|
||||||
setZoneHandler( ClientZoneIpcType::ZoneLineHandler, "ZoneLineHandler", &GameConnection::zoneLineHandler );
|
setZoneHandler( ClientZoneIpcType::ZoneLineHandler, "ZoneLineHandler", &GameConnection::zoneLineHandler );
|
||||||
setZoneHandler( ClientZoneIpcType::ActionHandler, "ActionHandler", &GameConnection::actionHandler );
|
setZoneHandler( ClientZoneIpcType::ClientActorControl, "ClientActorControl", &GameConnection::clientActorControlHandler );
|
||||||
|
|
||||||
setZoneHandler( ClientZoneIpcType::DiscoveryHandler, "DiscoveryHandler", &GameConnection::discoveryHandler );
|
setZoneHandler( ClientZoneIpcType::DiscoveryHandler, "DiscoveryHandler", &GameConnection::discoveryHandler );
|
||||||
|
|
||||||
|
|
|
@ -98,7 +98,7 @@ public:
|
||||||
DECLARE_HANDLER( updatePositionHandler );
|
DECLARE_HANDLER( updatePositionHandler );
|
||||||
DECLARE_HANDLER( chatHandler );
|
DECLARE_HANDLER( chatHandler );
|
||||||
DECLARE_HANDLER( zoneLineHandler );
|
DECLARE_HANDLER( zoneLineHandler );
|
||||||
DECLARE_HANDLER( actionHandler );
|
DECLARE_HANDLER( clientActorControlHandler );
|
||||||
DECLARE_HANDLER( inventoryModifyHandler );
|
DECLARE_HANDLER( inventoryModifyHandler );
|
||||||
DECLARE_HANDLER( discoveryHandler );
|
DECLARE_HANDLER( discoveryHandler );
|
||||||
DECLARE_HANDLER( eventHandlerTalk );
|
DECLARE_HANDLER( eventHandlerTalk );
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
#include <Network/PacketContainer.h>
|
#include <Network/PacketContainer.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Zone/Zone.h"
|
#include "Zone/Zone.h"
|
||||||
#include "Zone/ZonePosition.h"
|
#include "Zone/ZonePosition.h"
|
||||||
|
@ -17,11 +18,6 @@
|
||||||
#include "Network/PacketWrappers/ChatPacket.h"
|
#include "Network/PacketWrappers/ChatPacket.h"
|
||||||
#include "Network/PacketWrappers/ServerNoticePacket.h"
|
#include "Network/PacketWrappers/ServerNoticePacket.h"
|
||||||
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
#include "Network/PacketWrappers/ActorControlPacket142.h"
|
||||||
#include "Network/PacketWrappers/ActorControlPacket143.h"
|
|
||||||
#include "Network/PacketWrappers/ActorControlPacket144.h"
|
|
||||||
#include "Network/PacketWrappers/EventStartPacket.h"
|
|
||||||
#include "Network/PacketWrappers/EventFinishPacket.h"
|
|
||||||
#include "Network/PacketWrappers/PlayerStateFlagsPacket.h"
|
|
||||||
|
|
||||||
#include "DebugCommand/DebugCommandHandler.h"
|
#include "DebugCommand/DebugCommandHandler.h"
|
||||||
|
|
||||||
|
@ -34,81 +30,16 @@
|
||||||
#include "ServerZone.h"
|
#include "ServerZone.h"
|
||||||
#include "Forwards.h"
|
#include "Forwards.h"
|
||||||
#include "Framework.h"
|
#include "Framework.h"
|
||||||
|
#include <Network/PacketDef/Lobby/ServerLobbyDef.h>
|
||||||
|
|
||||||
extern Core::Framework g_fw;
|
extern Core::Framework g_fw;
|
||||||
|
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
enum ClientTrigger
|
void Core::Network::GameConnection::clientActorControlHandler( const Packets::GamePacket& inPacket,
|
||||||
{
|
|
||||||
ToggleSeathe = 0x01,
|
|
||||||
ToggleAutoAttack = 0x02,
|
|
||||||
ChangeTarget = 0x03,
|
|
||||||
|
|
||||||
Dismount = 0x65,
|
|
||||||
|
|
||||||
RemoveStatusEffect = 0x68,
|
|
||||||
CastCancel = 0x69,
|
|
||||||
|
|
||||||
Return = 0xC8, // return dead / accept raise
|
|
||||||
FinishZoning = 0xC9,
|
|
||||||
Teleport = 0xCA,
|
|
||||||
|
|
||||||
MarkPlayer = 0x12D, // Mark player, visible to party only
|
|
||||||
SetTitle = 0x12E,
|
|
||||||
TitleList = 0x12F,
|
|
||||||
|
|
||||||
UpdatedSeenHowTos = 0x133,
|
|
||||||
AllotAttribute = 0x135,
|
|
||||||
|
|
||||||
ClearWaymarks = 0x13A,
|
|
||||||
|
|
||||||
HuntingLogDetails = 0x194,
|
|
||||||
|
|
||||||
Timers = 0x1AB,
|
|
||||||
|
|
||||||
DyeItem = 0x1B5,
|
|
||||||
|
|
||||||
RequestChocoboInventory = 0x1C4,
|
|
||||||
|
|
||||||
Emote = 0x1F4,
|
|
||||||
PersistantEmoteCancel = 0x1F7,
|
|
||||||
PoseChange = 0x1F9,
|
|
||||||
PoseReapply = 0x1FA,
|
|
||||||
PoseCancel = 0x1FB,
|
|
||||||
|
|
||||||
AchievementCrit = 0x202,
|
|
||||||
AchievementComp = 0x203,
|
|
||||||
AchievementCatChat = 0x206,
|
|
||||||
|
|
||||||
|
|
||||||
DirectorInitFinish = 0x321,
|
|
||||||
|
|
||||||
SomeDirectorEvent = 0x328, // unsure what exactly triggers it, starts director when returning to instance though
|
|
||||||
|
|
||||||
EnterTerritoryEventFinished = 0x330,
|
|
||||||
RequestInstanceLeave = 0x333, // df menu button
|
|
||||||
|
|
||||||
AchievementCritReq = 0x3E8,
|
|
||||||
AchievementList = 0x3E9,
|
|
||||||
|
|
||||||
CompanionAction = 0x6A4,
|
|
||||||
CompanionSetBarding = 0x6A5,
|
|
||||||
CompanionActionUnlock = 0x6A6,
|
|
||||||
|
|
||||||
OpenPerformInstrumentUI = 0x71C,
|
|
||||||
|
|
||||||
StartReplay = 0x7BC,
|
|
||||||
EndReplay = 0x7BD, // request for restoring the original player state (actor, buff, gauge, etc..)
|
|
||||||
|
|
||||||
OpenDuelUI = 0x898, // Open a duel ui
|
|
||||||
DuelRequestResult = 0x899, // either accept/reject
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& inPacket,
|
|
||||||
Entity::Player& player )
|
Entity::Player& player )
|
||||||
{
|
{
|
||||||
auto pLog = g_fw.get< Logger >();
|
auto pLog = g_fw.get< Logger >();
|
||||||
|
@ -131,7 +62,7 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in
|
||||||
|
|
||||||
switch( commandId )
|
switch( commandId )
|
||||||
{
|
{
|
||||||
case ClientTrigger::ToggleSeathe: // Toggle sheathe
|
case ClientActorControlType::ToggleSeathe: // Toggle sheathe
|
||||||
{
|
{
|
||||||
if ( param11 == 1 )
|
if ( param11 == 1 )
|
||||||
player.setStance( Entity::Chara::Stance::Active );
|
player.setStance( Entity::Chara::Stance::Active );
|
||||||
|
@ -145,7 +76,7 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::ToggleAutoAttack: // Toggle auto-attack
|
case ClientActorControlType::ToggleAutoAttack: // Toggle auto-attack
|
||||||
{
|
{
|
||||||
if ( param11 == 1 )
|
if ( param11 == 1 )
|
||||||
{
|
{
|
||||||
|
@ -159,51 +90,51 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::ChangeTarget: // Change target
|
case ClientActorControlType::ChangeTarget: // Change target
|
||||||
{
|
{
|
||||||
|
|
||||||
uint64_t targetId = inPacket.getValAt< uint64_t >( 0x24 );
|
uint64_t targetId = inPacket.getValAt< uint64_t >( 0x24 );
|
||||||
player.changeTarget( targetId );
|
player.changeTarget( targetId );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::Dismount:
|
case ClientActorControlType::DismountReq:
|
||||||
{
|
{
|
||||||
player.dismount();
|
player.dismount();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::RemoveStatusEffect: // Remove status (clicking it off)
|
case ClientActorControlType::RemoveStatusEffect: // Remove status (clicking it off)
|
||||||
{
|
{
|
||||||
// todo: check if status can be removed by client from exd
|
// todo: check if status can be removed by client from exd
|
||||||
player.removeSingleStatusEffectById( static_cast< uint32_t >( param1 ) );
|
player.removeSingleStatusEffectById( static_cast< uint32_t >( param1 ) );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::CastCancel: // Cancel cast
|
case ClientActorControlType::CastCancel: // Cancel cast
|
||||||
{
|
{
|
||||||
if( player.getCurrentAction() )
|
if( player.getCurrentAction() )
|
||||||
player.getCurrentAction()->setInterrupted();
|
player.getCurrentAction()->setInterrupted();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::MarkPlayer: // Mark player
|
case ClientActorControlType::MarkPlayer: // Mark player
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::SetTitle: // Set player title
|
case ClientActorControlType::SetTitleReq: // Set player title
|
||||||
{
|
{
|
||||||
player.setTitle( static_cast< uint16_t >( param1 ) );
|
player.setTitle( static_cast< uint16_t >( param1 ) );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::TitleList: // Get title list
|
case ClientActorControlType::TitleList: // Get title list
|
||||||
{
|
{
|
||||||
player.sendTitleList();
|
player.sendTitleList();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::UpdatedSeenHowTos: // Update howtos seen
|
case ClientActorControlType::UpdatedSeenHowTos: // Update howtos seen
|
||||||
{
|
{
|
||||||
uint32_t howToId = param11;
|
uint32_t howToId = param11;
|
||||||
player.updateHowtosSeen( howToId );
|
player.updateHowtosSeen( howToId );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::Emote: // emote
|
case ClientActorControlType::EmoteReq: // emote
|
||||||
{
|
{
|
||||||
uint64_t targetId = player.getTargetId();
|
uint64_t targetId = player.getTargetId();
|
||||||
uint32_t emoteId = inPacket.getValAt< uint32_t >( 0x24 );
|
uint32_t emoteId = inPacket.getValAt< uint32_t >( 0x24 );
|
||||||
|
@ -211,23 +142,23 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in
|
||||||
player.emote( emoteId, targetId );
|
player.emote( emoteId, targetId );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::PersistantEmoteCancel: // cancel persistant emote
|
case ClientActorControlType::PersistantEmoteCancel: // cancel persistant emote
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::PoseChange: // change pose
|
case ClientActorControlType::PoseChange: // change pose
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::PoseReapply: // reapply pose
|
case ClientActorControlType::PoseReapply: // reapply pose
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::PoseCancel: // cancel pose
|
case ClientActorControlType::PoseCancel: // cancel pose
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::Return: // return dead / accept raise
|
case ClientActorControlType::Return: // return dead / accept raise
|
||||||
{
|
{
|
||||||
switch ( static_cast < ResurrectType >( param1 ) )
|
switch ( static_cast < ResurrectType >( param1 ) )
|
||||||
{
|
{
|
||||||
|
@ -243,38 +174,38 @@ void Core::Network::GameConnection::actionHandler( const Packets::GamePacket& in
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
case ClientTrigger::FinishZoning: // Finish zoning
|
case ClientActorControlType::FinishZoning: // Finish zoning
|
||||||
{
|
{
|
||||||
player.finishZoning();
|
player.finishZoning();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case ClientTrigger::Teleport: // Teleport
|
case ClientActorControlType::Teleport: // Teleport
|
||||||
{
|
{
|
||||||
|
|
||||||
player.teleportQuery( param11 );
|
player.teleportQuery( param11 );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::DyeItem: // Dye item
|
case ClientActorControlType::DyeItem: // Dye item
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::DirectorInitFinish: // Director init finish
|
case ClientActorControlType::DirectorInitFinish: // Director init finish
|
||||||
{
|
{
|
||||||
player.getCurrentZone()->onInitDirector( player );
|
player.getCurrentZone()->onInitDirector( player );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::SomeDirectorEvent: // Director init finish
|
case ClientActorControlType::SomeDirectorEvent: // Director init finish
|
||||||
{
|
{
|
||||||
player.getCurrentZone()->onSomeDirectorEvent( player );
|
player.getCurrentZone()->onSomeDirectorEvent( player );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::EnterTerritoryEventFinished:// this may still be something else. I think i have seen it elsewhere
|
case ClientActorControlType::EnterTerritoryEventFinished:// this may still be something else. I think i have seen it elsewhere
|
||||||
{
|
{
|
||||||
player.setOnEnterEventDone( true );
|
player.setOnEnterEventDone( true );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case ClientTrigger::RequestInstanceLeave:
|
case ClientActorControlType::RequestInstanceLeave:
|
||||||
{
|
{
|
||||||
// todo: apply cf penalty if applicable, make sure player isnt in combat
|
// todo: apply cf penalty if applicable, make sure player isnt in combat
|
||||||
player.exitInstance();
|
player.exitInstance();
|
|
@ -5,6 +5,7 @@
|
||||||
#include <Network/GamePacketNew.h>
|
#include <Network/GamePacketNew.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
#include <Network/PacketContainer.h>
|
#include <Network/PacketContainer.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include <unordered_map>
|
#include <unordered_map>
|
||||||
|
|
||||||
|
@ -36,6 +37,7 @@ extern Core::Framework g_fw;
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
enum GmCommand
|
enum GmCommand
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
#include <Common.h>
|
#include <Common.h>
|
||||||
#include <Network/CommonNetwork.h>
|
#include <Network/CommonNetwork.h>
|
||||||
#include <Network/GamePacketNew.h>
|
#include <Network/GamePacketNew.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
#include <Network/PacketContainer.h>
|
#include <Network/PacketContainer.h>
|
||||||
#include <Network/PacketDef/Chat/ServerChatDef.h>
|
#include <Network/PacketDef/Chat/ServerChatDef.h>
|
||||||
|
@ -44,6 +45,7 @@ extern Core::Framework g_fw;
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
void Core::Network::GameConnection::fcInfoReqHandler( const Packets::GamePacket& inPacket,
|
void Core::Network::GameConnection::fcInfoReqHandler( const Packets::GamePacket& inPacket,
|
||||||
Entity::Player& player )
|
Entity::Player& player )
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
#include <Network/GamePacketNew.h>
|
#include <Network/GamePacketNew.h>
|
||||||
#include <Network/PacketContainer.h>
|
#include <Network/PacketContainer.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
#include <Logging/Logger.h>
|
#include <Logging/Logger.h>
|
||||||
|
|
||||||
#include "Network/GameConnection.h"
|
#include "Network/GameConnection.h"
|
||||||
|
@ -32,6 +33,7 @@ extern Core::Framework g_fw;
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inPacket,
|
void Core::Network::GameConnection::skillHandler( const Packets::GamePacket& inPacket,
|
||||||
Entity::Player& player )
|
Entity::Player& player )
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
#include <Util/Util.h>
|
#include <Util/Util.h>
|
||||||
#include <Util/UtilMath.h>
|
#include <Util/UtilMath.h>
|
||||||
#include <Exd/ExdDataGenerated.h>
|
#include <Exd/ExdDataGenerated.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
|
|
||||||
#include "Event/Director.h"
|
#include "Event/Director.h"
|
||||||
#include "Event/EventDefs.h"
|
#include "Event/EventDefs.h"
|
||||||
|
@ -26,6 +27,7 @@ extern Core::Framework g_fw;
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
Core::InstanceContent::InstanceContent( boost::shared_ptr< Core::Data::InstanceContent > pInstanceConfiguration,
|
Core::InstanceContent::InstanceContent( boost::shared_ptr< Core::Data::InstanceContent > pInstanceConfiguration,
|
||||||
uint32_t guId,
|
uint32_t guId,
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
#include <Network/CommonNetwork.h>
|
#include <Network/CommonNetwork.h>
|
||||||
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
#include <Network/PacketDef/Zone/ServerZoneDef.h>
|
||||||
#include <Network/PacketContainer.h>
|
#include <Network/PacketContainer.h>
|
||||||
|
#include <Network/CommonActorControl.h>
|
||||||
#include <Database/DatabaseDef.h>
|
#include <Database/DatabaseDef.h>
|
||||||
#include <Network/PacketWrappers/ActorControlPacket143.h>
|
#include <Network/PacketWrappers/ActorControlPacket143.h>
|
||||||
|
|
||||||
|
@ -39,10 +40,10 @@
|
||||||
using namespace Core::Common;
|
using namespace Core::Common;
|
||||||
using namespace Core::Network::Packets;
|
using namespace Core::Network::Packets;
|
||||||
using namespace Core::Network::Packets::Server;
|
using namespace Core::Network::Packets::Server;
|
||||||
|
using namespace Core::Network::ActorControl;
|
||||||
|
|
||||||
extern Core::Framework g_fw;
|
extern Core::Framework g_fw;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief
|
* \brief
|
||||||
*/
|
*/
|
||||||
|
@ -142,7 +143,7 @@ void Core::Zone::setCurrentFestival( uint16_t festivalId )
|
||||||
{
|
{
|
||||||
auto player = playerEntry.second;
|
auto player = playerEntry.second;
|
||||||
|
|
||||||
ActorControlPacket143 enableFestival( player->getId(), SetFestival, m_currentFestivalId );
|
ActorControlPacket143 enableFestival( player->getId(), ActorControlType::SetFestival, m_currentFestivalId );
|
||||||
playerEntry.second->queuePacket( enableFestival );
|
playerEntry.second->queuePacket( enableFestival );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue