aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
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 */