Рандомные фиксы и пересмотр хранилищ с предметами (#381)
* add: fixed wrong item rotation in inventory * fix: forcepreset no longer starts round * fix: fix localisation * add: forcepreset command logging * add: Storage and items rework, part 1 * rework: item size rework part 2 * add: blood loss accent rework * no spaces
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
using Content.Server._White.Accent.Bloodloss;
|
||||
using Content.Server.Body.Components;
|
||||
using Content.Server.Chemistry.Containers.EntitySystems;
|
||||
using Content.Server.Chemistry.ReactionEffects;
|
||||
@@ -43,6 +44,7 @@ public sealed class BloodstreamSystem : EntitySystem
|
||||
[Dependency] private readonly AlertsSystem _alertsSystem = default!;
|
||||
[Dependency] private readonly ForensicsSystem _forensicsSystem = default!;
|
||||
[Dependency] private readonly MovementSpeedModifierSystem _speed = default!; // WD
|
||||
[Dependency] private readonly BloodLossAccent _bloodLossAccent = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -158,7 +160,7 @@ public sealed class BloodstreamSystem : EntitySystem
|
||||
uid,
|
||||
(float) bloodstream.UpdateInterval.TotalSeconds * 2,
|
||||
applySlur: false);
|
||||
_stutteringSystem.DoStutter(uid, bloodstream.UpdateInterval * 2, refresh: false);
|
||||
_bloodLossAccent.StartBloodLossAccent(uid, bloodstream.UpdateInterval * 2, refresh: false);
|
||||
|
||||
// storing the drunk and stutter time so we can remove it independently from other effects additions
|
||||
bloodstream.StatusTime += bloodstream.UpdateInterval * 2;
|
||||
@@ -173,7 +175,7 @@ public sealed class BloodstreamSystem : EntitySystem
|
||||
|
||||
// Remove the drunk effect when healthy. Should only remove the amount of drunk and stutter added by low blood level
|
||||
_drunkSystem.TryRemoveDrunkenessTime(uid, bloodstream.StatusTime.TotalSeconds);
|
||||
_stutteringSystem.DoRemoveStutterTime(uid, bloodstream.StatusTime.TotalSeconds);
|
||||
_bloodLossAccent.StopBloodLossAccent(uid, bloodstream.StatusTime.TotalSeconds);
|
||||
// Reset the drunk and stutter time to zero
|
||||
bloodstream.StatusTime = TimeSpan.Zero;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
using System.Linq;
|
||||
using Content.Server.Administration;
|
||||
using Content.Server.Administration.Logs;
|
||||
using Content.Server.Chat.Managers;
|
||||
using Content.Server.GameTicking.Presets;
|
||||
using Content.Shared.Administration;
|
||||
using Content.Shared.Database;
|
||||
using Robust.Shared.Console;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
@@ -10,6 +13,9 @@ namespace Content.Server.GameTicking.Commands
|
||||
[AdminCommand(AdminFlags.Round)]
|
||||
sealed class ForcePresetCommand : IConsoleCommand
|
||||
{
|
||||
[Dependency] private readonly IAdminLogManager _adminLogger = default!;
|
||||
[Dependency] private readonly IChatManager _chatManager = default!;
|
||||
|
||||
public string Command => "forcepreset";
|
||||
public string Description => "Forces a specific game preset to start for the current lobby.";
|
||||
public string Help => $"Usage: {Command} <preset>";
|
||||
@@ -36,8 +42,19 @@ namespace Content.Server.GameTicking.Commands
|
||||
return;
|
||||
}
|
||||
|
||||
ticker.SetGamePreset(type, true);
|
||||
shell.WriteLine($"Forced the game to start with preset {name}.");
|
||||
ticker.SetGamePreset(type);
|
||||
|
||||
_adminLogger.Add(LogType.EventStarted, $"Forced {type.ID} for secret.");
|
||||
|
||||
|
||||
var player = "Someone";
|
||||
|
||||
if (shell.Player != null)
|
||||
player = shell.Player.Name;
|
||||
|
||||
_chatManager.SendAdminAnnouncement($"{player} forced {type.ID} for secret.");
|
||||
shell.WriteLine($"forced the game to start with preset {name}.");
|
||||
|
||||
ticker.UpdateInfoText();
|
||||
}
|
||||
|
||||
|
||||
66
Content.Server/_White/Accent/Bloodloss/BloodLossAccent.cs
Normal file
66
Content.Server/_White/Accent/Bloodloss/BloodLossAccent.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using System.Text;
|
||||
using Content.Server.Speech;
|
||||
using Content.Shared.StatusEffect;
|
||||
using Robust.Shared.Random;
|
||||
|
||||
namespace Content.Server._White.Accent.Bloodloss;
|
||||
|
||||
public sealed class BloodLossAccent : EntitySystem
|
||||
{
|
||||
[Dependency] private readonly StatusEffectsSystem _statusEffectsSystem = default!;
|
||||
[Dependency] private readonly IRobustRandom _random = default!;
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
SubscribeLocalEvent<BloodLossAccentComponent, AccentGetEvent>(OnAccent);
|
||||
}
|
||||
|
||||
public void StartBloodLossAccent(EntityUid uid, TimeSpan time, bool refresh, StatusEffectsComponent? status = null)
|
||||
{
|
||||
if (!Resolve(uid, ref status, false))
|
||||
return;
|
||||
|
||||
_statusEffectsSystem.TryAddStatusEffect<BloodLossAccentComponent>(uid, "BloodLoss", time, refresh, status);
|
||||
}
|
||||
|
||||
public void StopBloodLossAccent(EntityUid uid, double timeRemoved)
|
||||
{
|
||||
_statusEffectsSystem.TryRemoveTime(uid, "BloodLoss", TimeSpan.FromSeconds(timeRemoved));
|
||||
}
|
||||
|
||||
private void OnAccent(EntityUid uid, BloodLossAccentComponent component, AccentGetEvent args)
|
||||
{
|
||||
args.Message = Accentuate(args.Message, component);
|
||||
}
|
||||
|
||||
public string Accentuate(string message, BloodLossAccentComponent component)
|
||||
{
|
||||
if (string.IsNullOrEmpty(message))
|
||||
{
|
||||
return message;
|
||||
}
|
||||
|
||||
var result = new StringBuilder();
|
||||
string[] words = message.Split(' ');
|
||||
|
||||
foreach (var word in words)
|
||||
{
|
||||
if (word.Length >= 3 && _random.NextDouble() < component.ReplaceProb)
|
||||
{
|
||||
int start = Random.Shared.Next(1, word.Length - 1);
|
||||
int end = start + Random.Shared.Next(1, word.Length - start);
|
||||
|
||||
result.Append(word.Substring(0, start) + component.ToReplace + word.Substring(end));
|
||||
}
|
||||
else
|
||||
{
|
||||
result.Append(word);
|
||||
}
|
||||
|
||||
result.Append(' ');
|
||||
}
|
||||
|
||||
return result.ToString().TrimEnd();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace Content.Server._White.Accent.Bloodloss;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class BloodLossAccentComponent : Component
|
||||
{
|
||||
[DataField]
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public float ReplaceProb = 0.6f;
|
||||
|
||||
[DataField]
|
||||
[ViewVariables(VVAccess.ReadWrite)]
|
||||
public string ToReplace = "...";
|
||||
}
|
||||
@@ -3,8 +3,8 @@
|
||||
hands-system-missing-equipment-slot = У вас нет { $slotName }, из которого можно что-то взять!
|
||||
hands-system-empty-equipment-slot = В вашем { $slotName } нет ничего, что можно было бы вынуть!
|
||||
# Examine text after when they're holding something (in-hand)
|
||||
comp-hands-examine-empty = { CAPITALIZE(SUBJECT($user)) } ничего не удерживает.
|
||||
comp-hands-examine-empty = { CAPITALIZE(SUBJECT($user)) } ничего не держит.
|
||||
comp-hands-examine-wrapper = [color=paleturquoise]{$item}[/color]
|
||||
comp-hands-examine = { CAPITALIZE(SUBJECT($user)) } удерживает { $items }.
|
||||
comp-hands-examine = { CAPITALIZE(SUBJECT($user)) } держит { $items }.
|
||||
hands-system-blocked-by = Руки заблокированы этим:
|
||||
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
description: A cardboard box for storing things.
|
||||
components:
|
||||
- type: Item
|
||||
size: Large
|
||||
shape:
|
||||
- 0,0,2,2
|
||||
size: Normal
|
||||
shape:
|
||||
- 0,0,1,1
|
||||
- type: Storage
|
||||
maxItemSize: Small
|
||||
grid:
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
- type: StorageFill
|
||||
contents:
|
||||
- id: Syringe
|
||||
amount: 6
|
||||
amount: 4
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: box
|
||||
|
||||
@@ -27,7 +27,9 @@
|
||||
grid:
|
||||
- 0,0,7,1
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
size: Large
|
||||
shape:
|
||||
- 0, 0, 4, 1
|
||||
- type: ContainerContainer
|
||||
containers:
|
||||
storagebase: !type:Container
|
||||
|
||||
@@ -548,7 +548,9 @@
|
||||
- type: Clothing
|
||||
sprite: Clothing/Belt/sheath.rsi
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
size: Huge
|
||||
shape:
|
||||
- 0, 0, 4, 0
|
||||
- type: ItemSlots
|
||||
slots:
|
||||
item:
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
id: ClothingNeckMantleBase
|
||||
abstract: true
|
||||
name: base mantle
|
||||
description: based
|
||||
components:
|
||||
- type: Item
|
||||
storedRotation: -90
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleCap
|
||||
name: captain's mantle
|
||||
description: A comfortable and chique mantle befitting of only the most experienced captain.
|
||||
@@ -10,7 +20,7 @@
|
||||
sprite: Clothing/Neck/mantles/capmantle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleCE
|
||||
name: chief engineer's mantle
|
||||
description: High visibility, check. RIG system, check. High capacity cell, check. Everything a chief engineer could need in a stylish mantle.
|
||||
@@ -21,7 +31,7 @@
|
||||
sprite: Clothing/Neck/mantles/cemantle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleCMO
|
||||
name: chief medical officer's mantle
|
||||
description: For a CMO that has been in enough medbays to know that more PPE means less central command dry cleaning visits when the shift is over.
|
||||
@@ -32,7 +42,7 @@
|
||||
sprite: Clothing/Neck/mantles/cmomantle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleHOP
|
||||
name: head of personnel's mantle
|
||||
description: A good HOP knows that paper pushing is only half the job... petting your dog and looking fashionable is the other half.
|
||||
@@ -43,7 +53,7 @@
|
||||
sprite: Clothing/Neck/mantles/hopmantle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleHOS
|
||||
name: head of security's mantle
|
||||
description: Shootouts with nukies are just another Tuesday for this HoS. This mantle is a symbol of commitment to the station.
|
||||
@@ -54,7 +64,7 @@
|
||||
sprite: Clothing/Neck/mantles/hosmantle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleRD
|
||||
name: research director's mantle
|
||||
description: For when long days in the office consist of explosives, poisonous gas, murder robots, and a fresh pizza from cargo; this mantle will keep you comfy.
|
||||
@@ -65,7 +75,7 @@
|
||||
sprite: Clothing/Neck/mantles/rdmantle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleQM
|
||||
name: quartermaster's mantle
|
||||
description: For the master of goods and materials to rule over the department, a befitting mantle to show off superiority!
|
||||
@@ -76,7 +86,7 @@
|
||||
sprite: Clothing/Neck/mantles/qmmantle.rsi
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckMantleBase
|
||||
id: ClothingNeckMantleInspector
|
||||
name: inspector's mantle
|
||||
description: Dark mantle that highlights your intimidating figure. These are the shoulders!
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
id: ClothingNeckTieBase
|
||||
abstract: true
|
||||
name: red-tie
|
||||
description: A neosilk clip-on red tie.
|
||||
components:
|
||||
- type: Item
|
||||
storedRotation: 135
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckTieBase
|
||||
id: ClothingNeckTieRed
|
||||
name: red-tie
|
||||
description: A neosilk clip-on red tie.
|
||||
@@ -15,7 +25,7 @@
|
||||
- ClothMade
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckTieBase
|
||||
id: ClothingNeckTieDet
|
||||
name: detective's tie
|
||||
description: A loosely tied necktie, a perfect accessory for the over-worked detective.
|
||||
@@ -24,9 +34,9 @@
|
||||
sprite: Clothing/Neck/Ties/dettie.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/Neck/Ties/dettie.rsi
|
||||
|
||||
|
||||
- type: entity
|
||||
parent: ClothingNeckBase
|
||||
parent: ClothingNeckTieBase
|
||||
id: ClothingNeckTieSci
|
||||
name: scientist's tie
|
||||
description: Why do we all have to wear these ridiculous ties?
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
#Basic armor vest
|
||||
- type: entity
|
||||
parent: ClothingOuterBaseMedium
|
||||
parent: ClothingOuterBase
|
||||
id: ClothingOuterArmorBasic
|
||||
name: armor vest
|
||||
description: A standard Type I armored vest that provides decent protection against most types of damage.
|
||||
|
||||
@@ -74,6 +74,8 @@
|
||||
sprite: Clothing/OuterClothing/Suits/atmos_firesuit.rsi
|
||||
- type: Clothing
|
||||
sprite: Clothing/OuterClothing/Suits/atmos_firesuit.rsi
|
||||
- type: Item
|
||||
storedRotation: -90
|
||||
- type: PressureProtection
|
||||
highPressureMultiplier: 0.02
|
||||
lowPressureMultiplier: 1000
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
state: icon
|
||||
- type: Item
|
||||
size: Small
|
||||
storedRotation: 90
|
||||
- type: Food
|
||||
requiresSpecialDigestion: true
|
||||
- type: SolutionContainerManager
|
||||
|
||||
@@ -40,3 +40,5 @@
|
||||
- behavior: Anchoring
|
||||
useSound: /Audio/Items/drill_use.ogg
|
||||
changeSound: /Audio/Items/change_drill.ogg
|
||||
- type: Item
|
||||
storedRotation: -90
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- BloodLoss
|
||||
- Electrocution
|
||||
- type: Pullable
|
||||
- type: Tag
|
||||
|
||||
@@ -56,6 +56,7 @@
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- BloodLoss
|
||||
- Electrocution
|
||||
- type: NameIdentifier
|
||||
group: GenericNumber
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
allowed:
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- BloodLoss
|
||||
- Electrocution
|
||||
- ForcedSleep
|
||||
- TemporaryBlindness
|
||||
@@ -97,6 +98,7 @@
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- BloodLoss
|
||||
- Electrocution
|
||||
- ForcedSleep
|
||||
- TemporaryBlindness
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- BloodLoss
|
||||
- Electrocution
|
||||
- Drunk
|
||||
- SlurredSpeech
|
||||
|
||||
@@ -132,6 +132,7 @@
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- BloodLoss
|
||||
- SeeingRainbows
|
||||
- Electrocution
|
||||
- Drunk
|
||||
@@ -290,6 +291,7 @@
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- BloodLoss
|
||||
- SeeingRainbows
|
||||
- Electrocution
|
||||
- ForcedSleep
|
||||
|
||||
@@ -440,6 +440,8 @@
|
||||
Quantity: 10
|
||||
- ReagentId: Oculine
|
||||
Quantity: 2
|
||||
- type: Item
|
||||
storedRotation: -45
|
||||
|
||||
- type: entity
|
||||
name: cabbage
|
||||
@@ -872,6 +874,8 @@
|
||||
- type: Tag
|
||||
tags:
|
||||
- Fruit
|
||||
- type: Item
|
||||
size: Tiny
|
||||
|
||||
- type: entity
|
||||
name: cocoa pod
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
sprite: Objects/Devices/timer.rsi
|
||||
state: timer
|
||||
- type: Item
|
||||
size: Small
|
||||
size: Tiny
|
||||
- type: PayloadTrigger
|
||||
components:
|
||||
- type: OnUseTimerTrigger
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
state: forensicnew
|
||||
- type: Item
|
||||
size: Small
|
||||
storedRotation: 90
|
||||
- type: Clothing
|
||||
sprite: Objects/Devices/forensic_scanner.rsi
|
||||
quickEquip: false
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Item
|
||||
size: Tiny
|
||||
|
||||
- type: entity
|
||||
name: explosive payload
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
state: pinpointer
|
||||
- type: Item
|
||||
sprite: Objects/Devices/pinpointer.rsi
|
||||
size: Tiny
|
||||
- type: Pinpointer
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
sprite: Objects/Materials/Sheets/glass.rsi
|
||||
- type: Item
|
||||
sprite: Objects/Materials/Sheets/glass.rsi
|
||||
size: Small
|
||||
size: Normal
|
||||
- type: StaticPrice
|
||||
price: 0
|
||||
- type: Tag
|
||||
@@ -197,7 +197,7 @@
|
||||
- ReagentId: Carbon
|
||||
Quantity: 0.5
|
||||
canReact: false
|
||||
|
||||
|
||||
- type: entity
|
||||
parent: SheetGlassBase
|
||||
id: SheetPGlass
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
sprite: Objects/Materials/Sheets/metal.rsi
|
||||
- type: Item
|
||||
sprite: Objects/Materials/Sheets/metal.rsi
|
||||
size: Small
|
||||
size: Normal
|
||||
- type: StaticPrice
|
||||
price: 0
|
||||
- type: Tag
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
sprite: Objects/Materials/Sheets/other.rsi
|
||||
- type: Item
|
||||
sprite: Objects/Materials/Sheets/other.rsi
|
||||
size: Small
|
||||
size: Normal
|
||||
- type: Tag
|
||||
tags:
|
||||
- Sheet
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/nukedisk.rsi
|
||||
state: icon
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: StaticPrice
|
||||
price: 2000
|
||||
- type: CargoSellBlacklist
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
parent: BaseItem
|
||||
components:
|
||||
- type: Item
|
||||
storedRotation: -90
|
||||
size: Tiny
|
||||
- type: Battery
|
||||
pricePerJoule: 0.15
|
||||
- type: PowerCell
|
||||
@@ -291,7 +291,7 @@
|
||||
parent: BasePowerCell
|
||||
components:
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
size: Huge
|
||||
- type: MultiHandedItem
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
slots:
|
||||
- belt
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
size: Large
|
||||
shape:
|
||||
- 0, 0, 2, 1
|
||||
- type: Storage
|
||||
maxItemSize: Normal # allow up to 5 large beakers / 10 beakers / 10 pill canisters
|
||||
grid:
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
Slash: 10
|
||||
- type: Item
|
||||
sprite: Objects/Tools/Hydroponics/hoe.rsi
|
||||
storedRotation: 45
|
||||
|
||||
- type: entity
|
||||
name: plant clippers
|
||||
@@ -108,6 +109,7 @@
|
||||
Piercing: 5 # I guess you can stab it into them?
|
||||
- type: Item
|
||||
sprite: Objects/Tools/Hydroponics/spade.rsi
|
||||
storedRotation: 135
|
||||
- type: Shovel
|
||||
speedModifier: 0.75 # slower at digging than a full-sized shovel
|
||||
|
||||
@@ -121,7 +123,7 @@
|
||||
sprite: Objects/Specific/Hydroponics/Equipment/plant_bag.rsi
|
||||
state: icon
|
||||
- type: Item
|
||||
storedRotation: -90
|
||||
size: Normal
|
||||
- type: Clothing
|
||||
quickEquip: false
|
||||
slots:
|
||||
|
||||
@@ -23,6 +23,9 @@
|
||||
- type: Item
|
||||
size: Large
|
||||
sprite: Objects/Specific/Janitorial/mop.rsi
|
||||
storedRotation: -135
|
||||
shape:
|
||||
- 0, 0, 3, 0
|
||||
- type: Absorbent
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
state: ointment
|
||||
- type: Item
|
||||
heldPrefix: ointment
|
||||
storedRotation: 45
|
||||
- type: Healing
|
||||
damageContainers:
|
||||
- Biological
|
||||
@@ -229,7 +230,7 @@
|
||||
components:
|
||||
- type: Stack
|
||||
lingering: true
|
||||
|
||||
|
||||
- type: entity
|
||||
parent: BaseHealingItem
|
||||
id: Tourniquet
|
||||
@@ -268,6 +269,8 @@
|
||||
- Gauze
|
||||
- type: Sprite
|
||||
state: gauze
|
||||
- type: Item
|
||||
storedRotation: 90
|
||||
- type: Construction
|
||||
graph: Gauze
|
||||
node: gauze
|
||||
|
||||
@@ -328,6 +328,9 @@
|
||||
layers:
|
||||
- state: stimpen
|
||||
map: ["enum.SolutionContainerLayers.Fill"]
|
||||
- type: Item
|
||||
size: Small
|
||||
storedRotation: 90
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
pen:
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
- type: Storage
|
||||
maxItemSize: Small
|
||||
grid:
|
||||
- 0,0,3,1
|
||||
- 0,0,4,1
|
||||
- type: Item
|
||||
size: Large
|
||||
size: Normal
|
||||
sprite: Objects/Specific/Medical/firstaidkits.rsi
|
||||
heldPrefix: firstaid
|
||||
- type: Tag
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
name: research point disk (1000)
|
||||
description: A disk for the R&D server containing 1000 points.
|
||||
components:
|
||||
- type: Item
|
||||
size: Small
|
||||
shape:
|
||||
- 0, 0, 1, 1
|
||||
- type: Sprite
|
||||
sprite: Objects/Specific/Research/researchdisk.rsi
|
||||
state: icon
|
||||
|
||||
@@ -154,6 +154,8 @@
|
||||
description: Used to contain a moderate amount of chemicals and solutions.
|
||||
id: Beaker
|
||||
components:
|
||||
- type: Item
|
||||
size: Tiny
|
||||
- type: Spillable
|
||||
solution: beaker
|
||||
- type: StaticPrice
|
||||
@@ -281,6 +283,7 @@
|
||||
- type: Item
|
||||
size: Tiny
|
||||
sprite: Objects/Specific/Chemistry/dropper.rsi
|
||||
storedRotation: -45
|
||||
- type: Appearance
|
||||
- type: SolutionContainerVisuals
|
||||
maxFillLevels: 1
|
||||
@@ -329,8 +332,9 @@
|
||||
sprite: Objects/Specific/Chemistry/syringe.rsi
|
||||
state: "syringe_base0"
|
||||
- type: Item
|
||||
size: Tiny
|
||||
size: Small
|
||||
sprite: Objects/Specific/Chemistry/syringe.rsi
|
||||
storedRotation: -45
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
injector:
|
||||
|
||||
@@ -64,6 +64,7 @@
|
||||
- type: Item
|
||||
sprite: Objects/Devices/communication.rsi
|
||||
heldPrefix: old-radio
|
||||
storedRotation: 90
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.StoreUiKey.Key
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
- type: Item
|
||||
size: Normal
|
||||
sprite: Objects/Tanks/generic.rsi
|
||||
storedRotation: 45
|
||||
- type: Clothing
|
||||
quickEquip: false
|
||||
sprite: Objects/Tanks/generic.rsi
|
||||
@@ -57,6 +58,8 @@
|
||||
sprite: Objects/Tanks/oxygen.rsi
|
||||
- type: Item
|
||||
sprite: Objects/Tanks/oxygen.rsi
|
||||
shape:
|
||||
- 0, 0, 3, 0
|
||||
- type: GasTank
|
||||
outputPressure: 21.3
|
||||
air:
|
||||
@@ -87,6 +90,8 @@
|
||||
sprite: Objects/Tanks/emergency.rsi
|
||||
- type: Item
|
||||
size: Small
|
||||
shape:
|
||||
- 0, 0, 1, 0
|
||||
sprite: Objects/Tanks/emergency.rsi
|
||||
- type: GasTank
|
||||
air:
|
||||
@@ -208,6 +213,9 @@
|
||||
air:
|
||||
volume: 15
|
||||
temperature: 293.15
|
||||
- type: Item
|
||||
shape:
|
||||
- 0, 0, 3, 0
|
||||
|
||||
- type: entity
|
||||
parent: GasTankRoundBase
|
||||
@@ -219,6 +227,8 @@
|
||||
sprite: Objects/Tanks/anesthetic.rsi
|
||||
- type: Item
|
||||
sprite: Objects/Tanks/anesthetic.rsi
|
||||
shape:
|
||||
- 0, 0, 3, 0
|
||||
- type: GasTank
|
||||
outputPressure: 30.4
|
||||
air:
|
||||
|
||||
@@ -38,6 +38,8 @@
|
||||
- type: Item
|
||||
sprite: Objects/Tanks/Jetpacks/blue.rsi
|
||||
size: Huge
|
||||
shape:
|
||||
- 0, 0, 2, 3
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.SharedGasTankUiKey.Key
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
state: spray_painter
|
||||
- type: Item
|
||||
sprite: Objects/Tools/spray_painter.rsi
|
||||
storedRotation: -90
|
||||
- type: ActivatableUI
|
||||
key: enum.SprayPainterUiKey.Key
|
||||
- type: UserInterface
|
||||
|
||||
@@ -23,7 +23,9 @@
|
||||
grid:
|
||||
- 0,0,6,3
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
size: Large
|
||||
shape:
|
||||
- 0,0,6,2
|
||||
- type: MeleeWeapon
|
||||
damage:
|
||||
types:
|
||||
|
||||
@@ -502,6 +502,7 @@
|
||||
sprite: Objects/Tools/rcd.rsi
|
||||
state: ammo
|
||||
- type: Item
|
||||
size: Tiny
|
||||
sprite: Objects/Tools/rcd.rsi
|
||||
heldPrefix: ammo
|
||||
- type: PhysicalComposition
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
- type: Sprite
|
||||
- type: Item
|
||||
size: Huge
|
||||
shape:
|
||||
- 0,0,4,1
|
||||
- type: Clothing
|
||||
sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi
|
||||
quickEquip: false
|
||||
@@ -838,3 +840,5 @@
|
||||
price: 800
|
||||
- type: Item
|
||||
size: Large
|
||||
shape:
|
||||
- 0, 0, 3, 1
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
- Back
|
||||
- type: Item
|
||||
size: Huge
|
||||
shape:
|
||||
- 0,0,5,1
|
||||
- type: StaticPrice
|
||||
price: 500
|
||||
- type: ContainerContainer
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
- type: Sprite
|
||||
- type: Item
|
||||
size: Huge
|
||||
shape:
|
||||
- 0,0,4,1
|
||||
- type: Clothing
|
||||
sprite: Objects/Weapons/Guns/Rifles/ak.rsi
|
||||
quickEquip: false
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- type: Item
|
||||
size: Huge
|
||||
shape:
|
||||
- 0,0,4,0
|
||||
- type: Clothing
|
||||
sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi
|
||||
quickEquip: false
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
state: icon
|
||||
- type: Item
|
||||
sprite: Objects/Weapons/Melee/kitchen_knife.rsi
|
||||
storedRotation: -45
|
||||
- type: GuideHelp
|
||||
guides:
|
||||
- Chef
|
||||
@@ -102,6 +103,7 @@
|
||||
Slash: 10
|
||||
- type: Item
|
||||
sprite: Objects/Weapons/Melee/combat_knife.rsi
|
||||
storedRotation: -45
|
||||
- type: DisarmMalus
|
||||
malus: 0.225
|
||||
- type: Construction
|
||||
@@ -291,3 +293,4 @@
|
||||
Piercing: 15
|
||||
- type: Item
|
||||
sprite: Objects/Weapons/Melee/throwing_knife.rsi
|
||||
storedRotation: -45
|
||||
|
||||
@@ -48,7 +48,10 @@
|
||||
types:
|
||||
Piercing: 15
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
storedRotation: 44 # It just works
|
||||
size: Huge
|
||||
shape:
|
||||
- 0,0,5,0
|
||||
- type: Clothing
|
||||
quickEquip: false
|
||||
slots:
|
||||
|
||||
@@ -24,6 +24,9 @@
|
||||
- type: Item
|
||||
size: Large
|
||||
sprite: Objects/Weapons/Melee/captain_sabre.rsi
|
||||
storedRotation: 44 # It just works
|
||||
shape:
|
||||
- 0, 0, 4, 0
|
||||
- type: Tag
|
||||
tags:
|
||||
- CaptainSabre
|
||||
|
||||
@@ -52,6 +52,9 @@
|
||||
- type: Item
|
||||
heldPrefix: off
|
||||
size: Normal
|
||||
shape:
|
||||
- 0,0,2,0
|
||||
storedRotation: 44
|
||||
- type: Clothing
|
||||
sprite: Objects/Weapons/Melee/stunbaton.rsi
|
||||
quickEquip: false
|
||||
|
||||
@@ -5,4 +5,5 @@
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: Item
|
||||
size: Ginormous
|
||||
- type: VirtualItem
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
- type: Item
|
||||
heldPrefix: off
|
||||
sprite: White/VoiceRecorder/voicerecorder.rsi
|
||||
storedRotation: 90
|
||||
- type: Appearance
|
||||
- type: VoiceRecorder
|
||||
blacklist:
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
sprite: White/Misc/cards.rsi
|
||||
scale: 0.8, 0.8
|
||||
state: budgetcard
|
||||
- type: Item
|
||||
storedRotation: 90
|
||||
|
||||
- type: entity
|
||||
parent: BaseDepartmentBudgetCard
|
||||
|
||||
@@ -45,3 +45,5 @@
|
||||
name: item-component-size-Ginormous
|
||||
defaultShape:
|
||||
- 0,0,5,5
|
||||
|
||||
|
||||
|
||||
@@ -68,6 +68,9 @@
|
||||
id: NarcoticEffect
|
||||
alwaysAllowed: true
|
||||
|
||||
#WD EDIT
|
||||
# WD EDIT
|
||||
- type: statusEffect
|
||||
id: Incorporeal
|
||||
|
||||
- type: statusEffect
|
||||
id: BloodLoss
|
||||
|
||||
Reference in New Issue
Block a user