forked from Simple-Station/Einstein-Engines
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathPsionicPowerPrototype.cs
More file actions
89 lines (75 loc) · 2.82 KB
/
Copy pathPsionicPowerPrototype.cs
File metadata and controls
89 lines (75 loc) · 2.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
using Content.Shared.Chat;
using Robust.Shared.Prototypes;
namespace Content.Shared.Psionics;
[Prototype]
public sealed partial class PsionicPowerPrototype : IPrototype
{
/// <summary>
/// The ID of the psionic power to use.
/// </summary>
[IdDataField]
public string ID { get; } = default!;
/// <summary>
/// The name of the psionic power.
/// </summary>
[DataField(required: true)]
public string Name = default!;
/// <summary>
/// The description of a power in yml, used for player notifications.
/// </summary>
[DataField(required: true)]
public string Description = default!;
/// <summary>
/// The list of each Action that this power adds in the form of ActionId and ActionEntity
/// </summary>
[DataField]
public List<EntProtoId> Actions = new();
/// <summary>
/// The list of what Components this power adds.
/// </summary>
[DataField]
public ComponentRegistry Components = new();
/// <summary>
/// What message will be sent to the player as a Popup.
/// If left blank, it will default to the Const "generic-power-initialization-feedback"
/// </summary>
[DataField]
public string? InitializationPopup;
/// <summary>
/// What message will be sent to the chat window when the power is initialized. Leave it blank to send no message.
/// Initialization messages won't play for powers that are Innate, only powers obtained during the round.
/// These should generally also be written in the first person, and can be far lengthier than popups.
/// </summary>
[DataField]
public string? InitializationFeedback;
/// <summary>
/// What color will the initialization feedback display in the chat window with.
/// </summary>
[DataField]
public string InitializationFeedbackColor = "#8A00C2";
/// <summary>
/// What font size will the initialization message use in chat.
/// </summary>
[DataField]
public int InitializationFeedbackFontSize = 12;
/// <summary>
/// Which chat channel will the initialization message use.
/// </summary>
[DataField]
public ChatChannel InitializationFeedbackChannel = ChatChannel.Emotes;
/// <summary>
/// What message will this power generate when scanned by a Metempsionic Focused Pulse.
/// </summary>
[DataField(required: true)]
public string MetapsionicFeedback = "psionic-metapsionic-feedback-default";
/// <summary>
/// How much this power will increase or decrease a user's Amplification.
/// </summary>
[DataField]
public float AmplificationModifier = 0;
/// <summary>
/// How much this power will increase or decrease a user's Dampening.
/// </summary>
[DataField]
public float DampeningModifier = 0;
}