Всякие твики (#467)

* tomato juice no longer slippery

* flashbang rework

* add starting gear support for flashbang rework

* flash size and charges tweak

* night and thermal vision tweaks

* night vision is turned off by default

* some size tweaks

* cleanup

* sunglasses and hardsuits tweak
This commit is contained in:
ThereDrD0
2024-07-20 05:08:01 +03:00
committed by GitHub
parent 2c4f3b2dde
commit 9c4126d3a2
52 changed files with 214 additions and 68 deletions

View File

@@ -153,7 +153,7 @@ namespace Content.Server.Explosion.EntitySystems
private void HandleFlashTrigger(EntityUid uid, FlashOnTriggerComponent component, TriggerEvent args) private void HandleFlashTrigger(EntityUid uid, FlashOnTriggerComponent component, TriggerEvent args)
{ {
// TODO Make flash durations sane ffs. // TODO Make flash durations sane ffs.
_flashSystem.FlashArea(uid, args.User, component.Range, component.Duration * 1000f, probability: component.Probability); _flashSystem.FlashArea(uid, args.User, component.Range, component.Duration * 1000f, probability: component.Probability, forceStun: component.ForceStun); // WD edit
args.Handled = true; args.Handled = true;
} }

View File

@@ -4,6 +4,7 @@ using Content.Shared.Flash.Components;
using Content.Server.Light.EntitySystems; using Content.Server.Light.EntitySystems;
using Content.Server.Popups; using Content.Server.Popups;
using Content.Server.Stunnable; using Content.Server.Stunnable;
using Content.Shared._White.BuffedFlashGrenade;
using Content.Shared.Charges.Components; using Content.Shared.Charges.Components;
using Content.Shared.Charges.Systems; using Content.Shared.Charges.Systems;
using Content.Shared.Eye.Blinding.Components; using Content.Shared.Eye.Blinding.Components;
@@ -38,6 +39,7 @@ namespace Content.Server.Flash
[Dependency] private readonly TagSystem _tag = default!; [Dependency] private readonly TagSystem _tag = default!;
[Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!; [Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!;
[Dependency] private readonly FlashSoundSuppressionSystem _flashSoundSuppressionSystem = default!;
public override void Initialize() public override void Initialize()
{ {
@@ -152,7 +154,8 @@ namespace Content.Server.Flash
} }
} }
public void FlashArea(Entity<FlashComponent?> source, EntityUid? user, float range, float duration, float slowTo = 0.8f, bool displayPopup = false, float probability = 1f, SoundSpecifier? sound = null) // WD edit
public void FlashArea(Entity<FlashComponent?> source, EntityUid? user, float range, float duration, float slowTo = 0.8f, bool displayPopup = false, float probability = 1f, SoundSpecifier? sound = null, bool forceStun = false)
{ {
var transform = Transform(source); var transform = Transform(source);
var mapPosition = _transform.GetMapCoordinates(transform); var mapPosition = _transform.GetMapCoordinates(transform);
@@ -175,6 +178,9 @@ namespace Content.Server.Flash
// They shouldn't have flash removed in between right? // They shouldn't have flash removed in between right?
Flash(entity, user, source, duration, slowTo, displayPopup); Flash(entity, user, source, duration, slowTo, displayPopup);
if (forceStun) // WD
_flashSoundSuppressionSystem.Stun(entity, duration);
} }
_audio.PlayPvs(sound, source, AudioParams.Default.WithVolume(1f).WithMaxDistance(3f)); _audio.PlayPvs(sound, source, AudioParams.Default.WithVolume(1f).WithMaxDistance(3f));

View File

@@ -10,4 +10,5 @@ public sealed partial class FlashOnTriggerComponent : Component
[DataField] public float Range = 1.0f; [DataField] public float Range = 1.0f;
[DataField] public float Duration = 8.0f; [DataField] public float Duration = 8.0f;
[DataField] public float Probability = 1.0f; [DataField] public float Probability = 1.0f;
[DataField] public bool ForceStun; // WD
} }

View File

@@ -48,7 +48,11 @@ public abstract class SharedNightVisionSystem : EntitySystem
return; return;
component.IsActive = !component.IsActive; component.IsActive = !component.IsActive;
_audio.PlayPredicted(component.ToggleSound, uid, uid);
if (component.IsActive && component.ActivateSound != null)
_audio.PlayPredicted(component.ActivateSound, uid, uid);
else if (component.DeactivateSound != null)
_audio.PlayPredicted(component.DeactivateSound, uid, uid);
args.Handled = true; args.Handled = true;

