boat_01.c 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. class Boat_01_ColorBase : BoatScript
  2. {
  3. protected ref UniversalTemperatureSource m_UTSource;
  4. protected ref UniversalTemperatureSourceSettings m_UTSSettings;
  5. protected ref UniversalTemperatureSourceLambdaEngine m_UTSLEngine;
  6. void Boat_01()
  7. {
  8. //m_dmgContactCoef = 0.0790;
  9. //m_EngineStartOK = "Boat_01_engine_start_SoundSet";
  10. //m_EngineStartBattery = "";
  11. //m_EngineStartPlug = "Boat_01_engine_failed_start_sparkplugs_SoundSet";
  12. //m_EngineStartFuel = "Boat_01_engine_failed_start_fuel_SoundSet";
  13. //m_EngineStopFuel = "Boat_01_engine_stop_fuel_SoundSet";
  14. //SetEnginePos("0 0.7 -1.7");
  15. }
  16. override void EEInit()
  17. {
  18. super.EEInit();
  19. if (GetGame().IsServer() || !GetGame().IsMultiplayer())
  20. {
  21. m_UTSSettings = new UniversalTemperatureSourceSettings();
  22. m_UTSSettings.m_ManualUpdate = true;
  23. m_UTSSettings.m_TemperatureMin = 0;
  24. m_UTSSettings.m_TemperatureMax = 30;
  25. m_UTSSettings.m_TemperatureItemCap = GameConstants.ITEM_TEMPERATURE_NEUTRAL_ZONE_MIDDLE;
  26. m_UTSSettings.m_TemperatureCap = 0;
  27. m_UTSSettings.m_RangeFull = 0.5;
  28. m_UTSSettings.m_RangeMax = 2;
  29. m_UTSLEngine = new UniversalTemperatureSourceLambdaEngine();
  30. m_UTSource = new UniversalTemperatureSource(this, m_UTSSettings, m_UTSLEngine);
  31. }
  32. SetAnimationPhase("ShowDamage",0);
  33. SetAnimationPhase("HideDamage",1);
  34. }
  35. /*
  36. override void OnEngineStart()
  37. {
  38. super.OnEngineStart();
  39. if (GetGame().IsServer() || !GetGame().IsMultiplayer())
  40. {
  41. m_UTSource.SetDefferedActive(true, 20.0);
  42. }
  43. }
  44. override void OnEngineStop()
  45. {
  46. super.OnEngineStop();
  47. if (GetGame().IsServer() || !GetGame().IsMultiplayer())
  48. {
  49. m_UTSource.SetDefferedActive(false, 10.0);
  50. }
  51. }
  52. */
  53. override void EOnPostSimulate(IEntity other, float timeSlice)
  54. {
  55. if (GetGame().IsServer() || !GetGame().IsMultiplayer())
  56. {
  57. if (m_UTSource.IsActive())
  58. {
  59. m_UTSource.Update(m_UTSSettings, m_UTSLEngine);
  60. }
  61. }
  62. }
  63. override int GetAnimInstance()
  64. {
  65. return VehicleAnimInstances.ZODIAC;
  66. }
  67. override int GetSeatAnimationType(int posIdx)
  68. {
  69. switch (posIdx)
  70. {
  71. case 0:
  72. return DayZPlayerConstants.VEHICLESEAT_DRIVER;
  73. case 1:
  74. return DayZPlayerConstants.VEHICLESEAT_CODRIVER;
  75. case 2:
  76. return DayZPlayerConstants.VEHICLESEAT_PASSENGER_L;
  77. case 3:
  78. return DayZPlayerConstants.VEHICLESEAT_PASSENGER_R;
  79. }
  80. return 0;
  81. }
  82. override bool CanReleaseAttachment( EntityAI attachment )
  83. {
  84. if (!super.CanReleaseAttachment(attachment))
  85. return false;
  86. string attType = attachment.GetType();
  87. if (EngineIsOn() && attType == "SparkPlug")
  88. return false;
  89. return true;
  90. }
  91. override bool CanDisplayAttachmentCategory(string category_name)
  92. {
  93. if ( !super.CanDisplayAttachmentCategory(category_name))
  94. {
  95. return false;
  96. }
  97. return true;
  98. }
  99. override bool CanDisplayCargo()
  100. {
  101. if ( !super.CanDisplayCargo() )
  102. return false;
  103. return true;
  104. }
  105. /*
  106. override float OnSound(CarSoundCtrl ctrl, float oldValue)
  107. {
  108. return super.OnSound(ctrl, oldValue);
  109. }
  110. */
  111. override bool CanReachSeatFromSeat(int currentSeat, int nextSeat)
  112. {
  113. return true;
  114. }
  115. override void OnDamageDestroyed(int oldLevel)
  116. {
  117. SetAnimationPhase("HideAntiwater",1);
  118. }
  119. override void OnDebugSpawn()
  120. {
  121. float amount = GetFluidCapacity(BoatFluid.FUEL);
  122. Fill(BoatFluid.FUEL, amount);
  123. //-----ATTACHMENTS
  124. GetInventory().CreateInInventory("Sparkplug");
  125. }
  126. };
  127. class Boat_01_Blue : Boat_01_ColorBase {};
  128. class Boat_01_Orange : Boat_01_ColorBase {};
  129. class Boat_01_Black : Boat_01_ColorBase {};
  130. class Boat_01_Camo : Boat_01_ColorBase {};