Фиксы и фичи (#364)

* fix: fix localisation in lathe ui

* add: possible way to give admins access to fuckrules

* add: handcuffs pick up and drop sounds

* fix: fix missing drink glass sounds

* fix: fix missing sound

* add: all weapons now have unique pick up and drop sounds

* add: recall spell sounds

* add: cups are breakable now

* fix: fix rifles wrong collection
This commit is contained in:
ThereDrD0
2024-06-19 05:47:35 +03:00
committed by GitHub
parent 4c404a0163
commit dff41dd6d0
58 changed files with 294 additions and 4 deletions

View File

@@ -1,7 +1,23 @@
namespace Content.Server._White.Wizard.Magic.Other; using Robust.Shared.Audio;
namespace Content.Server._White.Wizard.Magic.Other;
[RegisterComponent] [RegisterComponent]
public sealed partial class InstantRecallComponent : Component public sealed partial class InstantRecallComponent : Component
{ {
public EntityUid? Item; public EntityUid? Item;
/// <summary>
/// Sound to play on use.
/// </summary>
[DataField]
[ViewVariables]
public SoundSpecifier LinkSound;
/// <summary>
/// Sound to play on use.
/// </summary>
[DataField]
[ViewVariables]
public SoundSpecifier RecallSound;
} }

View File

@@ -217,6 +217,7 @@ public sealed class WizardSpellsSystem : EntitySystem
recallComponent.Item = handsComponent.ActiveHandEntity.Value; recallComponent.Item = handsComponent.ActiveHandEntity.Value;
_popupSystem.PopupEntity($"Сопряжено с {MetaData(handsComponent.ActiveHandEntity.Value).EntityName}", _popupSystem.PopupEntity($"Сопряжено с {MetaData(handsComponent.ActiveHandEntity.Value).EntityName}",
msg.Performer, msg.Performer); msg.Performer, msg.Performer);
_audio.PlayPvs(recallComponent.LinkSound, msg.Performer);
return; return;
} }
@@ -226,12 +227,13 @@ public sealed class WizardSpellsSystem : EntitySystem
var coordsItem = Transform(recallComponent.Item.Value).Coordinates; var coordsItem = Transform(recallComponent.Item.Value).Coordinates;
var coordsPerformer = Transform(msg.Performer).Coordinates; var coordsPerformer = Transform(msg.Performer).Coordinates;
Spawn("EffectEmpPulse", coordsItem); Spawn("EffectMagicDisappearance", coordsItem);
_transformSystem.SetCoordinates(recallComponent.Item.Value, coordsPerformer); _transformSystem.SetCoordinates(recallComponent.Item.Value, coordsPerformer);
_transformSystem.AttachToGridOrMap(recallComponent.Item.Value); _transformSystem.AttachToGridOrMap(recallComponent.Item.Value);
_handsSystem.TryForcePickupAnyHand(msg.Performer, recallComponent.Item.Value); _handsSystem.TryForcePickupAnyHand(msg.Performer, recallComponent.Item.Value);
_audio.PlayPvs(recallComponent.RecallSound, msg.Performer);
msg.Handled = true; msg.Handled = true;
Speak(msg); Speak(msg);

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -13,6 +13,10 @@ lathe-menu-material-amount = { $amount ->
[1] {NATURALFIXED($amount, 2)} {$unit} [1] {NATURALFIXED($amount, 2)} {$unit}
*[other] {NATURALFIXED($amount, 2)} {$unit} *[other] {NATURALFIXED($amount, 2)} {$unit}
} }
lathe-menu-material-amount-missing = { $amount ->
[1] {NATURALFIXED($amount, 1)} {$unit} {$material}, [color=red]требуется {NATURALFIXED($missingAmount, 1)} {$unit}[/color]
*[other] {NATURALFIXED($amount, 1)} {$unit} {$material}, [color=red]требуется {NATURALFIXED($missingAmount, 1)} {$unit}[/color]
}
lathe-menu-no-materials-message = Материалы не загружены lathe-menu-no-materials-message = Материалы не загружены
lathe-menu-fabricating-message = Создаем... lathe-menu-fabricating-message = Создаем...
lathe-menu-materials-title = Материалы lathe-menu-materials-title = Материалы

