fix initial stats
This commit is contained in:
@@ -33,6 +33,7 @@ public:
|
||||
virtual void OnGameClose() override;
|
||||
private:
|
||||
void BalanceTeams();
|
||||
void InitPlayerStats();
|
||||
void UpdateMobStates();
|
||||
void UpdateGoldMines();
|
||||
void UpdatePlayerStats();
|
||||
|
||||
@@ -32,24 +32,36 @@ void ServerGame::StartGame() {
|
||||
protocol::WorldDataPacket mapData(m_World);
|
||||
m_Server->BroadcastPacket(&mapData);
|
||||
|
||||
InitPlayerStats();
|
||||
|
||||
m_GameState = game::GameState::Game;
|
||||
}
|
||||
|
||||
void ServerGame::InitPlayerStats() {
|
||||
static const unsigned int START_GOLD = 100;
|
||||
static const unsigned int START_EXP = 0;
|
||||
static const unsigned int START_GOLD_PER_SEC = 5;
|
||||
for (auto& [id, player] : m_Server->GetPlayers()) {
|
||||
player.SetGold(START_GOLD);
|
||||
player.SetExp(START_EXP);
|
||||
player.getUpgrades().SetGoldPerSecond(5);
|
||||
}
|
||||
}
|
||||
|
||||
void ServerGame::UpdatePlayerStats() {
|
||||
m_GoldMineTimer.Update();
|
||||
}
|
||||
|
||||
void ServerGame::UpdateGoldMines() {
|
||||
for (auto& pair : m_Server->GetPlayers()) {
|
||||
game::Player* player = &pair.second;
|
||||
player->AddGold(player->getUpgrades().GetGoldPerSecond());
|
||||
for (auto& [id, player] : m_Server->GetPlayers()) {
|
||||
player.AddGold(player.getUpgrades().GetGoldPerSecond());
|
||||
|
||||
// Update player money and exp every second
|
||||
protocol::UpdateMoneyPacket moneyPacket(player->GetGold());
|
||||
m_Server->GetConnexions()[player->GetID()].SendPacket(&moneyPacket);
|
||||
protocol::UpdateMoneyPacket moneyPacket(player.GetGold());
|
||||
m_Server->GetConnexions()[player.GetID()].SendPacket(&moneyPacket);
|
||||
|
||||
protocol::UpdateExpPacket expPacket(player->GetExp());
|
||||
m_Server->GetConnexions()[player->GetID()].SendPacket(&expPacket);
|
||||
protocol::UpdateExpPacket expPacket(player.GetExp());
|
||||
m_Server->GetConnexions()[player.GetID()].SendPacket(&expPacket);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user