82 lines
2.1 KiB
Ucode
82 lines
2.1 KiB
Ucode
/*
|
|
--------------------------------------------------------------
|
|
ACTION_ChangeViewTarget
|
|
--------------------------------------------------------------
|
|
|
|
Scripted Action used to switch players viewtarget to a specific actor.
|
|
Used in story mode for the Patriarch 'Grand Entrance' sequence.
|
|
|
|
Author : Alex Quick
|
|
|
|
--------------------------------------------------------------
|
|
*/
|
|
class ACTION_ChangeViewTarget extends ScriptedAction;
|
|
|
|
var() name ViewActorTag;
|
|
var bool bViewingActor;
|
|
|
|
|
|
/* Initialises this action ** NOTE : returning TRUE out of this function will pause
|
|
all subsequent actions. you must return false if you want the scripted actions to proceed*/
|
|
|
|
function bool InitActionFor(ScriptedController C)
|
|
{
|
|
local Controller CC;
|
|
local PlayerController PC;
|
|
local Actor TestActor, ViewActor;
|
|
|
|
if(ViewActorTag != '')
|
|
{
|
|
foreach AllObjects(class 'Actor', TestActor)
|
|
{
|
|
if(TestActor.Tag == ViewActorTag)
|
|
{
|
|
ViewActor = TestActor;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
bViewingActor = ViewActor != none ;
|
|
for ( CC = C.Level.ControllerList; CC != None; CC = CC.NextController )
|
|
{
|
|
PC = PlayerController(CC);
|
|
if( PC !=None )
|
|
{
|
|
if(ViewActorTag != '')
|
|
{
|
|
log("! Change View Target to : "@ViewActor,'Story_Debug');
|
|
ViewActor.bAlwaysRelevant = True;
|
|
PC.SetViewTarget(ViewActor);
|
|
PC.ClientSetViewTarget(ViewActor);
|
|
PC.bBehindView = True;
|
|
PC.ClientSetBehindView(True);
|
|
|
|
if(KFMonster(ViewActor) != none)
|
|
{
|
|
KFMonster(ViewActor).MakeGrandEntry();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
log("! Change View Target to : "@PC.Pawn,'Story_Debug');
|
|
if( PC.Pawn!=None )
|
|
{
|
|
PC.SetViewTarget(PC.Pawn);
|
|
PC.ClientSetViewTarget(PC.Pawn);
|
|
}
|
|
else
|
|
{
|
|
PC.SetViewTarget(PC);
|
|
PC.ClientSetViewTarget(PC);
|
|
}
|
|
|
|
PC.bBehindView = False;
|
|
PC.ClientSetBehindView(False);
|
|
}
|
|
}
|
|
}
|
|
|
|
return false;
|
|
}
|