diff options
Diffstat (limited to 'src/game/GameObject.h')
| -rw-r--r-- | src/game/GameObject.h | 48 | 
1 files changed, 26 insertions, 22 deletions
diff --git a/src/game/GameObject.h b/src/game/GameObject.h index 2eb51a6fbe4..07f6c5a4362 100644 --- a/src/game/GameObject.h +++ b/src/game/GameObject.h @@ -1,7 +1,7 @@  /* - * Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/> + * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>   * - * Copyright (C) 2008 Trinity <http://www.trinitycore.org/> + * Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of the GNU General Public License as published by @@ -336,12 +336,12 @@ struct GameObjectInfo              uint32 mapID;                                   //0              uint32 difficulty;                              //1          } dungeonDifficulty; -        //32 GAMEOBJECT_TYPE_DO_NOT_USE_YET +        //32 GAMEOBJECT_TYPE_BARBER_CHAIR          struct          { -            uint32 mapID;                                   //0 -            uint32 difficulty;                              //1 -        } doNotUseYet; +            uint32 chairheight;                             //0 +            uint32 heightOffset;                            //1 +        } barberChair;          //33 GAMEOBJECT_TYPE_DESTRUCTIBLE_BUILDING          struct          { @@ -350,6 +350,13 @@ struct GameObjectInfo              uint32 state1Name;                              //2              uint32 state2Name;                              //3          } destructibleBuilding; +        //34 GAMEOBJECT_TYPE_TRAPDOOR +        struct +        { +            uint32 whenToPause;                             // 0 +            uint32 startOpen;                               // 1 +            uint32 autoClose;                               // 2 +        } trapDoor;          // not use for specific field access (only for output with loop by all filed), also this determinate max union size          struct                                              // GAMEOBJECT_TYPE_SPELLCASTER @@ -370,7 +377,8 @@ struct GameObjectLocale  struct GameObjectData  {      uint32 id;                                              // entry in gamobject_template -    uint32 mapid; +    uint16 mapid; +    uint16 phaseMask;      float posX;      float posY;      float posZ; @@ -419,7 +427,7 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject          void AddToWorld();          void RemoveFromWorld(); -        bool Create(uint32 guidlow, uint32 name_id, Map *map, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 animprogress, uint32 go_state, uint32 ArtKit = 0); +        bool Create(uint32 guidlow, uint32 name_id, Map *map, uint32 phaseMask, float x, float y, float z, float ang, float rotation0, float rotation1, float rotation2, float rotation3, uint32 animprogress, uint32 go_state, uint32 ArtKit = 0);          void Update(uint32 p_time);          static GameObject* GetGameObject(WorldObject& object, uint64 guid);          GameObjectInfo const* GetGOInfo() const; @@ -436,10 +444,6 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject          uint32 GetDBTableGUIDLow() const { return m_DBTableGuid; } -        void Say(const char* text, uint32 language, uint64 TargetGuid) { MonsterSay(text,language,TargetGuid); } -        void Yell(const char* text, uint32 language, uint64 TargetGuid) { MonsterYell(text,language,TargetGuid); } -        void TextEmote(const char* text, uint64 TargetGuid) { MonsterTextEmote(text,TargetGuid); } -        void Whisper(const char* text,uint64 receiver) { MonsterWhisper(text,receiver); }          void Say(int32 textId, uint32 language, uint64 TargetGuid) { MonsterSay(textId,language,TargetGuid); }          void Yell(int32 textId, uint32 language, uint64 TargetGuid) { MonsterYell(textId,language,TargetGuid); }          void TextEmote(int32 textId, uint64 TargetGuid) { MonsterTextEmote(textId,TargetGuid); } @@ -449,7 +453,7 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject          const char* GetNameForLocaleIdx(int32 locale_idx) const;          void SaveToDB(); -        void SaveToDB(uint32 mapid, uint8 spawnMask); +        void SaveToDB(uint32 mapid, uint8 spawnMask, uint32 phaseMask);          bool LoadFromDB(uint32 guid, Map *map);          void DeleteFromDB();          void SetLootState(LootState s) { m_lootState = s; } @@ -503,15 +507,15 @@ class TRINITY_DLL_SPEC GameObject : public WorldObject          void Delete();          void SetSpellId(uint32 id) { m_spellId = id;}          uint32 GetSpellId() const { return m_spellId;} -        void getFishLoot(Loot *loot); -        GameobjectTypes GetGoType() const { return GameobjectTypes(GetUInt32Value(GAMEOBJECT_TYPE_ID)); } -        void SetGoType(GameobjectTypes type) { SetUInt32Value(GAMEOBJECT_TYPE_ID, type); } -        uint32 GetGoState() const { return GetUInt32Value(GAMEOBJECT_STATE); } -        void SetGoState(uint32 state) { SetUInt32Value(GAMEOBJECT_STATE, state); } -        uint32 GetGoArtKit() const { return GetUInt32Value(GAMEOBJECT_ARTKIT); } -        void SetGoArtKit(uint32 artkit); -        uint32 GetGoAnimProgress() const { return GetUInt32Value(GAMEOBJECT_ANIMPROGRESS); } -        void SetGoAnimProgress(uint32 animprogress) { SetUInt32Value(GAMEOBJECT_ANIMPROGRESS, animprogress); } +        void getFishLoot(Loot *loot, Player* loot_owner); +        GameobjectTypes GetGoType() const { return GameobjectTypes(GetByteValue(GAMEOBJECT_BYTES_1, 1)); } +        void SetGoType(GameobjectTypes type) { SetByteValue(GAMEOBJECT_BYTES_1, 1, type); } +        uint8 GetGoState() const { return GetByteValue(GAMEOBJECT_BYTES_1, 0); } +        void SetGoState(uint8 state) { SetByteValue(GAMEOBJECT_BYTES_1, 0, state); } +        uint8 GetGoArtKit() const { return GetByteValue(GAMEOBJECT_BYTES_1, 2); } +        void SetGoArtKit(uint8 artkit); +        uint8 GetGoAnimProgress() const { return GetByteValue(GAMEOBJECT_BYTES_1, 3); } +        void SetGoAnimProgress(uint8 animprogress) { SetByteValue(GAMEOBJECT_BYTES_1, 3, animprogress); }          void Use(Unit* user);  | 
