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