diff --git a/src/common/Common.h b/src/common/Common.h index bd041266..2edae98e 100644 --- a/src/common/Common.h +++ b/src/common/Common.h @@ -1085,20 +1085,100 @@ namespace Sapphire::Common RequireCorrectPositional = 2, }; + enum class AstCardType : uint8_t + { + None = 0, + Balance = 1, + Bole = 2, + Arrow = 3, + Spear = 4, + Ewer = 5, + Spire = 6, + Lord = 0x70, + Lady = 0x80, + }; + + enum class AstSealType : uint8_t + { + None = 0, + Sun = 1, + Moon = 2, + Celestrial = 3, + }; + + enum class DrgState : uint8_t + { + None = 0, + BloodOfTheDragon = 1, + LifeOfTheDragon = 2, + }; + + enum class SamSen : uint8_t + { + None = 0, + Setsu = 1, + Getsu = 2, + Ka = 4, + }; + + enum class SchDismissedFairy : uint8_t + { + None = 0, + Eos = 6, + Selene = 7, + }; + + enum class SmnPet : uint8_t + { + None = 0, + Ifrit = 3, + Titan = 4, + Garuda = 5, + }; + + enum class SmnPetGlam : uint8_t + { + None = 0, + Emerald = 1, + Topaz = 2, + Ruby = 3, + }; + union JobGauge { struct { uint8_t gauge_data[15]; } _raw; + struct { - uint8_t beastGauge; - } war; + uint32_t unused; + AstCardType card; + AstSealType seals[3]; + } ast; struct { - uint8_t oathGauge; - } pld; + uint16_t timeUntilNextPolyglot; + uint16_t elementTimer; + uint8_t elementStance; + uint8_t umbralhearts; + uint8_t polyglotStacks; + uint8_t enochainState; + } blm; + struct + { + uint8_t feathers; + uint8_t esprit; + uint8_t stepOrder[4]; + uint8_t completeSteps; + } dnc; + struct + { + uint16_t dragonTimer; + DrgState dragonState; + uint8_t eyes; + } drg; struct { uint8_t blood; @@ -1107,6 +1187,68 @@ namespace Sapphire::Common uint16_t shadowTimeRemaining; } drk; struct + { + uint8_t ammo; + uint16_t maxTimerDuration; // what is this? + uint8_t ammoComboStep; + } gnb; + struct + { + uint16_t overheatTimer; + uint16_t robotTimer; + uint8_t heat; + uint8_t battery; + uint8_t lastRobotBatteryPower; + uint8_t activeTimerFlag; + } mch; + struct + { + uint8_t greasedLightningTimer; + uint8_t greasedLightningStacks; + uint8_t chakra; + uint8_t greasedLightningTimerFreezed; + } mnk; + struct + { + uint32_t hutonTimer; + uint8_t tenChiJinMudrasUsed; + uint8_t ninki; + uint8_t hutonManualCasts; + } nin; + struct + { + uint8_t oathGauge; + } pld; + struct + { + uint8_t whiteGauge; + uint8_t blackGauge; + } rdm; + struct + { + uint8_t kenki; + SamSen senFlag; + } sam; + struct + { + uint8_t aetherflowStacks; + uint8_t fairyGauge; + uint8_t seraphTimer; + SchDismissedFairy dismissedFairy; + } sch; + struct + { + uint16_t timer; + SmnPet returnSummon; + SmnPetGlam petGlam; + uint8_t stacks; + } smn; + + struct + { + uint8_t beastGauge; + } war; + struct { uint16_t lilyTimer; uint8_t lilies;