diff --git a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs index baa823303ae..d467c6a1548 100644 --- a/Content.Server/Kitchen/EntitySystems/SharpSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/SharpSystem.cs @@ -1,4 +1,4 @@ -using Content.Server.Body.Systems; +using Content.Server.Body.Systems; using Content.Server.Kitchen.Components; using Content.Server.Nutrition.EntitySystems; using Content.Shared.Body.Components; @@ -65,8 +65,11 @@ private bool TryStartButcherDoafter(EntityUid knife, EntityUid target, EntityUid if (!TryComp(knife, out var sharp)) return false; - if (TryComp(target, out var mobState) && !_mobStateSystem.IsDead(target, mobState)) + // Corvax-Next-Skills-Start + var hasMobState = TryComp(target, out var mobState); + if (hasMobState && !_mobStateSystem.IsDead(target, mobState)) return false; + // Corvax-Next-Skills-End if (butcher.Type != ButcheringType.Knife && target != user) { @@ -76,19 +79,29 @@ private bool TryStartButcherDoafter(EntityUid knife, EntityUid target, EntityUid if (!sharp.Butchering.Add(target)) return false; - // if the user isn't the entity with the sharp component, // they will need to be holding something with their hands, so we set needHand to true // so that the doafter can be interrupted if they drop the item in their hands var needHand = user != knife; - var doAfter = - new DoAfterArgs(EntityManager, user, sharp.ButcherDelayModifier * butcher.ButcherDelay * (_skills.HasSkill(user, Skills.Butchering) ? 1 : ButcherDelayModifierWithoutSkill), new SharpDoAfterEvent(), knife, target: target, used: knife) // Corvax-Next-Skills - { - BreakOnDamage = true, - BreakOnMove = true, - NeedHand = needHand, - }; + // Corvax-Next-Skills-Start + var delayModifier = hasMobState && !_skills.HasSkill(user, Skills.Butchering) ? ButcherDelayModifierWithoutSkill : 1; + + var doAfter = new DoAfterArgs( + EntityManager, + user, + sharp.ButcherDelayModifier * butcher.ButcherDelay * delayModifier, + new SharpDoAfterEvent(), + knife, + target: target, + used: knife) + { + BreakOnDamage = true, + BreakOnMove = true, + NeedHand = needHand, + }; + // Corvax-Next-Skills-End + _doAfterSystem.TryStartDoAfter(doAfter); return true; } diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs index ef62404dddb..2fdea1bb5a1 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.Impact.cs @@ -24,8 +24,7 @@ public sealed partial class ShuttleSystem /// /// Kinetic energy required to dismantle a single tile /// - private const float TileBreakEnergy = 6700; - + private const float TileBreakEnergy = 7000; /// /// Kinetic energy required to spawn sparks /// @@ -87,7 +86,7 @@ private void OnShuttleCollide(EntityUid uid, ShuttleComponent component, ref Sta private void ProcessTile(EntityUid uid, MapGridComponent grid, Vector2i tile, float energy, Vector2 dir) { DamageSpecifier damage = new(); - damage.DamageDict = new() { { "Blunt", energy } }; + damage.DamageDict = new() { { "Structural", energy } }; foreach (EntityUid localUid in _lookup.GetLocalEntitiesIntersecting(uid, tile, gridComp: grid)) { diff --git a/Content.Server/_Goobstation/Blob/Components/StationBlobConfigComponent.cs b/Content.Server/_Goobstation/Blob/Components/StationBlobConfigComponent.cs index 4dfe2c88bad..0d49d4e92ba 100644 --- a/Content.Server/_Goobstation/Blob/Components/StationBlobConfigComponent.cs +++ b/Content.Server/_Goobstation/Blob/Components/StationBlobConfigComponent.cs @@ -7,9 +7,9 @@ namespace Content.Server._Goobstation.Blob.Components; [RegisterComponent] public sealed partial class StationBlobConfigComponent : Component { - public const int DefaultStageBegin = 30; - public const int DefaultStageCritical = 400; - public const int DefaultStageEnd = 800; + public const int DefaultStageBegin = 40; + public const int DefaultStageCritical = 1000; + public const int DefaultStageEnd = 1600; [DataField] public int StageBegin { get; set; } = DefaultStageBegin; diff --git a/Content.Server/_Goobstation/GameTicking/Rules/BlobRuleSystem.cs b/Content.Server/_Goobstation/GameTicking/Rules/BlobRuleSystem.cs index 4a2c042a061..5b3e328dcf9 100644 --- a/Content.Server/_Goobstation/GameTicking/Rules/BlobRuleSystem.cs +++ b/Content.Server/_Goobstation/GameTicking/Rules/BlobRuleSystem.cs @@ -34,7 +34,7 @@ public sealed class BlobRuleSystem : GameRuleSystem [Dependency] private readonly AlertLevelSystem _alertLevelSystem = default!; [Dependency] private readonly IChatManager _chatManager = default!; - private static readonly SoundPathSpecifier BlobDetectAudio = new ("/Audio/Announcements/outbreak5.ogg"); + private static readonly SoundPathSpecifier BlobDetectAudio = new ("/Audio/_CorvaxNext/Misc/outbreak5.ogg"); public override void Initialize() { base.Initialize(); diff --git a/Content.Server/_Goobstation/GameTicking/Rules/Components/BlobRuleComponent.cs b/Content.Server/_Goobstation/GameTicking/Rules/Components/BlobRuleComponent.cs index a81f413c745..b2846299414 100644 --- a/Content.Server/_Goobstation/GameTicking/Rules/Components/BlobRuleComponent.cs +++ b/Content.Server/_Goobstation/GameTicking/Rules/Components/BlobRuleComponent.cs @@ -9,7 +9,7 @@ namespace Content.Server.GameTicking.Rules.Components; public sealed partial class BlobRuleComponent : Component { [DataField] - public SoundSpecifier? AlertAudio = new SoundPathSpecifier("/Audio/Announcements/outbreak5.ogg"); + public SoundSpecifier? AlertAudio = new SoundPathSpecifier("/Audio/_CorvaxNext/Misc/blob_critical.ogg"); [ViewVariables] public List<(EntityUid mindId, MindComponent mind)> Blobs = new(); //BlobRoleComponent diff --git a/Content.Shared/Movement/Pulling/Components/CanChokeGrabComponent.cs b/Content.Shared/Movement/Pulling/Components/CanChokeGrabComponent.cs new file mode 100644 index 00000000000..d7ce817b714 --- /dev/null +++ b/Content.Shared/Movement/Pulling/Components/CanChokeGrabComponent.cs @@ -0,0 +1,6 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Movement.Pulling.Components; + +[RegisterComponent, NetworkedComponent] +public sealed partial class CanChokeGrabComponent : Component; diff --git a/Content.Shared/Movement/Pulling/Components/PullerComponent.cs b/Content.Shared/Movement/Pulling/Components/PullerComponent.cs index ca340b21835..524e5b9dd80 100644 --- a/Content.Shared/Movement/Pulling/Components/PullerComponent.cs +++ b/Content.Shared/Movement/Pulling/Components/PullerComponent.cs @@ -73,13 +73,13 @@ public sealed partial class PullerComponent : Component public Dictionary EscapeChances = new() { { GrabStage.No, 1f }, - { GrabStage.Soft, 0.7f }, - { GrabStage.Hard, 0.4f }, - { GrabStage.Suffocate, 0.1f }, + { GrabStage.Soft, 0.3f }, + { GrabStage.Hard, 0.2f }, + { GrabStage.Suffocate, 0.01f }, }; [DataField] - public float SuffocateGrabStaminaDamage = 10f; + public float SuffocateGrabStaminaDamage = 30f; [DataField] public float GrabThrowDamageModifier = 2f; @@ -94,7 +94,7 @@ public sealed partial class PullerComponent : Component }; [DataField] - public float StaminaDamageOnThrown = 120f; + public float StaminaDamageOnThrown = 210f; [DataField] public float GrabThrownSpeed = 7f; @@ -106,10 +106,10 @@ public sealed partial class PullerComponent : Component public float SoftGrabSpeedModifier = 0.9f; [DataField] - public float HardGrabSpeedModifier = 0.7f; + public float HardGrabSpeedModifier = 0.5f; [DataField] - public float ChokeGrabSpeedModifier = 0.4f; + public float ChokeGrabSpeedModifier = 0.2f; // Goobstation end } diff --git a/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs b/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs index 7111436a3c2..f2528e63e69 100644 --- a/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs +++ b/Content.Shared/Movement/Pulling/Systems/PullingSystem.cs @@ -50,7 +50,6 @@ using Robust.Shared.Player; using Robust.Shared.Random; // Goobstation using Robust.Shared.Timing; - namespace Content.Shared.Movement.Pulling.Systems; /// @@ -824,6 +823,11 @@ public bool TryGrab(Entity pullable, Entity(puller)) + return false; + // Corvax-Next-GrabComponent-End + // It's blocking stage update, maybe better UX? if (puller.Comp.GrabStage == GrabStage.Suffocate) { diff --git a/Resources/Audio/_CorvaxNext/Misc/blob_critical.ogg b/Resources/Audio/_CorvaxNext/Misc/blob_critical.ogg new file mode 100644 index 00000000000..6088f97d6c2 Binary files /dev/null and b/Resources/Audio/_CorvaxNext/Misc/blob_critical.ogg differ diff --git a/Resources/Audio/Corvax/Adminbuse/outbreak5.ogg b/Resources/Audio/_CorvaxNext/Misc/outbreak5.ogg similarity index 100% rename from Resources/Audio/Corvax/Adminbuse/outbreak5.ogg rename to Resources/Audio/_CorvaxNext/Misc/outbreak5.ogg diff --git a/Resources/Locale/ru-RU/_Goobstation/blob/blob.ftl b/Resources/Locale/ru-RU/_Goobstation/blob/blob.ftl index e0816474296..00aaea45ede 100644 --- a/Resources/Locale/ru-RU/_Goobstation/blob/blob.ftl +++ b/Resources/Locale/ru-RU/_Goobstation/blob/blob.ftl @@ -30,6 +30,8 @@ blob-description = Показатели биобезопасности стан ghost-role-information-blobbernaut-name = блоббернаут ghost-role-information-blobbernaut-description = Вы массивный блоббернаут, защищайте ядро блоба или следуйте его приказам. +ghost-role-information-blobpod-name = блобик +ghost-role-information-blobpod-description = Вы мерзкая сущность, что зомбирует людей. Служите Блобу! ghost-role-information-blob-name = блоб ghost-role-information-blob-description = Ты блоб, вы должны захватить эту станцию. diff --git a/Resources/Prototypes/Corvax/Maps/Next/Ishimura.yml b/Resources/Prototypes/Corvax/Maps/Next/Ishimura.yml index a2b4ae1a429..c3e729562db 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/Ishimura.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/Ishimura.yml @@ -67,9 +67,9 @@ Reporter: [ 1, 1 ] # silicon Borg: [ 2, 3 ] - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/amber.yml b/Resources/Prototypes/Corvax/Maps/Next/amber.yml index 5c5111f58b2..d85ab8003cf 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/amber.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/amber.yml @@ -67,9 +67,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/astra.yml b/Resources/Prototypes/Corvax/Maps/Next/astra.yml index eb5fab8e0a9..f0335e77ee6 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/astra.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/astra.yml @@ -80,9 +80,9 @@ - VirusologyAmbusol - AstraRepair - BluespaceHarvest - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/avrite.yml b/Resources/Prototypes/Corvax/Maps/Next/avrite.yml index 03ed7b17993..0a3323506ee 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/avrite.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/avrite.yml @@ -68,9 +68,9 @@ StationAi: [ 1, 1 ] Borg: [ 2, 3 ] - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/awesome.yml b/Resources/Prototypes/Corvax/Maps/Next/awesome.yml index d460428f080..c8896d16628 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/awesome.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/awesome.yml @@ -66,9 +66,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/bagel.yml b/Resources/Prototypes/Corvax/Maps/Next/bagel.yml index 60148061fca..cd7da467dbb 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/bagel.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/bagel.yml @@ -65,9 +65,9 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/box.yml b/Resources/Prototypes/Corvax/Maps/Next/box.yml index abfbca0d1b0..205a691de9e 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/box.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/box.yml @@ -68,9 +68,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 2, 3 ] - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/cute.yml b/Resources/Prototypes/Corvax/Maps/Next/cute.yml index 00adcee98e5..8a486e2907f 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/cute.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/cute.yml @@ -69,9 +69,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 1, 1 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/delta.yml b/Resources/Prototypes/Corvax/Maps/Next/delta.yml index 8d55af091eb..5240c48d4ee 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/delta.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/delta.yml @@ -91,9 +91,9 @@ - XenobiologyRepair - VirusologyAmbusol - BluespaceHarvest - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 1000 + stageTheEnd: 1600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/glacier.yml b/Resources/Prototypes/Corvax/Maps/Next/glacier.yml index c8e1fb66def..5393f5f853f 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/glacier.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/glacier.yml @@ -90,9 +90,9 @@ - Botany - Bunker - BluespaceHarvest - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/marathon.yml b/Resources/Prototypes/Corvax/Maps/Next/marathon.yml index d5b9dd5bed7..bcb1a78a89a 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/marathon.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/marathon.yml @@ -66,9 +66,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/maus.yml b/Resources/Prototypes/Corvax/Maps/Next/maus.yml index 8f30c781218..d7f842e371d 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/maus.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/maus.yml @@ -69,9 +69,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 1, 1 ] - # Goobstation blob-config-start LOW + # Corvax-next blob-config-start LOW - type: StationBlobConfig - stageBegin: 15 - stageCritical: 200 - stageTheEnd: 400 - # Goobstation blob-config-end + stageBegin: 20 + stageCritical: 300 + stageTheEnd: 600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/omega.yml b/Resources/Prototypes/Corvax/Maps/Next/omega.yml index 1aef3027993..a1680afbe96 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/omega.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/omega.yml @@ -65,9 +65,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start LOW + # Corvax-next blob-config-start LOW - type: StationBlobConfig - stageBegin: 15 - stageCritical: 200 - stageTheEnd: 400 - # Goobstation blob-config-end + stageBegin: 20 + stageCritical: 300 + stageTheEnd: 600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/outpost.yml b/Resources/Prototypes/Corvax/Maps/Next/outpost.yml index 4179d8e6aac..f31ad613640 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/outpost.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/outpost.yml @@ -65,9 +65,9 @@ # silicon Borg: [ 1, 1 ] StationAi: [ 1, 1 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/packed.yml b/Resources/Prototypes/Corvax/Maps/Next/packed.yml index 62b21ae13fe..f5fed2bb6b8 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/packed.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/packed.yml @@ -65,9 +65,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 1, 1 ] - # Goobstation blob-config-start LOW + # Corvax-next blob-config-start LOW - type: StationBlobConfig - stageBegin: 15 - stageCritical: 200 - stageTheEnd: 400 - # Goobstation blob-config-end + stageBegin: 20 + stageCritical: 300 + stageTheEnd: 600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/paper.yml b/Resources/Prototypes/Corvax/Maps/Next/paper.yml index 72b6e539296..273bee98917 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/paper.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/paper.yml @@ -67,9 +67,9 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 3, 3 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/pearl.yml b/Resources/Prototypes/Corvax/Maps/Next/pearl.yml index 22149a5f0e9..708f5a9a19a 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/pearl.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/pearl.yml @@ -88,9 +88,9 @@ - Bunker - Survive - BluespaceHarvest - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/pilgrim.yml b/Resources/Prototypes/Corvax/Maps/Next/pilgrim.yml index 914d81eb440..f9329cc32d4 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/pilgrim.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/pilgrim.yml @@ -87,9 +87,9 @@ - Theatre - Botany - BluespaceHarvest - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/silly.yml b/Resources/Prototypes/Corvax/Maps/Next/silly.yml index ec09b75851b..054f375bfc3 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/silly.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/silly.yml @@ -78,9 +78,9 @@ - Botany - Bunker - BluespaceHarvest - # Goobstation blob-config-start LOW + # Corvax-next blob-config-start LOW - type: StationBlobConfig - stageBegin: 15 - stageCritical: 200 - stageTheEnd: 400 - # Goobstation blob-config-end + stageBegin: 10 + stageCritical: 300 + stageTheEnd: 600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Corvax/Maps/Next/tushkan.yml b/Resources/Prototypes/Corvax/Maps/Next/tushkan.yml index 7d9aecbe5f4..f04e78311f7 100644 --- a/Resources/Prototypes/Corvax/Maps/Next/tushkan.yml +++ b/Resources/Prototypes/Corvax/Maps/Next/tushkan.yml @@ -68,9 +68,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 1, 1 ] - # Goobstation blob-config-start LOW + # Corvax-next blob-config-start LOW - type: StationBlobConfig - stageBegin: 15 - stageCritical: 200 - stageTheEnd: 400 - # Goobstation blob-config-end + stageBegin: 20 + stageCritical: 300 + stageTheEnd: 600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Entities/Mobs/base.yml b/Resources/Prototypes/Entities/Mobs/base.yml index e1a917157bc..baa37104951 100644 --- a/Resources/Prototypes/Entities/Mobs/base.yml +++ b/Resources/Prototypes/Entities/Mobs/base.yml @@ -45,7 +45,6 @@ - type: RequireProjectileTarget active: False - type: AnimatedEmotes # Corvax-Next-AutoAnimate - - type: CollectiveMind # Goobstation - Starlight collective mind port - type: entity save: false diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index c0982b93569..5d7d67fd08b 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -144,6 +144,7 @@ - Surgery - MedicalEquipment - Butchering + - type: CanChokeGrab mindRoles: - MindRoleNukeopsCommander - prefRoles: [ NukeopsMedic ] @@ -169,6 +170,7 @@ - Surgery - MedicalEquipment - Butchering + - type: CanChokeGrab mindRoles: - MindRoleNukeopsMedic - prefRoles: [ Nukeops ] @@ -196,6 +198,7 @@ - Surgery - MedicalEquipment - Butchering + - type: CanChokeGrab mindRoles: - MindRoleNukeops @@ -242,6 +245,7 @@ - Surgery - MedicalEquipment - Butchering + - type: CanChokeGrab mindRoles: - MindRoleTraitor @@ -289,6 +293,7 @@ - Surgery - MedicalEquipment - Butchering + - type: CanChokeGrab mindRoles: - MindRoleHeadRevolutionary @@ -413,6 +418,7 @@ - Surgery - MedicalEquipment - Butchering + - type: CanChokeGrab mindRoles: - MindRoleInitialInfected diff --git a/Resources/Prototypes/Maps/amber.yml b/Resources/Prototypes/Maps/amber.yml index ebe790334c7..17bb9b3b9f6 100644 --- a/Resources/Prototypes/Maps/amber.yml +++ b/Resources/Prototypes/Maps/amber.yml @@ -67,9 +67,9 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 3, 3 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/bagel.yml b/Resources/Prototypes/Maps/bagel.yml index 4ece35ec419..5eede458596 100644 --- a/Resources/Prototypes/Maps/bagel.yml +++ b/Resources/Prototypes/Maps/bagel.yml @@ -66,9 +66,9 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 800 + stageTheEnd: 1600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/box.yml b/Resources/Prototypes/Maps/box.yml index 0e80ae88f19..5a00f1f29dd 100644 --- a/Resources/Prototypes/Maps/box.yml +++ b/Resources/Prototypes/Maps/box.yml @@ -63,9 +63,9 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 800 + stageTheEnd: 1600 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/core.yml b/Resources/Prototypes/Maps/core.yml index a988b0835f7..a353d55a9f5 100644 --- a/Resources/Prototypes/Maps/core.yml +++ b/Resources/Prototypes/Maps/core.yml @@ -66,9 +66,9 @@ # silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 + stageCritical: 700 + stageTheEnd: 1200 # backmen blob-config-end diff --git a/Resources/Prototypes/Maps/debug.yml b/Resources/Prototypes/Maps/debug.yml index 15b9f5127f0..aa08e95b39c 100644 --- a/Resources/Prototypes/Maps/debug.yml +++ b/Resources/Prototypes/Maps/debug.yml @@ -27,12 +27,12 @@ - type: StationJobs availableJobs: Captain: [ -1, -1 ] - # Goobstation blob-config-start DEBUG + # Corvax-next blob-config-start DEBUG - type: StationBlobConfig stageBegin: 20 stageCritical: 50 stageTheEnd: 100 - # Goobstation blob-config-end + # Corvax-next blob-config-end - type: gameMap id: TestTeg diff --git a/Resources/Prototypes/Maps/elkridge.yml b/Resources/Prototypes/Maps/elkridge.yml index 90aa2ee5ddd..9e7b6ad4b63 100644 --- a/Resources/Prototypes/Maps/elkridge.yml +++ b/Resources/Prototypes/Maps/elkridge.yml @@ -66,9 +66,9 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/fland.yml b/Resources/Prototypes/Maps/fland.yml index c4606ed0d51..5ef4932a299 100644 --- a/Resources/Prototypes/Maps/fland.yml +++ b/Resources/Prototypes/Maps/fland.yml @@ -65,9 +65,9 @@ StationAi: [ 1, 1 ] Borg: [ 5, 5 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 + stageCritical: 700 + stageTheEnd: 1200 # backmen blob-config-end diff --git a/Resources/Prototypes/Maps/gate.yml b/Resources/Prototypes/Maps/gate.yml index ae1007fe7c5..8dd87c5ff80 100644 --- a/Resources/Prototypes/Maps/gate.yml +++ b/Resources/Prototypes/Maps/gate.yml @@ -65,9 +65,9 @@ StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/loop.yml b/Resources/Prototypes/Maps/loop.yml index 9f89ab8574f..dec067a6274 100644 --- a/Resources/Prototypes/Maps/loop.yml +++ b/Resources/Prototypes/Maps/loop.yml @@ -65,10 +65,10 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 2, 3 ] - # Goobstation blob-config-start HUGEs + # Corvax-next blob-config-start HUGEs - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/marathon.yml b/Resources/Prototypes/Maps/marathon.yml index 45ad5caa1cb..429ce7df4f1 100644 --- a/Resources/Prototypes/Maps/marathon.yml +++ b/Resources/Prototypes/Maps/marathon.yml @@ -65,9 +65,9 @@ #silicon StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/meta.yml b/Resources/Prototypes/Maps/meta.yml index f803773521d..424b999b46b 100644 --- a/Resources/Prototypes/Maps/meta.yml +++ b/Resources/Prototypes/Maps/meta.yml @@ -66,9 +66,9 @@ StationAi: [ 1, 1 ] Borg: [ 4, 4 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 - # Goobstation blob-config-end + stageCritical: 700 + stageTheEnd: 1200 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/oasis.yml b/Resources/Prototypes/Maps/oasis.yml index dde53b16779..874dbcbf657 100644 --- a/Resources/Prototypes/Maps/oasis.yml +++ b/Resources/Prototypes/Maps/oasis.yml @@ -64,9 +64,9 @@ Mime: [ 1, 1 ] Musician: [ 1, 1 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 - stageCritical: 450 - stageTheEnd: 900 + stageCritical: 700 + stageTheEnd: 1200 # backmen blob-config-end diff --git a/Resources/Prototypes/Maps/omega.yml b/Resources/Prototypes/Maps/omega.yml index ee8c0054d5a..d7300ceb676 100644 --- a/Resources/Prototypes/Maps/omega.yml +++ b/Resources/Prototypes/Maps/omega.yml @@ -65,9 +65,9 @@ StationAi: [ 1, 1 ] Borg: [ 2, 2 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig stageBegin: 25 stageCritical: 350 stageTheEnd: 700 - # Goobstation blob-config-end + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/packed.yml b/Resources/Prototypes/Maps/packed.yml index b3c41dd0760..3b5cdef908e 100644 --- a/Resources/Prototypes/Maps/packed.yml +++ b/Resources/Prototypes/Maps/packed.yml @@ -65,9 +65,9 @@ StationAi: [ 1, 1 ] Borg: [ 1, 1 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig stageBegin: 25 stageCritical: 350 stageTheEnd: 700 - # Goobstation blob-config-end + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/plasma.yml b/Resources/Prototypes/Maps/plasma.yml index b66f60f9163..48d74610a23 100644 --- a/Resources/Prototypes/Maps/plasma.yml +++ b/Resources/Prototypes/Maps/plasma.yml @@ -66,9 +66,9 @@ CargoTechnician: [ 4, 6 ] #civilian - the tiders yearn for the mines Passenger: [ -1, -1 ] - # Goobstation blob-config-start HUGE + # Corvax-next blob-config-start HUGE - type: StationBlobConfig stageBegin: 40 stageCritical: 450 stageTheEnd: 900 - # Goobstation blob-config-end + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/reach.yml b/Resources/Prototypes/Maps/reach.yml index 801fd3f7064..2c39f5ebea7 100644 --- a/Resources/Prototypes/Maps/reach.yml +++ b/Resources/Prototypes/Maps/reach.yml @@ -34,11 +34,11 @@ Scientist: [ 1, 1 ] Passenger: [ -1, -1 ] - # Goobstation blob-config-start LOW + # Corvax-next blob-config-start LOW - type: StationBlobConfig stageBegin: 15 stageCritical: 200 stageTheEnd: 400 - # Goobstation blob-config-end + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/saltern.yml b/Resources/Prototypes/Maps/saltern.yml index a949ce7f85e..93d90035450 100644 --- a/Resources/Prototypes/Maps/saltern.yml +++ b/Resources/Prototypes/Maps/saltern.yml @@ -62,9 +62,9 @@ Mime: [ 1, 1 ] Musician: [ 1, 1 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Maps/train.yml b/Resources/Prototypes/Maps/train.yml index 330787271d8..49312f51f8a 100644 --- a/Resources/Prototypes/Maps/train.yml +++ b/Resources/Prototypes/Maps/train.yml @@ -66,9 +66,9 @@ Borg: [ 2, 2 ] Reporter: [ 1, 1 ] - # Goobstation blob-config-start SMALL+ + # Corvax-next blob-config-start SMALL+ - type: StationBlobConfig - stageBegin: 25 - stageCritical: 350 - stageTheEnd: 700 - # Goobstation blob-config-end + stageBegin: 40 + stageCritical: 500 + stageTheEnd: 900 + # Corvax-next blob-config-end diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml index c271f9752ce..30268112cb5 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml @@ -23,6 +23,7 @@ - type: Skills # Corvax-Next-Skills skills: - Butchering + - type: CanChokeGrab - type: startingGear id: ChefGear diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml index 64ccf4c4a71..bd3627fd988 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml @@ -41,6 +41,7 @@ skills: - ShuttleControl - Shooting + - type: CanChokeGrab - type: startingGear id: HoSGear diff --git a/Resources/Prototypes/Roles/Jobs/Security/warden.yml b/Resources/Prototypes/Roles/Jobs/Security/warden.yml index bb6cd0bbcf9..cb9edfcb30b 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/warden.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/warden.yml @@ -26,6 +26,7 @@ implants: [ MindShieldImplant ] - !type:AddComponentSpecial components: + - type: CanChokeGrab # Corvax-Next-Grab - type: Skills # Corvax-Next-Skills skills: - Shooting diff --git a/Resources/Prototypes/_Goobstation/Blob/blob_mobs.yml b/Resources/Prototypes/_Goobstation/Blob/blob_mobs.yml index aec16897d97..82458a927a7 100644 --- a/Resources/Prototypes/_Goobstation/Blob/blob_mobs.yml +++ b/Resources/Prototypes/_Goobstation/Blob/blob_mobs.yml @@ -15,8 +15,8 @@ spreadAmount: 20 solution: reagents: - - ReagentId: TearGas - Quantity: 3 + - ReagentId: FluorosulfuricAcid + Quantity: 5 - type: Damageable damageContainer: Blob damageModifierSet: BlobMob @@ -103,6 +103,13 @@ - type: GuideHelp guides: - Blob + - type: GhostRole + name: ghost-role-information-blobpod-name + description: ghost-role-information-blobpod-description + rules: You are an antagonist, defend your blob core! + raffle: + settings: default + - type: GhostTakeoverAvailable # Blobbernaut - type: entity diff --git a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml index c2d3328b6bf..52347362561 100644 --- a/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml +++ b/Resources/Prototypes/_Goobstation/CollectiveMind/collective_minds.yml @@ -40,10 +40,3 @@ requiredTags: - AbductorMind -- type: collectiveMind - id: Binary - name: collective-mind-binary - keycode: 'b' - color: "#5ed7aa" - requiredTags: - - BinaryMind diff --git a/Resources/Prototypes/_Goobstation/CollectiveMind/tags.yml b/Resources/Prototypes/_Goobstation/CollectiveMind/tags.yml index 3cfa8221cc9..c80743b2aa7 100644 --- a/Resources/Prototypes/_Goobstation/CollectiveMind/tags.yml +++ b/Resources/Prototypes/_Goobstation/CollectiveMind/tags.yml @@ -16,5 +16,3 @@ - type: Tag id: AbductorMind -- type: Tag - id: BinaryMind diff --git a/Resources/Prototypes/_Goobstation/GameRules/roundstart.yml b/Resources/Prototypes/_Goobstation/GameRules/roundstart.yml index 10d006873e6..9c60e529f02 100644 --- a/Resources/Prototypes/_Goobstation/GameRules/roundstart.yml +++ b/Resources/Prototypes/_Goobstation/GameRules/roundstart.yml @@ -22,6 +22,8 @@ - type: HereticRole startingGear: HereticGear # see Roles/Antags/heretic.yml components: + - type: CanChokeGrab + - type: CollectiveMind # for the future - type: Skills # Corvax-Next-Skills skills: - ShuttleControl diff --git a/Resources/ServerInfo/_Goobstation/Guidebook/Antagonist/Blob.xml b/Resources/ServerInfo/_Goobstation/Guidebook/Antagonist/Blob.xml index 1261e83c624..5224d47cbb6 100644 --- a/Resources/ServerInfo/_Goobstation/Guidebook/Antagonist/Blob.xml +++ b/Resources/ServerInfo/_Goobstation/Guidebook/Antagonist/Blob.xml @@ -78,7 +78,7 @@ По мере роста блоба, станция пройдёт через несколько этапов. - 1. [color=#a4885c]Тихий этап[/color] - блоб всё ещё не обнаружен, и вы можете спокойно развиваться, пока о вас никто не знает. -- 2. [color=#a4885c]Обнаружение угрозы[/color] - как только блоб немного разрастается ставится Сигма код и объявляется полная изоляция станции. Эвакуационный шаттл невозможно вызвать на этом этапе. +- 2. [color=#a4885c]Обнаружение угрозы[/color] - как только блоб немного разрастается, устанавливается Дельта код и объявляется полная изоляция станции. Эвакуационный шаттл невозможно вызвать на этом этапе. - 3. [color=#a4885c]Критическая масса[/color] - если блоб захватывает значительную часть станции, объявляется гамма код и на помощь прилетает отряд РХБЗЗ. Главная цель всех выживших на этом этапе - взорвать станцию, чему вы как блоб должны помешать! - 4. [color=#a4885c]Победа блоба[/color] - когда блоб разрастается до гигантских размеров, его рост становится слишком неконтролируемым, из-за чего раунд заканчивается победой блоба.