View File

@@ -76,6 +76,12 @@
solution: drink solution: drink
- type: FitsInDispenser - type: FitsInDispenser
solution: drink solution: drink
- type: EmitSoundOnPickup
sound:
path: /Audio/White/Items/handling/drinkglass_pickup.ogg
- type: EmitSoundOnDrop
sound:
path: /Audio/White/Items/handling/drinkglass_drop.ogg
# Transformable container - normal glass # Transformable container - normal glass
- type: entity - type: entity

View File

@@ -6,6 +6,36 @@
name: base cup name: base cup
abstract: true abstract: true
components: components:
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Glass
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 5
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:SpillBehavior { }
- !type:SpawnEntitiesBehavior
spawn:
ShardGlass:
min: 1
max: 1
transferForensics: true
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: DamageOnLand
ignoreResistances: true
damage:
types:
Blunt: 5
- type: DamageOtherOnHit
damage:
types:
Blunt: 5
- type: SolutionContainerManager - type: SolutionContainerManager
solutions: solutions:
drink: drink:
@@ -39,6 +69,15 @@
Blunt: 0 Blunt: 0
- type: StaticPrice - type: StaticPrice
price: 20 price: 20
- type: EmitSoundOnPickup
sound:
path: /Audio/White/Items/Cup/pickup.ogg
- type: EmitSoundOnDrop
sound:
path: /Audio/White/Items/Cup/drop.ogg
- type: EmitSoundOnLand
sound:
path: /Audio/White/Items/Cup/drop.ogg
- type: entity - type: entity
parent: DrinkBaseCup parent: DrinkBaseCup

View File

@@ -28,6 +28,15 @@
- Security - Security
- type: UseDelay - type: UseDelay
delay: 6 delay: 6
- type: EmitSoundOnPickup
sound:
path: /Audio/White/Items/Handcuffs/pickup.ogg
- type: EmitSoundOnDrop
sound:
path: /Audio/White/Items/Handcuffs/drop.ogg
- type: EmitSoundOnLand
sound:
path: /Audio/White/Items/Handcuffs/drop.ogg
- type: entity - type: entity
name: makeshift handcuffs name: makeshift handcuffs

View File

@@ -31,6 +31,15 @@
- type: Appearance - type: Appearance
- type: StaticPrice - type: StaticPrice
price: 500 price: 500
- type: EmitSoundOnPickup
sound:
collection: LasersPickUp
- type: EmitSoundOnDrop
sound:
collection: LasersDrop
- type: EmitSoundOnLand
sound:
collection: LasersDrop
- type: entity - type: entity
id: BaseWeaponPowerCell id: BaseWeaponPowerCell
@@ -259,6 +268,15 @@
- type: ProjectileBatteryAmmoProvider - type: ProjectileBatteryAmmoProvider
proto: PulseBoltProjectile proto: PulseBoltProjectile
fireCost: 100 fireCost: 100
- type: EmitSoundOnPickup
sound:
collection: PulsePickUp
- type: EmitSoundOnDrop
sound:
collection: PulseDrop
- type: EmitSoundOnLand
sound:
collection: PulseDrop
- type: entity - type: entity
name: pulse carbine name: pulse carbine
@@ -287,6 +305,15 @@
- type: ProjectileBatteryAmmoProvider - type: ProjectileBatteryAmmoProvider
proto: PulseBoltProjectile proto: PulseBoltProjectile
fireCost: 40 fireCost: 40
- type: EmitSoundOnPickup
sound:
collection: PulsePickUp
- type: EmitSoundOnDrop
sound:
collection: PulseDrop
- type: EmitSoundOnLand
sound:
collection: PulseDrop
- type: entity - type: entity
name: pulse rifle name: pulse rifle
@@ -311,6 +338,15 @@
- type: ProjectileBatteryAmmoProvider - type: ProjectileBatteryAmmoProvider
proto: PulseBoltProjectile proto: PulseBoltProjectile
fireCost: 2.5 fireCost: 2.5
- type: EmitSoundOnPickup
sound:
collection: PulsePickUp
- type: EmitSoundOnDrop
sound:
collection: PulseDrop
- type: EmitSoundOnLand
sound:
collection: PulseDrop
- type: entity - type: entity
name: laser cannon name: laser cannon

