#ifndef OBJECT_UNIT_H #define OBJECT_UNIT_H struct CGUnit { } DECLARE_STRUCT(CGUnit_C); DECLARE_STRUCT(CGUnit); struct __cppobj __declspec(align(8)) CGUnit_C : CGObject_C, CGUnit { int m_questCountKilled; int m_questCountNeeded; HMODEL__ *m_resEffectModel; unsigned __int64 m_meleeTargetDeathHold; int m_precastSheatheHoldTimer; int m_customAttackSound; NTempest::C3Vector m_customAttackPosition; unsigned int m_splashSoundID; unsigned int m_disengageLookAtTimer; TSGrowableArray m_animEndCallbackList; ANIMENDDATA *m_callbackList[135]; CreatureStats_C *m_stats; CreatureDisplayInfoRec *m_displayInfo; CreatureDisplayInfoExtraRec *m_displayInfoExtra; CreatureModelDataRec *m_modelData; CreatureSoundDataRec *m_soundData; CreatureSoundDataRec *m_mountedSoundData; UnitBloodLevelsRec *m_bloodRec; AuraVisual m_auraVisual[12]; TSList > m_activeAuraInfo; ANIMENUMERATION m_pendingImpactAnim; HMODEL__ *m_tempCharModel; TSGrowableArray m_deathHoldBuffer; TSGrowableArray m_deathHoldBufferIndices; int m_lastDeathTime; int m_nextDeathHoldCheckTime; TSGrowableArray m_emoteQueue; HMODEL__ *m_interactIconModel; TSList > m_bloodSplatNodes; unsigned int m_nextAllowableBloodPool; TSList > m_animQueue; CCombatClient m_combat; ANIMQUEUENODE *m_currentDamageInfo; unsigned int m_readySequence; unsigned int m_animEndTime; unsigned int m_animBaseDuration; unsigned int m_animStartTime; unsigned int m_flags; unsigned int m_animFlags; unsigned int m_footprintTextureID; unsigned int m_terrain; NTempest::C2Vector m_footprintSize; float m_footprintParticleScale; DEBUGHITROLLINFO m_hitInformation; ANIMENUMERATION m_spellPrecastingAnim; ANIMENUMERATION m_spellCastingAnim; ANIMENUMERATION m_deferredPrecastAnim; int m_animatingAura; unsigned int m_emoteID; unsigned int m_spellCastingEffectKit; unsigned int m_spellCastingSoundID; int m_spellCastingCameraShakeID; MISSILESTRUCT m_spellMissileStruct; float m_lastSentFacing; float m_lastSentPitch; HPLAYERNAME__ *m_unitNameHandle; int m_accumulatedXPDrop; int m_castingSpell; int m_interruptedSpell; int m_lastSpellCastAnimTime; int m_nextBreath; int m_nextMountBreath; int m_scriptRegistered; float m_displayFacing; float m_smoothFacing; float m_savedFacingDeltas[4]; float m_forcedDisplayFacing; unsigned int m_deathTime; unsigned __int64 m_lastCombatTarget; unsigned __int64 m_targetUnit; unsigned int m_currentBaseAnimState; unsigned int m_currentBaseAnim; unsigned int m_currentTorsoAnimState; unsigned int m_currentTorsoAnim; unsigned int m_currentMountAnimState; unsigned int m_currentWoundStartTime; unsigned int m_currentWoundAnimDuration; unsigned int m_spellFizzleTimer; unsigned int m_deathHolds; QUEST_GIVER_STATUS m_questGiverStatus; NTempest::C3Vector m_serverLoc; TSGrowableArray m_debugPathPoints; unsigned int m_numDebugPathNodes; Sound *m_spellLoopedSound; Sound *m_creatureLoopSound; unsigned int m_mountedFootprintID; NTempest::C2Vector m_mountedFootprintSize; HMODEL__ *m_fadingPureMountModel; PUREMOUNTFADEMODE m_pureMountFadeMode; unsigned int m_pureMountFadeStartTime; float m_fadingMountFacing; NTempest::C3Vector m_fadingMountPos; float m_fadingMountScale; NPCSoundsRec *m_NPCSoundsRec; unsigned int m_lastGlobalClickCount; unsigned int m_pissedCount; unsigned int m_numNPCPissedSounds; HCHARGEOSET__ *m_geosetHandle; HTEXCOMPONENT__ *m_texComponent; unsigned int m_preferredGeosets[15]; int m_displayHealth; TSList > m_impactEffectsDesc; TSList > m_spellEffectLists[11]; NTempest::C3iVector m_currentEmissive; int m_pendingHitSpellID; TSGrowableArray m_pendingHitAnimVictims; int m_auraFlags[56]; int m_walkStateAnim; int m_standStateAnim; float m_baseRadius; unsigned int m_ammoDisplayID; unsigned int m_ammoInvType; unsigned int m_rangedStandTimer; ACTIVEATTACHMENTINFO *m_attachments[5]; ACTIVEATTACHMENTINFO *m_deferredAttachments[5]; int m_weaponTrails[5]; HMODEL__ *m_paperDollModel; int m_sheatheReasons; ANIMENUMERATION m_handAnim[2]; unsigned int m_deferredSheatheFlags; SHEATHEREASONS m_deferredSheatheReason; int m_savedChannelSpellID; TSGrowableArray m_savedChannelSpellTargets; SPELLEFFECTDESC *m_channelSpellEffect; SpellRec *m_shapeShiftPoof; FishingLineObject *m_fishingLineObject; }; #endif