* refactor CheZaHuetaMagicSystem * эщкере * alt-spells system. lmb, rmb, alt-click * fix * ChargeSpellsIndicator + Visual(CheZaHueta) * Custom charge effect for spell * Custom MaxChargeLevel * Finally. Alt spells seems to work!! Need to start do spells and gamerule * fuckkk * fix crash, actually burn scroll.. * some fixes blyat * ArcSpell * очередная CheZaHuetaSystem, ForceSpell * ONI'SOMA! * mraow * prepare this LMAO * Yebanyy rot etogo kazino blyat! - CardsSpell * forcewall * nig * blink * Ethereal Jaunt * игра говно * Блядина * ну на еще спеллов * blyadina * да иди ты нахуй БЛЯДЬ * кто прочитал, тот сдохнет. сделай 5 репостов чтобы выжить.... * icons * та ваще поебать * одежда
69 lines
2.5 KiB
C#
69 lines
2.5 KiB
C#
using Content.Shared.Interaction;
|
|
using Robust.Shared.Audio;
|
|
|
|
namespace Content.Shared.Actions;
|
|
|
|
public abstract partial class BaseTargetActionComponent : BaseActionComponent
|
|
{
|
|
/// <summary>
|
|
/// For entity- or map-targeting actions, if this is true the action will remain selected after it is used, so
|
|
/// it can be continuously re-used. If this is false, the action will be deselected after one use.
|
|
/// </summary>
|
|
[DataField("repeat")] public bool Repeat;
|
|
|
|
/// <summary>
|
|
/// For entity- or map-targeting action, determines whether the action is deselected if the user doesn't click a valid target.
|
|
/// </summary>
|
|
[DataField("deselectOnMiss")] public bool DeselectOnMiss;
|
|
|
|
/// <summary>
|
|
/// Whether the action system should block this action if the user cannot actually access the target
|
|
/// (unobstructed, in inventory, in backpack, etc). Some spells or abilities may want to disable this and
|
|
/// implement their own checks.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Even if this is false, the <see cref="Range"/> will still be checked.
|
|
/// </remarks>
|
|
[DataField("checkCanAccess")] public bool CheckCanAccess = true;
|
|
|
|
[DataField("range")] public float Range = SharedInteractionSystem.InteractionRange;
|
|
|
|
/// <summary>
|
|
/// If the target is invalid, this bool determines whether the left-click will default to performing a standard-interaction
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// Interactions will still be blocked if the target-validation generates a pop-up
|
|
/// </remarks>
|
|
[DataField("interactOnMiss")] public bool InteractOnMiss = false;
|
|
|
|
/// <summary>
|
|
/// If true, and if <see cref="ShowHandItemOverlay"/> is enabled, then this action's icon will be drawn by that
|
|
/// over lay in place of the currently held item "held item".
|
|
/// </summary>
|
|
[DataField("targetingIndicator")] public bool TargetingIndicator = true;
|
|
|
|
[DataField]
|
|
public bool IsAltEnabled;
|
|
|
|
[DataField]
|
|
public bool IsChargeEnabled;
|
|
|
|
[DataField]
|
|
public string ChargeProto = "MagicFollowerEntity";
|
|
|
|
[DataField]
|
|
public int MaxChargeLevel = 4;
|
|
|
|
[DataField]
|
|
public SoundSpecifier ChargingSound = new SoundPathSpecifier("/Audio/White/Magic/chargingfallback.ogg");
|
|
|
|
[DataField]
|
|
public bool LoopCharging = true;
|
|
|
|
[DataField]
|
|
public SoundSpecifier MaxChargedSound = new SoundPathSpecifier("/Audio/White/Magic/maxchargefallback.ogg");
|
|
|
|
[DataField]
|
|
public bool LoopMaxCharged;
|
|
}
|