CAContinuousQuantityBloodTransfer.c
class CAContinuousQuantityBloodTransfer : CAContinuousQuantityRepeat
{
override void CalcAndSetQuantity( ActionData action_data )
{
if ( g_Game.IsServer() )
{
if ( m_SpentUnits )
{
m_SpentUnits.param1 = m_SpentQuantity;
SetACData(m_SpentUnits);
}
action_data.m_MainItem.AddQuantity( -m_SpentQuantity, false, false );
ActionGiveBloodData action_data_b = ActionGiveBloodData.Cast( action_data );
PlayerBase bloodtarget = PlayerBase.Cast( action_data.m_Target.GetObject() );
if ( !bloodtarget )
bloodtarget = action_data.m_Player;
if( BloodTypes.MatchBloodCompatibility(action_data_b.m_ItemBloodType, bloodtarget.GetStatBloodType().Get()) )
{
bloodtarget.AddHealth("", "Blood", m_SpentQuantity);
}
}
}
}