ActionTurnOnWhileInHands.c
class ActionTurnOnWhileInHands : ActionSingleUseBase
{
void ActionTurnOnWhileInHands()
{
m_Text = "#switch_on";
}
override void CreateConditionComponents()
{
m_ConditionItem = new CCINonRuined();
m_ConditionTarget = new CCTNone();
}
override bool HasTarget()
{
return false;
}
override bool HasProneException()
{
return true;
}
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
{
if (item.IsInherited(Roadflare))
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_LIGHTFLARE;
m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_LITCHEMLIGHT;
}
else if (item.IsInherited(Chemlight_ColorBase))
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_LITCHEMLIGHT;
m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_LITCHEMLIGHT;
}
else if (item.IsInherited(GPSReceiver))
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_PRESS_TRIGGER;
m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_PRESS_TRIGGER;
}
else if (item.IsInherited(Heatpack))
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_HEATPACK;
m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_HEATPACK;
}
else
{
m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ITEM_ON;
m_CommandUIDProne = DayZPlayerConstants.CMD_ACTIONFB_ITEM_ON;
}
return item.HasEnergyManager() && item.GetCompEM().CanSwitchOn() && item.GetCompEM().CanWork();
}
override void OnExecuteServer(ActionData action_data)
{
if ( action_data.m_MainItem.HasEnergyManager() )
{
if (action_data.m_MainItem.GetCompEM().CanWork())
{
action_data.m_MainItem.GetCompEM().SwitchOn();
}
}
}
override void OnStartClient(ActionData action_data)
{
if (action_data.m_MainItem && action_data.m_MainItem.IsInherited(Roadflare))
{
Roadflare flare = Roadflare.Cast(action_data.m_MainItem);
flare.SetModelState(RoadflareModelStates.UNCAPPED_UNIGNITED);
}
}
override void OnStartServer( ActionData action_data )
{
super.OnStartServer(action_data);
if (action_data.m_MainItem && action_data.m_MainItem.IsInherited(Roadflare))
{
Roadflare flare = Roadflare.Cast(action_data.m_MainItem);
flare.SetModelState(RoadflareModelStates.UNCAPPED_UNIGNITED);
}
}
}