[m] minor doxygen updates

This commit is contained in:
billy1arm 2013-06-27 22:38:56 +01:00 committed by Antz
parent 34b5dda651
commit 454fbe5ef9
2 changed files with 241 additions and 243 deletions

View file

@ -33,7 +33,7 @@ class WorldObject;
enum EventAI_Type
{
EVENT_T_TIMER = 0, // InitialMin, InitialMax, RepeatMin, RepeatMax
EVENT_T_TIMER_IN_COMBAT = 0, // InitialMin, InitialMax, RepeatMin, RepeatMax
EVENT_T_TIMER_OOC = 1, // InitialMin, InitialMax, RepeatMin, RepeatMax
EVENT_T_HP = 2, // HPMax%, HPMin%, RepeatMin, RepeatMax
EVENT_T_MANA = 3, // ManaMax%,ManaMin% RepeatMin, RepeatMax
@ -62,6 +62,7 @@ enum EventAI_Type
EVENT_T_SUMMONED_JUST_DESPAWN = 26, // CreatureId, RepeatMin, RepeatMax
EVENT_T_MISSING_AURA = 27, // Param1 = SpellID, Param2 = Number of time stacked expected, Param3/4 Repeat Min/Max
EVENT_T_TARGET_MISSING_AURA = 28, // Param1 = SpellID, Param2 = Number of time stacked expected, Param3/4 Repeat Min/Max
EVENT_T_TIMER_GENERIC = 29, // InitialMin, InitialMax, RepeatMin, RepeatMax
EVENT_T_END,
};
@ -130,15 +131,11 @@ enum Target
// Invoker targets (if pet then returns pet owner)
TARGET_T_ACTION_INVOKER, // Unit who caused this Event to occur (only works for EVENT_T_AGGRO, EVENT_T_KILL, EVENT_T_DEATH, EVENT_T_SPELLHIT, EVENT_T_OOC_LOS, EVENT_T_FRIENDLY_HP, EVENT_T_FRIENDLY_IS_CC, EVENT_T_FRIENDLY_MISSING_BUFF)
TARGET_T_ACTION_INVOKER_OWNER, // Unit who is responsible for Event to occur (only works for EVENT_T_AGGRO, EVENT_T_KILL, EVENT_T_DEATH, EVENT_T_SPELLHIT, EVENT_T_OOC_LOS, EVENT_T_FRIENDLY_HP, EVENT_T_FRIENDLY_IS_CC, EVENT_T_FRIENDLY_MISSING_BUFF)
// Hostile targets (including pets)
TARGET_T_HOSTILE_WPET, // Current target (can be a pet)
TARGET_T_HOSTILE_WPET_SECOND_AGGRO, // Second highest aggro (generaly used for cleaves and some special attacks)
TARGET_T_HOSTILE_WPET_LAST_AGGRO, // Dead last on aggro (no idea what this could be used for)
TARGET_T_HOSTILE_WPET_RANDOM, // Just any random target on our threat list
TARGET_T_HOSTILE_WPET_RANDOM_NOT_TOP, // Any random target except top threat
TARGET_T_ACTION_INVOKER_WPET,
TARGET_T_HOSTILE_RANDOM_PLAYER, // Just any random player on our threat list
TARGET_T_HOSTILE_RANDOM_NOT_TOP_PLAYER, // Any random player from threat list except top threat
TARGET_T_END
};
@ -419,8 +416,9 @@ struct CreatureEventAI_Event
union
{
// EVENT_T_TIMER = 0
// EVENT_T_TIMER_IN_COMBAT = 0
// EVENT_T_TIMER_OOC = 1
// EVENT_T_TIMER_GENERIC = 29
struct
{
uint32 initialMin;
@ -616,10 +614,9 @@ class MANGOS_DLL_SPEC CreatureEventAI : public CreatureAI
void ProcessAction(CreatureEventAI_Action const& action, uint32 rnd, uint32 EventId, Unit* pActionInvoker);
inline uint32 GetRandActionParam(uint32 rnd, uint32 param1, uint32 param2, uint32 param3);
inline int32 GetRandActionParam(uint32 rnd, int32 param1, int32 param2, int32 param3);
inline Unit* GetTargetByType(uint32 Target, Unit* pActionInvoker);
inline Unit* GetTargetByType(uint32 Target, Unit* pActionInvoker, uint32 forSpellId = 0, uint32 selectFlags = 0);
void DoScriptText(int32 textEntry, WorldObject* pSource, Unit* target);
bool CanCast(Unit* Target, SpellEntry const* Spell, bool Triggered);
bool SpawnedEventConditionsCheck(CreatureEventAI_Event const& event);
@ -637,10 +634,7 @@ class MANGOS_DLL_SPEC CreatureEventAI : public CreatureAI
CreatureEventAIList m_CreatureEventAIList; // Holder for events (stores enabled, time, and eventid)
uint8 m_Phase; // Current phase, max 32 phases
bool m_CombatMovementEnabled; // If we allow targeted movment gen (movement twoards top threat)
bool m_MeleeEnabled; // If we allow melee auto attack
float m_AttackDistance; // Distance to attack from
float m_AttackAngle; // Angle of attack
uint32 m_InvinceabilityHpLevel; // Minimal health level allowed at damage apply
};

View file

@ -372,33 +372,33 @@ struct GameObjectInfo
uint32 chairheight; //0
uint32 heightOffset; //1
} barberChair;
//33 GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING
//33 GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING // Much guesswork
struct
{
uint32 intactNumHits; //0
uint32 creditProxyCreature; //1
uint32 empty1; //2
uint32 intactEvent; //3
uint32 empty2; //4
uint32 damagedDisplayId; //4
uint32 damagedNumHits; //5
uint32 empty3; //6
uint32 empty4; //7
uint32 empty5; //8
uint32 unk1; //6
uint32 unk2; //7
uint32 unk3; //8
uint32 damagedEvent; //9
uint32 empty6; //10
uint32 empty7; //11
uint32 empty8; //12
uint32 empty9; //13
uint32 destroyedDisplayId; //10
uint32 unk4; //11
uint32 unk5; //12
uint32 unk6; //13
uint32 destroyedEvent; //14
uint32 empty10; //15
uint32 debuildingTimeSecs; //16
uint32 debuildingTimeSecs; //16 // unk, only few with value 300)
uint32 empty11; //17
uint32 destructibleData; //18
uint32 rebuildingEvent; //19
uint32 empty12; //20
uint32 destructibleData; //18 m_ID of DestructibleModelData.DBC
uint32 empty12; //19
uint32 unk7; //20
uint32 empty13; //21
uint32 damageEvent; //22
uint32 empty14; //23
uint32 rebuildingEvent; //22
uint32 unk8; //23
} destructibleBuilding;
//34 GAMEOBJECT_TYPE_GUILDBANK - empty
//35 GAMEOBJECT_TYPE_TRAPDOOR
@ -533,17 +533,6 @@ struct GameObjectInfo
default: return 0;
}
}
uint32 GetEventScriptId() const
{
switch (type)
{
case GAMEOBJECT_TYPE_GOOBER: return goober.eventId;
case GAMEOBJECT_TYPE_CHEST: return chest.eventId;
case GAMEOBJECT_TYPE_CAMERA: return camera.eventID;
default: return 0;
}
}
};
// GCC have alternative #pragma pack() syntax and old gcc version not support pack(pop), also any gcc version not support it at some platform
@ -635,6 +624,7 @@ enum CapturePointSlider
};
class Unit;
class GameObjectModel;
struct GameObjectDisplayInfoEntry;
// 5 sec for bobber catch
@ -723,20 +713,21 @@ class MANGOS_DLL_SPEC GameObject : public WorldObject
GameobjectTypes GetGoType() const { return GameobjectTypes(GetByteValue(GAMEOBJECT_BYTES_1, 1)); }
void SetGoType(GameobjectTypes type) { SetByteValue(GAMEOBJECT_BYTES_1, 1, type); }
GOState GetGoState() const { return GOState(GetByteValue(GAMEOBJECT_BYTES_1, 0)); }
void SetGoState(GOState state) { SetByteValue(GAMEOBJECT_BYTES_1, 0, state); }
void SetGoState(GOState state);
uint8 GetGoArtKit() const { return GetByteValue(GAMEOBJECT_BYTES_1, 2); }
void SetGoArtKit(uint8 artkit) { SetByteValue(GAMEOBJECT_BYTES_1, 2, artkit); }
uint8 GetGoAnimProgress() const { return GetByteValue(GAMEOBJECT_BYTES_1, 3); }
void SetGoAnimProgress(uint8 animprogress) { SetByteValue(GAMEOBJECT_BYTES_1, 3, animprogress); }
uint32 GetDisplayId() const { return GetUInt32Value(GAMEOBJECT_DISPLAYID); }
void SetDisplayId(uint32 modelId);
void SetPhaseMask(uint32 newPhaseMask, bool update);
float GetObjectBoundingRadius() const override; // overwrite WorldObject version
void Use(Unit* user);
LootState getLootState() const { return m_lootState; }
void SetLootState(LootState s) { m_lootState = s; }
void SetLootState(LootState s);
void AddToSkillupList(Player* player);
bool IsInSkillupList(Player* player) const;
@ -759,7 +750,6 @@ class MANGOS_DLL_SPEC GameObject : public WorldObject
// Loot System
Loot loot;
void getFishLoot(Loot* loot, Player* loot_owner);
void StartGroupLoot(Group* group, uint32 timer) override;
ObjectGuid GetLootRecipientGuid() const { return m_lootRecipientGuid; }
@ -784,8 +774,17 @@ class MANGOS_DLL_SPEC GameObject : public WorldObject
void SummonLinkedTrapIfAny();
void TriggerLinkedGameObject(Unit* target);
// Destructible GO handling
void DealGameObjectDamage(uint32 damage, uint32 spell, Unit* caster);
void RebuildGameObject(uint32 spell, Unit* caster);
void ForceGameObjectHealth(int32 diff, Unit* caster);
uint32 GetHealth() const { return m_useTimes; }
uint32 GetMaxHealth() const { return m_goInfo->destructibleBuilding.intactNumHits + m_goInfo->destructibleBuilding.damagedNumHits; }
bool isVisibleForInState(Player const* u, WorldObject const* viewPoint, bool inVisibleList) const override;
bool IsCollisionEnabled() const; // Check if a go should collide. Like if a door is closed
GameObject* LookupFishingHoleAround(float range);
void SetCapturePointSlider(float value);
@ -793,6 +792,8 @@ class MANGOS_DLL_SPEC GameObject : public WorldObject
GridReference<GameObject>& GetGridRef() { return m_gridRef; }
GameObjectModel* m_model;
protected:
uint32 m_spellId;
time_t m_respawnTime; // (secs) time of next respawn (or despawn if GO have owner()),
@ -808,7 +809,7 @@ class MANGOS_DLL_SPEC GameObject : public WorldObject
GuidSet m_SkillupSet; // players that already have skill-up at GO use
uint32 m_useTimes; // amount uses/charges triggered
uint32 m_useTimes; // amount uses/charges triggered - also used for health for DESTRUCTIBLE_BUILDING
// collected only for GAMEOBJECT_TYPE_SUMMONING_RITUAL
ObjectGuid m_firstUser; // first GO user, in most used cases owner, but in some cases no, for example non-summoned multi-use GAMEOBJECT_TYPE_SUMMONING_RITUAL
@ -829,7 +830,10 @@ class MANGOS_DLL_SPEC GameObject : public WorldObject
private:
void SwitchDoorOrButton(bool activate, bool alternative = false);
void TickCapturePoint();
void UpdateModel(); // updates model in case displayId were changed
void UpdateCollisionState() const; // updates state in Map's dynamic collision tree
GridReference<GameObject> m_gridRef;
};
#endif