Files
tbd-station-14/Content.Server/AI/Utility/BehaviorSets/SpirateBehaviorSet.cs
metalgearsloth 969eeb5528 Add AI factions (#1807)
* Add NPC faction tags

Some stuff isn't easy to represent by the existence of components so tags are intended to provide that functionality for AI usage.

I was 50/50 on having all tags in the 1 component or splitting it into 2. I'm leaning towards 2. This would be for stuff like say "CanMimic" so the mimic knows it's allowed to look like a specific prototype, or something like "smg" on a gun so it can say smg-specific barks for instance (as currently smgs and pistols look the same from a component perspective).

This also means combat behaviors aren't hardcoded per faction, plus it makes it easy to update faction relations during events.

* Factions command

Update faction relationships via commands.

* Remove command TODO

* Woops

Forgot to commit these items

* Serializer writing and parsing

* linq me up fam

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-24 12:33:03 +02:00

22 lines
678 B
C#

using Content.Server.AI.Utility.Actions;
using Content.Server.AI.Utility.ExpandableActions.Combat.Melee;
using Robust.Shared.Interfaces.GameObjects;
namespace Content.Server.AI.Utility.BehaviorSets
{
public sealed class SpirateBehaviorSet : BehaviorSet
{
public SpirateBehaviorSet(IEntity owner) : base(owner)
{
Actions = new IAiUtility[]
{
// TODO: Reload Ballistic
// TODO: Ideally long-term we should just store the weapons in backpack
new EquipMeleeExp(),
new PickUpMeleeWeaponExp(),
new MeleeAttackNearbyExp(),
};
}
}
}