From 21c24dedb63971c6c1d61b136ff4414964cd8b9f Mon Sep 17 00:00:00 2001 From: Marc Zinnschlag Date: Thu, 25 Oct 2012 12:28:45 +0200 Subject: [PATCH] Issue #68: Stop player from dying (temporary workaround) --- apps/openmw/mwmechanics/actors.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/apps/openmw/mwmechanics/actors.cpp b/apps/openmw/mwmechanics/actors.cpp index e8b6fc14d8..0623db4b1c 100644 --- a/apps/openmw/mwmechanics/actors.cpp +++ b/apps/openmw/mwmechanics/actors.cpp @@ -213,7 +213,27 @@ namespace MWMechanics } if (MWWorld::Class::get (*iter).getCreatureStats (*iter).isDead()) + { + // workaround: always keep player alive for now + // \todo remove workaround, once player death can be handled + if (iter->getRefData().getHandle()=="player") + { + MWMechanics::DynamicStat stat ( + MWWorld::Class::get (*iter).getCreatureStats (*iter).getHealth()); + + if (stat.getModified()<1) + { + stat.setModified (1, 0); + MWWorld::Class::get (*iter).getCreatureStats (*iter).setHealth (stat); + } + + MWWorld::Class::get (*iter).getCreatureStats (*iter).resurrect(); + ++iter; + continue; + } + mActors.erase (iter++); + } else ++iter; }