rott/kf_sources/GamePlay/Classes/Action_USE.uc
2026-07-14 20:27:09 +07:00

34 lines
768 B
Ucode

class ACTION_Use extends ScriptedAction;
function bool InitActionFor(ScriptedController C)
{
local Actor A;
local Vehicle DrivenVehicle;
C.bChangingPawns = true;
DrivenVehicle = Vehicle(C.Pawn);
if( DrivenVehicle != None )
{
DrivenVehicle.KDriverLeave(false);
C.bChangingPawns = false;
return false;
}
ForEach C.Pawn.VisibleCollidingActors(class'Vehicle', DrivenVehicle, 500)
{
DrivenVehicle.UsedBy(C.Pawn);
C.bChangingPawns = false;
return false;
}
// Send the 'DoUse' event to each actor player is touching.
ForEach C.Pawn.TouchingActors(class'Actor', A)
A.UsedBy(C.Pawn);
if ( C.Pawn.Base != None )
C.Pawn.Base.UsedBy( C.Pawn );
C.bChangingPawns = false;
return false;
}