ШАК-12 и выбор оружия для ОСЩ (#3457)

Co-authored-by: Xeno4 <republic.cat@gmail.com>
Co-authored-by: KaiserMaus <kaiser.ratte@gmail.com>
This commit is contained in:
Republic_Cat 2025-12-16 16:17:52 +03:00 committed by GitHub
parent 51832c833a
commit 2cc7f0ae9b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
45 changed files with 412 additions and 4 deletions

View file

@ -10,6 +10,7 @@ loadout-group-backntr = ИСН, рюкзак
loadout-group-barber-jumpsuit = Униформа парикмахера
loadout-group-blueshield-belt = Офицер «Синий щит», пояс
loadout-group-blueshield-neck = Офицер «Синий щит», шея
loadout-group-blueshield-gun = Офицер «Синий щит», Табельное
loadout-group-blueshield-backpack = Офицер «Синий щит», рюкзак
loadout-group-blueshield-jumpsuit = Офицер «Синий щит», комбинезон
loadout-group-bodycam = Бодикамера

View file

@ -53,3 +53,5 @@ ent-ClothingBackpackDuffelWeaponLightMachineGunMG42 = Набор MG-342
.desc = MG-342 c 2мя магазинами.
ent-ClothingBackpackDuffelSyndicateSuperAmmoFilled = Набор "Оружейная лавка"
.desc = Большой боекомплект для всего отряда! В набор входят: коробка магазинов для C-20r, коробка барабанов для «Бульдога», коробка магазинов для L6 SAW и россыпные патроны, коробка магазинов для DL6902 и дополнительная россыпь патронов, коробка магазинов для «Эстока», коробка магазинов для «Драгунова», а также коробка безгильзовых патронов.
ent-ClothingBackpackDuffelWeaponRifleAsh12 = Набор АШ-12
.desc = АШ-12, 5 магазинов и чертеж.

View file

@ -25,3 +25,5 @@ ent-WeaponRifleLecterMk2Empty = Лектер Мк2
.desc = { ent-WeaponRifleLecterMk2.desc }
ent-WeaponRifleSTG44 = STG 44
.desc = Признанная классикой, эта конструкция была воспринята как первая успешная концепция штурмовой винтовки, обычно называемая "штурмовой винтовкой". Имеет более высокую, чем обычно, скорострельность для своего класса.
ent-WeaponRifleAsh12 = АШ-12
.desc = Тяжёлая автоматическая винтовка под пули дробовика. Бьёт, как молоток.

View file

@ -10,6 +10,7 @@ loadout-group-backntr = ИСН, рюкзак
loadout-group-barber-jumpsuit = Униформа парикмахера
loadout-group-blueshield-belt = Офицер «Синий щит», пояс
loadout-group-blueshield-neck = Офицер «Синий щит», шея
loadout-group-blueshield-gun = Офицер «Синий щит», Табельное
loadout-group-blueshield-backpack = Офицер «Синий щит», рюкзак
loadout-group-blueshield-jumpsuit = Офицер «Синий щит», комбинезон
loadout-group-bodycam = Бодикамера

View file

@ -60,6 +60,12 @@
soundEject:
collection: ShellEject
hitscan: PelletShotgunSlugTrace
# sunrise-start
- type: Tag
tags:
- ShotgunSlug
- ShellShotgun
# sunrise-end
- type: entity
id: ShellShotgunFlare

View file

@ -453,6 +453,20 @@
- type: OreSiloClient
- type: LatheAnnouncing
channels: [Security]
# sunrise-start
- type: BlueprintReceiver
whitelist:
tags:
- BlueprintAutolathe
- type: ContainerContainer
containers:
machine_board: !type:Container
machine_parts: !type:Container
blueprint: !type:Container
- type: EmptyOnMachineDeconstruct
containers:
- blueprint
# sunrise-end
- type: entity
id: AmmoTechFab

View file

@ -260,6 +260,19 @@
- id: MagazineBoxAntiMateriel
amount: 4
- type: entity
id: ClothingBackpackDuffelWeaponRifleAsh12
parent: ClothingBackpackDuffelMilitary
name: Bundle ASH-12
description: ASH-12 with 5 magazines and a blueprint.
components:
- type: StorageFill
contents:
- id: WeaponRifleAsh12
- id: MagazineAsh12
amount: 5
- id: BlueprintMagAsh12Slug
- type: entity
id: ClothingBackpackDuffelNanotrasenMedicalBundleFilled
parent: ClothingBackpackDuffelNanotrasenMedical
@ -356,3 +369,5 @@
- id: ClothingHandsGlovesCombatCQC
- id: DoubleEmergencyOxygenTankFilled
- id: DoubleEmergencyNitrogenTankFilled

View file

@ -0,0 +1,83 @@
# region Base
- type: entity
parent: BaseBlueprint
id: BaseBlueprintSunrise
abstract: true
components:
- type: Sprite
sprite: _Sunrise/Objects/Tools/blueprints.rsi
layers:
- state: icon-base
color: "#7da0ba"
- state: icon-text
- sprite: Objects/Misc/bureaucracy.rsi
state: paper_stamp-generic
offset: 0.15,-0.1
map: ["enum.PaperVisualLayers.Stamp"]
visible: false
- sprite: Objects/Misc/bureaucracy.rsi # Need for PaperVisuals otherwise it wont stop complaining
state: paper_words
map: ["enum.PaperVisualLayers.Writing"]
visible: false
- type: Item
size: Normal
sprite: _Sunrise/Objects/Tools/blueprints.rsi
inhandVisuals:
left:
- state: inhand-left-base
color: "#7da0ba"
- state: inhand-left-text
right:
- state: inhand-right-base
color: "#7da0ba"
- state: inhand-right-text
- type: Tag # defaults to autolathe-insertable
tags:
- BlueprintAutolathe
- Document
- Paper
- type: entity
parent: BaseBlueprint
id: BaseBlueprintSecurity
abstract: true
components:
- type: Sprite
sprite: _Sunrise/Objects/Tools/blueprints.rsi
layers:
- state: icon-base
color: "#d21a1a"
- state: icon-text
- sprite: Objects/Misc/bureaucracy.rsi
state: paper_stamp-generic
offset: 0.15,-0.1
map: ["enum.PaperVisualLayers.Stamp"]
visible: false
- sprite: Objects/Misc/bureaucracy.rsi
state: paper_words
map: ["enum.PaperVisualLayers.Writing"]
visible: false
- type: FaxableObject
- type: Item
size: Normal
sprite: _Sunrise/Objects/Tools/blueprints.rsi
inhandVisuals:
left:
- state: inhand-left-base
color: "#d21a1a"
- state: inhand-left-text
right:
- state: inhand-right-base
color: "#d21a1a"
- state: inhand-right-text
# region security
- type: entity
parent: BaseBlueprintSecurity
id: BlueprintMagAsh12Slug
name: ash-12 magazine (.50 slug) blueprint
description: A blueprint with a schematic of a ash-12 magazine with slugs. It can be inserted into an autolathe and security fabricator.
components:
- type: Blueprint
providedRecipes:
- MagazineAsh12

View file

@ -0,0 +1,47 @@
- type: entity
id: BaseMagazineAsh12
name: "ash-12 magazine(.50 slug)"
parent: [ BaseItem, BaseSecurityContraband ]
abstract: true
components:
- type: Tag
tags:
- MagazineAsh12
- type: Item
size: Small
- type: BallisticAmmoProvider
mayTransfer: true
whitelist:
tags:
- ShotgunSlug
capacity: 10
proto: ShellShotgunSlug
- type: ContainerContainer
containers:
ballistic-ammo: !type:Container
- type: Sprite
sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/ash12.rsi/
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: MagazineVisuals
magState: mag
steps: 2
zeroVisible: false
- type: Appearance
- type: entity
id: MagazineAsh12
name: "ash-12 magazine (.50 slug)"
parent: BaseMagazineAsh12
components:
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- state: stripe
color: "#780606"

View file

@ -541,11 +541,18 @@
- 0,0,3,2
sprite: _Sunrise/Objects/Weapons/Guns/Rifles/m16a4/tiny.rsi
- type: Gun
minAngle: 1
minAngle: 2
maxAngle: 15
angleIncrease: 1.25
angleDecay: 10
fireRate: 5
angleIncrease: 1
angleDecay: 15
fireRate: 6
burstFireRate: 8
selectedMode: SemiAuto
availableModes:
- Burst
- SemiAuto
shotsPerBurst: 3
burstCooldown: 0.25
soundGunshot:
path: /Audio/_Sunrise/Weapons/Guns/Rifles/m16a4/m16a4_shot.ogg
- type: ItemSlots
@ -698,3 +705,71 @@
whitelist:
tags:
- CartridgeRifle
- type: entity
name: ASH-12
parent: BaseWeaponRifleSunrise
id: WeaponRifleAsh12
components:
- type: Sprite
scale: 0.8,0.8
sprite: _Sunrise/Objects/Weapons/Guns/Rifles/ash12/big.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-0
map: ["enum.GunVisualLayers.Mag"]
- type: Clothing
sprite: _Sunrise/Objects/Weapons/Guns/Rifles/ash12/tiny.rsi
- type: Item
size: Huge
shape:
- 0,0,4,2
sprite: _Sunrise/Objects/Weapons/Guns/Rifles/ash12/tiny.rsi
- type: Gun
minAngle: 3
maxAngle: 24
angleIncrease: 2
angleDecay: 12
fireRate: 3
soundGunshot:
path: /Audio/_Sunrise/Weapons/Guns/Rifles/ash12/fire.ogg
params:
volume: 25
- type: ItemSlots
slots:
gun_magazine:
name: Magazine
startingItem: MagazineAsh12
insertSound: /Audio/_Sunrise/Weapons/Guns/Rifles/ash12/ash12_mag_in.ogg
ejectSound: /Audio/_Sunrise/Weapons/Guns/Rifles/ash12/ash12_mag_out.ogg
priority: 3
whitelist:
tags:
- MagazineAsh12
gun_chamber:
name: Chamber
startingItem: ShellShotgunSlug
priority: 1
whitelist:
tags:
- ShotgunSlug
- type: ContainerContainer
containers:
gun_magazine: !type:ContainerSlot
gun_chamber: !type:ContainerSlot
- type: MagazineVisuals
magState: mag
steps: 1
zeroVisible: true
- type: Appearance
- type: Wieldable
- type: UseDelay
delay: 0.65
- type: ChamberMagazineAmmoProvider
soundRack:
path: /Audio/_Sunrise/Weapons/Guns/Rifles/ash12/cycle.ogg
soundBoltOpened:
path: /Audio/_Sunrise/Weapons/Guns/Rifles/ash12/bolt-open.ogg
soundBoltClosed:
path: /Audio/_Sunrise/Weapons/Guns/Rifles/ash12/bolt-closed.ogg

View file

@ -1,3 +1,13 @@
- type: loadoutEffectGroup
id: MisterBlueShit
effects:
- !type:JobRequirementLoadoutEffect
requirement:
!type:RoleTimeRequirement
role: JobBlueShield
time: 20h
- type: loadout
id: BlueShieldBackpack
equipment:
@ -42,3 +52,18 @@
id: BlueShieldWebbing
equipment:
belt: ClothingBeltBlueShieldWebbingFilled
- type: loadout
id: BlueshieldWT550
inhand:
- ClothingBackpackDuffelWeaponSubMachineGunWt550
- type: loadout
id: BlueshieldAsh12
sponsorOnly: true
inhand:
- ClothingBackpackDuffelWeaponRifleAsh12
effects:
- !type:GroupLoadoutEffect
proto: MisterBlueShit

View file

@ -146,6 +146,15 @@
- BlueShieldMantle
- BlueShieldCoat
- type: loadoutGroup
id: BlueshieldGun
name: loadout-group-blueshield-gun
minLimit: 1
maxLimit: 1
loadouts:
- BlueshieldWT550
- BlueshieldAsh12
- type: loadoutGroup
id: BarberJumpsuit
name: loadout-group-barber-jumpsuit

View file

@ -99,6 +99,7 @@
- Bra
- Pants
- Socks
- BlueshieldGun
- type: roleLoadout
id: JobSeniorOfficer

View file

@ -8,6 +8,15 @@
Glass: 50
Plasma: 25
# Blueprints
- type: latheRecipe
parent: BaseAmmoRecipe
id: MagazineAsh12
result: MagazineAsh12
materials:
Steel: 200
Plastic: 100
# .40 Pistol (.45 ACP)
- type: latheRecipe
parent: BaseEmptyAmmoRecipe

View file

@ -227,6 +227,12 @@
- type: Tag
id: SyndicateRapier
- type: Tag
id: ShotgunSlug
- type: Tag
id: MagazineAsh12
# Material bag:
- type: Tag

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

View file

@ -0,0 +1,33 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Icon sprite is taken from Baystation12 at https://github.com/Baystation12/Baystation12/blob/dev/icons/obj/tools/blueprints.dmi | Split into layers and grayscaled by ErhardSteinhauer (discord/github); Inhand sprites are taken from https://github.com/vgstation-coders/vgstation13/commit/dd749c36c416a6960782732cecf25e5ebac326e8 | Split into layers and grayscaled by ErhardSteinhauer (discord/github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "inhand-left-base",
"directions": 4
},
{
"name": "inhand-left-text",
"directions": 4
},
{
"name": "inhand-right-base",
"directions": 4
},
{
"name": "inhand-right-text",
"directions": 4
},
{
"name": "icon-base"
},
{
"name": "icon-text"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 B

View file

@ -0,0 +1,21 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CC-BY-SA-3.0",
"copyright": "made for sunrise",
"states": [
{
"name": "base"
},
{
"name": "mag-1"
},
{
"name": "stripe"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 749 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 756 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

View file

@ -0,0 +1,23 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "SUNRISE",
"size": {
"x": 64,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "bolt-open"
},
{
"name": "base"
},
{
"name": "mag-0"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 654 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 674 B

View file

@ -0,0 +1,35 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "SUNRISE",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "equipped-BACKPACK",
"directions": 4
},
{
"name": "wielded-inhand-left",
"directions": 4
},
{
"name": "wielded-inhand-right",
"directions": 4
},
{
"name": "equipped-SUITSTORAGE",
"directions": 4
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 621 B