Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.29 KB | None | 0 0
  1. var(CreatureCarcass) enum EXUBloodType // Not in the clinical sense! copied from EXUScriptedPawn
  2. {
  3. BLOOD_Red,
  4. BLOOD_Green,
  5. BLOOD_Blue,
  6. BLOOD_Brown, // **** blood? What the ****
  7. BLOOD_White,
  8. BLOOD_MYBLOODvvvISvvvvvvBLACK, // UT3 taunts = hilarious
  9. BLOOD_None // For vehicles and **** if you don't want, say, an oily black discharge (that sounds really nasty)
  10. }
  11. Hemospectrum; // Couldn't resist the Homestuck reference because Homestuck ****ing kicks ass
  12.  
  13. simulated function PostBeginPlay()
  14. {
  15. Super.PostBeginPlay();
  16.  
  17. if(Instigator!=none && Instigator.IsA('EXUScriptedPawn'))
  18. {
  19.  
  20. if(EXUScriptedPawn(Instigator).Hemospectrum==BLOOD_Red)
  21. Hemospectrum=BLOOD_Red;
  22. if(EXUScriptedPawn(Instigator).Hemospectrum==BLOOD_Green)
  23. Hemospectrum=BLOOD_Green;
  24. if(EXUScriptedPawn(Instigator).Hemospectrum==BLOOD_Blue)
  25. Hemospectrum=BLOOD_Blue;
  26. if(EXUScriptedPawn(Instigator).Hemospectrum==BLOOD_Brown)
  27. Hemospectrum=BLOOD_Brown;
  28. if(EXUScriptedPawn(Instigator).Hemospectrum==BLOOD_White)
  29. Hemospectrum=BLOOD_White;
  30. if(EXUScriptedPawn(Instigator).Hemospectrum==BLOOD_MYBLOODvvvISvvvvvvBLACK)
  31. Hemospectrum=BLOOD_MYBLOODvvvISvvvvvvBLACK;
  32. if(EXUScriptedPawn(Instigator).Hemospectrum==BLOOD_None)
  33. Hemospectrum=BLOOD_None;
  34.  
  35. // broadcastmessage("Post-process: Instigator is: "$Instigator$" and its Hemospectrum is "$EXUScriptedPawn(Instigator).Hemospectrum$". Carcass Hemospectrum is: "$Hemospectrum);
  36. // log("Post-process: Instigator is: "$Instigator$" and its Hemospectrum is "$EXUScriptedPawn(Instigator).Hemospectrum$". Carcass Hemospectrum is: "$Hemospectrum);
  37. }
  38. }
  39.  
  40. function TakeDamage( int Damage, Pawn InstigatedBy, Vector Hitlocation,
  41. Vector Momentum, name DamageType)
  42. {
  43. local BloodSpurtEXU b;
  44.  
  45. if(Hemospectrum!=BLOOD_None)
  46. {
  47. b = Spawn(class'BloodSpurtEXU',,,HitLocation,rot(16384,0,0));
  48. if(b!=none)
  49. {
  50. // log("Spawned a "$b);
  51. // broadcastmessage("Spawned a "$b);
  52.  
  53. if(Hemospectrum==BLOOD_Red)
  54. b.InitRed();
  55. if(Hemospectrum==BLOOD_Green)
  56. b.InitGreen();
  57. if(Hemospectrum==BLOOD_Blue)
  58. b.InitBlue();
  59. if(Hemospectrum==BLOOD_Brown)
  60. b.InitBrown();
  61. if(Hemospectrum==BLOOD_White)
  62. b.InitWhite();
  63. if(Hemospectrum==BLOOD_MYBLOODvvvISvvvvvvBLACK)
  64. b.InitBlack();
  65. }
  66. }
  67. if ( !bPermanent )
  68. {
  69. if ( (DamageType == 'Corroded') && (Damage >= 100) )
  70. {
  71. bCorroding = true;
  72. GotoState('Corroding');
  73. }
  74. else
  75. Super.TakeDamage(Damage, instigatedBy, HitLocation, Momentum, DamageType);
  76. }
  77. }
  78.  
  79. function CreateReplacement()
  80. {
  81. local EXUCreatureChunks carc;
  82.  
  83. if (bHidden)
  84. return;
  85. if ( bodyparts[0] != None )
  86. carc = Spawn(class'EXUCreatureChunks',,, Location + ZOffset[0] * CollisionHeight * vect(0,0,1));
  87. if (carc != None)
  88. {
  89. carc.TrailSize = Trails[0];
  90. carc.Mesh = bodyparts[0];
  91. carc.bMasterChunk = true;
  92. carc.Initfor(self);
  93. carc.Bugs = Bugs;
  94. if ( Bugs != None )
  95. Bugs.SetBase(carc);
  96. Bugs = None;
  97.  
  98. if(Hemospectrum==BLOOD_Red)
  99. carc.Hemospectrum=BLOOD_Red;
  100. if(Hemospectrum==BLOOD_Green)
  101. carc.Hemospectrum=BLOOD_Green;
  102. if(Hemospectrum==BLOOD_Blue)
  103. carc.Hemospectrum=BLOOD_Blue;
  104. if(Hemospectrum==BLOOD_Brown)
  105. carc.Hemospectrum=BLOOD_Brown;
  106. if(Hemospectrum==BLOOD_White)
  107. carc.Hemospectrum=BLOOD_White;
  108. if(Hemospectrum==BLOOD_MYBLOODvvvISvvvvvvBLACK)
  109. carc.Hemospectrum=BLOOD_MYBLOODvvvISvvvvvvBLACK;
  110. if(Hemospectrum==BLOOD_None)
  111. carc.Hemospectrum=BLOOD_None;
  112. }
  113. else if ( Bugs != None )
  114. Bugs.Destroy();
  115. }
  116.  
  117. simulated function HitWall(vector HitNormal, actor Wall)
  118. {
  119. local BloodSpurtEXU b;
  120.  
  121. if(Hemospectrum!=BLOOD_None)
  122. {
  123. b = Spawn(class'BloodspurtEXU',,,,Rotator(HitNormal));
  124. if(b!=none)
  125. {
  126. // log("Spawned a "$b);
  127. // broadcastmessage("Spawned a "$b);
  128.  
  129. if(Hemospectrum==BLOOD_Red)
  130. b.InitRed();
  131. if(Hemospectrum==BLOOD_Green)
  132. b.InitGreen();
  133. if(Hemospectrum==BLOOD_Blue)
  134. b.InitBlue();
  135. if(Hemospectrum==BLOOD_Brown)
  136. b.InitBrown();
  137. if(Hemospectrum==BLOOD_White)
  138. b.InitWhite();
  139. if(Hemospectrum==BLOOD_MYBLOODvvvISvvvvvvBLACK)
  140. b.InitBlack();
  141.  
  142. b.RemoteRole = ROLE_None;
  143. }
  144. }
  145. Velocity = 0.7 * (Velocity - 2 * HitNormal * (Velocity Dot HitNormal));
  146. Velocity.Z *= 0.9;
  147. if ( Abs(Velocity.Z) < 120 )
  148. {
  149. bBounce = false;
  150. Disable('HitWall');
  151. }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement