diff --git a/apps/openmw/mwmp/DedicatedPlayer.cpp b/apps/openmw/mwmp/DedicatedPlayer.cpp index 10c3f8770..5ce364450 100644 --- a/apps/openmw/mwmp/DedicatedPlayer.cpp +++ b/apps/openmw/mwmp/DedicatedPlayer.cpp @@ -276,6 +276,9 @@ void DedicatedPlayer::setAnimFlags() void DedicatedPlayer::setEquipment() { + // Go no further if the player is disguised as a creature + if (!ptr.getClass().hasInventoryStore(ptr)) return; + MWWorld::InventoryStore& invStore = ptr.getClass().getInventoryStore(ptr); for (int slot = 0; slot < MWWorld::InventoryStore::Slots; ++slot) { diff --git a/apps/openmw/mwmp/processors/player/ProcessorPlayerSkill.hpp b/apps/openmw/mwmp/processors/player/ProcessorPlayerSkill.hpp index 4b61b0a0a..eeee67a80 100644 --- a/apps/openmw/mwmp/processors/player/ProcessorPlayerSkill.hpp +++ b/apps/openmw/mwmp/processors/player/ProcessorPlayerSkill.hpp @@ -30,6 +30,10 @@ namespace mwmp else if (player != 0) { MWWorld::Ptr ptrPlayer = static_cast(player)->getPtr(); + + // Go no further if the player is disguised as a creature + if (ptrPlayer.getTypeName() != typeid(ESM::NPC).name()) return; + MWMechanics::NpcStats *ptrNpcStats = &ptrPlayer.getClass().getNpcStats(ptrPlayer); MWMechanics::SkillValue skillValue;