View File

@@ -48,7 +48,11 @@ public abstract class SharedThermalVisionSystem : EntitySystem
return; return;
component.IsActive = !component.IsActive; component.IsActive = !component.IsActive;
_audio.PlayPredicted(component.ToggleSound, uid, uid);
if (component.IsActive && component.ActivateSound != null)
_audio.PlayPredicted(component.ActivateSound, uid, uid);
else if (component.DeactivateSound != null)
_audio.PlayPredicted(component.DeactivateSound, uid, uid);
args.Handled = true; args.Handled = true;

View File

@@ -0,0 +1,9 @@
using Robust.Shared.GameStates;
namespace Content.Shared._White.BuffedFlashGrenade;
[RegisterComponent, NetworkedComponent]
public sealed partial class FlashSoundSuppressionComponent : Component
{
}

View File

@@ -0,0 +1,17 @@
using Content.Shared.Inventory.Events;
using Content.Shared.Stunnable;
namespace Content.Shared._White.BuffedFlashGrenade;
public sealed class FlashSoundSuppressionSystem : EntitySystem
{
[Dependency] private readonly SharedStunSystem _stunSystem = default!;
public void Stun(EntityUid target, float duration)
{
if (HasComp<FlashSoundSuppressionComponent>(target))
return;
_stunSystem.TryParalyze(target, TimeSpan.FromSeconds(duration / 1000f), true);
}
}

View File

@@ -28,9 +28,11 @@ public sealed class ClothingGrantingSystem : EntitySystem
if (_timing.ApplyingState) if (_timing.ApplyingState)
return; return;
if (!TryComp<ClothingComponent>(uid, out var clothing)) return; if (!TryComp<ClothingComponent>(uid, out var clothing))
return;
if (!clothing.Slots.HasFlag(args.SlotFlags)) return; if (!clothing.Slots.HasFlag(args.SlotFlags))
return;
if (component.Components.Count > 8) if (component.Components.Count > 8)
{ {
@@ -53,7 +55,7 @@ public sealed class ClothingGrantingSystem : EntitySystem
} }
component.IsActive = true; component.IsActive = true;
Dirty(component); Dirty(uid, component);
} }
private void OnCompUnequip(EntityUid uid, ClothingGrantComponentComponent component, GotUnequippedEvent args) private void OnCompUnequip(EntityUid uid, ClothingGrantComponentComponent component, GotUnequippedEvent args)
@@ -68,7 +70,7 @@ public sealed class ClothingGrantingSystem : EntitySystem
} }
component.IsActive = false; component.IsActive = false;
Dirty(component); Dirty(uid, component);
} }
private void OnTagEquip(EntityUid uid, ClothingGrantTagComponent component, GotEquippedEvent args) private void OnTagEquip(EntityUid uid, ClothingGrantTagComponent component, GotEquippedEvent args)
@@ -81,7 +83,7 @@ public sealed class ClothingGrantingSystem : EntitySystem
_tagSystem.AddTag(args.Equipee, component.Tag); _tagSystem.AddTag(args.Equipee, component.Tag);
component.IsActive = true; component.IsActive = true;
Dirty(component); Dirty(uid, component);
} }
private void OnTagUnequip(EntityUid uid, ClothingGrantTagComponent component, GotUnequippedEvent args) private void OnTagUnequip(EntityUid uid, ClothingGrantTagComponent component, GotUnequippedEvent args)
@@ -91,6 +93,6 @@ public sealed class ClothingGrantingSystem : EntitySystem
_tagSystem.RemoveTag(args.Equipee, component.Tag); _tagSystem.RemoveTag(args.Equipee, component.Tag);
component.IsActive = false; component.IsActive = false;
Dirty(component); Dirty(uid, component);
} }
} }

View File

