diff --git a/Content.Server/SS220/FractWar/FractWarRuleSystem.cs b/Content.Server/SS220/FractWar/FractWarRuleSystem.cs
index 3c5b176c44cd..d18d78826072 100644
--- a/Content.Server/SS220/FractWar/FractWarRuleSystem.cs
+++ b/Content.Server/SS220/FractWar/FractWarRuleSystem.cs
@@ -26,13 +26,19 @@ protected override void AppendRoundEndText(EntityUid uid, FractWarRuleComponent
}
}
+ if (fractionsWinPoints.Count <= 0)
+ return;
+
+ fractionsWinPoints = fractionsWinPoints.OrderByDescending(pair => pair.Value).ToDictionary(pair => pair.Key, pair => pair.Value);
+
+ args.AddLine("");
foreach (var (fraction, winPoints) in fractionsWinPoints)
{
args.AddLine(Loc.GetString("fractwar-round-end-fraction-points", ("fraction", Loc.GetString(fraction)), ("points", (int)winPoints)));
}
//Sort by value
- fractionsWinPoints = fractionsWinPoints.OrderByDescending(pair => pair.Value).ToDictionary(pair => pair.Key, pair => pair.Value);
+ args.AddLine("");
args.AddLine(Loc.GetString("fractwar-round-end-winner", ("fraction", Loc.GetString(fractionsWinPoints.First().Key))));
}
}
diff --git a/Content.Shared/SS220/EventCapturePoint/EventCapturePointComponent.cs b/Content.Shared/SS220/EventCapturePoint/EventCapturePointComponent.cs
index db37e4866f97..a49fd13d3f11 100644
--- a/Content.Shared/SS220/EventCapturePoint/EventCapturePointComponent.cs
+++ b/Content.Shared/SS220/EventCapturePoint/EventCapturePointComponent.cs
@@ -20,16 +20,16 @@ public sealed partial class EventCapturePointComponent : Component
public float FlagRemovalImpulse = 35;
///
- /// How many points does this pedestal give
+ /// How many points does this pedestal give per
///
[DataField]
public float WinPoints = 1f;
///
- /// Time to hold a capture point to get win points
+ /// How many seconds need to hold a capture point to get win points
///
[DataField]
- public TimeSpan RetentionTimeForWP = TimeSpan.FromSeconds(300);
+ public float RetentionTimeForWP = 60;
[ViewVariables]
public Dictionary PointRetentionTime = new();
diff --git a/Resources/Locale/ru-RU/ss220/game-ticking/game-presets/preset-FractWar.ftl b/Resources/Locale/ru-RU/ss220/game-ticking/game-presets/preset-FractWar.ftl
index d5f4ad8e500f..b08f41883926 100644
--- a/Resources/Locale/ru-RU/ss220/game-ticking/game-presets/preset-FractWar.ftl
+++ b/Resources/Locale/ru-RU/ss220/game-ticking/game-presets/preset-FractWar.ftl
@@ -1,6 +1,6 @@
fractwar-preset-name = Война фракций
fractwar-preset-description = Ввиду неизвестных никому обстоятельств на бедной космической станции столкнутся три силы: Синдикат, НТ и СССП. Приведите свою фракцию к победе!
-fractwar-round-end-score-points = [color=yellow][font size=16]Итоговые очки![/font][/color]
+fractwar-round-end-score-points = [color=yellow][font size=18]Итоговые очки![/font][/color]
fractwar-round-end-fraction-points = { $fraction } - { $points }
-fractwar-round-end-winner = { $fraction } становится победителем!
+fractwar-round-end-winner = [font size=14]{ $fraction } становится победителем![/font]
diff --git a/Resources/Locale/ru-RU/ss220/prototypes/entities/structures/specific/flags.ftl b/Resources/Locale/ru-RU/ss220/prototypes/entities/structures/specific/flags.ftl
index 9757b55fba29..25fd0d0b1b4e 100644
--- a/Resources/Locale/ru-RU/ss220/prototypes/entities/structures/specific/flags.ftl
+++ b/Resources/Locale/ru-RU/ss220/prototypes/entities/structures/specific/flags.ftl
@@ -10,6 +10,6 @@ ent-EventCaptureFlagSynd = флаг Синдиката
ent-EventCaptureFlagUssp = флаг СССП
.desc = { ent-EventCaptureFlagBase.desc }
-flag-fraction-NT = [color=#046094]Нанотрейзен[/color]
-flag-fraction-Synd = [color=crimson]Синдикат[/color]
+flag-fraction-NT = [color=#0c82c7]Нанотрейзен[/color]
+flag-fraction-Synd = [color=#8f4a4b]Синдикат[/color]
flag-fraction-Ussp = [color=#e30000]СССП[/color]
diff --git a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Guns/turrets.yml b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Guns/turrets.yml
index 2e65aa51c0d0..d2ce175126ee 100644
--- a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Guns/turrets.yml
+++ b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Guns/turrets.yml
@@ -12,29 +12,48 @@
- type: NpcFactionMember
factions:
- EbentUssp
+ - type: Damageable
+ damageModifierSet: FractWarTurret
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 500
+ behaviors:
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - !type:PlaySoundBehavior
+ sound:
+ collection: MetalGlassBreak
+ - !type:SpawnEntitiesBehavior
+ spawn:
+ SheetSteel1:
+ min: 3
+ max: 5
- type: entity
- parent: BaseWeaponTurret
+ parent: WeaponTurretFractWarUssp
id: WeaponTurretFractWarNanoTrasen
suffix: Shitspawn, Ebent, FractWar, NanoTrasen
name: Баллистическая турель ССО
description: Автоматическая турель с баллистическим пулемётом.
components:
- - type: BallisticAmmoProvider
- capacity: 250
- type: NpcFactionMember
factions:
- EbentNanoTrasen
- type: entity
- parent: BaseWeaponTurret
+ parent: WeaponTurretFractWarUssp
id: WeaponTurretFractWarIronSquad
suffix: Shitspawn, Ebent, FractWar, IronSquad
name: Баллистическая турель Железного отряда
description: Автоматическая турель с баллистическим пулемётом.
components:
- - type: BallisticAmmoProvider
- capacity: 250
- type: NpcFactionMember
factions:
- EbentIronSquad
+
+- type: damageModifierSet
+ id: FractWarTurret
+ coefficients:
+ Piercing: 0.7
diff --git a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Melee/admirals_weapon.yml b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Melee/admirals_weapon.yml
index 27852b7bb4f8..f21e8b6c3f32 100644
--- a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Melee/admirals_weapon.yml
+++ b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/Weapons/Melee/admirals_weapon.yml
@@ -1,4 +1,29 @@
# © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt
+- type: entity
+ parent: EnergySwordDouble
+ id: EnergySwordDoubleIronSquad
+ suffix: Shitspawn, Ebent, FractWar
+ components:
+ - type: ItemToggleMeleeWeapon
+ activatedDamage:
+ types:
+ Slash: 12
+ Heat: 12
+ Structural: 15
+ - type: MeleeWeapon
+ wideAnimationRotation: -135
+ attackRate: 1.5
+ angle: 100
+ damage:
+ types:
+ - type: Reflect
+ reflectProb: 0.80 #ss220 ttkTweaks
+ reflects:
+ - NonEnergy
+ - Energy #SS220-FixReflects
+ spread: 45
+ reflectProbProjectile: 0.70 #ss220lowTTKUpdate
+ spreadProjectile: 180
# USSP
- type: entity
@@ -36,25 +61,6 @@
reflects: Energy
reflectProb: .95
spread: 75
- - type: Blocking
- passiveBlockModifier:
- coefficients:
- Blunt: 0.3
- Slash: 0.3
- Piercing: 0.3
- Heat: 0.3
- Stamina: 0.3
- activeBlockModifier:
- coefficients:
- Blunt: 0.9
- Slash: 0.9
- Piercing: 0.9
- Heat: 0.9
- Stamina: 0.9
- flatReductions:
- Heat: 1
- Piercing: 1
- activeBlockFraction: 0.75 #ss220-revorkblock
- type: UseDelay
delay: 1
- type: ItemToggleMeleeWeapon
@@ -117,25 +123,6 @@
reflects: Energy
reflectProb: .95
spread: 75
- - type: Blocking
- passiveBlockModifier:
- coefficients:
- Blunt: 0.3
- Slash: 0.3
- Piercing: 0.3
- Heat: 0.3
- Stamina: 0.3
- activeBlockModifier:
- coefficients:
- Blunt: 0.9
- Slash: 0.9
- Piercing: 0.9
- Heat: 0.9
- Stamina: 0.9
- flatReductions:
- Heat: 1
- Piercing: 1
- activeBlockFraction: 0.75 #ss220-revorkblock
- type: UseDelay
delay: 1
- type: ItemToggleMeleeWeapon
diff --git a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/jobs_ERT.yml b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/jobs_ERT.yml
index 675b9e4b02ae..9b88a8ca64b0 100644
--- a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/jobs_ERT.yml
+++ b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/jobs_ERT.yml
@@ -44,7 +44,6 @@
- id: WeaponRevolverMatebaSouvenir
- id: ClothingUniformJumpsuitColorBlack
- id: ClothingUniformJumpsuitCentcomOfficerBlack
- - id: ClothingBackpackERTLeader
- id: ClothingNeckPolarIMedal
amount: 2
- id: ClothingNeckPolarIIMedal
@@ -65,7 +64,6 @@
access: [[ Command ]]
- type: StorageFill
contents:
- - id: WeaponRevolverMatebaSouvenir
- id: ClothingHeadHatBeretCmo
- id: BoxBeaker
amount: 2
@@ -76,7 +74,6 @@
- id: ClothingOuterCoatLabCmo
- id: ClothingCloakCmo
- id: ClothingNeckCloakNanotrasen
- - id: ClothingBackpackERTMedical
- id: ClothingUniformJumpsuitColorBlack
- id: ClothingNeckMantleERTLeader
- id: ClothingEyesHudMedSec
@@ -93,7 +90,6 @@
access: [[ Command ]]
- type: StorageFill
contents:
- - id: WeaponRevolverMatebaSouvenir
- id: JetpackVoidFilled
- id: ClothingNeckMantleERTLeader
- id: ClothingEyesGlassesMeson
@@ -101,11 +97,11 @@
- id: ClothingNeckCloakCe
- id: ClothingNeckCloakNanotrasen
- id: ClothingBeltChiefEngineerFilled
- - id: ClothingBackpackERTEngineer
- id: ClothingUniformJumpsuitColorBlack
- id: JawsOfLife
- id: RCD
- id: RCDAmmo
+ amount: 4
- id: JobIconChangerNT
- type: entity
@@ -135,13 +131,13 @@
back: ClothingBackpackSpecOpsFilled
shoes: ClothingShoesBootsMagBlinding
mask: ClothingMaskGasERT
- eyes: ClothingEyesGlassesSecurity
+ eyes: ClothingEyesGlassesMeson
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTAdmiral
suitstorage: OxygenTankFilled
neck: ClothingNeckCloakCentcomBlack
id: SpecOpsPDALeader
- ears: ClothingHeadsetAltCentCom
+ ears: ClothingHeadsetAltCentComm
belt: ClothingBeltWebbingSpecOpsFilled
pocket1: WeaponRevolverDeckardAP
pocket2: EnergySaberNT
@@ -170,6 +166,8 @@
- type: NpcFactionMember
factions:
- EbentNanoTrasen
+ - type: RandomHumanoidAppearance
+ randomizeName: false
- type: job
id: SpecOpsLeader
@@ -197,7 +195,7 @@
outerClothing: ClothingOuterHardsuitERTCE
suitstorage: OxygenTankFilled
id: SpecOpsPDAEngineer
- ears: ClothingHeadsetAltCentCom
+ ears: ClothingHeadsetAltCentComm
belt: ClothingBeltWebbingSpecOpsFilled
pocket1: WeaponRevolverDeckardAP
pocket2: EnergySaberNT
@@ -226,6 +224,8 @@
- type: NpcFactionMember
factions:
- EbentNanoTrasen
+ - type: RandomHumanoidAppearance
+ randomizeName: false
- type: job
id: SpecOpsEngineer
@@ -249,11 +249,11 @@
shoes: ClothingShoesBootsMagBlinding
mask: ClothingMaskGasERT
eyes: ClothingEyesGlassesSecurity
- gloves: ClothingHandsGlovesNitrile
+ gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTMed
suitstorage: OxygenTankFilled
id: SpecOpsPDACorpsman
- ears: ClothingHeadsetAltCentCom
+ ears: ClothingHeadsetAltCentComm
belt: ClothingBeltWebbingSpecOpsFilled
pocket1: WeaponRevolverDeckardAP
pocket2: EnergySaberNT
@@ -279,6 +279,7 @@
- type: GhostRole
makeSentient: true
name: Парамедик Специальных Операций
+ job: SpecOpsCorpsman
- type: GhostTakeoverAvailable
- type: EventRole
roleGroupKey: SpecOps
@@ -286,6 +287,8 @@
- type: NpcFactionMember
factions:
- EbentNanoTrasen
+ - type: RandomHumanoidAppearance
+ randomizeName: false
- type: job
id: SpecOpsCorpsman
@@ -309,11 +312,11 @@
shoes: ClothingShoesBootsMagBlinding
mask: ClothingMaskGasERT
eyes: ClothingEyesHudMedical
- gloves: ClothingHandsGlovesNitrile
+ gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTCMO
suitstorage: OxygenTankFilled
id: SpecOpsPDACMO
- ears: ClothingHeadsetAltCentCom
+ ears: ClothingHeadsetAltCentComm
belt: ClothingBeltWebbingSpecOpsFilled
pocket1: WeaponRevolverDeckardAP
pocket2: EnergySaberNT
@@ -339,6 +342,8 @@
- type: EventRole
roleGroupKey: SpecOps
statusIcon: NTMedicalOfficer
+ - type: RandomHumanoidAppearance
+ randomizeName: false
- type: NpcFactionMember
factions:
- EbentNanoTrasen
@@ -364,12 +369,11 @@
back: ClothingBackpackSpecOpsFilled
shoes: ClothingShoesBootsMagBlinding
mask: ClothingMaskGasERT
- eyes: ClothingEyesHudMedical
gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitERTSoldier
suitstorage: OxygenTankFilled
id: SpecOpsPDAFigher
- ears: ClothingHeadsetAltCentCom
+ ears: ClothingHeadsetAltCentComm
belt: ClothingBeltWebbingSpecOpsFilled
pocket1: WeaponRevolverDeckardAP
pocket2: EnergySaberNT
@@ -395,7 +399,10 @@
- type: GhostRole
makeSentient: true
name: Рядовой Специальных Операций
+ job: SpecOpsFighter
- type: GhostTakeoverAvailable
+ - type: RandomHumanoidAppearance
+ randomizeName: false
- type: EventRole
roleGroupKey: SpecOps
statusIcon: NTCombatant
diff --git a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/other_Items_ERT.yml b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/other_Items_ERT.yml
index 63efe18de5de..49ff891666d0 100644
--- a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/other_Items_ERT.yml
+++ b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ert/other_Items_ERT.yml
@@ -46,7 +46,6 @@
- id: FlashlightSeclite
- id: PowerCellHyper
- id: WeaponBlaster
- - id: MedicatedSuture
- id: WeaponPulsePistol
- id: Stimpack
- type: ExplosionResistance
diff --git a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/iron/jobs_IronSquad.yml b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/iron/jobs_IronSquad.yml
index 2e6f4d72f879..a9a9f98d67c7 100644
--- a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/iron/jobs_IronSquad.yml
+++ b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/iron/jobs_IronSquad.yml
@@ -63,8 +63,6 @@
id: SyndiPDAAgentLeader
ears: ClothingHeadsetAltSyndicateEbent
belt: ClothingBeltMilitaryWebbingEbent_IronSquad
- pocket1: FreedomImplanter
- pocket2: StorageImplanter
- type: entity
id: RandomHumanoidSpawnerEbentIronSquadLeader
@@ -116,25 +114,16 @@
access: []
- type: StorageFill
contents:
- - id: ClothingHeadHatChameleon
- - id: ClothingUniformJumpsuitPyjamaSyndicateRed
- - id: ClothingUniformJumpsuitPyjamaSyndicatePink
- - id: ClothingUniformJumpskirtSyndieFormalDress
- - id: ClothingUniformJumpsuitSyndieFormal
- - id: ClothingOuterCoatSyndieCap
- - id: ClothingHeadHatSyndie
- - id: ClothingMaskNeckGaiter
- - id: ClothingUniformJumpskirtOperative
- - id: ClothingUniformJumpsuitOperative
- id: SyndicateJawsOfLife
- - id: ClothingHeadHatBeretMerc
- id: ClothingNeckSyndicakePin
- - id: ClothingNeckCloakHerald
- - id: ClothingNeckCloakGoliathCloak
- - id: ClothingNeckScarfStripedSyndieRed
- id: ClothingBeltChiefEngineerFilled
- id: JetpackVoidFilled
- id: JobIconChangerIOT
+ - id: ClothingBackpackChameleonFill
+ - id: RCD
+ - id: RCDAmmo
+ amount: 4
+ - id: ClothingEyesGlassesMeson
- type: entity
parent: ClothingBackpackNuclear
@@ -155,10 +144,6 @@
amount: 2
- id: CombatMedipen
- id: EnergySword
- - id: RCD
- - id: EnergyShield
- - id: RCDAmmo
- amount: 3
- id: DnaScramblerImplanter
- id: ExGrenade
@@ -177,8 +162,6 @@
id: SyndiPDAAgentEngineer
ears: ClothingHeadsetAltSyndicateEbent
belt: ClothingBeltMilitaryWebbingEbent_IronSquad
- pocket1: FreedomImplanter
- pocket2: StorageImplanter
- type: entity
id: RandomHumanoidSpawnerEbentIronSquadEngineer
@@ -246,6 +229,7 @@
- id: EmergencyRollerBedSpawnFolded
amount: 2
- id: ClothingEyesHudMedSec
+ - id: SyndiHypo
- type: entity
parent: ClothingBackpackNuclear
@@ -264,7 +248,6 @@
- id: MagazinePistolSubMachineGun
amount: 2
- id: EnergySword
- - id: SyndiHypo
- id: DnaScramblerImplanter
- id: ExGrenade
@@ -275,7 +258,7 @@
back: ClothingBackpackNuclearCorpsman
shoes: ClothingShoesBootsMagSyndieEbent
mask: ClothingMaskGasNuclear
- gloves: ClothingHandsGlovesNitrile
+ gloves: ClothingHandsGlovesCombat
neck: ClothingCloakIronSquadMed
outerClothing: ClothingOuterHardsuitIronMed
suitstorage: OxygenTankFilled
@@ -360,6 +343,7 @@
amount: 2
- id: ClothingEyesHudMedSec
- id: JobIconChangerIOT
+ - id: SyndiHypo
- type: entity
parent: ClothingBackpackNuclear
@@ -380,9 +364,6 @@
amount: 2
- id: CombatMedipen
- id: EnergySword
- - id: BoxDeathRattleImplants
- - id: SyndiHypo
- - id: EnergyShield
- id: DnaScramblerImplanter
- id: ExGrenade
@@ -393,15 +374,14 @@
back: ClothingBackpackNuclearCMO
shoes: ClothingShoesBootsMagSyndieEbent
mask: ClothingMaskGasNuclear
- gloves: ClothingHandsGlovesNitrile
+ eyes: ClothingEyesHudMedical
+ gloves: ClothingHandsGlovesCombat
outerClothing: ClothingOuterHardsuitIronCMO
suitstorage: OxygenTankFilled
neck: ClothingCloakIronSquadCMO
id: SyndiPDAAgentCMO
ears: ClothingHeadsetAltSyndicateEbent
belt: ClothingBeltMilitaryWebbingEbent_IronSquad
- pocket1: FreedomImplanter
- pocket2: StorageImplanter
- type: entity
id: RandomHumanoidSpawnerEbentIronSquadCMO
diff --git a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/other_Items.yml b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/other_Items.yml
index a93f68d35388..c8164ccb1c7b 100644
--- a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/other_Items.yml
+++ b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/other_Items.yml
@@ -70,6 +70,10 @@
components:
- type: StorageFill
contents:
+ - id: RCD
+ amount: 5
+ - id: RCDAmmo
+ amount: 20
- id: Multitool
amount: 3
- id: MaterialDurathread
@@ -79,31 +83,31 @@
- id: HolofanProjector
amount: 5
- id: JetpackBlackFilled
- amount: 10
+ amount: 4
- id: JawsOfLife
amount: 10
- id: GasAnalyzer
amount: 3
- id: SheetPlasteel
- amount: 20
+ amount: 10
- id: SheetSteel
- amount: 20
+ amount: 10
- id: SheetUranium
amount: 5
- id: SheetGlass
- amount: 20
+ amount: 10
- id: SheetRGlass
- amount: 20
+ amount: 10
- id: SheetPlastic
- amount: 20
+ amount: 10
- id: SheetPlasma
amount: 5
- id: CableHVStack
- amount: 10
+ amount: 5
- id: CableMVStack
- amount: 20
+ amount: 10
- id: CableApcStack
- amount: 20
+ amount: 10
- id: ClothingBackpackDuffelEngineering
amount: 3
- id: ClothingBackpackCloningSet
diff --git a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ussp/jobs_sssp.yml b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ussp/jobs_sssp.yml
index af223bed073c..406cdd5a0f3e 100644
--- a/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ussp/jobs_sssp.yml
+++ b/Resources/Prototypes/SS220/Shitspawn/FractWarEbent/ussp/jobs_sssp.yml
@@ -108,9 +108,9 @@
- id: JetpackVoidFilled
- id: RCD
- id: RCDAmmo
- amount: 3
+ amount: 4
- id: JobIconChangerUSSP
-
+ - id: ClothingEyesGlassesMeson
- type: startingGear
id: EbentUSSPEngineerGear
@@ -291,6 +291,7 @@
back: ClothingBackpackUSSPFilled
shoes: ClothingShoesBootsMagUssp
mask: ClothingMaskGasUssp
+ eyes: ClothingEyesHudMedical
gloves: ClothingHandsGlovesLeatherUSSPBlack
outerClothing: ClothingOuterHardsuitUSSPCMO
suitstorage: OxygenTankFilled