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;
        }
    }
Beispiel #4
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;
        }
    }
Beispiel #5
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();
        }
    }
Beispiel #6
0
 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;
         }
     }
 }