Merge branch 'master' into upstream-ops

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
This commit is contained in:
deltanedas 2024-11-18 21:42:45 +00:00 committed by GitHub
commit 069a73317e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
50 changed files with 592 additions and 109 deletions

View File

@ -0,0 +1,10 @@
using Content.Server.Objectives.Systems;
namespace Content.Server.Objectives.Components;
/// <summary>
/// Requires that a target dies once and only once.
/// Depends on <see cref="TargetObjectiveComponent"/> to function.
/// </summary>
[RegisterComponent, Access(typeof(TeachLessonConditionSystem))]
public sealed partial class TeachLessonConditionComponent : Component;

View File

@ -0,0 +1,48 @@
using Content.Server.Objectives.Components;
using Content.Shared.GameTicking;
using Content.Shared.Mind;
using Content.Shared.Objectives.Components;
namespace Content.Server.Objectives.Systems;
/// <summary>
/// Handles teach a lesson condition logic, does not assign target.
/// </summary>
public sealed class TeachLessonConditionSystem : EntitySystem
{
[Dependency] private readonly SharedMindSystem _mind = default!;
[Dependency] private readonly TargetObjectiveSystem _target = default!;
private readonly List<EntityUid> _wasKilled = [];
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<TeachLessonConditionComponent, ObjectiveGetProgressEvent>(OnGetProgress);
SubscribeLocalEvent<RoundRestartCleanupEvent>(OnRoundEnd);
}
private void OnGetProgress(Entity<TeachLessonConditionComponent> ent, ref ObjectiveGetProgressEvent args)
{
if (!_target.GetTarget(ent, out var target))
return;
args.Progress = GetProgress(target.Value);
}
private float GetProgress(EntityUid target)
{
if (TryComp<MindComponent>(target, out var mind) && mind.OwnedEntity != null && !_mind.IsCharacterDeadIc(mind))
return _wasKilled.Contains(target) ? 1f : 0f;
_wasKilled.Add(target);
return 1f;
}
// Clear the wasKilled list on round end
private void OnRoundEnd(RoundRestartCleanupEvent ev)
{
_wasKilled.Clear();
}
}

View File

@ -1,5 +1,10 @@
using Content.Shared.Damage;
using Content.Shared.Weapons.Ranged.Components;
using Content.Server.Power.Components; // Frontier
using Content.Server.Power.EntitySystems; // Frontier
using Content.Shared.Interaction; // Frontier
using Content.Shared.Examine; // Frontier
using Content.Shared.Power; // Frontier
using Robust.Shared.Map;
namespace Content.Server.Weapons.Ranged.Systems;
@ -39,4 +44,111 @@ public sealed partial class GunSystem
}
}
}
// New Frontiers - Shuttle Gun Power Draw - makes shuttle guns require power if they
// have an ApcPowerReceiverComponent
// This code is licensed under AGPLv3. See AGPLv3.txt
private void OnGunExamine(EntityUid uid, AutoShootGunComponent component, ExaminedEvent args)
{
if (!HasComp<ApcPowerReceiverComponent>(uid))
return;
// Powered is already handled by other power components
var enabled = Loc.GetString(component.On ? "gun-comp-enabled" : "gun-comp-disabled");
args.PushMarkup(enabled);
}
private void OnActivateGun(EntityUid uid, AutoShootGunComponent component, ActivateInWorldEvent args)
{
if (args.Handled || !args.Complex)
return;
component.On ^= true;
if (!component.On)
{
if (TryComp<ApcPowerReceiverComponent>(uid, out var apcPower) && component.OriginalLoad != 0)
apcPower.Load = 1;
DisableGun(uid, component);
args.Handled = true;
}
else if (CanEnable(uid, component))
{
if (TryComp<ApcPowerReceiverComponent>(uid, out var apcPower) && component.OriginalLoad != apcPower.Load)
apcPower.Load = component.OriginalLoad;
EnableGun(uid, component);
args.Handled = true;
}
}
/// <summary>
/// Tries to disable the AutoShootGun.
/// </summary>
public void DisableGun(EntityUid uid, AutoShootGunComponent component)
{
if (component.CanFire)
component.CanFire = false;
}
public bool CanEnable(EntityUid uid, AutoShootGunComponent component)
{
var xform = Transform(uid);
// Must be anchored to fire.
if (!xform.Anchored)
return false;
// No power needed? Always works.
if (!HasComp<ApcPowerReceiverComponent>(uid))
return true;
// Not switched on? Won't work.
if (!component.On)
return false;
return this.IsPowered(uid, EntityManager);
}
public void EnableGun(EntityUid uid, AutoShootGunComponent component, TransformComponent? xform = null)
{
if (!component.CanFire)
component.CanFire = true;
}
private void OnAnchorChange(EntityUid uid, AutoShootGunComponent component, ref AnchorStateChangedEvent args)
{
if (args.Anchored && CanEnable(uid, component))
EnableGun(uid, component);
else
DisableGun(uid, component);
}
private void OnGunInit(EntityUid uid, AutoShootGunComponent component, ComponentInit args)
{
if (TryComp<ApcPowerReceiverComponent>(uid, out var apcPower) && component.OriginalLoad == 0)
component.OriginalLoad = apcPower.Load;
if (!component.On)
return;
if (CanEnable(uid, component))
EnableGun(uid, component);
}
private void OnGunShutdown(EntityUid uid, AutoShootGunComponent component, ComponentShutdown args)
{
DisableGun(uid, component);
}
private void OnPowerChange(EntityUid uid, AutoShootGunComponent component, ref PowerChangedEvent args)
{
if (args.Powered && CanEnable(uid, component))
EnableGun(uid, component);
else
DisableGun(uid, component);
}
// End of Frontier modified code
}

