Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Jabak
2024-06-19 12:59:49 +03:00
59 changed files with 334 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

@@ -4540,3 +4540,43 @@
id: 310 id: 310
time: '2024-06-18T14:55:21.0000000+00:00' time: '2024-06-18T14:55:21.0000000+00:00'
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/363 url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/363
- author: ThereDrD
changes:
- message: "\u041A\u0430\u0436\u0434\u044B\u0439 \u0442\u0438\u043F \u043E\u0440\
\u0443\u0436\u0438\u044F \u043F\u043E\u043B\u0443\u0447\u0438\u043B \u0441\u0432\
\u043E\u0438 \u0443\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0435 \u0437\
\u0432\u0443\u043A\u0438 \u043F\u043E\u0434\u043D\u044F\u0442\u0438\u044F \u0438\
\ \u0440\u043E\u043D\u044F\u043D\u0438\u044F"
type: Add
- message: "\u0417\u0430\u043A\u043B\u0438\u043D\u0430\u043D\u0438\u0435 \u0432\u043E\
\u0437\u0432\u0440\u0430\u0442\u0430 \u043F\u043E\u043B\u0443\u0447\u0438\u043B\
\u043E \u0441\u0432\u043E\u0438 \u0437\u0432\u0443\u043A\u0438"
type: Add
- message: "\u0421\u0442\u0430\u043A\u0430\u043D\u044B \u0441\u043D\u043E\u0432\u0430\
\ \u0438\u0437\u0434\u0430\u044E\u0442 \u0437\u0432\u0443\u043A\u0438 \u043F\
\u0440\u0438 \u0432\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\
\u0432\u0438\u0438"
type: Add
- message: "\u0427\u0430\u0448\u043A\u0438 \u0442\u0435\u043F\u0435\u0440\u044C\
\ \u0442\u043E\u0436\u0435 \u0431\u044C\u044E\u0442\u0441\u044F"
type: Add
- message: "\u0417\u0432\u0443\u043A\u0438 \u0434\u043B\u044F \u0447\u0430\u0448\
\u0435\u043A"
type: Add
- message: "\u0417\u0432\u0443\u043A\u0438 \u043D\u0430\u0440\u0443\u0447\u043D\u0438\
\u043A\u043E\u0432"
type: Add
- message: "\u041F\u0435\u0434\u0430\u043B\u0438 \u0442\u0435\u043F\u0435\u0440\u044C\
\ \u043C\u043E\u0433\u0443\u0442 \u0441\u043A\u0438\u043F\u0430\u0442\u044C\
\ \u043F\u0440\u0430\u0432\u0438\u043B\u0430 \u0438\u0441\u043F\u043E\u043B\u044C\
\u0437\u0443\u044F \u043A\u043E\u043C\u0430\u043D\u0434\u0443 fuckrules"
type: Add
- message: "\u0424\u0438\u043A\u0441 \u043E\u0442\u0441\u0443\u0442\u0441\u0442\u0432\
\u0443\u044E\u0449\u0435\u0433\u043E \u043F\u0435\u0440\u0435\u0432\u043E\u0434\
\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u043C\u044B\u0445 \u0440\u0435\u0441\
\u0443\u0440\u0441\u043E\u0432 \u0434\u043B\u044F \u043A\u0440\u0430\u0444\u0442\
\u0430 \u0432 \u0430\u0432\u0442\u043E\u043B\u0430\u0442\u0430\u0445"
type: Fix
id: 311
time: '2024-06-19T02:47:36.0000000+00:00'
url: https://api.github.com/repos/frosty-dev/ss14-core/pulls/364

View File

@@ -13,7 +13,11 @@ 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 = Материалы
lathe-menu-queue-title = Очередь создания lathe-menu-queue-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
@@ -200,7 +209,7 @@
name: N1984 name: N1984
parent: BaseWeaponPistol parent: BaseWeaponPistol
id: WeaponPistolN1984 # the spaces in description are for formatting. id: WeaponPistolN1984 # the spaces in description are for formatting.
description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber.
components: components:
- type: Sprite - type: Sprite
sprite: Objects/Weapons/Guns/Pistols/N1984.rsi sprite: Objects/Weapons/Guns/Pistols/N1984.rsi

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