Everyone PLEASE update to MSSL v0.99-19b [newest version], because I have added a temporary workaround in it to deal with a big problem.
In v0.99-18b PRSC_InFight sometimes (randomly) returns true, when it is NOT at all in combat. This happens because Equals() functions contain a small bug (reported already to MantisBT).
This is the temporary fix I am using for now:
function MSSL_TPAEquals(TPA1, TPA2: TPointArray): Boolean;
begin
if (Length(TPA1) = Length(TPA2)) then
Result := (TPAToStr(TPA1) = TPAToStr(TPA2));
end;
Regards,
-Jani
Update: Freddy fixed this bug in 3.37.02 version.