mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 05:27:38 +03:00
# Description Ports thieving beacon. PRs ported: https://github.com/space-wizards/space-station-14/pull/29997 https://github.com/space-wizards/space-station-14/pull/34430 https://github.com/space-wizards/space-station-14/pull/33750 https://github.com/space-wizards/space-station-14/pull/32764 <!-- This is default collapsed, readers click to expand it and see all your media The PR media section can get very large at times, so this is a good way to keep it clean The title is written using HTML tags The title must be within the <summary> tags or you won't see it --> <details><summary><h1>Media</h1></summary> <p> https://github.com/user-attachments/assets/a25836d0-7d1c-47fb-b284-762e20ce1299 </p> </details> --- # Changelog 🆑 TheShuEd, sporkyz, ReeZer2, Alpha-Two - add: Ported thieving beacon from wizden. Have fun stealing pets now! --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com> Co-authored-by: John <35928781+sporkyz@users.noreply.github.com> Co-authored-by: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Co-authored-by: Alpha-Two <92269094+Alpha-Two@users.noreply.github.com>
72 lines
2.1 KiB
C#
72 lines
2.1 KiB
C#
using Content.Server.Objectives.Systems;
|
|
using Content.Shared.Objectives;
|
|
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Server.Objectives.Components;
|
|
|
|
/// <summary>
|
|
/// Requires that you steal a certain item (or several)
|
|
/// </summary>
|
|
[RegisterComponent, Access(typeof(StealConditionSystem))]
|
|
public sealed partial class StealConditionComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// A group of items to be stolen
|
|
/// </summary>
|
|
[DataField(required: true)]
|
|
public ProtoId<StealTargetGroupPrototype> StealGroup;
|
|
|
|
/// <summary>
|
|
/// When enabled, disables generation of this target if there is no entity on the map (disable for objects that can be created mid-round).
|
|
/// </summary>
|
|
[DataField]
|
|
public bool VerifyMapExistence = true;
|
|
|
|
/// <summary>
|
|
/// If true, counts objects that are close to steal areas.
|
|
/// </summary>
|
|
[DataField]
|
|
public bool CheckStealAreas = false;
|
|
|
|
/// <summary>
|
|
/// If the target may be alive but has died, it will not be counted
|
|
/// </summary>
|
|
[DataField]
|
|
public bool CheckAlive = false;
|
|
|
|
/// <summary>
|
|
/// The minimum number of items you need to steal to fulfill a objective
|
|
/// </summary>
|
|
[DataField]
|
|
public int MinCollectionSize = 1;
|
|
|
|
/// <summary>
|
|
/// The maximum number of items you need to steal to fulfill a objective
|
|
/// </summary>
|
|
[DataField]
|
|
public int MaxCollectionSize = 1;
|
|
|
|
/// <summary>
|
|
/// Target collection size after calculation
|
|
/// </summary>
|
|
[DataField]
|
|
public int CollectionSize;
|
|
|
|
/// <summary>
|
|
/// Help newer players by saying e.g. "steal the chief engineer's advanced magboots"
|
|
/// instead of "steal advanced magboots. Should be a loc string.
|
|
/// </summary>
|
|
[DataField("owner")]
|
|
public string? OwnerText;
|
|
|
|
// All this need to be loc string
|
|
[DataField(required: true)]
|
|
public LocId ObjectiveText;
|
|
[DataField(required: true)]
|
|
public LocId ObjectiveNoOwnerText;
|
|
[DataField(required: true)]
|
|
public LocId DescriptionText;
|
|
[DataField(required: true)]
|
|
public LocId DescriptionMultiplyText;
|
|
}
|