CAContinuousQuantityExtinguish.c
class CAContinuousQuantityExtinguish : CAContinuousQuantityRepeat
{
private float m_WetnessGainMultiplier = 1.0;
void CAContinuousQuantityExtinguish(float quantity_used_per_second, float time_to_repeat, float wetness_gain_multiplier)
{
m_QuantityUsedPerSecond = quantity_used_per_second;
m_DefaultTimeToRepeat = time_to_repeat;
m_WetnessGainMultiplier = wetness_gain_multiplier;
}
override void CalcAndSetQuantity(ActionData action_data)
{
if (g_Game.IsServer())
{
if ( m_SpentUnits )
{
m_SpentUnits.param1 = m_SpentQuantity;
SetACData(m_SpentUnits);
}
Object targetObject = action_data.m_Target.GetObject();
if ( targetObject )
{
FireplaceBase fireplace = FireplaceBase.Cast(targetObject);
//add wetness to fireplace targets
float wetness = (m_SpentQuantity / 1000) * m_WetnessGainMultiplier;
fireplace.AddWetnessToFireplace(wetness);
//subtract quantity from water source
action_data.m_MainItem.AddQuantity(-m_SpentQuantity);
}
}
}
void MultiplyQuantityUsed(float coef)
{
m_QuantityUsedPerSecond *= coef;
}
}