Fixes (#576)
* - fix: Defib emag. * - fix: No instant subfloor prying. * - fix: Wizard shield interact on use. * - fix: Uno gift ignore. * - fix: Fix projectors despawning. * - fix: Actual wizard dome fix. * - fix: Rev lightning.
This commit is contained in:
@@ -149,8 +149,10 @@ public sealed partial class EnergyDomeSystem : EntitySystem
|
||||
|
||||
private void OnGetActions(Entity<EnergyDomeGeneratorComponent> generator, ref GetItemActionsEvent args)
|
||||
{
|
||||
if (generator.Comp.CanInteractUse)
|
||||
args.AddAction(ref generator.Comp.ToggleActionEntity, generator.Comp.ToggleAction);
|
||||
if (args.SlotFlags != SlotFlags.OUTERCLOTHING)
|
||||
return;
|
||||
|
||||
args.AddAction(ref generator.Comp.ToggleActionEntity, generator.Comp.ToggleAction);
|
||||
}
|
||||
|
||||
private void OnToggleAction(Entity<EnergyDomeGeneratorComponent> generator, ref ToggleActionEvent args)
|
||||
|
||||
@@ -7,12 +7,9 @@ using Content.Server.Ghost;
|
||||
using Content.Server.Popups;
|
||||
using Content.Server.PowerCell;
|
||||
using Content.Server.Traits.Assorted;
|
||||
using Content.Shared._White.Item.DelayedKnockdown;
|
||||
using Content.Shared.Damage;
|
||||
using Content.Shared.Damage.Components;
|
||||
using Content.Shared.Damage.Events;
|
||||
using Content.Shared.DoAfter;
|
||||
using Content.Shared.Emag.Systems;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Interaction.Components;
|
||||
using Content.Shared.Interaction.Events;
|
||||
@@ -24,8 +21,6 @@ using Content.Shared.Mobs.Systems;
|
||||
using Content.Shared.PowerCell;
|
||||
using Content.Shared.Timing;
|
||||
using Content.Shared.Toggleable;
|
||||
using Content.Shared.Weapons.Melee;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.Audio.Systems;
|
||||
using Robust.Shared.Player;
|
||||
using Robust.Shared.Timing;
|
||||
@@ -72,6 +67,8 @@ public sealed class DefibrillatorSystem : EntitySystem
|
||||
{
|
||||
if (!_powerCell.HasActivatableCharge(uid))
|
||||
TryDisable(uid, comp);
|
||||
comp.NextZapTime = _timing.CurTime + TimeSpan.FromSeconds(3);
|
||||
_appearance.SetData(uid, DefibrillatorVisuals.Ready, false);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -201,6 +198,7 @@ public sealed class DefibrillatorSystem : EntitySystem
|
||||
uid, target, uid)
|
||||
{
|
||||
BreakOnMove = user == target, // WD EDIT
|
||||
DuplicateCondition = DuplicateConditions.None, // WD EDIT
|
||||
BlockDuplicate = true,
|
||||
BreakOnHandChange = true,
|
||||
NeedHand = true
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Server.Beam;
|
||||
using Content.Server.Lightning;
|
||||
using Content.Shared.Revenant.Components;
|
||||
using Content.Shared.Revenant.EntitySystems;
|
||||
|
||||
@@ -9,7 +9,7 @@ namespace Content.Server.Revenant.EntitySystems;
|
||||
/// </summary>
|
||||
public sealed class RevenantOverloadedLightsSystem : SharedRevenantOverloadedLightsSystem
|
||||
{
|
||||
[Dependency] private readonly BeamSystem _beam = default!;
|
||||
[Dependency] private readonly LightningSystem _lightning = default!; // WD EDIT
|
||||
|
||||
protected override void OnZap(Entity<RevenantOverloadedLightsComponent> lights)
|
||||
{
|
||||
@@ -25,6 +25,6 @@ public sealed class RevenantOverloadedLightsSystem : SharedRevenantOverloadedLig
|
||||
if (distance > component.ZapRange)
|
||||
return;
|
||||
|
||||
_beam.TryCreateBeam(lights, component.Target.Value, component.ZapBeamEntityId);
|
||||
_lightning.ShootLightning(lights, component.Target.Value, component.ZapBeamEntityId, false); // WD EDIT
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Damage.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
[NetworkedComponent, AutoGenerateComponentState] // WD
|
||||
public sealed partial class StaminaDamageOnHitComponent : Component
|
||||
{
|
||||
[ViewVariables(VVAccess.ReadWrite), DataField("damage")]
|
||||
[AutoNetworkedField] // WD
|
||||
public float Damage = 30f;
|
||||
|
||||
[DataField("sound")]
|
||||
[AutoNetworkedField] // WD
|
||||
public SoundSpecifier? Sound;
|
||||
}
|
||||
|
||||
@@ -85,8 +85,10 @@ public abstract partial class SharedToolSystem
|
||||
if (!InteractionSystem.InRangeUnobstructed(user, coordinates, popup: false))
|
||||
return false;
|
||||
|
||||
var delay = tileDef.IsSubFloor ? TimeSpan.FromSeconds(4) : comp.Delay; // WD
|
||||
|
||||
var args = new TileToolDoAfterEvent(GetNetCoordinates(coordinates));
|
||||
UseTool(ent, user, ent, comp.Delay, tool.Qualities, args, out _, toolComponent: tool);
|
||||
UseTool(ent, user, ent, delay, tool.Qualities, args, out _, toolComponent: tool); // WD EDIT
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared._White.Item.DelayedKnockdown;
|
||||
|
||||
[RegisterComponent]
|
||||
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
||||
public sealed partial class DelayedKnockdownOnHitComponent : Component
|
||||
{
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
|
||||
public TimeSpan Delay = TimeSpan.FromSeconds(2);
|
||||
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
|
||||
public TimeSpan KnockdownTime = TimeSpan.FromSeconds(5);
|
||||
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
|
||||
public TimeSpan StutterTime = TimeSpan.FromSeconds(16);
|
||||
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite)]
|
||||
[DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
|
||||
public TimeSpan JitterTime = TimeSpan.FromSeconds(40);
|
||||
}
|
||||
|
||||
@@ -697,6 +697,7 @@
|
||||
- PowerCell
|
||||
- PowerCellSmall
|
||||
- type: EnergyDomeGenerator
|
||||
canInteractUse: false
|
||||
damageEnergyDraw: 15
|
||||
domePrototype: EnergyDomeSmallPink
|
||||
- type: ClothingSpeedModifier
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
- TrashBag
|
||||
- type: Appearance
|
||||
- type: Dumpable
|
||||
- type: GiftIgnore
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: UnoCardUnknownGreen3
|
||||
@@ -160,3 +161,4 @@
|
||||
- TrashBag
|
||||
- type: Appearance
|
||||
- type: Dumpable
|
||||
- type: GiftIgnore
|
||||
|
||||
@@ -70,8 +70,6 @@
|
||||
- TableMask
|
||||
layer:
|
||||
- TableLayer
|
||||
- type: TimedDespawn
|
||||
lifetime: 180
|
||||
- type: PointLight
|
||||
enabled: true
|
||||
radius: 3
|
||||
@@ -100,8 +98,6 @@
|
||||
- FullTileMask
|
||||
layer:
|
||||
- GlassLayer
|
||||
- type: TimedDespawn
|
||||
lifetime: 180
|
||||
- type: PointLight
|
||||
enabled: true
|
||||
radius: 3
|
||||
@@ -116,4 +112,4 @@
|
||||
damage: 60
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
acts: [ "Destruction" ]
|
||||
|
||||
Reference in New Issue
Block a user