Advertisement
Guest User

_shellshock - Notesblok

a guest
Nov 19th, 2011
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.01 KB | None | 0 0
  1. #include maps\mp\_utility;
  2. #include common_scripts\utility;
  3.  
  4. init()
  5. {
  6. precacheShellShock( "frag_grenade_mp" );
  7. precacheShellShock( "damage_mp" );
  8. precacheRumble( "artillery_rumble" );
  9. precacheRumble( "grenade_rumble" );
  10.  
  11. PrecacheMenu( "dirt_effect_center" );
  12. PrecacheMenu( "dirt_effect_left" );
  13. PrecacheMenu( "dirt_effect_right" );
  14.  
  15. PrecacheMenu( "blood_effect_center" );
  16. PrecacheMenu( "blood_effect_left" );
  17. PrecacheMenu( "blood_effect_right" );
  18. }
  19.  
  20. shellshockOnDamage( cause, damage )
  21. {
  22. if ( self maps\mp\_flashgrenades::isFlashbanged() )
  23. return; // don't interrupt flashbang shellshock
  24.  
  25. if ( cause == "MOD_EXPLOSIVE" ||
  26. cause == "MOD_GRENADE" ||
  27. cause == "MOD_GRENADE_SPLASH" ||
  28. cause == "MOD_PROJECTILE" ||
  29. cause == "MOD_PROJECTILE_SPLASH" )
  30. {
  31. if ( damage > 10 )
  32. {
  33. if ( isDefined(self.shellShockReduction) && self.shellShockReduction )
  34. self shellshock( "frag_grenade_mp", self.shellShockReduction );
  35. else
  36. self shellshock("frag_grenade_mp", 0.5);
  37. }
  38. }
  39. }
  40.  
  41. endOnDeath()
  42. {
  43. self waittill( "death" );
  44. waittillframeend;
  45. self notify ( "end_explode" );
  46. }
  47.  
  48. grenade_earthQuake()
  49. {
  50. self thread endOnDeath();
  51. self endon( "end_explode" );
  52. self waittill( "explode", position );
  53. PlayRumbleOnPosition( "grenade_rumble", position );
  54. earthquake( 0.5, 0.75, position, 800 );
  55. wii_play_grenade_rumble( position );
  56.  
  57. foreach ( player in level.players )
  58. {
  59. if ( player isUsingRemote() )
  60. continue;
  61.  
  62. if ( distance( position, player.origin ) > 600 )
  63. continue;
  64.  
  65. if ( player DamageConeTrace( position ) )
  66. player thread dirtEffect( position );
  67. }
  68. }
  69.  
  70.  
  71. dirtEffect( position )
  72. {
  73. self endon ( "disconnect" );
  74.  
  75. forwardVec = vectorNormalize( anglesToForward( self.angles ) );
  76. rightVec = vectorNormalize( anglesToRight( self.angles ) );
  77. grenadeVec = vectorNormalize( position - self.origin );
  78.  
  79. fDot = vectorDot( grenadeVec, forwardVec );
  80. rDot = vectorDot( grenadeVec, rightVec );
  81.  
  82. printLn( fDot );
  83. printLn( rDot );
  84.  
  85. effectMenus = [];
  86. if ( fDot > 0 && fDot > 0.5 && self getCurrentWeapon() != "riotshield_mp" )
  87. effectMenus[effectMenus.size] = "dirt_effect_center";
  88.  
  89. if ( abs(fDot) < 0.866 )
  90. {
  91. if ( rDot > 0 )
  92. effectMenus[effectMenus.size] = "dirt_effect_right";
  93. else
  94. effectMenus[effectMenus.size] = "dirt_effect_left";
  95. }
  96.  
  97. foreach ( menu in effectMenus )
  98. self openMenu( menu );
  99.  
  100. if ( isAlive( self ) )
  101. self waittill_notify_or_timeout( "death", 2.0 );
  102.  
  103. foreach ( menu in effectMenus )
  104. self closeMenu( menu );
  105. }
  106.  
  107. bloodEffect( position )
  108. {
  109. self endon ( "disconnect" );
  110.  
  111. forwardVec = vectorNormalize( anglesToForward( self.angles ) );
  112. rightVec = vectorNormalize( anglesToRight( self.angles ) );
  113. damageVec = vectorNormalize( position - self.origin );
  114.  
  115. fDot = vectorDot( damageVec, forwardVec );
  116. rDot = vectorDot( damageVec, rightVec );
  117.  
  118. printLn( fDot );
  119. printLn( rDot );
  120.  
  121. effectMenus = [];
  122. if ( fDot > 0 && fDot > 0.5 )
  123. effectMenus[effectMenus.size] = "blood_effect_center";
  124.  
  125. if ( abs(fDot) < 0.866 )
  126. {
  127. if ( rDot > 0 )
  128. effectMenus[effectMenus.size] = "blood_effect_right";
  129. else
  130. effectMenus[effectMenus.size] = "blood_effect_left";
  131. }
  132.  
  133. foreach ( menu in effectMenus )
  134. self openMenu( menu );
  135.  
  136. if ( isAlive( self ) )
  137. self waittill_notify_or_timeout( "death", 7.0 );
  138.  
  139. foreach ( menu in effectMenus )
  140. self closeMenu( menu );
  141. }
  142.  
  143. c4_earthQuake()
  144. {
  145. self thread endOnDeath();
  146. self endon( "end_explode" );
  147. self waittill( "explode", position );
  148. PlayRumbleOnPosition( "grenade_rumble", position );
  149. earthquake( 0.4, 0.75, position, 512 );
  150. wii_play_grenade_rumble( position );
  151. }
  152.  
  153. barrel_earthQuake()
  154. {
  155. PlayRumbleOnPosition( "grenade_rumble", self.origin );
  156. earthquake( 0.4, 0.5, self.origin, 512 );
  157. wii_play_grenade_rumble( self.origin );
  158. }
  159.  
  160.  
  161. artillery_earthQuake()
  162. {
  163. PlayRumbleOnPosition( "artillery_rumble", self.origin );
  164. earthquake( 0.7, 0.5, self.origin, 800 );
  165. wii_play_grenade_rumble( self.origin );
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement