DIFF

ActionExitLadder.c

class ActionExitLadder: ActionInteractBase
{
	void ActionExitLadder()
	{
		m_Text = "#exit_ladder";
	}
	
	override void CreateConditionComponents()  
	{
		m_ConditionItem 	= new CCINone();
		m_ConditionTarget 	= new CCTNone();
	}

	override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
	{	
	    HumanCommandLadder cl = player.GetCommand_Ladder();
		if (cl && cl.CanExit())
			return true;

		return false;
	}

	override void Start(ActionData action_data)
	{
		super.Start(action_data);

	    HumanCommandLadder cl = action_data.m_Player.GetCommand_Ladder();
		if (cl)
			cl.Exit();
	}

	override bool IsInstant()
	{
		return true;
	}

	override bool CanBeUsedOnLadder()
	{
		return true;
	}
	
	override bool IsLockTargetOnUse()
	{
		return false;
	}
}