Core.Object | +--Engine.Actor | +--Engine.Decoration | +--Engine.Carcass | +--UnrealShare.CreatureCarcass | +--UnrealShare.NaliCarcass | +--UnrealShare.CrucifiedNali
void
TakeDamage(int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, name damageType)
AnimEnd()
00001 //============================================================================= 00002 // CrucifiedNali. 00003 //============================================================================= 00004 class CrucifiedNali extends NaliCarcass; 00005 00006 #exec MESH IMPORT MESH=CrossNali ANIVFILE=MODELS\nali_x.3D DATAFILE=MODELS\nali_d.3D X=0 Y=0 Z=0 ZEROTEX=1 00007 #exec MESH ORIGIN MESH=CrossNali X=00 Y=-130 Z=30 YAW=64 ROLL=-64 00008 00009 #exec MESH SEQUENCE MESH=CrossNali SEQ=All STARTFRAME=0 NUMFRAMES=61 00010 #exec MESH SEQUENCE MESH=CrossNali SEQ=HeadDown STARTFRAME=0 NUMFRAMES=20 RATE=15 00011 #exec MESH SEQUENCE MESH=CrossNali SEQ=Writhe STARTFRAME=20 NUMFRAMES=30 RATE=15 00012 #exec MESH SEQUENCE MESH=CrossNali SEQ=Dead1 STARTFRAME=50 NUMFRAMES=1 00013 #exec MESH SEQUENCE MESH=CrossNali SEQ=Dead2 STARTFRAME=51 NUMFRAMES=1 00014 #exec MESH SEQUENCE MESH=CrossNali SEQ=Dead3 STARTFRAME=52 NUMFRAMES=1 00015 #exec MESH SEQUENCE MESH=CrossNali SEQ=Dead4 STARTFRAME=53 NUMFRAMES=1 00016 #exec MESH SEQUENCE MESH=CrossNali SEQ=Hang1 STARTFRAME=54 NUMFRAMES=1 GROUP=Upright 00017 #exec MESH SEQUENCE MESH=CrossNali SEQ=Hang2 STARTFRAME=55 NUMFRAMES=1 GROUP=Upright 00018 #exec MESH SEQUENCE MESH=CrossNali SEQ=Hang3 STARTFRAME=56 NUMFRAMES=1 GROUP=Upright 00019 #exec MESH SEQUENCE MESH=CrossNali SEQ=HangFeet STARTFRAME=57 NUMFRAMES=1 GROUP=Upright 00020 #exec MESH SEQUENCE MESH=CrossNali SEQ=Impaled STARTFRAME=58 NUMFRAMES=1 GROUP=Upright 00021 #exec MESH SEQUENCE MESH=CrossNali SEQ=Stocks STARTFRAME=59 NUMFRAMES=1 GROUP=Upright 00022 #exec MESH SEQUENCE MESH=CrossNali SEQ=Stretch STARTFRAME=60 NUMFRAMES=1 00023 00024 00025 #exec TEXTURE IMPORT NAME=JNali1 FILE=MODELS\nali.PCX GROUP=Skins 00026 #exec MESHMAP SCALE MESHMAP=crossnali X=0.072 Y=0.072 Z=0.144 00027 #exec MESHMAP SETTEXTURE MESHMAP=crossnali NUM=0 TEXTURE=Jnali1 00028 00029 auto state Dying 00030 { 00031 function AnimEnd() 00032 { 00033 if ( (AnimSequence == 'HeadDown') && (FRand() < 0.1) ) 00034 PlayAnim('Writhe', 0.3 + 0.6 * FRand()); 00035 else 00036 PlayAnim('HeadDown', 0.3 + 0.6 * FRand()); 00037 } 00038 00039 function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, 00040 Vector momentum, name damageType) 00041 { 00042 if ( (Damage > 40) || (momentum.Z/mass > 150) || (CumulativeDamage > 100) ) 00043 { 00044 Velocity = momentum/Mass; 00045 ChunkUp(Damage); 00046 } 00047 else 00048 { 00049 Spawn(class'BloodSpurt',,,HitLocation,rot(16384,0,0)); 00050 CumulativeDamage += Damage; 00051 if ( CumulativeDamage > 40 ) 00052 { 00053 Disable('AnimEnd'); 00054 TweenAnim('HeadDown', 0.22); 00055 } 00056 else 00057 PlayAnim('Writhe', 0.7, 0.1); 00058 } 00059 } 00060 00061 Begin: 00062 if ( AnimSequence == 'HeadDown' ) 00063 { 00064 SetCollision(true,true,true); 00065 PlayAnim('HeadDown'); 00066 } 00067 else 00068 { 00069 if ( GetAnimGroup(AnimSequence) != 'Upright' ) 00070 ReduceCylinder(); 00071 bReducedHeight = true; 00072 GotoState('Dead'); 00073 } 00074 } 00075 00076 defaultproperties 00077 { 00078 Physics=PHYS_None 00079 LifeSpan=0.000000 00080 AnimSequence=HeadDown 00081 Mesh=LodMesh'UnrealShare.CrossNali' 00082 }