43 lines
917 B
Ucode
43 lines
917 B
Ucode
|
class Mut extends KFMutator;
|
||
|
|
||
|
public simulated function bool SafeDestroy()
|
||
|
{
|
||
|
return (bPendingDelete || bDeleteMe || Destroy());
|
||
|
}
|
||
|
|
||
|
public event PreBeginPlay()
|
||
|
{
|
||
|
Super.PreBeginPlay();
|
||
|
`log("Loaded.", true, 'TAWOD');
|
||
|
}
|
||
|
|
||
|
public function AddMutator(Mutator M)
|
||
|
{
|
||
|
if (M == Self) return;
|
||
|
|
||
|
if (M.Class == Class)
|
||
|
Mut(M).SafeDestroy();
|
||
|
else
|
||
|
Super.AddMutator(M);
|
||
|
}
|
||
|
|
||
|
public function bool PreventDeath(Pawn Killed, Controller Killer, class<DamageType> damageType, vector HitLocation)
|
||
|
{
|
||
|
local KFWeapon TempWeapon;
|
||
|
local KFPawn_Human KFP;
|
||
|
|
||
|
KFP = KFPawn_Human(Killed);
|
||
|
|
||
|
if (Role >= ROLE_Authority && KFP != None && KFP.InvManager != None)
|
||
|
foreach KFP.InvManager.InventoryActors(class'KFWeapon', TempWeapon)
|
||
|
if (TempWeapon != None && TempWeapon.bDropOnDeath && TempWeapon.CanThrow())
|
||
|
KFP.TossInventory(TempWeapon);
|
||
|
|
||
|
return Super.PreventDeath(Killed, Killer, damageType, HitLocation);
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
|
||
|
}
|