contaminatedarea_local.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. class ContaminatedArea_Local : ContaminatedArea_Dynamic
  2. {
  3. const float TICK_RATE = 1;
  4. ref Timer m_Timer1 = new Timer;
  5. float m_Lifetime = 360;
  6. // ----------------------------------------------
  7. // INITIAL SETUP
  8. // ----------------------------------------------
  9. void ContaminatedArea_Local()
  10. {
  11. m_EffectsPriority = -10;
  12. }
  13. override void SetupZoneData( EffectAreaParams params )
  14. {
  15. params.m_ParamPartId = ParticleList.CONTAMINATED_AREA_GAS_AROUND;
  16. params.m_ParamInnerRings = 0;
  17. params.m_ParamPosHeight = 3;
  18. params.m_ParamNegHeight = 5;
  19. params.m_ParamRadius = 10;
  20. params.m_ParamOuterToggle = false;
  21. params.m_ParamTriggerType = "ContaminatedTrigger_Local";
  22. params.m_ParamAroundPartId = 0;
  23. params.m_ParamTinyPartId = 0;
  24. super.SetupZoneData( params );
  25. }
  26. override void EEInit()
  27. {
  28. if (GetGame().IsServer() || !GetGame().IsMultiplayer())
  29. {
  30. SetupZoneData(new EffectAreaParams);
  31. m_Timer1.Run(TICK_RATE, this, "Tick", NULL, true);
  32. }
  33. }
  34. override void SpawnItems()
  35. {
  36. // override base funcionality as we don't want any items spawned here
  37. }
  38. override float GetStartDecayLifetime()
  39. {
  40. return 20;
  41. }
  42. override float GetFinishDecayLifetime()
  43. {
  44. return 10;
  45. }
  46. override float GetRemainingTime()
  47. {
  48. return m_Lifetime;
  49. }
  50. override void Tick()
  51. {
  52. m_Lifetime -= TICK_RATE;
  53. if (m_Lifetime <= 0)
  54. {
  55. Delete();
  56. }
  57. }
  58. }