cacontinuousquantitybloodtransfer.c 767 B

1234567891011121314151617181920212223242526272829
  1. class CAContinuousQuantityBloodTransfer : CAContinuousQuantityRepeat
  2. {
  3. override void CalcAndSetQuantity( ActionData action_data )
  4. {
  5. if ( GetGame().IsServer() )
  6. {
  7. if ( m_SpentUnits )
  8. {
  9. m_SpentUnits.param1 = m_SpentQuantity;
  10. SetACData(m_SpentUnits);
  11. }
  12. action_data.m_MainItem.AddQuantity( -m_SpentQuantity, false, false );
  13. ActionGiveBloodData action_data_b = ActionGiveBloodData.Cast( action_data );
  14. PlayerBase bloodtarget = PlayerBase.Cast( action_data.m_Target.GetObject() );
  15. if ( !bloodtarget )
  16. bloodtarget = action_data.m_Player;
  17. if( BloodTypes.MatchBloodCompatibility(action_data_b.m_ItemBloodType, bloodtarget.GetStatBloodType().Get()) )
  18. {
  19. bloodtarget.AddHealth("", "Blood", m_SpentQuantity);
  20. }
  21. }
  22. }
  23. }