From 2b5838657d81a510f01f11959ec2bb39fe0cbd72 Mon Sep 17 00:00:00 2001 From: Aviu00 <93730715+Aviu00@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:31:34 +0000 Subject: [PATCH] Blood and more (#516) * - tweak: Teleport only works on cultists. * - add: Better twisted construction. * - tweak: Free engivend. --- .../Cult/Runes/Systems/CultSystem.Actions.cs | 82 +++++++++++++----- .../_White/Cult/Actions/CultActions.cs | 17 ++++ .../_White/Cult/Actions/CultEvents.cs | 30 +++++++ .../_White/Cult/Actions/ShacklesEvent.cs | 9 -- .../Locale/ru-RU/_white/cult/abilities.ftl | 4 +- Resources/Prototypes/Entities/Effects/rcd.yml | 18 ++-- .../Structures/Machines/vending_machines.yml | 1 + .../_White/Entities/Cult/Effects/effects.yml | 10 +++ .../Effects/rcd.rsi/construct_red.png | Bin 0 -> 5292 bytes Resources/Textures/Effects/rcd.rsi/meta.json | 69 +++++++++++++-- 10 files changed, 195 insertions(+), 45 deletions(-) create mode 100644 Content.Shared/_White/Cult/Actions/CultEvents.cs delete mode 100644 Content.Shared/_White/Cult/Actions/ShacklesEvent.cs create mode 100644 Resources/Textures/Effects/rcd.rsi/construct_red.png diff --git a/Content.Server/_White/Cult/Runes/Systems/CultSystem.Actions.cs b/Content.Server/_White/Cult/Runes/Systems/CultSystem.Actions.cs index f1c700316b..b6c5b52081 100644 --- a/Content.Server/_White/Cult/Runes/Systems/CultSystem.Actions.cs +++ b/Content.Server/_White/Cult/Runes/Systems/CultSystem.Actions.cs @@ -8,14 +8,9 @@ using Content.Server._White.Cult.UI; using Content.Server._White.Wizard.Magic; using Content.Server.Chat.Systems; using Content.Shared._White.Chaplain; -using Content.Shared.Chemistry.Components; -using Content.Shared.Damage; -using Content.Shared.Damage.Prototypes; using Content.Shared.FixedPoint; -using Content.Shared.Fluids.Components; using Content.Shared.Inventory; using Content.Shared.Stacks; -using Content.Shared.StatusEffect; using Content.Shared.Stunnable; using Content.Shared._White.Cult.Actions; using Content.Shared._White.Cult.Components; @@ -25,8 +20,8 @@ using Content.Shared.Actions; using Content.Shared.Cuffs; using Content.Shared.Cuffs.Components; using Content.Shared.DoAfter; +using Content.Shared.Doors.Components; using Content.Shared.Maps; -using Content.Shared.Mindshield.Components; using Content.Shared.Popups; using Robust.Server.GameObjects; using Robust.Shared.Audio; @@ -72,6 +67,21 @@ public partial class CultSystem SubscribeLocalEvent(OnStun); SubscribeLocalEvent(OnActionRemoved); SubscribeLocalEvent(OnShackles); + SubscribeLocalEvent(OnTwistedConstruction); + } + + private void OnTwistedConstruction(Entity ent, ref TwistedConstructionEvent args) + { + if (args.Cancelled) + QueueDel(GetEntity(args.Effect)); + + if (args.Handled || args.Cancelled) + return; + + args.Handled = true; + + Del(args.Target); + Spawn(args.RunicDoor, GetCoordinates(args.Location)); } private void OnShackles(Entity ent, ref ShacklesEvent args) @@ -115,22 +125,14 @@ public partial class CultSystem !TryComp(uid, out var actor)) return; - if (_holyWeapon.IsHoldingHolyWeapon(args.Target)) + if (!HasComp(args.Target)) { - _popupSystem.PopupEntity(Loc.GetString("cult-magic-holy"), args.Performer, args.Performer, + _popupSystem.PopupEntity("Цель должна быть культистом.", args.Performer, args.Performer, PopupType.MediumCaution); return; } - if (!HasComp(args.Target) && !HasComp(args.Target) && - _actionBlocker.CanInteract(args.Target, null)) - { - _popupSystem.PopupEntity("Цель должна быть культистом, быть скованной или парализованной.", args.Performer, - args.Performer, PopupType.MediumCaution); - return; - } - - _bloodstreamSystem.TryModifyBloodLevel(uid, -5, bloodstream, createPuddle: false); + _bloodstreamSystem.TryModifyBloodLevel(uid, -7, bloodstream, createPuddle: false); var eui = new CultTeleportSpellEui(args.Performer, args.Target); _euiManager.OpenEui(eui, actor.PlayerSession); @@ -367,13 +369,47 @@ public partial class CultSystem if (!TryComp(args.Target, out CuffableComponent? cuffs) || cuffs.Container.ContainedEntities.Count > 0) return; - _doAfterSystem.TryStartDoAfter(new DoAfterArgs(EntityManager, args.Performer, TimeSpan.FromSeconds(2), - new ShacklesEvent(), args.Performer, args.Target) + var doAfterArgs = new DoAfterArgs(EntityManager, args.Performer, TimeSpan.FromSeconds(2), new ShacklesEvent(), + args.Performer, args.Target) { BreakOnMove = true, BreakOnDamage = true - }); + }; + if (!_doAfterSystem.TryStartDoAfter(doAfterArgs)) + return; + + Speak(args); + args.Handled = true; + } + + private void ConvertDoor(EntityUid uid, EntityUid target, BloodstreamComponent bloodstream, + CultTwistedConstructionActionEvent args) + { + var meta = MetaData(target); + if (meta.EntityPrototype?.ID == args.RunicDoor.Id) + return; + + var xform = Transform(target); + if (!xform.Anchored) + return; + + var effect = Spawn(args.Effect, xform.Coordinates); + var ev = new TwistedConstructionEvent(GetNetEntity(effect), args.RunicDoor, GetNetCoordinates(xform.Coordinates)); + var doAfterArgs = new DoAfterArgs(EntityManager, uid, args.Delay, ev, uid, target) + { + BreakOnDamage = true, + BreakOnMove = true, + }; + + if (!_doAfterSystem.TryStartDoAfter(doAfterArgs)) + { + QueueDel(effect); + return; + } + + _audio.PlayPvs(args.Sound, xform.Coordinates); + _bloodstreamSystem.TryModifyBloodLevel(uid, -12, bloodstream, createPuddle: false); Speak(args); args.Handled = true; } @@ -389,6 +425,12 @@ public partial class CultSystem if (!TryComp(args.Performer, out var bloodstreamComponent)) return; + if (HasComp(args.Target)) + { + ConvertDoor(uid, args.Target, bloodstreamComponent, args); + return; + } + if (!_entityManager.TryGetComponent(args.Target, out var stack)) return; diff --git a/Content.Shared/_White/Cult/Actions/CultActions.cs b/Content.Shared/_White/Cult/Actions/CultActions.cs index eedcf82029..87feaf9872 100644 --- a/Content.Shared/_White/Cult/Actions/CultActions.cs +++ b/Content.Shared/_White/Cult/Actions/CultActions.cs @@ -1,5 +1,7 @@ using Content.Shared.Actions; using Content.Shared.Magic; +using Robust.Shared.Audio; +using Robust.Shared.Prototypes; namespace Content.Shared._White.Cult.Actions; @@ -7,6 +9,21 @@ public sealed partial class CultTwistedConstructionActionEvent : EntityTargetAct { [DataField("speech")] public string? Speech { get; private set; } + + [DataField] + public EntProtoId RunicDoor = "AirlockGlassCult"; + + [DataField] + public EntProtoId Effect = "EffectConstructRed"; + + [DataField] + public TimeSpan Delay = TimeSpan.FromSeconds(4); + + [DataField] + public SoundSpecifier? Sound = new SoundPathSpecifier("/Audio/Machines/airlock_creaking.ogg") + { + Params = AudioParams.Default.WithVolume(-3f), + }; } public sealed partial class CultSummonDaggerActionEvent : InstantActionEvent, ISpeakSpell diff --git a/Content.Shared/_White/Cult/Actions/CultEvents.cs b/Content.Shared/_White/Cult/Actions/CultEvents.cs new file mode 100644 index 0000000000..5f584db374 --- /dev/null +++ b/Content.Shared/_White/Cult/Actions/CultEvents.cs @@ -0,0 +1,30 @@ +using Content.Shared.DoAfter; +using Robust.Shared.Map; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; + +namespace Content.Shared._White.Cult.Actions; + +[Serializable, NetSerializable] +public sealed partial class ShacklesEvent : SimpleDoAfterEvent +{ +} + +[Serializable, NetSerializable] +public sealed partial class TwistedConstructionEvent : DoAfterEvent +{ + public NetEntity Effect { get; private set; } + + public EntProtoId RunicDoor { get; private set; } + + public NetCoordinates Location { get; private set; } + + public TwistedConstructionEvent(NetEntity effect, EntProtoId runicDoor, NetCoordinates location) + { + Effect = effect; + RunicDoor = runicDoor; + Location = location; + } + + public override DoAfterEvent Clone() => this; +} diff --git a/Content.Shared/_White/Cult/Actions/ShacklesEvent.cs b/Content.Shared/_White/Cult/Actions/ShacklesEvent.cs deleted file mode 100644 index 6c27ce1aab..0000000000 --- a/Content.Shared/_White/Cult/Actions/ShacklesEvent.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Content.Shared.DoAfter; -using Robust.Shared.Serialization; - -namespace Content.Shared._White.Cult.Actions; - -[Serializable, NetSerializable] -public sealed partial class ShacklesEvent : SimpleDoAfterEvent -{ -} diff --git a/Resources/Locale/ru-RU/_white/cult/abilities.ftl b/Resources/Locale/ru-RU/_white/cult/abilities.ftl index 11f07a834f..f16bf673d6 100644 --- a/Resources/Locale/ru-RU/_white/cult/abilities.ftl +++ b/Resources/Locale/ru-RU/_white/cult/abilities.ftl @@ -20,10 +20,10 @@ juggernaut-create-wall-action-name = Щит juggernaut-create-wall-action-description = Это заклинание создает временное невидимое силовое поле для защиты себя и союзников от подавляющего огня. ent-ActionCultTwistedConstruction = Искажённое Воздействие - .desc = Зловещее заклинание, которое используют для превращения металла в рунический металл. + .desc = Зловещее заклинание, которое используют для превращения металла в рунический металл и обычных дверей в рунические. ent-ActionCultTeleport = Телепорт - .desc = Полезное заклинание, которое телепортирует цель на выбранную руну телепотрации. Цель должна являются культистом или быть парализованной. + .desc = Полезное заклинание, которое телепортирует культиста на выбранную руну телепотрации. ent-ActionCultSummonCombatEquipment = Призыв Боевого Снаряжения .desc = Важное заклинание, которое позволяет вам вызвать полный набор боевого снаряжения. diff --git a/Resources/Prototypes/Entities/Effects/rcd.yml b/Resources/Prototypes/Entities/Effects/rcd.yml index 902429818e..5016bfbff7 100644 --- a/Resources/Prototypes/Entities/Effects/rcd.yml +++ b/Resources/Prototypes/Entities/Effects/rcd.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity id: EffectRCDBase abstract: true noSpawn: true @@ -15,7 +15,7 @@ tags: - HideContextMenu - type: AnimationPlayer - + - type: entity parent: EffectRCDBase id: EffectRCDDeconstructPreview @@ -23,7 +23,7 @@ components: - type: Sprite state: deconstructPreview - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct0 @@ -33,7 +33,7 @@ state: construct0 - type: TimedDespawn lifetime: 1.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct1 @@ -43,7 +43,7 @@ state: construct1 - type: TimedDespawn lifetime: 2.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct2 @@ -53,7 +53,7 @@ state: construct2 - type: TimedDespawn lifetime: 3.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct3 @@ -63,7 +63,7 @@ state: construct3 - type: TimedDespawn lifetime: 4.2 - + - type: entity parent: EffectRCDBase id: EffectRCDConstruct4 @@ -83,7 +83,7 @@ state: deconstruct2 - type: TimedDespawn lifetime: 3.2 - + - type: entity parent: EffectRCDBase id: EffectRCDDeconstruct4 @@ -112,4 +112,4 @@ - type: Sprite state: deconstruct8 - type: TimedDespawn - lifetime: 9.2 \ No newline at end of file + lifetime: 9.2 diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index 02d466667d..5d9df35b40 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -766,6 +766,7 @@ normalState: normal-unshaded ejectState: eject-unshaded denyState: deny-unshaded + priceMultiplier: 0.0 - type: Sprite sprite: Structures/Machines/VendingMachines/engivend.rsi layers: diff --git a/Resources/Prototypes/_White/Entities/Cult/Effects/effects.yml b/Resources/Prototypes/_White/Entities/Cult/Effects/effects.yml index 5282cb3c7b..233306405e 100644 --- a/Resources/Prototypes/_White/Entities/Cult/Effects/effects.yml +++ b/Resources/Prototypes/_White/Entities/Cult/Effects/effects.yml @@ -118,3 +118,13 @@ duration: 0.5 - type: TimedDespawn lifetime: 0.5 + +- type: entity + parent: EffectRCDBase + id: EffectConstructRed + noSpawn: true + components: + - type: Sprite + state: construct_red + - type: TimedDespawn + lifetime: 5.2 diff --git a/Resources/Textures/Effects/rcd.rsi/construct_red.png b/Resources/Textures/Effects/rcd.rsi/construct_red.png new file mode 100644 index 0000000000000000000000000000000000000000..e21b111ab7505c8cfbbafb8ab519815d3fe8bb4f GIT binary patch literal 5292 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Effects/rcd.rsi/meta.json b/Resources/Textures/Effects/rcd.rsi/meta.json index c9e8320c60..43a62a27fa 100644 --- a/Resources/Textures/Effects/rcd.rsi/meta.json +++ b/Resources/Textures/Effects/rcd.rsi/meta.json @@ -25,7 +25,7 @@ 0.1 ] ] - }, + }, { "name": "construct1", "delays": [ @@ -64,7 +64,7 @@ 0.1 ] ] - }, + }, { "name": "construct2", "delays": [ @@ -201,7 +201,66 @@ 0.1 ] ] - }, + }, + { + "name": "construct_red", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, { "name": "deconstruct2", "delays": [ @@ -358,7 +417,7 @@ 0.1 ] ] - }, + }, { "name": "deconstruct8", "delays": [ @@ -451,7 +510,7 @@ 0.05, 0.05, 0.05, - 0.05 + 0.05 ] ] }