DayZ 1.24
Loading...
Searching...
No Matches
ActionTurnOffWhileOnGround.c
Go to the documentation of this file.
2{
4 {
5 m_CommandUID = DayZPlayerConstants.CMD_ACTIONMOD_INTERACTONCE;
6 m_StanceMask = DayZPlayerConstants.STANCEMASK_CROUCH | DayZPlayerConstants.STANCEMASK_ERECT;
7 m_Text = "#switch_off";
8 }
9
10 override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
11 {
12 EntityAI target_entity = EntityAI.Cast(target.GetObject());
13
15 target_entity.GetInventory().GetCurrentInventoryLocation(loc);
16
17 return (player.IsAlive() && target_entity.HasEnergyManager() && target_entity.GetCompEM().CanSwitchOff()) && loc.GetType() == InventoryLocationType.GROUND);
18 }
19
21 {
22 EntityAI target_entity = EntityAI.Cast(action_data.m_Target.GetObject());
23
24 if (target_entity.GetCompEM().CanSwitchOff())
25 {
26 target_entity.GetCompEM().SwitchOff();
27
28 InformPlayers(action_data.m_Player, action_data.m_Target, UA_FINISHED); //Success
29 }
30 else
31 {
32 InformPlayers(action_data.m_Player, action_data.m_Target, UA_FAILED); //Already turned off
33 }
34 }
35}
string m_Text
Definition ActionBase.c:49
void InformPlayers(PlayerBase player, ActionTarget target, int state)
DEPRECATED delivers message ids to clients based on given context.
int m_StanceMask
Definition ActionBase.c:53
InventoryLocationType
types of Inventory Location
override void OnExecuteServer(ActionData action_data)
override bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
InventoryLocation.
DayZPlayerConstants
defined in C++
Definition dayzplayer.c:597
const int UA_FINISHED
Definition constants.c:436
const int UA_FAILED
Definition constants.c:433