fix(bloodcult): Match wega exactly - remove SubBloodCult, add missing prototypes
Some checks failed
CRLF Check / CRLF Check (pull_request) Successful in 54s
RGA schema validator / YAML RGA schema validator (pull_request) Successful in 1m20s
RSI Validator / Validate RSIs (pull_request) Successful in 1m4s
Build & Test Map Renderer / build (ubuntu-latest) (pull_request) Successful in 5m3s
Map file schema validator / YAML map schema validator (pull_request) Successful in 10m45s
Check Merge Conflicts / check-conflicts (pull_request_target) Successful in 4s
Labels: PR / labeler (pull_request_target) Successful in 47s
Labels: Size / size-label (pull_request_target) Successful in 4s
Build & Test Map Renderer / Build & Test Debug (pull_request) Successful in 4s
YAML Linter / YAML Linter (pull_request) Failing after 10m13s
Build & Test Debug / build (ubuntu-latest) (pull_request) Failing after 24m30s
Build & Test Debug / Build & Test Debug (pull_request) Has been skipped
Test Packaging / Test Packaging (pull_request) Successful in 27m53s
- Remove SubBloodCult from all SubGamemodes variants (doesn't exist in wega) - Remove SubGamemodesRuleNoBloodCult entity (doesn't exist in wega) - Use SubGamemodesRule in BloodCult preset (matching wega) - Add missing weapon prototypes: sword.yml (Chainsword, ForceSword, etc) - Add missing weapon prototypes: knife.yml (CombatCrowbar, ArrhythmicKnife) - Add RuneMetal material prototype - Add metal.rsi and blood_dagger.rsi textures - Add ru-RU localization for stacks and materials - Replace stub C# files with exact wega versions (remove TODOs) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@@ -1,28 +1,24 @@
|
||||
// TODO: Port full Disease system from wega if disease mechanics are desired.
|
||||
// Currently this is a stub component to allow clothing prototypes to load.
|
||||
// The full system is in ss14-wega: Content.Server/_Wega/Disease/
|
||||
|
||||
namespace Content.Shared.Disease.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Value added to clothing to give its wearer
|
||||
/// protection against infection from diseases.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class DiseaseProtectionComponent : Component
|
||||
namespace Content.Shared.Disease.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Float value between 0 and 1, will be subtracted
|
||||
/// from the infection chance (which is base 0.7).
|
||||
/// Reference guide is a full biosuit w/gloves and mask
|
||||
/// should add up to exactly 0.7.
|
||||
/// Value added to clothing to give its wearer
|
||||
/// protection against infection from diseases
|
||||
/// </summary>
|
||||
[DataField("protection")]
|
||||
public float Protection = 0.1f;
|
||||
|
||||
/// <summary>
|
||||
/// Is the component currently being worn and affecting someone's disease
|
||||
/// resistance? Making the unequip check not totally CBT.
|
||||
/// </summary>
|
||||
public bool IsActive = false;
|
||||
[RegisterComponent]
|
||||
public sealed partial class DiseaseProtectionComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// Float value between 0 and 1, will be subtracted
|
||||
/// from the infection chance (which is base 0.7)
|
||||
/// Reference guide is a full biosuit w/gloves & mask
|
||||
/// should add up to exactly 0.7
|
||||
/// </summary>
|
||||
[DataField("protection")]
|
||||
public float Protection = 0.1f;
|
||||
/// <summary>
|
||||
/// Is the component currently being worn and affecting someone's disease
|
||||
/// resistance? Making the unequip check not totally CBT
|
||||
/// </summary>
|
||||
public bool IsActive = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,5 @@
|
||||
// TODO: Port full Surgery sterility system from wega if surgery infection mechanics are desired.
|
||||
// Currently this is a stub component to allow clothing prototypes to load.
|
||||
// The full system is in ss14-wega: Content.Server/_Wega/Surgery/SurgerySystem.Sterility.cs
|
||||
|
||||
namespace Content.Shared.Surgery.Components;
|
||||
|
||||
/// <summary>
|
||||
/// Clothing component that provides a sterility modifier for surgery.
|
||||
/// </summary>
|
||||
[RegisterComponent]
|
||||
public sealed partial class ClothingSterilityComponent : Component
|
||||
{
|
||||
|
||||
1
Resources/Locale/ru-RU/_wega/materials/materials.ftl
Normal file
@@ -0,0 +1 @@
|
||||
materials-runemetal = рунический метал
|
||||
27
Resources/Locale/ru-RU/_wega/stack/stacks.ftl
Normal file
@@ -0,0 +1,27 @@
|
||||
stack-runemetal =
|
||||
{ $amount ->
|
||||
[1] лист
|
||||
[few] листа
|
||||
*[other] листов
|
||||
} рунической стали
|
||||
stack-capacitor =
|
||||
{ $amount ->
|
||||
[1] конденсатор
|
||||
[few] конденсатора
|
||||
*[other] конденсаторов
|
||||
}
|
||||
stack-matter-bin =
|
||||
{ $amount ->
|
||||
[1] ёмкость материи
|
||||
[few] ёмкостей материи
|
||||
*[other] ёмкостей материи
|
||||
}
|
||||
stack-sepia-floor = стальная светлая плитка
|
||||
|
||||
stack-tyriumpack = пакет тириума
|
||||
stack-tourniquet =
|
||||
{ $amount ->
|
||||
[1] турникет
|
||||
[few] турникета
|
||||
*[other] турникетов
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
- type: entity
|
||||
name: combat crowbar
|
||||
parent: [BaseKnife, BaseRestrictedContraband]
|
||||
id: CombatCrowbar
|
||||
description: A deadly knife designed for close combat. Thanks to the improved handle, it also works as a crowbar.
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- CombatKnife
|
||||
- Knife
|
||||
- Crowbar
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/combat_crowbar.rsi
|
||||
state: icon
|
||||
- type: MeleeWeapon
|
||||
wideAnimationRotation: -135
|
||||
attackRate: 1.5
|
||||
damage:
|
||||
types:
|
||||
Slash: 12
|
||||
- type: EmbeddableProjectile
|
||||
sound: /Audio/Weapons/star_hit.ogg
|
||||
offset: -0.15,0.0
|
||||
- type: LandAtCursor
|
||||
- type: DamageOtherOnHit
|
||||
damage:
|
||||
types:
|
||||
Slash: 10
|
||||
- type: Item
|
||||
sprite: _Wega/Objects/Weapons/Melee/combat_crowbar.rsi
|
||||
storedSprite:
|
||||
state: storage
|
||||
sprite: _Wega/Objects/Weapons/Melee/combat_crowbar.rsi
|
||||
- type: DisarmMalus
|
||||
malus: 0.225
|
||||
- type: ThrowingAngle
|
||||
angle: 225
|
||||
- type: Tool
|
||||
qualities:
|
||||
- Prying
|
||||
useSound:
|
||||
path: /Audio/Items/crowbar.ogg
|
||||
- type: Prying
|
||||
- type: ToolTileCompatible
|
||||
|
||||
- type: entity
|
||||
parent: BaseKnife
|
||||
id: ArrhythmicKnife
|
||||
name: arrhythmic knife
|
||||
description: They say that fear kills the mind, but sticking a knife in your head also works.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi
|
||||
state: icon
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/arrhythmic_knife.rsi
|
||||
slots:
|
||||
- Belt
|
||||
- type: MeleeWeapon
|
||||
attackRate: 2.25
|
||||
damage:
|
||||
types:
|
||||
Slash: 15
|
||||
soundHit:
|
||||
path: /Audio/Weapons/bladeslice.ogg
|
||||
- type: EmbeddableProjectile
|
||||
sound: /Audio/Weapons/star_hit.ogg
|
||||
offset: -0.15,0.0
|
||||
- type: LandAtCursor
|
||||
- type: DamageOtherOnHit
|
||||
damage:
|
||||
types:
|
||||
Slash: 15
|
||||
- type: DisarmMalus
|
||||
malus: 0.225
|
||||
- type: ThrowingAngle
|
||||
angle: 225
|
||||
- type: ClothingSpeedModifier
|
||||
walkModifier: 1.1
|
||||
sprintModifier: 1.1
|
||||
- type: HeldSpeedModifier
|
||||
@@ -0,0 +1,166 @@
|
||||
- type: entity
|
||||
parent: Claymore
|
||||
id: WeaponChainsword
|
||||
name: chainsword
|
||||
description: Do not allow the heretic vulpa to live.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/chainsword.rsi
|
||||
- type: MeleeWeapon
|
||||
soundHit:
|
||||
path: /Audio/Weapons/chainsaw.ogg
|
||||
params:
|
||||
volume: -3
|
||||
- type: Item
|
||||
storedSprite:
|
||||
state: icon
|
||||
sprite: _Wega/Objects/Weapons/Melee/chainsword.rsi
|
||||
shape:
|
||||
- 0,0,0,3
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/chainsword.rsi
|
||||
slots:
|
||||
- Belt
|
||||
|
||||
- type: entity
|
||||
parent: Claymore
|
||||
id: WeaponForceSword
|
||||
name: force sword
|
||||
description: It shines with the power of faith. Or the energy of a battery.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/force_sword.rsi
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/force_sword.rsi
|
||||
- type: Item
|
||||
storedSprite:
|
||||
state: icon
|
||||
sprite: _Wega/Objects/Weapons/Melee/force_sword.rsi
|
||||
|
||||
- type: entity
|
||||
parent: [ Katana, Claymore ]
|
||||
id: WeaponHanzoSteel
|
||||
name: force sword
|
||||
description: This katana can cut through a holy Claymore. Along.
|
||||
components:
|
||||
- type: Item
|
||||
storedSprite:
|
||||
state: icon
|
||||
sprite: Objects/Weapons/Melee/katana.rsi
|
||||
|
||||
- type: entity
|
||||
parent: Claymore
|
||||
id: WeaponMultiverseSword
|
||||
name: multiverse sword
|
||||
description: Once a messenger of interdimensional war, now it's just a dormant souvenir. But still sharp.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/multiverse_sword.rsi
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/multiverse_sword.rsi
|
||||
- type: Item
|
||||
storedSprite:
|
||||
state: icon
|
||||
sprite: _Wega/Objects/Weapons/Melee/multiverse_sword.rsi
|
||||
|
||||
- type: entity
|
||||
parent: BaseSword
|
||||
id: WeaponUnrealSword
|
||||
name: UNREAL SORD
|
||||
description: He is so indescribably HOLY that you will have problems just holding him.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/unreal_sword.rsi
|
||||
- type: NullRod
|
||||
firstNullDamage: 99.99
|
||||
nullDamage: 0.01
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
Asphyxiation: 0.42
|
||||
Bloodloss: 0.31
|
||||
Blunt: 0.15
|
||||
Cellular: 0.27
|
||||
Caustic: 0.33
|
||||
Cold: 0.18
|
||||
Heat: 0.22
|
||||
Piercing: 0.11
|
||||
Poison: 0.49
|
||||
Radiation: 0.25
|
||||
Shock: 0.19
|
||||
Slash: 0.14
|
||||
Structural: 0.01
|
||||
Holy: 1.07
|
||||
soundHit:
|
||||
path: /Audio/_Wega/Effects/null.ogg
|
||||
- type: PointLight
|
||||
radius: 1.2
|
||||
energy: 2.20 # ///...\\\
|
||||
castShadows: false
|
||||
color: "#0639f9"
|
||||
- type: Item
|
||||
shape:
|
||||
- 0,0,0,3
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/unreal_sword.rsi
|
||||
slots:
|
||||
- Belt
|
||||
|
||||
- type: entity
|
||||
parent: BaseSword
|
||||
id: WeaponReaperScythe
|
||||
name: reaper scythe
|
||||
description: Don't ask who the bell is tolling for...
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/reaper_scythe.rsi
|
||||
- type: NullRod
|
||||
- type: MeleeWeapon
|
||||
attackRate: 2
|
||||
damage:
|
||||
types:
|
||||
Slash: 17.5
|
||||
soundHit:
|
||||
path: /Audio/Weapons/bladeslice.ogg
|
||||
- type: Item
|
||||
shape:
|
||||
- 0,0,1,3
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/reaper_scythe.rsi
|
||||
slots:
|
||||
- Back
|
||||
- SuitStorage
|
||||
- type: DisarmMalus
|
||||
|
||||
- type: entity
|
||||
parent: WeaponReaperScythe
|
||||
id: WeaponHighFrequencyBlade
|
||||
name: high frequency blade
|
||||
description: Bad references are the DNA of the soul.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/hfrequency_sword.rsi
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/hfrequency_sword.rsi
|
||||
|
||||
- type: entity
|
||||
parent: WeaponReaperScythe
|
||||
id: WeaponPossessedBlade
|
||||
name: possessed blade
|
||||
description: When the station is in chaos, it's nice to have a friend by your side.
|
||||
components:
|
||||
- type: Sprite
|
||||
sprite: _Wega/Objects/Weapons/Melee/possessed_blade.rsi
|
||||
- type: Clothing
|
||||
sprite: _Wega/Objects/Weapons/Melee/possessed_blade.rsi
|
||||
slots:
|
||||
- Belt
|
||||
- type: GhostRole
|
||||
allowSpeech: true
|
||||
makeSentient: true
|
||||
name: ghost-role-information-possessed-blade-name
|
||||
description: ghost-role-information-possessed-blade-description
|
||||
rules: ghost-role-information-familiar-rules
|
||||
raffle:
|
||||
settings: default
|
||||
- type: GhostTakeoverAvailable
|
||||
@@ -0,0 +1,7 @@
|
||||
- type: material
|
||||
id: RuneMetal
|
||||
stackEntity: SheetRuneMetal1
|
||||
name: materials-runemetal
|
||||
icon: { sprite: _Wega/Objects/Materials/Sheets/metal.rsi, state: runemetal }
|
||||
color: "#3f4857"
|
||||
price: 0.05
|
||||
@@ -8,7 +8,7 @@
|
||||
showInVote: false
|
||||
rules:
|
||||
- BloodCult
|
||||
- SubGamemodesRuleNoBloodCult
|
||||
- SubGamemodesRule
|
||||
- BasicStationEventScheduler
|
||||
- MeteorSwarmScheduler
|
||||
- SpaceTrafficControlEventScheduler
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Wylab SubGamemodes overrides - adds Vampire, BloodBrothers, and BloodCult to all variants
|
||||
# Wylab SubGamemodes overrides - adds Vampire and BloodBrothers to all variants
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
@@ -16,8 +16,6 @@
|
||||
prob: 0.3
|
||||
- id: SubBloodBrothers
|
||||
prob: 0.3
|
||||
- id: SubBloodCult
|
||||
prob: 0.05
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
@@ -33,8 +31,6 @@
|
||||
prob: 0.3
|
||||
- id: SubBloodBrothers
|
||||
prob: 0.3
|
||||
- id: SubBloodCult
|
||||
prob: 0.05
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
@@ -50,8 +46,6 @@
|
||||
prob: 0.3
|
||||
- id: SubBloodBrothers
|
||||
prob: 0.3
|
||||
- id: SubBloodCult
|
||||
prob: 0.05
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
@@ -65,22 +59,3 @@
|
||||
prob: 0.3
|
||||
- id: SubBloodBrothers
|
||||
prob: 0.3
|
||||
- id: SubBloodCult
|
||||
prob: 0.05
|
||||
|
||||
- type: entity
|
||||
parent: BaseGameRule
|
||||
id: SubGamemodesRuleNoBloodCult
|
||||
components:
|
||||
- type: SubGamemodes
|
||||
rules:
|
||||
- id: Thief
|
||||
prob: 0.5
|
||||
- id: SubWizard
|
||||
prob: 0.05
|
||||
- id: Xenoborgs
|
||||
prob: 0.05
|
||||
- id: SubVampire
|
||||
prob: 0.3
|
||||
- id: SubBloodBrothers
|
||||
prob: 0.3
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Sprite taken from https://github.com/ss220-space/Paradise & Resprite created by svarshiksatanist",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "runemetal"
|
||||
},
|
||||
{
|
||||
"name": "runemetal_2"
|
||||
},
|
||||
{
|
||||
"name": "runemetal_3"
|
||||
},
|
||||
{
|
||||
"name": "runemetal-inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "runemetal-inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
|
After Width: | Height: | Size: 524 B |
|
After Width: | Height: | Size: 528 B |
|
After Width: | Height: | Size: 784 B |
|
After Width: | Height: | Size: 869 B |
|
After Width: | Height: | Size: 890 B |
|
After Width: | Height: | Size: 368 B |
|
After Width: | Height: | Size: 531 B |
|
After Width: | Height: | Size: 549 B |
|
After Width: | Height: | Size: 561 B |
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Created by discord:dragondidlo",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "icon"
|
||||
},
|
||||
{
|
||||
"name": "equipped-BELT",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-left",
|
||||
"directions": 4
|
||||
},
|
||||
{
|
||||
"name": "inhand-right",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||