public override void Deactivate() { WorldStateProp prop = Owner.WorldState.GetWSProperty(E_PropKey.E_ORDER); if (prop.GetOrder() == AgentOrder.E_OrderType.E_ATTACK) { Owner.WorldState.SetWSProperty(E_PropKey.E_ORDER, AgentOrder.E_OrderType.E_NONE); } base.Deactivate(); }
public override void CalculateGoalRelevancy() { WorldStateProp prop = Owner.WorldState.GetWSProperty(E_PropKey.E_ATTACK_TARGET); if (prop != null && prop.GetOrder() == AgentOrder.E_OrderType.E_ATTACK) { GoalRelevancy = Owner.BlackBoard.GOAP_KillTargetDelay; } else { GoalRelevancy = 0; } }
public override void CalculateGoalRelevancy() { WorldStateProp prop = Owner.WorldState.GetWSProperty(E_PropKey.E_ORDER); if (prop != null && prop.GetOrder() == AgentOrder.E_OrderType.E_USE) { GoalRelevancy = Owner.BlackBoard.GOAP_UseWorlObjectRelevancy; } else { GoalRelevancy = 0; } }
public override void CalculateGoalRelevancy() { // E_EventTypes eventType = Owner.WorldState.GetWSProperty(E_PropKey.E_EVENT).GetEvent(); WorldStateProp prop = Owner.WorldState.GetWSProperty(E_PropKey.E_ORDER); if (prop != null && prop.GetOrder() == AgentOrder.E_OrderType.E_ATTACK) { GoalRelevancy = Owner.BlackBoard.GOAP_KillTargetRelevancy; } else { GoalRelevancy = 0; } }
public override void Update() { if (Action != null && Action.IsActive()) { return; } WorldStateProp prop = Owner.WorldState.GetWSProperty(E_PropKey.E_ORDER); if (prop == null || prop.GetOrder() == AgentOrder.E_OrderType.E_DODGE) { //pokud akce skoro skoncila a my uz mame informace o nove, tak vytvorime dalsi utok a poslem ho ActionRollTo(); } }
public override void CalculateGoalRelevancy() { if (Owner.CurrentGOAPGoal == this) { GoalRelevancy = 0; } else { WorldStateProp prop = Owner.WorldState.GetWSProperty(E_PropKey.E_ORDER); if (prop != null && prop.GetOrder() == AgentOrder.E_OrderType.E_DODGE) { GoalRelevancy = 0.9f; } else { GoalRelevancy = 0; } } }