DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ Can() [2/2]

bool Can ( PlayerBase player,
ActionTarget target,
ItemBase item,
int condition_mask )
protected

См. определение в файле ActionBase.c строка 929

930 {
931 if (( (condition_mask & m_ConditionMask) != condition_mask ) || ( !IsFullBodyEx(player, target, item) && !player.IsPlayerInStance(GetStanceMaskEx(player, target, item)) ) || player.IsRolling())
932 return false;
933
934 if (HasTarget())
935 {
936 if (!FirearmActionBase.Cast(this))
937 {
938 EntityAI entity = EntityAI.Cast(target.GetObject());
939 if (entity && !target.GetObject().IsMan())
940 {
941 Man man = entity.GetHierarchyRootPlayer();
942 if (man && man != player)
943 return false;
944 }
945 }
946
947 if (m_ConditionTarget && !m_ConditionTarget.Can(player, target))
948 return false;
949 }
950
951 if (m_ConditionItem && !m_ConditionItem.Can(player, item))
952 return false;
953
954 if (!ActionCondition(player, target, item))
955 return false;
956
957 if (IsFullBodyEx(player, target, item))
958 {
959 int nextStance = GetClosestPossibleStance(player, target, item);
960 int stanceIdx = DayZPlayerUtils.ConvertStanceMaskToStanceIdx(nextStance);
961 if (stanceIdx != -1 && !DayZPlayerUtils.PlayerCanChangeStance(player, stanceIdx ))
962 return false;
963 }
964
965 return true;
966 }
int m_ConditionMask
Определения ActionBase.c:68
bool HasTarget()
Определения ActionBase.c:259
int GetClosestPossibleStance(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:650
ref CCIBase m_ConditionItem
Определения ActionBase.c:63
int GetStanceMaskEx(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:631
ref CCTBase m_ConditionTarget
Определения ActionBase.c:64
bool IsFullBodyEx(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:753
bool ActionCondition(PlayerBase player, ActionTarget target, ItemBase item)
Определения ActionBase.c:441
void DayZPlayerUtils()
cannot be instantiated
Определения DayZPlayerUtils.c:465

Перекрестные ссылки ActionCondition(), ActionTarget(), DayZPlayerUtils(), GetClosestPossibleStance(), GetStanceMaskEx(), HasTarget(), IsFullBodyEx(), m_ConditionItem, m_ConditionMask и m_ConditionTarget.

Используется в Can().