hotstate.c 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. class HotSymptom extends SymptomBase
  2. {
  3. //this is just for the Symptom parameters set-up and is called even if the Symptom doesn't execute, don't put any gameplay code in here
  4. override void OnInit()
  5. {
  6. m_SymptomType = SymptomTypes.PRIMARY;
  7. m_Priority = 1;
  8. m_ID = SymptomIDs.SYMPTOM_HOT;
  9. m_DestroyOnAnimFinish = true;
  10. m_SyncToClient = false;
  11. m_MaxCount = 2;
  12. }
  13. //!gets called every frame
  14. override void OnUpdateServer(PlayerBase player, float deltatime)
  15. {
  16. }
  17. override void OnUpdateClient(PlayerBase player, float deltatime)
  18. {
  19. }
  20. override void OnAnimationPlayFailed()
  21. {
  22. }
  23. override bool CanActivate()
  24. {
  25. return true;
  26. }
  27. //!gets called once on an Symptom which is being activated
  28. override void OnGetActivatedServer(PlayerBase player)
  29. {
  30. if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetActivated", m_Player.ToString());
  31. HumanMovementState hms = new HumanMovementState();
  32. player.GetMovementState(hms);
  33. ItemBase item = m_Player.GetItemInHands();
  34. if (!(item && item.IsHeavyBehaviour()) && !m_Player.IsSurrendered() && m_Manager.GetCurrentCommandID() == DayZPlayerConstants.COMMANDID_MOVE && hms.m_iMovement == DayZPlayerConstants.MOVEMENTIDX_IDLE && !player.IsRestrained() )
  35. {
  36. PlayAnimationADD(3);
  37. }
  38. else
  39. {
  40. PlaySound(EPlayerSoundEventID.HOT);
  41. }
  42. }
  43. //!gets called once on a Symptom which is being activated
  44. override void OnGetActivatedClient(PlayerBase player)
  45. {
  46. if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetActivated", m_Player.ToString());
  47. }
  48. //!only gets called once on an active Symptom that is being deactivated
  49. override void OnGetDeactivatedServer(PlayerBase player)
  50. {
  51. if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetDeactivated", m_Player.ToString());
  52. }
  53. //!only gets called once on an active Symptom that is being deactivated
  54. override void OnGetDeactivatedClient(PlayerBase player)
  55. {
  56. if (LogManager.IsSymptomLogEnable()) Debug.SymptomLog("n/a", this.ToString(), "n/a", "OnGetDeactivated", m_Player.ToString());
  57. }
  58. override SmptAnimMetaBase SpawnAnimMetaObject()
  59. {
  60. return new HeatComfortmMetaADD();
  61. }
  62. }