View File

@ -25,6 +25,9 @@ using Robust.Shared.Player;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
using Robust.Shared.Containers;
using Content.Shared.Interaction; // Frontier
using Content.Shared.Examine; // Frontier
using Content.Shared.Power; // Frontier
namespace Content.Server.Weapons.Ranged.Systems;
@ -48,6 +51,12 @@ public sealed partial class GunSystem : SharedGunSystem
{
base.Initialize();
SubscribeLocalEvent<BallisticAmmoProviderComponent, PriceCalculationEvent>(OnBallisticPrice);
SubscribeLocalEvent<AutoShootGunComponent, ActivateInWorldEvent>(OnActivateGun); // Frontier
SubscribeLocalEvent<AutoShootGunComponent, ComponentInit>(OnGunInit); // Frontier
SubscribeLocalEvent<AutoShootGunComponent, ComponentShutdown>(OnGunShutdown); // Frontier
SubscribeLocalEvent<AutoShootGunComponent, ExaminedEvent>(OnGunExamine); // Frontier
SubscribeLocalEvent<AutoShootGunComponent, PowerChangedEvent>(OnPowerChange); // Frontier
SubscribeLocalEvent<AutoShootGunComponent, AnchorStateChangedEvent>(OnAnchorChange); // Frontier
}
private void OnBallisticPrice(EntityUid uid, BallisticAmmoProviderComponent component, ref PriceCalculationEvent args)

View File

@ -11,4 +11,21 @@ public sealed partial class AutoShootGunComponent : Component
{
[DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField]
public bool Enabled;
/// <summary>
/// Frontier - Whether the gun is switched on (e.g. through user interaction)
/// </summary>
[DataField, ViewVariables(VVAccess.ReadWrite)]
public bool On { get; set; } = true;
/// <summary>
/// Frontier - Whether or not the gun can actually fire (i.e. switched on and receiving power if needed)
/// </summary>
[ViewVariables(VVAccess.ReadWrite)]
public bool CanFire;
/// <summary>
/// Frontier - Amount of power this gun needs from an APC in Watts to function.
/// </summary>
public float OriginalLoad { get; set; } = 0;
}

View File

