[General] Don't send packets for dead LocalActors, to fix Position spam

This commit is contained in:
David Cernat 2017-05-09 02:47:29 +03:00
parent 5bd95628ce
commit cc559cf8e2
2 changed files with 12 additions and 5 deletions

View File

@ -42,12 +42,16 @@ LocalActor::~LocalActor()
void LocalActor::update(bool forceUpdate) void LocalActor::update(bool forceUpdate)
{ {
updatePosition(forceUpdate);
updateAnimFlags(forceUpdate);
updateAnimPlay();
updateSpeech();
updateStatsDynamic(forceUpdate); updateStatsDynamic(forceUpdate);
updateAttack();
if (forceUpdate || !creatureStats.mDead)
{
updatePosition(forceUpdate);
updateAnimFlags(forceUpdate);
updateAnimPlay();
updateSpeech();
updateAttack();
}
} }
void LocalActor::updateCell() void LocalActor::updateCell()
@ -183,6 +187,8 @@ void LocalActor::updateStatsDynamic(bool forceUpdate)
magicka.writeState(creatureStats.mDynamic[1]); magicka.writeState(creatureStats.mDynamic[1]);
fatigue.writeState(creatureStats.mDynamic[2]); fatigue.writeState(creatureStats.mDynamic[2]);
creatureStats.mDead = ptrCreatureStats->isDead();
statTimer = 0; statTimer = 0;
mwmp::Main::get().getNetworking()->getActorList()->addStatsDynamicActor(*this); mwmp::Main::get().getNetworking()->getActorList()->addStatsDynamicActor(*this);

View File

@ -54,6 +54,7 @@ namespace mwmp
struct SimpleCreatureStats struct SimpleCreatureStats
{ {
ESM::StatState<float> mDynamic[3]; ESM::StatState<float> mDynamic[3];
bool mDead;
}; };
} }