ActionBandageSelf.c
class ActionBandageSelfCB : ActionContinuousBaseCB
{
override void CreateActionComponent()
{
float effectivity = m_ActionData.m_MainItem.GetBandagingEffectivity();
float adjustedTimeSpent = 0;
if (effectivity > 0)
adjustedTimeSpent = UATimeSpent.BANDAGE / effectivity;
m_ActionData.m_ActionComponent = new CAContinuousRepeat(adjustedTimeSpent);
}
}
class ActionBandageSelf : ActionBandageBase
{
void ActionBandageSelf()
{
m_CallbackClass = ActionBandageSelfCB;
m_CommandUID = DayZPlayerConstants.CMD_ACTIONFB_BANDAGE;
m_FullBody = true;
m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH;
m_Text = "#treat_wound";
}
override void CreateConditionComponents()
{
m_ConditionItem = new CCINonRuined();
m_ConditionTarget = new CCTSelf();
}
override bool HasTarget()
{
return false;
}
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
{
return player.IsBleeding();
}
override void OnFinishProgressServer(ActionData action_data)
{
PlayerBase target = PlayerBase.Cast(action_data.m_Player);
if (action_data.m_MainItem && target)
ApplyBandage(action_data.m_MainItem, target);
}
}