From 3effd5f1ff040c72fbbecdc113ba4a459eb84196 Mon Sep 17 00:00:00 2001 From: David Cernat Date: Sun, 24 Mar 2019 03:52:05 +0200 Subject: [PATCH] [General] Update positions for dead players on other clients Dead players will now show up at the correct cell and position for living players, making server scripts that allow players to revive each other much more functional. --- .../processors/player/ProcessorPlayerPosition.hpp | 10 +--------- apps/openmw/mwmp/DedicatedPlayer.cpp | 14 +++++++------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/apps/openmw-mp/processors/player/ProcessorPlayerPosition.hpp b/apps/openmw-mp/processors/player/ProcessorPlayerPosition.hpp index 15b0e96df..8d9f2221e 100644 --- a/apps/openmw-mp/processors/player/ProcessorPlayerPosition.hpp +++ b/apps/openmw-mp/processors/player/ProcessorPlayerPosition.hpp @@ -1,7 +1,3 @@ -// -// Created by koncord on 31.03.17. -// - #ifndef OPENMW_PROCESSORPLAYERPOSITION_HPP #define OPENMW_PROCESSORPLAYERPOSITION_HPP @@ -19,11 +15,7 @@ namespace mwmp void Do(PlayerPacket &packet, Player &player) override { - //DEBUG_PRINTF(strPacketID); - if (!player.creatureStats.mDead) - { - player.sendToLoaded(&packet); - } + player.sendToLoaded(&packet); } }; } diff --git a/apps/openmw/mwmp/DedicatedPlayer.cpp b/apps/openmw/mwmp/DedicatedPlayer.cpp index 7aa4efbab..9abbdd0b5 100644 --- a/apps/openmw/mwmp/DedicatedPlayer.cpp +++ b/apps/openmw/mwmp/DedicatedPlayer.cpp @@ -71,6 +71,13 @@ DedicatedPlayer::~DedicatedPlayer() void DedicatedPlayer::update(float dt) { + // Only move and set anim flags if the framerate isn't too low + if (dt < 0.1) + { + move(dt); + setAnimFlags(); + } + MWMechanics::CreatureStats *ptrCreatureStats = &ptr.getClass().getCreatureStats(ptr); MWMechanics::DynamicStat value; @@ -100,13 +107,6 @@ void DedicatedPlayer::update(float dt) ptrCreatureStats->setAiSetting(MWMechanics::CreatureStats::AI_Fight, 0); ptrCreatureStats->setAiSetting(MWMechanics::CreatureStats::AI_Flee, 0); ptrCreatureStats->setAiSetting(MWMechanics::CreatureStats::AI_Hello, 0); - - // Only move and set anim flags if the framerate isn't too low - if (dt < 0.1) - { - move(dt); - setAnimFlags(); - } } void DedicatedPlayer::move(float dt)