Advertisement
NachosEater

_damagefeedback

Nov 19th, 2011
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. init()
  2. {
  3. precacheShader("damage_feedback");
  4. precacheShader("damage_feedback_j");
  5. precacheShader("damage_feedback_lightarmor");
  6. precacheShader("damage_feedback_juggernaut");
  7. precacheShader("scavenger_pickup");
  8.  
  9. level thread onPlayerConnect();
  10. }
  11.  
  12. onPlayerConnect()
  13. {
  14. for(;;)
  15. {
  16. level waittill("connected", player);
  17.  
  18. player.hud_damagefeedback = newdamageindicatorhudelem(player); //*newClientHudElem(player);
  19. player.hud_damagefeedback.horzAlign = "center";
  20. player.hud_damagefeedback.vertAlign = "middle";
  21. player.hud_damagefeedback.x = -12;
  22. player.hud_damagefeedback.y = -12;
  23. player.hud_damagefeedback.alpha = 0;
  24. player.hud_damagefeedback.archived = true;
  25. player.hud_damagefeedback setShader("damage_feedback", 24, 48);
  26.  
  27. player scavenger_hud_create();
  28. }
  29. }
  30.  
  31. scavenger_hud_create()
  32. {
  33. self.scavenger_icon = NewClientHudElem( self );
  34. self.scavenger_icon.horzAlign = "center";
  35. self.scavenger_icon.vertAlign = "middle";
  36. self.scavenger_icon.x = -36;
  37. self.scavenger_icon.y = 32;
  38. self.scavenger_icon.alpha = 0;
  39.  
  40. width = 64;
  41. height = 32;
  42.  
  43. self.scavenger_icon setShader( "scavenger_pickup", width, height );
  44. }
  45.  
  46.  
  47. updateDamageFeedback( typeHit )
  48. {
  49. if ( !isPlayer( self ) )
  50. return;
  51.  
  52. x = -12;
  53. y = -12;
  54.  
  55. if ( getDvarInt( "camera_thirdPerson" ) )
  56. yOffset = self GetThirdPersonCrosshairOffset() * 240;
  57. else
  58. yOffset = getdvarfloat( "cg_crosshairVerticalOffset" ) * 240;
  59.  
  60. if ( level.splitscreen )
  61. yOffset *= 0.5;
  62.  
  63. feedbackDurationOverride = 0;
  64. startAlpha = 1;
  65.  
  66. if ( typeHit == "hitBodyArmor" )
  67. {
  68. self.hud_damagefeedback setShader("damage_feedback_j", 24, 48);
  69. self playlocalsound("MP_hit_alert"); // TODO: change sound?
  70. }
  71. else if ( typeHit == "hitLightArmor" )
  72. {
  73. self.hud_damagefeedback setShader("damage_feedback_lightarmor", 24, 48);
  74. self playlocalsound("MP_hit_alert");
  75. }
  76. else if ( typeHit == "hitJuggernaut" )
  77. {
  78. self.hud_damagefeedback setShader("damage_feedback_juggernaut", 24, 48);
  79. self playlocalsound("MP_hit_alert");
  80. }
  81. else if ( typeHit == "none" )
  82. {
  83. return;
  84. }
  85. else if ( typeHit == "scavenger" && !level.hardcoreMode )
  86. {
  87. //changed to use the scavanger icon so it doens't follow the reticule
  88. self.scavenger_icon.alpha = startAlpha;
  89. self.scavenger_icon fadeOverTime( 2.5 );
  90. self.scavenger_icon.alpha = 0;
  91. return;
  92. }
  93. else
  94. {
  95. self.hud_damagefeedback setShader("damage_feedback", 24, 48);
  96. self playlocalsound("MP_hit_alert");
  97. }
  98.  
  99. self.hud_damagefeedback.alpha = startAlpha;
  100. if ( feedBackDurationOverride != 0 )
  101. self.hud_damagefeedback fadeOverTime(feedbackDurationOverride);
  102. else
  103. self.hud_damagefeedback fadeOverTime(1);
  104.  
  105. self.hud_damagefeedback.alpha = 0;
  106.  
  107. // only update hudelem positioning when necessary
  108. if ( self.hud_damagefeedback.x != x )
  109. self.hud_damagefeedback.x = x;
  110.  
  111. y = y - int( yOffset );
  112. if ( self.hud_damagefeedback.y != y )
  113. self.hud_damagefeedback.y = y;
  114. }
  115.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement