1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-03-03 17:39:42 +00:00

Merge branch 'classless48' into 'openmw-48'

!2552 for 0.48

See merge request OpenMW/openmw!2554
This commit is contained in:
psi29a 2022-12-27 13:16:22 +00:00
commit 01be3d16b2

View file

@ -598,7 +598,8 @@ namespace MWMechanics
} }
std::set<MWWorld::Ptr> playerAllies; std::set<MWWorld::Ptr> playerAllies;
getActorsSidingWith(MWMechanics::getPlayer(), playerAllies, cachedAllies); MWWorld::Ptr player = MWMechanics::getPlayer();
getActorsSidingWith(player, playerAllies, cachedAllies);
bool isPlayerFollowerOrEscorter = playerAllies.find(actor1) != playerAllies.end(); bool isPlayerFollowerOrEscorter = playerAllies.find(actor1) != playerAllies.end();
@ -621,6 +622,7 @@ namespace MWMechanics
mechanicsManager->startCombat(actor1, actor2); mechanicsManager->startCombat(actor1, actor2);
// Also have actor1's allies start combat // Also have actor1's allies start combat
for (const MWWorld::Ptr& ally1 : allies1) for (const MWWorld::Ptr& ally1 : allies1)
if (ally1 != player)
mechanicsManager->startCombat(ally1, actor2); mechanicsManager->startCombat(ally1, actor2);
return; return;
} }
@ -721,7 +723,10 @@ namespace MWMechanics
{ {
bool actorKilled = false; bool actorKilled = false;
MWWorld::Ptr caster = MWBase::Environment::get().getWorld()->searchPtrViaActorId(spell.getCasterActorId()); MWWorld::Ptr caster
= MWBase::Environment::get().getWorld()->searchPtrViaActorId(spell.getCasterActorId());
if (caster.isEmpty())
continue;
for (const auto& effect : spell.getEffects()) for (const auto& effect : spell.getEffects())
{ {
static const std::array<int, 7> damageEffects{ static const std::array<int, 7> damageEffects{