New Thief minor antagonist (#21520)
* start working * add right-click thief antagins some architecture restruct * add meh thief greeting audio * add thief subgamemode to Traitors gamemode * add late join thief (not tested yet) add briefing * add pacifism * add Steal tasks to thief * fix crash thief+traitor on person * add new condition: collection steal * add tracking of succes collection objective * add stamp collection target remove some boring steal target add check pulling entity to collection target * finalize first 2 group objective * start merging stealing objective systems * merging * finish merging. Now traitor steal objective work better * we don't check the items of pullable sentient entity * clear naming, enable thief signle item objective start * objective pack add * finish with steal item objectives * convert string to ProtoId<> * some clean up * add thieves to revolution game mode * Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com> * Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com> * update pacifism: fix crashing, monkey-thief without pacified * adaptive animal briefing, cleaning locales * add structure steal objectives * remove RCD target * add thiefs to manifest, but bug with traitor duplications * add escape objective * add chat briefing * setup animal objective group system * add animal steal objectives * add animal objectives notroleconditions * add morty * now thief mode has a chance of not launching Now there are a random number of thieves per round from 1 to 3 * 6 hours of trying to fix duplicate tasks. Failure * added thief pinpointer (buggy) * start thief backpack UI work * revert pinpointer for scope reason * UI continue work * add thief starter kits content * remove ERP kit :trollface: * finally! giving starting items to thief. Now it playable, but still need more work * clean up * fix * fox * add merged items into thief new Starting Kit (buggy) * fix YES antag menu * objection tweaks * remove hearts objective, working on spawning things from toolbox * smug * fixes * add race specifier objective condition LAMPS * meh * fix fix fix * the alive * Adding stamps * Update backpack.ftl * Revert1 * Revert ftl * add voice mask to communicator kit * Update Resources/Locale/en-US/administration/antag.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/objectives/conditions/steal.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/prototypes/roles/antags.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * Update Resources/Locale/en-US/thief/backpack.ftl Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com> * update * fix * more reusable function, add documentation * fix doc * faint fixes --------- Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com> Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
This commit is contained in:
63
Content.Shared/Thief/Components/ThiefBackpackUI.cs
Normal file
63
Content.Shared/Thief/Components/ThiefBackpackUI.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using Robust.Shared.Serialization;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Shared.Thief;
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class ThiefBackpackBoundUserInterfaceState : BoundUserInterfaceState
|
||||
{
|
||||
public readonly Dictionary<int, ThiefBackpackSetInfo> Sets;
|
||||
public int MaxSelectedSets;
|
||||
|
||||
public ThiefBackpackBoundUserInterfaceState(Dictionary<int, ThiefBackpackSetInfo> sets, int max)
|
||||
{
|
||||
Sets = sets;
|
||||
MaxSelectedSets = max;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class ThiefBackpackChangeSetMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public readonly int SetNumber;
|
||||
|
||||
public ThiefBackpackChangeSetMessage(int setNumber)
|
||||
{
|
||||
SetNumber = setNumber;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public sealed class ThiefBackpackApproveMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public ThiefBackpackApproveMessage() { }
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum ThiefBackpackUIKey : byte
|
||||
{
|
||||
Key
|
||||
};
|
||||
|
||||
[Serializable, NetSerializable, DataDefinition]
|
||||
public partial struct ThiefBackpackSetInfo
|
||||
{
|
||||
[DataField]
|
||||
public string Name;
|
||||
|
||||
[DataField]
|
||||
public string Description;
|
||||
|
||||
[DataField]
|
||||
public SpriteSpecifier Sprite;
|
||||
|
||||
public bool Selected;
|
||||
|
||||
public ThiefBackpackSetInfo(string name, string desc, SpriteSpecifier sprite, bool selected)
|
||||
{
|
||||
Name = name;
|
||||
Description = desc;
|
||||
Sprite = sprite;
|
||||
Selected = selected;
|
||||
}
|
||||
}
|
||||
18
Content.Shared/Thief/Prototypes/ThiefBackpackSetPrototype.cs
Normal file
18
Content.Shared/Thief/Prototypes/ThiefBackpackSetPrototype.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Shared.Thief;
|
||||
|
||||
/// <summary>
|
||||
/// A prototype that defines a set of items and visuals in a specific starter set for the antagonist thief
|
||||
/// </summary>
|
||||
[Prototype("thiefBackpackSet")]
|
||||
public sealed partial class ThiefBackpackSetPrototype : IPrototype
|
||||
{
|
||||
[IdDataField] public string ID { get; private set; } = default!;
|
||||
[DataField] public string Name { get; private set; } = string.Empty;
|
||||
[DataField] public string Description { get; private set; } = string.Empty;
|
||||
[DataField] public SpriteSpecifier Sprite { get; private set; } = SpriteSpecifier.Invalid;
|
||||
|
||||
[DataField] public List<EntProtoId> Content = new();
|
||||
}
|
||||
Reference in New Issue
Block a user