SarkBall
Class SarkBallBotConrack

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

class SarkBallBotConrack
extends SarkBall.SarkBallBot

//----------------------------------------------------------- // //-----------------------------------------------------------

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

End Source Code