bandagedressing.c 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. class BandageDressing extends ItemBase
  2. {
  3. //================================================================
  4. // IGNITION ACTION
  5. //================================================================
  6. override bool HasFlammableMaterial()
  7. {
  8. return true;
  9. }
  10. override bool CanBeIgnitedBy( EntityAI igniter = NULL )
  11. {
  12. if ( GetHierarchyParent() ) return false;
  13. return true;
  14. }
  15. override bool CanIgniteItem( EntityAI ignite_target = NULL )
  16. {
  17. return false;
  18. }
  19. override void OnIgnitedTarget( EntityAI ignited_item )
  20. {
  21. }
  22. override void OnIgnitedThis( EntityAI fire_source )
  23. {
  24. Fireplace.IgniteEntityAsFireplace( this, fire_source );
  25. }
  26. override bool IsThisIgnitionSuccessful( EntityAI item_source = NULL )
  27. {
  28. return Fireplace.CanIgniteEntityAsFireplace( this );
  29. }
  30. override void SetActions()
  31. {
  32. super.SetActions();
  33. AddAction(ActionBandageTarget);
  34. AddAction(ActionBandageSelf);
  35. AddAction(ActionCreateIndoorFireplace);
  36. AddAction(ActionCreateIndoorOven);
  37. AddAction(ActionAttach);
  38. AddAction(ActionDetach);
  39. }
  40. override float GetBandagingEffectivity()
  41. {
  42. return 2.0;
  43. };
  44. override bool CanBeDisinfected()
  45. {
  46. return true;
  47. }
  48. override float GetInfectionChance(int system = 0, Param param = null)
  49. {
  50. if(m_Cleanness == 1)
  51. {
  52. return 0;
  53. }
  54. else
  55. {
  56. return 0.05;
  57. }
  58. }
  59. override void OnCombine(ItemBase other_item)
  60. {
  61. super.OnCombine(other_item);
  62. if (m_Cleanness == 1 && other_item.m_Cleanness == 0)
  63. SetCleanness(0);
  64. }
  65. }