RuneI
Class LokiHead

source: c:\runehov\RuneI\Classes\LokiHead.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Pawn
         |
         +--RuneI.ScriptPawn
            |
            +--RuneI.LokiHead
Direct Known Subclasses:None

class LokiHead
extends RuneI.ScriptPawn

//============================================================================= // LokiHead. //=============================================================================
Variables
 float HeadTime
 float MaxDeviation
 LokiEffect plaque

States
Acquisition

Function Summary
 void Destroyed()
 EMatterType MatterForJoint(int joint)
     
//============================================================
//
// MatterForJoint
//
// Returns what kind of material joint is associated with
//============================================================
 void PreBeginPlay()
 void PreSetMovement()
 void Tick(float DeltaTime)


State Acquisition Function Summary



Source Code


00001	//=============================================================================
00002	// LokiHead.
00003	//=============================================================================
00004	class LokiHead expands ScriptPawn;
00005	
00006	// Emit light
00007	
00008	var() float MaxDeviation;
00009	var float HeadTime;
00010	var LokiEffect plaque;
00011	
00012	
00013	function PreBeginPlay()
00014	{
00015		// Background sprite/smoke effect
00016		plaque = Spawn(class'LokiEffect',,, Location);
00017	
00018		HeadTime=0;
00019		HomeBase = Location;
00020	
00021		Super.PreBeginPlay();
00022	}
00023	
00024	function Destroyed()
00025	{
00026		if (plaque != None)
00027			plaque.Destroy();
00028		Super.Destroyed();
00029	}
00030	
00031	function PreSetMovement()
00032	{
00033		bCanFly = true;
00034	}
00035	
00036	function Tick(float DeltaTime)
00037	{
00038		local vector loc;
00039		local vector X,Y,Z;
00040	
00041		HeadTime += DeltaTime;
00042	
00043		GetAxes(Rotation, X,Y,Z);
00044	
00045		loc = HomeBase + (Y * Sin(HeadTime) * MaxDeviation) + (Z * Cos(HeadTime) * 2 * MaxDeviation);
00046		SetLocation(loc);
00047	
00048		Super.Tick(DeltaTime);
00049	}
00050	
00051	
00052	State Acquisition
00053	{
00054	ignores EnemyAcquired, SeePlayer, HearNoise;
00055	}
00056	
00057	//============================================================
00058	//
00059	// MatterForJoint
00060	//
00061	// Returns what kind of material joint is associated with
00062	//============================================================
00063	function EMatterType MatterForJoint(int joint)
00064	{
00065		return MATTER_NONE;
00066	}
00067	
00068	defaultproperties
00069	{
00070	     MaxDeviation=5.000000
00071	     bFallAtStartup=False
00072	     AttitudeToPlayer=ATTITUDE_Ignore
00073	     MaxMouthRot=7000
00074	     MaxMouthRotRate=65535
00075	     bDynamicLight=True
00076	     DrawScale=5.000000
00077	     CollisionRadius=67.000000
00078	     CollisionHeight=100.000000
00079	     bCollideActors=False
00080	     bCollideWorld=False
00081	     bBlockActors=False
00082	     bBlockPlayers=False
00083	     Skeletal=SkelModel'objects.Skull'
00084	}

End Source Code