Beispiel #1
0
 public override void OnAiStatement(NPCPlayerApex source, AiStatement_EnemyEngaged statement)
 {
     Memory.ExtendedInfo extendedInfo;
     if (statement.Enemy != null && statement.LastKnownPosition.HasValue && base.HostilityConsideration(statement.Enemy) && (base.AiContext.EnemyPlayer == null || base.AiContext.EnemyPlayer == statement.Enemy))
     {
         if (source.GetFact(NPCPlayerApex.Facts.AttackedRecently) > 0)
         {
             base.SetFact(NPCPlayerApex.Facts.AllyAttackedRecently, 1, true, true);
             this.AllyAttackedRecentlyTimeout = Time.realtimeSinceStartup + 7f;
         }
         if (base.GetFact(NPCPlayerApex.Facts.IsBandit) > 0)
         {
             base.AiContext.LastAttacker = statement.Enemy;
             this.lastAttackedTime       = source.lastAttackedTime;
         }
         base.UpdateTargetMemory(statement.Enemy, 0.1f, statement.LastKnownPosition.Value, out extendedInfo);
     }
 }
Beispiel #2
0
 public override void OnAiStatement(NPCPlayerApex source, AiStatement_EnemyEngaged statement)
 {
     if (!Object.op_Inequality((Object)statement.Enemy, (Object)null) || !statement.LastKnownPosition.HasValue || !this.HostilityConsideration(statement.Enemy) || !Object.op_Equality((Object)this.AiContext.EnemyPlayer, (Object)null) && !Object.op_Equality((Object)this.AiContext.EnemyPlayer, (Object)statement.Enemy))
     {
         return;
     }
     if (source.GetFact(NPCPlayerApex.Facts.AttackedRecently) > (byte)0)
     {
         this.SetFact(NPCPlayerApex.Facts.AllyAttackedRecently, (byte)1, true, true);
         this.AllyAttackedRecentlyTimeout = Time.get_realtimeSinceStartup() + 7f;
     }
     if (this.GetFact(NPCPlayerApex.Facts.IsBandit) > (byte)0)
     {
         this.AiContext.LastAttacker = (BaseEntity)statement.Enemy;
         this.lastAttackedTime       = source.lastAttackedTime;
     }
     Memory.ExtendedInfo extendedInfo;
     this.UpdateTargetMemory((BaseEntity)statement.Enemy, 0.1f, statement.LastKnownPosition.Value, out extendedInfo);
 }