View File

@@ -19,6 +19,15 @@
containers: containers:
ballistic-ammo: !type:Container ballistic-ammo: !type:Container
ents: [] ents: []
- type: EmitSoundOnPickup
sound:
collection: RiflesPickUp
- type: EmitSoundOnDrop
sound:
collection: RiflesDrop
- type: EmitSoundOnLand
sound:
collection: RiflesPickUp
- type: entity - type: entity
name: china lake name: china lake

View File

@@ -66,6 +66,15 @@
- type: AmmoCounter - type: AmmoCounter
- type: StaticPrice - type: StaticPrice
price: 500 price: 500
- type: EmitSoundOnPickup
sound:
collection: PistolsPickUp
- type: EmitSoundOnDrop
sound:
collection: PistolsDrop
- type: EmitSoundOnLand
sound:
collection: PistolsDrop
- type: entity - type: entity
name: viper name: viper

View File

@@ -49,6 +49,18 @@
path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg path: /Audio/Weapons/Guns/MagIn/revolver_magin.ogg
- type: StaticPrice - type: StaticPrice
price: 500 price: 500
- type: EmitSoundOnPickup
sound:
collection: RevolversPickUp
- type: EmitSoundOnDrop
sound:
collection: RevolversDrop
- type: EmitSoundOnLand
sound:
collection: RevolversDrop
- type: EmitSoundOnCollide
sound:
collection: RevolversCollide
- type: entity - type: entity
name: Deckard name: Deckard

View File

@@ -50,6 +50,15 @@
gun_chamber: !type:ContainerSlot gun_chamber: !type:ContainerSlot
- type: StaticPrice - type: StaticPrice
price: 500 price: 500
- type: EmitSoundOnPickup
sound:
collection: RiflesPickUp
- type: EmitSoundOnDrop
sound:
collection: RiflesDrop
- type: EmitSoundOnLand
sound:
collection: RiflesPickUp
- type: entity - type: entity
name: AKMS name: AKMS

View File

@@ -54,6 +54,15 @@
gun_chamber: !type:ContainerSlot gun_chamber: !type:ContainerSlot
- type: StaticPrice - type: StaticPrice
price: 500 price: 500
- type: EmitSoundOnPickup
sound:
collection: RiflesPickUp
- type: EmitSoundOnDrop
sound:
collection: RiflesDrop
- type: EmitSoundOnLand
sound:
collection: RiflesDrop
- type: entity - type: entity
name: Atreides name: Atreides

View File

@@ -43,6 +43,16 @@
ents: [] ents: []
- type: StaticPrice - type: StaticPrice
price: 500 price: 500
- type: EmitSoundOnPickup
sound:
collection: ShotgunsPickUp
- type: EmitSoundOnDrop
sound:
collection: ShotgunsDrop
- type: EmitSoundOnLand
sound:
collection: ShotgunsDrop
- type: entity - type: entity
name: Bulldog name: Bulldog

View File

@@ -38,6 +38,15 @@
ents: [] ents: []
- type: StaticPrice - type: StaticPrice
price: 500 price: 500
- type: EmitSoundOnPickup
sound:
collection: SnipersPickUp
- type: EmitSoundOnDrop
sound:
collection: SnipersDrop
- type: EmitSoundOnLand
sound:
collection: SnipersDrop
- type: entity - type: entity
name: Kardashev-Mosin name: Kardashev-Mosin

View File

@@ -288,6 +288,10 @@
- type: Magic - type: Magic
requiresClothes: false requiresClothes: false
- type: InstantRecall - type: InstantRecall
linkSound:
path: /Audio/White/Magic/Recall/link.ogg
recallSound:
path: /Audio/White/Magic/Recall/recall.ogg
- type: InstantAction - type: InstantAction
useDelay: 10 useDelay: 10
itemIconStyle: BigAction itemIconStyle: BigAction

