diff --git a/Content.Client/_RPSX/DarkForces/Vampire/Overlay/VampireIconsSystem.cs b/Content.Client/_RPSX/DarkForces/Vampire/Overlay/VampireIconsSystem.cs deleted file mode 100644 index 05ea00cba03..00000000000 --- a/Content.Client/_RPSX/DarkForces/Vampire/Overlay/VampireIconsSystem.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.StatusIcon.Components; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Prototypes; - -namespace Content.Client.RPSX.DarkForces.Vampire.Overlay; - -public sealed class VampireIconsSystem : EntitySystem -{ - [Dependency] private readonly IPrototypeManager _prototype = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnGetStatusIcon); - SubscribeLocalEvent(OnGetTrallStatusIcon); - } - - private void OnGetTrallStatusIcon(Entity ent, ref GetStatusIconsEvent args) - { - var icon = _prototype.Index(ent.Comp.StatusIcon); - args.StatusIcons.Add(icon); - } - - private void OnGetStatusIcon(Entity ent, ref GetStatusIconsEvent args) - { - var icon = _prototype.Index(ent.Comp.StatusIcon); - args.StatusIcons.Add(icon); - } -} diff --git a/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesEUI.cs b/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesEUI.cs deleted file mode 100644 index 2b01c3fd1ad..00000000000 --- a/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesEUI.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Content.Client.Eui; -using Content.Shared.Eui; -using Content.Shared.RPSX.DarkForces.Vampire; -using Robust.Shared.GameObjects; -using Robust.Shared.Prototypes; - -namespace Content.Client.RPSX.DarkForces.Vampire; - -public sealed class VampireAbilitiesEUI : BaseEui -{ - private NetEntity _netEntity = NetEntity.Invalid; - private readonly VampireAbilitiesWindow _window; - - public VampireAbilitiesEUI() - { - _window = new VampireAbilitiesWindow(); - _window.OnClose += OnClosed; - _window.OnLearnButtonPressed += OnAbilitySelected; - } - - public override void Opened() - { - base.Opened(); - - _window.OpenCentered(); - } - - public override void Closed() - { - base.Closed(); - _window.Close(); - } - - public override void HandleMessage(EuiMessageBase msg) - { - base.HandleMessage(msg); - - if (msg is not VampireAbilitiesState data) - return; - - _netEntity = data.NetEntity; - _window.UpdateState(data); - } - - private void OnClosed() - { - SendMessage(new CloseEuiMessage()); - } - - private void OnAbilitySelected(EntProtoId? replaceId, string actionId, int bloodRequired) - { - SendMessage(new VampireAbilitySelected(_netEntity, replaceId, actionId, bloodRequired)); - } -} diff --git a/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesWindow.xaml b/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesWindow.xaml deleted file mode 100644 index 45671da8cc6..00000000000 --- a/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesWindow.xaml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesWindow.xaml.cs b/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesWindow.xaml.cs deleted file mode 100644 index f979e8c6a74..00000000000 --- a/Content.Client/_RPSX/DarkForces/Vampire/VampireAbilitiesWindow.xaml.cs +++ /dev/null @@ -1,204 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Numerics; -using Content.Client.Administration.UI.CustomControls; -using Content.Client.RPSX.Utils; -using Content.Client.Stylesheets; -using Content.Shared.RPSX.DarkForces.Vampire; -using Robust.Client.UserInterface.CustomControls; -using Robust.Client.AutoGenerated; -using Robust.Client.GameObjects; -using Robust.Client.Graphics; -using Robust.Client.UserInterface; -using Robust.Client.UserInterface.Controls; -using Robust.Client.UserInterface.XAML; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Localization; -using Robust.Shared.Maths; -using Robust.Shared.Prototypes; -using Robust.Shared.Utility; -using Content.Shared.Mind; - -namespace Content.Client.RPSX.DarkForces.Vampire; - -[GenerateTypedNameReferences] -public sealed partial class VampireAbilitiesWindow : DefaultWindow -{ - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly IEntityManager _entityManager = default!; - - private readonly SpriteSystem _spriteSystem; - private readonly IEnumerable _prototypes; - - private readonly Thickness _defaultMargin; - - public Action? OnLearnButtonPressed; - - public VampireAbilitiesWindow() - { - RobustXamlLoader.Load(this); - IoCManager.InjectDependencies(this); - - _prototypes = _prototypeManager.EnumeratePrototypes(); - _spriteSystem = _entityManager.System(); - - _defaultMargin = new Thickness(8, 8, 8, 8); - - Title = Loc.GetString("vampire-abilities-title"); - } - - public void UpdateState(VampireAbilitiesState state) - { - StoreListingsContainer.Children.Clear(); - - CurrentBloodLevel.SetMessage(state.CurrentBlood.ToString()); - TotalBloodLevel.SetMessage(state.TotalBlood.ToString()); - - foreach (var (prototype, index) in _prototypes.WithIndex()) - { - if (state.OpenedAbilities.Contains(prototype.ActionId)) - continue; - - var panel = GetPanelContainer(index); - - var mainContainer = GetBoxContainer(BoxContainer.LayoutOrientation.Vertical); - var innerContainer = GetBoxContainer(BoxContainer.LayoutOrientation.Vertical); - - panel.AddChild(mainContainer); - mainContainer.AddChild(GetHeader(prototype.Icon, prototype.Name, prototype.BloodCost)); - mainContainer.AddChild(GetHorizontalDivider()); - mainContainer.AddChild(innerContainer); - - var button = GetButton(Loc.GetString("vampire-abilities-learn"), state.CurrentBlood >= prototype.BloodCost); - button.OnPressed += _ => OnLearnButtonPressed?.Invoke(prototype.ReplaceId, prototype.ActionId, prototype.BloodCost); - - innerContainer.AddChild(GetDescription(prototype.Description)); - innerContainer.AddChild(button); - - StoreListingsContainer.AddChild(panel); - } - } - - private Control GetHorizontalDivider() - { - return new HSeparator - { - Margin = _defaultMargin - }; - } - - - private BoxContainer GetHeader(SpriteSpecifier icon, string name, int bloodCost) - { - var mainContainer = GetBoxContainer(BoxContainer.LayoutOrientation.Horizontal); - var textContainer = GetBoxContainer(BoxContainer.LayoutOrientation.Vertical); - - mainContainer.AddChild(GetTextureRect(icon)); - mainContainer.AddChild(textContainer); - - textContainer.AddChild(GetTitle(name)); - textContainer.AddChild(GetBloodCost(bloodCost)); - - return mainContainer; - } - - private BoxContainer GetTitle(string name) - { - var container = new BoxContainer - { - Orientation = BoxContainer.LayoutOrientation.Horizontal - }; - - var label = new Label - { - Text = Loc.GetString("vampire-abilities-name"), - StyleClasses = {StyleNano.StyleClassLabelKeyText}, - Margin = new Thickness(8, 0, 0, 0), - HorizontalExpand = true - }; - - var nameLabel = new Label(); - nameLabel.Text = Loc.GetString(name); - - container.AddChild(label); - container.AddChild(nameLabel); - - return container; - } - - private BoxContainer GetBloodCost(int bloodCost) - { - var container = new BoxContainer - { - Orientation = BoxContainer.LayoutOrientation.Horizontal - }; - - var label = new Label - { - Text = Loc.GetString("vampire-abilities-bloodrequired"), - StyleClasses = {StyleNano.StyleClassLabelKeyText}, - Margin = new Thickness(8, 0, 0, 0), - HorizontalExpand = true - }; - - var bloodCostLabel = new Label(); - bloodCostLabel.Text = bloodCost.ToString(); - - container.AddChild(label); - container.AddChild(bloodCostLabel); - - return container; - } - - private PanelContainer GetPanelContainer(int index) - { - return new PanelContainer - { - PanelOverride = new StyleBoxFlat - { - BackgroundColor = index % 2 == 0 ? Color.FromHex("#2F2F2F") : Color.FromHex("#1E1E22"), - BorderColor = Color.FromHex("#1E1E22"), - }, - Margin = _defaultMargin - }; - } - - private BoxContainer GetBoxContainer(BoxContainer.LayoutOrientation orientation) - { - return new BoxContainer - { - Orientation = orientation, - Margin = _defaultMargin - }; - } - - private TextureRect GetTextureRect(SpriteSpecifier icon) - { - return new TextureRect - { - Texture = _spriteSystem.Frame0(icon), - TextureScale = new Vector2(1.5f, 1.5f), - Stretch = TextureRect.StretchMode.KeepCentered - }; - } - - private RichTextLabel GetDescription(string description) - { - var label = new RichTextLabel(); - label.SetMessage(FormattedMessage.FromMarkup(Loc.GetString(description))); - - return label; - } - - private Button GetButton(string text, bool enabled) - { - return new Button - { - Text = text, - HorizontalAlignment = HAlignment.Left, - Margin = new Thickness(0, 8, 0, 0), - Disabled = !enabled - }; - } -} diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.AntagsDark.cs b/Content.Server/Administration/Systems/AdminVerbSystem.AntagsDark.cs index 79f4bd01e03..4ef09ae047b 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.AntagsDark.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.AntagsDark.cs @@ -38,17 +38,6 @@ private void AddDarkStationAntags(GetVerbsEvent args, ICommonSession playe }; args.Verbs.Add(narsiCultLeader); - Verb vampire = new() - { - Text = "Сделать вампиром", - Category = VerbCategory.Antag, - Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi"), "vampire"), - Act = () => _antagBridge.ForceMakeVampire(player), - Impact = LogImpact.High, - Message = "Делает цель вампиром" - }; - args.Verbs.Add(vampire); - Verb ratvar = new() { Text = "Сделать праведником Ратвара", diff --git a/Content.Server/_RPSX/Bridges/IAntagBridge.cs b/Content.Server/_RPSX/Bridges/IAntagBridge.cs index 1c3df492a5d..0f64fb4ff1b 100644 --- a/Content.Server/_RPSX/Bridges/IAntagBridge.cs +++ b/Content.Server/_RPSX/Bridges/IAntagBridge.cs @@ -1,6 +1,5 @@ using Content.Server.RPSX.GameTicking.Rules.Narsi; using Content.Server.RPSX.GameTicking.Rules.Ratvar; -using Content.Server.RPSX.GameTicking.Rules.Vampire; using Content.Server.Antag; using Content.Server.RPSX.DarkForces.Narsi.Progress; using Content.Shared.RPSX.DarkForces.Narsi.Roles; @@ -18,8 +17,6 @@ public interface IAntagBridge void ForceMakeRatvarRighteous(ICommonSession session); void ForceMakeRatvarRighteous(EntityUid uid); - - void ForceMakeVampire(ICommonSession session); } public sealed class StubAntagBridge : IAntagBridge @@ -32,8 +29,6 @@ public sealed class StubAntagBridge : IAntagBridge [ValidatePrototypeId] private const string DefaultRatvarRule = "Ratvar"; - [ValidatePrototypeId] - private const string DefaultVampireRule = "Vampire"; public void ForceMakeCultist(ICommonSession session) { @@ -70,9 +65,4 @@ public void ForceMakeRatvarRighteous(EntityUid uid) ForceMakeRatvarRighteous(actor.PlayerSession); } - public void ForceMakeVampire(ICommonSession session) - { - var antag = _entityManager.System(); - antag.ForceMakeAntag(session, DefaultVampireRule); - } } diff --git a/Content.Server/_RPSX/DarkForces/Saint/Chaplain/ChaplainSystem.Vampire.cs b/Content.Server/_RPSX/DarkForces/Saint/Chaplain/ChaplainSystem.Vampire.cs deleted file mode 100644 index 19502d6eb7a..00000000000 --- a/Content.Server/_RPSX/DarkForces/Saint/Chaplain/ChaplainSystem.Vampire.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Content.Server.RPSX.DarkForces.Saint.Chaplain.Components; -using Content.Shared.RPSX.Vampire.Attempt; -using Robust.Shared.GameObjects; - -namespace Content.Server.RPSX.DarkForces.Saint.Chaplain; - -public sealed partial class ChaplainSystem -{ - private void InitializeVampire() - { - SubscribeLocalEvent(OnVampireScreechAttemptEvent); - SubscribeLocalEvent(OnVampireHypnosisAttemptEvent); - SubscribeLocalEvent(OnVampireParalyzeAttemptEvent); - } - - private void OnVampireParalyzeAttemptEvent(EntityUid uid, ChaplainComponent component, VampireParalizeAttemptEvent args) - { - if (args.FullPower) - return; - - args.Cancel(); - } - - private void OnVampireHypnosisAttemptEvent(EntityUid uid, ChaplainComponent component, - VampireHypnosisAttemptEvent args) - { - if (args.FullPower) - return; - - args.Cancel(); - } - - private void OnVampireScreechAttemptEvent(EntityUid uid, ChaplainComponent component, VampireChiropteanScreechAttemptEvent args) - { - if (args.FullPower) - return; - - args.Cancel(); - } -} diff --git a/Content.Server/_RPSX/DarkForces/Saint/Chaplain/ChaplainSystem.cs b/Content.Server/_RPSX/DarkForces/Saint/Chaplain/ChaplainSystem.cs index 1d54641f39f..d97a9afda7a 100644 --- a/Content.Server/_RPSX/DarkForces/Saint/Chaplain/ChaplainSystem.cs +++ b/Content.Server/_RPSX/DarkForces/Saint/Chaplain/ChaplainSystem.cs @@ -17,7 +17,6 @@ public override void Initialize() SubscribeLocalEvent(OnChaplainShutdown); InitializeNarsi(); - InitializeVampire(); InitializeAbilities(); InitializeForceWall(); } diff --git a/Content.Server/_RPSX/DarkForces/Saint/Items/Cross/SaintCrossSystem.Vampire.cs b/Content.Server/_RPSX/DarkForces/Saint/Items/Cross/SaintCrossSystem.Vampire.cs deleted file mode 100644 index 7b7e0d933c6..00000000000 --- a/Content.Server/_RPSX/DarkForces/Saint/Items/Cross/SaintCrossSystem.Vampire.cs +++ /dev/null @@ -1,41 +0,0 @@ -using Content.Server.RPSX.DarkForces.Saint.Items.Cross; -using Content.Shared.Inventory; -using Content.Shared.RPSX.Vampire.Attempt; -using Robust.Shared.GameObjects; - -namespace Content.Server.RPSX.DarkForces.Saint.Items.Cross; - -public sealed partial class SaintCrossSystem -{ - private void InitializeVampire() - { - SubscribeLocalEvent>(OnInventoriedSaintedCrossEvent); - SubscribeLocalEvent>(OnVampireHypnosisAttemptEvent); - SubscribeLocalEvent>(OnVampireParalyzeAttemptEvent); - SubscribeLocalEvent>(OnScreechAttemptEvent); - } - - private void OnScreechAttemptEvent(EntityUid uid, SaintCrossComponent component, - InventoryRelayedEvent args) - { - args.Args.Cancel(); - } - - private void OnVampireParalyzeAttemptEvent(EntityUid uid, SaintCrossComponent component, - InventoryRelayedEvent args) - { - args.Args.Cancel(); - } - - private void OnVampireHypnosisAttemptEvent(EntityUid uid, SaintCrossComponent component, - InventoryRelayedEvent args) - { - args.Args.Cancel(); - } - - private void OnInventoriedSaintedCrossEvent(EntityUid uid, SaintCrossComponent component, - InventoryRelayedEvent args) - { - args.Args.Cancel(); - } -} diff --git a/Content.Server/_RPSX/DarkForces/Saint/Items/Cross/SaintCrossSystem.cs b/Content.Server/_RPSX/DarkForces/Saint/Items/Cross/SaintCrossSystem.cs index f6ffc727a7d..2c506cf1791 100644 --- a/Content.Server/_RPSX/DarkForces/Saint/Items/Cross/SaintCrossSystem.cs +++ b/Content.Server/_RPSX/DarkForces/Saint/Items/Cross/SaintCrossSystem.cs @@ -23,7 +23,6 @@ public override void Initialize() SubscribeLocalEvent(OnSaintCrossInit); SubscribeLocalEvent(OnItemSainted); - InitializeVampire(); InitializeDamage(); } diff --git a/Content.Server/_RPSX/DarkForces/Vampire/Components/VampireImmunitiesComponents.cs b/Content.Server/_RPSX/DarkForces/Vampire/Components/VampireImmunitiesComponents.cs deleted file mode 100644 index 6b00862e09e..00000000000 --- a/Content.Server/_RPSX/DarkForces/Vampire/Components/VampireImmunitiesComponents.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Content.Server.RPSX.DarkForces.Vampire.Components; - -[RegisterComponent] -public sealed partial class VampireHypnosisImmunityComponent : Component -{ -} - -[RegisterComponent] -public sealed partial class VampireParalizeImmunityComponent : Component -{ -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/EUI/VampireAbilitiesEUI.cs b/Content.Server/_RPSX/GameRules/Vampire/EUI/VampireAbilitiesEUI.cs deleted file mode 100644 index 33cfbd01fa8..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/EUI/VampireAbilitiesEUI.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Content.Server.RPSX.GameRules.Vampire.Role.Events; -using Content.Server.EUI; -using Content.Shared.Eui; -using Content.Shared.RPSX.DarkForces.Vampire; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using JetBrains.Annotations; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; - -namespace Content.Server.RPSX.GameRules.Vampire.EUI; - -[UsedImplicitly] -public sealed class VampireAbilitiesEUI : BaseEui -{ - [Dependency] private readonly EntityManager _entityManager = default!; - private readonly EntityUid _owner; - - public VampireAbilitiesEUI(EntityUid owner) - { - IoCManager.InjectDependencies(this); - _owner = owner; - } - - public override void HandleMessage(EuiMessageBase msg) - { - base.HandleMessage(msg); - - if (msg is not VampireAbilitySelected data) - return; - - var entityUid = _entityManager.GetEntity(data.NetEntity); - var ev = new VampireAbilitySelectedEvent(data.Action, data.BloodRequired, data.ReplaceId); - - _entityManager.EventBus.RaiseLocalEvent(entityUid, ref ev); - Close(); - } - - public override void Closed() - { - base.Closed(); - - if (_entityManager.EntityExists(_owner) && _entityManager.TryGetComponent(_owner, out var comp)) - comp.AbilitiesUiOpen = false; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Hunter/VampireImmunitySystem.cs b/Content.Server/_RPSX/GameRules/Vampire/Hunter/VampireImmunitySystem.cs deleted file mode 100644 index e8f955cb48a..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Hunter/VampireImmunitySystem.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Content.Server.RPSX.DarkForces.Vampire.Components; -using Content.Shared.Inventory; -using Content.Shared.RPSX.Vampire.Attempt; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using VampireParalizeAttemptEvent = Content.Shared.RPSX.Vampire.Attempt.VampireParalizeAttemptEvent; - -namespace Content.Server.RPSX.GameRules.Vampire.Hunter; - -public sealed class VampireImmnutiySystem : EntitySystem -{ - [Dependency] private readonly InventorySystem _inventory = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnInventoryParalizeAttempt); - SubscribeLocalEvent(OnInventoryHypnosisAttempt); - - SubscribeLocalEvent(OnParalizeAttempt); - SubscribeLocalEvent(OnHypnosisEvent); - } - - private void OnInventoryHypnosisAttempt(EntityUid uid, InventoryComponent component, VampireHypnosisAttemptEvent args) - { - if (_inventory.TryGetSlotEntity(uid, "eyes", out var item, component)) - RaiseLocalEvent(item.Value, args, true); - - if (_inventory.TryGetSlotEntity(uid, "neck", out var neckItem, component)) - RaiseLocalEvent(neckItem.Value, args, true); - } - - private void OnInventoryParalizeAttempt(EntityUid uid, InventoryComponent component, VampireParalizeAttemptEvent args) - { - if (_inventory.TryGetSlotEntity(uid, "outerClothing", out var item, component)) - RaiseLocalEvent(item.Value, args, true); - - if (_inventory.TryGetSlotEntity(uid, "neck", out var neckItem, component)) - RaiseLocalEvent(neckItem.Value, args, true); - } - - private void OnHypnosisEvent(EntityUid uid, VampireHypnosisImmunityComponent component, VampireHypnosisAttemptEvent args) - { - args.Cancel(); - } - - private void OnParalizeAttempt(EntityUid uid, VampireParalizeImmunityComponent component, VampireParalizeAttemptEvent args) - { - args.Cancel(); - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Bats.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Bats.cs deleted file mode 100644 index 8d22134f4da..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Bats.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Server.Polymorph.Systems; -using Content.Shared.Polymorph; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.Manager.Attributes; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - [Dependency] private readonly PolymorphSystem _polymorphSystem = default!; - - [ValidatePrototypeId] - private const string VampireBat = "MobVampireBat"; - - [ValidatePrototypeId] - private const string VampireBatPolymorph = "VampireBatPolymorph"; - - private void InitBats() - { - SubscribeLocalEvent(OnPolymorphEvent); - SubscribeLocalEvent(OnVampireSummonBatsEvent); - } - - private void OnVampireSummonBatsEvent(EntityUid uid, VampireComponent component, VampireSummonBatsEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - - var coordinates = Transform(uid).Coordinates; - var counter = 0; - - while (counter < 6) - { - counter++; - Spawn(VampireBat, coordinates); - } - - OnActionUsed(uid, component, args); - args.Handled = true; - } - - private void OnPolymorphEvent(EntityUid uid, VampireComponent component, VampirePolymorphEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - _polymorphSystem.PolymorphEntity(uid, VampireBatPolymorph); - OnActionUsed(uid, component, args); - args.Handled = true; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Charge.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Charge.cs deleted file mode 100644 index 890147de71e..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Charge.cs +++ /dev/null @@ -1,39 +0,0 @@ -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Maths; -using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Systems; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - [Dependency] private readonly SharedPhysicsSystem _physicsSystem = default!; - - private void InitCharge() - { - SubscribeLocalEvent(OnChargeEvent); - } - - private void OnChargeEvent(EntityUid uid, VampireComponent component, VampireChargeEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - if (!TryComp(uid, out var vampireMass)) - return; - - var transform = Transform(uid); - - var strong = 100.0f; - var direction = args.Target.Position - transform.WorldPosition; - var impulseVector = direction.Normalized() * strong * vampireMass.Mass; - - _physicsSystem.ApplyLinearImpulse(uid, impulseVector); - - args.Handled = true; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.ChiropteamScreech.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.ChiropteamScreech.cs deleted file mode 100644 index a91d9bc553a..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.ChiropteamScreech.cs +++ /dev/null @@ -1,86 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using Content.Server.Chat.Systems; -using Content.Shared.Damage; -using Content.Shared.FixedPoint; -using Content.Shared.Humanoid; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Content.Shared.RPSX.Vampire.Attempt; -using Content.Shared.Tag; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Map; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - [Dependency] private readonly TagSystem _tagSystem = default!; - - private static readonly DamageSpecifier WindowsDamage = new() - { - DamageDict = new Dictionary - { - {"Slash", 500}, - } - }; - - private static readonly TimeSpan DefaultParalyzeTime = TimeSpan.FromSeconds(5); - private const string WindowTag = "Window"; - - private void InitChiropteamScreech() - { - SubscribeLocalEvent(OnVampireChiropteanScreechEvent); - } - - private void OnVampireChiropteanScreechEvent(EntityUid uid, VampireComponent component, - VampireChiropteanScreechEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - args.Handled = true; - - var coordinates = Transform(uid).Coordinates; - - TryParalyzePlayers(uid, component, coordinates); - TryDestroyWindows(coordinates); - - OnActionUsed(uid, component, args); - } - - private void TryParalyzePlayers(EntityUid uid, VampireComponent component, EntityCoordinates coordinates) - { - var players = - _entityLookupSystem.GetEntitiesInRange(coordinates, ChatSystem.VoiceRange); - - foreach (var player in players) - { - var targetUid = player.Owner; - if (targetUid == uid) - continue; - - var attemptEvent = new VampireChiropteanScreechAttemptEvent(targetUid, uid, component.FullPower); - RaiseLocalEvent(targetUid, attemptEvent, true); - - if (attemptEvent.Cancelled) - continue; - - _stunSystem.TryParalyze(targetUid, DefaultParalyzeTime, true); - } - } - - private void TryDestroyWindows(EntityCoordinates coordinates) - { - var windows = _entityLookupSystem - .GetEntitiesInRange(coordinates, 5) - .Where(ent => _tagSystem.HasTag(ent.Owner, WindowTag)); - - foreach (var window in windows) - { - _damageable.TryChangeDamage(window.Owner, WindowsDamage, true, false); - } - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.DrinkBlood.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.DrinkBlood.cs deleted file mode 100644 index bf0ab6f98ae..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.DrinkBlood.cs +++ /dev/null @@ -1,120 +0,0 @@ -using System; -using System.Collections.Generic; -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Server.Body.Components; -using Content.Server.Body.Systems; -using Content.Shared.DoAfter; -using Content.Shared.Humanoid; -using Content.Shared.Nutrition.Components; -using Content.Shared.Nutrition.EntitySystems; -using Content.Shared.Popups; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Content.Shared.RPSX.Vampire.Attempt; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - private const float HydrationFactor = 10.0f; - private const int MaxBloodFromTarget = 200; - private const int DrinkedBloodPerAction = 20; - - private static readonly HashSet AvilableBloodReagents = new() {"Blood", "SpiderBlood"}; - [Dependency] private readonly BloodstreamSystem _bloodstreamSystem = default!; - [Dependency] private readonly ThirstSystem _thirstSystem = default!; - - private void InitDrinkBlood() - { - SubscribeLocalEvent(OnVampireDrinkBlood); - SubscribeLocalEvent(OnVampireDrinkBloodDoAfterEvent); - } - - private void OnVampireDrinkBlood(EntityUid uid, VampireComponent component, VampireDrinkBloodAblityEvent args) - { - if (args.Handled || args.Target == args.Performer || !CanUseAbility(component, args)) - return; - - if (!IsTargetHasBlood(args.Target)) - { - _popupSystem.PopupEntity(Loc.GetString("vampire-not-correct-blood"), args.Target, uid); - return; - } - - var attemptEvent = new VampireDrinkBloodAttemptEvent(); - RaiseLocalEvent(args.Target, attemptEvent); - - if (attemptEvent.Cancelled) - { - _popupSystem.PopupEntity(Loc.GetString("vampire-target-defence"), uid, uid); - return; - } - - var vampireTargetComp = EnsureComp(args.Target); - if (vampireTargetComp.BloodDrinkedAmmount >= MaxBloodFromTarget) - { - _popupSystem.PopupEntity(Loc.GetString("vampire-target-max-blood"), args.Target, uid, PopupType.Large); - return; - } - - SendDrinkBloodDoAfter(args); - args.Handled = true; - } - - private bool IsTargetHasBlood(EntityUid target) - { - var isHumanoid = HasComp(target); - var hasCorrectBlood = TryComp(target, out BloodstreamComponent? bloodStream) && AvilableBloodReagents.Contains(bloodStream.BloodReagent); - - return isHumanoid && hasCorrectBlood; - } - - private void SendDrinkBloodDoAfter(VampireDrinkBloodAblityEvent args) - { - var doAfterEvent = new VampireDrinkBloodDoAfterEvent(); - var doAfterEventArgs = new DoAfterArgs( - EntityManager, - args.Performer, - TimeSpan.FromSeconds(2), - doAfterEvent, - args.Performer, - args.Target, - args.Performer - ) - { - BreakOnMove = true, - BreakOnDamage = true, - MovementThreshold = 1.0f - }; - - _doAfterSystem.TryStartDoAfter(doAfterEventArgs); - } - - private void OnVampireDrinkBloodDoAfterEvent(EntityUid uid, VampireComponent component, - VampireDrinkBloodDoAfterEvent args) - { - if (args.Handled) - return; - - if (args.Cancelled) - { - return; - } - - if (!TryComp(args.Target, out var vampireTargetComp)) - return; - - _bloodstreamSystem.TryModifyBleedAmount((EntityUid) args.Target, -DrinkedBloodPerAction); - vampireTargetComp.BloodDrinkedAmmount += DrinkedBloodPerAction; - - component.CurrentBloodAmount += DrinkedBloodPerAction; - component.TotalDrunkBlood += DrinkedBloodPerAction; - - if (TryComp(uid, out ThirstComponent? thirst)) - _thirstSystem.ModifyThirst(uid, thirst, HydrationFactor); - - args.Handled = true; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.FullPower.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.FullPower.cs deleted file mode 100644 index 3fda4ecab6f..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.FullPower.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System.Linq; -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Server.Mind; -using Content.Shared.Actions; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.Manager.Attributes; -using Content.Shared.Actions.Components; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - [Dependency] private readonly MindSystem _mindSystem = default!; - - [ValidatePrototypeId] - private const string FullPowerMobVampire = "MobVampire"; - - private void InitFullPower() - { - SubscribeLocalEvent(OnVampireFullPowerEvent); - } - - private void OnVampireFullPowerEvent(EntityUid uid, VampireComponent component, VampireFullPowerEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - if (!_mindSystem.TryGetMind(uid, out var mindId, out _)) - return; - - var coordinates = Transform(uid).Coordinates; - var mobVampire = Spawn(FullPowerMobVampire, coordinates); - - _mindSystem.TransferTo(mindId, mobVampire); - - QueueDel(uid); - TransferActions(uid, component, mobVampire); - - args.Handled = true; - } - - private void TransferActions(EntityUid uid, VampireComponent oldComponent, EntityUid mobVampire) - { - var component = EnsureComp(mobVampire); - var originalActions = _actionsSystem.GetActions(uid); - foreach (var action in originalActions) - { - var keyWord = FindVampireAction(action.Comp); - if (keyWord == null) - continue; - - if (!oldComponent.OpenedAbilities.ContainsValue(action.Owner)) - continue; - - EntityUid? newActionUid = null; - if (!_actionsSystem.AddAction(mobVampire, ref newActionUid, keyWord)) - continue; - - component.OpenedAbilities[keyWord] = newActionUid.Value; - } - } - - private string? FindVampireAction(ActionComponent component) - { - foreach (var keyword in component.Keywords) - { - if (!keyword.Contains("Vampire")) - continue; - - return keyword; - } - - return null; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Paralize.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Paralize.cs deleted file mode 100644 index 7b0d94363d7..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Paralize.cs +++ /dev/null @@ -1,108 +0,0 @@ -using System; -using Content.Shared.Bed.Sleep; -using Content.Shared.DoAfter; -using Content.Shared.Humanoid; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Content.Shared.RPSX.Vampire.Attempt; -using Robust.Shared.GameObjects; -using VampireParalizeAttemptEvent = Content.Shared.RPSX.Vampire.Attempt.VampireParalizeAttemptEvent; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - private void InitParalyze() - { - SubscribeLocalEvent(OnVampireFlashEvent); - SubscribeLocalEvent(OnVampireHypnosisEvent); - SubscribeLocalEvent(OnVampireHypnosisDoAfterEvent); - } - - private void OnVampireFlashEvent(EntityUid uid, VampireComponent component, VampireFlashEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - args.Handled = true; - - var coordinates = Transform(uid).Coordinates; - var humansToStun = _entityLookupSystem.GetEntitiesInRange(coordinates, 2f); - - foreach (var human in humansToStun) - { - var targetUid = human.Owner; - if (targetUid == uid) - continue; - - var attemptEvent = new VampireParalizeAttemptEvent(targetUid, uid, component.FullPower); - RaiseLocalEvent(targetUid, attemptEvent, true); - - if (attemptEvent.Cancelled) - continue; - - _stunSystem.TryParalyze(targetUid, TimeSpan.FromSeconds(5), true); - } - - OnActionUsed(uid, component, args); - } - - private void OnVampireHypnosisDoAfterEvent(EntityUid uid, VampireComponent component, VampireHypnoseDoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Target == null) - return; - - args.Handled = true; - - var target = (EntityUid) args.Target; - var sleepComponent = new SleepingComponent - { - Owner = target, - // CoolDownEnd = _timing.CurTime + TimeSpan.FromSeconds(30), - Cooldown = _timing.CurTime + TimeSpan.FromSeconds(30) - }; - - if (HasComp(target)) - RemComp(target); - - EntityManager.AddComponent(target, sleepComponent); - } - - private void OnVampireHypnosisEvent(EntityUid uid, VampireComponent component, VampireHypnosisEvent args) - { - if (args.Handled || !CanUseAbility(component, args) || args.Performer == args.Target) - return; - - var attemptEvent = new VampireHypnosisAttemptEvent(args.Target, uid, component.FullPower); - RaiseLocalEvent(args.Target, attemptEvent, true); - - if (attemptEvent.Cancelled) - return; - - args.Handled = true; - - SendHypnoseDoAfterEvent(uid, args); - OnActionUsed(uid, component, args); - } - - private void SendHypnoseDoAfterEvent(EntityUid uid, VampireHypnosisEvent args) - { - var doAfterEvent = new VampireHypnoseDoAfterEvent(); - var doAfterEventArgs = new DoAfterArgs( - EntityManager, - args.Performer, - TimeSpan.FromSeconds(3), - doAfterEvent, - args.Performer, - args.Target, - args.Performer - ) - { - BreakOnMove = true, - BreakOnDamage = true, - MovementThreshold = 1.0f - }; - - _doAfterSystem.TryStartDoAfter(doAfterEventArgs); - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Rejuvenate.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Rejuvenate.cs deleted file mode 100644 index 25284835ad9..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Rejuvenate.cs +++ /dev/null @@ -1,82 +0,0 @@ -using Content.Server.Damage.Systems; -using Content.Shared.Damage; -using Content.Shared.Mobs; -using Content.Shared.Mobs.Components; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Content.Shared.StatusEffect; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using System; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - [Dependency] private readonly StatusEffectsSystem _statusEffects = default!; - - private static TimeSpan RegenPeriod = TimeSpan.FromSeconds(2); - - private void InitRejuvenate() - { - SubscribeLocalEvent(OnVampireRejuvenate); - SubscribeLocalEvent(OnVampireRejuvenatePlusEvent); - } - - private void OnVampireRejuvenatePlusEvent(EntityUid uid, VampireComponent component, - VampireRejuvenatePlusEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - args.Handled = true; - - EnsureComp(uid); - - RemoveStaminaCrit(uid); - OnActionUsed(uid, component, args); - } - - private void OnVampireRejuvenate(EntityUid uid, VampireComponent component, VampireRejuvenateEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - RemoveStaminaCrit(uid); - OnActionUsed(uid, component, args); - - args.Handled = true; - } - - private void RemoveStaminaCrit(EntityUid uid) - { - _statusEffects.TryRemoveStatusEffect(uid, "SlowedDown"); - _statusEffects.TryRemoveStatusEffect(uid, "Stun"); - _statusEffects.TryRemoveStatusEffect(uid, "KnockedDown"); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - var curTime = _timing.CurTime; - var vampireQuery = EntityQueryEnumerator(); - - while (vampireQuery.MoveNext(out var uid, out var vampire, out var damage, out var mobState)) - { - if (vampire.NextTick + RegenPeriod > curTime) - continue; - - vampire.NextTick = curTime; - vampire.RegenTimes += 1; - - if (mobState.CurrentState == MobState.Alive) - _damageable.TryChangeDamage(uid, vampire.HealingDamage, true, false, damage); - - if (mobState.CurrentState == MobState.Dead || vampire.RegenTimes == 20) - { - RemComp(uid); - } - } - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Shapeshift.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Shapeshift.cs deleted file mode 100644 index 5a2a43e49a1..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Shapeshift.cs +++ /dev/null @@ -1,35 +0,0 @@ -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Server.Humanoid; -using Content.Shared.Humanoid; -using Content.Shared.Preferences; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - [Dependency] private readonly HumanoidAppearanceSystem _humanoid = default!; - - private void InitShapeshift() - { - SubscribeLocalEvent(OnVampireShapeshiftEvent); - } - - private void OnVampireShapeshiftEvent(EntityUid uid, VampireComponent component, VampireShapeshiftEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - if (!TryComp(uid, out HumanoidAppearanceComponent? humanoid) || !string.IsNullOrEmpty(humanoid.Initial)) - return; - - var profile = HumanoidCharacterProfile.RandomWithSpecies(humanoid.Species); - _humanoid.LoadProfile(uid, profile, humanoid); - - OnActionUsed(uid, component, args); - args.Handled = true; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Trall.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Trall.cs deleted file mode 100644 index 0e75359add2..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.Trall.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Shared.DoAfter; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.RPSX.Vampire; -using Content.Shared.RPSX.Vampire.Attempt; -using Robust.Shared.GameObjects; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem -{ - private void InitTrall() - { - SubscribeLocalEvent(OnVampireTrallDoAfterEvent); - SubscribeLocalEvent(OnVampireEnthrallEvent); - } - - private void OnVampireTrallDoAfterEvent(EntityUid uid, VampireComponent component, VampireTrallDoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Target == null) - return; - - _trallSystem.MakeTrall(uid, args.Target.Value); - args.Handled = true; - } - - private void OnVampireEnthrallEvent(EntityUid uid, VampireComponent component, VampireEnthrallEvent args) - { - if (args.Handled || !CanUseAbility(component, args)) - return; - - var attemptEvent = new VampireHypnosisAttemptEvent(uid, args.Target, component.FullPower); - RaiseLocalEvent(args.Target, attemptEvent, true); - - if (attemptEvent.Cancelled || !_trallSystem.CanBeTrall(args.Target)) - { - _popupSystem.PopupEntity(Loc.GetString("vampire-trall-not-valid"), uid, uid); - return; - } - - SendEnthrallDoAfterEvent(uid, component, args); - args.Handled = true; - } - - private void SendEnthrallDoAfterEvent(EntityUid uid, VampireComponent component, VampireEnthrallEvent args) - { - var doAfterEvent = new VampireTrallDoAfterEvent(); - var doAfterEventArgs = new DoAfterArgs( - EntityManager, - args.Performer, - TimeSpan.FromSeconds(3), - doAfterEvent, - args.Performer, - args.Target, - args.Performer - ) - { - BreakOnMove = true, - BreakOnDamage = true, - MovementThreshold = 1.0f - }; - - _doAfterSystem.TryStartDoAfter(doAfterEventArgs); - OnActionUsed(uid, component, args); - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.cs deleted file mode 100644 index ec47840ee78..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireAbilitiesSystem.cs +++ /dev/null @@ -1,136 +0,0 @@ -using System.Collections.Generic; -using Content.Server.RPSX.GameRules.Vampire.Role.Events; -using Content.Server.RPSX.GameRules.Vampire.Role.Trall; -using Content.Server.DoAfter; -using Content.Server.Popups; -using Content.Server.Stunnable; -using Content.Shared.Actions; -using Content.Shared.Damage; -using Content.Shared.Popups; -using Content.Shared.RPSX.Vampire; -using Robust.Shared.Console; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Timing; -using VampireComponent = Content.Shared.RPSX.DarkForces.Vampire.Components.VampireComponent; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -public sealed partial class VampireAbilitiesSystem : EntitySystem -{ - [Dependency] private readonly SharedActionsSystem _actionsSystem = default!; - [Dependency] private readonly IConsoleHost _console = default!; - [Dependency] private readonly DamageableSystem _damageable = default!; - [Dependency] private readonly DoAfterSystem _doAfterSystem = default!; - [Dependency] private readonly EntityLookupSystem _entityLookupSystem = default!; - [Dependency] private readonly PopupSystem _popupSystem = default!; - [Dependency] private readonly StunSystem _stunSystem = default!; - [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly VampireTrallSystem _trallSystem = default!; - - public override void Initialize() - { - base.Initialize(); - - InitChiropteamScreech(); - InitBats(); - InitDrinkBlood(); - InitFullPower(); - InitParalyze(); - InitRejuvenate(); - InitShapeshift(); - InitTrall(); - InitCharge(); - } - - public void OnVampireInit(EntityUid uid, VampireComponent component) - { - if (component.FullPower) - { - _console.ExecuteCommand($"scale {uid} 1,2"); - return; - } - - _actionsSystem.AddAction(uid, ref component.ActionStatisticEntity, component.ActionStatistic); - _actionsSystem.AddAction(uid, ref component.ActionDrinkBloodEntity, component.ActionDrinkBlood); - _actionsSystem.AddAction(uid, ref component.ActionRejuvenateEntity, component.ActionRejuvenate); - _actionsSystem.AddAction(uid, ref component.ActionFlashEntity, component.ActionFlash); - } - - - public void OnVampireShutdown(EntityUid uid, VampireComponent component) - { - _actionsSystem.RemoveAction(uid, component.ActionStatisticEntity); - _actionsSystem.RemoveAction(uid, component.ActionDrinkBloodEntity); - _actionsSystem.RemoveAction(uid, component.ActionRejuvenateEntity); - _actionsSystem.RemoveAction(uid, component.ActionFullPowerEntity); - _actionsSystem.RemoveAction(uid, component.ActionFlashEntity); - } - - public void TryOpenAbility(EntityUid uid, VampireComponent component, VampireAbilitySelectedEvent args) - { - if (!component.FullPower && component.CurrentBloodAmount < args.BloodRequired) - return; - - EntityUid? actionUid = null; - - if (!_actionsSystem.AddAction(uid, ref actionUid, out var actionComp, args.ActionId)) - return; - - component.OpenedAbilities[args.ActionId] = actionUid.Value; - component.CurrentBloodAmount -= args.BloodRequired; - - if (args.ReplaceId == null) - return; - - var actions = _actionsSystem.GetActions(uid); - foreach (var action in actions) - { - var actionId = FindVampireAction(action.Comp); - if (actionId != args.ReplaceId) - continue; - - _actionsSystem.RemoveAction(uid, action.Owner); - component.OpenedAbilities.Remove(actionId); - } - } - - public void AddFullPowerAction(EntityUid uid, VampireComponent component) - { - _actionsSystem.AddAction(uid, ref component.ActionFullPowerEntity, component.ActionFullPower); - } - - private bool CanUseAbility(VampireComponent component, IVampireEvent args) - { - if (component.FullPower || component.CurrentBloodAmount >= args.BloodCost) - return true; - - _popupSystem.PopupEntity(Loc.GetString("vampire-not-enought-blood"), component.Owner, component.Owner, - PopupType.Medium); - return false; - } - - public List GetOpenedAbilities(EntityUid uid, VampireComponent component) - { - var openedAbilities = new List(); - var actions = _actionsSystem.GetActions(uid); - foreach (var action in actions) - { - var actionId = FindVampireAction(action.Comp); - if (actionId == null) - continue; - - openedAbilities.Add(actionId); - } - - return openedAbilities; - } - - private void OnActionUsed(EntityUid uid, VampireComponent component, IVampireEvent args) - { - component.CurrentBloodAmount -= args.BloodCost; - - if (component.CurrentBloodAmount < 0) - component.CurrentBloodAmount = 0; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireRegenComponent.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireRegenComponent.cs deleted file mode 100644 index 52a4ebc34ad..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Abilities/VampireRegenComponent.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using Content.Shared.Damage; -using Content.Shared.FixedPoint; -using Robust.Shared.GameObjects; -using Robust.Shared.Serialization.Manager.Attributes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Abilities; - -[RegisterComponent] -public sealed partial class VampireRegenComponent : Component -{ - [DataField("healingDamage")] - public DamageSpecifier HealingDamage = new() - { - DamageDict = new Dictionary - { - {"Blunt", -3}, - {"Slash", -3}, - {"Piercing", -3}, - {"Heat", -3}, - {"Cold", -3}, - {"Shock", -3}, - {"Holiness", -3} - } - }; - - [DataField("nextTick", customTypeSerializer: typeof(TimeOffsetSerializer))] - public TimeSpan NextTick; - - [DataField("RegenTimes")] - public int RegenTimes; -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Components/VampireRoleComponent.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Components/VampireRoleComponent.cs deleted file mode 100644 index 7244f423df2..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Components/VampireRoleComponent.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Content.Shared.Roles; -using Robust.Shared.GameObjects; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Components; - -[RegisterComponent] -public sealed partial class VampireRoleComponent : BaseMindRoleComponent -{ -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Events/VampireAbilitySelectedEvent.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Events/VampireAbilitySelectedEvent.cs deleted file mode 100644 index 9e1f3685838..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Events/VampireAbilitySelectedEvent.cs +++ /dev/null @@ -1,7 +0,0 @@ -using Robust.Shared.GameObjects; -using Robust.Shared.Prototypes; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Events; - -[ByRefEvent] -public record VampireAbilitySelectedEvent(string ActionId, int BloodRequired, EntProtoId? ReplaceId); diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Trall/VampireTrallRoleComponent.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Trall/VampireTrallRoleComponent.cs deleted file mode 100644 index 1b65acaaff1..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Trall/VampireTrallRoleComponent.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Content.Shared.Roles; -using Robust.Shared.GameObjects; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Trall; - -[RegisterComponent] -public sealed partial class VampireTrallRoleComponent : BaseMindRoleComponent -{ -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/Trall/VampireTrallSystem.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/Trall/VampireTrallSystem.cs deleted file mode 100644 index 796f5993e6f..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/Trall/VampireTrallSystem.cs +++ /dev/null @@ -1,143 +0,0 @@ -using System; -using Content.Server.RPSX.DarkForces.Saint.Chaplain.Components; -using Content.Shared.RPSX.DarkForces.Saint.Reagent.Events; -using Content.Server.Mind; -using Content.Server.Roles; -using Content.Shared.Humanoid; -using Content.Shared.Mind; -using Content.Shared.Mindshield.Components; -using Content.Shared.Mobs.Systems; -using Content.Shared.NPC.Systems; -using Content.Shared.Popups; -using Content.Shared.Roles; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Content.Shared.Stunnable; -using Robust.Server.Audio; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Prototypes; - -namespace Content.Server.RPSX.GameRules.Vampire.Role.Trall; - -public sealed class VampireTrallSystem : EntitySystem -{ - [Dependency] private readonly NpcFactionSystem _factionSystem = default!; - [Dependency] private readonly MindSystem _mindSystem = default!; - [Dependency] private readonly MobStateSystem _mobStateSystem = default!; - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly SharedRoleSystem _roleSystem = default!; - [Dependency] private readonly SharedStunSystem _stun = default!; - [Dependency] private readonly AudioSystem _audioSystem = default!; - - private static TimeSpan ParalyzeOnDeTrall = TimeSpan.FromSeconds(5); - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnVampireTrallInit); - SubscribeLocalEvent(OnVampireTrallShutdown); - - SubscribeLocalEvent(OnVampireTrallDrinkSaintWater); - SubscribeLocalEvent(OnVampireTrallFlammableSaintWater); - SubscribeLocalEvent(OnBriefing); - } - - private void OnBriefing(EntityUid uid, VampireTrallRoleComponent component, ref GetBriefingEvent args) - { - if (!TryComp(uid, out var mind) || mind.OwnedEntity == null) - return; - - if (!TryComp(mind.OwnedEntity, out var trallComponent)) - return; - - if (trallComponent.OwnerUid == EntityUid.Invalid) - return; - - var ownerName = MetaData(trallComponent.OwnerUid).EntityName; - - args.Briefing = string.Empty; - args.Append(Loc.GetString("vampire-trall-briefing", ("ownerName", ownerName))); - } - - private void OnVampireTrallDrinkSaintWater(EntityUid uid, VampireTrallComponent component, - OnSaintWaterDrinkEvent args) - { - if (args.Cancelled) - return; - - RemComp(uid); - args.Cancel(); - } - - private void OnVampireTrallFlammableSaintWater(EntityUid uid, VampireTrallComponent component, - OnSaintWaterFlammableEvent args) - { - if (args.Cancelled) - return; - - RemComp(uid); - args.Cancel(); - } - - private void OnVampireTrallInit(EntityUid uid, VampireTrallComponent component, ComponentInit args) - { - if (!_mindSystem.TryGetMind(uid, out var mindId, out _)) - return; - - SetupAntagonistRole(uid, mindId, component); - } - - private void SetupAntagonistRole(EntityUid uid, EntityUid mindId, VampireTrallComponent component) - { - var antagPrototype = _prototypeManager.Index("Vampire"); - - _roleSystem.MindRemoveRole(mindId); - _roleSystem.MindAddRole(mindId, "VampireTrall"); - EnsureComp(mindId); - - _factionSystem.RemoveFaction(uid, "NanoTrasen", false); - _factionSystem.AddFaction(uid, "Vampire"); - - _popupSystem.PopupEntity(Loc.GetString("vampire-trall"), uid, uid); - _roleSystem.MindPlaySound(mindId, component.Alert); - } - - private void RemoveAntagonistRole(EntityUid uid, EntityUid mindId) - { - _roleSystem.MindRemoveRole(mindId); - - _factionSystem.RemoveFaction(uid, "Vampire"); - _factionSystem.AddFaction(uid, "NanoTrasen"); - - _popupSystem.PopupEntity(Loc.GetString("vampire-trall-free"), uid, uid); - - _stun.TryParalyze(uid, ParalyzeOnDeTrall, true); - } - - private void OnVampireTrallShutdown(EntityUid uid, VampireTrallComponent component, ComponentShutdown args) - { - if (!_mindSystem.TryGetMind(uid, out var mindId, out _)) - return; - - RemoveAntagonistRole(uid, mindId); - } - - public bool CanBeTrall(EntityUid target) - { - if (!HasComp(target) || HasComp(target)) - return false; - - if (HasComp(target) || HasComp(target)) - return false; - - return _mobStateSystem.IsAlive(target); - } - - public void MakeTrall(EntityUid owner, EntityUid target) - { - var trallComponent = EnsureComp(target); - trallComponent.OwnerUid = owner; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/VampireSystem.Saint.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/VampireSystem.Saint.cs deleted file mode 100644 index 37d2560e03d..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/VampireSystem.Saint.cs +++ /dev/null @@ -1,71 +0,0 @@ -using Content.Server.RPSX.DarkForces.Saint.Saintable.Events; -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Shared.RPSX.DarkForces.Saint.Reagent.Events; -using Content.Server.Atmos.Components; -using Content.Server.Atmos.EntitySystems; -using Content.Shared.Popups; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; - -namespace Content.Server.RPSX.GameRules.Vampire.Role; - -public sealed partial class VampireSystem -{ - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly FlammableSystem _flammableSystem = default!; - - private void InitializeSaint() - { - SubscribeLocalEvent(OnVampireDrinkSaintWater); - SubscribeLocalEvent(OnVampireFlammableSaintWater); - - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - SubscribeLocalEvent(OnVampireSaintOrSilverEntity); - } - - private void OnVampireSaintOrSilverEntity(EntityUid uid, VampireComponent component, ISaintEntityEvent args) - { - args.PushOnCollide = false; - args.IsHandled = true; - - _popupSystem.PopupEntity(Loc.GetString("vampire-got-saint-damage"), uid, uid); - } - - private void OnVampireFlammableSaintWater(EntityUid uid, VampireComponent component, - OnSaintWaterFlammableEvent args) - { - if (args.Cancelled) - return; - - IgniteVampire(uid, component); - args.Cancel(); - } - - private void OnVampireDrinkSaintWater(EntityUid uid, VampireComponent component, OnSaintWaterDrinkEvent args) - { - if (args.Cancelled) - return; - - IgniteVampire(uid, component); - args.Cancel(); - } - - private void IgniteVampire(EntityUid uid, VampireComponent component) - { - if (!TryComp(uid, out var flammableComponent) || component.FullPower) - return; - - flammableComponent.FireStacks = 2; - _flammableSystem.Ignite(uid, uid); - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Role/VampireSystem.cs b/Content.Server/_RPSX/GameRules/Vampire/Role/VampireSystem.cs deleted file mode 100644 index 61ec13ac51b..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Role/VampireSystem.cs +++ /dev/null @@ -1,168 +0,0 @@ -using System.Collections.Generic; -using Content.Server.RPSX.GameRules.Vampire.EUI; -using Content.Server.RPSX.GameRules.Vampire.Role.Abilities; -using Content.Server.RPSX.GameRules.Vampire.Role.Events; -using Content.Server.EUI; -using Content.Server.Mind; -using Content.Server.Objectives; -using Content.Shared.Mind; -using Content.Shared.NPC.Systems; -using Content.Shared.Nutrition.Components; -using Content.Shared.RPSX.DarkForces.Vampire; -using Content.Shared.RPSX.Vampire; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Player; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.Manager.Attributes; -using Robust.Shared.Timing; -using VampireComponent = Content.Shared.RPSX.DarkForces.Vampire.Components.VampireComponent; - -namespace Content.Server.RPSX.GameRules.Vampire.Role; - -public sealed partial class VampireSystem : EntitySystem -{ - [Dependency] private readonly NpcFactionSystem _factionSystem = default!; - [Dependency] private readonly VampireAbilitiesSystem _vampireAbilities = default!; - [Dependency] private readonly EuiManager _euiManager = default!; - [Dependency] private readonly IGameTiming _gameTiming = default!; - [Dependency] private readonly ObjectivesSystem _objectives = default!; - [Dependency] private readonly MindSystem _mindSystem = default!; - - [ValidatePrototypeId] - private const string BloodObjective = "VampireBloodObjective"; - - [ValidatePrototypeId] - private const string EnthrallObjective = "VampireEnthrallObjective"; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnVampireInit); - SubscribeLocalEvent(OnVampireShutdown); - SubscribeLocalEvent(OnOpenHelpDialogEvent); - SubscribeLocalEvent(OnAbilitySelected); - - InitializeSaint(); - } - - private void OnVampireInit(EntityUid uid, VampireComponent component, ComponentInit args) - { - RemComp(uid); - - _factionSystem.RemoveFaction(uid, "NanoTrasen", false); - _factionSystem.AddFaction(uid, "Vampire"); - _vampireAbilities.OnVampireInit(uid, component); - - component.NextObjectivesCheckTick = _gameTiming.CurTime + component.ObjectivesCheckPeriod; - - if (!_mindSystem.TryGetMind(uid, out var mindId, out var mind)) - return; - - CreateObjectives(uid, component, mindId, mind); - } - - private void OnVampireShutdown(EntityUid uid, VampireComponent component, ComponentShutdown args) - { - _vampireAbilities.OnVampireShutdown(uid, component); - } - - private void CreateObjectives(EntityUid uid, VampireComponent component, EntityUid mindId, - MindComponent mindComponent) - { - var bloodObjective = _objectives.TryCreateObjective(mindId, mindComponent, BloodObjective); - var enthrallObjective = _objectives.TryCreateObjective(mindId, mindComponent, EnthrallObjective); - - if (bloodObjective != null) - { - _mindSystem.AddObjective(mindId, mindComponent, bloodObjective.Value); - component.Objectives.Add(bloodObjective.Value); - } - - if (enthrallObjective != null) - { - _mindSystem.AddObjective(mindId, mindComponent, enthrallObjective.Value); - component.Objectives.Add(enthrallObjective.Value); - } - } - - private void OnOpenHelpDialogEvent(EntityUid uid, VampireComponent component, VampireOpenHelpDialogEvent args) - { - if (args.Handled) - return; - - if (!TryComp(uid, out var actor)) - return; - - var session = actor.PlayerSession; - - if (component.AbilitiesUiOpen) - return; - - var ui = new VampireAbilitiesEUI(uid); - var state = new VampireAbilitiesState( - GetNetEntity(uid), - GetOpenedAbilities(uid, component), - component.TotalDrunkBlood, - component.CurrentBloodAmount - ); - - _euiManager.OpenEui(ui, session); - ui.SendMessage(state); - - component.AbilitiesUiOpen = true; - args.Handled = true; - } - - private List GetOpenedAbilities(EntityUid uid, VampireComponent component) - { - return _vampireAbilities.GetOpenedAbilities(uid, component); - } - - private void OnAbilitySelected(EntityUid uid, VampireComponent component, VampireAbilitySelectedEvent args) - { - _vampireAbilities.TryOpenAbility(uid, component, args); - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - var curTime = _gameTiming.CurTime; - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var component)) - { - if (component.FullPower || component.NextObjectivesCheckTick > curTime) - continue; - - if (!IsObjectivesCompleted(uid, component)) - { - component.NextObjectivesCheckTick = curTime + component.ObjectivesCheckPeriod; - continue; - } - - _vampireAbilities.AddFullPowerAction(uid, component); - } - } - - private bool IsObjectivesCompleted(EntityUid uid, VampireComponent component) - { - if (!_mindSystem.TryGetMind(uid, out var mindId, out _)) - return false; - - foreach (var objective in component.Objectives) - { - var objectiveInfo = _objectives.GetInfo(objective, mindId); - if (objectiveInfo == null) - { - continue; - } - - if (objectiveInfo.Value.Progress < 1f) - return false; - } - - return true; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Blood/VampireBloodObjectiveComponent.cs b/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Blood/VampireBloodObjectiveComponent.cs deleted file mode 100644 index 0408455a418..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Blood/VampireBloodObjectiveComponent.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Robust.Shared.GameObjects; -using Robust.Shared.Serialization.Manager.Attributes; -using Robust.Shared.ViewVariables; - -namespace Content.Server.RPSX.GameRules.Vampire.Rule.Objectives.Blood; - -[RegisterComponent] -public sealed partial class VampireBloodObjectiveComponent : Component -{ - [DataField] - [ViewVariables(VVAccess.ReadWrite)] - public float RequiredBloodCount = 4000f; -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Blood/VampireBloodObjectiveSystem.cs b/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Blood/VampireBloodObjectiveSystem.cs deleted file mode 100644 index bde967ff74c..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Blood/VampireBloodObjectiveSystem.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Server.Mind; -using Content.Shared.Objectives.Components; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Robust.Shared.Configuration; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Random; - -namespace Content.Server.RPSX.GameRules.Vampire.Rule.Objectives.Blood; - -public sealed class VampireBloodObjectiveSystem : EntitySystem -{ - [Dependency] private readonly MetaDataSystem _metaData = default!; - [Dependency] private readonly IRobustRandom _robustRandom = default!; - [Dependency] private readonly IConfigurationManager _cfg = default!; - [Dependency] private readonly MindSystem _mindSystem = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnObjectiveAssigned); - SubscribeLocalEvent(OnAfterObjectiveAssigned); - SubscribeLocalEvent(OnGetProgress); - } - - private void OnObjectiveAssigned(EntityUid uid, VampireBloodObjectiveComponent component, - ref ObjectiveAssignedEvent args) - { - - var count = _mindSystem.GetAliveHumans().Count; - component.RequiredBloodCount = count * 50; - } - - private void OnAfterObjectiveAssigned(EntityUid uid, VampireBloodObjectiveComponent component, - ref ObjectiveAfterAssignEvent args) - { - _metaData.SetEntityName(uid, - Loc.GetString("vampire-blood-objective-title", ("bloodCount", component.RequiredBloodCount))); - } - - private void OnGetProgress(EntityUid uid, VampireBloodObjectiveComponent component, - ref ObjectiveGetProgressEvent args) - { - args.Progress = 0f; - var entity = args.Mind.CurrentEntity; - if (entity == null) - return; - - if (!TryComp(entity.Value, out var vampireComponent)) - return; - - if (vampireComponent.FullPower) - { - args.Progress = 1f; - return; - } - - args.Progress = vampireComponent.TotalDrunkBlood / component.RequiredBloodCount; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Enthrall/VampireEnthrallObjectiveComponent.cs b/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Enthrall/VampireEnthrallObjectiveComponent.cs deleted file mode 100644 index 3e78a5ff8c9..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Enthrall/VampireEnthrallObjectiveComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Robust.Shared.GameObjects; -using Robust.Shared.Serialization.Manager.Attributes; - -namespace Content.Server.RPSX.GameRules.Vampire.Rule.Objectives.Enthrall; - -[RegisterComponent] -public sealed partial class VampireEnthrallObjectiveComponent : Component -{ - [DataField] - public float TrallCount = 2f; -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Enthrall/VampireEnthrallObjectiveSystem.cs b/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Enthrall/VampireEnthrallObjectiveSystem.cs deleted file mode 100644 index 3b102a42272..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/Rule/Objectives/Enthrall/VampireEnthrallObjectiveSystem.cs +++ /dev/null @@ -1,68 +0,0 @@ -using Content.Server.RPSX.GameRules.Vampire.Role.Components; -using Content.Server.RPSX.GameRules.Vampire.Role.Trall; -using Content.Shared.Objectives.Components; -using Content.Shared.RPSX.DarkForces.Vampire.Components; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Random; - -namespace Content.Server.RPSX.GameRules.Vampire.Rule.Objectives.Enthrall; - -public sealed class VampireEnthrallObjectiveSystem : EntitySystem -{ - [Dependency] private readonly MetaDataSystem _metaData = default!; - [Dependency] private readonly IRobustRandom _robustRandom = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnObjectiveAssigned); - SubscribeLocalEvent(OnAfterObjectiveAssigned); - SubscribeLocalEvent(OnGetProgress); - } - - private void OnObjectiveAssigned(EntityUid uid, VampireEnthrallObjectiveComponent component, - ref ObjectiveAssignedEvent args) - { - component.TrallCount = _robustRandom.Next(2, 4); - } - - private void OnAfterObjectiveAssigned(EntityUid uid, VampireEnthrallObjectiveComponent component, - ref ObjectiveAfterAssignEvent args) - { - _metaData.SetEntityName(uid, - Loc.GetString("vampire-enthrall-objective-title", ("trallCount", component.TrallCount))); - } - - private void OnGetProgress(EntityUid uid, VampireEnthrallObjectiveComponent component, - ref ObjectiveGetProgressEvent args) - { - args.Progress = 0f; - - var entity = args.Mind.CurrentEntity; - if (entity == null) - return; - - if (!TryComp(entity.Value, out var vampireComponent)) - return; - - if (vampireComponent.FullPower) - { - args.Progress = 1f; - return; - } - - var trallCount = 0; - var query = EntityQueryEnumerator(); - while (query.MoveNext(out _, out var trallComponent)) - { - if (trallComponent.OwnerUid != entity) - continue; - - trallCount++; - } - - args.Progress = trallCount / component.TrallCount; - } -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/VampireTargetComponent.cs b/Content.Server/_RPSX/GameRules/Vampire/VampireTargetComponent.cs deleted file mode 100644 index 866411b05c8..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/VampireTargetComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Robust.Shared.GameObjects; -using Robust.Shared.Serialization.Manager.Attributes; - -namespace Content.Server.RPSX.GameRules.Vampire; - -[RegisterComponent] -public sealed partial class VampireTargetComponent : Component -{ - [DataField("BloodDrinkedAmmount")] - public int BloodDrinkedAmmount; -} diff --git a/Content.Server/_RPSX/GameRules/Vampire/VampireThirst.cs b/Content.Server/_RPSX/GameRules/Vampire/VampireThirst.cs deleted file mode 100644 index b5b931866fa..00000000000 --- a/Content.Server/_RPSX/GameRules/Vampire/VampireThirst.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Content.Server.RPSX.Bridges; -using Content.Shared.EntityEffects; -using Content.Shared.Nutrition.Components; -using Content.Shared.Nutrition.EntitySystems; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.Manager.Attributes; - -namespace Content.Server.RPSX.GameRules.Vampire; - -public sealed partial class VampireThirst : EntityEffect -{ - private const float DefaultHydrationFactor = 3.0f; - - [DataField("factor")] - public float HydrationFactor { get; set; } = DefaultHydrationFactor; - - public override void Effect(EntityEffectBaseArgs args) - { - if (args is not EntityEffectReagentArgs reagentArgs) - return; - - var target = reagentArgs.TargetEntity; - var isVampire = IoCManager.Resolve().IsVampire(target); - if (!isVampire || !args.EntityManager.TryGetComponent(target, out ThirstComponent? thirst)) - return; - - args.EntityManager.System().ModifyThirst(target, thirst, HydrationFactor); - } - - protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) - { - return null; - } -} diff --git a/Content.Server/_RPSX/GameTicking/Rules/Vampire/VampireRuleComponent.cs b/Content.Server/_RPSX/GameTicking/Rules/Vampire/VampireRuleComponent.cs deleted file mode 100644 index c0f40a910e4..00000000000 --- a/Content.Server/_RPSX/GameTicking/Rules/Vampire/VampireRuleComponent.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Robust.Shared.Analyzers; -using Robust.Shared.GameObjects; - -namespace Content.Server.RPSX.GameTicking.Rules.Vampire; - -[RegisterComponent] -[Access(typeof(VampireRuleSystem))] -public sealed partial class VampireRuleComponent : Component -{ -} diff --git a/Content.Server/_RPSX/GameTicking/Rules/Vampire/VampireRuleSystem.cs b/Content.Server/_RPSX/GameTicking/Rules/Vampire/VampireRuleSystem.cs deleted file mode 100644 index 1409f9fa4f7..00000000000 --- a/Content.Server/_RPSX/GameTicking/Rules/Vampire/VampireRuleSystem.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System.Linq; -using Content.Server.Antag; -using Content.Server.GameTicking.Rules; -using Content.Server.Objectives; -using Content.Shared.Mind; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; - -namespace Content.Server.RPSX.GameTicking.Rules.Vampire; - -public sealed class VampireRuleSystem : GameRuleSystem -{ - [Dependency] private readonly AntagSelectionSystem _antag = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnObjectivesTextGetInfo); - SubscribeLocalEvent(OnTextPrepend); - SubscribeLocalEvent(OnAntagSelected); - } - - private void OnTextPrepend(EntityUid uid, VampireRuleComponent component, ObjectivesTextPrependEvent args) - { - args.Text += "\n" + "На станции были вампиры"; - } - - private void OnAntagSelected(EntityUid uid, VampireRuleComponent component, AfterAntagEntitySelectedEvent args) - { - } - - private void OnObjectivesTextGetInfo(EntityUid uid, VampireRuleComponent component, - ref ObjectivesTextGetInfoEvent args) - { - args.Minds = _antag.GetAntagMindEntityUids(uid).Select(mindId => (mindId, Comp(mindId).CharacterName ?? "?")).ToList(); - args.AgentName = "Вампир"; - } -} diff --git a/Content.Shared/_RPSX/Vampire/Attempt/VampireChiropteanScreechAttemptEvent.cs b/Content.Shared/_RPSX/Vampire/Attempt/VampireChiropteanScreechAttemptEvent.cs deleted file mode 100644 index 28e48dd4e3d..00000000000 --- a/Content.Shared/_RPSX/Vampire/Attempt/VampireChiropteanScreechAttemptEvent.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Content.Shared.RPSX.Vampire.Attempt; - -public sealed class VampireChiropteanScreechAttemptEvent : CancellableEntityEventArgs -{ - public readonly EntityUid Target; - public readonly EntityUid User; - public readonly bool FullPower; - - public VampireChiropteanScreechAttemptEvent(EntityUid target, EntityUid user, bool fullPower) - { - Target = target; - User = user; - FullPower = fullPower; - } -} diff --git a/Content.Shared/_RPSX/Vampire/Attempt/VampireDrinkBloodAttemptEvent.cs b/Content.Shared/_RPSX/Vampire/Attempt/VampireDrinkBloodAttemptEvent.cs deleted file mode 100644 index 5341a39eee2..00000000000 --- a/Content.Shared/_RPSX/Vampire/Attempt/VampireDrinkBloodAttemptEvent.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Content.Shared.Inventory; - -namespace Content.Shared.RPSX.Vampire.Attempt; - -public sealed class VampireDrinkBloodAttemptEvent : CancellableEntityEventArgs, IInventoryRelayEvent -{ - public SlotFlags TargetSlots => SlotFlags.NECK; -} diff --git a/Content.Shared/_RPSX/Vampire/Attempt/VampireHypnosisAttemptEvent.cs b/Content.Shared/_RPSX/Vampire/Attempt/VampireHypnosisAttemptEvent.cs deleted file mode 100644 index 3a1334451c5..00000000000 --- a/Content.Shared/_RPSX/Vampire/Attempt/VampireHypnosisAttemptEvent.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Content.Shared.RPSX.Vampire.Attempt; - -public sealed partial class VampireHypnosisAttemptEvent : CancellableEntityEventArgs -{ - public readonly EntityUid Target; - public readonly EntityUid User; - public readonly bool FullPower; - - public VampireHypnosisAttemptEvent(EntityUid target, EntityUid user, bool fullPower) - { - Target = target; - User = user; - FullPower = fullPower; - } -} diff --git a/Content.Shared/_RPSX/Vampire/Attempt/VampireParalizeAttemptEvent.cs b/Content.Shared/_RPSX/Vampire/Attempt/VampireParalizeAttemptEvent.cs deleted file mode 100644 index 8956795ac2b..00000000000 --- a/Content.Shared/_RPSX/Vampire/Attempt/VampireParalizeAttemptEvent.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace Content.Shared.RPSX.Vampire.Attempt; - -public sealed partial class VampireParalizeAttemptEvent : CancellableEntityEventArgs -{ - public readonly EntityUid Target; - public readonly EntityUid User; - public readonly bool FullPower; - - public VampireParalizeAttemptEvent(EntityUid target, EntityUid user, bool fullPower) - { - Target = target; - User = user; - FullPower = fullPower; - } -} diff --git a/Content.Shared/_RPSX/Vampire/VampireAbilitiesEvents.cs b/Content.Shared/_RPSX/Vampire/VampireAbilitiesEvents.cs deleted file mode 100644 index 735f74ddc08..00000000000 --- a/Content.Shared/_RPSX/Vampire/VampireAbilitiesEvents.cs +++ /dev/null @@ -1,84 +0,0 @@ -using Content.Shared.Actions; - -namespace Content.Shared.RPSX.Vampire; - -public interface IVampireEvent -{ - public int BloodCost { get; } -} - -public sealed partial class VampireOpenHelpDialogEvent : InstantActionEvent -{ -} - -public sealed partial class VampireDrinkBloodAblityEvent : EntityTargetActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireRejuvenateEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireFlashEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireHypnosisEvent : EntityTargetActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireChargeEvent : WorldTargetActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireShapeshiftEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampirePolymorphEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireRejuvenatePlusEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireSummonBatsEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireChiropteanScreechEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireEnthrallEvent : EntityTargetActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} - -public sealed partial class VampireFullPowerEvent : InstantActionEvent, IVampireEvent -{ - [DataField] - public int BloodCost { get; private set; } -} diff --git a/Content.Shared/_RPSX/Vampire/VampireDrinkBloodDoAfterEvent.cs b/Content.Shared/_RPSX/Vampire/VampireDrinkBloodDoAfterEvent.cs deleted file mode 100644 index 70df2821dfd..00000000000 --- a/Content.Shared/_RPSX/Vampire/VampireDrinkBloodDoAfterEvent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Content.Shared.DoAfter; -using Robust.Shared.Serialization; - -namespace Content.Shared.RPSX.Vampire; - -[Serializable, NetSerializable] -public sealed partial class VampireDrinkBloodDoAfterEvent : DoAfterEvent -{ - public VampireDrinkBloodDoAfterEvent() - { - } - public override DoAfterEvent Clone() - { - return this; - } -} diff --git a/Content.Shared/_RPSX/Vampire/VampireHypnoseDoAfterEvent.cs b/Content.Shared/_RPSX/Vampire/VampireHypnoseDoAfterEvent.cs deleted file mode 100644 index 110ed46c39f..00000000000 --- a/Content.Shared/_RPSX/Vampire/VampireHypnoseDoAfterEvent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Content.Shared.DoAfter; -using Robust.Shared.Serialization; - -namespace Content.Shared.RPSX.Vampire; - -[Serializable, NetSerializable] -public sealed partial class VampireHypnoseDoAfterEvent : DoAfterEvent -{ - public VampireHypnoseDoAfterEvent() - { - } - public override DoAfterEvent Clone() - { - return this; - } -} diff --git a/Content.Shared/_RPSX/Vampire/VampireTrallDoAfterEvent.cs b/Content.Shared/_RPSX/Vampire/VampireTrallDoAfterEvent.cs deleted file mode 100644 index 4619144718b..00000000000 --- a/Content.Shared/_RPSX/Vampire/VampireTrallDoAfterEvent.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Content.Shared.DoAfter; -using Robust.Shared.Serialization; - -namespace Content.Shared.RPSX.Vampire; - -[Serializable, NetSerializable] -public sealed partial class VampireTrallDoAfterEvent : DoAfterEvent -{ - public VampireTrallDoAfterEvent() - { - } - public override DoAfterEvent Clone() - { - return this; - } -} diff --git a/Resources/Locale/ru-RU/Rules/vampire.ftl b/Resources/Locale/ru-RU/Rules/vampire.ftl deleted file mode 100644 index 00942920924..00000000000 --- a/Resources/Locale/ru-RU/Rules/vampire.ftl +++ /dev/null @@ -1,55 +0,0 @@ -## vampire - -# Shown at the end of a round of vampire -vampire-round-end-result = - { $vampireCount -> - [one] Был один вампир. - *[other] Было { $vampireCount } вампиров. - } -vampire-round-end-codewords = Кодовыми словами были: [color=White]{ $codewords }[/color]. -# Shown at the end of a round of vampire -vampire-user-was-a-vampire = [color=gray]{ $user }[/color] был(а) вампиром. -vampire-user-was-a-vampire-named = [color=White]{ $name }[/color] ([color=gray]{ $user }[/color]) был(а) вампиром. -vampire-was-a-vampire-named = [color=White]{ $name }[/color] был(а) вампиром. -vampire-user-was-a-vampire-with-objectives = [color=gray]{ $user }[/color] был(а) вампиром со следующими целями: -vampire-user-was-a-vampire-with-objectives-named = [color=White]{ $name }[/color] ([color=gray]{ $user }[/color]) был(а) вампиром со следующими целями: -vampire-was-a-vampire-with-objectives-named = [color=White]{ $name }[/color] был(а) вампиром со следующими целями: -preset-vampire-objective-issuer-syndicate = [color=#87cefa]Синдикат[/color] -# Shown at the end of a round of vampire -vampire-objective-condition-success = { $condition } | [color={ $markupColor }]Успех![/color] -# Shown at the end of a round of vampire -vampire-objective-condition-fail = { $condition } | [color={ $markupColor }]Провал![/color] ({ $progress }%) -vampire-title = Вампиры -vampire-description = Среди нас есть Вампиры... -vampire-not-enough-ready-players = Недостаточно игроков готовы к игре! Из { $minimumPlayers } необходимых игроков готовы { $readyPlayersCount }. Не удалось начать режим Вампиров. -vampire-no-one-ready = Нет готовых игроков! Не удалось начать режим Вампиров. - -## vampireDeathMatch - -vampire-death-match-title = Бой насмерть вампиров -vampire-death-match-description = Все — Вампиры. Все хотят смерти друг друга. -vampire-death-match-station-is-too-unsafe-announcement = На станции слишком опасно, чтобы продолжать. У вас есть одна минута. -vampire-death-match-end-round-description-first-line = КПК были восстановлены... -vampire-death-match-end-round-description-entry = КПК { $originalName }, с { $tcBalance } ТК - -## vampireRole - -# vampireRole -vampire-role-greeting = - Вы - агент Синдиката. - Ваши цели и кодовые слова перечислены в меню персонажа. - Воспользуйтесь аплинком, встроенным в ваш КПК, чтобы приобрести всё необходимое для выполнения работы. - Смерть Nanotrasen! -vampire-role-codewords = - Кодовые слова следующие: - { $codewords } - Кодовые слова можно использовать в обычном разговоре, чтобы незаметно идентифицировать себя для других агентов Синдиката. - Прислушивайтесь к ним и храните их в тайне. -vampire-role-uplink-code = - Установите рингтон Вашего КПК на { $code } чтобы заблокировать или разблокировать аплинк. - Не забудьте заблокировать его и сменить код, иначе любой член экипажа станции сможет открыть аплинк! -# don't need all the flavour text for character menu -vampire-role-codewords-short = - Кодовые слова: - { $codewords }. -vampire-role-uplink-code-short = Ваш код аплинка: { $code }. diff --git a/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/abilities.ftl b/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/abilities.ftl deleted file mode 100644 index b8a6a836fe9..00000000000 --- a/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/abilities.ftl +++ /dev/null @@ -1,14 +0,0 @@ -#UI -vampire-abilities-title = Способности вампира -vampire-abilities-learn = Изучить -vampire-abilities-name = Название: -vampire-abilities-bloodrequired = Требуется крови: -vampire-abilities-current-blood-level = Текущий уровень крови: -vampire-abilities-total-blood-level = Всего выпито крови: -#ablities messages -vampire-not-enought-blood = Недостаточно крови -vampire-not-correct-blood = Кровь этой цели непригодна -vampire-target-defence = Цель защищена от вас святой силой -vampire-target-max-blood = Вы выпили максимальное количество крови с этой цели -vampire-trall-not-valid = Не удается зомбировать цель -vampire-got-saint-damage = Вы получили урон от святого предмета или серебра diff --git a/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/objectives.ftl b/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/objectives.ftl deleted file mode 100644 index b8acc419efe..00000000000 --- a/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/objectives.ftl +++ /dev/null @@ -1,6 +0,0 @@ -vampire-blood-objective-title = Для возвышения, вам необходимо выпить { $bloodCount } единиц крови -vampire-enthrall-objective-title = Для возвышения, сделайте своими рабами { $trallCount } человек(а) -vampire-briefing = - Вы вампир, ваша задача первым стать высшим вампиром и уничтожить все живое - Остальные вампиры являются вашими врагами - Не дайте им опередись себя и станьте высшим вампиров раньше них diff --git a/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/trall.ftl b/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/trall.ftl deleted file mode 100644 index ffd025811fd..00000000000 --- a/Resources/Locale/ru-RU/darkstation/DarkForces/Vampire/trall.ftl +++ /dev/null @@ -1,6 +0,0 @@ -vampire-trall = Вы стали траллом вампира! Выполняйте всего его указания -vampire-trall-briefing = - Вы тралл вампира - В простонародье его раб, слушайтесь и подчиняйтесь ему беспрекословно - Имя вашего господина: { $ownerName } -vampire-trall-free = Вы больше не тралл вампира, вы НИЧЕГО не помните из того, что с вами произошло diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/darkstation/maingame/gamerules/round_start.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/darkstation/maingame/gamerules/round_start.ftl index 895d936d627..11f30011e2e 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/darkstation/maingame/gamerules/round_start.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/darkstation/maingame/gamerules/round_start.ftl @@ -10,5 +10,3 @@ ent-MindRoleRatvar = Ratvar Cultist Role .desc = { ent-BaseMindRoleAntag.desc } ent-Vampire = { ent-BaseGameRule } .desc = { ent-BaseGameRule.desc } -ent-MindRoleVampire = Vampire Role - .desc = { ent-BaseMindRoleAntag.desc } diff --git a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Abilities/abilities.yml b/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Abilities/abilities.yml deleted file mode 100644 index b528b6fff40..00000000000 --- a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Abilities/abilities.yml +++ /dev/null @@ -1,101 +0,0 @@ -- type: vampireAbility - id: VampireHypnosis - name: vampire-hypnosis - description: vampire-hypnosis-description - bloodCost: 100 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_hypnotise - actionId: VampireHypnosisAction - -#- type: vampireAbility -# id: VampireGrasp -# name: vampire-grasp -# description: vampire-grasp-description -# bloodCost: 200 -# icon: -# sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi -# state: vampire_grasp -# actionId: "test" -# -#- type: vampireAbility -# id: VampireBloodRush -# name: vampire-bloodrush -# description: vampire-bloodrush-description -# bloodCost: 200 -# icon: -# sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi -# state: vampire_blood_rush -# actionId: "test" -# - -#- type: vampireAbility -# id: VampireCharge -# name: vampire-charge -# description: vampire-charge-description -# bloodCost: 200 -# icon: -# sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi -# state: vampire_charge -# actionId: VampireChargeAction - -- type: vampireAbility - id: VampireShapeshift - name: vampire-shapeshift - description: vampire-shapeshift-description - bloodCost: 100 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_shapeshift - actionId: VampireShapeshiftAction - -- type: vampireAbility - id: VampirePolymorph - name: vampire-polymorph - description: vampire-polymorph-description - bloodCost: 150 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_poly - actionId: VampirePolymorphAction - -- type: vampireAbility - id: VampireRejuvenatePlus - name: vampire-rejuvenate-plus - description: vampire-rejuvenate-description-plus - bloodCost: 250 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_rejuvinate_plus - actionId: VampireRejuvenatePlusAction - replaceId: VampireRejuvenateAction - -- type: vampireAbility - id: VampireEnthrallScreech - name: vampire-enthrall-screech - description: vampire-enthrall-description - bloodCost: 250 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_enthrall - actionId: VampireEnthrallAction - -- type: vampireAbility - id: VampireSummonBats - name: vampire-summon-bats - description: vampire-summon-bats-description - bloodCost: 450 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_bats - actionId: VampireSummonBatsAction - -- type: vampireAbility - id: VampireChiropteanScreech - name: vampire-chiroptean-screech - description: vampire-chiroptean-screech-description - bloodCost: 700 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_screech - actionId: VampireChiropteanScreechAction diff --git a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Abilities/instant_ablities.yml b/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Abilities/instant_ablities.yml deleted file mode 100644 index abf01717271..00000000000 --- a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Abilities/instant_ablities.yml +++ /dev/null @@ -1,245 +0,0 @@ -- type: entity - parent: BaseAction - id: VampireStatisticAction - name: Statistics - description: Learn about your abilities and your blood level - components: - - type: Action - itemIconStyle: NoItem - useDelay: 0 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_statistic - - type: InstantAction - event: !type:VampireOpenHelpDialogEvent - bloodCost: 0 - -- type: entity - parent: BaseAction - id: VampireDrinkBloodAction - name: Drink Blood - description: Drink the blood of your victim - components: - - type: Action - itemIconStyle: NoItem - useDelay: 0 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_drink_blood - - type: TargetAction - interactOnMiss: false - - type: EntityTargetAction - canTargetSelf: false - whitelist: - components: - - Body - sound: - path: /Audio/DarkStation/Narsi/enter_blood.ogg - event: !type:VampireDrinkBloodAblityEvent - bloodCost: 0 - -- type: entity - parent: BaseAction - id: VampireRejuvenateAction - name: Rejuvenation - description: Removes stun and restores stamina - components: - - type: Action - itemIconStyle: NoItem - useDelay: 0 - checkCanInteract: false - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_rejuvinate - - type: InstantAction - sound: - path: /Audio/DarkStation/Narsi/summon_karp.ogg - event: !type:VampireRejuvenateEvent - bloodCost: 30 - -- type: entity - parent: BaseAction - id: VampireFlashAction - name: Flash - description: Stuns everyone standing right next to you - components: - - type: Action - itemIconStyle: NoItem - useDelay: 30 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_glare - - type: InstantAction - event: !type:VampireFlashEvent - bloodCost: 30 - -- type: entity - parent: BaseAction - id: VampireHypnosisAction - name: Hypnosis - description: Puts the victim to sleep - components: - - type: Action - itemIconStyle: NoItem - useDelay: 180 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_hypnotise - - type: TargetAction - interactOnMiss: false - - type: EntityTargetAction - canTargetSelf: false - whitelist: - components: - - Body - event: !type:VampireHypnosisEvent - bloodCost: 50 - -- type: entity - parent: BaseAction - id: VampireChargeAction - name: Dash - description: After activation, you will lunge toward the tile you clicked on - components: - - type: Action - itemIconStyle: NoItem - useDelay: 1 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_charge - - type: TargetAction - range: 16 - - type: WorldTargetAction - sound: - path: /Audio/DarkStation/Narsi/wand_teleport.ogg - event: !type:VampireChargeEvent - bloodCost: 100 - -- type: entity - parent: BaseAction - id: VampireShapeshiftAction - name: Transformation - description: Randomly changes your body features - components: - - type: Action - itemIconStyle: NoItem - useDelay: 10 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_shapeshift - - type: InstantAction - sound: - path: /Audio/DarkStation/Narsi/wand_teleport.ogg - event: !type:VampireShapeshiftEvent - bloodCost: 100 - -- type: entity - parent: BaseAction - id: VampirePolymorphAction - name: Wings - description: Turns you into a bat for 1 minute - components: - - type: Action - itemIconStyle: NoItem - useDelay: 60 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_poly - - type: InstantAction - sound: - path: /Audio/DarkStation/Narsi/summonitems_generic.ogg - event: !type:VampirePolymorphEvent - bloodCost: 50 - -- type: entity - parent: BaseAction - id: VampireRejuvenatePlusAction - name: Rejuvenation+ - description: In addition to removing stun, now also grants you short-term regeneration. - components: - - type: Action - itemIconStyle: NoItem - useDelay: 40 - checkCanInteract: false - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_rejuvinate_plus - - type: InstantAction - sound: - path: /Audio/DarkStation/Narsi/summon_karp.ogg - event: !type:VampireRejuvenatePlusEvent - bloodCost: 50 - -- type: entity - parent: BaseAction - id: VampireSummonBatsAction - name: Children of the Night - description: Summons two swarms of bats that attack everyone who is not a vampire - or a thrall - components: - - type: Action - itemIconStyle: NoItem - useDelay: 180 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_bats - - type: InstantAction - event: !type:VampireSummonBatsEvent - bloodCost: 200 - -- type: entity - parent: BaseAction - id: VampireChiropteanScreechAction - name: Ultrasonic Screech - description: Stuns all humans within hearing range and breaks glass. Can stun vampire - thralls but not other vampires. - components: - - type: Action - itemIconStyle: NoItem - useDelay: 180 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_screech - - type: InstantAction - sound: - path: /Audio/DarkStation/creepyshriek.ogg - event: !type:VampireChiropteanScreechEvent - bloodCost: 200 - -- type: entity - parent: BaseAction - id: VampireEnthrallAction - name: Порабощение - description: Превращает жертву в вашего верного раба. - components: - - type: Action - itemIconStyle: NoItem - useDelay: 180 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_enthrall - - type: TargetAction - interactOnMiss: false - - type: EntityTargetAction - canTargetSelf: false - whitelist: - components: - - Body - event: !type:VampireEnthrallEvent - bloodCost: 100 - -- type: entity - parent: BaseAction - id: VampireFullPowerAction - name: Full Power - description: Now you are the greatest vampire! Holy water is like mineral water to you. Bullets barely tickle. But silver weapons deal significant damage. - components: - - type: Action - itemIconStyle: NoItem - useDelay: 0 - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/actions.rsi - state: vampire_jaunt - - type: InstantAction - event: !type:VampireFullPowerEvent - bloodCost: 0 diff --git a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire_bat.yml b/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire_bat.yml deleted file mode 100644 index 78161637dfc..00000000000 --- a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire_bat.yml +++ /dev/null @@ -1,77 +0,0 @@ -- type: entity - name: Летучая мышь - parent: SimpleMobBase - id: MobVampireBat - suffix: Вампирская - components: - - type: MovementSpeedModifier - baseWalkSpeed: 3 - baseSprintSpeed: 6 - - type: Sprite - drawdepth: Mobs - layers: - - map: ["enum.DamageStateVisualLayers.Base"] - state: bat - sprite: Mobs/Animals/bat.rsi - - type: Physics - - type: Fixtures - fixtures: - fix1: - shape: !type:PhysShapeCircle - radius: 0.25 - density: 10 - mask: - - FlyingMobMask - layer: - - FlyingMobLayer - - type: DamageStateVisuals - states: - Alive: - Base: bat - Critical: - Base: dead - Dead: - Base: dead - - type: Butcherable - spawned: - - id: FoodMeat - amount: 1 - - type: SentienceTarget - flavorKind: station-event-random-sentience-flavor-organic - - type: Bloodstream - bloodMaxVolume: 50 - - type: MeleeWeapon - hidden: true - soundHit: - path: /Audio/Effects/bite.ogg - angle: 0 - animation: WeaponArcBite - damage: - types: - Piercing: 2 - - type: NoSlip - - type: Puller - needsHands: true - - type: NpcFactionMember - factions: - - Vampire - - type: HTN - rootTask: - task: XenoCompound - blackboard: - NavInteract: !type:Bool true - NavPry: !type:Bool true - NavSmash: !type:Bool true - -- type: polymorph - id: VampireBatPolymorph - configuration: - entity: MobVampireBat - forced: false - duration: 60 - inventory: None - allowRepeatedMorphs: true - transferDamage: true - transferName: true - revertOnCrit: true - revertOnDeath: true diff --git a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Roles/icons.yml b/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Roles/icons.yml deleted file mode 100644 index 482848550fc..00000000000 --- a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Roles/icons.yml +++ /dev/null @@ -1,23 +0,0 @@ -- type: factionIcon - id: VampireIcon - priority: 11 - showTo: - components: - - ShowAntagIcons - - Vampire - - VampireTrall - icon: - sprite: /Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi - state: vampire - -- type: factionIcon - id: VampireTrallIcon - priority: 11 - showTo: - components: - - ShowAntagIcons - - Vampire - - VampireTrall - icon: - sprite: /Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi - state: trall diff --git a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Roles/objectives.yml b/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Roles/objectives.yml deleted file mode 100644 index 6aeec9c755f..00000000000 --- a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/Roles/objectives.yml +++ /dev/null @@ -1,28 +0,0 @@ -- type: entity - id: VampireBloodObjective - categories: [ HideSpawnMenu ] - description: "Выпейте указанное количество крови" - components: - - type: Objective - difficulty: 0.0 - issuer: "Клан вампиров" - unique: false - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi - state: icon - - type: VampireBloodObjective - -- type: entity - id: VampireEnthrallObjective - categories: [ HideSpawnMenu ] - description: "Сделайте своими рабами указанное количество человек" - components: - - type: Objective - difficulty: 0.0 - issuer: "Клан вампиров" - unique: false - icon: - sprite: DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi - state: icon - - type: VampireEnthrallObjective - diff --git a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/vampire.yml b/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/vampire.yml deleted file mode 100644 index 3355993402d..00000000000 --- a/Resources/Prototypes/DarkStation/MainGame/DarkForces/Vampire/vampire.yml +++ /dev/null @@ -1,113 +0,0 @@ -- type: entity - name: "Вампир" - id: MobVampire - parent: SimpleSpaceMobBase - description: "Судя по всему этот вампир невероятно силен!" - components: - - type: Insulated - - type: CombatMode - - type: InputMover - - type: MobMover - - type: Tool - speed: 1.5 - qualities: - - Prying - - type: Prying - pryPowered: !type:Bool - true - force: !type:Bool - false - useSound: - path: /Audio/Items/crowbar.ogg - - type: Sprite - drawdepth: Mobs - sprite: DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi - layers: - - map: ["enum.DamageStateVisualLayers.Base"] - state: standing - - type: Physics - bodyType: Dynamic - - type: Fixtures - fixtures: - fix1: - shape: !type:PhysShapeCircle - radius: 0.25 - density: 230 - mask: - - MobMask - layer: - - MobLayer - - type: MobState - allowedStates: - - Alive - - Dead - - type: MobThresholds - thresholds: - 0: Alive - 500: Dead - - type: MeleeWeapon - range: 2.0 - hidden: true - angle: 0 - soundHit: - collection: AlienClaw - animation: WeaponArcBite - damage: - groups: - Brute: 30 - - type: DamageStateVisuals - rotate: true - states: - Alive: - Base: standing - Dead: - Base: dead - - type: Puller - needsHands: false - - type: Tag - tags: - - CannotSuicide - - DoorBumpOpener - - FootstepSound - - type: NoSlip - - type: SlowOnDamage - speedModifierThresholds: - 100: 0.9 - 250: 0.8 - 350: 0.7 - 450: 0.5 - - type: Damageable - damageContainer: Biological - damageModifierSet: VampireModiferSet - - type: MovementSpeedModifier - baseWalkSpeed: 5.00 - baseSprintSpeed: 6.00 - - type: Vampire - fullPower: true - - type: Speech - speechSounds: Alto - - type: DamageForceSay - - type: Vocal - sounds: - Male: MaleHuman - Female: FemaleHuman - Unsexed: MaleHuman - - type: Emoting - - type: BodyEmotes - soundsId: GeneralBodyEmotes - - type: Grammar - attributes: - proper: true - -- type: damageModifierSet - id: VampireModiferSet - coefficients: - Blunt: 0.4 - Slash: 0.4 - Piercing: 0.4 - Cold: 0.4 - Poison: 0.4 - Radiation: 0.4 - Asphyxiation: 0.4 - Bloodloss: 0.4 - Cellular: 0.4 diff --git a/Resources/Prototypes/DarkStation/MainGame/DarkForces/antags.yml b/Resources/Prototypes/DarkStation/MainGame/DarkForces/antags.yml index 5cf11f6e8e5..aa90bb38dcc 100644 --- a/Resources/Prototypes/DarkStation/MainGame/DarkForces/antags.yml +++ b/Resources/Prototypes/DarkStation/MainGame/DarkForces/antags.yml @@ -45,22 +45,3 @@ requirements: - !type:OverallPlaytimeRequirement time: 72000 # 20h - -#Vampire -- type: antag - id: Vampire - name: Вампир - antagonist: true - setPreference: true - objective: "Станьте высшим вампиром и уничтожьте станцию" - requirements: - - !type:OverallPlaytimeRequirement - time: 72000 # 20h - -- type: antag - id: VampireTrall - name: Тралл Вампира - antagonist: true - setPreference: false - objective: "Служите вампирам, уничтожьте станцию." - diff --git a/Resources/Prototypes/DarkStation/MainGame/GameRules/round_start.yml b/Resources/Prototypes/DarkStation/MainGame/GameRules/round_start.yml index 69901c3eab7..76c51351d35 100644 --- a/Resources/Prototypes/DarkStation/MainGame/GameRules/round_start.yml +++ b/Resources/Prototypes/DarkStation/MainGame/GameRules/round_start.yml @@ -106,38 +106,3 @@ antagPrototype: RatvarRighteous roleType: TeamAntagonist - type: RatvarRole - -- type: entity - id: Vampire - parent: BaseGameRule - components: - - type: VampireRule - - type: AntagSelection - selectionTime: IntraPlayerSpawn - definitions: - - prefRoles: [ Vampire ] - max: 2 - playerRation: 20 - blacklist: - components: - - AntagImmune - lateJoinAdditional: true - briefing: - text: vampire-briefing - color: Plum - sound: "/Audio/DarkStation/DarkForces/Vampire/vampalert.ogg" - components: - - type: Vampire - mindRoles: - - MindRoleVampire - -- type: entity - parent: BaseMindRoleAntag - id: MindRoleVampire - name: Vampire Role - # description: mind-role-thief-description - components: - - type: MindRole - antagPrototype: Vampire - roleType: SoloAntagonist - - type: VampireRole diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/dead.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/dead.png deleted file mode 100644 index b493eb8e1f9..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/dead.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/icon.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/icon.png deleted file mode 100644 index e58839a07ea..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/icon.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/meta.json b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/meta.json deleted file mode 100644 index 0a7c9d15923..00000000000 --- a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/meta.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "license": "CC-BY-NC-SA-4.0", - "copyright": "Created by DarkStation Team", - "version": 1, - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "dead" - }, - { - "name": "standing", - "directions": 4 - }, - { - "name": "icon" - } - ] -} diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/standing.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/standing.png deleted file mode 100644 index 92de81ce9b4..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/Mobs/vampire.rsi/standing.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/blink.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/blink.png deleted file mode 100644 index 0be319ede57..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/blink.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/meta.json b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/meta.json deleted file mode 100644 index aaeaa51e27c..00000000000 --- a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/meta.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from ParadiseSS13 at https://github.com/ss220-space/Paradise/commit/095659de3db60373a0184906f6922b2815e6d3aa. Edited by Aurorablade.", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "vampire_rejuvinate" - }, - { - "name": "vampire_rejuvinate_plus" - }, - { - "name": "vampire_hypnotise" - }, - { - "name": "vampire_disease" - }, - { - "name": "vampire_glare" - }, - { - "name": "vampire_screech" - }, - { - "name": "vampire_enthrall" - }, - { - "name": "vampire_cloak" - }, - { - "name": "vampire_bats" - }, - { - "name": "vampire_jaunt" - }, - { - "name": "vampire_shapeshift" - }, - { - "name": "blink" - }, - { - "name": "vampire_grasp" - }, - { - "name": "vampire_blood_rush" - }, - { - "name": "vampire_charge" - }, - { - "name": "vampire_statistic" - }, - { - "name": "vampire_drink_blood" - }, - { - "name": "vampire_poly" - } - ] -} diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_bats.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_bats.png deleted file mode 100644 index f720c588362..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_bats.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_blood_rush.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_blood_rush.png deleted file mode 100644 index 0f272c4b062..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_blood_rush.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_charge.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_charge.png deleted file mode 100644 index 3feb7eb85fc..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_charge.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_cloak.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_cloak.png deleted file mode 100644 index 2d7635e8959..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_cloak.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_disease.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_disease.png deleted file mode 100644 index 82b12661df3..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_disease.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_drink_blood.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_drink_blood.png deleted file mode 100644 index b53bd598338..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_drink_blood.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_enthrall.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_enthrall.png deleted file mode 100644 index d8bdd29f04b..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_enthrall.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_glare.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_glare.png deleted file mode 100644 index 21cbfceaf79..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_glare.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_grasp.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_grasp.png deleted file mode 100644 index 73dc48c7d7b..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_grasp.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_hypnotise.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_hypnotise.png deleted file mode 100644 index bb0aebb8da8..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_hypnotise.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_jaunt.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_jaunt.png deleted file mode 100644 index 41e51bef21f..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_jaunt.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_poly.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_poly.png deleted file mode 100644 index 2046c7adbfd..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_poly.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_rejuvinate.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_rejuvinate.png deleted file mode 100644 index a092edbe65d..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_rejuvinate.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_rejuvinate_plus.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_rejuvinate_plus.png deleted file mode 100644 index 7f473eaf1d7..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_rejuvinate_plus.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_screech.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_screech.png deleted file mode 100644 index 40a138f4dbc..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_screech.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_shapeshift.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_shapeshift.png deleted file mode 100644 index 64641704019..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_shapeshift.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_statistic.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_statistic.png deleted file mode 100644 index 5dc51a0bcb3..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/actions.rsi/vampire_statistic.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/meta.json b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/meta.json deleted file mode 100644 index 669db4c42a0..00000000000 --- a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/meta.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "license": "CC-BY-NC-SA-4.0", - "copyright": "Created by DarkStation Team", - "version": 1, - "size": { - "x": 8, - "y": 8 - }, - "states": [ - { - "name": "vampire" - }, - { - "name": "trall" - } - ] -} diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/trall.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/trall.png deleted file mode 100644 index e36d43a1af0..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/trall.png and /dev/null differ diff --git a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/vampire.png b/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/vampire.png deleted file mode 100644 index 2bc08f01043..00000000000 Binary files a/Resources/Textures/DarkStation/MainGame/DarkForces/Vampire/icons.rsi/vampire.png and /dev/null differ