@ -228,6 +228,9 @@ public abstract partial class SharedGunSystem : EntitySystem
private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun)
{
if (TryComp<AutoShootGunComponent>(gunUid, out var auto) && !auto.CanFire) // Frontier
return; // Frontier
if (gun.FireRateModified <= 0f ||
!_actionBlockerSystem.CanAttack(user))
return;

View File

@ -1,68 +1,4 @@
Entries:
- author: deltanedas
changes:
- message: The fishops advanced user manual is now available in all finer bookstores
near you.
type: Add
id: 175
time: '2023-12-21T02:08:37.0000000+00:00'
- author: Velcroboy and Kilk
changes:
- message: Added departmental winter boots!
type: Add
id: 176
time: '2023-12-21T02:12:04.0000000+00:00'
- author: Loonessia
changes:
- message: Deep fried burned food items should now have a description
type: Fix
id: 177
time: '2023-12-21T02:15:30.0000000+00:00'
- author: Adrian16199
changes:
- message: Head of personel has gotten back their armoured coat.
type: Add
id: 178
time: '2023-12-21T02:17:25.0000000+00:00'
- author: DebugOk
changes:
- message: Merged wizden. The upstream changelog may contain incorrect entries.
type: Add
- message: The random client freezes/crashes should be mostly gone.
type: Fix
id: 179
time: '2023-12-22T23:46:32.0000000+00:00'
- author: ps3moira
changes:
- message: Reverted in-hand E-Sword sprites.
type: Tweak
id: 180
time: '2023-12-24T02:56:01.0000000+00:00'
- author: deltanedas
changes:
- message: Ore Bags of Holding now use bluespace crystals instead of uranium.
type: Tweak
id: 181
time: '2023-12-24T19:58:23.0000000+00:00'
- author: Adrian16199
changes:
- message: Fixes cyborgs spawning with nearsighted trait.
type: Fix
id: 182
time: '2023-12-27T17:55:07.0000000+00:00'
- author: Adrian16199
changes:
- message: 'Added 3 classic hairstyles: Long hair, Long hair 2, Long hair 3.'
type: Add
id: 183
time: '2023-12-27T18:23:39.0000000+00:00'
- author: BramvanZijp
changes:
- message: Security dogs now can wear an id card and radio, are able to drag things,
and have received additional combat training.
type: Tweak
id: 184
time: '2023-12-28T09:32:10.0000000+00:00'
- author: Adrian16199
changes:
- message: Gives shoukou an oxygen miner until air actualy works.
@ -3732,3 +3668,74 @@
id: 674
time: '2024-11-14T18:08:37.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2193
- author: Eternally-Confused
changes:
- message: The Corpsman now receives security magboots in their suit storage
type: Tweak
id: 675
time: '2024-11-16T12:37:49.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2212
- author: Radezolid
changes:
- message: Now medical belts have a slot for medkits.
type: Tweak
id: 676
time: '2024-11-16T14:09:13.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2209
- author: JustAnOrange, Lyndomen
changes:
- message: Syndicate recruiters arrive with more swagger
type: Add
id: 677
time: '2024-11-17T00:46:38.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2217
- author: DisposableCrewmember42
changes:
- message: Prosecutors now get the towels they deserve.
type: Tweak
id: 678
time: '2024-11-17T00:48:14.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2215
- author: Radezolid
changes:
- message: Beanbags hits hard again, bartenders rejoice!
type: Tweak
id: 679
time: '2024-11-17T04:45:10.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2219
- author: Stop-Signs
changes:
- message: Heads of Security will now have an energy shotgun in their locker.
type: Add
id: 680
time: '2024-11-17T13:10:01.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2182
- author: Radezolid
changes:
- message: Removed the Chief Justice cloak from the uniform printer.
type: Remove
id: 681
time: '2024-11-17T13:24:04.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2180
- author: Beck Thompson
changes:
- message: Generic radio implants are no longer syndicate branded.
type: Tweak
id: 682
time: '2024-11-17T19:06:47.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2159
- author: Lyndomen
changes:
- message: Security roles may select their service weapon in loadouts, along with
their ammunition of choice
type: Add
id: 683
time: '2024-11-18T02:08:58.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2214
- author: Stareostar, Mylegsaresharp, Aikakakah
changes:
- message: Added new lobby art to the rotation!
type: Add
id: 684
time: '2024-11-18T17:05:11.0000000+00:00'
url: https://github.com/DeltaV-Station/Delta-v/pull/2226

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
gun-comp-enabled = The gun is turned [color=green]on[/color].
gun-comp-disabled = The gun is turned [color=red]off[/color].

View File

@ -0,0 +1 @@
objective-condition-teach-person-title = Teach {$targetName}, {CAPITALIZE($job)} a lesson

View File

@ -93,6 +93,13 @@ loadout-group-brig-medic-outerclothing = Corpsman outer clothing
loadout-group-prison-guard-head = Prison Guard head
loadout-group-prison-guard-jumpsuit = Prison Guard jumpsuit
loadout-group-security-gun = Security Sidearm
loadout-group-revolver-gun = Security Revolver
loadout-group-all-gun = Security Sidearm
loadout-group-security-gun-ammo = Ammunition
loadout-group-revolver-ammo = Ammunition
loadout-group-all-ammo = Ammunition
# Justice
loadout-group-chiefjustice-head = Chief Justice head
loadout-group-chiefjustice-jumpsuit = Chief Justice jumpsuit

View File

@ -11,9 +11,6 @@ uplink-syndicate-radio-implanter-desc = A cranial implant that lets you talk on
uplink-syndicate-radio-implanter-bundle-name = Syndicate Radio Implanter Bundle
uplink-syndicate-radio-implanter-bundle-desc = Two implanters for the price of one and a half! Share one with your Syndicate friend.
uplink-generic-radio-implanter-name = Generic Radio Implanter
uplink-generic-radio-implanter-desc = A cranial implant with a bluespace compartment for a single encryption key (not included). Put in a key of your choice, and you can talk using it like you would with any headset.
uplink-doorjack-name = Airlock Access Override
uplink-doorjack-desc = A specialized cryptographic sequencer, designed solely to doorjack NanoTrasen's updated airlocks. Does not tamper with anything else.

View File

@ -327,7 +327,7 @@
- !type:NestedSelector # DeltaV
tableId: LockerFillHeadOfSecurityDeltaV
- id: BookSecretDocuments
#- id: WeaponEnergyShotgun # DeltaV - replaced by X-01
- id: WeaponEnergyShotgun
- id: BookSpaceLaw
- id: BoxEncryptionKeySecurity
- id: CigarGoldCase

View File

@ -154,6 +154,7 @@
- id: TrackingImplanter
amount: 2
- id: ClothingOuterHardsuitCombatCorpsman
- id: ClothingShoesBootsSecurityMagboots # Added security magboots.
- id: BoxSterileMask
- id: ClothingHeadHatBeretCorpsman # Add corpsman beret.
- id: ClothingHeadsetBrigmedic # Add spare headset.

View File

@ -267,6 +267,7 @@
- id: OxygenTankFilled
- id: ClothingOuterHardsuitCombatCorpsman
- id: ClothingMaskBreath
- id: ClothingShoesBootsSecurityMagboots #Added security magboots.
- type: AccessReader
access: [ [ "Corpsman" ] ]

View File

@ -7,3 +7,13 @@
cost: 500
category: Medical
group: market
- type: cargoProduct
id: RadioImplantCrate
icon:
sprite: Objects/Specific/Medical/implanter.rsi
state: implanter0
product: CrateGenericRadioImplants
cost: 1500
category: Medical
group: market

View File

@ -0,0 +1,10 @@
- type: entity
id: CrateGenericRadioImplants
parent: CrateMedical
name: radio implant crate
description: Communicate without having a pesky headset on your ear.
components:
- type: StorageFill
contents:
- id: GenericRadioImplanter
amount: 3

View File

@ -75,21 +75,6 @@
categories:
- UplinkImplants
- type: listing
id: UplinkGenericRadioImplanter
name: uplink-generic-radio-implanter-name
description: uplink-generic-radio-implanter-desc
icon: { sprite: /Textures/Objects/Devices/encryption_keys.rsi, state: crypt_rusted }
productEntity: GenericRadioImplanter
discountCategory: usualDiscounts
discountDownTo:
Telecrystal: 1
cost:
Telecrystal: 2
categories:
- UplinkImplants
- type: listing
id: UplinkDoorjack
name: uplink-doorjack-name

View File

@ -407,3 +407,14 @@
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi
- type: Clothing
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/black_turtleneck.rsi
- type: entity
parent: ClothingUniformBase
id: ClothingUniformCybersunAttorney
name: cybersun attorney suit
description: This durable Suit Jacket and Turtleneck Combo doubles as an Accounting suit, and includes an extra button. Take that, Nerd-otrasen!
components:
- type: Sprite
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/cybersunattorney.rsi
- type: Clothing
sprite: DeltaV/Clothing/Uniforms/Jumpsuit/cybersunattorney.rsi

View File

@ -7,7 +7,7 @@
implant: BionicSyrinxImplant
- type: entity
parent: BaseImplantOnlyImplanterSyndi
parent: BaseImplantOnlyImplanter
id: GenericRadioImplanter
suffix: generic radio
components:

View File

@ -21,7 +21,7 @@
parent: StorageImplant
id: RadioImplant
name: generic radio implant
description: This implant contains a radio augmentation with a bluespace compartment for an encryption key. It allows its user to communicate on the key's channels.
description: This implant contains a radio augmentation with a hidden compartment for an encryption key. It allows its user to communicate on the key's channels.
components:
- type: SubdermalImplant
implantAction: ActionOpenRadioImplant

View File

@ -42,7 +42,7 @@
tags:
- CartridgeSpecial
- SpeedLoaderSpecial
proto: CartridgeSpecialRubber
proto: CartridgeSpecial
capacity: 6
chambers: [ True, True, True, True, True, True ]
ammoSlots: [ null, null, null, null, null, null ]
@ -67,7 +67,7 @@
tags:
- CartridgeSpecial
- SpeedLoaderSpecial
proto: CartridgeSpecialRubber
proto: CartridgeSpecial
capacity: 6
chambers: [ True, True, True, True, True, True ]
ammoSlots: [ null, null, null, null, null, null ]

View File

@ -0,0 +1,48 @@
- type: loadout
id: SecurityRevolverWeaponRevolverLucky
equipment:
pocket1: WeaponRevolverLucky
- type: loadout
id: SecurityRevolverInspector
equipment:
pocket1: WeaponRevolverInspector
- type: loadout
id: SecurityFirearmWeaponRevolverFitz
equipment:
pocket1: WeaponRevolverFitz
- type: loadout
id: SecurityFirearmSpeedLoaderMagnumRubber
storage:
back:
- SpeedLoaderMagnumRubber
- type: loadout
id: SecurityFirearmSpeedLoaderMagnum
storage:
back:
- SpeedLoaderMagnum
- type: loadout
id: SecurityFirearmSpeedLoaderSpecialRubber
storage:
back:
- SpeedLoaderSpecialRubber
- type: loadout
id: SecurityFirearmSpeedLoaderSpecial
storage:
back:
- SpeedLoaderSpecial
- type: loadout
id: SecurityFirearmWeaponRevolverK38Master
equipment:
pocket1: WeaponRevolverK38Master
- type: loadout
id: SecurityFirearmWeaponRevolverDeckard
equipment:
pocket1: WeaponRevolverDeckard

View File

@ -0,0 +1,31 @@
- type: loadout
id: SecurityFirearmWeaponPistolPollock
equipment:
pocket1: WeaponPistolPollock
- type: loadout
id: SecurityFirearmWeaponPistolSLP57
equipment:
pocket1: WeaponPistolSLP57
- type: loadout
id: SecurityFirearmWeaponPistolMk58
equipment:
pocket1: WeaponPistolMk58
- type: loadout
id: SecurityFirearmWeaponDisabler
equipment:
pocket1: WeaponDisabler
- type: loadout
id: SecurityFirearmMagazinePistolRubber
storage:
back:
- MagazinePistolRubber
- type: loadout
id: SecurityFirearmMagazinePistol
storage:
back:
- MagazinePistol

View File

@ -140,6 +140,77 @@
loadouts:
- MimeHead
## Security Guns
- type: loadoutGroup
id: SecurityFirearm
name: loadout-group-security-gun
minLimit: 0
maxLimit: 1
loadouts:
- SecurityFirearmWeaponPistolPollock
- SecurityFirearmWeaponPistolSLP57
- SecurityFirearmWeaponPistolMk58
- SecurityFirearmWeaponDisabler
- type: loadoutGroup
id: SecurityRevolverFirearm
name: loadout-group-revolver-gun
minLimit: 0
maxLimit: 1
loadouts:
- SecurityRevolverInspector
- SecurityFirearmWeaponRevolverFitz
- SecurityRevolverWeaponRevolverLucky
- type: loadoutGroup
id: SecurityFirearmAmmo
name: loadout-group-security-gun-ammo
minLimit: 0
maxLimit: 2
loadouts:
- SecurityFirearmMagazinePistol
- SecurityFirearmMagazinePistolRubber
- type: loadoutGroup
id: SecurityRevolverAmmo
name: loadout-group-revolver-ammo
minLimit: 0
maxLimit: 2
loadouts:
- SecurityFirearmSpeedLoaderMagnumRubber
- SecurityFirearmSpeedLoaderMagnum
- SecurityFirearmSpeedLoaderSpecialRubber
- SecurityFirearmSpeedLoaderSpecial
- type: loadoutGroup
id: SecurityAllFirearm
name: loadout-group-all-gun
minLimit: 0
maxLimit: 1
loadouts:
- SecurityFirearmWeaponPistolPollock
- SecurityFirearmWeaponPistolSLP57
- SecurityFirearmWeaponPistolMk58
- SecurityFirearmWeaponDisabler
- SecurityRevolverInspector
- SecurityFirearmWeaponRevolverFitz
- SecurityRevolverWeaponRevolverLucky
- SecurityFirearmWeaponRevolverDeckard
- SecurityFirearmWeaponRevolverK38Master
- type: loadoutGroup
id: SecurityAllAmmo
name: loadout-group-all-ammo
minLimit: 0
maxLimit: 2
loadouts:
- SecurityFirearmMagazinePistol
- SecurityFirearmMagazinePistolRubber
- SecurityFirearmSpeedLoaderMagnumRubber
- SecurityFirearmSpeedLoaderMagnum
- SecurityFirearmSpeedLoaderSpecialRubber
- SecurityFirearmSpeedLoaderSpecial
# Justice
## Chief Justice
- type: loadoutGroup

View File

@ -28,6 +28,8 @@
- SurvivalSecurity
- Trinkets
- GroupSpeciesBreathToolCorpsman
- SecurityFirearm
- SecurityFirearmAmmo
# Justice
- type: roleLoadout

View File

@ -50,3 +50,32 @@
- type: StealCondition
stealGroup: AnimalSilvia
owner: job-name-cmo
# teach lesson
- type: entity
abstract: true
parent: BaseTargetObjective
id: BaseTeachLessonObjective
components:
- type: Objective
unique: false
icon:
sprite: Objects/Weapons/Guns/Pistols/viper.rsi
state: icon
- type: ObjectiveBlacklistRequirement
blacklist:
components:
- SocialObjective
- type: entity
parent: [BaseTraitorObjective, BaseTeachLessonObjective]
id: TeachLessonRandomPersonObjective
description: Kill them, and show everyone we mean business. They only need to die once.
components:
- type: Objective
difficulty: 1.75
unique: false
- type: TargetObjective
title: objective-condition-teach-person-title
- type: PickRandomPerson
- type: TeachLessonCondition

View File

@ -13,8 +13,7 @@
- type: startingGear
id: SyndicateRecruiterGear
equipment:
jumpsuit: ClothingUniformJumpsuitDetectiveGrey
jumpskirt: ClothingUniformJumpskirtDetectiveGrey
jumpsuit: ClothingUniformCybersunAttorney
back: ClothingBackpackSatchel
head: ClothingHeadHatFedoraBrown
eyes: ClothingEyesGlassesSunglasses

View File

@ -34,7 +34,7 @@
id: CorpsmanPDA
ears: ClothingHeadsetBrigmedic
belt: ClothingBeltCorpsmanWebbingFilled
pocket1: WeaponPistolMk58Nonlethal
# pocket1: WeaponPistolMk58Nonlethal # DeltaV - loadouts
storage:
back:
- EmergencyRollerBedSpawnFolded
@ -44,4 +44,4 @@
- BruteAutoInjector
- BurnAutoInjector
- BurnAutoInjector
- MagazinePistol
# - MagazinePistol # DeltaV - loadouts

View File

@ -308,6 +308,21 @@
tags:
- Wrench
sprite: Clothing/Belt/belt_overlay.rsi
# DeltaV - Add medkit slot to medical belts
- type: ItemSlots
slots:
medkit:
name: clothing-belt-medkit
whitelist:
tags:
- Medkit
insertOnInteract: false
- type: ContainerContainer
containers:
storagebase: !type:Container
ents: []
medkit: !type:ContainerSlot {}
# End of DeltaV - Add medkit slot to medical belts.
- type: Appearance
- type: entity

View File

@ -26,7 +26,7 @@
types:
Blunt: 10
- type: StaminaDamageOnCollide
damage: 40 # 3 hits to stun
damage: 55 # DeltaV - Modified the beanbag stamina damage, was 40.
- type: entity
id: PelletShotgun

View File

@ -1030,15 +1030,16 @@
bounds: "-0.15,-0.3,0.15,0.3"
hard: false
mask:
- Impassable
- BulletImpassable
# - Impassable
# - BulletImpassable
- Opaque # Delta-V changed from impassable so that they can go through windows
fly-by: *flybyfixture
- type: Ammo
- type: Projectile
impactEffect: BulletImpactEffectOrangeDisabler
damage:
types:
Heat: 13
Heat: 10 # DeltaV changed from 13 to 10
- type: entity
name: wide laser barrage

View File

@ -1182,7 +1182,6 @@
- ClothingOuterWinterQM
- ClothingOuterWinterRD
- ClothingOuterChiefJustice # DeltaV - Chief Justice
- ClothingNeckCloakCJ # DeltaV - Chief Justice
- ClothingOuterStasecSweater # DeltaV - added stasec sweater to uniform printer.
- ClothingOuterWinterMusician
- ClothingOuterWinterClown

View File

@ -363,3 +363,6 @@
count: 5
- type: Machine
board: ShuttleGunKineticCircuitboard
- type: ExtensionCableReceiver # Frontier
- type: ApcPowerReceiver # Frontier
powerLoad: 1500 # Frontier

View File

@ -322,8 +322,8 @@
effects:
- !type:JobRequirementLoadoutEffect
requirement:
!type:RoleTimeRequirement
role: JobLawyer
!type:DepartmentTimeRequirement # DeltaV - Use Justice department time instead of Lawyer job time
department: Justice
time: 360000 # 100hr
storage:
back:

View File

@ -370,6 +370,8 @@
- Trinkets
- SecurityStar
- GroupSpeciesBreathToolSecurity
- SecurityAllFirearm # DeltaV - loadouts
- SecurityAllAmmo # DeltaV - loadouts
- type: roleLoadout
id: JobWarden
@ -385,6 +387,8 @@
- Trinkets
- SecurityStar
- GroupSpeciesBreathToolSecurity
- SecurityAllFirearm # DeltaV - loadouts
- SecurityAllAmmo # DeltaV - loadouts
- type: roleLoadout
id: JobSecurityOfficer
@ -401,6 +405,8 @@
- Trinkets
- SecurityStar
- GroupSpeciesBreathToolSecurity
- SecurityFirearm # DeltaV - loadouts
- SecurityFirearmAmmo # DeltaV - loadouts
- type: roleLoadout
id: JobDetective
@ -416,6 +422,8 @@
- Trinkets
- SecurityStar
- GroupSpeciesBreathToolSecurity
- SecurityRevolverFirearm # DeltaV - loadouts
- SecurityRevolverAmmo # DeltaV - loadouts
- type: roleLoadout
id: JobSecurityCadet

View File

@ -40,6 +40,8 @@
- SurvivalSecurity
- Trinkets
- GroupSpeciesBreathToolSecurity
- SecurityFirearm # DeltaV - loadouts
- SecurityFirearmAmmo # DeltaV - loadouts
# Wildcards
- type: roleLoadout

View File

@ -30,4 +30,9 @@
equipment:
eyes: ClothingEyesGlassesSecurity
id: PrisonGuardPDA
ears: ClothingHeadsetPrisonGuard #DeltaV
ears: ClothingHeadsetPrisonGuard # begin DeltaV
storage:
back:
- Flash
# - MagazinePistol # end DeltaV

View File

@ -32,7 +32,8 @@
- type: weightedRandom
id: TraitorObjectiveGroupKill
weights:
KillRandomPersonObjective: 1
# KillRandomPersonObjective: 1 # DeltaV Replaced for Teach Lesson
TeachLessonRandomPersonObjective: 1
KillRandomHeadObjective: 0.25
- type: weightedRandom

View File

@ -29,7 +29,7 @@
eyes: ClothingEyesGlassesSecurity
id: DetectivePDA
ears: ClothingHeadsetSecurity
belt: ClothingBeltHolsterFilled
belt: ClothingBeltHolster # DeltaV - loadouts
storage:
back:
- Flash

View File

@ -52,8 +52,8 @@
id: HoSPDA
gloves: ClothingHandsGlovesCombat
ears: ClothingHeadsetAltSecurity
pocket1: WeaponPistolMk58Nonlethal
# pocket1: WeaponPistolMk58Nonlethal # DeltaV - loadouts
storage:
back:
- Flash
- MagazinePistol
# - MagazinePistol # DeltaV - loadouts

View File

@ -33,7 +33,7 @@
id: SecurityCadetPDA
ears: ClothingHeadsetSecurity
belt: ClothingBeltSecurityFilled
# pocket1: WeaponPistolMk58Nonlethal # DeltaV - Security Cadet doesn't spawn with a gun
pocket1: WeaponDisabler # DeltaV - loadouts, Security Cadet doesn't spawn with a gun
pocket2: BookSecurity
storage:
back:

View File

@ -27,8 +27,8 @@
equipment:
eyes: ClothingEyesGlassesSecurity
ears: ClothingHeadsetSecurity
pocket1: WeaponPistolMk58Nonlethal
# pocket1: WeaponPistolMk58Nonlethal # DeltaV - loadouts
storage:
back:
- Flash
- MagazinePistol
# - MagazinePistol # DeltaV - loadouts

View File

@ -35,8 +35,8 @@
eyes: ClothingEyesGlassesSecurity
id: WardenPDA
ears: ClothingHeadsetSecurity
pocket1: WeaponPistolMk58Nonlethal
# pocket1: WeaponPistolMk58Nonlethal # DeltaV - loadouts
storage:
back:
- Flash
- MagazinePistol
# - MagazinePistol # DeltaV - loadouts

View File

@ -45,3 +45,15 @@
- type: lobbyBackground
id: breakingspace
background: /Textures/LobbyScreens/breakingspace.webp
- type: lobbyBackground
id: StationCrewBoard
background: /Textures/LobbyScreens/station-crew-board.webp
- type: lobbyBackground
id: CorporateRats
background: /Textures/LobbyScreens/Corporate_Rats.webp
- type: lobbyBackground
id: SecurityCamera
background: /Textures/LobbyScreens/DeltaVContestWinner.webp

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

View File

@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Made by JustanOrange",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "icon"
},
{
"name": "equipped-INNERCLOTHING",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
}
]
}