main cult
This commit is contained in:
9
Content.Shared/_White/Cult/Items/SharedSoulShard.cs
Normal file
9
Content.Shared/_White/Cult/Items/SharedSoulShard.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.White.Cult.Items;
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum SoulShardVisualState : byte
|
||||
{
|
||||
State
|
||||
}
|
||||
39
Content.Shared/_White/Cult/Items/TorchWindowSerializables.cs
Normal file
39
Content.Shared/_White/Cult/Items/TorchWindowSerializables.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.White.Cult.Items;
|
||||
|
||||
[NetSerializable, Serializable]
|
||||
public enum CultTeleporterUiKey
|
||||
{
|
||||
Key,
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public class TorchWindowItemSelectedMessage : BoundUserInterfaceMessage
|
||||
{
|
||||
public string SelectedItem { get; private set; }
|
||||
public string EntUid { get; private set; }
|
||||
|
||||
public TorchWindowItemSelectedMessage(string entUid, string selectedItem)
|
||||
{
|
||||
SelectedItem = selectedItem;
|
||||
EntUid = entUid;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public class TorchWindowBUIState : BoundUserInterfaceState
|
||||
{
|
||||
public Dictionary<string, string> Items { get; set; }
|
||||
|
||||
public TorchWindowBUIState(Dictionary<string, string> items)
|
||||
{
|
||||
Items = items;
|
||||
}
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum VoidTorchVisuals : byte
|
||||
{
|
||||
Activated
|
||||
}
|
||||
49
Content.Shared/_White/Cult/Items/VoidTeleportComponent.cs
Normal file
49
Content.Shared/_White/Cult/Items/VoidTeleportComponent.cs
Normal file
@@ -0,0 +1,49 @@
|
||||
using System.Threading;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Serialization;
|
||||
|
||||
namespace Content.Shared.White.Cult.Items;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class VoidTeleportComponent : Component
|
||||
{
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("usesLeft")]
|
||||
public int UsesLeft = 4;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("minRange")]
|
||||
public int MinRange = 5;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("maxRange")]
|
||||
public int MaxRange = 15;
|
||||
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
public bool Active = true;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("cooldown")]
|
||||
public TimeSpan Cooldown = TimeSpan.FromSeconds(5);
|
||||
|
||||
public CancellationTokenSource Token = new();
|
||||
|
||||
public TimeSpan TimerDelay = TimeSpan.FromSeconds(0.5);
|
||||
|
||||
[ViewVariables(VVAccess.ReadOnly)]
|
||||
public TimeSpan NextUse = TimeSpan.Zero;
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("teleportInSound")]
|
||||
public SoundSpecifier TeleportInSound = new SoundPathSpecifier("/Audio/White/Cult/veilin.ogg");
|
||||
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("teleportOutSound")]
|
||||
public SoundSpecifier TeleportOutSound = new SoundPathSpecifier("/Audio/White/Cult/veilout.ogg");
|
||||
|
||||
[ViewVariables(VVAccess.ReadOnly), DataField("teleportInEffect")]
|
||||
public string? TeleportInEffect = "CultTeleportInEffect";
|
||||
|
||||
[ViewVariables(VVAccess.ReadOnly), DataField("teleportOutEffect")]
|
||||
public string? TeleportOutEffect = "CultTeleportOutEffect";
|
||||
}
|
||||
|
||||
[Serializable, NetSerializable]
|
||||
public enum VeilVisuals : byte
|
||||
{
|
||||
Activated
|
||||
}
|
||||
Reference in New Issue
Block a user