示例#1
0
        private object IOnNpcTarget(BaseNpc npc, BaseEntity target)
        {
            if (Interface.CallHook("OnNpcTarget", npc, target) != null)
            {
                npc.SetFact(BaseNpc.Facts.HasEnemy, 0);
                npc.SetFact(BaseNpc.Facts.EnemyRange, 3);
                npc.SetFact(BaseNpc.Facts.AfraidRange, 1);
                return(0f);
            }

            return(null);
        }
示例#2
0
        private object IOnNpcTarget(BaseNpc npc, BaseEntity target)
        {
            var callHook = Interface.Call("OnNpcTarget", npc, target);

            if (callHook != null)
            {
                npc.SetFact(BaseNpc.Facts.HasEnemy, 0);
                npc.SetFact(BaseNpc.Facts.EnemyRange, 3);
                npc.SetFact(BaseNpc.Facts.AfraidRange, 1);
                return(true);
            }

            return(null);
        }
示例#3
0
        private object IOnNpcTarget(BaseNpc npc, BaseEntity target)
        {
            if (Interface.CallHook("OnNpcTarget", npc, target) != null)
            {
                npc.SetFact(BaseNpc.Facts.HasEnemy, 0);
                npc.SetFact(BaseNpc.Facts.EnemyRange, 3);
                npc.SetFact(BaseNpc.Facts.AfraidRange, 1);
                npc.AiContext.EnemyPlayer          = null;
                npc.AiContext.LastEnemyPlayerScore = 0f;
                npc.playerTargetDecisionStartTime  = 0f;
                return(0f);
            }

            return(null);
        }
示例#4
0
 private void StopMoving()
 {
     entity.IsStopped      = true;
     entity.ChaseTransform = null;
     entity.SetFact(BaseNpc.Facts.PathToTargetStatus, 0, true, true);
 }