@@ -12,10 +12,13 @@ public sealed partial class NightVisionComponent : BaseNvOverlayComponent
public override Color Color { get; set; } = Color.FromHex("#98FB98"); public override Color Color { get; set; } = Color.FromHex("#98FB98");
[DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
public bool IsActive = true; public bool IsActive;
[DataField] [DataField]
public SoundSpecifier? ToggleSound = new SoundPathSpecifier("/Audio/Items/flashlight_pda.ogg"); public SoundSpecifier? ActivateSound = new SoundPathSpecifier("/Audio/White/Items/Goggles/activate.ogg");
[DataField]
public SoundSpecifier? DeactivateSound = new SoundPathSpecifier("/Audio/White/Items/Goggles/deactivate.ogg");
[DataField] [DataField]
public EntProtoId? ToggleAction = "ToggleNightVision"; public EntProtoId? ToggleAction = "ToggleNightVision";

View File

@@ -15,7 +15,10 @@ public sealed partial class ThermalVisionComponent : BaseNvOverlayComponent
public bool IsActive = true; public bool IsActive = true;
[DataField] [DataField]
public SoundSpecifier? ToggleSound = new SoundPathSpecifier("/Audio/Items/flashlight_pda.ogg"); public SoundSpecifier? ActivateSound = new SoundPathSpecifier("/Audio/White/Items/Goggles/activate.ogg");
[DataField]
public SoundSpecifier? DeactivateSound = new SoundPathSpecifier("/Audio/White/Items/Goggles/deactivate.ogg");
[DataField] [DataField]
public EntProtoId? ToggleAction = "ToggleThermalVision"; public EntProtoId? ToggleAction = "ToggleThermalVision";

Binary file not shown.

Binary file not shown.

View File

@@ -13,6 +13,9 @@ ent-ClothingHeadsetAltMedical = полноразмерная медицинск
ent-ClothingHeadsetAltSecurity = полноразмерная охранная гарнитура ent-ClothingHeadsetAltSecurity = полноразмерная охранная гарнитура
.desc = { ent-ClothingHeadsetAlt.desc } .desc = { ent-ClothingHeadsetAlt.desc }
.suffix = { "" } .suffix = { "" }
ent-ClothingHeadsetAltSecurityCommand = { ent-ClothingHeadsetAltSecurity }
.desc = { ent-ClothingHeadsetAlt.desc }
.suffix = { "" }
ent-ClothingHeadsetAltEngineering = полноразмерная инженерная гарнитура ent-ClothingHeadsetAltEngineering = полноразмерная инженерная гарнитура
.desc = { ent-ClothingHeadsetAlt.desc } .desc = { ent-ClothingHeadsetAlt.desc }
.suffix = { "" } .suffix = { "" }

View File

@@ -93,7 +93,7 @@
- id: ClothingHandsGlovesCombat - id: ClothingHandsGlovesCombat
- id: ClothingShoesBootsJack - id: ClothingShoesBootsJack
- id: ClothingEyesGlassesSecurity - id: ClothingEyesGlassesSecurity
- id: ClothingHeadsetAltSecurity - id: ClothingHeadsetAltSecurityCommand
- id: ClothingMaskGasSwat - id: ClothingMaskGasSwat
- id: ClothingOuterCoatHoSTrench - id: ClothingOuterCoatHoSTrench

View File

@@ -324,5 +324,5 @@
- id: ClothingUniformJumpskirtInspector - id: ClothingUniformJumpskirtInspector
- id: ClothingUniformJumpskirtInspectorFormal - id: ClothingUniformJumpskirtInspectorFormal
- id: ClothingHandsGlovesInspector - id: ClothingHandsGlovesInspector
- id: ClothingHeadsetAltSecurity - id: ClothingHeadsetAltSecurityCommand
- id: RubberStampInspector - id: RubberStampInspector

View File

@@ -9,6 +9,9 @@
state: icon_alt state: icon_alt
- type: Clothing - type: Clothing
equippedPrefix: alt equippedPrefix: alt
- type: ClothingGrantComponent # WD
component:
- type: FlashSoundSuppression
- type: entity - type: entity
parent: ClothingHeadsetAlt parent: ClothingHeadsetAlt
@@ -108,13 +111,28 @@
containers: containers:
key_slots: key_slots:
- EncryptionKeySecurity - EncryptionKeySecurity
- EncryptionKeyCommand
- EncryptionKeyCommon - EncryptionKeyCommon
- type: Sprite - type: Sprite
sprite: Clothing/Ears/Headsets/security.rsi sprite: Clothing/Ears/Headsets/security.rsi
- type: Clothing - type: Clothing
sprite: Clothing/Ears/Headsets/security.rsi sprite: Clothing/Ears/Headsets/security.rsi
- type: entity # WD
parent: ClothingHeadsetAlt
id: ClothingHeadsetAltSecurityCommand
name: head of security's over-ear headset
components:
- type: ContainerFill
containers:
key_slots:
- EncryptionKeySecurity
- EncryptionKeyCommand
- EncryptionKeyCommon
- type: Sprite
sprite: Clothing/Ears/Headsets/command.rsi
- type: Clothing
sprite: Clothing/Ears/Headsets/command.rsi
- type: entity - type: entity
parent: ClothingHeadsetAlt parent: ClothingHeadsetAlt
id: ClothingHeadsetAltScience id: ClothingHeadsetAltScience

View File

@@ -148,7 +148,6 @@
components: components:
- type: FlashImmunity - type: FlashImmunity
- type: EyeProtection - type: EyeProtection
protectionTime: 5
- type: Tag - type: Tag
tags: tags:
- Sunglasses - Sunglasses
@@ -167,7 +166,6 @@
sprite: Clothing/Eyes/Glasses/secglasses.rsi sprite: Clothing/Eyes/Glasses/secglasses.rsi
- type: FlashImmunity - type: FlashImmunity
- type: EyeProtection - type: EyeProtection
protectionTime: 5
- type: Construction - type: Construction
graph: GlassesSecHUD graph: GlassesSecHUD
node: glassesSec node: glassesSec
@@ -232,9 +230,9 @@
description: Thermals in the shape of glasses. description: Thermals in the shape of glasses.
components: components:
- type: Sprite - type: Sprite
sprite: Clothing/Eyes/Glasses/thermal.rsi sprite: White/Clothing/Eyes/Glasses/thermal.rsi
- type: Clothing - type: Clothing
sprite: Clothing/Eyes/Glasses/thermal.rsi sprite: White/Clothing/Eyes/Glasses/thermal.rsi
- type: ClothingGrantComponent - type: ClothingGrantComponent
component: component:
- type: ThermalVision - type: ThermalVision

View File

@@ -61,6 +61,7 @@
- type: TemperatureProtection - type: TemperatureProtection
coefficient: 0.005 coefficient: 0.005
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Engineering Hardsuit #Engineering Hardsuit
- type: entity - type: entity
@@ -80,6 +81,7 @@
highPressureMultiplier: 0.1 highPressureMultiplier: 0.1
lowPressureMultiplier: 1000 lowPressureMultiplier: 1000
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Spationaut Hardsuit #Spationaut Hardsuit
- type: entity - type: entity
@@ -183,6 +185,9 @@
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit - type: FlashImmunity # WD edit
- type: ClothingGrantComponent # WD
component:
- type: FlashSoundSuppression
#Brigmedic Hardsuit #Brigmedic Hardsuit
- type: entity - type: entity
@@ -210,6 +215,9 @@
- type: PressureProtection - type: PressureProtection
highPressureMultiplier: 0.6 highPressureMultiplier: 0.6
lowPressureMultiplier: 1000 lowPressureMultiplier: 1000
- type: ClothingGrantComponent # WD
component:
- type: FlashSoundSuppression
#Warden's Hardsuit #Warden's Hardsuit
- type: entity - type: entity
@@ -236,6 +244,9 @@
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit - type: FlashImmunity # WD edit
- type: ClothingGrantComponent # WD
component:
- type: FlashSoundSuppression
#Captain's Hardsuit #Captain's Hardsuit
- type: entity - type: entity
@@ -252,6 +263,9 @@
- type: PressureProtection - type: PressureProtection
highPressureMultiplier: 0.3 highPressureMultiplier: 0.3
lowPressureMultiplier: 1000 lowPressureMultiplier: 1000
- type: ClothingGrantComponent # WD
component:
- type: FlashSoundSuppression
#Inspector's Hardsuit #Inspector's Hardsuit
- type: entity - type: entity
@@ -287,6 +301,7 @@
highPressureMultiplier: 0.08 highPressureMultiplier: 0.08
lowPressureMultiplier: 1000 lowPressureMultiplier: 1000
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Chief Medical Officer's Hardsuit #Chief Medical Officer's Hardsuit
- type: entity - type: entity
@@ -349,6 +364,9 @@
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity - type: FlashImmunity
- type: ClothingGrantComponent # WD
component:
- type: FlashSoundSuppression
#Luxury Mining Hardsuit #Luxury Mining Hardsuit
- type: entity - type: entity
@@ -368,6 +386,7 @@
- type: PointLight - type: PointLight
radius: 7 radius: 7
energy: 3 energy: 3
- type: EyeProtection # WD edit
#Head of Personnel's Hardsuit WD #Head of Personnel's Hardsuit WD
- type: entity - type: entity
@@ -410,8 +429,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Blood-red Medic Hardsuit #Blood-red Medic Hardsuit
- type: entity - type: entity
@@ -437,8 +456,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Syndicate Elite Hardsuit #Syndicate Elite Hardsuit
- type: entity - type: entity
@@ -466,8 +485,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Syndicate Commander Hardsuit #Syndicate Commander Hardsuit
- type: entity - type: entity
@@ -493,8 +512,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Cybersun Juggernaut Hardsuit #Cybersun Juggernaut Hardsuit
- type: entity - type: entity
@@ -518,8 +537,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Wizard Hardsuit #Wizard Hardsuit
- type: entity - type: entity
@@ -546,8 +565,6 @@
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: WizardClothes - type: WizardClothes
- type: FlashImmunity
- type: EyeProtection
#Organic Space Suit #Organic Space Suit
- type: entity - type: entity
@@ -621,8 +638,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#ERT Chaplain Hardsuit #ERT Chaplain Hardsuit
- type: entity - type: entity
@@ -660,8 +677,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#ERT Medical Hardsuit #ERT Medical Hardsuit
- type: entity - type: entity
@@ -677,8 +694,8 @@
sprite: Clothing/Head/Hardsuits/ERThelmets/ertmedical.rsi sprite: Clothing/Head/Hardsuits/ERThelmets/ertmedical.rsi
- type: PointLight - type: PointLight
color: "#adffec" color: "#adffec"
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#ERT Security Hardsuit #ERT Security Hardsuit
- type: entity - type: entity
@@ -701,8 +718,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#ERT Janitor Hardsuit #ERT Janitor Hardsuit
- type: entity - type: entity
@@ -718,8 +735,8 @@
sprite: Clothing/Head/Hardsuits/ERThelmets/ertjanitor.rsi sprite: Clothing/Head/Hardsuits/ERThelmets/ertjanitor.rsi
- type: PointLight - type: PointLight
color: "#cbadff" color: "#cbadff"
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#CBURN Hardsuit #CBURN Hardsuit
- type: entity - type: entity
@@ -759,8 +776,8 @@
Slash: 0.9 Slash: 0.9
Piercing: 0.9 Piercing: 0.9
Heat: 0.9 Heat: 0.9
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
#Deathsquad Hardsuit #Deathsquad Hardsuit
- type: entity - type: entity
@@ -786,8 +803,8 @@
Heat: 0.80 Heat: 0.80
Radiation: 0.80 Radiation: 0.80
Caustic: 0.95 Caustic: 0.95
- type: FlashImmunity # WD edit
- type: EyeProtection # WD edit - type: EyeProtection # WD edit
- type: FlashImmunity # WD
- type: ShowHealthBars - type: ShowHealthBars
damageContainers: damageContainers:
- Biological - Biological

View File

@@ -4,6 +4,8 @@
id: DrinkCanBaseFull id: DrinkCanBaseFull
abstract: true abstract: true
components: components:
- type: Item
size: Tiny
- type: Drink - type: Drink
- type: Openable - type: Openable
- type: Shakeable - type: Shakeable

View File

@@ -11,6 +11,7 @@
- state: active - state: active
- type: Item - type: Item
sprite: Objects/Devices/gps.rsi sprite: Objects/Devices/gps.rsi
size: Tiny
- type: HandheldGPS - type: HandheldGPS
- type: Tag - type: Tag
tags: tags:

View File

@@ -66,7 +66,8 @@
- type: Sprite - type: Sprite
sprite: Objects/Weapons/Grenades/flashbang.rsi sprite: Objects/Weapons/Grenades/flashbang.rsi
- type: FlashOnTrigger - type: FlashOnTrigger
range: 7 range: 5
forceStun: true # WD
- type: SoundOnTrigger - type: SoundOnTrigger
sound: sound:
path: "/Audio/Effects/flash_bang.ogg" path: "/Audio/Effects/flash_bang.ogg"

View File

@@ -138,8 +138,8 @@
shader: unshaded shader: unshaded
- type: Flash - type: Flash
- type: LimitedCharges - type: LimitedCharges
maxCharges: 5 maxCharges: 7
charges: 5 charges: 7
- type: MeleeWeapon - type: MeleeWeapon
canHeavyAttack: false canHeavyAttack: false
wideAnimationRotation: 180 wideAnimationRotation: 180
@@ -148,7 +148,7 @@
Blunt: 0 # melee weapon to allow flashing individual targets Blunt: 0 # melee weapon to allow flashing individual targets
angle: 10 angle: 10
- type: Item - type: Item
size: Small size: Tiny
sprite: Objects/Weapons/Melee/flash.rsi sprite: Objects/Weapons/Melee/flash.rsi
- type: UseDelay - type: UseDelay
- type: StaticPrice - type: StaticPrice

View File

@@ -22,6 +22,14 @@
equipment: SecurityCommandHeadset equipment: SecurityCommandHeadset
- type: startingGear - type: startingGear
id: SecurityCommandHeadset id: SecurityCommandHeadset
equipment:
ears: ClothingHeadsetAltSecurityCommand
- type: itemLoadout
id: SecurityHeadsetFull
equipment: SecurityHeadsetFull
- type: startingGear
id: SecurityHeadsetFull
equipment: equipment:
ears: ClothingHeadsetAltSecurity ears: ClothingHeadsetAltSecurity

View File

@@ -161,7 +161,6 @@
id: CommonCommandHeadset id: CommonCommandHeadset
name: loadout-group-ears name: loadout-group-ears
loadouts: loadouts:
- CommandHeadset
- CommandHeadsetAlt - CommandHeadsetAlt
# Civilian # Civilian
@@ -767,7 +766,6 @@
id: QuartermasterHeadset id: QuartermasterHeadset
name: loadout-group-ears name: loadout-group-ears
loadouts: loadouts:
- QuartermasterHeadset
- QuartermasterHeadsetAlt - QuartermasterHeadsetAlt
- type: loadoutGroup - type: loadoutGroup
@@ -985,7 +983,6 @@
id: ChiefEngineerHeadset id: ChiefEngineerHeadset
name: loadout-group-ears name: loadout-group-ears
loadouts: loadouts:
- ChiefEngineerHeadset
- ChiefEngineerHeadsetAlt - ChiefEngineerHeadsetAlt
- type: loadoutGroup - type: loadoutGroup
@@ -1224,7 +1221,6 @@
id: ResearchDirectorHeadset id: ResearchDirectorHeadset
name: loadout-group-ears name: loadout-group-ears
loadouts: loadouts:
- ResearchDirectorHeadset
- ResearchDirectorHeadsetAlt - ResearchDirectorHeadsetAlt
- type: loadoutGroup - type: loadoutGroup
@@ -1604,6 +1600,12 @@
loadouts: loadouts:
- SecurityCommandHeadset - SecurityCommandHeadset
- type: loadoutGroup
id: CommonSecurityHeadsetFull
name: loadout-group-ears
loadouts:
- SecurityHeadsetFull
- type: loadoutGroup - type: loadoutGroup
id: CommonSecurityBackpack id: CommonSecurityBackpack
name: loadout-group-backpack name: loadout-group-backpack
@@ -1636,10 +1638,9 @@
- CowboyWhite - CowboyWhite
- type: loadoutGroup # WD - type: loadoutGroup # WD
id: ChiefMedicalOfficerEars id: ChiefMedicalOfficerHeadset
name: loadout-group-ears name: loadout-group-ears
loadouts: loadouts:
- CMOHeadset
- CMOHeadsetAlt - CMOHeadsetAlt
- type: loadoutGroup - type: loadoutGroup
@@ -2029,9 +2030,7 @@
id: InspectorBackpack id: InspectorBackpack
name: loadout-group-backpack name: loadout-group-backpack
loadouts: loadouts:
- InspectorBackpack
- InspectorSatchel - InspectorSatchel
- InspectorDuffel
- CommonSatchelLeather - CommonSatchelLeather
- type: loadoutGroup # WD - type: loadoutGroup # WD

View File

@@ -385,7 +385,7 @@
id: JobWarden id: JobWarden
groups: groups:
- WardenHead - WardenHead
- CommonSecurityCommandHeadset # WD - CommonSecurityHeadsetFull # WD
- CommonSecurityCommandMask # WD - CommonSecurityCommandMask # WD
- CommonSecurityNeck - CommonSecurityNeck
- WardenJumpsuit - WardenJumpsuit
@@ -399,7 +399,7 @@
id: JobSeniorOfficer id: JobSeniorOfficer
groups: groups:
- CommonSecurityHead - CommonSecurityHead
- CommonSecurityHeadset # WD - CommonSecurityHeadsetFull # WD
- CommonSecurityCommandMask # WD - CommonSecurityCommandMask # WD
- CommonSecurityNeck - CommonSecurityNeck
- SeniorOfficerJumpsuit - SeniorOfficerJumpsuit
@@ -414,7 +414,7 @@
id: JobSecurityOfficer id: JobSecurityOfficer
groups: groups:
- CommonSecurityHead - CommonSecurityHead
- CommonSecurityHeadset # WD - CommonSecurityHeadsetFull # WD
- CommonSecurityMask # WD - CommonSecurityMask # WD
- CommonSecurityNeck # WD - CommonSecurityNeck # WD
- SecurityJumpsuit - SecurityJumpsuit
@@ -430,7 +430,7 @@
id: JobDetective id: JobDetective
groups: groups:
- DetectiveHead - DetectiveHead
- CommonSecurityHeadset # WD - CommonSecurityHeadsetFull # WD
- CommonMaskCigarette # WD - CommonMaskCigarette # WD
- CommonSecurityNeck - CommonSecurityNeck
- DetectiveJumpsuit - DetectiveJumpsuit
@@ -445,7 +445,7 @@
id: JobSecurityCadet id: JobSecurityCadet
groups: groups:
- CommonSecurityHead - CommonSecurityHead
- CommonSecurityHeadset # WD - CommonSecurityHeadsetFull # WD
- CommonSecurityNeck - CommonSecurityNeck
- SecurityCadetJumpsuit - SecurityCadetJumpsuit
- CommonSecurityBackpack - CommonSecurityBackpack
@@ -459,7 +459,7 @@
id: JobChiefMedicalOfficer id: JobChiefMedicalOfficer
groups: groups:
- ChiefMedicalOfficerHead - ChiefMedicalOfficerHead
- ChiefMedicalOfficerEars # WD - ChiefMedicalOfficerHeadset # WD
- CommonMedicalMask # WD - CommonMedicalMask # WD
- ChiefMedicalOfficerNeck - ChiefMedicalOfficerNeck
- ChiefMedicalOfficerJumpsuit - ChiefMedicalOfficerJumpsuit

View File

@@ -116,6 +116,7 @@
physicalDesc: reagent-physical-desc-saucey physicalDesc: reagent-physical-desc-saucey
flavor: tomato flavor: tomato
color: "#731008" color: "#731008"
slippery: false
- type: reagent - type: reagent
id: JuiceWatermelon id: JuiceWatermelon

View File

@@ -42,4 +42,4 @@
back: ClothingBackpackQuartermasterFilled back: ClothingBackpackQuartermasterFilled
shoes: ClothingShoesColorBrown shoes: ClothingShoesColorBrown
id: QuartermasterPDA id: QuartermasterPDA
ears: ClothingHeadsetQM ears: ClothingHeadsetAltCargo

View File

@@ -43,4 +43,4 @@
back: ClothingBackpackChiefEngineerFilled back: ClothingBackpackChiefEngineerFilled
shoes: ClothingShoesColorBrown shoes: ClothingShoesColorBrown
id: CEPDA id: CEPDA
ears: ClothingHeadsetCE ears: ClothingHeadsetAltEngineering

View File

@@ -28,6 +28,6 @@
back: ClothingBackpackFilled back: ClothingBackpackFilled
shoes: ClothingShoesBootsInspector shoes: ClothingShoesBootsInspector
id: InspectorPDA id: InspectorPDA
ears: ClothingHeadsetAltSecurity ears: ClothingHeadsetAltSecurityCommand
inhand: inhand:
- BriefcaseBrownFilled - BriefcaseBrownFilled

View File

@@ -40,4 +40,4 @@
back: ClothingBackpackCMOFilled back: ClothingBackpackCMOFilled
shoes: ClothingShoesColorBrown shoes: ClothingShoesColorBrown
id: CMOPDA id: CMOPDA
ears: ClothingHeadsetCMO ears: ClothingHeadsetAltMedical

View File

@@ -37,4 +37,4 @@
back: ClothingBackpackResearchDirectorFilled back: ClothingBackpackResearchDirectorFilled
shoes: ClothingShoesColorBrown shoes: ClothingShoesColorBrown
id: RnDPDA id: RnDPDA
ears: ClothingHeadsetRD ears: ClothingHeadsetAltScience

View File

@@ -31,4 +31,4 @@
back: ClothingBackpackSecurityFilledDetective back: ClothingBackpackSecurityFilledDetective
shoes: ClothingShoesBootsCombatFilled shoes: ClothingShoesBootsCombatFilled
id: DetectivePDA id: DetectivePDA
ears: ClothingHeadsetSecurity ears: ClothingHeadsetAltSecurity

View File

@@ -45,4 +45,4 @@
back: ClothingBackpackHOSFilled back: ClothingBackpackHOSFilled
shoes: ClothingShoesBootsCombatFilled shoes: ClothingShoesBootsCombatFilled
id: HoSPDA id: HoSPDA
ears: ClothingHeadsetAltSecurity ears: ClothingHeadsetAltSecurityCommand

View File

@@ -33,5 +33,5 @@
back: ClothingBackpackSecurityFilled back: ClothingBackpackSecurityFilled
shoes: ClothingShoesBootsCombatFilled shoes: ClothingShoesBootsCombatFilled
id: SecurityCadetPDA id: SecurityCadetPDA
ears: ClothingHeadsetSecurity ears: ClothingHeadsetAltSecurity
pocket1: BookSecurity pocket1: BookSecurity

View File

@@ -30,4 +30,4 @@
back: ClothingBackpackSecurityFilled back: ClothingBackpackSecurityFilled
shoes: ClothingShoesBootsCombatFilled shoes: ClothingShoesBootsCombatFilled
id: SecurityPDA id: SecurityPDA
ears: ClothingHeadsetSecurity ears: ClothingHeadsetAltSecurity

View File

@@ -39,4 +39,4 @@
back: ClothingBackpackSecurityFilled back: ClothingBackpackSecurityFilled
shoes: ClothingShoesBootsCombatFilled shoes: ClothingShoesBootsCombatFilled
id: SeniorOfficerPDA id: SeniorOfficerPDA
ears: ClothingHeadsetSecurity ears: ClothingHeadsetAltSecurity

View File

@@ -32,4 +32,4 @@
back: ClothingBackpackSecurityFilled back: ClothingBackpackSecurityFilled
shoes: ClothingShoesBootsCombatFilled shoes: ClothingShoesBootsCombatFilled
id: WardenPDA id: WardenPDA
ears: ClothingHeadsetSecurity ears: ClothingHeadsetAltSecurity

View File

@@ -38,7 +38,7 @@
itemIconStyle: BigAction itemIconStyle: BigAction
priority: -20 priority: -20
icon: icon:
sprite: White/Clothing/Head/nightvision.rsi sprite: White/Clothing/Eyes/Glasses/nightvision.rsi
state: icon state: icon
event: !type:ToggleNightVisionEvent event: !type:ToggleNightVisionEvent

View File

@@ -6,9 +6,9 @@
description: Теперь ты видишь во тьме! description: Теперь ты видишь во тьме!
components: components:
- type: Sprite - type: Sprite
sprite: White/Clothing/Head/nightvision.rsi sprite: White/Clothing/Eyes/Glasses/nightvision.rsi
- type: Clothing - type: Clothing
sprite: White/Clothing/Head/nightvision.rsi sprite: White/Clothing/Eyes/Glasses/nightvision.rsi
- type: ClothingGrantComponent - type: ClothingGrantComponent
component: component:
- type: NightVision - type: NightVision

View File

@@ -41,7 +41,8 @@
component: component:
- type: NightVision - type: NightVision
toggleAction: null toggleAction: null
toggleSound: null activateSound: null
deactivateSound: null
color: White color: White
- type: ShowHealthBars - type: ShowHealthBars
damageContainers: damageContainers:

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 719 B

View File

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 218 B

View File

@@ -0,0 +1,48 @@
{
"version": 1,
"license": null,
"copyright": null,
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "equipped-EYES",
"directions": 4,
"delays": [
[
0.1,
0.1
],
[
0.1,
0.1
],
[
0.1,
0.1
],
[
0.1,
0.1
]
]
},
{
"name": "equipped-EYES-off",
"directions": 4
},
{
"name": "icon"
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B