12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- class ActionSwitchLights: ActionInteractBase
- {
- void ActionSwitchLights()
- {
- m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_HEADLIGHT;
- m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
- m_Text = "#switch_lights";
- }
- override void CreateConditionComponents()
- {
- m_ConditionItem = new CCINone;
- m_ConditionTarget = new CCTNone;
- }
- override typename GetInputType()
- {
- return ToggleLightsActionInput;
- }
-
- override bool HasTarget()
- {
- return false;
- }
- override bool ActionCondition( PlayerBase player, ActionTarget target, ItemBase item )
- {
- HumanCommandVehicle vehCommand = player.GetCommand_Vehicle();
- if ( vehCommand )
- {
- Transport trans = vehCommand.GetTransport();
- if ( trans )
- {
- CarScript car;
- if ( Class.CastTo(car, trans) )
- {
- if ( car.CrewMemberIndex( player ) == DayZPlayerConstants.VEHICLESEAT_DRIVER )
- {
- if ( !car.IsScriptedLightsOn() )
- {
- EntityAI neededItem = null;
- if ( car.IsVitalCarBattery() ) neededItem = car.FindAttachmentBySlotName("CarBattery");
- if ( car.IsVitalTruckBattery() ) neededItem = car.FindAttachmentBySlotName("TruckBattery");
-
- if (neededItem && !neededItem.IsRuined())
- {
- return neededItem.GetCompEM() && neededItem.GetCompEM().GetEnergy() > 0;
- }
- }
- else
- {
- return true;
- }
- }
- }
- }
- }
- return false;
- }
- override void OnExecuteServer( ActionData action_data )
- {
- HumanCommandVehicle vehCommand = action_data.m_Player.GetCommand_Vehicle();
- if ( vehCommand )
- {
- Transport trans = vehCommand.GetTransport();
- if ( trans )
- {
- CarScript car;
- if ( Class.CastTo(car, trans) )
- {
- car.ToggleHeadlights();
- }
- }
- }
- }
-
- override bool CanBeUsedInVehicle()
- {
- return true;
- }
- };
|