diff options
| author | Giacomo Pozzoni <giacomopoz@gmail.com> | 2020-07-14 07:34:03 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-07-14 09:34:03 +0200 |
| commit | 203573db83fb1d3f141b5aadbf1d1ca0a637bf94 (patch) | |
| tree | fdf29fa005fafdedddab8ec67abc83d26841d7fc /src/server/game/Entities/GameObject | |
| parent | 042b1abfd747160085e5acc24a842a076b20ea01 (diff) | |
Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23) (#24997)
* Core/Spells: Implement SPELL_EFFECT_ACTIVATE_OBJECT. (#23)
Original research by @xvwyh.
# Conflicts:
# src/server/game/DataStores/DBCStores.cpp
# src/server/game/DataStores/DBCStructure.h
# src/server/game/DataStores/DBCfmt.h
# src/server/game/Entities/GameObject/GameObject.h
# src/server/game/Entities/GameObject/GameObjectData.h
# src/server/scripts/EasternKingdoms/ZulAman/zulaman.cpp
# src/server/scripts/Kalimdor/HallsOfOrigination/boss_temple_guardian_anhuur.cpp
* Add missing sql update
* Fix some build errors
* Remove unused enum values
* Change artkits from 0-4 to 0-3
* Remove unused code
* Code review feedback
* Fix sql
* Remove artkit4 special case handling
* Default initialize artKits
* Code review feedback
* Split sql into structure and data files
Co-authored-by: Warpten <vertozor@gmail.com>
Diffstat (limited to 'src/server/game/Entities/GameObject')
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.h | 1 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObjectData.h | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h index 5300012a5b3..b59f9cd6fdc 100644 --- a/src/server/game/Entities/GameObject/GameObject.h +++ b/src/server/game/Entities/GameObject/GameObject.h @@ -169,6 +169,7 @@ class TC_GAME_API GameObject : public WorldObject, public GridObject<GameObject> static void SetGoArtKit(uint8 artkit, GameObject* go, ObjectGuid::LowType lowguid = 0); void SetPhaseMask(uint32 newPhaseMask, bool update) override; + void EnableCollision(bool enable); void Use(Unit* user); diff --git a/src/server/game/Entities/GameObject/GameObjectData.h b/src/server/game/Entities/GameObject/GameObjectData.h index 1fd84ca238b..a840fb5df92 100644 --- a/src/server/game/Entities/GameObject/GameObjectData.h +++ b/src/server/game/Entities/GameObject/GameObjectData.h @@ -22,6 +22,8 @@ #include "SharedDefines.h" #include "SpawnData.h" #include "WorldPacket.h" + +#include <array> #include <string> #include <vector> @@ -631,6 +633,7 @@ struct GameObjectTemplateAddon : public GameObjectOverride { uint32 Mingold; uint32 Maxgold; + std::array<uint32, 4> artKits = {}; }; struct GameObjectLocale @@ -669,4 +672,33 @@ struct GameObjectData : public SpawnData uint8 artKit = 0; }; +enum class GameObjectActions : uint32 +{ + // Name from client executable // Comments + None, // -NONE- + AnimateCustom0, // Animate Custom0 + AnimateCustom1, // Animate Custom1 + AnimateCustom2, // Animate Custom2 + AnimateCustom3, // Animate Custom3 + Disturb, // Disturb // Triggers trap + Unlock, // Unlock // Resets GO_FLAG_LOCKED + Lock, // Lock // Sets GO_FLAG_LOCKED + Open, // Open // Sets GO_STATE_ACTIVE + OpenAndUnlock, // Open + Unlock // Sets GO_STATE_ACTIVE and resets GO_FLAG_LOCKED + Close, // Close // Sets GO_STATE_READY + ToggleOpen, // Toggle Open + Destroy, // Destroy // Sets GO_STATE_DESTROYED + Rebuild, // Rebuild // Resets from GO_STATE_DESTROYED + Creation, // Creation + Despawn, // Despawn + MakeInert, // Make Inert // Disables interactions + MakeActive, // Make Active // Enables interactions + CloseAndLock, // Close + Lock // Sets GO_STATE_READY and sets GO_FLAG_LOCKED + UseArtKit0, // Use ArtKit0 // 46904: 121 + UseArtKit1, // Use ArtKit1 // 36639: 81, 46903: 122 + UseArtKit2, // Use ArtKit2 + UseArtKit3, // Use ArtKit3 + SetTapList, // Set Tap List +}; + #endif // GameObjectData_h__ |
