handshivers.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. class HandShiversSymptom extends SymptomBase
  2. {
  3. int m_ShakeLevel;
  4. //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
  5. override void OnInit()
  6. {
  7. m_SymptomType = SymptomTypes.SECONDARY;
  8. m_Priority = 0;
  9. m_ID = SymptomIDs.SYMPTOM_HAND_SHIVER;
  10. m_SyncToClient = false;
  11. }
  12. override void SetParam(Param p)
  13. {
  14. Param1<int> p1 = Param1<int>.Cast(p);
  15. if ( p1 )
  16. {
  17. m_ShakeLevel = p1.param1;
  18. if ( m_ShakeLevel > PlayerBase.SHAKE_LEVEL_MAX )
  19. {
  20. m_ShakeLevel = PlayerBase.SHAKE_LEVEL_MAX;
  21. }
  22. }
  23. }
  24. override void OnUpdateClient(PlayerBase player, float deltatime)
  25. {
  26. }
  27. override void OnGetActivatedServer(PlayerBase player)
  28. {
  29. player.SetShakesForced(m_ShakeLevel);
  30. }
  31. override void OnGetDeactivatedServer(PlayerBase player)
  32. {
  33. player.SetShakesForced(0);
  34. }
  35. override void OnGetActivatedClient(PlayerBase player)
  36. {
  37. }
  38. //!only gets called once on an active Symptom that is being deactivated
  39. override void OnGetDeactivatedClient(PlayerBase player)
  40. {
  41. }
  42. }