Compare commits

...

7 Commits

Author SHA1 Message Date
TNE 8c346e201b
Merge d855df732f into c3c6a6abd9 2026-05-10 11:43:49 +00:00
Delta-V bot c3c6a6abd9 Automatic changelog update 2026-05-10 13:35:34 +02:00
Stxcking 6f0ad0c181
New: Wallmount Water Dispenser (#5792)
Everything
2026-05-10 13:35:15 +02:00
github-actions[bot] 7abc7a7b66
Update Credits (#5794)
Co-authored-by: DeltaV-Bot <github@deltav.gay>
2026-05-10 04:28:06 +02:00
Delta-V bot 7dc4c5f3fc Automatic changelog update 2026-05-10 01:04:45 +02:00
Cepelinas1 0400ffa8e3
Customizable sec belt/webbing inventory (#5701)
* first

* fix

* spacing

Signed-off-by: Cepelinas1 <kakelis01@gmail.com>

* forgot ftl

---------

Signed-off-by: Cepelinas1 <kakelis01@gmail.com>
2026-05-09 19:04:25 -04:00
TNE d855df732f Prevent zombies from using jetpacks
Introduces CanComplexInteract check from ActionBlockerSystem alongside a translation string
When Zombifying: Removes AutomaticJetpackUserComponent, calls SharedJetpackSystem.SetEnable(..., false, ...)
2026-05-04 01:56:30 +02:00
20 changed files with 180 additions and 17 deletions

View File

@ -26,6 +26,8 @@ using Content.Shared.Mobs;
using Content.Shared.Mobs.Components;
using Content.Shared.Movement.Pulling.Components;
using Content.Shared.Movement.Systems;
using Content.Shared.Movement.Components; // DeltaV
using Content.Shared._DV.Movement.Components; // DeltaV
using Content.Shared.NameModifier.EntitySystems;
using Content.Shared.NPC.Components; // DeltaV
using Content.Shared.NPC.Systems;
@ -73,6 +75,7 @@ public sealed partial class ZombieSystem
[Dependency] private readonly TagSystem _tag = default!;
[Dependency] private readonly ISharedPlayerManager _player = default!;
[Dependency] private readonly PsionicSystem _psionic = default!; // DeltaV
[Dependency] private readonly SharedJetpackSystem _jetpack = default!; // DeltaV - Prevent Jetpacks on Zombies
private static readonly ProtoId<TagPrototype> InvalidForGlobalSpawnSpellTag = "InvalidForGlobalSpawnSpell";
private static readonly ProtoId<TagPrototype> CannotSuicideTag = "CannotSuicide";
@ -151,6 +154,14 @@ public sealed partial class ZombieSystem
if (HasComp<PsionicComponent>(target))
_psionic.MindBreakEntity(target, false, true);
// DeltaV End - Prevent Psionic Zombies
// DeltaV Start - Prevent Jetpacks on Zombies
if (TryComp<JetpackUserComponent>(target, out var jetpackUser))
{
if(TryComp<JetpackComponent>(jetpackUser.Jetpack, out var jetpack))
_jetpack.SetEnabled(jetpackUser.Jetpack, jetpack, false, target);
}
RemComp<AutomaticJetpackUserComponent>(target);
// DeltaV End - Prevent Jetpacks on Zombies
//funny voice
var accentType = "zombie";

View File

@ -1,3 +1,4 @@
using Content.Shared.ActionBlocker;
using Content.Shared._DV.Movement.Components;
using Content.Shared.Movement.Components;
using Content.Shared.Movement.Events;
@ -7,12 +8,19 @@ namespace Content.Shared.Movement.Systems;
public abstract partial class SharedJetpackSystem
{
[Dependency] private readonly SharedTransformSystem _transform = default!;
[Dependency] private readonly ActionBlockerSystem _actionBlocker = default!;
private void OnJetpackToggle(Entity<JetpackComponent> jetpack, ref ToggleJetpackEvent args)
{
if (args.Handled)
return;
if (!_actionBlocker.CanComplexInteract(args.Performer))
{
_popup.PopupClient(Loc.GetString("jetpack-too-complex"), jetpack, args.Performer);
return;
}
jetpack.Comp.AutomaticMode = !jetpack.Comp.AutomaticMode;
jetpack.Comp.AutomaticUser = args.Performer;
Dirty(jetpack);

View File

@ -1,18 +1,4 @@
Entries:
- author: turtlemutt
changes:
- message: Add a new snack to the game, spicy pickle moffs!
type: Add
id: 1777
time: '2025-11-02T05:28:33.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/4425
- author: SirWarock
changes:
- message: Rollerbed sprites now don't stack when a patient is buckled to it!
type: Add
id: 1778
time: '2025-11-02T05:44:53.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/4521
- author: HTMLSystem
changes:
- message: Added arachnid and moth sprites for the night vision and thermal goggles
@ -4418,4 +4404,21 @@
id: 2277
time: '2026-05-09T22:19:48.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/5738
- author: Cepelinas1
changes:
- message: "In an effort to save money on tear gas grenade production, Security\
\ can now choose up to 4 items for their secbelt in the character loadout under\
\ the \u201CUtility\u201D section! Remember to actually choose what you want,\
\ unless you want to go in with just a baton and cuffs."
type: Add
id: 2278
time: '2026-05-09T23:04:26.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/5701
- author: Stxcking
changes:
- message: Added Water Wall Dispenser
type: Add
id: 2279
time: '2026-05-10T11:35:15.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/5792
Order: 1

File diff suppressed because one or more lines are too long

View File

@ -2,3 +2,4 @@ jetpack-activated-on-grid = The jetpack will automatically turn on when leaving
jetpack-activated-off-grid = The jetpack turns on.
jetpack-activates-automatically = The jetpack automatically turns on.
jetpack-deactivated = The jetpack will no longer turn on.
jetpack-too-complex = The jetpack seems to be too complicated to operate.

View File

@ -140,6 +140,7 @@ loadout-group-all-gun = Security Sidearm
loadout-group-security-gun-ammo = Ammunition
loadout-group-revolver-ammo = Ammunition
loadout-group-all-ammo = Ammunition
security-utility = Utility
# Justice
loadout-group-chiefjustice-head = Chief Justice head

View File

@ -86,12 +86,12 @@
- type: loadout
id: SecurityBelt
equipment:
belt: ClothingBeltSecurityFilled
belt: ClothingBeltSecurityBeltCustom # DeltaV - loadouts
- type: loadout
id: SecurityWebbing
equipment:
belt: ClothingBeltSecurityWebbingFilled
belt: ClothingBeltSecurityWebbingCustom # DeltaV - loadouts
# Outerclothing
- type: loadout

View File

@ -413,6 +413,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityAllFirearm # DeltaV - loadouts
- SecurityAllAmmo # DeltaV - loadouts
- SecurityUtility # DeltaV - loadouts
- type: roleLoadout
id: JobWarden
@ -432,6 +433,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityAllFirearm # DeltaV - loadouts
- SecurityAllAmmo # DeltaV - loadouts
- SecurityUtility # DeltaV - loadouts
- type: roleLoadout
id: JobSecurityOfficer
@ -452,6 +454,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityFirearm # DeltaV - loadouts
- SecurityFirearmAmmo # DeltaV - loadouts
- SecurityUtility # DeltaV - loadouts
- type: roleLoadout
id: JobDetective

View File

@ -44,6 +44,7 @@
- GroupSpeciesBreathToolSecurity
- SecurityFirearm # DeltaV - loadouts
- SecurityFirearmAmmo # DeltaV - loadouts
- SecurityUtility
# Wildcards
- type: roleLoadout

View File

@ -25,6 +25,30 @@
- id: SyringeEphedrine
- id: EmergencyMedipen
- type: entity
id: ClothingBeltSecurityBeltCustom
parent: ClothingBeltSecurity
suffix: Filled
components:
- type: EntityTableContainerFill
containers:
storagebase: !type:AllSelector
children:
- id: Stunbaton
- id: Handcuffs
- type: entity
id: ClothingBeltSecurityWebbingCustom
parent: ClothingBeltSecurityWebbing
suffix: Filled
components:
- type: EntityTableContainerFill
containers:
storagebase: !type:AllSelector
children:
- id: Stunbaton
- id: Handcuffs
- type: entity
id: ClothingBeltFoamSheathFilled
parent: ClothingBeltFoamSheath

View File

@ -0,0 +1,23 @@
- type: entity
parent: BaseDispenser
id: WaterDispenser
name: water dispenser
description: Wallmount water dispenser.
components:
- type: Sprite
sprite: _DV/Structures/Wallmounts/walldispenser.rsi
layers:
- state: waterdispenser
- state: fill-1
map: ["enum.SolutionContainerLayers.Fill"]
visible: false
- type: SolutionContainerVisuals
maxFillLevels: 5
fillBaseName: fill-
- type: SolutionContainerManager
solutions:
tank:
maxVol: 5000
reagents:
- ReagentId: Water
Quantity: 5000

View File

@ -145,3 +145,47 @@
id: SecurityClothingHandsGlovesFingerless
equipment:
gloves: ClothingHandsGlovesFingerless
# SecBelt utility
- type: loadout
id: FlashBangLoadout
storage:
belt:
- GrenadeFlashBang
- type: loadout
id: TearGasLoadout
storage:
belt:
- TearGasGrenade
- type: loadout
id: SecHoloProjectorLoadout
storage:
belt:
- HoloprojectorSecurity
- type: loadout
id: StingerGrenadeLoadout
storage:
belt:
- GrenadeStinger
- type: loadout
id: RadioHandheldSecurityLoadout
storage:
belt:
- RadioHandheldSecurity
- type: loadout
id: HandcuffsLoadout
storage:
belt:
- Handcuffs
- type: loadout
id: SecLiteLoadout
storage:
belt:
- FlashlightSeclite

View File

@ -414,6 +414,21 @@
- SecurityFirearmSpeedLoaderSpecialRubber
- SecurityFirearmSpeedLoaderSpecial
## Security utility
- type: loadoutGroup
id: SecurityUtility
name: security-utility
minLimit: 0
maxLimit: 4
loadouts:
- FlashBangLoadout
- TearGasLoadout
- StingerGrenadeLoadout
- RadioHandheldSecurityLoadout
- SecHoloProjectorLoadout
- HandcuffsLoadout
- SecLiteLoadout
## Security Gloves
- type: loadoutGroup
id: SecurityGloves

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

View File

@ -0,0 +1,29 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Modifications made by [scrivoy], Dispenser originally taken from paradise at https://github.com/ParadiseSS13/Paradise/commit/846ce475b2258a4336d8895f07f2c0f4053963bc, waterdispenser by @Stxcking (github)",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "waterdispenser"
},
{
"name": "fill-1"
},
{
"name": "fill-2"
},
{
"name": "fill-3"
},
{
"name": "fill-4"
},
{
"name": "fill-5"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 737 B