From 718f2051b1981a753389d49cbdf4719d9f030097 Mon Sep 17 00:00:00 2001
From: RevengenRat <138193222+Ratyyy@users.noreply.github.com>
Date: Fri, 21 Feb 2025 02:03:34 +0200
Subject: [PATCH 1/2] =?UTF-8?q?=20=D1=84=D0=B8=D0=BA=D1=81=D1=8B=20=D0=B1?=
=?UTF-8?q?=D0=BE=D0=B5=D0=B2=D1=8B=D1=85=20=D0=B8=D1=81=D0=BA=D1=83=D1=81?=
=?UTF-8?q?=D1=82=D0=B2=20(#1122)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Описание PR
чутка добавила документацию для эффектов. Остальное читайте в чейнджлоге
## Требования
- [x] Я прочитал(а) и следую [Руководство по созданию пулл
реквестов](https://docs.spacestation14.com/en/general-development/codebase-info/pull-request-guidelines.html).
Я понимаю, что в противном случае мой ПР может быть закрыт по усмотрению
мейнтейнера.
- [x] Я добавил скриншоты/видео к этому пулл реквесту, демонстрирующие
его изменения в игре, **или** этот пулл реквест не требует демонстрации
в игре
**Чейнджлог**
🆑 Ratyyy
- Tweak: В следствии гуманоиды больше улетают после любого падения,
теперь только самовольные подкаты!
- Tweak: Большая часть гуманоидов вспомнила, что нельзя прыгать без пола
под ногами!
- Tweak: Мастера спящего карпа вспомнили, что им нельзя стрелять!
- Tweak: Великий совет мастеров спящего карпа решил, что 6 секунд стана
- это слишком нечестно, потому теперь стан длиться 4 секунды!
---
.../ADT/CantShoot/Systems/CantShootSystem.cs | 2 +-
Content.Shared/ADT/Combat/ComboEffects.cs | 43 +++++++----
.../Crawling/Systems/SharedCrawlingSystem.cs | 77 +++++++------------
.../Objects/Specific/material_args.yml | 4 +-
.../ADT/Recipes/Lathes/Packs/robotics.yml | 5 +-
.../Prototypes/ADT/Research/industrial.yml | 4 +-
.../Recipes/Lathes/Packs/science.yml | 2 +-
.../Recipes/Lathes/Packs/service.yml | 3 +
Resources/Prototypes/Research/industrial.yml | 1 -
.../Prototypes/Roles/Jobs/Civilian/chef.yml | 3 -
10 files changed, 68 insertions(+), 76 deletions(-)
diff --git a/Content.Shared/ADT/CantShoot/Systems/CantShootSystem.cs b/Content.Shared/ADT/CantShoot/Systems/CantShootSystem.cs
index 250dc3fbed4..d95d38c5bdb 100644
--- a/Content.Shared/ADT/CantShoot/Systems/CantShootSystem.cs
+++ b/Content.Shared/ADT/CantShoot/Systems/CantShootSystem.cs
@@ -16,7 +16,7 @@ public override void Initialize()
private void OnShootAttempt(EntityUid uid, CantShootComponent component, ref ShotAttemptedEvent args)
{
- if (_whitelist.IsWhitelistPassOrNull(component.Whitelist, args.Used))
+ if (_whitelist.IsWhitelistPass(component.Whitelist, args.Used))
return;
if (component.Popup != null)
_popup.PopupCursor(Loc.GetString(component.Popup, ("used", args.Used)), args.User);
diff --git a/Content.Shared/ADT/Combat/ComboEffects.cs b/Content.Shared/ADT/Combat/ComboEffects.cs
index de9bbe6d189..bc88884d229 100644
--- a/Content.Shared/ADT/Combat/ComboEffects.cs
+++ b/Content.Shared/ADT/Combat/ComboEffects.cs
@@ -21,6 +21,9 @@ public partial interface IComboEffect
void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan);
}
+///
+/// наносит урон цели, damage - урон
+///
[Serializable, NetSerializable]
public sealed partial class ComboDamageEffect : IComboEffect
{
@@ -33,6 +36,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
damageable.TryChangeDamage(target, Damage);
}
}
+///
+/// наносит цели урон про стамине. StaminaDamage надо указывать целым числом
+///
[Serializable, NetSerializable]
public sealed partial class ComboStaminaDamageEffect : IComboEffect
{
@@ -45,6 +51,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
stun.TakeStaminaDamage(target, StaminaDamage);
}
}
+///
+/// спавнит на месте цели или пользователя прототип. SpawnOnUser и SpawnOnTarget отвечат за спавн прототипа на юзере и таргете соответственно
+///
[Serializable, NetSerializable]
public sealed partial class ComboSpawnEffect : IComboEffect
{
@@ -61,6 +70,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
entMan.SpawnAtPosition(SpawnOnUser, target.ToCoordinates());
}
}
+///
+/// кидает человека на пол. DropItems отвечает за то, будут ли вещи из рук выпадать true - выпадает, false - не выпадает
+///
[Serializable, NetSerializable]
public sealed partial class ComboFallEffect : IComboEffect
{
@@ -75,6 +87,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
down.Down(target, dropHeldItems: DropItems);
}
}
+///
+/// добавочный урон по тем, кто лежит на земле. IgnoreResistances отвечает за то, будут ли резисты учитываться при нанесения урона
+///
[Serializable, NetSerializable]
public sealed partial class ComboMoreDamageToDownedEffect : IComboEffect
@@ -93,6 +108,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
}
}
}
+///
+/// кидачет человека в стан после комбо. Fall отвечает за падение человека, StunTime - время стана, DropItems - выпадают ли вещи при падении
+///
[Serializable, NetSerializable]
public sealed partial class ComboStunEffect : IComboEffect
{
@@ -111,22 +129,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
down.TryParalyze(target, TimeSpan.FromSeconds(StunTime), false, status, dropItems: DropItems, down: Fall);
}
}
-[Serializable, NetSerializable]
-public sealed partial class ComboDropFromActiveHandEffect : IComboEffect
-{
- [DataField]
- public bool Fall = true;
- [DataField]
- public TimeSpan StunTime;
- [DataField]
- public bool DropItems = true;
-
- public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
- {
- var down = entMan.System();
- down.TryKnockdown(target, StunTime, true, dropItems: DropItems, down: Fall);
- }
-}
+///
+/// вызывает попаут на таргете. LocaleText - текст. Желательно использоваль локаль, а так же есть параметры для локали target и user
+///
[Serializable, NetSerializable]
public sealed partial class ComboPopupEffect : IComboEffect
{
@@ -139,6 +144,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
popup.PopupEntity(Loc.GetString(LocaleText, ("user", Identity.Entity(user, entMan)), ("target", target)), target, PopupType.LargeCaution);
}
}
+///
+/// выбрасывает что угодно из активной руки таргета
+///
[Serializable, NetSerializable]
public sealed partial class ComboDropFromHandsEffect : IComboEffect
{
@@ -150,6 +158,9 @@ public void DoEffect(EntityUid user, EntityUid target, IEntityManager entMan)
hands.DoDrop(target, hand.ActiveHand);
}
}
+///
+/// играет любой звук после комбо. Sound - звук, что очевидно
+///
[Serializable, NetSerializable]
public sealed partial class ComboAudioEffect : IComboEffect
{
diff --git a/Content.Shared/ADT/Crawling/Systems/SharedCrawlingSystem.cs b/Content.Shared/ADT/Crawling/Systems/SharedCrawlingSystem.cs
index b15330ca376..f14b96e9b76 100644
--- a/Content.Shared/ADT/Crawling/Systems/SharedCrawlingSystem.cs
+++ b/Content.Shared/ADT/Crawling/Systems/SharedCrawlingSystem.cs
@@ -9,32 +9,13 @@
using Content.Shared.Movement.Systems;
using Content.Shared.Alert;
using Content.Shared.Climbing.Components;
-using Content.Shared.Popups;
-using Robust.Shared.Physics.Systems;
using Content.Shared.ADT.Grab;
using Content.Shared.Climbing.Systems;
using Content.Shared.CombatMode;
using System.Numerics;
-using Content.Shared.ADT.Grab;
-using Content.Shared.Database;
-using Content.Shared.IdentityManagement;
-using Content.Shared.Movement.Pulling.Components;
-using Content.Shared.Movement.Pulling.Systems;
-using Content.Shared.Popups;
-using Content.Shared.Speech;
-using Content.Shared.Tag;
using Content.Shared.Throwing;
-using Robust.Shared.Audio;
-using Robust.Shared.Map;
using Robust.Shared.Physics.Components;
-using System.Collections.Generic;
-using System.Numerics;
-using Robust.Shared.GameObjects;
-using Robust.Shared.Map;
-using Robust.Shared.Map.Components;
-using Robust.Shared.Maths;
-using Robust.Shared.Timing;
-using Robust.Shared.Utility;
+using Content.Shared.Gravity;
using Content.Shared.Coordinates;
namespace Content.Shared.ADT.Crawling;
@@ -48,7 +29,7 @@ public abstract class SharedCrawlingSystem : EntitySystem
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
[Dependency] private readonly EntityLookupSystem _lookup = default!;
[Dependency] private readonly BonkSystem _bonk = default!;
- [Dependency] private readonly SharedTransformSystem _transform = default!;
+ [Dependency] private readonly SharedGravitySystem _gravity = default!;
[Dependency] private readonly ThrowingSystem _throwing = default!;
public override void Initialize()
{
@@ -86,6 +67,33 @@ private void ToggleCrawling(EntityUid uid, CrawlerComponent component, CrawlingK
{
case false:
_standing.Down(uid, dropHeldItems: false);
+ if (!TryComp(uid, out var combatMode) ||
+ combatMode.IsInCombatMode)
+ {
+ var targetTile = Vector2.Zero;
+
+ if (TryComp(uid, out var physics) && !_gravity.IsWeightless(uid))
+ {
+ var velocity = physics.LinearVelocity;
+
+ if (velocity.LengthSquared() > 0)
+ {
+ var direction = velocity.Normalized();
+
+ var currentPosition = uid.ToCoordinates();
+
+ var targetTileX = currentPosition.X + direction.X * 1;
+ var targetTileY = currentPosition.Y + direction.Y * 1;
+
+ int tileX = (int)MathF.Round(targetTileX);
+ int tileY = (int)MathF.Round(targetTileY);
+
+ targetTile = new Vector2(tileX, tileY);
+ }
+ }
+ EnsureComp(uid);
+ _throwing.TryThrow(uid, targetTile, 8, animated: false, playSound: false, doSpin: false);
+ }
break;
case true:
_doAfter.TryStartDoAfter(new DoAfterArgs(EntityManager, uid, component.StandUpTime, new CrawlStandupDoAfterEvent(),
@@ -125,33 +133,6 @@ private void OnFall(EntityUid uid, CrawlerComponent component, DownAttemptEvent
return;
_alerts.ShowAlert(uid, component.CrawlingAlert);
- if (!TryComp(uid, out var combatMode) ||
- combatMode.IsInCombatMode)
- {
- var targetTile = Vector2.Zero;
-
- if (TryComp(uid, out var physics))
- {
- var velocity = physics.LinearVelocity;
-
- if (velocity.LengthSquared() > 0)
- {
- var direction = velocity.Normalized();
-
- var currentPosition = uid.ToCoordinates();
-
- var targetTileX = currentPosition.X + direction.X * 1;
- var targetTileY = currentPosition.Y + direction.Y * 1;
-
- int tileX = (int)MathF.Round(targetTileX);
- int tileY = (int)MathF.Round(targetTileY);
-
- targetTile = new Vector2(tileX, tileY);
- }
- }
- EnsureComp(uid);
- _throwing.TryThrow(uid, targetTile, 8, animated: false, playSound: false, doSpin: false);
- }
EnsureComp(uid);
}
diff --git a/Resources/Prototypes/ADT/Entities/Objects/Specific/material_args.yml b/Resources/Prototypes/ADT/Entities/Objects/Specific/material_args.yml
index 53546e8a773..3cab3866327 100644
--- a/Resources/Prototypes/ADT/Entities/Objects/Specific/material_args.yml
+++ b/Resources/Prototypes/ADT/Entities/Objects/Specific/material_args.yml
@@ -164,7 +164,7 @@
- !type:ComboPopupEffect
localeText: combo-backhit-end
- !type:ComboStunEffect
- stunTime: 6
+ stunTime: 4
dropItems: false
- actionsNeeds:
- Hit
@@ -206,7 +206,7 @@
types:
Blunt: 5
- !type:ComboStunEffect
- stunTime: 6
+ stunTime: 4
dropItems: false
- actionsNeeds:
- Disarm
diff --git a/Resources/Prototypes/ADT/Recipes/Lathes/Packs/robotics.yml b/Resources/Prototypes/ADT/Recipes/Lathes/Packs/robotics.yml
index 62f25a08485..8af46af0269 100644
--- a/Resources/Prototypes/ADT/Recipes/Lathes/Packs/robotics.yml
+++ b/Resources/Prototypes/ADT/Recipes/Lathes/Packs/robotics.yml
@@ -8,7 +8,7 @@
- type: latheRecipePack
id: ADTModsuitPack
recipes:
- - ADTModsuitHelmet #ADT modsuits start
+ - ADTModsuitHelmet
- ADTModsuitGauntlets
- ADTModsuitChestplate
- ADTModsuitBoots
@@ -21,10 +21,9 @@
- ADTModsuitPlateCience
- ADTModsuitPlateMining
- ADTModsuitAssembly
+ - ADTModsuitModDrill
- ADTModsuitModAntigrav
- ADTModsuitModApparatus
- - ADTModsuitModDrill
- - ADTModsuitModJetpack
- ADTModsuitModJetpack
- ADTModsuitModMagboot
- ADTModsuitModNightVision
diff --git a/Resources/Prototypes/ADT/Research/industrial.yml b/Resources/Prototypes/ADT/Research/industrial.yml
index ca0c1d1afa6..66c0d699289 100644
--- a/Resources/Prototypes/ADT/Research/industrial.yml
+++ b/Resources/Prototypes/ADT/Research/industrial.yml
@@ -37,6 +37,7 @@
recipeUnlocks:
- ADTModsuitPlateMining
- ADTModsuitPlateEngineering
+ - ADTModsuitPlateCosmohonk
- ADTModsuitPlateAtmospheric
technologyPrerequisites:
- ADTModsuitBase
@@ -59,6 +60,7 @@
- ADTModsuitModStorage
- ADTModsuitModMagboot
- ADTModsuitModJetpack
+ - ADTModsuitModNightVision
- ADTModsuitModDrill
technologyPrerequisites:
- - ADTIndustrialMODsuit
\ No newline at end of file
+ - ADTIndustrialMODsuit
diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/science.yml b/Resources/Prototypes/Recipes/Lathes/Packs/science.yml
index 1afa7d7d075..b00ab367ec7 100644
--- a/Resources/Prototypes/Recipes/Lathes/Packs/science.yml
+++ b/Resources/Prototypes/Recipes/Lathes/Packs/science.yml
@@ -43,7 +43,7 @@
- type: latheRecipePack
id: PowerCells
recipes:
- - PowerCellMicroreactor
+ # - PowerCellMicroreactor ADT tweak
- PowerCellHigh
- type: latheRecipePack
diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/service.yml b/Resources/Prototypes/Recipes/Lathes/Packs/service.yml
index bbf5ec0eb1c..8d79cf7e2f5 100644
--- a/Resources/Prototypes/Recipes/Lathes/Packs/service.yml
+++ b/Resources/Prototypes/Recipes/Lathes/Packs/service.yml
@@ -60,3 +60,6 @@
- ReagentGrinderIndustrialMachineCircuitboard
- JukeboxCircuitBoard
- DawInstrumentMachineCircuitboard
+ - CloningPodMachineCircuitboard #ADT tweak
+ - CloningConsoleComputerCircuitboard #ADT tweak
+ - MedicalScannerMachineCircuitboard #ADT tweak
diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml
index ab592bd24eb..80e5e77b12f 100644
--- a/Resources/Prototypes/Research/industrial.yml
+++ b/Resources/Prototypes/Research/industrial.yml
@@ -180,7 +180,6 @@
- OreBagOfHolding
- MiningDrillDiamond
- AdvancedMineralScannerEmpty
- - SalvageExpeditionsComputerCircuitboard # Corvax-Cringe
# Tier 3
diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml
index 2965c3b5980..2b915040821 100644
--- a/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml
+++ b/Resources/Prototypes/Roles/Jobs/Civilian/chef.yml
@@ -25,6 +25,3 @@
id: ChefPDA
ears: ClothingHeadsetService
belt: ClothingBeltChefFilled
- storage: #ADT tweak
- back:
- - ADTCqcManualWeak
From 0a5e79cc6f3ddf2d3c4265c05f3b4c2fd5ff0351 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 21 Feb 2025 15:51:57 +0300
Subject: [PATCH 2/2] Auto CL update (#1126)
No cl, no fun
Co-authored-by: github-actions[bot]
---
Resources/Changelog/1ChangelogADT.yml | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/Resources/Changelog/1ChangelogADT.yml b/Resources/Changelog/1ChangelogADT.yml
index f5b58a1332a..fa7cd7d2d02 100644
--- a/Resources/Changelog/1ChangelogADT.yml
+++ b/Resources/Changelog/1ChangelogADT.yml
@@ -5745,3 +5745,14 @@ Entries:
время!', type: Add}
time: '2025-02-18T19:32:20Z'
id: 726
+ - author: Шрёдька
+ changes:
+ - {message: 'Подтянуты коммиты с Визардов, 10.02.2025.', type: Add}
+ time: '2025-02-19T05:54:11Z'
+ id: 727
+ - author: RaMbUt878
+ changes:
+ - {message: Теперь Синдикат убрал ошибку на производстве и вернул фирменному
+ трость-ружью его дополнительные 2 патрона., type: Fix}
+ time: '2025-02-20T14:27:09Z'
+ id: 728