12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- class ActionExtinguishFireplaceByExtinguisherCB : ActionContinuousBaseCB
- {
- private const float TIME_TO_REPEAT = 0.5;
- private const float WETNESS_GAIN_MULTIPLIER = 0.5;
-
- override void CreateActionComponent()
- {
- m_ActionData.m_ActionComponent = new CAContinuousQuantityExtinguish(UAQuantityConsumed.FIREPLACE_EXTINGUISHER, TIME_TO_REPEAT, WETNESS_GAIN_MULTIPLIER);
- CAContinuousQuantityExtinguish.Cast(m_ActionData.m_ActionComponent).MultiplyQuantityUsed(m_ActionData.m_MainItem.GetLiquidThroughputCoef());
- }
- }
- class ActionExtinguishFireplaceByExtinguisher : ActionContinuousBase
- {
- void ActionExtinguishFireplaceByExtinguisher()
- {
- m_CallbackClass = ActionExtinguishFireplaceByExtinguisherCB;
- m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_FIREESTINGUISHER;
- m_FullBody = true;
- m_StanceMask = DayZPlayerConstants.STANCEMASK_ERECT;
- m_SpecialtyWeight = UASoftSkillsWeight.ROUGH_MEDIUM;
- m_Text = "#extinguish";
- }
-
- override void CreateConditionComponents()
- {
- m_ConditionItem = new CCINonRuined();
- m_ConditionTarget = new CCTDummy();
- }
- override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
- {
- Object targetObject = target.GetObject();
- if (targetObject.IsFireplace())
- {
- FireplaceBase fireplace = FireplaceBase.Cast(targetObject);
-
- if (fireplace.CanExtinguishFire() && !item.IsDamageDestroyed())
- return true;
- }
-
- return false;
- }
-
- override void OnStartAnimationLoop(ActionData action_data)
- {
- super.OnStartAnimationLoop(action_data);
-
- FireplaceBase fireplace = FireplaceBase.Cast(action_data.m_Target.GetObject());
- fireplace.SetExtinguishingState();
- }
-
- override void OnEndServer(ActionData action_data)
- {
- super.OnEndServer(action_data);
-
- FireplaceBase fireplace = FireplaceBase.Cast(action_data.m_Target.GetObject());
- fireplace.RefreshFireState();
- }
- }
|