aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2014-08-12 00:44:26 +0200
committerShauren <shauren.trinity@gmail.com>2014-08-12 00:45:24 +0200
commit4a741258f145af59a224760651e735297ad92101 (patch)
treeaa432e679516d5760c7ad7e6c7efe41b3adbc0d9 /src/server/game/Scripting/ScriptMgr.h
parenteb8e140f7f76e1fc8927017775c86aede1af47d7 (diff)
parentc741d2682a1835b0e9a775d1aba9f795db348450 (diff)
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore into 4.3.4
Conflicts: src/server/game/Achievements/AchievementMgr.cpp src/server/game/Battlegrounds/ArenaScore.h src/server/game/Battlegrounds/Zones/BattlegroundAB.h src/server/game/Battlegrounds/Zones/BattlegroundAV.h src/server/game/Battlegrounds/Zones/BattlegroundEY.h src/server/game/Battlegrounds/Zones/BattlegroundIC.h src/server/game/Battlegrounds/Zones/BattlegroundSA.h src/server/game/Battlegrounds/Zones/BattlegroundWS.h src/server/game/Entities/Creature/Creature.h src/server/game/Entities/DynamicObject/DynamicObject.h src/server/game/Entities/Item/Item.h src/server/game/Entities/Object/Updates/UpdateData.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Player/Player.h src/server/game/Entities/Unit/Unit.h src/server/game/Guilds/Guild.h src/server/game/Handlers/CharacterHandler.cpp src/server/game/Handlers/TradeHandler.cpp src/server/game/Miscellaneous/SharedDefines.h src/server/game/Server/WorldPacket.h src/server/game/Server/WorldSession.cpp src/server/game/Server/WorldSession.h src/server/game/Server/WorldSocket.cpp src/server/game/Spells/Auras/SpellAuraEffects.cpp src/server/game/World/World.cpp src/server/scripts/EasternKingdoms/zone_silverpine_forest.cpp src/server/scripts/EasternKingdoms/zone_stormwind_city.cpp src/server/scripts/EasternKingdoms/zone_tirisfal_glades.cpp src/server/scripts/Kalimdor/zone_orgrimmar.cpp src/server/scripts/Kalimdor/zone_ungoro_crater.cpp src/server/scripts/Spells/spell_dk.cpp src/server/scripts/Spells/spell_shaman.cpp src/server/shared/Packets/ByteBuffer.h
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r--src/server/game/Scripting/ScriptMgr.h47
1 files changed, 24 insertions, 23 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 104410a1345..9f52aec848f 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -59,6 +59,7 @@ class Vehicle;
class WorldPacket;
class WorldSocket;
class WorldObject;
+class WorldSession;
struct AuctionEntry;
struct ConditionSourceInfo;
@@ -196,7 +197,7 @@ class SpellScriptLoader : public ScriptObject
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Should return a fully valid SpellScript pointer.
virtual SpellScript* GetSpellScript() const { return NULL; }
@@ -224,19 +225,19 @@ class ServerScript : public ScriptObject
// Called when a socket is closed. Do not store the socket object, and do not rely on the connection
// being open; it is not.
- virtual void OnSocketClose(std::shared_ptr<WorldSocket> /*socket*/, bool /*wasNew*/) { }
+ virtual void OnSocketClose(std::shared_ptr<WorldSocket> /*socket*/) { }
// Called when a packet is sent to a client. The packet object is a copy of the original packet, so reading
// and modifying it is safe.
- virtual void OnPacketSend(std::shared_ptr<WorldSocket> /*socket*/, WorldPacket& /*packet*/) { }
+ virtual void OnPacketSend(WorldSession* /*session*/, WorldPacket& /*packet*/) { }
// Called when a (valid) packet is received by a client. The packet object is a copy of the original packet, so
- // reading and modifying it is safe.
- virtual void OnPacketReceive(std::shared_ptr<WorldSocket> /*socket*/, WorldPacket& /*packet*/) { }
+ // reading and modifying it is safe. Make sure to check WorldSession pointer before usage, it might be null in case of auth packets
+ virtual void OnPacketReceive(WorldSession* /*session*/, WorldPacket& /*packet*/) { }
// Called when an invalid (unknown opcode) packet is received by a client. The packet is a reference to the orignal
// packet; not a copy. This allows you to actually handle unknown packets (for whatever purpose).
- virtual void OnUnknownPacketReceive(std::shared_ptr<WorldSocket> /*socket*/, WorldPacket& /*packet*/) { }
+ virtual void OnUnknownPacketReceive(WorldSession* /*session*/, WorldPacket& /*packet*/) { }
};
class WorldScript : public ScriptObject
@@ -354,7 +355,7 @@ class InstanceMapScript : public ScriptObject, public MapScript<InstanceMap>
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Gets an InstanceScript object for this instance.
virtual InstanceScript* GetInstanceScript(InstanceMap* /*map*/) const { return NULL; }
@@ -375,7 +376,7 @@ class ItemScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when a dummy spell effect is triggered on the item.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, Item* /*target*/) { return false; }
@@ -424,7 +425,7 @@ class CreatureScript : public UnitScript, public UpdatableScript<Creature>
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when a dummy spell effect is triggered on the creature.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, Creature* /*target*/) { return false; }
@@ -465,7 +466,7 @@ class GameObjectScript : public ScriptObject, public UpdatableScript<GameObject>
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when a dummy spell effect is triggered on the gameobject.
virtual bool OnDummyEffect(Unit* /*caster*/, uint32 /*spellId*/, SpellEffIndex /*effIndex*/, GameObject* /*target*/) { return false; }
@@ -512,7 +513,7 @@ class AreaTriggerScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when the area trigger is activated by a player.
virtual bool OnTrigger(Player* /*player*/, AreaTriggerEntry const* /*trigger*/) { return false; }
@@ -526,7 +527,7 @@ class BattlegroundScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Should return a fully valid Battleground object for the type ID.
virtual Battleground* GetBattleground() const = 0;
@@ -540,7 +541,7 @@ class OutdoorPvPScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Should return a fully valid OutdoorPvP object for the type ID.
virtual OutdoorPvP* GetOutdoorPvP() const = 0;
@@ -566,7 +567,7 @@ class WeatherScript : public ScriptObject, public UpdatableScript<Weather>
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when the weather changes in the zone this script is associated with.
virtual void OnChange(Weather* /*weather*/, WeatherState /*state*/, float /*grade*/) { }
@@ -601,7 +602,7 @@ class ConditionScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when a single condition is checked for a player.
virtual bool OnConditionCheck(Condition* /*condition*/, ConditionSourceInfo& /*sourceInfo*/) { return true; }
@@ -649,7 +650,7 @@ class TransportScript : public ScriptObject, public UpdatableScript<Transport>
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when a player boards the transport.
virtual void OnAddPassenger(Transport* /*transport*/, Player* /*player*/) { }
@@ -672,7 +673,7 @@ class AchievementCriteriaScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return true; }
+ bool IsDatabaseBound() const final override { return true; }
// Called when an additional criteria is checked.
virtual bool OnCheck(Player* source, Unit* target) = 0;
@@ -804,7 +805,7 @@ class GuildScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return false; }
+ bool IsDatabaseBound() const final override { return false; }
// Called when a member is added to the guild.
virtual void OnAddMember(Guild* /*guild*/, Player* /*player*/, uint8& /*plRank*/) { }
@@ -847,7 +848,7 @@ class GroupScript : public ScriptObject
public:
- bool IsDatabaseBound() const final { return false; }
+ bool IsDatabaseBound() const final override { return false; }
// Called when a member is added to a group.
virtual void OnAddMember(Group* /*group*/, uint64 /*guid*/) { }
@@ -908,10 +909,10 @@ class ScriptMgr
void OnNetworkStart();
void OnNetworkStop();
void OnSocketOpen(std::shared_ptr<WorldSocket> socket);
- void OnSocketClose(std::shared_ptr<WorldSocket> socket, bool wasNew);
- void OnPacketReceive(std::shared_ptr<WorldSocket> socket, WorldPacket const& packet);
- void OnPacketSend(std::shared_ptr<WorldSocket> socket, WorldPacket const& packet);
- void OnUnknownPacketReceive(std::shared_ptr<WorldSocket> socket, WorldPacket const& packet);
+ void OnSocketClose(std::shared_ptr<WorldSocket> socket);
+ void OnPacketReceive(WorldSession* session, WorldPacket const& packet);
+ void OnPacketSend(WorldSession* session, WorldPacket const& packet);
+ void OnUnknownPacketReceive(WorldSession* session, WorldPacket const& packet);
public: /* WorldScript */