1234567891011121314151617181920212223242526272829303132333435363738394041 |
- 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 (GetGame().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;
- }
- }
|