From 21b7500e13c921944c383022f5849acc52c4c633 Mon Sep 17 00:00:00 2001 From: dongresource Date: Fri, 2 Oct 2020 20:31:22 +0200 Subject: [PATCH] Define NOMINMAX globally to work around VS nonsense. --- src/CNProtocol.hpp | 1 + src/CNShardServer.cpp | 5 ++++- src/MobManager.cpp | 9 +-------- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/CNProtocol.hpp b/src/CNProtocol.hpp index c39314f..e101175 100644 --- a/src/CNProtocol.hpp +++ b/src/CNProtocol.hpp @@ -7,6 +7,7 @@ #include #ifdef _WIN32 // windows + #define NOMINMAX #define _WINSOCK_DEPRECATED_NO_WARNINGS #include #include diff --git a/src/CNShardServer.cpp b/src/CNShardServer.cpp index 037349b..05ea535 100644 --- a/src/CNShardServer.cpp +++ b/src/CNShardServer.cpp @@ -47,7 +47,10 @@ void CNShardServer::keepAliveTimer(CNServer* serv, time_t currTime) { } void CNShardServer::periodicSaveTimer(CNServer* serv, time_t currTime) { - std::cout << "[INFO] Saving players to DB..." << std::endl; + if (PlayerManager::players.empty()) + return; + + std::cout << "[INFO] Saving " << PlayerManager::players.size() << " players to DB..." << std::endl; for (auto& pair : PlayerManager::players) { Database::updatePlayer(pair.second.plr); diff --git a/src/MobManager.cpp b/src/MobManager.cpp index 94a7a69..824aaca 100644 --- a/src/MobManager.cpp +++ b/src/MobManager.cpp @@ -7,13 +7,6 @@ #include #include -#ifndef MIN -# define MIN(A,B) ((A)<(B)?(A):(B)) -#endif -#ifndef MAX -# define MAX(A,B) ((A)>(B)?(A):(B)) -#endif - std::map MobManager::Mobs; std::queue MobManager::RemovalQueue; @@ -649,7 +642,7 @@ std::pair MobManager::getDamage(int attackPower, int defensePower, bool std::pair ret = {}; - int damage = (MAX(40, attackPower - defensePower) * (34 + crutchLevel) + MIN(attackPower, attackPower * attackPower / defensePower) * (36 - crutchLevel)) / 70; + int damage = (std::max(40, attackPower - defensePower) * (34 + crutchLevel) + std::min(attackPower, attackPower * attackPower / defensePower) * (36 - crutchLevel)) / 70; ret.first = damage * (rand() % 40 + 80) / 100; // 20% variance ret.second = 1;