Advertisement
Mudbill

Hammer Animations (Amnesia)

Feb 26th, 2014
520
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. int swings = 0;
  2.  
  3. void OnStart()
  4. {
  5. AddUseItemCallback("", "ItemHammer", "AreaUseItem", "HammerAnimation", true);
  6. }
  7.  
  8. void HammerAnimation(string &in asItem, string &in asEntity)
  9. {
  10. SetEntityActive("ObjectHammer", true);
  11.  
  12. swings = 1;
  13.  
  14. StartPlayerLookAt("ObjectHammer", 2, 2, "");
  15.  
  16. AddTimer("movehammer", 0.1, "TimerMoveHammer");
  17. AddTimer("hammersound", 0.27, "TimerMoveHammer");
  18. AddTimer("resethammer", 0.4, "TimerMoveHammer");
  19. AddTimer("repeat", 0.6, "TimerMoveHammer");
  20.  
  21. PlaySoundAtEntity("", "15_rock_break", "FakeWall", 0, false);
  22. PlaySoundAtEntity("", "15_make_hammer", "Player", 0.25, false);
  23. PlaySoundAtEntity("", "03_rock_move", "FakeWall", 2, false);
  24. }
  25.  
  26. void TimerMoveHammer(string &in asTimer)
  27. {
  28. if(asTimer == "movehammer") SetMoveObjectState("ObjectHammer", 0.4);
  29.  
  30. else if(asTimer == "hammersound") {
  31. StopPlayerLookAt();
  32. PlaySoundAtEntity("", "impact_rock_high", "Player", 0, false);
  33. PlaySoundAtEntity("", "15_hammer", "Player", 0, false);
  34. }
  35.  
  36. else if(asTimer == "resethammer") SetMoveObjectState("ObjectHammer", 0);
  37.  
  38. if(swings < 3 && asTimer == "repeat") {
  39. AddTimer("movehammer", 0.01, "TimerMoveHammer");
  40. AddTimer("hammersound", 0.17, "TimerMoveHammer");
  41. AddTimer("resethammer", 0.3, "TimerMoveHammer");
  42. AddTimer("repeat", 0.5, "TimerMoveHammer");
  43.  
  44. swings = swings + 1;
  45. }
  46.  
  47. else if(swings == 3 && asTimer == "repeat") {
  48. AddTimer("movehammer", 0.2, "TimerMoveHammer");
  49. AddTimer("hammersound", 0.37, "TimerMoveHammer");
  50. AddTimer("resethammer", 0.5, "TimerMoveHammer");
  51. AddTimer("repeat", 0.8, "TimerMoveHammer");
  52.  
  53. AddTimer("break", 0.42, "TimerMoveHammer");
  54.  
  55. swings = swings + 1;
  56. }
  57.  
  58. else if(swings == 4 && asTimer == "break") FinishAnimation();
  59.  
  60. else if(swings == 4 && asTimer == "repeat") SetEntityActive("ObjectHammer", false);
  61. }
  62.  
  63. void FinishAnimation()
  64. {
  65. SetPropHealth("FakeWall", 0);
  66. GiveSanityBoost();
  67. PlaySoundAtEntity("", "03_break_wall", "FakeWall", 0, false);
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement