casingleusequantityedible.c 936 B

12345678910111213141516171819202122232425262728293031323334
  1. class CASingleUseQuantityEdible : CASingleUseQuantity
  2. {
  3. void CASingleUseQuantityEdible( float quantity_used_per_action )
  4. {
  5. m_QuantityUsedPerAction = quantity_used_per_action;
  6. }
  7. override void CalcAndSetQuantity(ActionData action_data )
  8. {
  9. if ( m_SpentUnits )
  10. {
  11. m_SpentUnits.param1 = m_QuantityUsedPerAction;
  12. SetACData(m_SpentUnits);
  13. }
  14. PlayerBase ntarget = PlayerBase.Cast( action_data.m_Target.GetObject() );
  15. if ( ntarget )
  16. {
  17. if ( GetGame().IsServer() )
  18. {
  19. //action_data.m_MainItem.Consume(ntarget, m_QuantityUsedPerAction);
  20. ntarget.Consume(action_data.m_MainItem, m_QuantityUsedPerAction, EConsumeType.ITEM_SINGLE_TIME);
  21. }
  22. }
  23. else
  24. {
  25. if ( GetGame().IsServer() )
  26. {
  27. //action_data.m_MainItem.Consume(action_data.m_Player, m_QuantityUsedPerAction);
  28. action_data.m_Player.Consume(action_data.m_MainItem, m_QuantityUsedPerAction, EConsumeType.ITEM_SINGLE_TIME);
  29. }
  30. }
  31. }
  32. };