Code: Select all
if ( (ScriptedPawn(Killer) != None) && (Other.PlayerReplicationInfo != None) ) //Weird bug... fix?
Other.PlayerReplicationInfo.Deaths += 1;
Code: Select all
if ( (Killer != None) && Killer.bIsPlayer && (Killer.PlayerReplicationInfo != None) && (S != None) )
{
if ( S.bIsPlayer )
S.bIsPlayer = false; //Prevent skaarj log bug on non-XCGE servers (?)
Code: Select all
if (Injured != None)
if (Injured.bIsplayer && injured.PlayerReplicationInfo == None)
injured.bIsPlayer = False;
// the same with InstigatedBy
//... the rest of default code
Code: Select all
if ( aBot.Health < 1 ) //Is this even needed?
Code: Select all
if ( bAttract )
{
NewDest = aBot.MoveTarget; //Jumping outside a ForEach iterator is very ugly, avoid it
break;
}
Next... I repeat myself 1337Mercenary is a TeamCannon not a ScriptedPawn and it doesn't have any fix nor code to trigger monster around it. Game was freezing when some 25 "Mercs" have been killed by some powerful tentacles *spawned in a MH-BoomBoomBridge test session... If you want you can write 50 ReplaceFunction types for "TeamScriptedPawn" trash - this is no longer a StationaryPawn.
Checkout all damaging things from monsters probably not all are being called but... there are SlapDamage - RipDamage - ThrustDamage, some WhipDamage is 0 by default, LungeDamage, SpinDamage. Even if some of them might not be used, they can be implemented in other child creatures so it should be recommended to have them.
Code: Select all
// Fix monster dropped weapons/items breaking the client's inventory chain
function bool PickupQuery( Pawn Other, Inventory item )
{
local bool bResult;
bResult = Super.PickupQuery( Other, Item);
if ( bResult && Item.bAlwaysRelevant )
Item.bAlwaysRelevant = false;
return bResult;
}
Edit:Until this MH thing will be operational, probably it might be advisable to fix my goofing (no valid docs and info in 2014) toward MH, which means fixing dispersion aka OldPistol, removing UT replacements, tweaking old weaponry properly, and doing a release of a MH504 fully compatible with v503, v500, v450 in order to not cause any mismatch by creating a conformed package. And then, people can do what they want...