RuneI
Class Conrack

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

class Conrack
extends RuneI.Viking

//============================================================================= // Conrack. //=============================================================================

Function Summary
 void ApplyGoreCap(int BodyPart)
     
//============================================================
//
// ApplyGoreCap
//
//============================================================
 int BodyPartForPolyGroup(int polygroup)
     
//============================================================
//
// BodyPartForPolyGroup
//
//============================================================
 Texture PainSkin(int BodyPart)
     
//============================================================
//
// PainSkin
//
// returns the pain skin for a given polygroup
//============================================================
 void PlayDeath(name DamageType)
 void PlaySkewerDeath(name DamageType)
     
//===================================================================
//
// PlayDeath
//
// Conrack is a special character who is fought only once in the game
// and he should NOT play a death animation, instead he plays a pain anim
// (the actual death sequence is handled in a cinematic)
//===================================================================



Source Code


00001	//=============================================================================
00002	// Conrack.
00003	//=============================================================================
00004	class Conrack expands Viking;
00005	
00006	
00007	//============================================================
00008	//
00009	// PainSkin
00010	//
00011	// returns the pain skin for a given polygroup
00012	//============================================================
00013	function Texture PainSkin(int BodyPart)
00014	{
00015		switch(BodyPart)
00016		{
00017			case BODYPART_TORSO:
00018				SkelGroupSkins[1] = Texture'players.ragnarcon_chestpain';
00019				break;
00020			case BODYPART_HEAD:
00021				SkelGroupSkins[11] = Texture'players.ragnarcon_headpain';
00022				break;
00023			case BODYPART_LARM1:
00024				SkelGroupSkins[10] = Texture'players.ragnarcon_armlegpain';
00025				break;
00026			case BODYPART_RARM1:
00027				SkelGroupSkins[5] = Texture'players.ragnarcon_armlegpain';
00028				break;
00029			case BODYPART_LLEG1:
00030				SkelGroupSkins[2] = Texture'players.ragnarcon_armlegpain';
00031				break;
00032			case BODYPART_RLEG1:
00033				SkelGroupSkins[3] = Texture'players.ragnarcon_armlegpain';
00034				break;
00035		}
00036		return None;
00037	}
00038	
00039	//============================================================
00040	//
00041	// BodyPartForPolyGroup
00042	//
00043	//============================================================
00044	function int BodyPartForPolyGroup(int polygroup)
00045	{
00046		switch(polygroup)
00047		{
00048			case 11:					return BODYPART_HEAD;
00049			case 10:					return BODYPART_LARM1;
00050			case 5:						return BODYPART_RARM1;
00051			case 2:						return BODYPART_LLEG1;
00052			case 3:						return BODYPART_RLEG1;
00053			case 4: case 7: case 8:	// Gore caps
00054			case 6: case 9:			// Arm stubs
00055			case 1:						return BODYPART_TORSO;
00056		}
00057		return BODYPART_BODY;
00058	}
00059	
00060	//============================================================
00061	//
00062	// ApplyGoreCap
00063	//
00064	//============================================================
00065	function ApplyGoreCap(int BodyPart)
00066	{
00067		switch(BodyPart)
00068		{	// no gore caps exist
00069			case BODYPART_LARM1:
00070				SkelGroupSkins[8] = Texture'runefx.gore_bone';
00071				SkelGroupFlags[8] = SkelGroupFlags[8] & ~POLYFLAG_INVISIBLE;
00072				break;
00073			case BODYPART_RARM1:
00074				SkelGroupSkins[7] = Texture'runefx.gore_bone';
00075				SkelGroupFlags[7] = SkelGroupFlags[7] & ~POLYFLAG_INVISIBLE;
00076				break;
00077			case BODYPART_HEAD:
00078				SkelGroupSkins[4] = Texture'runefx.gore_bone';
00079				SkelGroupFlags[4] = SkelGroupFlags[4] & ~POLYFLAG_INVISIBLE;
00080				break;
00081		}
00082	}
00083	
00084	//================================================
00085	//
00086	// SeveredLimbClass
00087	//
00088	//================================================
00089	function class<Actor> SeveredLimbClass(int BodyPart)
00090	{
00091		switch(BodyPart)
00092		{
00093			case BODYPART_LARM1:
00094				return class'ConrackLArm';
00095			case BODYPART_RARM1:
00096				return class'ConrackRArm';
00097			case BODYPART_HEAD:
00098				return class'ConrackHead';
00099				break;
00100		}
00101	
00102		return None;
00103	}
00104	
00105	//===================================================================
00106	//
00107	// PlayDeath
00108	//
00109	// Conrack is a special character who is fought only once in the game
00110	// and he should NOT play a death animation, instead he plays a pain anim
00111	// (the actual death sequence is handled in a cinematic)
00112	//===================================================================
00113	function PlaySkewerDeath(name DamageType) { PlayDeath(DamageType); }
00114	
00115	function PlayDeath(name DamageType)           
00116	{ 
00117		PlayFrontHit(0.1);
00118	}
00119	
00120	defaultproperties
00121	{
00122	     AcquireSound=Sound'CreaturesSnd.Vikings.conrakambient02'
00123	     AmbientWaitSounds(0)=Sound'CreaturesSnd.Vikings.conrakambient01'
00124	     AmbientWaitSounds(1)=Sound'CreaturesSnd.Vikings.conrakambient02'
00125	     AmbientWaitSounds(2)=Sound'CreaturesSnd.Vikings.conrakambient03'
00126	     AmbientFightSounds(0)=Sound'CreaturesSnd.Vikings.conrakattack01'
00127	     AmbientFightSounds(1)=Sound'CreaturesSnd.Vikings.conrakattack02'
00128	     AmbientFightSounds(2)=Sound'CreaturesSnd.Vikings.conrakattack03'
00129	     AmbientWaitSoundDelay=9.000000
00130	     AmbientFightSoundDelay=6.000000
00131	     bIsBoss=True
00132	     CarcassType=None
00133	     Health=400
00134	     BodyPartHealth(1)=9999
00135	     BodyPartHealth(3)=9999
00136	     BodyPartHealth(5)=9999
00137	     bGibbable=False
00138	     HitSound1=Sound'CreaturesSnd.Vikings.conrakhit01'
00139	     HitSound2=Sound'CreaturesSnd.Vikings.conrakhit02'
00140	     HitSound3=Sound'CreaturesSnd.Vikings.conrakhit03'
00141	     Die=Sound'CreaturesSnd.Vikings.conrakdeath01'
00142	     Die2=Sound'CreaturesSnd.Vikings.conrakdeath02'
00143	     Die3=Sound'CreaturesSnd.Vikings.conrakdeath03'
00144	     MaxMouthRot=7000
00145	     MaxMouthRotRate=65535
00146	     SkelMesh=3
00147	     SkelGroupSkins(0)=Texture'Players.Ragnarcon_armleg'
00148	     SkelGroupSkins(1)=Texture'Players.Ragnarcon_chest'
00149	     SkelGroupSkins(2)=Texture'Players.Ragnarcon_armleg'
00150	     SkelGroupSkins(3)=Texture'Players.Ragnarcon_armleg'
00151	     SkelGroupSkins(4)=Texture'Players.Ragnarragd_arms'
00152	     SkelGroupSkins(5)=Texture'Players.Ragnarcon_armleg'
00153	     SkelGroupSkins(6)=Texture'Players.Ragnarcon_armleg'
00154	     SkelGroupSkins(7)=Texture'Players.Ragnarragd_arms'
00155	     SkelGroupSkins(8)=Texture'Players.Ragnarragd_arms'
00156	     SkelGroupSkins(9)=Texture'Players.Ragnarcon_armleg'
00157	     SkelGroupSkins(10)=Texture'Players.Ragnarcon_armleg'
00158	     SkelGroupSkins(11)=Texture'Players.Ragnarcon_head'
00159	}

End Source Code