Let's all die!
This commit is contained in:
@@ -230,12 +230,12 @@ void Server::Run() {
|
||||
Chat* startchat = new Chat();
|
||||
startchat->src_id = 0;
|
||||
char startmess[] = "How would -YOU- like to die today, motherf-words?";
|
||||
|
||||
float endtime = 0.;
|
||||
strcpy(startchat->mess, 140, startmess);
|
||||
|
||||
chatlog.emplace_back(startchat);
|
||||
|
||||
while (!endgame) {
|
||||
while (!endgame && endtime < 1.) {
|
||||
using namespace std::chrono;
|
||||
Timestamp tstamp = duration_cast<milliseconds>(high_resolution_clock::now() - start).count();
|
||||
|
||||
@@ -245,7 +245,8 @@ void Server::Run() {
|
||||
if (timer_acc >= 1000) {
|
||||
while (timer_acc >= 1000)
|
||||
timer_acc -= 1000;
|
||||
--timer;
|
||||
if (!endgame)
|
||||
--timer;
|
||||
std::string str = "Timer: ";
|
||||
Log(str.append(std::to_string(timer)), false, false);
|
||||
}
|
||||
@@ -323,8 +324,43 @@ void Server::Run() {
|
||||
/* Out */
|
||||
conn->sendPacks(m_sock_udp, m_conns, timer);
|
||||
|
||||
if ((deadplayers == players - 1 && deadplayers != 0) || timer < 0)
|
||||
if ((deadplayers == players - 1 && deadplayers != 0) || timer < 0) {
|
||||
if (!endgame) {
|
||||
Chat* gameover = new Chat();
|
||||
gameover->dest_id = gameover->dest_team_id = gameover->src_id = 0;
|
||||
std::string winner, winmess;
|
||||
int score = 0;
|
||||
bool plural = false;
|
||||
for (auto& [key, conn] : m_conns) {
|
||||
if (conn->player->getScore() > score) {
|
||||
winner = conn->player->GetUsername();
|
||||
score = conn->player->getScore();
|
||||
plural = false;
|
||||
}
|
||||
else if (conn->player->getScore() == score) {
|
||||
winner = winner.append(" and ").append(conn->player->GetUsername());
|
||||
plural = true;
|
||||
}
|
||||
}
|
||||
|
||||
winmess = "And the winner";
|
||||
if (!plural)
|
||||
winmess = winmess.append(" is ");
|
||||
else winmess = winmess.append("s are ");
|
||||
|
||||
winmess = winmess.append(winner).append(" with ").append(std::to_string(score)).append(" point");
|
||||
|
||||
if (score > 1)
|
||||
winmess = winmess.append("s.");
|
||||
else winmess = winmess.append(".");
|
||||
|
||||
strcpy(gameover->mess, 140, winmess.c_str());
|
||||
|
||||
chatlog.emplace_back(gameover);
|
||||
}
|
||||
endgame = true;
|
||||
endtime += .001;
|
||||
}
|
||||
}
|
||||
|
||||
for (auto& bull : netbull) {
|
||||
@@ -338,7 +374,7 @@ void Server::Run() {
|
||||
for (auto bull = bullets.begin(); bull != bullets.end(); ++bull) {
|
||||
ChunkMod* cmod = nullptr;
|
||||
Bullet* bullet = *bull;
|
||||
if (bullet->Update(m_world, (1. / 60.), 20, m_players, &cmod)) {
|
||||
if (bullet->Update(m_world, (1. / 60.), 10, m_players, &cmod)) {
|
||||
if (cmod)
|
||||
chunkdiffs.emplace_back(cmod);
|
||||
bullit.push_back(bull);
|
||||
|
Reference in New Issue
Block a user