2018-08-21 00:59:04 +02:00
|
|
|
|
// Hey look,
|
|
|
|
|
|
// Antag Datums.
|
|
|
|
|
|
|
2021-12-14 00:22:43 +01:00
|
|
|
|
using Robust.Shared.ViewVariables;
|
|
|
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
|
namespace Content.Server.Roles
|
2018-08-21 00:59:04 +02:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// The Role is a basic building block for,
|
|
|
|
|
|
/// well, IC roles.
|
|
|
|
|
|
/// This can be anything and is not necessarily limited to antagonists.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public abstract class Role
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// The mind owning this role instance.
|
|
|
|
|
|
/// </summary>
|
2021-12-14 00:22:43 +01:00
|
|
|
|
[ViewVariables]
|
2021-06-09 22:19:39 +02:00
|
|
|
|
public Mind.Mind Mind { get; }
|
2018-08-21 00:59:04 +02:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// A friendly name for this role type.
|
|
|
|
|
|
/// </summary>
|
2021-12-14 00:22:43 +01:00
|
|
|
|
[ViewVariables]
|
2018-08-21 00:59:04 +02:00
|
|
|
|
public abstract string Name { get; }
|
|
|
|
|
|
|
2020-05-03 11:25:39 +02:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Whether this role should be considered antagonistic or not.
|
|
|
|
|
|
/// </summary>
|
2021-12-14 00:22:43 +01:00
|
|
|
|
[ViewVariables]
|
2020-07-06 16:24:29 -05:00
|
|
|
|
public abstract bool Antagonist { get; }
|
2020-05-03 11:25:39 +02:00
|
|
|
|
|
2021-06-09 22:19:39 +02:00
|
|
|
|
protected Role(Mind.Mind mind)
|
2018-08-21 00:59:04 +02:00
|
|
|
|
{
|
|
|
|
|
|
Mind = mind;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Called when a mind (player) first gets this role, to greet them.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public virtual void Greet()
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|