mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-09 12:42:11 +00:00
Don't throw exception when using ModDisposition on creatures (Fixes #1548)
This commit is contained in:
parent
0bed6d9d56
commit
e23a7694f3
@ -690,8 +690,11 @@ namespace MWScript
|
|||||||
Interpreter::Type_Integer value = runtime[0].mInteger;
|
Interpreter::Type_Integer value = runtime[0].mInteger;
|
||||||
runtime.pop();
|
runtime.pop();
|
||||||
|
|
||||||
ptr.getClass().getNpcStats (ptr).setBaseDisposition
|
if (ptr.getClass().isNpc())
|
||||||
(ptr.getClass().getNpcStats (ptr).getBaseDisposition() + value);
|
ptr.getClass().getNpcStats (ptr).setBaseDisposition
|
||||||
|
(ptr.getClass().getNpcStats (ptr).getBaseDisposition() + value);
|
||||||
|
|
||||||
|
// else: must not throw exception (used by an Almalexia dialogue script)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -707,7 +710,8 @@ namespace MWScript
|
|||||||
Interpreter::Type_Integer value = runtime[0].mInteger;
|
Interpreter::Type_Integer value = runtime[0].mInteger;
|
||||||
runtime.pop();
|
runtime.pop();
|
||||||
|
|
||||||
ptr.getClass().getNpcStats (ptr).setBaseDisposition (value);
|
if (ptr.getClass().isNpc())
|
||||||
|
ptr.getClass().getNpcStats (ptr).setBaseDisposition (value);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -720,7 +724,10 @@ namespace MWScript
|
|||||||
{
|
{
|
||||||
MWWorld::Ptr ptr = R()(runtime);
|
MWWorld::Ptr ptr = R()(runtime);
|
||||||
|
|
||||||
runtime.push (MWBase::Environment::get().getMechanicsManager()->getDerivedDisposition(ptr));
|
if (!ptr.getClass().isNpc())
|
||||||
|
runtime.push(0);
|
||||||
|
else
|
||||||
|
runtime.push (MWBase::Environment::get().getMechanicsManager()->getDerivedDisposition(ptr));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user