DIFF

ActionUnpin.c

class ActionUnpin extends ActionSingleUseBase
{
	void ActionUnpin()
	{
		m_Text = "#unpin";
	}
	
	override void CreateConditionComponents()  
	{	
		m_ConditionItem = new CCINonRuined;
		m_ConditionTarget = new CCTNone;
	}

	override bool HasTarget()
	{
		return false;
	}

	override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
	{
		if ( item.IsInherited(Grenade_Base) )
		{
			m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_UNPINGRENAGE;
		}
		else
		{
			m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_ITEM_ON;
		}
		
		Grenade_Base grenade = Grenade_Base.Cast(item);
		if( grenade )
		{
			if( grenade.IsPinned() )
			{
				return true;
			}
		}

		return false;
	}

	override void OnExecute( ActionData action_data )
	{
		Grenade_Base grenade = Grenade_Base.Cast(action_data.m_MainItem);
		if( grenade )
		{
			grenade.Unpin();
		}
	}
}