Skip to content

Instantly share code, notes, and snippets.

@mindsear
Created April 14, 2019 22:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mindsear/ddc3429ba1def900aaf64d3b7681487a to your computer and use it in GitHub Desktop.
Save mindsear/ddc3429ba1def900aaf64d3b7681487a to your computer and use it in GitHub Desktop.
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index a694b45..2e39c33 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -79,6 +79,7 @@
#include "WorldPacket.h"
#include "WorldSession.h"
#include "GameObjectAI.h"
+#include "Config.h"
#define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS)
@@ -751,6 +752,12 @@ Player::Player(WorldSession* session): Unit(true)
m_bgBattlegroundQueueID[j].invitedToInstance = 0;
}
+ // PlayedTimeReward
+ ptr_Interval = sConfigMgr->GetIntDefault("PlayedTimeReward.Interval", 0);
+ ptr_Money = sConfigMgr->GetIntDefault("PlayedTimeReward.Money", 0);
+ ptr_Honor = sConfigMgr->GetIntDefault("PlayedTimeReward.Honor", 0);
+ ptr_Arena = sConfigMgr->GetIntDefault("PlayedTimeReward.Arena", 0);
+
m_logintime = time(NULL);
m_Last_tick = m_logintime;
m_Played_time[PLAYED_TIME_TOTAL] = 0;
@@ -1615,6 +1622,21 @@ void Player::Update(uint32 p_time)
LoginDatabase.Execute(stmt);
}
+ // PlayedTimeReward
+ if (ptr_Interval > 0)
+ {
+ if (ptr_Interval <= p_time)
+ {
+ GetSession()->SendAreaTriggerMessage("Bonus for played time.");
+ ModifyMoney(ptr_Money);
+ ModifyHonorPoints(ptr_Honor);
+ ModifyArenaPoints(ptr_Arena);
+ ptr_Interval = sConfigMgr->GetIntDefault("PlayedTimeReward.Interval", 0);
+ }
+ else
+ ptr_Interval -= p_time;
+ }
+
if (!m_timedquests.empty())
{
QuestSet::iterator iter = m_timedquests.begin();
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index 851afec..7e5d324 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -1163,6 +1163,12 @@ class Player : public Unit, public GridObject<Player>
void SetCommandStatusOn(uint32 command) { _activeCheats |= command; }
void SetCommandStatusOff(uint32 command) { _activeCheats &= ~command; }
+ // PlayedTimeReward
+ uint32 ptr_Interval;
+ uint32 ptr_Money;
+ uint32 ptr_Honor;
+ uint32 ptr_Arena;
+
// Played Time Stuff
time_t m_logintime;
time_t m_Last_tick;
diff --git a/src/server/worldserver/worldserver.conf.dist b/src/server/worldserver/worldserver.conf.dist
index 60a6537..3a087a1 100644
--- a/src/server/worldserver/worldserver.conf.dist
+++ b/src/server/worldserver/worldserver.conf.dist
@@ -2799,3 +2799,13 @@ PacketSpoof.BanDuration = 86400
#
###################################################################################################
+###################################################################################################
+#
+
+PlayedTimeReward.Interval = 0
+PlayedTimeReward.Money = 0
+PlayedTimeReward.Honor = 0
+PlayedTimeReward.Arena = 0
+
+#
+###################################################################################################
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment