mirror of
https://github.com/OpenMW/openmw.git
synced 2025-05-01 02:41:24 +00:00
Merge branch 'sundamageforquasiexterior' into 'master'
Sun Damage for QuasiExt Closes #6949 See merge request OpenMW/openmw!2296
This commit is contained in:
commit
cc563b31d9
4 changed files with 9 additions and 1 deletions
|
@ -7,6 +7,7 @@
|
||||||
Bug #5129: Stuttering animation on Centurion Archer
|
Bug #5129: Stuttering animation on Centurion Archer
|
||||||
Bug #5977: Fatigueless NPCs' corpse underwater changes animation on game load
|
Bug #5977: Fatigueless NPCs' corpse underwater changes animation on game load
|
||||||
Bug #6939: OpenMW-CS: ID columns are too short
|
Bug #6939: OpenMW-CS: ID columns are too short
|
||||||
|
Bug #6949: Sun Damage effect doesn't work in quasi exteriors
|
||||||
Feature #6945: Support S3TC-compressed and BGR/BGRA NiPixelData
|
Feature #6945: Support S3TC-compressed and BGR/BGRA NiPixelData
|
||||||
|
|
||||||
0.48.0
|
0.48.0
|
||||||
|
|
|
@ -645,7 +645,7 @@ void applyMagicEffect(const MWWorld::Ptr& target, const MWWorld::Ptr& caster, co
|
||||||
case ESM::MagicEffect::SunDamage:
|
case ESM::MagicEffect::SunDamage:
|
||||||
{
|
{
|
||||||
// isInCell shouldn't be needed, but updateActor called during game start
|
// isInCell shouldn't be needed, but updateActor called during game start
|
||||||
if (!target.isInCell() || !target.getCell()->isExterior() || godmode)
|
if (!target.isInCell() || !(target.getCell()->isExterior() || target.getCell()->isQuasiExterior()) || godmode)
|
||||||
break;
|
break;
|
||||||
float time = world->getTimeStamp().getHour();
|
float time = world->getTimeStamp().getHour();
|
||||||
float timeDiff = std::clamp(std::abs(time - 13.f), 0.f, 7.f);
|
float timeDiff = std::clamp(std::abs(time - 13.f), 0.f, 7.f);
|
||||||
|
|
|
@ -671,6 +671,11 @@ namespace MWWorld
|
||||||
return mCell->isExterior();
|
return mCell->isExterior();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CellStore::isQuasiExterior() const
|
||||||
|
{
|
||||||
|
return (mCell->mData.mFlags & ESM::Cell::QuasiEx) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
Ptr CellStore::searchInContainer (const std::string& id)
|
Ptr CellStore::searchInContainer (const std::string& id)
|
||||||
{
|
{
|
||||||
bool oldState = mHasState;
|
bool oldState = mHasState;
|
||||||
|
|
|
@ -370,6 +370,8 @@ namespace MWWorld
|
||||||
|
|
||||||
bool isExterior() const;
|
bool isExterior() const;
|
||||||
|
|
||||||
|
bool isQuasiExterior() const;
|
||||||
|
|
||||||
Ptr searchInContainer (const std::string& id);
|
Ptr searchInContainer (const std::string& id);
|
||||||
|
|
||||||
void loadState (const ESM::CellState& state);
|
void loadState (const ESM::CellState& state);
|
||||||
|
|
Loading…
Reference in a new issue