AI Wander & Barker (#286)

* Retrofit the AI system with new IoC features.
Fixed bug with turret rotation.

* Added new AI WanderProcessor, and it works.

* RNG walking directions are a bit more random now.

* Wander now actually uses the MoverSystem to move.
Wander now talks when he reaches his destination.

* Adds a new Static Barker AI for vending machines, so that they periodically advertise their brand.

* Barker now says some generic slogans.
Misc bug cleanup.

* Removed useless UsedImplicitly attribute from AI dependencies, suppressed unused variable warnings instead.
This commit is contained in:
Acruid
2019-08-10 05:19:52 -07:00
committed by Pieter-Jan Briers
parent 4b30c7e710
commit 8b593d28c6
8 changed files with 464 additions and 26 deletions

View File

@@ -1,4 +1,6 @@
using Robust.Shared.Interfaces.GameObjects;
using Robust.Shared.Interfaces.GameObjects;
using Robust.Shared.Map;
using Robust.Shared.Maths;
namespace Content.Server.Interfaces.GameObjects.Components.Movement
{
@@ -6,6 +8,28 @@ namespace Content.Server.Interfaces.GameObjects.Components.Movement
// There can only be one.
public interface IMoverComponent : IComponent
{
/// <summary>
/// Movement speed (m/s) that the entity walks.
/// </summary>
float WalkMoveSpeed { get; set; }
/// <summary>
/// Movement speed (m/s) that the entity sprints.
/// </summary>
float SprintMoveSpeed { get; set; }
/// <summary>
/// Is the entity Sprinting (running)?
/// </summary>
bool Sprinting { get; set; }
/// <summary>
/// Calculated linear velocity direction of the entity.
/// </summary>
Vector2 VelocityDir { get; }
GridCoordinates LastPosition { get; set; }
float StepSoundDistance { get; set; }
}
}