Files
crystall-punk-14/Content.Shared/_CP14/Workbench/WorkbenchCraftRequirement.cs
Ed be495f274c Skill progression system (#1263)
* delete skill trees

* Revert "delete skill trees"

This reverts commit 9d7fae73c4.

* learning refactor

* UI tweaks

* sword mastery skill

* telegraphy

* rapier mastery

* research table ui

* finish studing

* polish UI researching

* pyrokinetic

* more skill tree working

* heat adapt

* alchemist and metamagic update

* skill multiple effects support + metamagic bugg manapool

* impossible 😢

* skimitar gaming

* skimidi

* blacksmithing branch

* remove research restrictions

* remove species magic buff

* fix loc

* Update thaumaturgy.yml

* pip

* Delete skill_tree.yml
2025-05-14 12:43:43 +03:00

54 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* This file is sublicensed under MIT License
* https://github.com/space-wizards/space-station-14/blob/master/LICENSE.TXT
*/
using Content.Shared._CP14.Workbench.Prototypes;
using JetBrains.Annotations;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Shared._CP14.Workbench;
[ImplicitDataDefinitionForInheritors]
[MeansImplicitUse]
public abstract partial class CP14WorkbenchCraftRequirement
{
/// <summary>
/// If true, failure to fulfill this condition will hide recipes from the possible craft workbench menu
/// </summary>
public abstract bool HideRecipe { get; set; }
/// <summary>
/// Here a check is made that the recipe as a whole can be fulfilled at the current moment. Do not add anything that affects gameplay here, and only perform checks here.
/// </summary>
/// <returns></returns>
public abstract bool CheckRequirement(EntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities,
EntityUid user);
/// <summary>
/// An event that is triggered after crafting. This is the place to put important things like removing items, spending stacks or other things.
/// </summary>
public abstract void PostCraft(EntityManager entManager,
IPrototypeManager protoManager,
HashSet<EntityUid> placedEntities,
EntityUid user);
/// <summary>
/// This text will be displayed in the description of the craft recipe. Write something like Wooden planks: х10 here
/// </summary>
public abstract string GetRequirementTitle(IPrototypeManager protoManager);
/// <summary>
/// You can specify an icon generated from an entity. It will support layering, colour changes and other layer options. Return null to disable.
/// </summary>
public abstract EntityPrototype? GetRequirementEntityView(IPrototypeManager protoManager);
/// <summary>
/// You can specify the texture directly. Return null to disable.
/// </summary>
public abstract SpriteSpecifier? GetRequirementTexture(IPrototypeManager protoManager);
}