View File

@@ -0,0 +1,96 @@
- type: soundCollection
id: RiflesPickUp
files:
- /Audio/White/Items/Weapon/Rifle/pickup1.ogg
- /Audio/White/Items/Weapon/Rifle/pickup2.ogg
- /Audio/White/Items/Weapon/Rifle/pickup3.ogg
- type: soundCollection
id: RiflesDrop
files:
- /Audio/White/Items/Weapon/Rifle/drop1.ogg
- /Audio/White/Items/Weapon/Rifle/drop2.ogg
- type: soundCollection
id: PistolsPickUp
files:
- /Audio/White/Items/Weapon/Pistol/pickup1.ogg
- /Audio/White/Items/Weapon/Pistol/pickup2.ogg
- /Audio/White/Items/Weapon/Pistol/pickup3.ogg
- /Audio/White/Items/Weapon/Pistol/pickup4.ogg
- type: soundCollection
id: PistolsDrop
files:
- /Audio/White/Items/Weapon/Pistol/drop1.ogg
- /Audio/White/Items/Weapon/Pistol/drop2.ogg
- /Audio/White/Items/Weapon/Pistol/drop3.ogg
- type: soundCollection
id: LasersPickUp
files:
- /Audio/White/Items/Weapon/Laser/pickup1.ogg
- /Audio/White/Items/Weapon/Laser/pickup2.ogg
- type: soundCollection
id: LasersDrop
files:
- /Audio/White/Items/Weapon/Laser/drop1.ogg
- type: soundCollection
id: PulsePickUp
files:
- /Audio/White/Items/Weapon/Pulse/pickup1.ogg
- type: soundCollection
id: PulseDrop
files:
- /Audio/White/Items/Weapon/Pulse/drop1.ogg
- type: soundCollection
id: SnipersPickUp
files:
- /Audio/White/Items/Weapon/Sniper/pickup1.ogg
- /Audio/White/Items/Weapon/Sniper/pickup2.ogg
- type: soundCollection
id: SnipersDrop
files:
- /Audio/White/Items/Weapon/Sniper/drop1.ogg
- /Audio/White/Items/Weapon/Sniper/drop2.ogg
- /Audio/White/Items/Weapon/Sniper/drop3.ogg
- type: soundCollection
id: ShotgunsPickUp
files:
- /Audio/White/Items/Weapon/Shotgun/pickup1.ogg
- /Audio/White/Items/Weapon/Shotgun/pickup2.ogg
- /Audio/White/Items/Weapon/Shotgun/pickup3.ogg
- type: soundCollection
id: ShotgunsDrop
files:
- /Audio/White/Items/Weapon/Shotgun/drop1.ogg
- /Audio/White/Items/Weapon/Shotgun/drop2.ogg
- type: soundCollection
id: RevolversPickUp
files:
- /Audio/White/Items/Weapon/Revolver/pickup1.ogg
- /Audio/White/Items/Weapon/Revolver/pickup2.ogg
- type: soundCollection
id: RevolversDrop
files:
- /Audio/White/Items/Weapon/Revolver/drop1.ogg
- /Audio/White/Items/Weapon/Revolver/drop2.ogg
- type: soundCollection
id: RevolversCollide
files:
- /Audio/White/Items/Weapon/Revolver/collide1.ogg
- type: soundCollection
id: RevolversPutIn
files:
- /Audio/White/Items/Weapon/Revolver/putin1.ogg

View File

@@ -0,0 +1,7 @@
- type: entity
id: EffectMagicDisappearance
noSpawn: true
components:
- type: EmitSoundOnSpawn
sound:
path: /Audio/White/Magic/Recall/disappearance.ogg

View File

@@ -84,3 +84,7 @@
- uploadfile - uploadfile
- loadprototype - loadprototype
- uploadfolder - uploadfolder
- Flags: ADMIN
Commands:
- fuckrules