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