fix upstream
This commit is contained in:
parent
f3cc466c12
commit
2e142536bb
57 changed files with 140 additions and 356 deletions
|
|
@ -53,7 +53,7 @@ public sealed class ChameleonClothingSystem : SharedChameleonClothingSystem
|
|||
}
|
||||
// Sunrise-start
|
||||
if (!TryComp(uid, out ToggleableClothingComponent? helmet)
|
||||
|| !proto.TryGetComponent(out ToggleableClothingComponent? protoHelmet, _factory))
|
||||
|| !proto.TryGetComponent(out ToggleableClothingComponent? protoHelmet, Factory))
|
||||
return;
|
||||
|
||||
if (!_proto.TryIndex(protoHelmet.ClothingPrototype.Id, out var prototypeHelmetOther))
|
||||
|
|
|
|||
|
|
@ -313,33 +313,33 @@ public sealed class HumanoidAppearanceSystem : SharedHumanoidAppearanceSystem
|
|||
}
|
||||
}
|
||||
|
||||
private void AddUndergarments(Entity<HumanoidAppearanceComponent, SpriteComponent> entity, bool undergarmentTop, bool undergarmentBottom)
|
||||
{
|
||||
var humanoid = entity.Comp1;
|
||||
// private void AddUndergarments(Entity<HumanoidAppearanceComponent, SpriteComponent> entity, bool undergarmentTop, bool undergarmentBottom)
|
||||
// {
|
||||
// var humanoid = entity.Comp1;
|
||||
//
|
||||
// if (undergarmentTop && humanoid.UndergarmentTop != null)
|
||||
// {
|
||||
// var marking = new Marking(humanoid.UndergarmentTop, new List<Color> { new Color() });
|
||||
// if (_markingManager.TryGetMarking(marking, out var prototype))
|
||||
// {
|
||||
// // Markings are added to ClientOldMarkings because otherwise it causes issues when toggling the feature on/off.
|
||||
// humanoid.ClientOldMarkings.Markings.Add(MarkingCategories.UndergarmentTop, new List<Marking> { marking });
|
||||
// ApplyMarking(prototype, null, true, entity);
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// if (undergarmentBottom && humanoid.UndergarmentBottom != null)
|
||||
// {
|
||||
// var marking = new Marking(humanoid.UndergarmentBottom, new List<Color> { new Color() });
|
||||
// if (_markingManager.TryGetMarking(marking, out var prototype))
|
||||
// {
|
||||
// humanoid.ClientOldMarkings.Markings.Add(MarkingCategories.UndergarmentBottom, new List<Marking> { marking });
|
||||
// ApplyMarking(prototype, null, true, entity);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
if (undergarmentTop && humanoid.UndergarmentTop != null)
|
||||
{
|
||||
var marking = new Marking(humanoid.UndergarmentTop, new List<Color> { new Color() });
|
||||
if (_markingManager.TryGetMarking(marking, out var prototype))
|
||||
{
|
||||
// Markings are added to ClientOldMarkings because otherwise it causes issues when toggling the feature on/off.
|
||||
humanoid.ClientOldMarkings.Markings.Add(MarkingCategories.UndergarmentTop, new List<Marking> { marking });
|
||||
ApplyMarking(prototype, null, true, entity);
|
||||
}
|
||||
}
|
||||
|
||||
if (undergarmentBottom && humanoid.UndergarmentBottom != null)
|
||||
{
|
||||
var marking = new Marking(humanoid.UndergarmentBottom, new List<Color> { new Color() });
|
||||
if (_markingManager.TryGetMarking(marking, out var prototype))
|
||||
{
|
||||
humanoid.ClientOldMarkings.Markings.Add(MarkingCategories.UndergarmentBottom, new List<Marking> { marking });
|
||||
ApplyMarking(prototype, null, true, entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplyMarking(MarkingPrototype markingPrototype,
|
||||
public void ApplyMarking(MarkingPrototype markingPrototype, // Sunrise-Edit
|
||||
IReadOnlyList<Color>? colors,
|
||||
bool visible,
|
||||
Entity<HumanoidAppearanceComponent, SpriteComponent> entity)
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ public sealed class MechSystem : SharedMechSystem
|
|||
|
||||
private void UpdateAppearance(EntityUid uid, MechComponent component, SpriteComponent sprite)
|
||||
{
|
||||
if (!_sprite.LayerExists((uid, args.Sprite), MechVisualLayers.Base))
|
||||
if (!_sprite.LayerExists((uid, sprite), MechVisualLayers.Base))
|
||||
return;
|
||||
|
||||
var state = component.BaseState;
|
||||
|
|
@ -61,7 +61,7 @@ public sealed class MechSystem : SharedMechSystem
|
|||
drawDepth = DrawDepth.SmallMobs;
|
||||
}
|
||||
|
||||
_sprite.LayerSetRsiState((uid, args.Sprite), MechVisualLayers.Base, state);
|
||||
_sprite.SetDrawDepth((uid, args.Sprite), (int)drawDepth);
|
||||
_sprite.LayerSetRsiState((uid, sprite), MechVisualLayers.Base, state);
|
||||
_sprite.SetDrawDepth((uid, sprite), (int)drawDepth);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ public sealed partial class AnalysisConsoleMenu : FancyWindow
|
|||
|
||||
EffectValueLabel.SetMarkup(Loc.GetString("analysis-console-info-effect-value",
|
||||
("state", hasInfo),
|
||||
("info", _ent.GetComponentOrNull<MetaDataComponent>(node.Value)?.EntityDescription ?? string.Empty)));
|
||||
("info", Loc.GetString("artifact-effect-hint-data-deleted")))); // _ent.GetComponentOrNull<MetaDataComponent>(node.Value)?.EntityDescription ?? string.Empty
|
||||
|
||||
var predecessorNodes = _xenoArtifact.GetPredecessorNodes(artifact.Value.Owner, node.Value);
|
||||
if (!hasInfo)
|
||||
|
|
|
|||
|
|
@ -337,7 +337,8 @@ public sealed partial class SponsorTierEntry : Control
|
|||
Scale = new Vector2(4, 4),
|
||||
};
|
||||
|
||||
_entityManager.System<HumanoidAppearanceSystem>().ApplyMarking(markingProto, null, true, humanoidAppearance, spriteComponent);
|
||||
_entityManager.System<HumanoidAppearanceSystem>().ApplyMarking(markingProto, null, true,
|
||||
(dummyEnt, humanoidAppearance, spriteComponent));
|
||||
|
||||
view.SetEntity(dummyEnt);
|
||||
_spriteViews.Add(view);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
using Content.Server.Bed.Components;
|
||||
using Content.Server.Body.Systems;
|
||||
using Content.Shared.Actions;
|
||||
using Content.Server.Power.EntitySystems;
|
||||
using Content.Shared.Bed;
|
||||
using Content.Shared.Bed.Components;
|
||||
using Content.Shared.Bed.Sleep;
|
||||
|
|
@ -10,7 +10,6 @@ using Content.Shared.Damage;
|
|||
using Content.Shared.Emag.Systems;
|
||||
using Content.Shared.Mobs.Systems;
|
||||
using Content.Shared.Power;
|
||||
using Robust.Shared.Timing;
|
||||
|
||||
namespace Content.Server.Bed
|
||||
{
|
||||
|
|
@ -20,8 +19,6 @@ namespace Content.Server.Bed
|
|||
[Dependency] private readonly EmagSystem _emag = default!;
|
||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||
[Dependency] private readonly MobStateSystem _mobStateSystem = default!;
|
||||
[Dependency] private readonly IGameTiming _timing = default!;
|
||||
[Dependency] private readonly ActionContainerSystem _actionContainer = default!;
|
||||
|
||||
private EntityQuery<SleepingComponent> _sleepingQuery;
|
||||
|
||||
|
|
@ -31,36 +28,12 @@ namespace Content.Server.Bed
|
|||
|
||||
_sleepingQuery = GetEntityQuery<SleepingComponent>();
|
||||
|
||||
// Sunrise-Start
|
||||
SubscribeLocalEvent<CanSleepOnBuckleComponent, UnstrappedEvent>(OnUnstrapped);
|
||||
SubscribeLocalEvent<CanSleepOnBuckleComponent, StrappedEvent>(OnStrapped);
|
||||
// Sunrise-End
|
||||
|
||||
SubscribeLocalEvent<StasisBedComponent, StrappedEvent>(OnStasisStrapped);
|
||||
SubscribeLocalEvent<StasisBedComponent, UnstrappedEvent>(OnStasisUnstrapped);
|
||||
SubscribeLocalEvent<StasisBedComponent, PowerChangedEvent>(OnPowerChanged);
|
||||
SubscribeLocalEvent<StasisBedComponent, GotEmaggedEvent>(OnEmagged);
|
||||
}
|
||||
|
||||
// Sunrise-Start
|
||||
private void OnStrapped(Entity<CanSleepOnBuckleComponent> bed, ref StrappedEvent args)
|
||||
{
|
||||
var canSleep = EnsureComp<CanSleepComponent>(args.Buckle);
|
||||
_actionsSystem.AddAction(args.Buckle.Owner, ref canSleep.SleepAction, SleepingSystem.SleepActionId, args.Buckle.Owner);
|
||||
}
|
||||
|
||||
private void OnUnstrapped(Entity<CanSleepOnBuckleComponent> bed, ref UnstrappedEvent args)
|
||||
{
|
||||
if (!TryComp<CanSleepComponent>(args.Buckle.Owner, out var canSleep))
|
||||
return;
|
||||
|
||||
RemComp<CanSleepComponent>(args.Buckle.Owner);
|
||||
_actionsSystem.RemoveAction(args.Buckle.Owner, canSleep.SleepAction);
|
||||
if (canSleep.SleepAction != null)
|
||||
_actionContainer.RemoveAction(canSleep.SleepAction.Value);
|
||||
}
|
||||
// Sunrise-End
|
||||
|
||||
public override void Update(float frameTime)
|
||||
{
|
||||
base.Update(frameTime);
|
||||
|
|
|
|||
|
|
@ -1,12 +1,27 @@
|
|||
using Content.Server.Cargo.Systems;
|
||||
using Content.Shared.Cargo;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
||||
|
||||
namespace Content.Server.Cargo.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
[Access(typeof(CargoSystem))]
|
||||
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause]
|
||||
[Access(typeof(SharedCargoSystem))]
|
||||
public sealed partial class CargoPalletConsoleComponent : Component
|
||||
{
|
||||
[DataField]
|
||||
public SoundSpecifier ErrorSound = new SoundCollectionSpecifier("CargoError");
|
||||
|
||||
/// <summary>
|
||||
/// The time at which the console will be able to play the deny sound.
|
||||
/// </summary>
|
||||
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField]
|
||||
public TimeSpan NextDenySoundTime = TimeSpan.Zero;
|
||||
|
||||
/// <summary>
|
||||
/// The time between playing the deny sound.
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public TimeSpan DenySoundDelay = TimeSpan.FromSeconds(2);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ public sealed partial class CargoSystem
|
|||
if (!_accessReaderSystem.IsAllowed(args.Actor, ent))
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-order-not-allowed"));
|
||||
PlayDenySound(ent, ent.Comp.ErrorSound);
|
||||
PlayDenySound(ent, ent.Comp);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -93,7 +93,7 @@ public sealed partial class CargoSystem
|
|||
if (!_accessReaderSystem.FindAccessTags(args.Actor).Intersect(ent.Comp.RemoveLimitAccess).Any())
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-order-not-allowed"));
|
||||
PlayDenySound(ent, ent.Comp.ErrorSound);
|
||||
PlayDenySound(ent, ent.Comp);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ namespace Content.Server.Cargo.Systems
|
|||
if (!_accessReaderSystem.IsAllowed(player, uid))
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-order-not-allowed"));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -162,7 +162,7 @@ namespace Content.Server.Cargo.Systems
|
|||
!TryGetOrderDatabase(station, out var orderDatabase))
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-station-not-found"));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -177,7 +177,7 @@ namespace Content.Server.Cargo.Systems
|
|||
if (!_protoMan.HasIndex<EntityPrototype>(order.ProductId))
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-invalid-product"));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -188,7 +188,7 @@ namespace Content.Server.Cargo.Systems
|
|||
if (amount >= capacity)
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-too-many"));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ namespace Content.Server.Cargo.Systems
|
|||
{
|
||||
order.OrderQuantity = cappedAmount;
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-snip-snip"));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
}
|
||||
|
||||
var cost = order.Price * order.OrderQuantity;
|
||||
|
|
@ -209,7 +209,7 @@ namespace Content.Server.Cargo.Systems
|
|||
if (cost > accountBalance)
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-insufficient-funds", ("cost", cost)));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -224,7 +224,7 @@ namespace Content.Server.Cargo.Systems
|
|||
if (ev.FulfillmentEntity == null)
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-unfulfilled"));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -386,7 +386,7 @@ namespace Content.Server.Cargo.Systems
|
|||
|
||||
if (!TryAddOrder(stationUid.Value, component.Account, data, orderDatabase))
|
||||
{
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -433,12 +433,21 @@ namespace Content.Server.Cargo.Systems
|
|||
_popup.PopupCursor(text, actor);
|
||||
}
|
||||
|
||||
private void PlayDenySound(EntityUid uid, SoundSpecifier errorSound) // Sunrise-Edit
|
||||
private void PlayDenySound(EntityUid uid, CargoOrderConsoleComponent component)
|
||||
{
|
||||
if (_timing.CurTime >= component.NextDenySoundTime)
|
||||
{
|
||||
component.NextDenySoundTime = _timing.CurTime + component.DenySoundDelay;
|
||||
_audio.PlayPvs(_audio.ResolveSound(errorSound), uid);
|
||||
_audio.PlayPvs(_audio.ResolveSound(component.ErrorSound), uid);
|
||||
}
|
||||
}
|
||||
|
||||
private void PlayDenySound(EntityUid uid, CargoPalletConsoleComponent component)
|
||||
{
|
||||
if (_timing.CurTime >= component.NextDenySoundTime)
|
||||
{
|
||||
component.NextDenySoundTime = _timing.CurTime + component.DenySoundDelay;
|
||||
_audio.PlayPvs(_audio.ResolveSound(component.ErrorSound), uid);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ public sealed partial class CargoSystem
|
|||
if (!_accessReaderSystem.IsAllowed(player, uid))
|
||||
{
|
||||
ConsolePopup(args.Actor, Loc.GetString("cargo-console-order-not-allowed"));
|
||||
PlayDenySound(uid, component.ErrorSound);
|
||||
PlayDenySound(uid, component);
|
||||
return;
|
||||
}
|
||||
// Sunrise-End
|
||||
|
|
|
|||
|
|
@ -55,6 +55,7 @@ using Content.Shared.Mobs.Components;
|
|||
using Content.Server.Stunnable;
|
||||
using Content.Shared.Jittering;
|
||||
using System.Linq;
|
||||
using Content.Server.Damage.Systems;
|
||||
using Content.Shared._RMC14.Xenonids.Screech;
|
||||
using Content.Shared.Forensics.Components;
|
||||
using Content.Shared.Radio;
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ public sealed class AbsorbentSystem : SharedAbsorbentSystem
|
|||
|
||||
if (footPrints.Count > 0)
|
||||
{
|
||||
if (!_solutionContainerSystem.TryGetSolution(args.Used, AbsorbentComponent.SolutionName, out var absorberSoln))
|
||||
if (!_solutionContainerSystem.TryGetSolution(args.Used, component.SolutionName, out var absorberSoln))
|
||||
return;
|
||||
|
||||
var tileCenterPos = _mapSystem.GridTileToLocal(gridUid.Value, grid, tileRef.GridIndices);
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ public sealed class FoorprintAreaCleaningSystem : EntitySystem
|
|||
|
||||
if (footPrints.Count > 0)
|
||||
{
|
||||
if (!_solutionContainerSystem.TryGetSolution(uid, AbsorbentComponent.SolutionName, out var absorberSoln))
|
||||
if (!_solutionContainerSystem.TryGetSolution(uid, absorbent.SolutionName, out var absorberSoln))
|
||||
return;
|
||||
|
||||
var tileCenterPos = _mapSystem.GridTileToLocal(gridUid, grid, tileRef.GridIndices);
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ using Content.Server.Cargo.Components;
|
|||
using Content.Server.Cargo.Systems;
|
||||
using Content.Server.Station.Events;
|
||||
using Content.Shared._Sunrise.Economy;
|
||||
using Content.Shared.Cargo;
|
||||
using Content.Shared.GameTicking;
|
||||
using Robust.Shared.Containers;
|
||||
|
||||
|
|
|
|||
|
|
@ -135,7 +135,7 @@ namespace Content.Server._Sunrise.Fugitive
|
|||
|
||||
if (_roleSystem.MindHasRole<FugitiveRoleComponent>(mindId))
|
||||
{
|
||||
_roleSystem.MindTryRemoveRole<FugitiveRoleComponent>(mindId);
|
||||
_roleSystem.MindRemoveRole<FugitiveRoleComponent>(mindId);
|
||||
}
|
||||
|
||||
_roleSystem.MindAddRole(mindId, MindRole);
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ using Robust.Shared.Prototypes;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text.Json;
|
||||
using Content.Server.EntityEffects.Effects;
|
||||
using Content.Shared.EntityEffects.Effects;
|
||||
|
||||
namespace Content.Server._Sunrise.GuideGenerator;
|
||||
public sealed class HealthChangeReagentsJsonGenerator
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ using Content.Shared.Kitchen;
|
|||
using Robust.Shared.Prototypes;
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Server.EntityEffects.Effects;
|
||||
using Content.Shared.EntityEffects.Effects;
|
||||
|
||||
namespace Content.Server.GuideGenerator;
|
||||
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ namespace Content.Server._Sunrise.PlanetPrison
|
|||
|
||||
if (_roleSystem.MindHasRole<PlanetPrisonerRoleComponent>(mindId))
|
||||
{
|
||||
_roleSystem.MindTryRemoveRole<PlanetPrisonerRoleComponent>(mindId);
|
||||
_roleSystem.MindRemoveRole<PlanetPrisonerRoleComponent>(mindId);
|
||||
}
|
||||
|
||||
_roleSystem.MindAddRole(mindId, MindRole);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
using Content.Server.Movement.Systems;
|
||||
using Content.Server.Damage.Systems;
|
||||
using Content.Server.Movement.Systems;
|
||||
using Content.Server.Popups;
|
||||
using Content.Shared.Damage.Systems;
|
||||
using Content.Shared.Interaction.Events;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@ using Content.Shared.Bed.Components;
|
|||
using Content.Shared.Bed.Sleep;
|
||||
using Content.Shared.Buckle.Components;
|
||||
using Robust.Shared.Timing;
|
||||
using Robust.Shared.Utility;
|
||||
|
||||
namespace Content.Shared.Bed;
|
||||
|
||||
|
|
@ -18,11 +17,35 @@ public abstract class SharedBedSystem : EntitySystem
|
|||
{
|
||||
base.Initialize();
|
||||
|
||||
// Sunrise-Start
|
||||
SubscribeLocalEvent<_Sunrise.Bed.CanSleepOnBuckleComponent, UnstrappedEvent>(OnUnstrapped);
|
||||
SubscribeLocalEvent<_Sunrise.Bed.CanSleepOnBuckleComponent, StrappedEvent>(OnStrapped);
|
||||
// Sunrise-End
|
||||
|
||||
SubscribeLocalEvent<HealOnBuckleComponent, MapInitEvent>(OnHealMapInit);
|
||||
SubscribeLocalEvent<HealOnBuckleComponent, StrappedEvent>(OnStrapped);
|
||||
SubscribeLocalEvent<HealOnBuckleComponent, UnstrappedEvent>(OnUnstrapped);
|
||||
}
|
||||
|
||||
// Sunrise-Start
|
||||
private void OnStrapped(Entity<_Sunrise.Bed.CanSleepOnBuckleComponent> bed, ref StrappedEvent args)
|
||||
{
|
||||
var canSleep = EnsureComp<CanSleepComponent>(args.Buckle);
|
||||
_actionsSystem.AddAction(args.Buckle.Owner, ref canSleep.SleepAction, SleepingSystem.SleepActionId, args.Buckle.Owner);
|
||||
}
|
||||
|
||||
private void OnUnstrapped(Entity<_Sunrise.Bed.CanSleepOnBuckleComponent> bed, ref UnstrappedEvent args)
|
||||
{
|
||||
if (!TryComp<CanSleepComponent>(args.Buckle.Owner, out var canSleep))
|
||||
return;
|
||||
|
||||
RemComp<CanSleepComponent>(args.Buckle.Owner);
|
||||
_actionsSystem.RemoveAction(args.Buckle.Owner, canSleep.SleepAction);
|
||||
if (canSleep.SleepAction != null)
|
||||
_actConts.RemoveAction(canSleep.SleepAction.Value);
|
||||
}
|
||||
// Sunrise-End
|
||||
|
||||
private void OnHealMapInit(Entity<HealOnBuckleComponent> ent, ref MapInitEvent args)
|
||||
{
|
||||
_actConts.EnsureAction(ent.Owner, ref ent.Comp.SleepAction, SleepingSystem.SleepActionId);
|
||||
|
|
@ -33,16 +56,10 @@ public abstract class SharedBedSystem : EntitySystem
|
|||
{
|
||||
EnsureComp<HealOnBuckleHealingComponent>(bed);
|
||||
bed.Comp.NextHealTime = Timing.CurTime + TimeSpan.FromSeconds(bed.Comp.HealTime);
|
||||
_actionsSystem.AddAction(args.Buckle, ref bed.Comp.SleepAction, SleepingSystem.SleepActionId, bed);
|
||||
Dirty(bed);
|
||||
|
||||
// Single action entity, cannot strap multiple entities to the same bed.
|
||||
DebugTools.AssertEqual(args.Strap.Comp.BuckledEntities.Count, 1);
|
||||
}
|
||||
|
||||
private void OnUnstrapped(Entity<HealOnBuckleComponent> bed, ref UnstrappedEvent args)
|
||||
{
|
||||
_actionsSystem.RemoveAction(args.Buckle, bed.Comp.SleepAction);
|
||||
_sleepingSystem.TryWaking(args.Buckle.Owner);
|
||||
RemComp<HealOnBuckleHealingComponent>(bed);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -110,19 +110,19 @@ public abstract class SharedChameleonClothingSystem : EntitySystem
|
|||
if (helmet.ClothingUid == null)
|
||||
return;
|
||||
|
||||
if (!proto.TryGetComponent(out ToggleableClothingComponent? protoHelmet, _factory))
|
||||
if (!proto.TryGetComponent(out ToggleableClothingComponent? protoHelmet, Factory))
|
||||
return;
|
||||
|
||||
if (!_proto.TryIndex(protoHelmet.ClothingPrototype.Id, out var prototypeHelmetOther))
|
||||
return;
|
||||
|
||||
if (TryComp(helmet.ClothingUid, out ClothingComponent? helmetClothing)
|
||||
&& prototypeHelmetOther.TryGetComponent(out ClothingComponent? otherHelmetClothing, _factory))
|
||||
&& prototypeHelmetOther.TryGetComponent(out ClothingComponent? otherHelmetClothing, Factory))
|
||||
{
|
||||
_clothingSystem.CopyVisuals(helmet.ClothingUid.Value, otherHelmetClothing, helmetClothing);
|
||||
}
|
||||
if (TryComp(helmet.ClothingUid, out AppearanceComponent? helmetApperance)
|
||||
&& prototypeHelmetOther.TryGetComponent(out AppearanceComponent? otherHelmetApperance, _factory))
|
||||
&& prototypeHelmetOther.TryGetComponent(out AppearanceComponent? otherHelmetApperance, Factory))
|
||||
{
|
||||
_appearance.AppendData(otherHelmetApperance, helmet.ClothingUid.Value);
|
||||
Dirty(uid, helmetApperance);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
namespace Content.Server.Bed.Components
|
||||
namespace Content.Shared._Sunrise.Bed
|
||||
{
|
||||
[RegisterComponent]
|
||||
public sealed partial class CanSleepOnBuckleComponent : Component
|
||||
|
|
@ -1,15 +1,16 @@
|
|||
using System.Threading;
|
||||
using Content.Server.Popups;
|
||||
using Content.Server.Stunnable;
|
||||
using Content.Shared._Sunrise.BloodCult.Components;
|
||||
using Content.Shared._Sunrise.BloodCult.Pentagram;
|
||||
using Content.Shared.EntityEffects;
|
||||
using Content.Shared.IdentityManagement;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Stunnable;
|
||||
using Content.Shared.Tag;
|
||||
using JetBrains.Annotations;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Timer = Robust.Shared.Timing.Timer;
|
||||
|
||||
namespace Content.Server._Sunrise.BloodCult.HolyWater;
|
||||
namespace Content.Shared._Sunrise.BloodCult;
|
||||
|
||||
[ImplicitDataDefinitionForInheritors]
|
||||
[MeansImplicitUse]
|
||||
|
|
@ -32,15 +33,15 @@ public sealed partial class DeconvertCultist : EntityEffect
|
|||
if (component.HolyConvertToken != null)
|
||||
return;
|
||||
|
||||
var random = new Random();
|
||||
var random = new System.Random();
|
||||
var convert = random.Next(1, 101) <= component.HolyConvertChance;
|
||||
if (!convert)
|
||||
return;
|
||||
|
||||
args.EntityManager.System<StunSystem>()
|
||||
args.EntityManager.System<SharedStunSystem>()
|
||||
.TryParalyze(uid, TimeSpan.FromSeconds(5f), true);
|
||||
var target = Identity.Name(uid, args.EntityManager);
|
||||
args.EntityManager.System<PopupSystem>()
|
||||
args.EntityManager.System<SharedPopupSystem>()
|
||||
.PopupEntity(Loc.GetString("holy-water-started-converting", ("target", target)), uid);
|
||||
|
||||
component.HolyConvertToken = new CancellationTokenSource();
|
||||
|
|
@ -56,8 +57,8 @@ public sealed partial class DeconvertCultist : EntityEffect
|
|||
|
||||
cultist.HolyConvertToken = null;
|
||||
entityManager.RemoveComponent<BloodCultistComponent>(uid);
|
||||
if (entityManager.HasComponent<PentagramComponent>(uid))
|
||||
entityManager.RemoveComponent<PentagramComponent>(uid);
|
||||
if (entityManager.HasComponent<SharedPentagramComponent>(uid))
|
||||
entityManager.RemoveComponent<SharedPentagramComponent>(uid);
|
||||
if (entityManager.HasComponent<CultMemberComponent>(uid))
|
||||
entityManager.RemoveComponent<CultMemberComponent>(uid);
|
||||
entityManager.System<TagSystem>().RemoveTag(uid, "Cultist");
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
// © SUNRISE, An EULA/CLA with a hosting restriction, full text: https://github.com/space-sunrise/space-station-14/blob/master/CLA.txt
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Content.Shared._Sunrise.Disease;
|
||||
|
||||
using Content.Shared.EntityEffects;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Shared._Sunrise.Disease;
|
||||
|
||||
public sealed partial class CureDiseaseInfection : EntityEffect
|
||||
{
|
||||
[DataField]
|
||||
|
|
@ -143,7 +143,6 @@ public sealed class NightVisionDeviceSystem : EntitySystem
|
|||
if (ent.Comp.IsPowered)
|
||||
{
|
||||
var draw = Comp<PowerCellDrawComponent>(ent.Owner);
|
||||
_cell.QueueUpdate((ent.Owner, draw));
|
||||
_cell.SetDrawEnabled((ent.Owner, draw), ent.Comp.Activated);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ using Content.Server.Sunrise.FleshCult;
|
|||
using Content.Shared.EntityEffects;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.Server._Sunrise.FleshCult;
|
||||
namespace Content.Shared._Sunrise.FleshCult;
|
||||
|
||||
public sealed partial class CauseFleshCultInfection : EntityEffect
|
||||
{
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
ent-MiniSyringeCryostasis = cryostasis mini syringe
|
||||
.desc = A cryostasis syringe, reshaped to fit inside of a gun.
|
||||
.suffix = Cryostasis, MiniSyringe
|
||||
ent-MiniSyringeBluespace = bluespace mini syringe
|
||||
.desc = A Bluespace syringe, reshaped to fit inside of a gun.
|
||||
.suffix = Bluespace, MiniSyringe
|
||||
ent-PrefilledMiniSyringe = { ent-MiniSyringe }
|
||||
.desc = { ent-MiniSyringe.desc }
|
||||
ent-MiniSyringeMuteToxin = { ent-PrefilledMiniSyringe }
|
||||
.suffix = MuteToxin, MiniSyringe
|
||||
.desc = { ent-PrefilledMiniSyringe.desc }
|
||||
ent-MiniSyringeFresium = { ent-PrefilledMiniSyringe }
|
||||
.suffix = Fresium, MiniSyringe
|
||||
.desc = { ent-PrefilledMiniSyringe.desc }
|
||||
ent-MiniSyringeCarpoToxin = { ent-PrefilledMiniSyringe }
|
||||
.suffix = CarpoToxin, MiniSyringe
|
||||
.desc = { ent-PrefilledMiniSyringe.desc }
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
ent-LauncherSyringeMed = syringe gun
|
||||
.suffix = Standart
|
||||
.desc = { ent-LauncherSyringe.desc }
|
||||
ent-LauncherSyringePistol = syringe pistol
|
||||
.suffix = Compact
|
||||
.desc = { ent-LauncherSyringe.desc }
|
||||
ent-LauncherSyringePistolFilled = syringe pistol
|
||||
.suffix = Compact, Filled
|
||||
.desc = { ent-LauncherSyringe.desc }
|
||||
ent-LauncherSyringeRapid = Rapid syringe gun
|
||||
.suffix = Auto
|
||||
.desc = { ent-LauncherSyringe.desc }
|
||||
ent-LauncherSyringeRapidFilled = Rapid syringe gun
|
||||
.suffix = Auto, Filled
|
||||
.desc = { ent-LauncherSyringeRapid.desc }
|
||||
ent-LauncherSyringeSMG = Syringe SMG
|
||||
.suffix = Admeme
|
||||
.desc = { ent-LauncherSyringe.desc }
|
||||
|
|
@ -4,4 +4,6 @@ reagent-physical-desc-aphrodesiac = Shimmering, ruby-red liquid that glows softl
|
|||
reagent-name-celliminol = celliminol
|
||||
reagent-desc-celliminol = A cryogenics chemical. A powerful chemical developed by Qillu.
|
||||
reagent-name-h-32 = H-32
|
||||
reagent-desc-h-32 = A reagent developed in the field with increased radiation
|
||||
reagent-desc-h-32 = A reagent developed in the field with increased radiation
|
||||
reagent-name-inc = inc
|
||||
reagent-desc-inc = inc
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
ent-ClothingOuterHardsuitBasic = basic hardsuit
|
||||
.desc = A basic, universal hardsuit that protects the wearer against the horrors of life in space. Beats not having a hardsuit, at least.
|
||||
ent-ClothingOuterHardsuitAtmos = atmos hardsuit
|
||||
.desc = A special suit that protects against hazardous, low pressure environments. Has thermal shielding.
|
||||
ent-ClothingOuterHardsuitEngineering = engineering hardsuit
|
||||
|
|
|
|||
|
|
@ -1,17 +1 @@
|
|||
ent-MiniSyringeCryostasis = мини криостазис шприц
|
||||
.desc = криостазис шприц, переделанный под пистолет.
|
||||
.suffix = Блюспейс, Минишприц
|
||||
ent-MiniSyringeBluespace = мини блюспейс шприц
|
||||
.desc = блюспейс шприц, переделанный под пистолет.
|
||||
.suffix = Блюспейс, Минишприц
|
||||
ent-PrefilledMiniSyringe = { ent-MiniSyringe }
|
||||
.desc = { ent-MiniSyringe.desc }
|
||||
ent-MiniSyringeMuteToxin = { ent-PrefilledMiniSyringe }
|
||||
.suffix = МутТоксин, Минишприц
|
||||
.desc = { ent-PrefilledMiniSyringe.desc }
|
||||
ent-MiniSyringeFresium = { ent-PrefilledMiniSyringe }
|
||||
.suffix = Фрезиум, Минишприц
|
||||
.desc = { ent-PrefilledMiniSyringe.desc }
|
||||
ent-MiniSyringeCarpoToxin = { ent-PrefilledMiniSyringe }
|
||||
.suffix = КарпТоксин, Минишприц
|
||||
.desc = { ent-PrefilledMiniSyringe.desc }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,18 +0,0 @@
|
|||
ent-LauncherSyringeMed = шприцемёт
|
||||
.suffix = Стандартный
|
||||
.desc = Зарядите отравленными шприцами, чтобы получить максимальное удовольствие.
|
||||
ent-LauncherSyringePistol = Компактный шприцемёт
|
||||
.suffix = Компактный
|
||||
.desc = Зарядите отравленными шприцами, чтобы получить максимальное удовольствие. теперь в смешном размере.
|
||||
ent-LauncherSyringePistolFilled = Компактный шприцемёт
|
||||
.suffix = Компактный, Заполнен
|
||||
.desc = { ent-LauncherSyringePistol.desc }
|
||||
ent-LauncherSyringeRapid = Авто-шприцемёт
|
||||
.suffix = Автоматический
|
||||
.desc = Зарядите в пациента до 6-и шприцов с Ипекаком, чтобы получить максимальное удовольствие.
|
||||
ent-LauncherSyringeRapidFilled = Авто-шприцемёт
|
||||
.suffix = Автоматический, Заполнен
|
||||
.desc = Зарядите в пациента до 10-ми шприцов с Ипекаком, чтобы получить максимальное удовольствие.
|
||||
ent-LauncherSyringeSMG = Шприцемёт ПП
|
||||
.suffix = Адмеме
|
||||
.desc = Зарядите в членов экипажа до 20-ми шприцов с соком WEH, чтобы получить максимальное удовольствие.
|
||||
|
|
@ -15,3 +15,5 @@ reagent-desc-celliminol = Химикат криогенного действия
|
|||
reagent-name-grcoffee = Измельченный кофе
|
||||
reagent-desc-grcoffee = Измельченные зерна кофе.
|
||||
reagent-physical-desc-grcoffee = Коричневая жидкость, слегка густоватая.
|
||||
reagent-name-inc = чернила
|
||||
reagent-desc-inc = чернила
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
ent-ClothingOuterHardsuitBasic = базовый скафандр
|
||||
.desc = Базовый, универсальный скафандр, защищающий владельца от ужасов пребывания в космосе. По крайней мере, это лучше, чем отсутствие скафандра.
|
||||
ent-ClothingOuterHardsuitAtmos = скафандр атмос-техника
|
||||
.desc = Специальный костюм, защищающий от опасной среды с низким давлением. Имеет тепловую защиту.
|
||||
ent-ClothingOuterHardsuitEngineering = скафандр инженера
|
||||
|
|
|
|||
|
|
@ -1090,13 +1090,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: -7.2017837,-9.2111435
|
||||
parent: 1
|
||||
- proto: BoxMiniSyringe
|
||||
entities:
|
||||
- uid: 391
|
||||
components:
|
||||
- type: Transform
|
||||
pos: 0.5902469,-11.434221
|
||||
parent: 1
|
||||
- proto: BoxShotgunIncendiary
|
||||
entities:
|
||||
- uid: 753
|
||||
|
|
|
|||
|
|
@ -17475,13 +17475,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: 0.97444147,20.461615
|
||||
parent: 2
|
||||
- proto: BoxMiniSyringe
|
||||
entities:
|
||||
- uid: 1102
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -10.317339,5.7388086
|
||||
parent: 2
|
||||
- proto: BoxMouthSwab
|
||||
entities:
|
||||
- uid: 1103
|
||||
|
|
|
|||
|
|
@ -24992,18 +24992,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: -20.536755,-5.462179
|
||||
parent: 2
|
||||
- proto: BoxMiniSyringe
|
||||
entities:
|
||||
- uid: 11194
|
||||
components:
|
||||
- type: Transform
|
||||
pos: 36.64888,-38.499374
|
||||
parent: 2
|
||||
- uid: 31353
|
||||
components:
|
||||
- type: Transform
|
||||
pos: 19.224562,-20.718649
|
||||
parent: 2
|
||||
- proto: BoxMouthSwab
|
||||
entities:
|
||||
- uid: 1348
|
||||
|
|
@ -143568,18 +143556,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: 42.737797,-10.2649
|
||||
parent: 2
|
||||
- proto: LauncherSyringeMed
|
||||
entities:
|
||||
- uid: 11208
|
||||
components:
|
||||
- type: Transform
|
||||
pos: 36.537766,-38.2434
|
||||
parent: 2
|
||||
- uid: 31855
|
||||
components:
|
||||
- type: Transform
|
||||
pos: 19.00234,-20.505686
|
||||
parent: 2
|
||||
- proto: LeavesCannabis
|
||||
entities:
|
||||
- uid: 30564
|
||||
|
|
|
|||
|
|
@ -28944,13 +28944,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: 159.67625,127.97202
|
||||
parent: 2
|
||||
- proto: BoxMiniSyringe
|
||||
entities:
|
||||
- uid: 1609
|
||||
components:
|
||||
- type: Transform
|
||||
pos: 115.09472,47.53215
|
||||
parent: 2
|
||||
- proto: BoxMouthSwab
|
||||
entities:
|
||||
- uid: 1610
|
||||
|
|
|
|||
|
|
@ -112517,40 +112517,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: -55.49862,-48.5602
|
||||
parent: 2
|
||||
- proto: ClothingOuterHardsuitBasic
|
||||
entities:
|
||||
- uid: 16053
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -114.51022,21.647438
|
||||
parent: 2
|
||||
- type: GroupExamine
|
||||
group:
|
||||
- hoverMessage: ""
|
||||
contextText: verb-examine-group-other
|
||||
icon: /Textures/Interface/examine-star.png
|
||||
components:
|
||||
- Armor
|
||||
- ClothingSpeedModifier
|
||||
entries:
|
||||
- message: Понижает вашу скорость на [color=yellow]20%[/color].
|
||||
priority: 0
|
||||
component: ClothingSpeedModifier
|
||||
- message: >-
|
||||
Обеспечивает следующую защиту:
|
||||
|
||||
- [color=yellow]Ударный[/color] урон снижается на [color=lightblue]10%[/color].
|
||||
|
||||
- [color=yellow]Режущий[/color] урон снижается на [color=lightblue]10%[/color].
|
||||
|
||||
- [color=yellow]Колющий[/color] урон снижается на [color=lightblue]10%[/color].
|
||||
|
||||
- [color=yellow]Кислотный[/color] урон снижается на [color=lightblue]10%[/color].
|
||||
|
||||
- [color=orange]Взрывной[/color] урон снижается на [color=lightblue]10%[/color].
|
||||
priority: 0
|
||||
component: Armor
|
||||
title: null
|
||||
- proto: ClothingOuterHardsuitBlueShield
|
||||
entities:
|
||||
- uid: 38617
|
||||
|
|
@ -186531,7 +186497,7 @@ entities:
|
|||
parent: 1666
|
||||
- type: Paper
|
||||
content: >-
|
||||
Поиск в NTсети:
|
||||
Поиск в NTсети:
|
||||
|
||||
Хештеги:
|
||||
|
||||
|
|
|
|||
|
|
@ -82299,13 +82299,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: -59.509956,65.62154
|
||||
parent: 2
|
||||
- proto: LauncherSyringeMed
|
||||
entities:
|
||||
- uid: 18198
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -73.429146,23.364283
|
||||
parent: 2
|
||||
- proto: Lighter
|
||||
entities:
|
||||
- uid: 11815
|
||||
|
|
@ -84174,23 +84167,6 @@ entities:
|
|||
- type: Physics
|
||||
canCollide: False
|
||||
- type: InsideEntityStorage
|
||||
- proto: MiniSyringeFresium
|
||||
entities:
|
||||
- uid: 18199
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -73.780716,22.991907
|
||||
parent: 2
|
||||
- uid: 18200
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -73.54445,22.922464
|
||||
parent: 2
|
||||
- uid: 18201
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -73.28039,22.922464
|
||||
parent: 2
|
||||
- proto: Mirror
|
||||
entities:
|
||||
- uid: 12041
|
||||
|
|
|
|||
|
|
@ -16483,13 +16483,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: 50.376198,30.620008
|
||||
parent: 2
|
||||
- proto: BoxMiniSyringe
|
||||
entities:
|
||||
- uid: 1140
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -0.71074677,52.50585
|
||||
parent: 2
|
||||
- proto: BoxMouthSwab
|
||||
entities:
|
||||
- uid: 1141
|
||||
|
|
|
|||
|
|
@ -26478,13 +26478,6 @@ entities:
|
|||
- type: Transform
|
||||
pos: -17.356392,-5.218974
|
||||
parent: 2
|
||||
- proto: BoxMiniSyringe
|
||||
entities:
|
||||
- uid: 2477
|
||||
components:
|
||||
- type: Transform
|
||||
pos: -44.943584,-58.48645
|
||||
parent: 2
|
||||
- proto: BoxMouthSwab
|
||||
entities:
|
||||
- uid: 2478
|
||||
|
|
|
|||
|
|
@ -29470,14 +29470,6 @@ entities:
|
|||
rot: 3.141592653589793 rad
|
||||
pos: 100.71605,9.692456
|
||||
parent: 1
|
||||
- proto: ClothingOuterHardsuitBasic
|
||||
entities:
|
||||
- uid: 10661
|
||||
components:
|
||||
- type: Transform
|
||||
rot: -1.5707963267948966 rad
|
||||
pos: 101.575424,16.473705
|
||||
parent: 1
|
||||
- proto: ClothingOuterHardsuitBlueShield
|
||||
entities:
|
||||
- uid: 10659
|
||||
|
|
|
|||
|
|
@ -118,14 +118,6 @@
|
|||
prob: 0.3
|
||||
- id: MedkitBurnFilled
|
||||
prob: 0.7
|
||||
- id: BoxMiniSyringe
|
||||
prob: 0.75
|
||||
- id: BoxMiniSyringe
|
||||
prob: 0.25
|
||||
- id: LauncherSyringeMed
|
||||
prob: 0.45
|
||||
- id: LauncherSyringePistol
|
||||
prob: 0.15
|
||||
- id: ClothingNeckCloakMoth #bzzz Moth-pocalypse
|
||||
prob: 0.15
|
||||
- id: ClothingHeadHelmetSecurityMedic
|
||||
|
|
|
|||
|
|
@ -16,4 +16,3 @@
|
|||
MiniSyringe: 3 # Sunrise Edit
|
||||
emaggedInventory:
|
||||
Stimpack: 1 # Sunrise Edit
|
||||
BoxMiniSyringe: 1 # Sunrise Edit
|
||||
|
|
|
|||
|
|
@ -11,5 +11,3 @@
|
|||
AntiPoisonMedipen: 1 # Sunrise Edit
|
||||
emaggedInventory:
|
||||
StimpackMini: 1 # Sunrise Edit
|
||||
MiniSyringeFresium: 1 # Sunrise Edit
|
||||
MiniSyringeMuteToxin: 2 # Sunrise Edit
|
||||
|
|
|
|||
|
|
@ -79,7 +79,6 @@
|
|||
Slash: 0.9
|
||||
Piercing: 0.9
|
||||
Heat: 0.9
|
||||
Piercing: 0.80
|
||||
Radiation: 0.80
|
||||
Caustic: 0.95
|
||||
- type: ExplosionResistance
|
||||
|
|
|
|||
|
|
@ -484,10 +484,6 @@
|
|||
- type: SolutionInjectOnEmbed
|
||||
transferAmount: 1
|
||||
solution: injector
|
||||
- type: SolutionContainerManager #BALANCE PR-START
|
||||
solutions:
|
||||
injector:
|
||||
maxVol: 10 #BALANCE PR-END
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
|
|
|
|||
|
|
@ -195,15 +195,13 @@
|
|||
- type: GunRequiresWield #remove when inaccuracy on spreads is fixed
|
||||
- type: Gun
|
||||
fireRate: 1
|
||||
soundGunshot:
|
||||
collection: m3 # Sunrise-Edit
|
||||
- type: GunSpreadModifier
|
||||
spread: 0.6
|
||||
- type: Tag
|
||||
tags:
|
||||
- WeaponShotgunKammerer
|
||||
- type: Gun
|
||||
fireRate: 1
|
||||
soundGunshot:
|
||||
collection: m3 # Sunrise-Edit
|
||||
|
||||
- type: entity
|
||||
name: sawn-off shotgun
|
||||
|
|
|
|||
|
|
@ -664,12 +664,6 @@
|
|||
id: FloorSteelDirty
|
||||
name: tiles-dirty-steel-floor
|
||||
sprite: /Textures/Tiles/steel_dirty.png
|
||||
variants: 4
|
||||
placementVariants:
|
||||
- 1.0
|
||||
- 1.0
|
||||
- 1.0
|
||||
- 1.0
|
||||
baseTurf: Plating
|
||||
isSubfloor: false
|
||||
deconstructTools: [ Prying ]
|
||||
|
|
|
|||
|
|
@ -443,7 +443,7 @@
|
|||
price: 0
|
||||
|
||||
- type: entity
|
||||
parent: ClothingOuterHardsuitBasic
|
||||
parent: ClothingOuterHardsuitEVA
|
||||
id: ClothingOuterHardsuitChameleon
|
||||
name: syndicate chameleon
|
||||
description: Looking at his material, Sci-fi images inadvertently pop up in your head.
|
||||
|
|
@ -463,7 +463,7 @@
|
|||
- Thief
|
||||
- type: ChameleonClothing
|
||||
slot: [outerClothing]
|
||||
default: ClothingOuterHardsuitBasic
|
||||
default: ClothingOuterHardsuitEVA
|
||||
requireTag: WhitelistChameleonSuit
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
|
|
|
|||
|
|
@ -29,17 +29,3 @@
|
|||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- MobSnowManEvil
|
||||
|
||||
- type: entity
|
||||
name: xeno lone praetorian spawner
|
||||
id: SpawnMobXenoPraetorian
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: green
|
||||
- state: running
|
||||
sprite: Mobs/Aliens/Xenos/praetorian.rsi
|
||||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- MobXenoLonePraetorianNoGhost
|
||||
|
|
|
|||
|
|
@ -249,7 +249,6 @@
|
|||
ears: ClothingHeadsetAltCentCom
|
||||
belt: ClothingBeltMedicalFilled
|
||||
pocket1: MedipenCombatInjector
|
||||
pocket2: LauncherSyringePistol
|
||||
inhand:
|
||||
- MedkitAdvancedFilled
|
||||
- DefibrillatorCompact
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
soundGunshot:
|
||||
path: /Audio/_Sunrise/Weapons/Guns/HMGs/minigun_shot.ogg
|
||||
- type: ClothingSlotAmmoProvider
|
||||
- type: SlotBasedConnectedContainer
|
||||
targetSlot: BACK
|
||||
providerWhitelist:
|
||||
tags:
|
||||
|
|
|
|||
|
|
@ -18,12 +18,6 @@
|
|||
- BluespaceBeaker
|
||||
- SyringeBluespace
|
||||
- SyringeCryostasis
|
||||
- LauncherSyringeMed
|
||||
- LauncherSyringePistol
|
||||
- LauncherSyringeRapid
|
||||
- MiniSyringeCryostasis
|
||||
- MiniSyringeBluespace
|
||||
- MiniSyringe
|
||||
- LeftArmCyber
|
||||
- RightArmCyber
|
||||
- LeftHandCyber
|
||||
|
|
|
|||
|
|
@ -86,11 +86,13 @@
|
|||
# Sunrise-Start
|
||||
- type: typingIndicator
|
||||
id: sun
|
||||
idleState: sunrise0
|
||||
typingState: sunrise0
|
||||
offset: 0, 0.125
|
||||
|
||||
- type: typingIndicator
|
||||
id: syndibot
|
||||
idleState: syndibot0
|
||||
typingState: syndibot0
|
||||
offset: 0, 0.125
|
||||
# Sunrise-End
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue