* Мелочёчки (#761)

* optimized network stack (#763)

* [Add] Pouches (#762)

* Add: Pouches base and sprites

* Add: Micro-resprite, pouches in secdrobe

* Minus suffix

* Я как всегда кучу хуйни в один пакет сую (#766)

* а (#767)

* fix (#768)

---------

Co-authored-by: BIGZi0348 <118811750+BIGZi0348@users.noreply.github.com>
Co-authored-by: Valtos <valtos@spaces.ru>
Co-authored-by: keslik <114428094+keslik1313@users.noreply.github.com>
This commit is contained in:
Jabak
2024-11-03 21:39:14 +03:00
committed by GitHub
parent 4a94a25513
commit fd3f77f69f
32 changed files with 518 additions and 32 deletions

View File

@@ -160,7 +160,7 @@ public sealed partial class AdminVerbSystem
{
Text = "Сделать культистом",
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Rsi(new ("/Textures/White/Cult/interface.rsi"), "icon"),
Icon = new SpriteSpecifier.Rsi(new("/Textures/White/Cult/interface.rsi"), "icon"),
Act = () =>
{
_antag.ForceMakeAntag<CultRuleComponent>(target, DefaultCultRule);
@@ -174,7 +174,7 @@ public sealed partial class AdminVerbSystem
{
Text = Loc.GetString("admin-verb-text-make-changeling"),
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Texture(new ("/Textures/White/Actions/changeling.rsi/absorb.png")),
Icon = new SpriteSpecifier.Rsi(new("/Textures/White/Actions/changeling.rsi"), "absorb"),
Act = () =>
{
_antag.ForceMakeAntag<ChangelingRuleComponent>(target, DefaultChangelingRule);
@@ -188,7 +188,7 @@ public sealed partial class AdminVerbSystem
{
Text = Loc.GetString("admin-verb-text-make-wizard"),
Category = VerbCategory.Antag,
Icon = new SpriteSpecifier.Texture(new ("/Textures/Clothing/Head/Hats/wizardhat.rsi/icon.png")),
Icon = new SpriteSpecifier.Rsi(new("/Textures/Clothing/Head/Hats/wizardhat.rsi"), "icon"),
Act = () =>
{
_antag.ForceMakeAntag<WizardRuleComponent>(target, DefaultWizardRule);

View File

@@ -8,9 +8,9 @@ ent-FoodSnackCandyTurquoise = { ent-FoodSnackCandyBlack }
.desc = { ent-FoodSnackCandyBlack.desc }
ent-FoodPacketCandyBlackTrash = обёртка от конфеты
.desc = Фантик от конфеты, самой конфеты нигде нет.
ent-FoodPacketCandyGreenTrash = { ent-FoodSnackCandyBlackTrash }
.desc = { ent-FoodSnackCandyBlackTrash.desc }
ent-FoodPacketCandyRedTrash = { ent-FoodSnackCandyBlackTrash }
.desc = { ent-FoodSnackCandyBlackTrash.desc }
ent-FoodPacketCandyTurquoiseTrash = { ent-FoodSnackCandyBlackTrash }
.desc = { ent-FoodSnackCandyBlackTrash.desc }
ent-FoodPacketCandyGreenTrash = { ent-FoodPacketCandyBlackTrash }
.desc = { ent-FoodPacketCandyBlackTrash.desc }
ent-FoodPacketCandyRedTrash = { ent-FoodPacketCandyBlackTrash }
.desc = { ent-FoodPacketCandyBlackTrash.desc }
ent-FoodPacketCandyTurquoiseTrash = { ent-FoodPacketCandyBlackTrash }
.desc = { ent-FoodPacketCandyBlackTrash.desc }

View File

@@ -69,3 +69,6 @@ store-category-spells-attack = Атакующие заклинания
store-category-spells-defence = Защитные заклинания
store-category-spells-utility = Вспомогательные заклинания
store-category-magic-items = Магические предметы
ent-MobHulk = Халк
.desc = Зелёный.

View File

@@ -12,3 +12,16 @@ spray-painter-color-cyan = голубой
spray-painter-color-blue = синий
spray-painter-color-white = белый
spray-painter-color-black = чёрный
pipe-painter-color-red = красный
pipe-painter-color-yellow = жёлтый
pipe-painter-color-brown = коричневый
pipe-painter-color-green = зелёный
pipe-painter-color-cyan = голубой
pipe-painter-color-blue = синий
pipe-painter-color-white = белый
pipe-painter-color-black = чёрный
pipe-painter-color-waste = вытяжка
pipe-painter-color-distro = вентиляция
pipe-painter-color-air = воздух
pipe-painter-color-mix = смеситель

View File

@@ -0,0 +1,2 @@
marking-CatTailFeda = Акулий хвост
marking-CatTailFeda-m_waggingtail_shark_primary = Хвост

View File

@@ -0,0 +1,10 @@
ent-ClothingPouchMedical = медицинский подсумок
.desc = Прочный и вместительный подсумок, который предоставляет быстрый доступ к медикаментам. Белый крест призывает вас помогать окружающим.
ent-ClothingPouchGrenade = гранатный подсумок
.desc = Подсумок для переноски гранат, который надёжно защищает содержимое от погодных условий. Не очень актуально в космосе.
ent-ClothingPouchMagazine = подсумок для магазинов
.desc = Рассчитан на 4 винтовочных магазина, но способен переносить любые необходимые виды.
ent-ClothingPouchHandcuffHolder = чехол для наручников
.desc = Износостойкий чехол для переноски стяжек или наручников. Арестуй их всех!
ent-ClothingPouchCartridgeBelt = поясной патронташ
.desc = Складной патронташ для патронов пятидесятого калибра.

View File

@@ -364,7 +364,7 @@ uplink-snack-box-name = Коробка закусок Синдиката
uplink-snack-box-desc = Коробка с вкусными закусками и напитками, которые можно съесть в одиночку или разделить с командой. Включает одну нежеланную игрушку.
uplink-eshield-name = Энергетический щит
uplink-eshield-desc = Экзотический энергетический щит, отражающий лазерны, а также немного защищающий от пуль и других физических атак.
uplink-eshield-desc = Экзотический энергетический щит, отражающий лазеры, а также немного защищающий от пуль и других физических атак.
uplink-soap-name = Мыло
uplink-soap-desc = Не вызывающий доверия кусок мыла. Пахнет страхом.

View File

@@ -18,7 +18,9 @@
components:
- type: EntityTargetAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/absorb.png
icon:
sprite: White/Actions/changeling.rsi
state: absorb
event: !type:AbsorbDnaActionEvent
canTargetSelf: false
useDelay: 1
@@ -32,7 +34,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/transform.png
icon:
sprite: White/Actions/changeling.rsi
state: transform
event: !type:TransformActionEvent
useDelay: 1
@@ -44,7 +48,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/reviving_stasis.png
icon:
sprite: White/Actions/changeling.rsi
state: reviving_stasis
event: !type:RegenerateActionEvent
checkCanInteract: false
checkConsciousness: false
@@ -58,7 +64,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/lesser_form.png
icon:
sprite: White/Actions/changeling.rsi
state: lesser_form
event: !type:LesserFormActionEvent
useDelay: 1
checkCanInteract: false
@@ -72,7 +80,9 @@
components:
- type: EntityTargetAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/sting_extract.png
icon:
sprite: White/Actions/changeling.rsi
state: sting_extract
event: !type:ExtractionStingActionEvent
canTargetSelf: false
useDelay: 1
@@ -88,7 +98,9 @@
components:
- type: EntityTargetAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/sting_transform.png
icon:
sprite: White/Actions/changeling.rsi
state: sting_transform
event: !type:TransformStingActionEvent
canTargetSelf: false
useDelay: 1
@@ -104,7 +116,9 @@
components:
- type: EntityTargetAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/sting_blind.png
icon:
sprite: White/Actions/changeling.rsi
state: sting_blind
event: !type:BlindStingActionEvent
canTargetSelf: false
useDelay: 1
@@ -121,7 +135,9 @@
components:
- type: EntityTargetAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/sting_mute.png
icon:
sprite: White/Actions/changeling.rsi
state: sting_mute
event: !type:MuteStingActionEvent
canTargetSelf: false
useDelay: 1
@@ -137,7 +153,9 @@
components:
- type: EntityTargetAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/sting_hallucination.png
icon:
sprite: White/Actions/changeling.rsi
state: sting_hallucination
event: !type:HallucinationStingActionEvent
canTargetSelf: false
useDelay: 1
@@ -153,7 +171,9 @@
components:
- type: EntityTargetAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/sting_cryo.png
icon:
sprite: White/Actions/changeling.rsi
state: sting_cryo
event: !type:CryoStingActionEvent
canTargetSelf: false
useDelay: 1
@@ -170,7 +190,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/adrenaline_sacs.png
icon:
sprite: White/Actions/changeling.rsi
state: adrenaline_sacs
event: !type:AdrenalineSacsActionEvent
useDelay: 1
checkConsciousness: false
@@ -185,7 +207,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/fleshmend.png
icon:
sprite: White/Actions/changeling.rsi
state: fleshmend
event: !type:FleshmendActionEvent
useDelay: 1
checkConsciousness: false
@@ -200,7 +224,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/arm_blade.png
icon:
sprite: White/Actions/changeling.rsi
state: arm_blade
event: !type:ArmbladeActionEvent
useDelay: 1
- type: LesserFormRestricted
@@ -213,7 +239,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/shield.png
icon:
sprite: White/Actions/changeling.rsi
state: shield
event: !type:OrganicShieldActionEvent
useDelay: 1
- type: LesserFormRestricted
@@ -226,7 +254,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/armor.png
icon:
sprite: White/Actions/changeling.rsi
state: armor
event: !type:ChitinousArmorActionEvent
useDelay: 1
- type: LesserFormRestricted
@@ -239,7 +269,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/hive_head.png
icon:
sprite: White/Actions/changeling.rsi
state: hive_head
event: !type:HiveHeadActionEvent
useDelay: 1
checkCanInteract: false
@@ -253,7 +285,9 @@
components:
- type: InstantAction
itemIconStyle: NoItem
icon: White/Actions/changeling.rsi/tentacle_arm.png
icon:
sprite: White/Actions/changeling.rsi
state: tentacle_arm
event: !type:TentacleArmActionEvent
useDelay: 1
- type: LesserFormRestricted
@@ -267,7 +301,9 @@
- type: InstantAction
itemIconStyle: NoItem
checkCanInteract: false
icon: White/Actions/changeling.rsi/biodegrade.png
icon:
sprite: White/Actions/changeling.rsi
state: biodegrade
event: !type:BiodegradeActionEvent
useDelay: 1
@@ -280,7 +316,9 @@
- type: InstantAction
itemIconStyle: NoItem
checkCanInteract: false
icon: White/Actions/changeling.rsi/augmented_eyesight.png
icon:
sprite: White/Actions/changeling.rsi
state: augmented_eyesight
event: !type:AugmentedEyesightActionEvent
- type: entity
@@ -292,7 +330,9 @@
- type: InstantAction
itemIconStyle: NoItem
checkCanInteract: false
icon: White/Actions/changeling.rsi/dissonant_shriek.png
icon:
sprite: White/Actions/changeling.rsi
state: dissonant_shriek
event: !type:DissonantShriekActionEvent
useDelay: 1
- type: LesserFormRestricted

View File

@@ -4,6 +4,11 @@
ClothingBackpackSecurity: 4
ClothingBackpackSatchelSecurity: 4
ClothingBackpackDuffelSecurity: 4
ClothingPouchHandcuffHolder: 4
ClothingPouchMedical: 3
ClothingPouchCartridgeBelt: 3
ClothingPouchMagazine: 2
ClothingPouchGrenade: 2
ClothingHeadHatBeret: 4
ClothingHeadHatSecsoft: 4
ClothingHeadBandRed: 4

View File

@@ -0,0 +1,57 @@
- type: entity # WD feature
abstract: true
parent: Clothing
id: ClothingPouchBase
components:
- type: Sprite
state: icon
- type: Item
size: Normal
- type: Clothing
slots: [pocket, belt]
quickEquip: false
- type: PhysicalComposition
materialComposition:
Cloth: 35
- type: StaticPrice
price: 200
- type: EmitSoundOnPickup
sound:
path: /Audio/White/Web/walk1.ogg
- type: entity
abstract: true
parent: ClothingPouchBase
id: ClothingPouchStorageBase
components:
- type: Storage
maxItemSize: Small
defaultStorageOrientation: Horizontal
grid:
- 0,0,3,1
- type: Item
size: Normal
shape:
- 0, 0, 1, 2
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
- type: UserInterface
interfaces:
enum.StorageUiKey.Key:
type: StorageBoundUserInterface
- type: entity
abstract: true
parent: ClothingPouchBase
id: ClothingPouchAmmoProviderBase
components:
- type: BallisticAmmoProvider
mayTransfer: true
- type: Item
size: Ginormous
- type: ContainerContainer
containers:
ballistic-ammo: !type:Container

View File

@@ -0,0 +1,169 @@
- type: entity # WD feature
parent: ClothingPouchStorageBase
id: ClothingPouchMedical
name: medical pouch
description: Medical pouch.
components:
- type: Sprite
sprite: Clothing/Pouches/medical.rsi
- type: Clothing
sprite: Clothing/Pouches/medical.rsi
- type: Storage
grid:
- 0,0,1,4
whitelist:
tags:
- Brutepack
- Bloodpack
- Gauze
- Ointment
- CigPack
- PillCanister
- DiscreteHealthAnalyzer
components:
- Hypospray
- Injector
- Pill
- Patch
- Healing
- type: StaticPrice
price: 250
- type: Appearance
- type: entity
parent: ClothingPouchStorageBase
id: ClothingPouchGrenade
name: grenade pouch
description: Grenade pouch.
components:
- type: Sprite
sprite: Clothing/Pouches/grenade.rsi
- type: Clothing
sprite: Clothing/Pouches/grenade.rsi
- type: Storage
defaultStorageOrientation: Vertical
grid:
- 0,0,2,1
whitelist:
components:
- FlashOnTrigger
- SmokeOnTrigger
- ClusterGrenade
- ExplodeOnTrigger
- type: StaticPrice
price: 125
- type: Appearance
- type: entity
parent: ClothingPouchStorageBase
id: ClothingPouchMagazine
name: magazine pouch
description: Magazine pouch.
components:
- type: Sprite
sprite: Clothing/Pouches/magazine.rsi
- type: Clothing
sprite: Clothing/Pouches/magazine.rsi
- type: Storage
defaultStorageOrientation: Vertical
grid:
- 0,0,3,1
whitelist:
tags:
- MagazinePistol
- MagazineMagnum
- MagazineHeavyRifle
- MagazineCaselessRifle
- MagazineLightRifle
- MagazinePistolHighCapacity
- MagazinePistolCaselessRifle
- MagazineRifle
- MagazinePistolSubMachineGunTopMounted
- MagazineShotgun
- MagazineMagnumSubMachineGun
- MagazinePistolSubMachineGun
- Cartridge
- type: Appearance
- type: entity
parent: ClothingPouchStorageBase
id: ClothingPouchHandcuffHolder
name: handcuff holder
description: Handcuff holder.
components:
- type: EmitSoundOnPickup
sound:
path: /Audio/White/Object/Tools/Key/pickup.ogg
- type: EmitSoundOnDrop
sound:
path: /Audio/White/Object/Tools/Key/drop.ogg
- type: EmitSoundOnLand
sound:
path: /Audio/White/Object/Tools/Key/drop.ogg
- type: Sprite
sprite: Clothing/Pouches/handcuff_holder.rsi
layers:
- state: icon
- map: [ "enum.StorageContainerVisualLayers.Fill" ]
visible: false
- type: Clothing
sprite: Clothing/Pouches/handcuff_holder.rsi
- type: Storage
grid:
- 0,0,2,2
whitelist:
components:
- Handcuff
- type: StorageContainerVisuals
maxFillLevels: 1
fillBaseName: fill-
- type: StaticPrice
price: 110
- type: Appearance
- type: entity
parent: BaseItem
id: ClothingPouchCartridgeBelt
name: cartridge belt
description: Cartridge belt.
components:
- type: EmitSoundOnPickup
sound:
path: /Audio/White/Items/handling/component_pickup.ogg
- type: EmitSoundOnDrop
sound:
path: /Audio/White/Items/handling/component_drop.ogg
- type: EmitSoundOnLand
sound:
path: /Audio/White/Items/handling/component_drop.ogg
- type: BallisticAmmoProvider
mayTransfer: true
whitelist:
tags:
- ShellShotgun
capacity: 12
soundRack:
path: /Audio/White/Gun/Modules/insertmodule.ogg
- type: Item
size: Small
- type: ContainerContainer
containers:
ballistic-ammo: !type:Container
- type: Sprite
sprite: Clothing/Pouches/cartridge_belt.rsi
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: MagazineVisuals
magState: mag
steps: 5
zeroVisible: false
- type: Clothing
sprite: Clothing/Pouches/cartridge_belt.rsi
slots: [pocket, belt]
quickEquip: false
- type: StaticPrice
price: 150
- type: Appearance

View File

@@ -13,6 +13,7 @@
science: Structures/Doors/Airlocks/Standard/science.rsi
security: Structures/Doors/Airlocks/Standard/security.rsi
virology: Structures/Doors/Airlocks/Standard/virology.rsi
syndicate: Structures/Doors/Airlocks/Standard/syndicate.rsi
- type: AirlockGroup
id: Glass
@@ -20,14 +21,16 @@
stylePaths:
atmospherics: Structures/Doors/Airlocks/Glass/atmospherics.rsi
basic: Structures/Doors/Airlocks/Glass/basic.rsi
cargo: Structures/Doors/Airlocks/Glass/cargo.rsi
command: Structures/Doors/Airlocks/Glass/command.rsi
science: Structures/Doors/Airlocks/Glass/science.rsi
cargo: Structures/Doors/Airlocks/Glass/cargo.rsi
engineering: Structures/Doors/Airlocks/Glass/engineering.rsi
glass: Structures/Doors/Airlocks/Glass/glass.rsi
maintenance: Structures/Doors/Airlocks/Glass/maint.rsi
medical: Structures/Doors/Airlocks/Glass/medical.rsi
security: Structures/Doors/Airlocks/Glass/security.rsi
virology: Structures/Doors/Airlocks/Glass/virology.rsi
syndicate: Structures/Doors/Airlocks/Glass/syndicate.rsi
- type: AirlockGroup
id: Windoor
@@ -69,6 +72,7 @@
command: Command
engineering: Engineering
freezer: Civilian
glass: Civilian
maintenance: Civilian
medical: Medical
science: Science

View File

@@ -0,0 +1,9 @@
- type: marking
id: CatTailFeda
bodyPart: Tail
markingCategory: Tail
speciesRestriction: [Human, Felinid]
sponsorOnly: true
sprites:
- sprite: White/Mobs/Customization/feda.rsi
state: m_waggingtail_shark_primary

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

View File

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by Keslik",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "base"
},
{
"name": "mag-1"
},
{
"name": "mag-2"
},
{
"name": "mag-3"
},
{
"name": "mag-4"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

View File

@@ -0,0 +1,14 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by Keslik",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 B

View File

@@ -0,0 +1,17 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by Keslik",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "fill-1"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

View File

@@ -0,0 +1,14 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by Keslik",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 B

View File

@@ -0,0 +1,14 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by Keslik",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
}
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 570 B

After

Width:  |  Height:  |  Size: 723 B

View File

@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "By SS14 Giedi Prime",
"copyright": "By SS14 Giedi Prime, hive_head by .keki4",
"size": {
"x": 32,
"y": 32

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,89 @@
{
"version": 1,
"license": "CC-BY-SA-4.0",
"copyright": "Valtos",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "m_waggingtail_shark_primary",
"directions": 4,
"delays": [
[
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16
],
[
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16
],
[
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16
],
[
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16,
0.16
]
]
}
]
}