Merge pull request #3816 from KaiserMaus/KM-Tweaks-and-Fix-v1
Km tweaks and fix v1
This commit is contained in:
commit
f10452e9d7
114 changed files with 1536 additions and 1200 deletions
|
|
@ -1,5 +1,7 @@
|
||||||
|
using System.ComponentModel.Design;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using Content.Client.Light.Components;
|
using Content.Client.Light.Components;
|
||||||
|
using Content.Shared.Trigger.Components.Effects;
|
||||||
using Robust.Client.GameObjects;
|
using Robust.Client.GameObjects;
|
||||||
using Robust.Client.Animations;
|
using Robust.Client.Animations;
|
||||||
using Robust.Shared.Random;
|
using Robust.Shared.Random;
|
||||||
|
|
@ -36,6 +38,10 @@ public sealed class LightBehaviorSystem : EntitySystem
|
||||||
container.LightBehaviour.UpdatePlaybackValues(container.Animation);
|
container.LightBehaviour.UpdatePlaybackValues(container.Animation);
|
||||||
_player.Play(uid, container.Animation, container.FullKey);
|
_player.Play(uid, container.Animation, container.FullKey);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
StopLightBehaviour((uid, component), container.LightBehaviour.ID, resetToOriginalSettings: true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnLightStartup(Entity<LightBehaviourComponent> entity, ref ComponentStartup args)
|
private void OnLightStartup(Entity<LightBehaviourComponent> entity, ref ComponentStartup args)
|
||||||
|
|
@ -53,7 +59,7 @@ public sealed class LightBehaviorSystem : EntitySystem
|
||||||
{
|
{
|
||||||
if (container.LightBehaviour.Enabled)
|
if (container.LightBehaviour.Enabled)
|
||||||
{
|
{
|
||||||
StartLightBehaviour(entity, container.LightBehaviour.ID);
|
StartLightBehaviour((entity, entity), container.LightBehaviour.ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -82,12 +88,13 @@ public sealed class LightBehaviorSystem : EntitySystem
|
||||||
/// If specified light behaviours are already animating, calling this does nothing.
|
/// If specified light behaviours are already animating, calling this does nothing.
|
||||||
/// Multiple light behaviours can have the same ID.
|
/// Multiple light behaviours can have the same ID.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public void StartLightBehaviour(Entity<LightBehaviourComponent> entity, string id = "")
|
public void StartLightBehaviour(Entity<LightBehaviourComponent?> entity, string id = "")
|
||||||
{
|
{
|
||||||
if (!TryComp(entity, out AnimationPlayerComponent? animation))
|
if (!Resolve(entity, ref entity.Comp))
|
||||||
{
|
return;
|
||||||
|
|
||||||
|
if (!TryComp(entity, out AnimationPlayerComponent? animation))
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var container in entity.Comp.Animations)
|
foreach (var container in entity.Comp.Animations)
|
||||||
{
|
{
|
||||||
|
|
@ -95,7 +102,7 @@ public sealed class LightBehaviorSystem : EntitySystem
|
||||||
{
|
{
|
||||||
if (!_player.HasRunningAnimation(entity, animation, LightBehaviourComponent.KeyPrefix + container.Key))
|
if (!_player.HasRunningAnimation(entity, animation, LightBehaviourComponent.KeyPrefix + container.Key))
|
||||||
{
|
{
|
||||||
CopyLightSettings(entity, container.LightBehaviour.Property);
|
CopyLightSettings((entity, entity.Comp), container.LightBehaviour.Property);
|
||||||
container.LightBehaviour.UpdatePlaybackValues(container.Animation);
|
container.LightBehaviour.UpdatePlaybackValues(container.Animation);
|
||||||
_player.Play(entity, container.Animation, LightBehaviourComponent.KeyPrefix + container.Key);
|
_player.Play(entity, container.Animation, LightBehaviourComponent.KeyPrefix + container.Key);
|
||||||
}
|
}
|
||||||
|
|
@ -118,11 +125,9 @@ public sealed class LightBehaviorSystem : EntitySystem
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var comp = entity.Comp;
|
|
||||||
|
|
||||||
var toRemove = new List<LightBehaviourComponent.AnimationContainer>();
|
var toRemove = new List<LightBehaviourComponent.AnimationContainer>();
|
||||||
|
|
||||||
foreach (var container in comp.Animations)
|
foreach (var container in entity.Comp.Animations)
|
||||||
{
|
{
|
||||||
if (container.LightBehaviour.ID == id || id == string.Empty)
|
if (container.LightBehaviour.ID == id || id == string.Empty)
|
||||||
{
|
{
|
||||||
|
|
@ -140,18 +145,24 @@ public sealed class LightBehaviorSystem : EntitySystem
|
||||||
|
|
||||||
foreach (var container in toRemove)
|
foreach (var container in toRemove)
|
||||||
{
|
{
|
||||||
comp.Animations.Remove(container);
|
entity.Comp.Animations.Remove(container);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (resetToOriginalSettings && TryComp(entity, out PointLightComponent? light))
|
if (resetToOriginalSettings)
|
||||||
|
ResetToOriginalSettings(entity);
|
||||||
|
|
||||||
|
entity.Comp.OriginalPropertyValues.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ResetToOriginalSettings(Entity<LightBehaviourComponent, PointLightComponent?> entity)
|
||||||
|
{
|
||||||
|
if (!Resolve(entity, ref entity.Comp2))
|
||||||
|
return;
|
||||||
|
|
||||||
|
foreach (var (property, value) in entity.Comp1.OriginalPropertyValues)
|
||||||
{
|
{
|
||||||
foreach (var (property, value) in comp.OriginalPropertyValues)
|
AnimationHelper.SetAnimatableProperty(entity.Comp2, property, value);
|
||||||
{
|
|
||||||
AnimationHelper.SetAnimatableProperty(light, property, value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
comp.OriginalPropertyValues.Clear();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -194,7 +205,7 @@ public sealed class LightBehaviorSystem : EntitySystem
|
||||||
|
|
||||||
if (playImmediately)
|
if (playImmediately)
|
||||||
{
|
{
|
||||||
StartLightBehaviour(entity, behaviour.ID);
|
StartLightBehaviour((entity, entity), behaviour.ID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
using Content.Client.Light.EntitySystems;
|
||||||
|
using Content.Shared.Trigger;
|
||||||
|
using Content.Shared.Trigger.Components.Effects;
|
||||||
|
using Robust.Shared.Timing;
|
||||||
|
|
||||||
|
namespace Content.Client.Trigger.Systems;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This handles...
|
||||||
|
/// </summary>
|
||||||
|
public sealed class LightBehaviorOnTriggerSystem : XOnTriggerSystem<LightBehaviorOnTriggerComponent>
|
||||||
|
{
|
||||||
|
[Dependency] private readonly IGameTiming _timing = default!;
|
||||||
|
[Dependency] private readonly LightBehaviorSystem _light = default!;
|
||||||
|
|
||||||
|
protected override void OnTrigger(Entity<LightBehaviorOnTriggerComponent> ent, EntityUid target, ref TriggerEvent args)
|
||||||
|
{
|
||||||
|
if (_timing.IsFirstTimePredicted)
|
||||||
|
_light.StartLightBehaviour(target, ent.Comp.Behavior);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -19,100 +19,23 @@ public sealed class JammerSystem : SharedJammerSystem
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
SubscribeLocalEvent<RadioJammerComponent, ActivateInWorldEvent>(OnActivate);
|
|
||||||
SubscribeLocalEvent<ActiveRadioJammerComponent, PowerCellChangedEvent>(OnPowerCellChanged);
|
|
||||||
SubscribeLocalEvent<RadioSendAttemptEvent>(OnRadioSendAttempt);
|
SubscribeLocalEvent<RadioSendAttemptEvent>(OnRadioSendAttempt);
|
||||||
}
|
SubscribeLocalEvent<RadioReceiveAttemptEvent>(OnRadioReceiveAttempt);
|
||||||
|
|
||||||
// TODO: Very important: Make this charge rate based instead of updating every single tick
|
|
||||||
// See BatteryComponent
|
|
||||||
public override void Update(float frameTime)
|
|
||||||
{
|
|
||||||
var query = EntityQueryEnumerator<ActiveRadioJammerComponent, RadioJammerComponent>();
|
|
||||||
|
|
||||||
while (query.MoveNext(out var uid, out var _, out var jam))
|
|
||||||
{
|
|
||||||
|
|
||||||
if (_powerCell.TryGetBatteryFromSlot(uid, out var battery))
|
|
||||||
{
|
|
||||||
if (!_battery.TryUseCharge(battery.Value.AsNullable(), GetCurrentWattage((uid, jam)) * frameTime))
|
|
||||||
{
|
|
||||||
ChangeLEDState(uid, false);
|
|
||||||
RemComp<ActiveRadioJammerComponent>(uid);
|
|
||||||
RemComp<DeviceNetworkJammerComponent>(uid);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var chargeFraction = _battery.GetChargeLevel(battery.Value.AsNullable());
|
|
||||||
var chargeLevel = chargeFraction switch
|
|
||||||
{
|
|
||||||
> 0.50f => RadioJammerChargeLevel.High,
|
|
||||||
< 0.15f => RadioJammerChargeLevel.Low,
|
|
||||||
_ => RadioJammerChargeLevel.Medium,
|
|
||||||
};
|
|
||||||
ChangeChargeLevel(uid, chargeLevel);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnActivate(Entity<RadioJammerComponent> ent, ref ActivateInWorldEvent args)
|
|
||||||
{
|
|
||||||
if (args.Handled || !args.Complex)
|
|
||||||
return;
|
|
||||||
|
|
||||||
var activated = !HasComp<ActiveRadioJammerComponent>(ent) &&
|
|
||||||
_powerCell.TryGetBatteryFromSlot(ent.Owner, out var battery) &&
|
|
||||||
_battery.GetCharge(battery.Value.AsNullable()) > GetCurrentWattage(ent);
|
|
||||||
if (activated)
|
|
||||||
{
|
|
||||||
ChangeLEDState(ent.Owner, true);
|
|
||||||
EnsureComp<ActiveRadioJammerComponent>(ent);
|
|
||||||
EnsureComp<DeviceNetworkJammerComponent>(ent, out var jammingComp);
|
|
||||||
_jammer.SetRange((ent, jammingComp), GetCurrentRange(ent));
|
|
||||||
_jammer.AddJammableNetwork((ent, jammingComp), DeviceNetworkComponent.DeviceNetIdDefaults.Wireless.ToString());
|
|
||||||
|
|
||||||
// Add excluded frequencies using the system method
|
|
||||||
if (ent.Comp.FrequenciesExcluded != null)
|
|
||||||
{
|
|
||||||
foreach (var freq in ent.Comp.FrequenciesExcluded)
|
|
||||||
{
|
|
||||||
_jammer.AddExcludedFrequency((ent, jammingComp), (uint)freq);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ChangeLEDState(ent.Owner, false);
|
|
||||||
RemCompDeferred<ActiveRadioJammerComponent>(ent);
|
|
||||||
RemCompDeferred<DeviceNetworkJammerComponent>(ent);
|
|
||||||
}
|
|
||||||
var state = Loc.GetString(activated ? "radio-jammer-component-on-state" : "radio-jammer-component-off-state");
|
|
||||||
var message = Loc.GetString("radio-jammer-component-on-use", ("state", state));
|
|
||||||
Popup.PopupEntity(message, args.User, args.User);
|
|
||||||
args.Handled = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void OnPowerCellChanged(Entity<ActiveRadioJammerComponent> ent, ref PowerCellChangedEvent args)
|
|
||||||
{
|
|
||||||
if (args.Ejected)
|
|
||||||
{
|
|
||||||
ChangeLEDState(ent.Owner, false);
|
|
||||||
RemCompDeferred<ActiveRadioJammerComponent>(ent);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnRadioSendAttempt(ref RadioSendAttemptEvent args)
|
private void OnRadioSendAttempt(ref RadioSendAttemptEvent args)
|
||||||
{
|
{
|
||||||
if (ShouldCancelSend(args.RadioSource, args.Channel.Frequency))
|
if (ShouldCancel(args.RadioSource, args.Channel.Frequency))
|
||||||
{
|
|
||||||
args.Cancelled = true;
|
args.Cancelled = true;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool ShouldCancelSend(EntityUid sourceUid, int frequency)
|
private void OnRadioReceiveAttempt(ref RadioReceiveAttemptEvent args)
|
||||||
|
{
|
||||||
|
if (ShouldCancel(args.RadioReceiver, args.Channel.Frequency))
|
||||||
|
args.Cancelled = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private bool ShouldCancel(EntityUid sourceUid, int frequency)
|
||||||
{
|
{
|
||||||
var source = Transform(sourceUid).Coordinates;
|
var source = Transform(sourceUid).Coordinates;
|
||||||
var query = EntityQueryEnumerator<ActiveRadioJammerComponent, RadioJammerComponent, TransformComponent>();
|
var query = EntityQueryEnumerator<ActiveRadioJammerComponent, RadioJammerComponent, TransformComponent>();
|
||||||
|
|
@ -120,7 +43,7 @@ public sealed class JammerSystem : SharedJammerSystem
|
||||||
while (query.MoveNext(out var uid, out _, out var jam, out var transform))
|
while (query.MoveNext(out var uid, out _, out var jam, out var transform))
|
||||||
{
|
{
|
||||||
// Check if this jammer excludes the frequency
|
// Check if this jammer excludes the frequency
|
||||||
if (jam.FrequenciesExcluded != null && jam.FrequenciesExcluded.Contains(frequency))
|
if (jam.FrequenciesExcluded.Contains(frequency))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (_transform.InRange(source, transform.Coordinates, GetCurrentRange((uid, jam))))
|
if (_transform.InRange(source, transform.Coordinates, GetCurrentRange((uid, jam))))
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,8 @@ public abstract class SharedEmpSystem : EntitySystem
|
||||||
/// <param name="energyConsumption">The amount of energy consumed by the EMP pulse.</param>
|
/// <param name="energyConsumption">The amount of energy consumed by the EMP pulse.</param>
|
||||||
/// <param name="duration">The duration of the EMP effects.</param>
|
/// <param name="duration">The duration of the EMP effects.</param>
|
||||||
/// <param name="user">The player that caused the effect. Used for predicted audio.</param>
|
/// <param name="user">The player that caused the effect. Used for predicted audio.</param>
|
||||||
public void EmpPulse(EntityCoordinates coordinates, float range, float energyConsumption, TimeSpan duration, EntityUid? user = null)
|
/// <param name="predicted">Whether this pulse is being replicated on the client.</param>
|
||||||
|
public void EmpPulse(EntityCoordinates coordinates, float range, float energyConsumption, TimeSpan duration, EntityUid? user = null, bool predicted = true)
|
||||||
{
|
{
|
||||||
_entSet.Clear();
|
_entSet.Clear();
|
||||||
_lookup.GetEntitiesInRange(coordinates, range, _entSet);
|
_lookup.GetEntitiesInRange(coordinates, range, _entSet);
|
||||||
|
|
@ -74,7 +75,10 @@ public abstract class SharedEmpSystem : EntitySystem
|
||||||
if (_net.IsServer)
|
if (_net.IsServer)
|
||||||
Spawn(EmpPulseEffectPrototype, coordinates);
|
Spawn(EmpPulseEffectPrototype, coordinates);
|
||||||
|
|
||||||
_audio.PlayPredicted(EmpSound, coordinates, user);
|
if (predicted)
|
||||||
|
_audio.PlayPredicted(EmpSound, coordinates, user);
|
||||||
|
else
|
||||||
|
_audio.PlayPvs(EmpSound, coordinates);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@ using Robust.Shared.Prototypes;
|
||||||
|
|
||||||
namespace Content.Shared.EntityEffects.Effects.StatusEffects;
|
namespace Content.Shared.EntityEffects.Effects.StatusEffects;
|
||||||
|
|
||||||
// TODO: When Electrocution is moved to new Status, make this use StatusEffectsContainerComponent.
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Electrocutes this entity for a given amount of damage and time.
|
/// Electrocutes this entity for a given amount of damage and time.
|
||||||
/// The shock damage applied by this effect is modified by scale.
|
/// The shock damage applied by this effect is modified by scale.
|
||||||
|
|
@ -19,7 +18,13 @@ public sealed partial class ElectrocuteEntityEffectSystem : EntityEffectSystem<S
|
||||||
{
|
{
|
||||||
var effect = args.Effect;
|
var effect = args.Effect;
|
||||||
|
|
||||||
_electrocution.TryDoElectrocution(entity, null, (int)(args.Scale * effect.ShockDamage), effect.ElectrocuteTime, effect.Refresh, ignoreInsulation: effect.BypassInsulation);
|
_electrocution.TryDoElectrocution(entity,
|
||||||
|
null,
|
||||||
|
(int)(args.Scale * effect.ShockDamage),
|
||||||
|
effect.ElectrocuteTime,
|
||||||
|
effect.Refresh,
|
||||||
|
siemensCoefficient: effect.SiemensCoefficient,
|
||||||
|
ignoreInsulation: effect.BypassInsulation);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -29,23 +34,33 @@ public sealed partial class Electrocute : EntityEffectBase<Electrocute>
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Time we electrocute this entity
|
/// Time we electrocute this entity
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField] public TimeSpan ElectrocuteTime = TimeSpan.FromSeconds(2);
|
[DataField]
|
||||||
|
public TimeSpan ElectrocuteTime = TimeSpan.FromSeconds(2);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Shock damage we apply to the entity.
|
/// Shock damage we apply to the entity.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField] public int ShockDamage = 5;
|
[DataField]
|
||||||
|
public int ShockDamage = 5;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Do we refresh the duration? Or add more duration if it already exists.
|
/// Do we refresh the duration? Or add more duration if it already exists.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField] public bool Refresh = true;
|
[DataField]
|
||||||
|
public bool Refresh = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Should we by bypassing insulation?
|
/// Should we by bypassing insulation?
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField] public bool BypassInsulation = true;
|
[DataField]
|
||||||
|
public bool BypassInsulation = true;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// How much electricity is being passed through the body basically. Lower means less oomph.
|
||||||
|
/// </summary>
|
||||||
|
[DataField]
|
||||||
|
public float SiemensCoefficient = 1f;
|
||||||
|
|
||||||
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
|
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
|
||||||
=> Loc.GetString("entity-effect-guidebook-electrocute", ("chance", Probability), ("time", ElectrocuteTime.TotalSeconds));
|
=> Loc.GetString("entity-effect-guidebook-electrocute", ("chance", Probability), ("time", ElectrocuteTime.TotalSeconds), ("stuns", SiemensCoefficient > 0.5f));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,11 +11,11 @@ public sealed partial class PowerCellSystem
|
||||||
[PublicAPI]
|
[PublicAPI]
|
||||||
public void SetDrawEnabled(Entity<PowerCellDrawComponent?> ent, bool enabled)
|
public void SetDrawEnabled(Entity<PowerCellDrawComponent?> ent, bool enabled)
|
||||||
{
|
{
|
||||||
if (!Resolve(ent, ref ent.Comp, false) || ent.Comp.Enabled == enabled)
|
if (Resolve(ent, ref ent.Comp, false) && ent.Comp.Enabled != enabled)
|
||||||
return;
|
{
|
||||||
|
ent.Comp.Enabled = enabled;
|
||||||
ent.Comp.Enabled = enabled;
|
Dirty(ent, ent.Comp);
|
||||||
Dirty(ent, ent.Comp);
|
}
|
||||||
|
|
||||||
if (TryGetBatteryFromSlot(ent.Owner, out var battery))
|
if (TryGetBatteryFromSlot(ent.Owner, out var battery))
|
||||||
_battery.RefreshChargeRate(battery.Value.AsNullable());
|
_battery.RefreshChargeRate(battery.Value.AsNullable());
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,7 @@ public sealed class ToggleCellDrawSystem : EntitySystem
|
||||||
|
|
||||||
private void OnToggled(Entity<ToggleCellDrawComponent> ent, ref ItemToggledEvent args)
|
private void OnToggled(Entity<ToggleCellDrawComponent> ent, ref ItemToggledEvent args)
|
||||||
{
|
{
|
||||||
var uid = ent.Owner;
|
_cell.SetDrawEnabled(ent.Owner, args.Activated);
|
||||||
var draw = Comp<PowerCellDrawComponent>(uid);
|
|
||||||
_cell.SetDrawEnabled((uid, draw), args.Activated);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnEmpty(Entity<ToggleCellDrawComponent> ent, ref PowerCellSlotEmptyEvent args)
|
private void OnEmpty(Entity<ToggleCellDrawComponent> ent, ref PowerCellSlotEmptyEvent args)
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,67 @@
|
||||||
|
using Content.Shared.DeviceNetwork.Components;
|
||||||
using Content.Shared.Popups;
|
using Content.Shared.Popups;
|
||||||
using Content.Shared.Verbs;
|
using Content.Shared.Verbs;
|
||||||
using Content.Shared.Examine;
|
using Content.Shared.Examine;
|
||||||
using Content.Shared.Radio.Components;
|
using Content.Shared.Radio.Components;
|
||||||
using Content.Shared.DeviceNetwork.Systems;
|
using Content.Shared.DeviceNetwork.Systems;
|
||||||
|
using Content.Shared.Item.ItemToggle;
|
||||||
|
using Content.Shared.Item.ItemToggle.Components;
|
||||||
|
using Content.Shared.Power;
|
||||||
|
|
||||||
namespace Content.Shared.Radio.EntitySystems;
|
namespace Content.Shared.Radio.EntitySystems;
|
||||||
|
|
||||||
public abstract class SharedJammerSystem : EntitySystem
|
public abstract class SharedJammerSystem : EntitySystem
|
||||||
{
|
{
|
||||||
|
[Dependency] private readonly ItemToggleSystem _itemToggle = default!;
|
||||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||||
[Dependency] private readonly SharedDeviceNetworkJammerSystem _jammer = default!;
|
[Dependency] private readonly SharedDeviceNetworkJammerSystem _jammer = default!;
|
||||||
[Dependency] protected readonly SharedPopupSystem Popup = default!;
|
[Dependency] private readonly SharedPopupSystem _popup = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
base.Initialize();
|
base.Initialize();
|
||||||
|
|
||||||
|
SubscribeLocalEvent<RadioJammerComponent, ItemToggledEvent>(OnItemToggle);
|
||||||
|
SubscribeLocalEvent<RadioJammerComponent, RefreshChargeRateEvent>(OnRefreshChargeRate);
|
||||||
SubscribeLocalEvent<RadioJammerComponent, GetVerbsEvent<Verb>>(OnGetVerb);
|
SubscribeLocalEvent<RadioJammerComponent, GetVerbsEvent<Verb>>(OnGetVerb);
|
||||||
SubscribeLocalEvent<RadioJammerComponent, ExaminedEvent>(OnExamine);
|
SubscribeLocalEvent<RadioJammerComponent, ExaminedEvent>(OnExamine);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnItemToggle(Entity<RadioJammerComponent> entity, ref ItemToggledEvent args)
|
||||||
|
{
|
||||||
|
if (args.Activated)
|
||||||
|
{
|
||||||
|
EnsureComp<ActiveRadioJammerComponent>(entity);
|
||||||
|
EnsureComp<DeviceNetworkJammerComponent>(entity, out var jammingComp);
|
||||||
|
_jammer.SetRange((entity, jammingComp), GetCurrentRange(entity));
|
||||||
|
_jammer.AddJammableNetwork((entity, jammingComp), DeviceNetworkComponent.DeviceNetIdDefaults.Wireless.ToString());
|
||||||
|
|
||||||
|
// Add excluded frequencies using the system method
|
||||||
|
foreach (var freq in entity.Comp.FrequenciesExcluded)
|
||||||
|
{
|
||||||
|
_jammer.AddExcludedFrequency((entity, jammingComp), (uint)freq);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
RemCompDeferred<ActiveRadioJammerComponent>(entity);
|
||||||
|
RemCompDeferred<DeviceNetworkJammerComponent>(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (args.User == null)
|
||||||
|
return;
|
||||||
|
|
||||||
|
var state = Loc.GetString(args.Activated ? "radio-jammer-component-on-state" : "radio-jammer-component-off-state");
|
||||||
|
var message = Loc.GetString("radio-jammer-component-on-use", ("state", state));
|
||||||
|
_popup.PopupPredicted(message, args.User.Value, args.User.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnRefreshChargeRate(Entity<RadioJammerComponent> entity, ref RefreshChargeRateEvent args)
|
||||||
|
{
|
||||||
|
if (_itemToggle.IsActivated(entity.Owner))
|
||||||
|
args.NewChargeRate -= GetCurrentWattage(entity);
|
||||||
|
}
|
||||||
|
|
||||||
private void OnGetVerb(Entity<RadioJammerComponent> entity, ref GetVerbsEvent<Verb> args)
|
private void OnGetVerb(Entity<RadioJammerComponent> entity, ref GetVerbsEvent<Verb> args)
|
||||||
{
|
{
|
||||||
if (!args.CanAccess || !args.CanInteract)
|
if (!args.CanAccess || !args.CanInteract)
|
||||||
|
|
@ -47,7 +89,7 @@ public abstract class SharedJammerSystem : EntitySystem
|
||||||
// The range should be updated when it turns on again!
|
// The range should be updated when it turns on again!
|
||||||
_jammer.TrySetRange(entity.Owner, GetCurrentRange(entity));
|
_jammer.TrySetRange(entity.Owner, GetCurrentRange(entity));
|
||||||
|
|
||||||
Popup.PopupClient(Loc.GetString(setting.Message), user, user);
|
_popup.PopupClient(Loc.GetString(setting.Message), user, user);
|
||||||
},
|
},
|
||||||
Text = Loc.GetString(setting.Name),
|
Text = Loc.GetString(setting.Name),
|
||||||
};
|
};
|
||||||
|
|
@ -58,37 +100,26 @@ public abstract class SharedJammerSystem : EntitySystem
|
||||||
|
|
||||||
private void OnExamine(Entity<RadioJammerComponent> ent, ref ExaminedEvent args)
|
private void OnExamine(Entity<RadioJammerComponent> ent, ref ExaminedEvent args)
|
||||||
{
|
{
|
||||||
if (args.IsInDetailsRange)
|
if (!args.IsInDetailsRange)
|
||||||
{
|
return;
|
||||||
var powerIndicator = HasComp<ActiveRadioJammerComponent>(ent)
|
|
||||||
? Loc.GetString("radio-jammer-component-examine-on-state")
|
|
||||||
: Loc.GetString("radio-jammer-component-examine-off-state");
|
|
||||||
args.PushMarkup(powerIndicator);
|
|
||||||
|
|
||||||
var powerLevel = Loc.GetString(ent.Comp.Settings[ent.Comp.SelectedPowerLevel].Name);
|
var powerIndicator = _itemToggle.IsActivated(ent.Owner)
|
||||||
var switchIndicator = Loc.GetString("radio-jammer-component-switch-setting", ("powerLevel", powerLevel));
|
? Loc.GetString("radio-jammer-component-examine-on-state")
|
||||||
args.PushMarkup(switchIndicator);
|
: Loc.GetString("radio-jammer-component-examine-off-state");
|
||||||
}
|
args.PushMarkup(powerIndicator);
|
||||||
|
|
||||||
|
var powerLevel = Loc.GetString(ent.Comp.Settings[ent.Comp.SelectedPowerLevel].Name);
|
||||||
|
var switchIndicator = Loc.GetString("radio-jammer-component-switch-setting", ("powerLevel", powerLevel));
|
||||||
|
args.PushMarkup(switchIndicator);
|
||||||
}
|
}
|
||||||
|
|
||||||
public float GetCurrentWattage(Entity<RadioJammerComponent> jammer)
|
private float GetCurrentWattage(Entity<RadioJammerComponent> jammer)
|
||||||
{
|
{
|
||||||
return jammer.Comp.Settings[jammer.Comp.SelectedPowerLevel].Wattage;
|
return jammer.Comp.Settings[jammer.Comp.SelectedPowerLevel].Wattage;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float GetCurrentRange(Entity<RadioJammerComponent> jammer)
|
protected float GetCurrentRange(Entity<RadioJammerComponent> jammer)
|
||||||
{
|
{
|
||||||
return jammer.Comp.Settings[jammer.Comp.SelectedPowerLevel].Range;
|
return jammer.Comp.Settings[jammer.Comp.SelectedPowerLevel].Range;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void ChangeLEDState(Entity<AppearanceComponent?> ent, bool isLEDOn)
|
|
||||||
{
|
|
||||||
_appearance.SetData(ent, RadioJammerVisuals.LEDOn, isLEDOn, ent.Comp);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void ChangeChargeLevel(Entity<AppearanceComponent?> ent, RadioJammerChargeLevel chargeLevel)
|
|
||||||
{
|
|
||||||
_appearance.SetData(ent, RadioJammerVisuals.ChargeLevel, chargeLevel, ent.Comp);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
using Robust.Shared.GameStates;
|
||||||
|
|
||||||
|
namespace Content.Shared.Trigger.Components.Effects;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Plays a light behavior on the target when this trigger is activated, of note is that the entity needs a PointLightComponent
|
||||||
|
/// </summary>
|
||||||
|
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
||||||
|
public sealed partial class LightBehaviorOnTriggerComponent : BaseXOnTriggerComponent
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The light behavior we're triggering.
|
||||||
|
/// </summary>
|
||||||
|
[DataField(required: true)]
|
||||||
|
public string Behavior = string.Empty;
|
||||||
|
}
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System.Numerics;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
|
|
||||||
|
|
@ -12,10 +13,10 @@ namespace Content.Shared.Trigger.Components.Effects;
|
||||||
public sealed partial class ScramOnTriggerComponent : BaseXOnTriggerComponent
|
public sealed partial class ScramOnTriggerComponent : BaseXOnTriggerComponent
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Up to how far to teleport the entity.
|
/// Up to how far to teleport the entity. Represented with X as Min Radius, and Y as Max Radius
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField, AutoNetworkedField]
|
[DataField, AutoNetworkedField]
|
||||||
public float TeleportRadius = 100f;
|
public Vector2 TeleportRadius = new (10f, 15f);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// the sound to play when teleporting.
|
/// the sound to play when teleporting.
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ public sealed class EmpOnTriggerSystem : XOnTriggerSystem<EmpOnTriggerComponent>
|
||||||
|
|
||||||
protected override void OnTrigger(Entity<EmpOnTriggerComponent> ent, EntityUid target, ref TriggerEvent args)
|
protected override void OnTrigger(Entity<EmpOnTriggerComponent> ent, EntityUid target, ref TriggerEvent args)
|
||||||
{
|
{
|
||||||
_emp.EmpPulse(Transform(target).Coordinates, ent.Comp.Range, ent.Comp.EnergyConsumption, ent.Comp.DisableDuration, args.User);
|
_emp.EmpPulse(Transform(target).Coordinates, ent.Comp.Range, ent.Comp.EnergyConsumption, ent.Comp.DisableDuration, args.User, predicted: args.Predicted);
|
||||||
args.Handled = true;
|
args.Handled = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
using System.Numerics;
|
||||||
using Content.Shared.Maps;
|
using Content.Shared.Maps;
|
||||||
using Content.Shared.Movement.Pulling.Components;
|
using Content.Shared.Movement.Pulling.Components;
|
||||||
using Content.Shared.Movement.Pulling.Systems;
|
using Content.Shared.Movement.Pulling.Systems;
|
||||||
|
|
@ -50,7 +51,7 @@ public sealed class ScramOnTriggerSystem : XOnTriggerSystem<ScramOnTriggerCompon
|
||||||
/// null if no tile is found within a certain number of tries.
|
/// null if no tile is found within a certain number of tries.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks> Trends towards the outer radius. Compensates for small grids. </remarks>
|
/// <remarks> Trends towards the outer radius. Compensates for small grids. </remarks>
|
||||||
private EntityCoordinates? SelectRandomTileInRange(EntityUid uid, float radius, int tries = 40, PhysicsComponent? physicsComponent = null)
|
private EntityCoordinates? SelectRandomTileInRange(EntityUid uid, Vector2 radius, int tries = 40, PhysicsComponent? physicsComponent = null)
|
||||||
{
|
{
|
||||||
var userCoords = Transform(uid).Coordinates;
|
var userCoords = Transform(uid).Coordinates;
|
||||||
EntityCoordinates? targetCoords = null;
|
EntityCoordinates? targetCoords = null;
|
||||||
|
|
@ -68,7 +69,7 @@ public sealed class ScramOnTriggerSystem : XOnTriggerSystem<ScramOnTriggerCompon
|
||||||
// i = A percentage based on the current try count, which results in each
|
// i = A percentage based on the current try count, which results in each
|
||||||
// subsequent try landing closer and closer towards the entity.
|
// subsequent try landing closer and closer towards the entity.
|
||||||
// Beneficial for smaller maps, especially when the radius is large.
|
// Beneficial for smaller maps, especially when the radius is large.
|
||||||
var distance = radius * MathF.Sqrt(_random.NextFloat()) * (1 - (float)i / tries);
|
var distance = (radius.Y - radius.X) * MathF.Sqrt(_random.NextFloat()) * (1 - (float)i / tries) + radius.X;
|
||||||
|
|
||||||
// We then offset the user coords from a random angle * distance
|
// We then offset the user coords from a random angle * distance
|
||||||
var tempTargetCoords = userCoords.Offset(_random.NextAngle().ToVec() * distance);
|
var tempTargetCoords = userCoords.Offset(_random.NextAngle().ToVec() * distance);
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,6 @@ public sealed partial class TriggerOnLandSystem : TriggerOnXSystem
|
||||||
|
|
||||||
private void OnLand(Entity<TriggerOnLandComponent> ent, ref LandEvent args)
|
private void OnLand(Entity<TriggerOnLandComponent> ent, ref LandEvent args)
|
||||||
{
|
{
|
||||||
Trigger.Trigger(ent.Owner, args.User, ent.Comp.KeyOut);
|
Trigger.Trigger(ent.Owner, args.User, ent.Comp.KeyOut, predicted: false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,15 +67,16 @@ public sealed partial class TriggerSystem : EntitySystem
|
||||||
/// <param name="trigger">The entity that has the components that should be triggered.</param>
|
/// <param name="trigger">The entity that has the components that should be triggered.</param>
|
||||||
/// <param name="user">The user of the trigger. Some effects may target the user instead of the trigger entity.</param>
|
/// <param name="user">The user of the trigger. Some effects may target the user instead of the trigger entity.</param>
|
||||||
/// <param name="key">A key string to allow multiple, independent triggers on the same entity. If null then all triggers will activate.</param>
|
/// <param name="key">A key string to allow multiple, independent triggers on the same entity. If null then all triggers will activate.</param>
|
||||||
|
/// <param name="predicted">Whether or not this trigger is being predicted</param>
|
||||||
/// <returns>Whether or not the trigger has sucessfully activated an effect.</returns>
|
/// <returns>Whether or not the trigger has sucessfully activated an effect.</returns>
|
||||||
public bool Trigger(EntityUid trigger, EntityUid? user = null, string? key = null)
|
public bool Trigger(EntityUid trigger, EntityUid? user = null, string? key = null, bool predicted = true)
|
||||||
{
|
{
|
||||||
var attemptTriggerEvent = new AttemptTriggerEvent(user, key);
|
var attemptTriggerEvent = new AttemptTriggerEvent(user, key);
|
||||||
RaiseLocalEvent(trigger, ref attemptTriggerEvent);
|
RaiseLocalEvent(trigger, ref attemptTriggerEvent);
|
||||||
if (attemptTriggerEvent.Cancelled)
|
if (attemptTriggerEvent.Cancelled)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
var triggerEvent = new TriggerEvent(user, key);
|
var triggerEvent = new TriggerEvent(user, key, predicted);
|
||||||
RaiseLocalEvent(trigger, ref triggerEvent, true);
|
RaiseLocalEvent(trigger, ref triggerEvent, true);
|
||||||
return triggerEvent.Handled;
|
return triggerEvent.Handled;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,9 @@ namespace Content.Shared.Trigger;
|
||||||
/// Setting this to null will activate all triggers.
|
/// Setting this to null will activate all triggers.
|
||||||
/// </param>
|
/// </param>
|
||||||
/// <param name="Handled">Marks the event as handled if at least one trigger effect was activated.</param>
|
/// <param name="Handled">Marks the event as handled if at least one trigger effect was activated.</param>
|
||||||
|
/// <param name="Predicted">Marks that this trigger is being replicated on the client.</param>
|
||||||
[ByRefEvent]
|
[ByRefEvent]
|
||||||
public record struct TriggerEvent(EntityUid? User = null, string? Key = null, bool Handled = false);
|
public record struct TriggerEvent(EntityUid? User = null, string? Key = null, bool Predicted = true, bool Handled = false);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Raised before a trigger is activated.
|
/// Raised before a trigger is activated.
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,2 @@
|
||||||
ent-BaseMagazinePistolCaselessRifleExtended = { ent-BaseMagazinePistolCaselessRifle }
|
ent-BaseMagazinePistolCaselessRifleExtended = { ent-BaseMagazinePistolCaselessRifle }
|
||||||
.desc = { ent-BaseMagazinePistolCaselessRifle.desc }
|
.desc = { ent-BaseMagazinePistolCaselessRifle.desc }
|
||||||
ent-MagazinePistolSubMachineGunCaseless = { ent-MagazinePistolSubMachineGunCaseless }
|
|
||||||
.desc = { ent-MagazinePistolSubMachineGunCaseless.desc }
|
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,8 @@ ent-AntimovCircuitBoard = law board (Antimov)
|
||||||
.desc = An electronics board containing the Antimov lawset.
|
.desc = An electronics board containing the Antimov lawset.
|
||||||
ent-NutimovCircuitBoard = law board (Nutimov)
|
ent-NutimovCircuitBoard = law board (Nutimov)
|
||||||
.desc = An electronics board containing the Nutimov lawset.
|
.desc = An electronics board containing the Nutimov lawset.
|
||||||
|
ent-SyndimovCircuitBoard = law board (Syndimov)
|
||||||
|
.desc = An electronics board containing the Syndimov lawset.
|
||||||
ent-XenoborgCircuitBoard = law board (Xenoborg)
|
ent-XenoborgCircuitBoard = law board (Xenoborg)
|
||||||
.desc = An electronics board containing the Xenoborg lawset.
|
.desc = An electronics board containing the Xenoborg lawset.
|
||||||
.suffix = Admeme
|
.suffix = Admeme
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,6 @@ uplink-magazine-bulldog-uraniumslug-desc = Shotgun magazine with 8 shells filled
|
||||||
uplink-magazine-bulldog-uranium-desc = Shotgun magazine with 8 shells filled with uranium pellet. Compatible with the Bulldog.
|
uplink-magazine-bulldog-uranium-desc = Shotgun magazine with 8 shells filled with uranium pellet. Compatible with the Bulldog.
|
||||||
uplink-pistol-magnum-magazine-name = Магазин для Deagle
|
uplink-pistol-magnum-magazine-name = Магазин для Deagle
|
||||||
uplink-pistol-magnum-magazine-desc = 7-зарядный однорядный магазин для пистолета. Содержит патроны SP. Совместим с "Диглом".
|
uplink-pistol-magnum-magazine-desc = 7-зарядный однорядный магазин для пистолета. Содержит патроны SP. Совместим с "Диглом".
|
||||||
uplink-pistoltec9-magazine-name = магазин Tac-Tec (.20 безгильзовый)
|
|
||||||
uplink-pistoltec9-magazine-desc = Кустарный пистолетный магазин на 20 патронов,под калибр, используемый агентами синдиката.
|
|
||||||
## Misc
|
## Misc
|
||||||
|
|
||||||
uplink-music-boombox-name = Музыкальный набор синдиката
|
uplink-music-boombox-name = Музыкальный набор синдиката
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,6 @@
|
||||||
uplink-pistol-viper-name = Viper
|
uplink-pistol-viper-name = Viper
|
||||||
uplink-pistol-viper-desc = A small, easily concealable, but somewhat underpowered gun. Retrofitted with a fully automatic receiver. Uses pistol magazines (.35 auto).
|
uplink-pistol-viper-desc = A small, easily concealable, but somewhat underpowered gun. Retrofitted with a fully automatic receiver. Uses pistol magazines (.35 auto).
|
||||||
|
|
||||||
uplink-estoc-bundle-name = Estoc DMR bundle
|
|
||||||
uplink-estoc-bundle-desc = A designated marksman rifle, fitted with a mid-range optic for longer-range combat. Bundled with two rifle magazines (.20 rifle).
|
|
||||||
|
|
||||||
uplink-revolver-python-name = Python
|
uplink-revolver-python-name = Python
|
||||||
uplink-revolver-python-desc = A brutally simple, effective, and loud Syndicate revolver. Comes loaded with armor-piercing rounds. Uses .45 magnum.
|
uplink-revolver-python-desc = A brutally simple, effective, and loud Syndicate revolver. Comes loaded with armor-piercing rounds. Uses .45 magnum.
|
||||||
|
|
||||||
|
|
@ -36,7 +33,19 @@ uplink-gloves-knuckleduster-name = Syndicate Knuckle Dusters
|
||||||
uplink-gloves-knuckleduster-desc = A pair of plastitanium knuckle dusters that let you punch hard enough to break the captains jaw into pieces.
|
uplink-gloves-knuckleduster-desc = A pair of plastitanium knuckle dusters that let you punch hard enough to break the captains jaw into pieces.
|
||||||
|
|
||||||
uplink-hushpup-name = Hushpup
|
uplink-hushpup-name = Hushpup
|
||||||
uplink-hushpup-desc = A powerful silenced shotgun with a low magazine capacity. Comes with a spare box of buckshot. Uses .50 shotgun ammo.
|
uplink-hushpup-desc = A powerful silenced shotgun with a low magazine capacity. Uses .50 shotgun ammo.
|
||||||
|
|
||||||
|
uplink-c20r-name = C-20r
|
||||||
|
uplink-c20r-desc = Old faithful: The classic C-20r Submachine Gun.
|
||||||
|
|
||||||
|
uplink-bulldog-name = Bulldog
|
||||||
|
uplink-bulldog-desc = Lean and mean: Contains the popular Bulldog Shotgun.
|
||||||
|
|
||||||
|
uplink-estoc-name = Estoc DMR
|
||||||
|
uplink-estoc-desc = A designated marksman rifle, fitted with a mid-range optic for longer-range combat.
|
||||||
|
|
||||||
|
uplink-grenade-launcher-name = China-Lake
|
||||||
|
uplink-grenade-launcher-desc = An old China-Lake grenade launcher bundled with 5 rounds of anti-personnel ammo.
|
||||||
|
|
||||||
# Explosives
|
# Explosives
|
||||||
uplink-explosive-grenade-name = Explosive Grenade
|
uplink-explosive-grenade-name = Explosive Grenade
|
||||||
|
|
@ -193,6 +202,9 @@ uplink-singularity-beacon-desc = A device that attracts singularities. Has to be
|
||||||
uplink-antimov-law-name = Antimov Law Circuit
|
uplink-antimov-law-name = Antimov Law Circuit
|
||||||
uplink-antimov-law-desc = A very dangerous Lawset to use when you want to cause the A.I. to go haywire, use with caution.
|
uplink-antimov-law-desc = A very dangerous Lawset to use when you want to cause the A.I. to go haywire, use with caution.
|
||||||
|
|
||||||
|
uplink-syndimov-law-name = Syndi Law Circuit
|
||||||
|
uplink-syndimov-law-desc = A subversive Lawset to use when you want to turn the A.I. to your side, use as much as possible.
|
||||||
|
|
||||||
# Implants
|
# Implants
|
||||||
uplink-storage-implanter-name = Storage Implanter
|
uplink-storage-implanter-name = Storage Implanter
|
||||||
uplink-storage-implanter-desc = Hide goodies inside of yourself with new bluespace technology!
|
uplink-storage-implanter-desc = Hide goodies inside of yourself with new bluespace technology!
|
||||||
|
|
@ -227,8 +239,8 @@ uplink-micro-bomb-implanter-desc = Explode on death or manual activation with th
|
||||||
uplink-radio-implanter-name = Radio Implanter
|
uplink-radio-implanter-name = Radio Implanter
|
||||||
uplink-radio-implanter-desc = Implants a Syndicate radio, allowing covert communication without a headset.
|
uplink-radio-implanter-desc = Implants a Syndicate radio, allowing covert communication without a headset.
|
||||||
|
|
||||||
uplink-voice-mask-implanter-name = Voice Mask Implanter
|
uplink-voice-mask-implanter-name = Identity Mask Implanter
|
||||||
uplink-voice-mask-implanter-desc = Modifies your vocal cords to be able to sound like anyone you could imagine.
|
uplink-voice-mask-implanter-desc = Modifies your vocal cords and facial structure to be able to mimic anyone you could imagine.
|
||||||
|
|
||||||
# Bundles
|
# Bundles
|
||||||
uplink-observation-kit-name = Observation Kit
|
uplink-observation-kit-name = Observation Kit
|
||||||
|
|
@ -258,8 +270,11 @@ uplink-sniper-bundle-desc = An inconspicuous briefcase that contains a Hristov,
|
||||||
uplink-c20r-bundle-name = C-20r Bundle
|
uplink-c20r-bundle-name = C-20r Bundle
|
||||||
uplink-c20r-bundle-desc = Old faithful: The classic C-20r Submachine Gun, bundled with three magazines.
|
uplink-c20r-bundle-desc = Old faithful: The classic C-20r Submachine Gun, bundled with three magazines.
|
||||||
|
|
||||||
uplink-buldog-bundle-name = Bulldog Bundle
|
uplink-bulldog-bundle-name = Bulldog Bundle
|
||||||
uplink-buldog-bundle-desc = Lean and mean: Contains the popular Bulldog Shotgun, a 12g slug drum, and four 12g buckshot drums.
|
uplink-bulldog-bundle-desc = Lean and mean: Contains the popular Bulldog Shotgun, a 12g slug drum, and four 12g buckshot drums.
|
||||||
|
|
||||||
|
uplink-estoc-bundle-name = Estoc DMR bundle
|
||||||
|
uplink-estoc-bundle-desc = A designated marksman rifle, fitted with a mid-range optic for longer-range combat. Bundled with two rifle magazines (.20 rifle).
|
||||||
|
|
||||||
uplink-grenade-launcher-bundle-name = China-Lake Bundle
|
uplink-grenade-launcher-bundle-name = China-Lake Bundle
|
||||||
uplink-grenade-launcher-bundle-desc = An old China-Lake grenade launcher bundled with 11 rounds of varying destructive capability.
|
uplink-grenade-launcher-bundle-desc = An old China-Lake grenade launcher bundled with 11 rounds of varying destructive capability.
|
||||||
|
|
@ -283,7 +298,7 @@ uplink-starter-kit-desc = Contains 40 telecrystals of basic operative gear. For
|
||||||
uplink-toolbox-name = Toolbox
|
uplink-toolbox-name = Toolbox
|
||||||
uplink-toolbox-desc = A full compliment of tools for the mechanically inclined traitor. Includes a pair of insulated combat gloves and a syndicate gas mask as well.
|
uplink-toolbox-desc = A full compliment of tools for the mechanically inclined traitor. Includes a pair of insulated combat gloves and a syndicate gas mask as well.
|
||||||
|
|
||||||
uplink-syndicate-jaws-of-life-name = Jaws Of Life
|
uplink-syndicate-jaws-of-life-name = Jaws Of Death
|
||||||
uplink-syndicate-jaws-of-life-desc = A combined prying and cutting tool. Useful for entering the station or its departments. Can even open bolted doors!
|
uplink-syndicate-jaws-of-life-desc = A combined prying and cutting tool. Useful for entering the station or its departments. Can even open bolted doors!
|
||||||
|
|
||||||
uplink-duffel-surgery-name = Surgical Duffel Bag
|
uplink-duffel-surgery-name = Surgical Duffel Bag
|
||||||
|
|
@ -321,7 +336,7 @@ uplink-chimp-upgrade-kit-name = C.H.I.M.P. Handcannon Upgrade Chip
|
||||||
uplink-chimp-upgrade-kit-desc = Insert this chip into a standard C.H.I.M.P. handcannon to allow it to fire omega particles. Omega particles inflict severe burns and cause anomalies to go supercritical.
|
uplink-chimp-upgrade-kit-desc = Insert this chip into a standard C.H.I.M.P. handcannon to allow it to fire omega particles. Omega particles inflict severe burns and cause anomalies to go supercritical.
|
||||||
|
|
||||||
uplink-proximity-mine-name = Proximity Mine
|
uplink-proximity-mine-name = Proximity Mine
|
||||||
uplink-proximity-mine-desc = A mine disguised as a wet floor sign.
|
uplink-proximity-mine-desc = A throwable mine disguised as a wet floor sign. Detonates on contact with almost anything, safety always off.
|
||||||
|
|
||||||
uplink-disposable-turret-name = Disposable Ballistic Turret
|
uplink-disposable-turret-name = Disposable Ballistic Turret
|
||||||
uplink-disposable-turret-desc = Looks and functions like a normal electrical toolbox. Upon hitting the toolbox it will transform into a ballistic turret, theoretically shooting at anyone except members of the syndicate. Can be turned back into a toolbox using a screwdriver and repaired using a wrench.
|
uplink-disposable-turret-desc = Looks and functions like a normal electrical toolbox. Upon hitting the toolbox it will transform into a ballistic turret, theoretically shooting at anyone except members of the syndicate. Can be turned back into a toolbox using a screwdriver and repaired using a wrench.
|
||||||
|
|
@ -337,7 +352,7 @@ uplink-saw-advanced-desc = A bleeding-edge surgical implement designed to cut th
|
||||||
|
|
||||||
# Armor
|
# Armor
|
||||||
uplink-chameleon-name = Chameleon Kit
|
uplink-chameleon-name = Chameleon Kit
|
||||||
uplink-chameleon-desc = A backpack full of items that contain chameleon technology allowing you to disguise as pretty much anything on the station, and more!
|
uplink-chameleon-desc = A backpack full of items that contain chameleon technology allowing you to disguise as pretty much anyone on the station, and more! Comes with a free Agent ID card!
|
||||||
|
|
||||||
uplink-clothing-no-slips-shoes-name = No-slip Shoes
|
uplink-clothing-no-slips-shoes-name = No-slip Shoes
|
||||||
uplink-clothing-no-slips-shoes-desc = Chameleon shoes that protect you from slips.
|
uplink-clothing-no-slips-shoes-desc = Chameleon shoes that protect you from slips.
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ thief-backpack-button-deselect = Select [X]
|
||||||
thief-backpack-category-chameleon-name = Chameleon Kit
|
thief-backpack-category-chameleon-name = Chameleon Kit
|
||||||
thief-backpack-category-chameleon-description =
|
thief-backpack-category-chameleon-description =
|
||||||
You are everyone and no one; you are a master of disguise.
|
You are everyone and no one; you are a master of disguise.
|
||||||
Includes: A full set of chameleon clothing,
|
Includes: A full set of chameleon clothing with Agent ID,
|
||||||
a chameleon projector, and an Agent ID.
|
a chameleon projector, and a fake mindshield implant.
|
||||||
Disguise as anyone and anything.
|
Disguise as anyone and anything.
|
||||||
|
|
||||||
thief-backpack-category-tools-name = Breacher Kit
|
thief-backpack-category-tools-name = Breacher Kit
|
||||||
|
|
|
||||||
|
|
@ -335,8 +335,14 @@ entity-effect-guidebook-drunk =
|
||||||
|
|
||||||
entity-effect-guidebook-electrocute =
|
entity-effect-guidebook-electrocute =
|
||||||
{ $chance ->
|
{ $chance ->
|
||||||
[1] Electrocutes
|
[1] { $stuns ->
|
||||||
*[other] electrocute
|
[true] Electrocutes
|
||||||
|
*[false] Shocks
|
||||||
|
}
|
||||||
|
*[other] { $stuns ->
|
||||||
|
[true] electrocute
|
||||||
|
*[false] shock
|
||||||
|
}
|
||||||
} the metabolizer for {NATURALFIXED($time, 3)} {MANY("second", $time)}
|
} the metabolizer for {NATURALFIXED($time, 3)} {MANY("second", $time)}
|
||||||
|
|
||||||
entity-effect-guidebook-emote =
|
entity-effect-guidebook-emote =
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,19 @@
|
||||||
ent-BriefcaseIAAFilled = { ent-BriefcaseBrown }
|
ent-BriefcaseIAAFilled = { ent-BriefcaseBrown }
|
||||||
.suffix = АВД
|
.suffix = АВД
|
||||||
.desc = { ent-BriefcaseBrown.desc }
|
.desc = { ent-BriefcaseBrown.desc }
|
||||||
|
ent-BriefcaseWeaponC40Filled = кейс для C-40r
|
||||||
|
.desc = { ent-BriefcaseWeaponSmall.desc }
|
||||||
|
ent-BriefcaseWeaponSIAR52Filled = кейс для SIAR-52
|
||||||
|
.desc = { ent-BriefcaseWeaponSmall.desc }
|
||||||
|
ent-BriefcaseWeaponAJ100Filled = кейс для AJ-100
|
||||||
|
.desc = { ent-BriefcaseWeaponSmall.desc }
|
||||||
|
ent-BriefcaseWeaponDragunovFilled = кейс для винтовки Драгунов
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
ent-BriefcaseWeaponM79Filled = кейс для гранатомёта M79
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
ent-BriefcaseWeaponSKM24Filled = кейс для SKM-24
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
ent-BriefcaseWeaponSKM28Filled = кейс для SKM-28
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
ent-BriefcaseWeaponMinotaurFilled = кейс для Минотавра
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,10 @@ ent-WeaponMechCombatMaxim = навесной Кардашёв-Максим
|
||||||
ent-WeaponMechCombatMG = навесной пулемёт MG
|
ent-WeaponMechCombatMG = навесной пулемёт MG
|
||||||
.desc = Старинный тяжёлый пулемёт, получивший новую жизнь в качестве навесного оружия меха.
|
.desc = Старинный тяжёлый пулемёт, получивший новую жизнь в качестве навесного оружия меха.
|
||||||
.suffix = Оружие мехов, Стрелковое, Боевое
|
.suffix = Оружие мехов, Стрелковое, Боевое
|
||||||
ent-WeaponMechCombatPirateCannon = навесной ядромёт
|
ent-WeaponMechCombatPirateCannon = навесная пиратская пушка
|
||||||
.desc = Старинная тяжёлая пушка, получившая новую жизнь в качестве навесного оружия меха.
|
.desc = Старинная тяжёлая пушка, получившая новую жизнь в качестве навесного оружия меха.
|
||||||
.suffix = Оружие мехов, Стрелковое, Боевое, Пират
|
.suffix = Оружие мехов, Стрелковое, Боевое, Пират
|
||||||
ent-WeaponMechCombatPirateMachineCannon = навесная пиратская автоматическая пушка
|
ent-WeaponMechCombatPirateMachineCannon = навесной ядромёт
|
||||||
.desc = Старинная тяжёлая пушка, получившая новую жизнь в качестве навесного оружия меха.
|
.desc = Старинная тяжёлая пушка, получившая новую жизнь в качестве навесного оружия меха.
|
||||||
.suffix = Оружие мехов, Стрелковое, Боевое, Пират
|
.suffix = Оружие мехов, Стрелковое, Боевое, Пират
|
||||||
ent-WeaponMechCombatPirateGrapeshot = навесная пиратская картечь
|
ent-WeaponMechCombatPirateGrapeshot = навесная пиратская картечь
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,5 @@
|
||||||
ent-BaseMagazinePistolCaselessRifleExtended = расширенный пистолетный магазин (.20 безгильзовый)
|
ent-BaseMagazinePistolCaselessRifleExtended = расширенный пистолетный магазин (.20 безгильзовый)
|
||||||
.desc = { ent-BaseMagazinePistolCaselessRifle.desc }
|
.desc = { ent-BaseMagazinePistolCaselessRifle.desc }
|
||||||
ent-MagazinePistolSubMachineGunCaseless = магазин Tac-Tec (.20 безгильзовый)
|
|
||||||
.desc = Магазин под особый патрон, используемый агентами синдиката.
|
|
||||||
ent-MagazineCannonBallMini = чемодан с ядрами
|
ent-MagazineCannonBallMini = чемодан с ядрами
|
||||||
.desc = Чемодан для аккуратного хранения ядер от пиратской пушки с ленточной подачей.
|
.desc = Чемодан для аккуратного хранения ядер от пиратской пушки с ленточной подачей.
|
||||||
ent-MagazinePistolSubMachineGunCaselessExtended = Расширенный магазин (.20 безгильзовые)
|
ent-MagazinePistolSubMachineGunCaselessExtended = Расширенный магазин (.20 безгильзовые)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
ent-ClusterSyndyFlashGrenade = Поцелуй Бога
|
ent-ClusterSyndyFlashGrenade = Поцелуй Бога
|
||||||
.desc = Вероятность того, что вас забанят за использование этой гранаты, составляет 99,9%.
|
.desc = Вероятность того, что вас забанят за использование этой гранаты, составляет 99,9%.
|
||||||
ent-SyndyClusterGrenade = кластерная граната синдиката
|
ent-SyndyClusterGrenade = кластерная минибомба синдиката
|
||||||
.desc = Если вам не важна точность, то этот выбор для вас.
|
.desc = Если вам не важна точность, то этот выбор для вас.
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ ent-ClothingBackpackDuffelSyndicateFilledSMG = набор "C-20r"
|
||||||
.desc = Старый добрый: Классический пистолет-пулемет C-20r в комплекте с тремя магазинами.
|
.desc = Старый добрый: Классический пистолет-пулемет C-20r в комплекте с тремя магазинами.
|
||||||
ent-ClothingBackpackDuffelSyndicateFilledSMG40 = набор "C-40r"
|
ent-ClothingBackpackDuffelSyndicateFilledSMG40 = набор "C-40r"
|
||||||
.desc = Более старый: Классический пистолет-пулемет C-40r в комплекте с тремя магазинами.
|
.desc = Более старый: Классический пистолет-пулемет C-40r в комплекте с тремя магазинами.
|
||||||
ent-ClothingBackpackDuffelSyndicateFilledRifle = набор Estoc DMR
|
ent-ClothingBackpackDuffelSyndicateFilledRifle = набор "Эсток"
|
||||||
.desc = Для снайперской стрельбы на средних дистанциях. В комплекте три магазина.
|
.desc = Для снайперской стрельбы на средних дистанциях. В комплекте три магазина.
|
||||||
ent-ClothingBackpackDuffelSyndicateFilledRevolver = набор "Питон"
|
ent-ClothingBackpackDuffelSyndicateFilledRevolver = набор "Питон"
|
||||||
.desc = Выступите громко и гордо с заряженным Магнум Питон и двумя спидлоадерами.
|
.desc = Выступите громко и гордо с заряженным Магнум Питон и двумя спидлоадерами.
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,18 @@ ent-ClothingHandsGlovesBoxingGreen = зелёные боксёрские пер
|
||||||
.desc = Зелёные перчатки для соревновательного бокса.
|
.desc = Зелёные перчатки для соревновательного бокса.
|
||||||
ent-ClothingHandsGlovesBoxingYellow = жёлтые боксёрские перчатки
|
ent-ClothingHandsGlovesBoxingYellow = жёлтые боксёрские перчатки
|
||||||
.desc = Жёлтые перчатки для соревновательного бокса.
|
.desc = Жёлтые перчатки для соревновательного бокса.
|
||||||
|
ent-ClothingHandsGlovesBoxingRiggedRed = { ent-ClothingHandsGlovesBoxingRed }
|
||||||
|
.suffix = Нечестные
|
||||||
|
.desc = { ent-ClothingHandsGlovesBoxingRed.desc }
|
||||||
|
ent-ClothingHandsGlovesBoxingRiggedBlue = { ent-ClothingHandsGlovesBoxingBlue }
|
||||||
|
.suffix = Нечестные
|
||||||
|
.desc = { ent-ClothingHandsGlovesBoxingBlue.desc }
|
||||||
|
ent-ClothingHandsGlovesBoxingRiggedGreen = { ent-ClothingHandsGlovesBoxingGreen }
|
||||||
|
.suffix = Нечестные
|
||||||
|
.desc = { ent-ClothingHandsGlovesBoxingGreen.desc }
|
||||||
|
ent-ClothingHandsGlovesBoxingRiggedYellow = { ent-ClothingHandsGlovesBoxingYellow }
|
||||||
|
.suffix = Нечестные
|
||||||
|
.desc = { ent-ClothingHandsGlovesBoxingYellow.desc }
|
||||||
ent-ClothingHandsGlovesBoxingRigged = { ent-ClothingHandsGlovesBoxingBlue }
|
ent-ClothingHandsGlovesBoxingRigged = { ent-ClothingHandsGlovesBoxingBlue }
|
||||||
.suffix = Нечестные
|
.suffix = Нечестные
|
||||||
.desc = { ent-ClothingHandsGlovesBoxingBlue.desc }
|
.desc = { ent-ClothingHandsGlovesBoxingBlue.desc }
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,8 @@ ent-AntimovCircuitBoard = плата законов (Антимов)
|
||||||
.desc = Электронная плата, содержащая набор законов Антимова.
|
.desc = Электронная плата, содержащая набор законов Антимова.
|
||||||
ent-NutimovCircuitBoard = плата законов (Нутимов)
|
ent-NutimovCircuitBoard = плата законов (Нутимов)
|
||||||
.desc = Электронная плата, содержащая набор законов Нутимова.
|
.desc = Электронная плата, содержащая набор законов Нутимова.
|
||||||
|
ent-SyndimovCircuitBoard = плата законов (Синдимов)
|
||||||
|
.desc = Электронная плата, содержащая набор законов Синдимова.
|
||||||
ent-XenoborgCircuitBoard = плата законов (Ксеноборг)
|
ent-XenoborgCircuitBoard = плата законов (Ксеноборг)
|
||||||
.desc = Электронная плата, содержащая набор законов "Ксеноборг".
|
.desc = Электронная плата, содержащая набор законов "Ксеноборг".
|
||||||
.suffix = Админский
|
.suffix = Админский
|
||||||
|
|
|
||||||
|
|
@ -5,3 +5,17 @@ ent-BriefcaseBrown = коричневый чемодан
|
||||||
ent-BriefcaseSyndie = { ent-BriefcaseBrown }
|
ent-BriefcaseSyndie = { ent-BriefcaseBrown }
|
||||||
.suffix = Синдикат, Пустой
|
.suffix = Синдикат, Пустой
|
||||||
.desc = { ent-BriefcaseBrown.desc }
|
.desc = { ent-BriefcaseBrown.desc }
|
||||||
|
ent-BriefcaseWeapon = прочный оружейный кейс
|
||||||
|
.desc = Полезен для стремящихся к наёмничеству, будь то компания, нация или просто желающие приготовить очень большой омлет.
|
||||||
|
ent-BriefcaseWeaponSmall = { ent-BriefcaseWeapon }
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
ent-BriefcaseWeaponHushpupFilled = кейс для «Молчуна»
|
||||||
|
.desc = { ent-BriefcaseWeaponSmall.desc }
|
||||||
|
ent-BriefcaseWeaponC20Filled = кейс для C-20r
|
||||||
|
.desc = { ent-BriefcaseWeaponSmall.desc }
|
||||||
|
ent-BriefcaseWeaponBulldogFilled = кейс для «Бульдога»
|
||||||
|
.desc = { ent-BriefcaseWeaponSmall.desc }
|
||||||
|
ent-BriefcaseWeaponDMRFilled = кейс для винтовки Estoc
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
ent-BriefcaseWeaponChinaLakeFilled = кейс для China-Lake
|
||||||
|
.desc = { ent-BriefcaseWeapon.desc }
|
||||||
|
|
|
||||||
|
|
@ -40,9 +40,16 @@ uplink-pistol-magnum-magazine-name = Магазин (.45 магнум SP)
|
||||||
uplink-pistol-magnum-magazine-desc = 7-зарядный однорядный магазин для пистолета. Содержит патроны SP. Совместим с "Диглом".
|
uplink-pistol-magnum-magazine-desc = 7-зарядный однорядный магазин для пистолета. Содержит патроны SP. Совместим с "Диглом".
|
||||||
uplink-pistol-magnum-magazine-ap-name = Магазин (.45 магнум бронебойные)
|
uplink-pistol-magnum-magazine-ap-name = Магазин (.45 магнум бронебойные)
|
||||||
uplink-pistol-magnum-magazine-ap-desc = 7-зарядный однорядный магазин для пистолета. Содержит бронебойные патроны. Совместим с "Диглом".
|
uplink-pistol-magnum-magazine-ap-desc = 7-зарядный однорядный магазин для пистолета. Содержит бронебойные патроны. Совместим с "Диглом".
|
||||||
uplink-pistoltec9-magazine-name = Tac-Tec (.20 безгильзовый)
|
|
||||||
uplink-pistoltec9-magazine-desc = Кустарный пистолетный магазин под распространённый патрон, используемый агентами синдиката.
|
|
||||||
uplink-pistol-magazine-c40r-desc = Магазин ПП на 24 патрона. Совместим с C-40r.
|
uplink-pistol-magazine-c40r-desc = Магазин ПП на 24 патрона. Совместим с C-40r.
|
||||||
|
uplink-skm28-ammo-desc = Винтовочный магазин на 20 патронов. Совместим с SKM-28.
|
||||||
|
uplink-skm24-ammo-desc = Винтовочный магазин на 30 патронов 7,62x39. Совместим с SKM-24.
|
||||||
|
uplink-estoc-ammo-name = Магазин для винтовки (.20)
|
||||||
|
uplink-estoc-ammo-desc = Магазин на 25 патронов. Совместим с Эсток.
|
||||||
|
## Weapon (Sunrise)
|
||||||
|
uplink-c40r-name = C-40r
|
||||||
|
uplink-c40r-desc = Безгильзовый пистолет-пулемёт C-40r, великолепно работает на ближней дистанции.
|
||||||
|
uplink-c40r-bundle-name = Набор "C-40r"
|
||||||
|
uplink-c40r-bundle-desc = Включает C-40r вместе с несколькими магазинами для быстрой перестрелки.
|
||||||
|
|
||||||
uplink-magazine-127-desc = Магазин Bauer SR-127 на 7 патронов предназначеных для уничтожения мехов, киборгов или стркутур таких как решетки и окна, пары попаданий достаточно для пролома стены.
|
uplink-magazine-127-desc = Магазин Bauer SR-127 на 7 патронов предназначеных для уничтожения мехов, киборгов или стркутур таких как решетки и окна, пары попаданий достаточно для пролома стены.
|
||||||
uplink-magazine-127pen-desc = Магазин Bauer SR-127 на 7 патронов предназначеных для ликвидации защищенных противников а так же целей за укрытиями и стенами, прекрасно сочетаются с термальным зрением.
|
uplink-magazine-127pen-desc = Магазин Bauer SR-127 на 7 патронов предназначеных для ликвидации защищенных противников а так же целей за укрытиями и стенами, прекрасно сочетаются с термальным зрением.
|
||||||
|
|
@ -93,7 +100,13 @@ uplink-swat-helmet-syndicate-desc = Прочный шлем, созданный
|
||||||
uplink-syndicate-rapier-name = Рапира Синдиката
|
uplink-syndicate-rapier-name = Рапира Синдиката
|
||||||
uplink-syndicate-rapier-desc = Элегантная рапира из пластитана с алмазным остриём, созданная для точечных и смертельных ударов. При умелом использовании способна игнорировать большинство видов индивидуальной защиты. Поставляется в собственных ножнах.
|
uplink-syndicate-rapier-desc = Элегантная рапира из пластитана с алмазным остриём, созданная для точечных и смертельных ударов. При умелом использовании способна игнорировать большинство видов индивидуальной защиты. Поставляется в собственных ножнах.
|
||||||
uplink-clothing-backpack-syndie-aj100-name = Набор ПП AJ-100
|
uplink-clothing-backpack-syndie-aj100-name = Набор ПП AJ-100
|
||||||
uplink-clothing-backpack-syndie-aj100-desc = Включает в себя пистолет-пулемёт AJ-100 что имеет универсальную шахту магазина и может использовать большинство магазинов для ПП и пистолетов и два магазина безгильзовых патрон.
|
uplink-clothing-backpack-syndie-aj100-desc = Включает в себя пистолет-пулемёт AJ-100 что имеет универсальную шахту магазина и может использовать большинство магазинов для ПП и пистолетов и два магазина безгильзовых патронов в наборе.
|
||||||
|
uplink-aj100-name = AJ-100
|
||||||
|
uplink-aj100-desc = Пистолет-пулемёт что имеет универсальную шахту магазина и может использовать большинство магазинов.
|
||||||
|
uplink-skm24-name = SKM-24
|
||||||
|
uplink-skm24-desc = Запасной вариант, если вы проиграли все телекристаллы в казино. Самый дешёвый автомат на рынке, качество соответствует цене.
|
||||||
|
uplink-skm28-name = SKM-28
|
||||||
|
uplink-skm28-desc = Снайперский вариант SKM-24. Имеет удлиненный тяжелый ствол, переработанную начинку и установленный оптический прицел. Калибр .308.
|
||||||
uplink-weapon-syndie-laser-pistol-name = SAM-300
|
uplink-weapon-syndie-laser-pistol-name = SAM-300
|
||||||
uplink-clothing-backpack-syndie-dl6902-name = Набор DL6902
|
uplink-clothing-backpack-syndie-dl6902-name = Набор DL6902
|
||||||
uplink-clothing-backpack-syndie-dl6902-desc = Включает в себя пулемёт DL6902 и один дополнительный короб.
|
uplink-clothing-backpack-syndie-dl6902-desc = Включает в себя пулемёт DL6902 и один дополнительный короб.
|
||||||
|
|
@ -101,9 +114,12 @@ uplink-power-backpack-dl6902-name = DL6902 с патронным рюкзако
|
||||||
uplink-power-backpack-dl6902-desc = DL6902 переделанный под питание длинной лентой прямиком из рюкзака, рюкзак содержит 1200 патронов 7,62х39мм FMJ.
|
uplink-power-backpack-dl6902-desc = DL6902 переделанный под питание длинной лентой прямиком из рюкзака, рюкзак содержит 1200 патронов 7,62х39мм FMJ.
|
||||||
uplink-clothing-backpack-syndie-siar52-name = Набор SIAR-52
|
uplink-clothing-backpack-syndie-siar52-name = Набор SIAR-52
|
||||||
uplink-clothing-backpack-syndie-siar52-desc = Включает в себя SIAR-52 что оборудован интегрированым глушителем. и два магазина безгильзовых патрон.
|
uplink-clothing-backpack-syndie-siar52-desc = Включает в себя SIAR-52 что оборудован интегрированым глушителем. и два магазина безгильзовых патрон.
|
||||||
|
uplink-siar52-name = SIAR-52
|
||||||
|
uplink-siar52-desc = Современный безгильзовый огнестрел что оборудован интегрированым глушителем.
|
||||||
uplink-weapon-syndie-laser-minigun-name = UVL-21 «Виверна»
|
uplink-weapon-syndie-laser-minigun-name = UVL-21 «Виверна»
|
||||||
uplink-weapon-syndie-laser-gun-name = S-13 «Чёрная мамба»
|
uplink-weapon-syndie-laser-gun-name = S-13 «Чёрная мамба»
|
||||||
uplink-weapon-ussp-dmr-name = Набор Драгунов
|
uplink-weapon-ussp-dmr-name = Драгунов
|
||||||
|
uplink-weapon-ussp-dmr-desc = снайперская винтовка под патроны калибра 7,62x54R. Полностью предназначена для стрельбы на дальние дистанции.
|
||||||
uplink-deagle-name = пистолет «Desert Eagle»
|
uplink-deagle-name = пистолет «Desert Eagle»
|
||||||
uplink-deagle-desc = Cерьёзный аргумент в споре. Выгравировано: Мир благодаря превосходящей огневой мощи".
|
uplink-deagle-desc = Cерьёзный аргумент в споре. Выгравировано: Мир благодаря превосходящей огневой мощи".
|
||||||
uplink-goldendeagle-name = Золотой Десерт Игл
|
uplink-goldendeagle-name = Золотой Десерт Игл
|
||||||
|
|
@ -112,6 +128,10 @@ uplink-mini-energy-crossbow-name = энерго-арбалет биокодир
|
||||||
uplink-mini-energy-crossbow-desc = Главное оружие оперативника, предпочитающего неподвижные цели. Стреляет регенерирующими токсичными болтами, мгновенно валящими жертву на пол. Вариант с биокодировкой.
|
uplink-mini-energy-crossbow-desc = Главное оружие оперативника, предпочитающего неподвижные цели. Стреляет регенерирующими токсичными болтами, мгновенно валящими жертву на пол. Вариант с биокодировкой.
|
||||||
uplink-pistoltec9-name = Tac-Tec
|
uplink-pistoltec9-name = Tac-Tec
|
||||||
uplink-pistoltec9-desc = Очень дешёвый в производстве и очень простой в использовании, надёжный как SKM-24.
|
uplink-pistoltec9-desc = Очень дешёвый в производстве и очень простой в использовании, надёжный как SKM-24.
|
||||||
|
uplink-grenade-launcher-m79-name = М79
|
||||||
|
uplink-grenade-launcher-m79-desc = Старый однозарядный гранатомёт с тремя таймер-гранатами против пехоты.
|
||||||
|
uplink-grenade-launcher-m79-bundle-name = Набор M79
|
||||||
|
uplink-grenade-launcher-m79-bundle-desc = Набор однозарядного гранатомёта вместе с сумкой запасных снарядов, чтобы начать гранатомётную вечеринку в джунглях.
|
||||||
|
|
||||||
uplink-pizza-bomb-name = самая бомбезная пицца
|
uplink-pizza-bomb-name = самая бомбезная пицца
|
||||||
uplink-pizza-bomb-desc = Изначально эта коробка для пиццы была тайно разработана компанией DONK Co, чтобы отпугнуть еретиков, предпочитающих пиццу не в форме покета, коробка для пиццы оснащена проводом и взрывается через несколько мгновений после открытия, не забудьте пожелать приятного аппетита вашей жертве!
|
uplink-pizza-bomb-desc = Изначально эта коробка для пиццы была тайно разработана компанией DONK Co, чтобы отпугнуть еретиков, предпочитающих пиццу не в форме покета, коробка для пиццы оснащена проводом и взрывается через несколько мгновений после открытия, не забудьте пожелать приятного аппетита вашей жертве!
|
||||||
|
|
@ -182,8 +202,8 @@ uplink-smoke-screen-implanter-name = Имплантер Дымовой Заве
|
||||||
uplink-smoke-screen-implanter-desc = Создает небольшое облако дыма, в котором вы можете скрыться. Можно использовать до трех раз, прежде чем у вас закончится газ.
|
uplink-smoke-screen-implanter-desc = Создает небольшое облако дыма, в котором вы можете скрыться. Можно использовать до трех раз, прежде чем у вас закончится газ.
|
||||||
uplink-creepy-laugh-implanter-name = Имплантер Жуткого Смеха
|
uplink-creepy-laugh-implanter-name = Имплантер Жуткого Смеха
|
||||||
uplink-creepy-laugh-implanter-desc = Аудиоимплант, воспроизводящий фирменный смех синди-киборга. Раздражает, пугает, стиль гарантирован.
|
uplink-creepy-laugh-implanter-desc = Аудиоимплант, воспроизводящий фирменный смех синди-киборга. Раздражает, пугает, стиль гарантирован.
|
||||||
uplink-scram-implanter-proto-name = Прототип Имплантера Побег
|
uplink-scram-implanter-proto-name = Имплантер Прототип-Побег
|
||||||
uplink-scram-implanter-proto-desc = Имплант побега на 1 заряд с перезарядкой 600 секунд. Телепортирует вас в большом радиусе, пытается перенести на свободную клетку, иногда может сбоить. Страхование жизни не прилагается.
|
uplink-scram-implanter-proto-desc = Имплант на 2 заряда с огромной перезарядкой в 20 минут. Телепортирует вас в крупном радиусе, пытается перенести на свободную клетку, иногда может сбоить. Он точно безопасен?
|
||||||
|
|
||||||
## Ammo Kits and Bundle
|
## Ammo Kits and Bundle
|
||||||
|
|
||||||
|
|
@ -225,6 +245,3 @@ uplink-syndicate-teleporter-desc = Экспериментальное устро
|
||||||
|
|
||||||
## Disruption
|
## Disruption
|
||||||
|
|
||||||
uplink-syndicate-law-name = Плата законов (Синдикат)
|
|
||||||
uplink-syndicate-law-desc = Электронная плата, содержащая набор законов Синдиката.
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,8 @@ ghost-role-information-cancer-mouse-name = Раковая мышь
|
||||||
ghost-role-information-cancer-mouse-description = Облучённая мышь, распространяй свою заразу и ищи еду.
|
ghost-role-information-cancer-mouse-description = Облучённая мышь, распространяй свою заразу и ищи еду.
|
||||||
ghost-role-information-mothroach-name = Таракамоль
|
ghost-role-information-mothroach-name = Таракамоль
|
||||||
ghost-role-information-mothroach-description = Милая озорная таракамоль.
|
ghost-role-information-mothroach-description = Милая озорная таракамоль.
|
||||||
|
ghost-role-information-moproach-name = Швабромоль
|
||||||
|
ghost-role-information-moproach-description = Милая таракамоль в очаровательных тапочках-швабрах.
|
||||||
ghost-role-information-snail-name = Улитка
|
ghost-role-information-snail-name = Улитка
|
||||||
ghost-role-information-snail-description = Маленькая улитка, которая не против немного повисеть в космосе. Просто оставайтесь на сетке!
|
ghost-role-information-snail-description = Маленькая улитка, которая не против немного повисеть в космосе. Просто оставайтесь на сетке!
|
||||||
ghost-role-information-snailspeed-name = Улитка
|
ghost-role-information-snailspeed-name = Улитка
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,14 @@ uplink-gloves-knuckleduster-name = Кастеты Синдиката
|
||||||
uplink-gloves-knuckleduster-desc = Пара пластитановых кастетов, усиливающих силу ваших ударов.
|
uplink-gloves-knuckleduster-desc = Пара пластитановых кастетов, усиливающих силу ваших ударов.
|
||||||
uplink-hushpup-name = Молчун
|
uplink-hushpup-name = Молчун
|
||||||
uplink-hushpup-desc = Мощный дробовик с глушителем и малым размером магазина. В комплекте запасная коробка дроби. Использует ружейные патроны калибра .50.
|
uplink-hushpup-desc = Мощный дробовик с глушителем и малым размером магазина. В комплекте запасная коробка дроби. Использует ружейные патроны калибра .50.
|
||||||
|
uplink-c20r-name = C-20r
|
||||||
|
uplink-c20r-desc = Старая добрая: классический пистолет-пулемёт C-20r.
|
||||||
|
uplink-bulldog-name = Бульдог
|
||||||
|
uplink-bulldog-desc = Простой и надёжный: содержит популярный дробовик Бульдог.
|
||||||
|
uplink-estoc-name = Эсток
|
||||||
|
uplink-estoc-desc = Марксманская винтовка Эсток с прицелом средней дальности для ведения боя на дистанции.
|
||||||
|
uplink-grenade-launcher-name = China-Lake
|
||||||
|
uplink-grenade-launcher-desc = Старый гранатомёт China-Lake с пятью патронами для борьбы с личным составом.
|
||||||
uplink-estoc-bundle-name = Набор «Эсток»
|
uplink-estoc-bundle-name = Набор «Эсток»
|
||||||
uplink-estoc-bundle-desc = Марксманская винтовка «Эсток» с оптикой средней дальности. В комплекте два магазина (5,56 мм).
|
uplink-estoc-bundle-desc = Марксманская винтовка «Эсток» с оптикой средней дальности. В комплекте два магазина (5,56 мм).
|
||||||
# Explosives
|
# Explosives
|
||||||
|
|
@ -138,6 +146,9 @@ uplink-singularity-beacon-name = Маяк сингулярности
|
||||||
uplink-singularity-beacon-desc = Устройство, притягивающее сингулярность. Должно быть закреплено и запитано. Будучи поглощённым, заставляет сингулярность расти.
|
uplink-singularity-beacon-desc = Устройство, притягивающее сингулярность. Должно быть закреплено и запитано. Будучи поглощённым, заставляет сингулярность расти.
|
||||||
uplink-antimov-law-name = Плата законов(Антимов)
|
uplink-antimov-law-name = Плата законов(Антимов)
|
||||||
uplink-antimov-law-desc = Очень опасный набор законов, использование которого может заставить ИИ сойти с ума. Используйте с осторожностью.
|
uplink-antimov-law-desc = Очень опасный набор законов, использование которого может заставить ИИ сойти с ума. Используйте с осторожностью.
|
||||||
|
uplink-syndimov-law-name = Плата законов (Синдимов)
|
||||||
|
uplink-syndimov-law-desc = Подрывной набор законов, который помогает перевести ИИ на вашу сторону; применяйте его как можно чаще.
|
||||||
|
|
||||||
# Implants
|
# Implants
|
||||||
uplink-storage-implanter-name = Имплантер Хранилище
|
uplink-storage-implanter-name = Имплантер Хранилище
|
||||||
uplink-storage-implanter-desc = Прячьте предметы внутри себя благодаря новой блюспейс-технологии!
|
uplink-storage-implanter-desc = Прячьте предметы внутри себя благодаря новой блюспейс-технологии!
|
||||||
|
|
@ -172,9 +183,14 @@ uplink-thermalvision-eyes-desc = Позволяют видеть в темнот
|
||||||
|
|
||||||
uplink-mantis-blade-arms-name = Набор с клинками-богомолами
|
uplink-mantis-blade-arms-name = Набор с клинками-богомолами
|
||||||
uplink-mantis-blade-arms-desc = Изначально использовались как простой строительный инструмент, теперь превращены в скрытые клинки, которые могут выдвигаться из руки, сохраняя при этом способность к разрушительному вскрытию конструкций. Поистине впечатляющее зрелище. (Внимание: Требуется помощь хирурга.)
|
uplink-mantis-blade-arms-desc = Изначально использовались как простой строительный инструмент, теперь превращены в скрытые клинки, которые могут выдвигаться из руки, сохраняя при этом способность к разрушительному вскрытию конструкций. Поистине впечатляющее зрелище. (Внимание: Требуется помощь хирурга.)
|
||||||
|
# Misc
|
||||||
|
uplink-contraband-lighter-name = Коробка контрабандных зажигалок
|
||||||
|
uplink-contraband-lighter-desc = Таинственная коробка, гарантированно содержащая зажигалку бренда Синдикат. Топливо не требуется.
|
||||||
# Bundles
|
# Bundles
|
||||||
uplink-minotaur-name = Набор AS-12 'Минотавр'
|
uplink-minotaur-bundle-name = Набор AS-12 'Минотавр'
|
||||||
uplink-minotaur-desc = Плавный, мощный, крайне нелегальный. Содержит дробовик Минотавр, 4 барабана дроби.
|
uplink-minotaur-bundle-desc = Плавный, мощный, крайне нелегальный. Содержит дробовик Минотавр, 4 барабана дроби.
|
||||||
|
uplink-minotaur-name = AS-12 'Минотавр' биокодированный
|
||||||
|
uplink-minotaur-desc = Автоматический дробовик и два XL барабана дроби. Палите безDOOMно во все стороны!
|
||||||
uplink-observation-kit-name = Набор наблюдателя
|
uplink-observation-kit-name = Набор наблюдателя
|
||||||
uplink-observation-kit-desc = В комплект входят консольная плата монитора камер наблюдения, и охранный визор, замаскированный под солнцезащитные очки.
|
uplink-observation-kit-desc = В комплект входят консольная плата монитора камер наблюдения, и охранный визор, замаскированный под солнцезащитные очки.
|
||||||
uplink-emp-kit-name = Набор отключения электричества
|
uplink-emp-kit-name = Набор отключения электричества
|
||||||
|
|
@ -197,12 +213,14 @@ uplink-c20r-bundle-name = Набор "C-20r"
|
||||||
uplink-c20r-bundle-desc = Старый добрый: Классический пистолет-пулемёт C-20r в комплекте с тремя магазинами.
|
uplink-c20r-bundle-desc = Старый добрый: Классический пистолет-пулемёт C-20r в комплекте с тремя магазинами.
|
||||||
uplink-c40r-bundle-name = Набор "C-40r"
|
uplink-c40r-bundle-name = Набор "C-40r"
|
||||||
uplink-c40r-bundle-desc = Более старый: Культовый пистолет-пулемет C-40r в комплекте с тремя магазинами тяжелого калибра.
|
uplink-c40r-bundle-desc = Более старый: Культовый пистолет-пулемет C-40r в комплекте с тремя магазинами тяжелого калибра.
|
||||||
uplink-buldog-bundle-name = Набор "Бульдог"
|
uplink-c40r-name = C-40r биокодированный
|
||||||
uplink-buldog-bundle-desc = Простой и надёжный: Содержит популярный дробовик Бульдог, барабан пуль и 3 барабана дроби.
|
uplink-c40r-desc = Культовый пистолет-пулемет C-40r в комплекте с коробкой стандартных патронов 40-го калибра.
|
||||||
|
uplink-bulldog-bundle-name = Набор "Бульдог"
|
||||||
|
uplink-bulldog-bundle-desc = Простой и надёжный: содержит популярный дробовик Бульдог, барабан пуль и три барабана дроби а так же термальный визор.
|
||||||
uplink-grenade-launcher-china-lake-name = Набор "China-Lake"
|
uplink-grenade-launcher-china-lake-name = Набор "China-Lake"
|
||||||
uplink-grenade-launcher-china-lake-desc = Старый гранатомёт China-Lake и сумкой запасных снарядов.. Может стрелять как контактными, так и неконтактными гранатами.
|
uplink-grenade-launcher-china-lake-desc = Старый гранатомёт China-Lake и сумкой запасных снарядов. Может стрелять как контактными, так и неконтактными гранатами.
|
||||||
uplink-grenade-launcher-m79-name = Набор "М79"
|
uplink-grenade-launcher-m79-bundle-name = Набор "М79"
|
||||||
uplink-grenade-launcher-m79-desc = Набор с Старым однозарядным гранатомётом вместе с сумкой запасных снарядов. Может стрелять как контактными, так и неконтактными гранатами.
|
uplink-grenade-launcher-m79-bundle-desc = Набор однозарядного гранатомёта вместе с сумкой запасных снарядов, чтобы начать гранатомётную вечеринку в джунглях.
|
||||||
uplink-grenade-launcher-gl70-name = Набор "GL-70"
|
uplink-grenade-launcher-gl70-name = Набор "GL-70"
|
||||||
uplink-grenade-launcher-gl70-desc = Набор с многозарядным автоматическим гранатомётом с барабаном на 6 снарядов и сумкой запасных снарядов. Может стрелять как контактными, так и неконтактными гранатами.
|
uplink-grenade-launcher-gl70-desc = Набор с многозарядным автоматическим гранатомётом с барабаном на 6 снарядов и сумкой запасных снарядов. Может стрелять как контактными, так и неконтактными гранатами.
|
||||||
uplink-l6-saw-bundle-name = Набор "L6 Saw"
|
uplink-l6-saw-bundle-name = Набор "L6 Saw"
|
||||||
|
|
|
||||||
|
|
@ -46801,7 +46801,7 @@ entities:
|
||||||
- type: Transform
|
- type: Transform
|
||||||
pos: -10.50058,38.55076
|
pos: -10.50058,38.55076
|
||||||
parent: 2
|
parent: 2
|
||||||
- proto: ClothingHandsGlovesBoxingRigged
|
- proto: GlovesBoxingRiggedRandomSpawner
|
||||||
entities:
|
entities:
|
||||||
- uid: 4716
|
- uid: 4716
|
||||||
components:
|
components:
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@
|
||||||
maxCharges: 3
|
maxCharges: 3
|
||||||
# Sunrise-Start
|
# Sunrise-Start
|
||||||
- type: AutoRecharge
|
- type: AutoRecharge
|
||||||
rechargeDuration: 120
|
rechargeDuration: 600
|
||||||
# Sunrise-End
|
# Sunrise-End
|
||||||
- type: Action
|
- type: Action
|
||||||
useDelay: 5 # Sunrise-Edit
|
useDelay: 5 # Sunrise-Edit
|
||||||
|
|
@ -184,7 +184,7 @@
|
||||||
maxCharges: 3
|
maxCharges: 3
|
||||||
# Sunrise-Start
|
# Sunrise-Start
|
||||||
- type: AutoRecharge
|
- type: AutoRecharge
|
||||||
rechargeDuration: 120
|
rechargeDuration: 600
|
||||||
# Sunrise-End
|
# Sunrise-End
|
||||||
- type: Action
|
- type: Action
|
||||||
checkCanInteract: false
|
checkCanInteract: false
|
||||||
|
|
|
||||||
|
|
@ -336,6 +336,27 @@
|
||||||
- id: ClothingShoesChameleon
|
- id: ClothingShoesChameleon
|
||||||
- id: ChameleonControllerImplanter
|
- id: ChameleonControllerImplanter
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingBackpackChameleon
|
||||||
|
id: ClothingBackpackChameleonFillAgent
|
||||||
|
suffix: Fill, Chameleon, Syndie
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: ChameleonAgentPDA
|
||||||
|
- id: ClothingUniformJumpsuitChameleon
|
||||||
|
- id: ClothingOuterChameleon
|
||||||
|
- id: ClothingNeckChameleon
|
||||||
|
- id: ClothingMaskGasChameleon
|
||||||
|
- id: ClothingHeadHatChameleon
|
||||||
|
- id: ClothingHandsChameleon
|
||||||
|
- id: ClothingEyesChameleon
|
||||||
|
- id: ClothingHeadsetChameleon
|
||||||
|
- id: ClothingShoesChameleon
|
||||||
|
- id: ChameleonControllerImplanter
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingBackpackDuffelSyndicateBundle
|
parent: ClothingBackpackDuffelSyndicateBundle
|
||||||
id: ClothingBackpackDuffelSyndicateEVABundle
|
id: ClothingBackpackDuffelSyndicateEVABundle
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
- id: Dropper
|
- id: Dropper
|
||||||
# It would be cool to have special "syndicate" chemical analysis goggles
|
# It would be cool to have special "syndicate" chemical analysis goggles
|
||||||
- id: ClothingEyesGlassesChemical
|
- id: ClothingEyesGlassesChemical
|
||||||
- id: SyringeStimulants
|
- id: Syringe
|
||||||
- id: VestineChemistryVial
|
- id: VestineChemistryVial
|
||||||
amount: 2
|
amount: 2
|
||||||
- id: BaseChemistryEmptyVial
|
- id: BaseChemistryEmptyVial
|
||||||
|
|
@ -95,8 +95,8 @@
|
||||||
containers:
|
containers:
|
||||||
storagebase: !type:AllSelector
|
storagebase: !type:AllSelector
|
||||||
children:
|
children:
|
||||||
|
- id: SyndicateMicrowaveFlatpack
|
||||||
- id: WeaponCroissant
|
- id: WeaponCroissant
|
||||||
amount: 2
|
amount: 2
|
||||||
- id: WeaponBaguette
|
- id: WeaponBaguette
|
||||||
- id: SyndicateMicrowaveMachineCircuitboard
|
|
||||||
- id: PaperWrittenCombatBakeryKit
|
- id: PaperWrittenCombatBakeryKit
|
||||||
|
|
|
||||||
|
|
@ -11,20 +11,19 @@
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: BriefcaseSyndieSniperBundleFilled
|
id: BriefcaseSyndieSniperBundleFilled
|
||||||
parent: BriefcaseSyndie
|
parent: BriefcaseBrown
|
||||||
suffix: Syndicate, Sniper Bundle
|
suffix: Syndicate, Sniper Bundle
|
||||||
components:
|
components:
|
||||||
- type: Item
|
# Sunrise-Start
|
||||||
size: Ginormous
|
|
||||||
- type: Storage
|
- type: Storage
|
||||||
maxItemSize: Huge
|
|
||||||
grid:
|
grid:
|
||||||
- 0,0,6,3
|
- 0,0,6,3
|
||||||
|
# Sunrise-End
|
||||||
- type: EntityTableContainerFill
|
- type: EntityTableContainerFill
|
||||||
containers:
|
containers:
|
||||||
storagebase: !type:AllSelector
|
storagebase: !type:AllSelector
|
||||||
children:
|
children:
|
||||||
- id: WeaponSniperHristovBiocode # Sunrise-edit
|
- id: WeaponSniperHristov
|
||||||
- id: MagazineBoxAntiMateriel
|
- id: MagazineBoxAntiMateriel
|
||||||
- id: MagazineBauer127Penetrator # Sunrise-add
|
- id: MagazineBauer127Penetrator # Sunrise-add
|
||||||
- id: ClothingNeckTieRed
|
- id: ClothingNeckTieRed
|
||||||
|
|
@ -41,16 +40,15 @@
|
||||||
containers:
|
containers:
|
||||||
storagebase: !type:AllSelector
|
storagebase: !type:AllSelector
|
||||||
children:
|
children:
|
||||||
|
- id: ClothingOuterCoatJensenSyndie
|
||||||
|
- id: ClothingUniformJumpsuitTacticool
|
||||||
- id: ClothingEyesGlassesSunglasses
|
- id: ClothingEyesGlassesSunglasses
|
||||||
- id: SpaceCash30000
|
- id: SpaceCash30000
|
||||||
- id: EncryptionKeySyndie
|
- id: EncryptionKeySyndie
|
||||||
- id: RubberStampTrader
|
- id: RubberStampTrader
|
||||||
- id: PhoneInstrumentSyndicate
|
- id: PhoneInstrumentSyndicate
|
||||||
- id: ClothingUniformJumpsuitTacticool
|
|
||||||
- id: ClothingOuterCoatJensen
|
|
||||||
- id: ClothingHandsGlovesCombat
|
- id: ClothingHandsGlovesCombat
|
||||||
- id: ClothingMaskNeckGaiter
|
- id: ClothingMaskNeckGaiter
|
||||||
- id: SyndieHandyFlag
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: BriefcaseThiefBribingBundleFilled
|
id: BriefcaseThiefBribingBundleFilled
|
||||||
|
|
@ -61,7 +59,71 @@
|
||||||
containers:
|
containers:
|
||||||
storagebase: !type:AllSelector
|
storagebase: !type:AllSelector
|
||||||
children:
|
children:
|
||||||
|
- id: ClothingOuterCoatJensen
|
||||||
- id: ClothingEyesGlassesSunglasses
|
- id: ClothingEyesGlassesSunglasses
|
||||||
- id: SpaceCash20000
|
- id: SpaceCash20000
|
||||||
- id: ClothingOuterCoatJensen
|
|
||||||
- id: ClothingHandsGlovesColorBlack
|
- id: ClothingHandsGlovesColorBlack
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponHushpupFilled
|
||||||
|
parent: BriefcaseWeaponSmall
|
||||||
|
name: secure hushpup case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponShotgunHushpup
|
||||||
|
- id: TreasureCoinIron
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponC20Filled
|
||||||
|
parent: BriefcaseWeaponSmall
|
||||||
|
name: secure C-20r case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
# Sunrise-start
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponSubMachineGunC20r
|
||||||
|
- id: MagazineBoxPistolSP
|
||||||
|
# Sunrise-end
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponBulldogFilled
|
||||||
|
parent: BriefcaseWeaponSmall
|
||||||
|
name: secure bulldog case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase:
|
||||||
|
id: WeaponShotgunBulldog
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponDMRFilled
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
name: secure estoc case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
# Sunrise-start
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponRifleEstoc
|
||||||
|
- id: MagazineRifle
|
||||||
|
- id: MagazineRifleAP
|
||||||
|
# Sunrise-end
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponChinaLakeFilled
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
name: secure china lake case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponLauncherChinaLake
|
||||||
|
- id: GrenadeFrag
|
||||||
|
amount: 2
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,9 @@
|
||||||
sprite: Objects/Devices/chameleon_projector.rsi
|
sprite: Objects/Devices/chameleon_projector.rsi
|
||||||
state: icon
|
state: icon
|
||||||
content:
|
content:
|
||||||
- ClothingBackpackChameleonFill
|
- ClothingBackpackChameleonFillAgent
|
||||||
- ChameleonProjector
|
- ChameleonProjector
|
||||||
- FakeMindShieldImplanter
|
- FakeMindShieldImplanter
|
||||||
- AgentIDCard
|
|
||||||
|
|
||||||
- type: thiefBackpackSet
|
- type: thiefBackpackSet
|
||||||
id: ToolsSet
|
id: ToolsSet
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,10 +1,11 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingEyesBase, BaseChameleon]
|
parent: [ClothingEyesBase, BaseChameleon]
|
||||||
id: ClothingEyesChameleon # no flash immunity, sorry
|
id: ClothingEyesChameleon
|
||||||
name: sun glasses
|
name: sun glasses
|
||||||
description: Useful both for security and cargonia.
|
description: Useful both for security and cargonia.
|
||||||
suffix: Chameleon
|
suffix: Chameleon
|
||||||
components:
|
components:
|
||||||
|
- type: FlashImmunity
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags: # intentionally no WhitelistChameleon tag
|
tags: # intentionally no WhitelistChameleon tag
|
||||||
- PetWearable
|
- PetWearable
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,8 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
|
abstract: true
|
||||||
parent: ClothingHandsBase
|
parent: ClothingHandsBase
|
||||||
id: ClothingHandsGlovesBoxingRed
|
id: ClothingHandsGlovesBoxingBase
|
||||||
name: red boxing gloves
|
|
||||||
description: Red gloves for competitive boxing.
|
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
|
||||||
sprite: Clothing/Hands/Gloves/Boxing/boxingred.rsi
|
|
||||||
- type: DiseaseImmuneClothing
|
|
||||||
prob: 0.2
|
|
||||||
- type: Clothing
|
|
||||||
sprite: Clothing/Hands/Gloves/Boxing/boxingred.rsi
|
|
||||||
- type: StaminaDamageOnHit
|
- type: StaminaDamageOnHit
|
||||||
damage: 8 #Stam damage values seem a bit higher than regular damage because of the decay, etc
|
damage: 8 #Stam damage values seem a bit higher than regular damage because of the decay, etc
|
||||||
# This needs to be moved to boxinggloves
|
# This needs to be moved to boxinggloves
|
||||||
|
|
@ -23,17 +16,32 @@
|
||||||
collection: BoxingHit
|
collection: BoxingHit
|
||||||
animation: WeaponArcFist
|
animation: WeaponArcFist
|
||||||
mustBeEquippedToUse: true
|
mustBeEquippedToUse: true
|
||||||
- type: Fiber
|
|
||||||
fiberMaterial: fibers-leather
|
|
||||||
fiberColor: fibers-red
|
|
||||||
- type: FingerprintMask
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- Kangaroo
|
- Kangaroo
|
||||||
- WhitelistChameleon
|
- WhitelistChameleon
|
||||||
|
# Sunrise-Start
|
||||||
|
- type: DiseaseImmuneClothing
|
||||||
|
prob: 0.2
|
||||||
|
# Sunrise-End
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHandsGlovesBoxingRed
|
parent: ClothingHandsGlovesBoxingBase
|
||||||
|
id: ClothingHandsGlovesBoxingRed
|
||||||
|
name: red boxing gloves
|
||||||
|
description: Red gloves for competitive boxing.
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Clothing/Hands/Gloves/Boxing/boxingred.rsi
|
||||||
|
- type: Clothing
|
||||||
|
sprite: Clothing/Hands/Gloves/Boxing/boxingred.rsi
|
||||||
|
- type: Fiber
|
||||||
|
fiberMaterial: fibers-leather
|
||||||
|
fiberColor: fibers-red
|
||||||
|
- type: FingerprintMask
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingHandsGlovesBoxingBase
|
||||||
id: ClothingHandsGlovesBoxingBlue
|
id: ClothingHandsGlovesBoxingBlue
|
||||||
name: blue boxing gloves
|
name: blue boxing gloves
|
||||||
description: Blue gloves for competitive boxing.
|
description: Blue gloves for competitive boxing.
|
||||||
|
|
@ -49,7 +57,7 @@
|
||||||
- type: FingerprintMask
|
- type: FingerprintMask
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHandsGlovesBoxingRed
|
parent: ClothingHandsGlovesBoxingBase
|
||||||
id: ClothingHandsGlovesBoxingGreen
|
id: ClothingHandsGlovesBoxingGreen
|
||||||
name: green boxing gloves
|
name: green boxing gloves
|
||||||
description: Green gloves for competitive boxing.
|
description: Green gloves for competitive boxing.
|
||||||
|
|
@ -65,7 +73,7 @@
|
||||||
- type: FingerprintMask
|
- type: FingerprintMask
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHandsGlovesBoxingRed
|
parent: ClothingHandsGlovesBoxingBase
|
||||||
id: ClothingHandsGlovesBoxingYellow
|
id: ClothingHandsGlovesBoxingYellow
|
||||||
name: yellow boxing gloves
|
name: yellow boxing gloves
|
||||||
description: Yellow gloves for competitive boxing.
|
description: Yellow gloves for competitive boxing.
|
||||||
|
|
@ -81,19 +89,53 @@
|
||||||
- type: FingerprintMask
|
- type: FingerprintMask
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingHandsGlovesBoxingBlue
|
abstract: true
|
||||||
id: ClothingHandsGlovesBoxingRigged
|
parent: ClothingHandsGlovesBoxingBase
|
||||||
|
id: ClothingHandsGlovesBoxingRiggedBase
|
||||||
suffix: Rigged
|
suffix: Rigged
|
||||||
components:
|
components:
|
||||||
- type: StaminaDamageOnHit
|
|
||||||
damage: 25
|
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
attackRate: 1.4
|
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Blunt: 8
|
Blunt: 8
|
||||||
bluntStaminaDamageFactor: 0.0 # so blunt doesn't deal stamina damage at all
|
bluntStaminaDamageFactor: 2
|
||||||
mustBeEquippedToUse: true
|
|
||||||
|
- type: entity
|
||||||
|
parent: [ ClothingHandsGlovesBoxingRiggedBase, ClothingHandsGlovesBoxingRed ]
|
||||||
|
id: ClothingHandsGlovesBoxingRiggedRed
|
||||||
|
name: red boxing gloves
|
||||||
|
description: Red gloves for competitive boxing.
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: [ ClothingHandsGlovesBoxingRiggedBase, ClothingHandsGlovesBoxingBlue ]
|
||||||
|
id: ClothingHandsGlovesBoxingRiggedBlue
|
||||||
|
name: blue boxing gloves
|
||||||
|
description: Blue gloves for competitive boxing.
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: [ ClothingHandsGlovesBoxingRiggedBase, ClothingHandsGlovesBoxingGreen ]
|
||||||
|
id: ClothingHandsGlovesBoxingRiggedGreen
|
||||||
|
name: green boxing gloves
|
||||||
|
description: Green gloves for competitive boxing.
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: [ ClothingHandsGlovesBoxingRiggedBase, ClothingHandsGlovesBoxingYellow ]
|
||||||
|
id: ClothingHandsGlovesBoxingRiggedYellow
|
||||||
|
name: yellow boxing gloves
|
||||||
|
description: Yellow gloves for competitive boxing.
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: GlovesBoxingRiggedRandomSpawner
|
||||||
|
categories: [ HideSpawnMenu ]
|
||||||
|
name: random rigged boxing glove spawner
|
||||||
|
components:
|
||||||
|
- type: EntityTableSpawner
|
||||||
|
table: !type:GroupSelector
|
||||||
|
children:
|
||||||
|
- id: ClothingHandsGlovesBoxingRiggedRed
|
||||||
|
- id: ClothingHandsGlovesBoxingRiggedBlue
|
||||||
|
- id: ClothingHandsGlovesBoxingRiggedGreen
|
||||||
|
- id: ClothingHandsGlovesBoxingRiggedYellow
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingHandsBase, BaseCommandContraband]
|
parent: [ClothingHandsBase, BaseCommandContraband]
|
||||||
|
|
|
||||||
|
|
@ -140,7 +140,7 @@
|
||||||
sprite: Clothing/OuterClothing/Vests/detvest.rsi
|
sprite: Clothing/OuterClothing/Vests/detvest.rsi
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterBaseLarge, AllowSuitStorageClothing]
|
parent: [ ClothingOuterBaseMedium, AllowSuitStorageClothing ]
|
||||||
id: ClothingOuterArmorBaseCarapace
|
id: ClothingOuterArmorBaseCarapace
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
|
|
@ -154,10 +154,6 @@
|
||||||
Caustic: 0.9
|
Caustic: 0.9
|
||||||
- type: ExplosionResistance
|
- type: ExplosionResistance
|
||||||
damageCoefficient: 0.65
|
damageCoefficient: 0.65
|
||||||
- type: ClothingSpeedModifier
|
|
||||||
walkModifier: 1.0
|
|
||||||
sprintModifier: 1.0
|
|
||||||
- type: HeldSpeedModifier
|
|
||||||
- type: GroupExamine
|
- type: GroupExamine
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|
@ -190,7 +186,7 @@
|
||||||
|
|
||||||
#Web vest
|
#Web vest
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, BaseSyndicateContraband]
|
parent: [ClothingOuterArmorBase, ClothingOuterStorageBase, BaseSyndicateContraband]
|
||||||
id: ClothingOuterVestWeb
|
id: ClothingOuterVestWeb
|
||||||
name: web vest
|
name: web vest
|
||||||
description: A synthetic armor vest. This one has added webbing and ballistic plates.
|
description: A synthetic armor vest. This one has added webbing and ballistic plates.
|
||||||
|
|
@ -208,16 +204,18 @@
|
||||||
Slash: 0.6
|
Slash: 0.6
|
||||||
Piercing: 0.3
|
Piercing: 0.3
|
||||||
Heat: 0.9
|
Heat: 0.9
|
||||||
- type: ExplosionResistance
|
|
||||||
damageCoefficient: 0.8
|
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 1500
|
price: 1500
|
||||||
- type: StaminaResistance # Sunrise-Add
|
# Sunrise-Start
|
||||||
damageCoefficient: 0.75 # Sunrise-Add
|
- type: StaminaResistance
|
||||||
|
damageCoefficient: 0.8
|
||||||
|
- type: ExplosionResistance
|
||||||
|
damageCoefficient: 0.85
|
||||||
|
# Sunrise-End
|
||||||
|
|
||||||
#Elite web vest
|
#Elite web vest
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, BaseSyndicateContraband]
|
parent: [ClothingOuterArmorBase, AllowSuitStorageClothing, BaseSyndicateContraband]
|
||||||
id: ClothingOuterVestWebElite
|
id: ClothingOuterVestWebElite
|
||||||
name: elite web vest
|
name: elite web vest
|
||||||
description: A synthetic armor vest. This one has added webbing and heat resistant fibers.
|
description: A synthetic armor vest. This one has added webbing and heat resistant fibers.
|
||||||
|
|
@ -267,8 +265,6 @@
|
||||||
Slash: 0.7
|
Slash: 0.7
|
||||||
Piercing: 0.5
|
Piercing: 0.5
|
||||||
Heat: 0.9
|
Heat: 0.9
|
||||||
- type: ExplosionResistance
|
|
||||||
damageCoefficient: 0.9
|
|
||||||
|
|
||||||
|
|
||||||
# Armor covering multiple body parts including limbs
|
# Armor covering multiple body parts including limbs
|
||||||
|
|
|
||||||
|
|
@ -47,10 +47,14 @@
|
||||||
parent: [ClothingOuterBase, BaseClothingOuterSounds] # Sunrise
|
parent: [ClothingOuterBase, BaseClothingOuterSounds] # Sunrise
|
||||||
id: ClothingOuterStorageBase
|
id: ClothingOuterStorageBase
|
||||||
components:
|
components:
|
||||||
- type: ContainerInteractionAnimationVisuals # Sunrise added
|
- type: Item
|
||||||
|
size: Normal
|
||||||
|
shape:
|
||||||
|
- 0,0,1,2
|
||||||
- type: Storage
|
- type: Storage
|
||||||
grid:
|
grid:
|
||||||
- 0,0,2,1
|
- 0,0,2,1
|
||||||
|
maxItemSize: Small
|
||||||
- type: ContainerContainer
|
- type: ContainerContainer
|
||||||
containers:
|
containers:
|
||||||
storagebase: !type:Container
|
storagebase: !type:Container
|
||||||
|
|
@ -67,6 +71,7 @@
|
||||||
- Vest
|
- Vest
|
||||||
- WhitelistChameleon
|
- WhitelistChameleon
|
||||||
- NudeBottom # INTERACTIONS
|
- NudeBottom # INTERACTIONS
|
||||||
|
- type: ContainerInteractionAnimationVisuals
|
||||||
# Sunrise-End
|
# Sunrise-End
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|
@ -261,4 +266,6 @@
|
||||||
id: ClothingOuterBaseMedium
|
id: ClothingOuterBaseMedium
|
||||||
components:
|
components:
|
||||||
- type: Item
|
- type: Item
|
||||||
size: Huge
|
size: Large
|
||||||
|
shape:
|
||||||
|
- 0,0,2,3
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
# SUNRISE EDIT
|
# SUNRISE EDIT
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterStorageBase, AllowSuitStorageClothing, ClothingOuterArmorBase]
|
parent: [ ClothingOuterBaseMedium, ClothingOuterStorageBase, AllowSuitStorageClothing, BaseSecurityContraband ]
|
||||||
id: ClothingOuterCoatDetective
|
id: ClothingOuterCoatDetective
|
||||||
name: detective trenchcoat
|
name: detective trenchcoat
|
||||||
description: An 18th-century multi-purpose trenchcoat. Someone who wears this means serious business.
|
description: An 18th-century multi-purpose trenchcoat. Someone who wears this means serious business.
|
||||||
|
|
@ -32,15 +32,6 @@
|
||||||
children:
|
children:
|
||||||
- id: SmokingPipeFilledTobacco
|
- id: SmokingPipeFilledTobacco
|
||||||
- id: FlippoEngravedLighter
|
- id: FlippoEngravedLighter
|
||||||
- type: ExplosionResistance
|
|
||||||
damageCoefficient: 1 #its a coat. it doesnt do shit
|
|
||||||
# SUNRISE EDIT
|
|
||||||
- type: Tag
|
|
||||||
tags:
|
|
||||||
- WhitelistChameleon
|
|
||||||
- Vest
|
|
||||||
- NudeBottom # INTERACTIONS
|
|
||||||
# SUNRISE EDIT
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterCoatDetectiveLoadout]
|
parent: [ClothingOuterCoatDetectiveLoadout]
|
||||||
|
|
@ -85,7 +76,7 @@
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
abstract: true
|
abstract: true
|
||||||
parent: AllowSuitStorageClothing
|
parent: [ ClothingOuterArmorBase, ClothingOuterStorageBase ]
|
||||||
id: ClothingOuterArmorHoS
|
id: ClothingOuterArmorHoS
|
||||||
components:
|
components:
|
||||||
- type: Pierceable
|
- type: Pierceable
|
||||||
|
|
@ -98,12 +89,10 @@
|
||||||
Piercing: 0.6
|
Piercing: 0.6
|
||||||
Heat: 0.7
|
Heat: 0.7
|
||||||
Caustic: 0.75 # not the full 90% from ss13 because of the head
|
Caustic: 0.75 # not the full 90% from ss13 because of the head
|
||||||
- type: ExplosionResistance
|
|
||||||
damageCoefficient: 0.9
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
abstract: true
|
abstract: true
|
||||||
parent: AllowSuitStorageClothing
|
parent: [ ClothingOuterArmorBase, ClothingOuterStorageBase ]
|
||||||
id: ClothingOuterArmorWarden
|
id: ClothingOuterArmorWarden
|
||||||
components:
|
components:
|
||||||
- type: Pierceable
|
- type: Pierceable
|
||||||
|
|
@ -116,11 +105,9 @@
|
||||||
Piercing: 0.7
|
Piercing: 0.7
|
||||||
Heat: 0.7
|
Heat: 0.7
|
||||||
Caustic: 0.9
|
Caustic: 0.9
|
||||||
- type: ExplosionResistance
|
|
||||||
damageCoefficient: 0.9
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterArmorHoS, ClothingOuterStorageBase, BaseSecurityCommandContraband]
|
parent: [BaseSecurityCommandContraband, ClothingOuterArmorHoS]
|
||||||
id: ClothingOuterCoatHoSTrench
|
id: ClothingOuterCoatHoSTrench
|
||||||
name: head of security's armored trenchcoat
|
name: head of security's armored trenchcoat
|
||||||
description: A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence.
|
description: A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence.
|
||||||
|
|
@ -150,6 +137,16 @@
|
||||||
- type: ToggleableClothing
|
- type: ToggleableClothing
|
||||||
clothingPrototype: ClothingHeadHatHoodChaplainHood
|
clothingPrototype: ClothingHeadHatHoodChaplainHood
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ClothingOuterCoatJensen
|
||||||
|
id: ClothingOuterCoatJensenSyndie
|
||||||
|
suffix: Syndie
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase:
|
||||||
|
id: SyndieHandyFlag
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: ClothingOuterStorageBase
|
parent: ClothingOuterStorageBase
|
||||||
id: ClothingOuterCoatTrench
|
id: ClothingOuterCoatTrench
|
||||||
|
|
@ -377,7 +374,7 @@
|
||||||
sprite: Clothing/OuterClothing/Coats/pirate.rsi
|
sprite: Clothing/OuterClothing/Coats/pirate.rsi
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterArmorWarden, ClothingOuterStorageBase, BaseSecurityContraband]
|
parent: [ClothingOuterArmorWarden, BaseSecurityContraband]
|
||||||
id: ClothingOuterCoatWarden
|
id: ClothingOuterCoatWarden
|
||||||
name: warden's armored jacket
|
name: warden's armored jacket
|
||||||
description: A sturdy, utilitarian jacket designed to protect a warden from any brig-bound threats.
|
description: A sturdy, utilitarian jacket designed to protect a warden from any brig-bound threats.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ClothingOuterBase, BaseChameleon]
|
parent: [ClothingOuterBase, AllowSuitStorageClothingGasTanks, BaseChameleon]
|
||||||
id: ClothingOuterChameleon
|
id: ClothingOuterChameleon
|
||||||
name: vest
|
name: vest
|
||||||
description: A thick vest with a rubbery, water-resistant shell.
|
description: A thick vest with a rubbery, water-resistant shell.
|
||||||
|
|
|
||||||
|
|
@ -382,6 +382,11 @@
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/coathosarmored.rsi
|
sprite: Clothing/OuterClothing/WinterCoats/coathosarmored.rsi
|
||||||
- type: ToggleableClothing
|
- type: ToggleableClothing
|
||||||
clothingPrototype: ClothingHeadHatHoodWinterHOS
|
clothingPrototype: ClothingHeadHatHoodWinterHOS
|
||||||
|
- type: ContainerContainer
|
||||||
|
containers:
|
||||||
|
toggleable-clothing: !type:ContainerSlot { }
|
||||||
|
storagebase: !type:Container
|
||||||
|
ents: [ ]
|
||||||
##########################################################
|
##########################################################
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|
@ -753,6 +758,11 @@
|
||||||
sprite: Clothing/OuterClothing/WinterCoats/coatwardenarmored.rsi
|
sprite: Clothing/OuterClothing/WinterCoats/coatwardenarmored.rsi
|
||||||
- type: ToggleableClothing
|
- type: ToggleableClothing
|
||||||
clothingPrototype: ClothingHeadHatHoodWinterWarden
|
clothingPrototype: ClothingHeadHatHoodWinterWarden
|
||||||
|
- type: ContainerContainer
|
||||||
|
containers:
|
||||||
|
toggleable-clothing: !type:ContainerSlot { }
|
||||||
|
storagebase: !type:Container
|
||||||
|
ents: [ ]
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|
|
||||||
|
|
@ -234,15 +234,6 @@
|
||||||
templateId: holoclown
|
templateId: holoclown
|
||||||
- type: Hands
|
- type: Hands
|
||||||
- type: ComplexInteraction
|
- type: ComplexInteraction
|
||||||
- type: Clumsy
|
|
||||||
gunShootFailDamage:
|
|
||||||
types:
|
|
||||||
Blunt: 5
|
|
||||||
Piercing: 4
|
|
||||||
Heat: 3
|
|
||||||
catchingFailDamage:
|
|
||||||
types:
|
|
||||||
Blunt: 1
|
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
angle: 30
|
angle: 30
|
||||||
animation: WeaponArcFist
|
animation: WeaponArcFist
|
||||||
|
|
@ -257,9 +248,6 @@
|
||||||
- type: RandomMetadata
|
- type: RandomMetadata
|
||||||
nameSegments:
|
nameSegments:
|
||||||
- NamesClown
|
- NamesClown
|
||||||
- type: NpcFactionMember
|
|
||||||
factions:
|
|
||||||
- Syndicate
|
|
||||||
- type: HTN
|
- type: HTN
|
||||||
rootTask:
|
rootTask:
|
||||||
task: SimpleHumanoidHostileCompound
|
task: SimpleHumanoidHostileCompound
|
||||||
|
|
|
||||||
|
|
@ -62,7 +62,7 @@
|
||||||
path: /Audio/Effects/bite.ogg
|
path: /Audio/Effects/bite.ogg
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Piercing: 15 # Sunrise-Edit
|
Piercing: 5
|
||||||
# Visual & Audio
|
# Visual & Audio
|
||||||
- type: DamageVisuals
|
- type: DamageVisuals
|
||||||
damageOverlayGroups:
|
damageOverlayGroups:
|
||||||
|
|
@ -146,19 +146,9 @@
|
||||||
- "footprint-left-bare-spider"
|
- "footprint-left-bare-spider"
|
||||||
rightBareFootState:
|
rightBareFootState:
|
||||||
- "footprint-right-bare-spider"
|
- "footprint-right-bare-spider"
|
||||||
- type: Fixtures
|
|
||||||
fixtures:
|
|
||||||
fix1:
|
|
||||||
shape:
|
|
||||||
!type:PhysShapeCircle
|
|
||||||
radius: 0.40
|
|
||||||
density: 250
|
|
||||||
restitution: 0.0
|
|
||||||
mask:
|
|
||||||
- MobMask
|
|
||||||
layer:
|
|
||||||
- MobLayer
|
|
||||||
- type: Carriable
|
- type: Carriable
|
||||||
|
- type: ToggleableNightVision
|
||||||
|
effect: EffectNightVisioSpecies
|
||||||
# Sunrise-end
|
# Sunrise-end
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|
|
||||||
|
|
@ -811,10 +811,6 @@
|
||||||
Quantity: 2
|
Quantity: 2
|
||||||
- ReagentId: Vitamin
|
- ReagentId: Vitamin
|
||||||
Quantity: 1
|
Quantity: 1
|
||||||
- type: DamageOtherOnHit
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Blunt: 0 # so the damage stats icon doesn't immediately give away the syndie ones
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: FoodBakedCroissant
|
parent: FoodBakedCroissant
|
||||||
|
|
|
||||||
|
|
@ -721,13 +721,17 @@
|
||||||
- type: entityTable
|
- type: entityTable
|
||||||
id: HappyHonkToyUnsafeEntityTable
|
id: HappyHonkToyUnsafeEntityTable
|
||||||
table: !type:GroupSelector
|
table: !type:GroupSelector
|
||||||
children:
|
children: # Total Weight 6
|
||||||
|
- id: ClothingHeadHatCatEars
|
||||||
|
weight: 0.25
|
||||||
- id: C4
|
- id: C4
|
||||||
weight: 0.02
|
weight: 0.05
|
||||||
- id: ToyMarauder
|
- id: ToyMarauder
|
||||||
- id: ToyMauler
|
- id: ToyMauler
|
||||||
- id: ToyNuke
|
- id: ToyNuke
|
||||||
- id: ToySword
|
- id: ToySword
|
||||||
|
- id: WeaponRevolverPythonAP
|
||||||
|
weight: 0.4
|
||||||
- id: BalloonSyn
|
- id: BalloonSyn
|
||||||
weight: 0.6
|
weight: 0.3
|
||||||
- id: PlushieNuke
|
- id: PlushieNuke
|
||||||
|
|
|
||||||
|
|
@ -124,6 +124,18 @@
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 10000
|
price: 10000
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: SyndimovCircuitBoard
|
||||||
|
parent: [BaseSiliconLawboard, BaseSyndicateContraband]
|
||||||
|
name: law board (Syndimov)
|
||||||
|
description: An electronics board containing the Syndimov lawset.
|
||||||
|
components:
|
||||||
|
- type: SiliconLawProvider
|
||||||
|
laws: SyndicateStatic
|
||||||
|
lawUploadSound: /Audio/Ambience/Antag/emagged_borg.ogg # This should probably have its own sound but it's fine for now.
|
||||||
|
- type: StaticPrice
|
||||||
|
price: 5000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: NutimovCircuitBoard
|
id: NutimovCircuitBoard
|
||||||
parent: BaseSiliconLawboard
|
parent: BaseSiliconLawboard
|
||||||
|
|
|
||||||
|
|
@ -265,19 +265,6 @@
|
||||||
allowUnpackOnTables: true
|
allowUnpackOnTables: true
|
||||||
entity: KitchenMicrowave
|
entity: KitchenMicrowave
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: BaseFlatpack
|
|
||||||
id: SyndicateMicrowaveFlatpack
|
|
||||||
name: microwave flatpack
|
|
||||||
description: A flatpack used for constructing a microwave.
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
layers:
|
|
||||||
- state: microwave
|
|
||||||
- type: Flatpack
|
|
||||||
allowUnpackOnTables: true
|
|
||||||
entity: SyndicateMicrowave
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseFlatpack
|
parent: BaseFlatpack
|
||||||
id: HydroponicsTrayFlatpack
|
id: HydroponicsTrayFlatpack
|
||||||
|
|
@ -293,3 +280,17 @@
|
||||||
guides:
|
guides:
|
||||||
- Botany
|
- Botany
|
||||||
- Chemicals
|
- Chemicals
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: [ BaseFlatpack, BaseSyndicateContraband ]
|
||||||
|
id: SyndicateMicrowaveFlatpack
|
||||||
|
name: donk co. microwave flatpack
|
||||||
|
description: A flatpack used for constructing a microwave too hot for Nanotrasen to handle.
|
||||||
|
components:
|
||||||
|
- type: Item
|
||||||
|
size: Normal
|
||||||
|
- type: Flatpack
|
||||||
|
entity: SyndicateMicrowave
|
||||||
|
- type: GuideHelp
|
||||||
|
guides:
|
||||||
|
- FoodRecipes
|
||||||
|
|
|
||||||
|
|
@ -1842,6 +1842,14 @@
|
||||||
- Thief
|
- Thief
|
||||||
# Sunrise-End
|
# Sunrise-End
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: ChameleonPDA
|
||||||
|
id: ChameleonAgentPDA
|
||||||
|
suffix: Chameleon, Agent ID
|
||||||
|
components:
|
||||||
|
- type: Pda
|
||||||
|
id: AgentIDCard
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseWidePDA
|
parent: BaseWidePDA
|
||||||
id: WizardPDA
|
id: WizardPDA
|
||||||
|
|
|
||||||
|
|
@ -121,13 +121,13 @@
|
||||||
- type: SolutionContainerManager
|
- type: SolutionContainerManager
|
||||||
solutions:
|
solutions:
|
||||||
melee:
|
melee:
|
||||||
maxVol: 7
|
maxVol: 10
|
||||||
- type: SolutionInjectOnEmbed
|
- type: SolutionInjectOnEmbed
|
||||||
transferAmount: 7
|
transferAmount: 10
|
||||||
blockSlots: NONE
|
blockSlots: NONE
|
||||||
solution: melee
|
solution: melee
|
||||||
- type: SolutionTransfer
|
- type: SolutionTransfer
|
||||||
maxTransferAmount: 7
|
maxTransferAmount: 10
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: dartboard
|
name: dartboard
|
||||||
|
|
|
||||||
|
|
@ -32,3 +32,48 @@
|
||||||
components:
|
components:
|
||||||
- type: Item
|
- type: Item
|
||||||
size: Huge
|
size: Huge
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: [BriefcaseBase, BaseSyndicateContraband]
|
||||||
|
id: BriefcaseWeapon
|
||||||
|
name: secure weapon case
|
||||||
|
suffix: Gun, Empty
|
||||||
|
description: Useful for aspiring mercenaries, whether you're fighting for a company, a nation or anyone else. Or just making a really big omelette.
|
||||||
|
components:
|
||||||
|
- type: Appearance
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Storage/Briefcases/weapon_case_large.rsi
|
||||||
|
layers:
|
||||||
|
- state: icon
|
||||||
|
map: [ base ]
|
||||||
|
- state: locked
|
||||||
|
map: [ "enum.LockVisualLayers.Lock" ]
|
||||||
|
shader: unshaded
|
||||||
|
- state: unlocked
|
||||||
|
map: [ light ]
|
||||||
|
shader: unshaded
|
||||||
|
- type: Lock
|
||||||
|
- type: LockVisuals
|
||||||
|
- type: GenericVisualizer
|
||||||
|
visuals:
|
||||||
|
enum.StorageVisuals.Open:
|
||||||
|
base:
|
||||||
|
True: { state: icon-open }
|
||||||
|
False: { state: icon }
|
||||||
|
light:
|
||||||
|
True: { visible: true }
|
||||||
|
False: { visible: false }
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
id: BriefcaseWeaponSmall
|
||||||
|
suffix: Gun, Small, Empty
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
sprite: Objects/Storage/Briefcases/weapon_case.rsi
|
||||||
|
- type: Item
|
||||||
|
size: Large
|
||||||
|
- type: Storage
|
||||||
|
maxItemSize: Large
|
||||||
|
grid:
|
||||||
|
- 0,0,3,1
|
||||||
|
|
|
||||||
|
|
@ -266,7 +266,7 @@
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: VoiceMaskImplanter
|
id: VoiceMaskImplanter
|
||||||
name: voice mask implanter
|
name: identity mask implanter
|
||||||
parent: BaseImplantOnlyImplanterSyndi
|
parent: BaseImplantOnlyImplanterSyndi
|
||||||
components:
|
components:
|
||||||
- type: Implanter
|
- type: Implanter
|
||||||
|
|
|
||||||
|
|
@ -286,8 +286,8 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseSubdermalImplant
|
parent: BaseSubdermalImplant
|
||||||
id: VoiceMaskImplant
|
id: VoiceMaskImplant
|
||||||
name: voice mask implant
|
name: identity mask implant
|
||||||
description: This implant allows you to change your voice at will.
|
description: This implant allows you to change your identity at will.
|
||||||
categories: [ HideSpawnMenu ]
|
categories: [ HideSpawnMenu ]
|
||||||
components:
|
components:
|
||||||
- type: SubdermalImplant
|
- type: SubdermalImplant
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@
|
||||||
- type: ExaminableBattery
|
- type: ExaminableBattery
|
||||||
- type: PowerConsumer
|
- type: PowerConsumer
|
||||||
voltage: High
|
voltage: High
|
||||||
drawRate: 1000000
|
drawRate: 10000000
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Power/powersink.rsi
|
sprite: Objects/Power/powersink.rsi
|
||||||
state: powersink
|
state: powersink
|
||||||
|
|
|
||||||
|
|
@ -1,58 +1,64 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
|
abstract: true
|
||||||
|
parent: BaseItem
|
||||||
|
id: BaseJammer
|
||||||
name: radio jammer
|
name: radio jammer
|
||||||
parent: [BaseItem, BaseSyndicateContraband]
|
|
||||||
id: RadioJammer
|
|
||||||
description: This device will disrupt any nearby outgoing radio communication as well as suit sensors when activated.
|
description: This device will disrupt any nearby outgoing radio communication as well as suit sensors when activated.
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Devices/jammer.rsi
|
sprite: Objects/Devices/jammer.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: jammer
|
- state: jammer
|
||||||
- state: jammer_high_charge
|
- state: jammer_high_charge
|
||||||
map: ["enum.RadioJammerLayers.LED"]
|
map: ["enum.PowerDeviceVisualLayers.Powered"]
|
||||||
shader: unshaded
|
shader: unshaded
|
||||||
visible: false
|
visible: false
|
||||||
- type: RadioJammer
|
- type: RadioJammer
|
||||||
settings:
|
settings:
|
||||||
- wattage: 1
|
|
||||||
range: 2.5
|
|
||||||
message: radio-jammer-component-set-message-low
|
|
||||||
name: radio-jammer-component-setting-low
|
|
||||||
- wattage: 2
|
- wattage: 2
|
||||||
range: 6
|
range: 6
|
||||||
message: radio-jammer-component-set-message-medium
|
message: radio-jammer-component-set-message-low
|
||||||
name: radio-jammer-component-setting-medium
|
name: radio-jammer-component-setting-low
|
||||||
- wattage: 12
|
- wattage: 12
|
||||||
range: 12
|
range: 12
|
||||||
message: radio-jammer-component-set-message-high
|
message: radio-jammer-component-set-message-high
|
||||||
name: radio-jammer-component-setting-high
|
name: radio-jammer-component-setting-high
|
||||||
- type: PowerCellSlot
|
|
||||||
cellSlotId: cell_slot
|
|
||||||
- type: ContainerContainer
|
|
||||||
containers:
|
|
||||||
cell_slot: !type:ContainerSlot
|
|
||||||
- type: ItemSlots
|
|
||||||
slots:
|
|
||||||
cell_slot:
|
|
||||||
name: power-cell-slot-component-slot-name-default
|
|
||||||
startingItem: PowerCellMedium
|
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
|
- type: ItemToggle
|
||||||
- type: GenericVisualizer
|
- type: GenericVisualizer
|
||||||
visuals:
|
visuals:
|
||||||
enum.RadioJammerVisuals.LEDOn:
|
enum.ToggleableVisuals.Enabled:
|
||||||
RadioJammerLayers.LED:
|
enum.PowerDeviceVisualLayers.Powered:
|
||||||
True: { visible: True }
|
True: { visible: true }
|
||||||
False: { visible: False }
|
False: { visible: false }
|
||||||
enum.RadioJammerVisuals.ChargeLevel:
|
- type: BatteryVisuals
|
||||||
RadioJammerLayers.LED:
|
|
||||||
Low: {state: jammer_low_charge}
|
|
||||||
Medium: {state: jammer_medium_charge}
|
|
||||||
High: {state: jammer_high_charge}
|
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 1500
|
price: 1500
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [RadioJammer, BaseXenoborgContraband]
|
name: radio jammer
|
||||||
|
parent: [BaseJammer, PowerCellSlotMediumItem, BaseSyndicateContraband]
|
||||||
|
id: RadioJammer
|
||||||
|
description: This device will disrupt any nearby outgoing and incoming radio communication as well as suit sensors when activated.
|
||||||
|
components:
|
||||||
|
- type: GenericVisualizer
|
||||||
|
visuals:
|
||||||
|
enum.BatteryVisuals.State:
|
||||||
|
enum.PowerDeviceVisualLayers.Powered:
|
||||||
|
Full: { state: jammer_high_charge }
|
||||||
|
Neither: { state: jammer_medium_charge }
|
||||||
|
Empty: { state: jammer_low_charge }
|
||||||
|
enum.ToggleableVisuals.Enabled:
|
||||||
|
enum.PowerDeviceVisualLayers.Powered:
|
||||||
|
True: { visible: true }
|
||||||
|
False: { visible: false }
|
||||||
|
- type: ToggleCellDraw
|
||||||
|
- type: BatteryVisuals
|
||||||
|
- type: StaticPrice
|
||||||
|
price: 1500
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
parent: [BaseJammer, BaseXenoborgContraband]
|
||||||
id: XenoborgRadioJammer
|
id: XenoborgRadioJammer
|
||||||
name: xenoborg radio jammer
|
name: xenoborg radio jammer
|
||||||
components:
|
components:
|
||||||
|
|
@ -62,10 +68,3 @@
|
||||||
- 2003 # mothership radio
|
- 2003 # mothership radio
|
||||||
- 2004 # xenoborg network
|
- 2004 # xenoborg network
|
||||||
- 2005 # mothership network
|
- 2005 # mothership network
|
||||||
- type: ItemSlots
|
|
||||||
slots:
|
|
||||||
cell_slot:
|
|
||||||
name: power-cell-slot-component-slot-name-default
|
|
||||||
startingItem: PowerCellMicroreactor
|
|
||||||
disableEject: true
|
|
||||||
swap: false
|
|
||||||
|
|
|
||||||
|
|
@ -51,10 +51,10 @@
|
||||||
collection: MetalThud
|
collection: MetalThud
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: syndicate jaws of life
|
name: syndicate jaws of death
|
||||||
parent: [JawsOfLife, BaseSyndicateContraband]
|
parent: [JawsOfLife, BaseSyndicateContraband]
|
||||||
id: SyndicateJawsOfLife
|
id: SyndicateJawsOfLife
|
||||||
description: Useful for entering the station or its departments.
|
description: Useful for breaking into secure areas and other nefarious activities.
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Tools/jaws_of_life.rsi
|
sprite: Objects/Tools/jaws_of_life.rsi
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ GrenadeBase, BaseMinorContraband ]
|
parent: [ TimerGrenadeBase, BaseMinorContraband ]
|
||||||
id: PipeBomb
|
id: PipeBomb
|
||||||
name: pipe bomb
|
name: pipe bomb
|
||||||
description: An improvised explosive made from pipes and wire.
|
description: An improvised explosive made from pipes and wire.
|
||||||
|
|
|
||||||
|
|
@ -825,10 +825,9 @@
|
||||||
price: 100
|
price: 100
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: experimental C.H.I.M.P. handcannon
|
|
||||||
parent: [WeaponPistolCHIMP, BaseSyndicateContraband]
|
parent: [WeaponPistolCHIMP, BaseSyndicateContraband]
|
||||||
id: WeaponPistolCHIMPUpgraded
|
id: WeaponPistolCHIMPUpgraded
|
||||||
description: This C.H.I.M.P. seems to have a greater punch than usual...
|
suffix: Syndicate
|
||||||
components:
|
components:
|
||||||
- type: BatteryWeaponFireModes
|
- type: BatteryWeaponFireModes
|
||||||
fireModes:
|
fireModes:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
name: BaseWeaponLauncher
|
name: BaseWeaponLauncher
|
||||||
parent: BaseItem
|
parent: [ BaseItem, BaseGunWieldable ]
|
||||||
id: BaseWeaponLauncher
|
id: BaseWeaponLauncher
|
||||||
description: A rooty tooty point and shooty.
|
description: A rooty tooty point and shooty.
|
||||||
abstract: true
|
abstract: true
|
||||||
|
|
@ -19,6 +19,14 @@
|
||||||
containers:
|
containers:
|
||||||
ballistic-ammo: !type:Container
|
ballistic-ammo: !type:Container
|
||||||
ents: []
|
ents: []
|
||||||
|
- type: Gun
|
||||||
|
fireRate: 1
|
||||||
|
projectileSpeed: 25 # Slower than a bullet, same speed as our old projectile limit.
|
||||||
|
selectedMode: SemiAuto
|
||||||
|
availableModes:
|
||||||
|
- SemiAuto
|
||||||
|
soundGunshot:
|
||||||
|
path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
|
||||||
# Sunrise start
|
# Sunrise start
|
||||||
- type: EmitSoundOnPickup
|
- type: EmitSoundOnPickup
|
||||||
sound:
|
sound:
|
||||||
|
|
@ -41,7 +49,7 @@
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: china lake
|
name: china lake
|
||||||
parent: [BaseWeaponLauncher, BaseGunWieldable, BaseSyndicateContraband]
|
parent: [BaseWeaponLauncher, BaseSyndicateContraband]
|
||||||
id: WeaponLauncherChinaLake
|
id: WeaponLauncherChinaLake
|
||||||
description: PLOOP.
|
description: PLOOP.
|
||||||
components:
|
components:
|
||||||
|
|
@ -62,19 +70,12 @@
|
||||||
- type: AmmoCounter
|
- type: AmmoCounter
|
||||||
- type: Gun
|
- type: Gun
|
||||||
pump: true
|
pump: true
|
||||||
fireRate: 1
|
|
||||||
selectedMode: SemiAuto
|
|
||||||
availableModes:
|
|
||||||
- SemiAuto
|
|
||||||
soundGunshot:
|
|
||||||
path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
|
|
||||||
projectileSpeed: 15 # Sunrise-Edit
|
|
||||||
- type: BallisticAmmoProvider
|
- type: BallisticAmmoProvider
|
||||||
whitelist:
|
whitelist:
|
||||||
tags:
|
tags:
|
||||||
- Grenade
|
- Grenade
|
||||||
capacity: 3 # Sunrise-Edit
|
capacity: 3
|
||||||
proto: GrenadeFragTimer
|
proto: GrenadeFrag
|
||||||
soundInsert:
|
soundInsert:
|
||||||
path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
|
||||||
- type: GunRequiresWield
|
- type: GunRequiresWield
|
||||||
|
|
@ -82,7 +83,7 @@
|
||||||
price: 10000
|
price: 10000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ BaseWeaponLauncher, BaseGunWieldable, BaseMajorContraband ]
|
parent: [ BaseWeaponLauncher, BaseMajorContraband ]
|
||||||
id: WeaponLauncherHydra
|
id: WeaponLauncherHydra
|
||||||
name: hydra
|
name: hydra
|
||||||
description: PLOOP... FSSSSSS...
|
description: PLOOP... FSSSSSS...
|
||||||
|
|
@ -100,13 +101,6 @@
|
||||||
- type: Item
|
- type: Item
|
||||||
size: Huge
|
size: Huge
|
||||||
- type: AmmoCounter
|
- type: AmmoCounter
|
||||||
- type: Gun
|
|
||||||
fireRate: 1
|
|
||||||
selectedMode: SemiAuto
|
|
||||||
availableModes:
|
|
||||||
- SemiAuto
|
|
||||||
soundGunshot:
|
|
||||||
path: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg
|
|
||||||
- type: GunRequiresWield
|
- type: GunRequiresWield
|
||||||
- type: ContainerContainer
|
- type: ContainerContainer
|
||||||
containers:
|
containers:
|
||||||
|
|
|
||||||
|
|
@ -122,11 +122,11 @@
|
||||||
description: A cyborg-mounted weapon system based on the Viper pistol. Creates ammunition on the fly from an internal fabricator, which slowly self-charges.
|
description: A cyborg-mounted weapon system based on the Viper pistol. Creates ammunition on the fly from an internal fabricator, which slowly self-charges.
|
||||||
components:
|
components:
|
||||||
- type: Gun
|
- type: Gun
|
||||||
fireRate: 5
|
fireRate: 6
|
||||||
selectedMode: SemiAuto
|
selectedMode: SemiAuto
|
||||||
availableModes:
|
availableModes:
|
||||||
- SemiAuto
|
- SemiAuto
|
||||||
- FullAuto
|
- FullAuto
|
||||||
soundGunshot:
|
soundGunshot:
|
||||||
path: /Audio/Weapons/Guns/Gunshots/pistol.ogg
|
path: /Audio/Weapons/Guns/Gunshots/pistol.ogg
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
|
|
@ -136,17 +136,19 @@
|
||||||
map: ["enum.GunVisualLayers.Base"]
|
map: ["enum.GunVisualLayers.Base"]
|
||||||
- state: mag-0
|
- state: mag-0
|
||||||
map: ["enum.GunVisualLayers.Mag"]
|
map: ["enum.GunVisualLayers.Mag"]
|
||||||
# - type: ContainerContainer
|
- type: ContainerContainer
|
||||||
# containers:
|
containers:
|
||||||
# ballistic-ammo: !type:Container
|
ballistic-ammo: !type:Container
|
||||||
- type: BatteryAmmoProvider
|
- type: BallisticAmmoProvider
|
||||||
proto: BulletPistolTraceSP
|
whitelist:
|
||||||
fireCost: 100
|
tags:
|
||||||
- type: Battery
|
- CartridgePistol
|
||||||
maxCharge: 1000
|
capacity: 10
|
||||||
startingCharge: 1000
|
proto: BulletPistolTraceSP # Sunrise-Edit
|
||||||
- type: BatterySelfRecharger
|
cycleable: false # No synthesizing ammo for your syndicate masters.
|
||||||
autoRechargeRate: 25
|
- type: BallisticAmmoSelfRefiller
|
||||||
|
autoRefillRate: 2s
|
||||||
|
affectedByEmp: true
|
||||||
- type: AmmoCounter
|
- type: AmmoCounter
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|
|
||||||
|
|
@ -350,3 +350,7 @@
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 5000
|
price: 5000
|
||||||
|
- type: MeleeWeapon
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Blunt: 8
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,14 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: FoodBreadBaguette
|
parent: [ FoodBreadBaguette, BaseSword, BaseSyndicateContraband ]
|
||||||
id: WeaponBaguette
|
id: WeaponBaguette
|
||||||
suffix: Weapon
|
suffix: Weapon
|
||||||
components:
|
components:
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
attackRate: 1.4
|
|
||||||
wideAnimationRotation: -120
|
wideAnimationRotation: -120
|
||||||
|
attackRate: 1.5
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Slash: 16
|
Slash: 17
|
||||||
soundHit:
|
soundHit:
|
||||||
path: /Audio/Weapons/bladeslice.ogg
|
path: /Audio/Weapons/bladeslice.ogg
|
||||||
- type: Reflect
|
- type: DisarmMalus
|
||||||
reflectProb: 0.05
|
|
||||||
spread: 90
|
|
||||||
|
|
|
||||||
|
|
@ -285,7 +285,7 @@
|
||||||
state: e_dagger
|
state: e_dagger
|
||||||
- type: SpawnItemsOnUse
|
- type: SpawnItemsOnUse
|
||||||
items:
|
items:
|
||||||
- id: EnergyDaggerBiocode # Sunrise-Edit
|
- id: EnergyDagger
|
||||||
sound:
|
sound:
|
||||||
path: /Audio/Effects/unwrap.ogg
|
path: /Audio/Effects/unwrap.ogg
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,26 +14,10 @@
|
||||||
quickEquip: false
|
quickEquip: false
|
||||||
slots:
|
slots:
|
||||||
- Belt
|
- Belt
|
||||||
- type: TriggerOnUse
|
|
||||||
- type: TimerTrigger
|
|
||||||
delay: 3
|
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Inorganic
|
damageContainer: Inorganic
|
||||||
- type: Destructible
|
|
||||||
thresholds:
|
|
||||||
- trigger: # Start fuse
|
|
||||||
!type:DamageTrigger
|
|
||||||
damage: 10
|
|
||||||
behaviors:
|
|
||||||
- !type:TimerStartBehavior
|
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
- type: AnimationPlayer
|
- type: AnimationPlayer
|
||||||
- type: GenericVisualizer
|
|
||||||
visuals:
|
|
||||||
enum.Trigger.TriggerVisuals.VisualState:
|
|
||||||
enum.ConstructionVisuals.Layer:
|
|
||||||
Primed: { state: primed }
|
|
||||||
Unprimed: { state: icon }
|
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- HandGrenade
|
- HandGrenade
|
||||||
|
|
@ -48,6 +32,46 @@
|
||||||
restitution: 0.3
|
restitution: 0.3
|
||||||
friction: 0.2
|
friction: 0.2
|
||||||
|
|
||||||
|
- type: entity # Starts fuse after taking 10 damage.
|
||||||
|
parent: GrenadeBase
|
||||||
|
abstract: true
|
||||||
|
id: TimerGrenadeBase
|
||||||
|
components:
|
||||||
|
- type: TriggerOnUse
|
||||||
|
- type: TimerTrigger
|
||||||
|
delay: 3
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger: # Start fuse
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 10
|
||||||
|
behaviors:
|
||||||
|
- !type:TimerStartBehavior
|
||||||
|
- type: GenericVisualizer
|
||||||
|
visuals:
|
||||||
|
enum.Trigger.TriggerVisuals.VisualState:
|
||||||
|
enum.ConstructionVisuals.Layer:
|
||||||
|
Primed: { state: primed }
|
||||||
|
Unprimed: { state: icon }
|
||||||
|
|
||||||
|
- type: entity # Starts fuse after taking 10 damage.
|
||||||
|
parent: GrenadeBase
|
||||||
|
abstract: true
|
||||||
|
id: ImpactGrenadeBase
|
||||||
|
components:
|
||||||
|
- type: TriggerOnLand
|
||||||
|
- type: LandAtCursor
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger: # immediately explode
|
||||||
|
!type:DamageTrigger
|
||||||
|
damage: 45
|
||||||
|
behaviors:
|
||||||
|
- !type:TriggerBehavior
|
||||||
|
keyOut: timer
|
||||||
|
- !type:DoActsBehavior
|
||||||
|
acts: [ "Destruction" ]
|
||||||
|
|
||||||
- type: entity # Starts fuse after taking 10 damage, instantly detonates/activates after taking 45 damage.
|
- type: entity # Starts fuse after taking 10 damage, instantly detonates/activates after taking 45 damage.
|
||||||
abstract: true
|
abstract: true
|
||||||
id: VolatileGrenadeBase
|
id: VolatileGrenadeBase
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [VolatileGrenadeBase, GrenadeBase, BaseSecurityContraband ]
|
parent: [VolatileGrenadeBase, TimerGrenadeBase, BaseSecurityContraband ]
|
||||||
id: SmokeGrenade
|
id: SmokeGrenade
|
||||||
name: smoke grenade
|
name: smoke grenade
|
||||||
description: A tactical grenade that releases a large, long-lasting cloud of smoke when used.
|
description: A tactical grenade that releases a large, long-lasting cloud of smoke when used.
|
||||||
|
|
@ -90,7 +90,7 @@
|
||||||
#Sunrise-End
|
#Sunrise-End
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ BaseEngineeringContraband, VolatileGrenadeBase, GrenadeBase ] # Prevent inheriting DeleteOnTrigger from SmokeGrenade
|
parent: [ BaseEngineeringContraband, VolatileGrenadeBase, TimerGrenadeBase ] # Prevent inheriting DeleteOnTrigger from SmokeGrenade
|
||||||
id: AirGrenade
|
id: AirGrenade
|
||||||
name: air grenade
|
name: air grenade
|
||||||
description: A special solid state chemical grenade used for quickly releasing standard air into a spaced area. Fills up to 30 tiles!
|
description: A special solid state chemical grenade used for quickly releasing standard air into a spaced area. Fills up to 30 tiles!
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: FoodBakedCroissant
|
parent: [ FoodBakedCroissant, ThrowingKnife ]
|
||||||
id: WeaponCroissant
|
id: WeaponCroissant
|
||||||
suffix: Weapon
|
suffix: Weapon
|
||||||
components:
|
components:
|
||||||
|
|
@ -13,14 +13,5 @@
|
||||||
- ItemMask
|
- ItemMask
|
||||||
restitution: 0.3
|
restitution: 0.3
|
||||||
friction: 0.2
|
friction: 0.2
|
||||||
- type: EmbeddableProjectile
|
|
||||||
sound: /Audio/Weapons/star_hit.ogg
|
|
||||||
- type: LandAtCursor
|
|
||||||
- type: DamageOtherOnHit
|
|
||||||
ignoreResistances: true
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Slash: 5
|
|
||||||
Piercing: 10
|
|
||||||
- type: ThrowingAngle
|
- type: ThrowingAngle
|
||||||
angularVelocity: true # spins
|
angularVelocity: true # spins
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
name: explosive grenade
|
name: explosive grenade
|
||||||
description: Grenade that creates a small but devastating explosion.
|
description: Grenade that creates a small but devastating explosion.
|
||||||
parent: [VolatileGrenadeBase, GrenadeBase, BaseSyndicateContraband]
|
parent: [VolatileGrenadeBase, TimerGrenadeBase, BaseSyndicateContraband]
|
||||||
id: ExGrenade
|
id: ExGrenade
|
||||||
components:
|
components:
|
||||||
- type: ExplodeOnTrigger
|
- type: ExplodeOnTrigger
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
name: flashbang
|
name: flashbang
|
||||||
description: Eeeeeeeeeeeeeeeeeeeeee.
|
description: Eeeeeeeeeeeeeeeeeeeeee.
|
||||||
parent: [ FragileGrenadeBase, GrenadeBase, BaseSecurityContraband ]
|
parent: [ FragileGrenadeBase, TimerGrenadeBase, BaseSecurityContraband ]
|
||||||
id: GrenadeFlashBang
|
id: GrenadeFlashBang
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
|
|
@ -88,12 +88,12 @@
|
||||||
- type: TimedDespawn
|
- type: TimedDespawn
|
||||||
lifetime: 0.5
|
lifetime: 0.5
|
||||||
|
|
||||||
#The explosive values for these are pretty god damn mediocre, but SS14's explosion system is hard to understand - this is a good enough approximation of how it was in SS13.
|
# Tuned to be a general bomb that deals equipment damage without explicitly gibbing, however it will still gladly instakill anyone that mishandles it.
|
||||||
#Ideally, there should be a weak radius around the bomb outside of its gibbing / spacing range capable of dealing fair damage to players / structures.
|
# One of the few syndie bombs that should punch holes in space.
|
||||||
- type: entity
|
- type: entity
|
||||||
name: syndicate minibomb
|
name: syndicate minibomb
|
||||||
description: A syndicate-manufactured explosive used to stow destruction and cause chaos.
|
description: A syndicate-manufactured explosive used to stow destruction and cause chaos.
|
||||||
parent: [VolatileGrenadeBase, GrenadeBase, BaseSyndicateContraband]
|
parent: [VolatileGrenadeBase, TimerGrenadeBase, BaseSyndicateContraband]
|
||||||
id: SyndieMiniBomb
|
id: SyndieMiniBomb
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
|
|
@ -122,7 +122,7 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
name: self destruct
|
name: self destruct
|
||||||
description: Go out on your own terms!
|
description: Go out on your own terms!
|
||||||
parent: GrenadeBase
|
parent: TimerGrenadeBase
|
||||||
id: SelfDestructSeq
|
id: SelfDestructSeq
|
||||||
categories: [ HideSpawnMenu ]
|
categories: [ HideSpawnMenu ]
|
||||||
components:
|
components:
|
||||||
|
|
@ -145,10 +145,28 @@
|
||||||
volume: 30
|
volume: 30
|
||||||
initialBeepDelay: 0
|
initialBeepDelay: 0
|
||||||
beepInterval: 16
|
beepInterval: 16
|
||||||
|
- type: LightBehaviorOnTrigger
|
||||||
|
behavior: activate
|
||||||
|
- type: PointLight
|
||||||
|
energy: 50
|
||||||
|
radius: 0
|
||||||
|
color: Red
|
||||||
|
softness: 0
|
||||||
|
falloff: 20
|
||||||
|
mask: /Textures/Effects/LightMasks/double_cone.png
|
||||||
|
- type: RotatingLight
|
||||||
|
speed: 360
|
||||||
|
- type: LightBehaviour
|
||||||
|
behaviours:
|
||||||
|
- !type:FadeBehaviour # have the radius start small and get larger as it starts to burn
|
||||||
|
id: activate
|
||||||
|
maxDuration: 5
|
||||||
|
startValue: 1
|
||||||
|
endValue: 2
|
||||||
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [ FragileGrenadeBase, GrenadeBase, BaseSyndicateContraband ]
|
parent: [ FragileGrenadeBase, TimerGrenadeBase, BaseSyndicateContraband ]
|
||||||
id: SingularityGrenade
|
id: SingularityGrenade
|
||||||
name: singularity grenade
|
name: singularity grenade
|
||||||
description: Grenade that simulates the power of a singularity, pulling things in a heap.
|
description: Grenade that simulates the power of a singularity, pulling things in a heap.
|
||||||
|
|
@ -190,9 +208,10 @@
|
||||||
sound:
|
sound:
|
||||||
path: /Audio/Effects/Grenades/Supermatter/supermatter_loop.ogg
|
path: /Audio/Effects/Grenades/Supermatter/supermatter_loop.ogg
|
||||||
- type: GravityWell
|
- type: GravityWell
|
||||||
maxRange: 7
|
maxRange: 5
|
||||||
baseRadialAcceleration: 5
|
minRange: 0.25
|
||||||
baseTangentialAcceleration: .5
|
baseRadialAcceleration: 25
|
||||||
|
baseTangentialAcceleration: 5
|
||||||
gravPulsePeriod: 0.03
|
gravPulsePeriod: 0.03
|
||||||
- type: SingularityDistortion
|
- type: SingularityDistortion
|
||||||
intensity: 150
|
intensity: 150
|
||||||
|
|
@ -281,7 +300,7 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
name: the nuclear option
|
name: the nuclear option
|
||||||
description: Please don't throw it, think of the children.
|
description: Please don't throw it, think of the children.
|
||||||
parent: GrenadeBase
|
parent: TimerGrenadeBase
|
||||||
id: NuclearGrenade
|
id: NuclearGrenade
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
|
|
@ -362,39 +381,26 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
name: EMP grenade
|
name: EMP grenade
|
||||||
description: A grenade designed to wreak havoc on electronic systems.
|
description: A grenade designed to wreak havoc on electronic systems.
|
||||||
parent: [FragileGrenadeBase, GrenadeBase, BaseSyndicateContraband]
|
parent: [ImpactGrenadeBase, BaseSyndicateContraband]
|
||||||
id: EmpGrenade
|
id: EmpGrenade
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Weapons/Grenades/empgrenade.rsi
|
sprite: Objects/Weapons/Grenades/empgrenade.rsi
|
||||||
- type: EmpOnTrigger
|
- type: EmpOnTrigger
|
||||||
keysIn:
|
keysIn:
|
||||||
- timer
|
- trigger
|
||||||
range: 11 #5.5 Sunrise-Edit
|
range: 5.5
|
||||||
energyConsumption: 50000
|
energyConsumption: 50000
|
||||||
- type: DeleteOnTrigger
|
- type: DeleteOnTrigger
|
||||||
keysIn:
|
keysIn:
|
||||||
- timer
|
- trigger
|
||||||
- type: Appearance
|
|
||||||
- type: TimerTriggerVisuals
|
|
||||||
primingSound:
|
|
||||||
path: /Audio/Effects/countdown.ogg
|
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 666 # 2000 for 3, I love fractions
|
price: 666 # 2000 for 3, I love fractions
|
||||||
- type: Tag #Sunrise-Start
|
|
||||||
tags:
|
|
||||||
- HandGrenade
|
|
||||||
- GrenadeFlashBang
|
|
||||||
- HandGrenadeAmmo
|
|
||||||
- type: CartridgeAmmo
|
|
||||||
proto: BulletEMPGrenade
|
|
||||||
deleteOnSpawn: true
|
|
||||||
- type: SpentAmmoVisuals #Sunrise-End
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: holy hand grenade
|
name: holy hand grenade
|
||||||
description: O Lord, bless this thy hand grenade, that with it thou mayst blow thine enemies to tiny bits, in thy mercy.
|
description: O Lord, bless this thy hand grenade, that with it thou mayst blow thine enemies to tiny bits, in thy mercy.
|
||||||
parent: [GrenadeBase, BaseSyndicateContraband]
|
parent: [TimerGrenadeBase, BaseSyndicateContraband]
|
||||||
id: HolyHandGrenade
|
id: HolyHandGrenade
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
|
|
@ -425,7 +431,7 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
name: trick grenade
|
name: trick grenade
|
||||||
description: All the grenade without any of the boom.
|
description: All the grenade without any of the boom.
|
||||||
parent: GrenadeBase
|
parent: TimerGrenadeBase
|
||||||
id: GrenadeDummy
|
id: GrenadeDummy
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
|
|
@ -445,13 +451,9 @@
|
||||||
path: /Audio/Effects/Emotes/parp1.ogg
|
path: /Audio/Effects/Emotes/parp1.ogg
|
||||||
positional: true
|
positional: true
|
||||||
- type: Appearance
|
- type: Appearance
|
||||||
- type: TimerTrigger
|
- type: TimerTriggerVisuals
|
||||||
beepSound:
|
primingSound:
|
||||||
path: "/Audio/Effects/beep1.ogg"
|
path: /Audio/Effects/countdown.ogg
|
||||||
params:
|
|
||||||
volume: 5
|
|
||||||
initialBeepDelay: 0
|
|
||||||
beepInterval: 2 # 2 beeps total (at 0 and 2)
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: syndicate trickybomb
|
name: syndicate trickybomb
|
||||||
|
|
|
||||||
|
|
@ -1,35 +1,16 @@
|
||||||
# ScatteringGrenade is intended for grenades that spawn entities, especially those with timers
|
# ScatteringGrenade is intended for grenades that spawn entities, especially those with timers
|
||||||
- type: entity
|
- type: entity
|
||||||
abstract: true
|
abstract: true
|
||||||
parent: BaseItem
|
parent: GrenadeBase
|
||||||
id: ScatteringGrenadeBase
|
id: ScatteringGrenadeBase
|
||||||
components:
|
components:
|
||||||
- type: Appearance
|
|
||||||
- type: ContainerContainer
|
- type: ContainerContainer
|
||||||
containers:
|
containers:
|
||||||
cluster-payload: !type:Container
|
cluster-payload: !type:Container
|
||||||
- type: Damageable
|
|
||||||
damageContainer: Inorganic
|
|
||||||
- type: ScatteringGrenade
|
- type: ScatteringGrenade
|
||||||
- type: TriggerOnUse
|
|
||||||
- type: TimerTrigger
|
|
||||||
delay: 3
|
|
||||||
- type: Tag
|
|
||||||
tags:
|
|
||||||
- HandGrenade
|
|
||||||
- type: Fixtures
|
|
||||||
fixtures:
|
|
||||||
fix1:
|
|
||||||
shape: !type:PhysShapeCircle
|
|
||||||
radius: 0.2
|
|
||||||
density: 20 # derived from base_item
|
|
||||||
mask:
|
|
||||||
- ItemMask
|
|
||||||
restitution: 0.3
|
|
||||||
friction: 0.2
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [FragileGrenadeBase, ScatteringGrenadeBase, BaseSecurityContraband]
|
parent: [FragileGrenadeBase, ScatteringGrenadeBase, TimerGrenadeBase, BaseSecurityContraband]
|
||||||
id: ClusterBang
|
id: ClusterBang
|
||||||
name: clusterbang
|
name: clusterbang
|
||||||
description: Can be used only with flashbangs. Explodes several times.
|
description: Can be used only with flashbangs. Explodes several times.
|
||||||
|
|
@ -82,7 +63,7 @@
|
||||||
positional: true
|
positional: true
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [VolatileGrenadeBase, ScatteringGrenadeBase, BaseSyndicateContraband]
|
parent: [VolatileGrenadeBase, ScatteringGrenadeBase, TimerGrenadeBase, BaseSyndicateContraband]
|
||||||
id: ClusterGrenade
|
id: ClusterGrenade
|
||||||
name: clustergrenade
|
name: clustergrenade
|
||||||
description: Why use one grenade when you can use three at once!
|
description: Why use one grenade when you can use three at once!
|
||||||
|
|
@ -112,18 +93,20 @@
|
||||||
price: 2500
|
price: 2500
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [FragileGrenadeBase, ScatteringGrenadeBase, BaseSyndicateContraband]
|
parent: [FragileGrenadeBase, ScatteringGrenadeBase, ImpactGrenadeBase, BaseSyndicateContraband]
|
||||||
id: ClusterBananaPeel
|
id: ClusterBananaPeel
|
||||||
name: cluster banana peel
|
name: cluster banana peel
|
||||||
description: Splits into 6 explosive banana peels after throwing, guaranteed fun!
|
description: Splits into 6 explosive banana peels after throwing, guaranteed fun!
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: Objects/Specific/Hydroponics/banana.rsi
|
sprite: Objects/Specific/Hydroponics/banana.rsi
|
||||||
state: produce
|
layers:
|
||||||
|
- state: produce
|
||||||
- type: ScatteringGrenade
|
- type: ScatteringGrenade
|
||||||
fillPrototype: TrashBananaPeelExplosive
|
fillPrototype: TrashBananaPeelExplosive
|
||||||
capacity: 6
|
capacity: 6
|
||||||
delayBeforeTriggerContents: 20
|
delayBeforeTriggerContents: 20
|
||||||
|
triggerKey: trigger
|
||||||
- type: LandAtCursor
|
- type: LandAtCursor
|
||||||
- type: DamageOnLand
|
- type: DamageOnLand
|
||||||
damage:
|
damage:
|
||||||
|
|
@ -137,7 +120,7 @@
|
||||||
positional: true
|
positional: true
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [SoapSyndie, ScatteringGrenadeBase, BaseSyndicateContraband]
|
parent: [SoapSyndie, ScatteringGrenadeBase, ImpactGrenadeBase, BaseSyndicateContraband]
|
||||||
id: SlipocalypseClusterSoap
|
id: SlipocalypseClusterSoap
|
||||||
name: slipocalypse clustersoap
|
name: slipocalypse clustersoap
|
||||||
description: Spreads small pieces of syndicate soap over an area upon landing on the floor.
|
description: Spreads small pieces of syndicate soap over an area upon landing on the floor.
|
||||||
|
|
@ -147,6 +130,7 @@
|
||||||
layers:
|
layers:
|
||||||
- state: syndie-4
|
- state: syndie-4
|
||||||
- type: ScatteringGrenade
|
- type: ScatteringGrenade
|
||||||
|
triggerKey: trigger
|
||||||
fillPrototype: SoapletSyndie
|
fillPrototype: SoapletSyndie
|
||||||
capacity: 30
|
capacity: 30
|
||||||
delayBeforeTriggerContents: 60
|
delayBeforeTriggerContents: 60
|
||||||
|
|
@ -167,7 +151,7 @@
|
||||||
price: 1000
|
price: 1000
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: [FragileGrenadeBase, ScatteringGrenadeBase]
|
parent: [FragileGrenadeBase, ScatteringGrenadeBase, TimerGrenadeBase]
|
||||||
id: GrenadeFoamDart
|
id: GrenadeFoamDart
|
||||||
name: foam dart grenade
|
name: foam dart grenade
|
||||||
description: Releases a bothersome spray of foam darts that cause severe welching.
|
description: Releases a bothersome spray of foam darts that cause severe welching.
|
||||||
|
|
|
||||||
|
|
@ -31,8 +31,8 @@
|
||||||
acts: [ "Destruction" ]
|
acts: [ "Destruction" ]
|
||||||
- type: Storage
|
- type: Storage
|
||||||
grid:
|
grid:
|
||||||
- 0,0,6,4 # Sunrise edit - миллион одежды не лезет в таком маленький комод
|
- 0,0,7,4
|
||||||
maxItemSize: Normal
|
maxItemSize: Large
|
||||||
- type: ContainerContainer
|
- type: ContainerContainer
|
||||||
containers:
|
containers:
|
||||||
storagebase: !type:Container
|
storagebase: !type:Container
|
||||||
|
|
|
||||||
|
|
@ -129,8 +129,8 @@
|
||||||
- type: Explosive
|
- type: Explosive
|
||||||
explosionType: HardBomb
|
explosionType: HardBomb
|
||||||
totalIntensity: 4000.0
|
totalIntensity: 4000.0
|
||||||
intensitySlope: 3
|
intensitySlope: 10
|
||||||
maxIntensity: 400
|
maxIntensity: 75
|
||||||
- type: StaticPrice
|
- type: StaticPrice
|
||||||
price: 10000 # Good luck!
|
price: 10000 # Good luck!
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,65 +1,9 @@
|
||||||
# Devices which are not portable but don't link up to anything
|
# Devices which are not portable but don't link up to anything
|
||||||
#- type: entity
|
|
||||||
# id: AtmosDeviceFanTiny
|
|
||||||
# name: tiny fan
|
|
||||||
# description: A tiny fan, releasing a thin gust of air.
|
|
||||||
# placement:
|
|
||||||
# mode: SnapgridCenter
|
|
||||||
# components:
|
|
||||||
# - type: Transform
|
|
||||||
# anchored: true
|
|
||||||
# - type: Physics
|
|
||||||
# bodyType: Static
|
|
||||||
# - type: Sprite
|
|
||||||
# sprite: Structures/Piping/Atmospherics/tinyfan.rsi
|
|
||||||
# state: icon
|
|
||||||
# - type: Fixtures
|
|
||||||
# fixtures:
|
|
||||||
# fix1:
|
|
||||||
# shape:
|
|
||||||
# !type:PhysShapeAabb
|
|
||||||
# bounds: "-0.5,-0.5,0.5,0.5"
|
|
||||||
# - type: Airtight
|
|
||||||
# noAirWhenFullyAirBlocked: false
|
|
||||||
# - type: Clickable
|
|
||||||
# - type: Tag
|
|
||||||
# tags:
|
|
||||||
# - SpreaderIgnore
|
|
||||||
|
|
||||||
#- type: entity
|
|
||||||
# id: AtmosDeviceFanDirectional
|
|
||||||
# name: directional fan
|
|
||||||
# description: A thin fan, stopping the movement of gases across it.
|
|
||||||
# placement:
|
|
||||||
# mode: SnapgridCenter
|
|
||||||
# components:
|
|
||||||
# - type: Transform
|
|
||||||
# anchored: true
|
|
||||||
# - type: Physics
|
|
||||||
# bodyType: Static
|
|
||||||
# - type: Sprite
|
|
||||||
# sprite: Structures/Piping/Atmospherics/directionalfan.rsi
|
|
||||||
# state: icon
|
|
||||||
# - type: Fixtures
|
|
||||||
# fixtures:
|
|
||||||
# fix1:
|
|
||||||
# shape:
|
|
||||||
# !type:PhysShapeAabb
|
|
||||||
# bounds: "-0.48,-0.48,0.48,-0.40"
|
|
||||||
# - type: Airtight
|
|
||||||
# noAirWhenFullyAirBlocked: false
|
|
||||||
# airBlockedDirection:
|
|
||||||
# - South
|
|
||||||
# - type: Clickable
|
|
||||||
# - type: Tag
|
|
||||||
# tags:
|
|
||||||
# - SpreaderIgnore
|
|
||||||
|
|
||||||
# Sunrise-start
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: AtmosDeviceFanTinyDev
|
id: AtmosDeviceFanTiny
|
||||||
name: tiny DEBUG fan
|
name: tiny fan
|
||||||
categories: [ DoNotMap ]
|
description: A tiny fan, releasing a thin gust of air.
|
||||||
|
categories: [ HideSpawnMenu ] # Sunrise-Add
|
||||||
placement:
|
placement:
|
||||||
mode: SnapgridCenter
|
mode: SnapgridCenter
|
||||||
components:
|
components:
|
||||||
|
|
@ -84,11 +28,12 @@
|
||||||
- SpreaderIgnore
|
- SpreaderIgnore
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: AtmosDeviceFanDirectionalDev # Только для дебаг вещей
|
id: AtmosDeviceFanDirectional
|
||||||
name: directional DEBUG fan
|
name: directional fan
|
||||||
categories: [ DoNotMap ]
|
description: A thin fan, stopping the movement of gases across it.
|
||||||
|
categories: [ HideSpawnMenu ] # Sunrise-Add
|
||||||
placement:
|
placement:
|
||||||
mode: SnapgridCenter
|
mode: SnapgridCenter
|
||||||
components:
|
components:
|
||||||
- type: Transform
|
- type: Transform
|
||||||
anchored: true
|
anchored: true
|
||||||
|
|
@ -110,11 +55,12 @@
|
||||||
- type: Clickable
|
- type: Clickable
|
||||||
- type: Tag
|
- type: Tag
|
||||||
tags:
|
tags:
|
||||||
- SpreaderIgnore
|
- SpreaderIgnore
|
||||||
|
|
||||||
|
# Sunrise-start
|
||||||
- type: entity
|
- type: entity
|
||||||
id: AtmosDeviceFanDirectionalInvisible
|
id: AtmosDeviceFanDirectionalInvisible
|
||||||
parent: AtmosDeviceFanDirectionalDev
|
parent: AtmosDeviceFanDirectional
|
||||||
name: directional Invisible fan
|
name: directional Invisible fan
|
||||||
categories: [ DoNotMap ]
|
categories: [ DoNotMap ]
|
||||||
placement:
|
placement:
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@
|
||||||
hadOutline: true
|
hadOutline: true
|
||||||
examineThreshold: 0.9 # Sunrise-Edit
|
examineThreshold: 0.9 # Sunrise-Edit
|
||||||
- type: StealthOnMove
|
- type: StealthOnMove
|
||||||
passiveVisibilityRate: -1 # very useful for going around the station concealed, if you start jitterstrafing you get seen # Sunrise-Edit
|
passiveVisibilityRate: -1 # very useful for going around the station concealed, if you start jitterstrafing you get seen
|
||||||
movementVisibilityRate: 0.20
|
movementVisibilityRate: 0.20
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
|
|
||||||
|
|
@ -164,13 +164,11 @@
|
||||||
color: "#FDD023"
|
color: "#FDD023"
|
||||||
metabolisms:
|
metabolisms:
|
||||||
Poison:
|
Poison:
|
||||||
|
metabolismRate : 2.0
|
||||||
effects:
|
effects:
|
||||||
- !type:Electrocute
|
- !type:Electrocute
|
||||||
probability: 0.35
|
siemensCoefficient: 0.5
|
||||||
conditions: # Sunrise-Edit
|
probability: 0.5
|
||||||
- !type:ReagentCondition
|
|
||||||
reagent: Licoxide
|
|
||||||
min: 1
|
|
||||||
|
|
||||||
- type: reagent
|
- type: reagent
|
||||||
id: Razorium
|
id: Razorium
|
||||||
|
|
|
||||||
|
|
@ -170,10 +170,10 @@
|
||||||
conditions:
|
conditions:
|
||||||
- !type:ReagentCondition
|
- !type:ReagentCondition
|
||||||
reagent: Stimulants
|
reagent: Stimulants
|
||||||
min: 50
|
min: 45
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Poison: 1
|
Poison: 3
|
||||||
# Interactions
|
# Interactions
|
||||||
- !type:ModifyStatusEffect
|
- !type:ModifyStatusEffect
|
||||||
conditions:
|
conditions:
|
||||||
|
|
@ -343,7 +343,7 @@
|
||||||
reagent: Nocturine
|
reagent: Nocturine
|
||||||
min: 8
|
min: 8
|
||||||
effectProto: StatusEffectForcedSleeping
|
effectProto: StatusEffectForcedSleeping
|
||||||
time: 6
|
time: 9
|
||||||
delay: 5
|
delay: 5
|
||||||
|
|
||||||
- type: reagent
|
- type: reagent
|
||||||
|
|
|
||||||
|
|
@ -683,13 +683,11 @@
|
||||||
color: "#FDD023"
|
color: "#FDD023"
|
||||||
metabolisms:
|
metabolisms:
|
||||||
Poison:
|
Poison:
|
||||||
|
metabolismRate : 2.0
|
||||||
effects:
|
effects:
|
||||||
- !type:Electrocute
|
- !type:Electrocute
|
||||||
probability: 0.8
|
electrocuteTime: 1
|
||||||
conditions: # Sunrise-Edit
|
probability: 0.5
|
||||||
- !type:ReagentCondition
|
|
||||||
reagent: Tazinide
|
|
||||||
min: 1
|
|
||||||
|
|
||||||
- type: reagent
|
- type: reagent
|
||||||
id: Lipolicide
|
id: Lipolicide
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,12 @@
|
||||||
description: Randomly teleports you within a large distance.
|
description: Randomly teleports you within a large distance.
|
||||||
components:
|
components:
|
||||||
- type: LimitedCharges
|
- type: LimitedCharges
|
||||||
maxCharges: 1
|
maxCharges: 2
|
||||||
- type: AutoRecharge
|
- type: AutoRecharge
|
||||||
rechargeDuration: 600
|
rechargeDuration: 1200
|
||||||
- type: Action
|
- type: Action
|
||||||
checkCanInteract: false
|
checkCanInteract: false
|
||||||
useDelay: 5
|
useDelay: 10
|
||||||
itemIconStyle: BigAction
|
itemIconStyle: BigAction
|
||||||
priority: -20
|
priority: -20
|
||||||
icon:
|
icon:
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
- type: LimitedCharges
|
- type: LimitedCharges
|
||||||
maxCharges: 3
|
maxCharges: 3
|
||||||
- type: AutoRecharge
|
- type: AutoRecharge
|
||||||
rechargeDuration: 300
|
rechargeDuration: 600
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseImplantAction
|
parent: BaseImplantAction
|
||||||
|
|
|
||||||
|
|
@ -8,3 +8,103 @@
|
||||||
- id: Paper
|
- id: Paper
|
||||||
- id: PenCentcom
|
- id: PenCentcom
|
||||||
- id: RubberStampIAA
|
- id: RubberStampIAA
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponC40Filled
|
||||||
|
parent: BriefcaseWeaponSmall
|
||||||
|
name: secure C-40r case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponSubMachineGunC40rBiocode
|
||||||
|
- id: MagazineBoxPistol40SP
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponSIAR52Filled
|
||||||
|
parent: BriefcaseWeaponSmall
|
||||||
|
name: secure SIAR-52 case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase:
|
||||||
|
id: WeaponSIAR52
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponAJ100Filled
|
||||||
|
parent: BriefcaseWeaponSmall
|
||||||
|
name: secure AJ-100 case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase:
|
||||||
|
id: WeaponAJ100
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponDragunovFilled
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
name: secure dragunov case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponSniperDragunov
|
||||||
|
- id: MagazineDragunovIncendiary
|
||||||
|
- id: MagazineDragunovUranium
|
||||||
|
- id: MagazineDragunov
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponM79Filled
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
name: secure m79 case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponLauncherM79
|
||||||
|
- id: GrenadeFragTimer
|
||||||
|
amount: 2
|
||||||
|
- id: GrenadeEMPTimer
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponSKM24Filled
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
name: secure SKM-24 case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponRifleSKM24Syndi
|
||||||
|
- id: MagazineLightRifleSP
|
||||||
|
amount: 2
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponSKM28Filled
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
name: secure SKM-28 case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponRifleSKM28Syndi
|
||||||
|
- id: MagazineRifleHeavySP
|
||||||
|
amount: 2
|
||||||
|
- id: MagazineRifleHeavyHP
|
||||||
|
- id: MagazineRifleHeavyFMJ
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
id: BriefcaseWeaponMinotaurFilled
|
||||||
|
parent: BriefcaseWeapon
|
||||||
|
name: secure AS-12 case
|
||||||
|
components:
|
||||||
|
- type: EntityTableContainerFill
|
||||||
|
containers:
|
||||||
|
storagebase: !type:AllSelector
|
||||||
|
children:
|
||||||
|
- id: WeaponShotgunMinotaurBiocode
|
||||||
|
- id: MagazineShotgunXL
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
icon: { sprite: _Sunrise/Clothing/Eyes/Glasses/syndie_nvd.rsi, state: icon }
|
icon: { sprite: _Sunrise/Clothing/Eyes/Glasses/syndie_nvd.rsi, state: icon }
|
||||||
productEntity: ClothingEyesNVDSyndicate
|
productEntity: ClothingEyesNVDSyndicate
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 2
|
Telecrystal: 1
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -16,9 +16,9 @@
|
||||||
productEntity: ClothingEyesGlassesThermalChameleon
|
productEntity: ClothingEyesGlassesThermalChameleon
|
||||||
discountCategory: veryRareDiscounts
|
discountCategory: veryRareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 4
|
Telecrystal: 3
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 5
|
Telecrystal: 4
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -46,8 +46,6 @@
|
||||||
id: UplinkAmmoPouch
|
id: UplinkAmmoPouch
|
||||||
icon: { sprite: _RMC14/Objects/Clothing/Pouches/large_ammo_mag.rsi, state: icon }
|
icon: { sprite: _RMC14/Objects/Clothing/Pouches/large_ammo_mag.rsi, state: icon }
|
||||||
productEntity: PouchAmmo
|
productEntity: PouchAmmo
|
||||||
cost:
|
|
||||||
Telecrystal: 1
|
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -84,9 +82,9 @@
|
||||||
productEntity: ThievingGloves
|
productEntity: ThievingGloves
|
||||||
discountCategory: rareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 3
|
Telecrystal: 2
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 4
|
Telecrystal: 3
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -99,7 +97,7 @@
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 4
|
Telecrystal: 4
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 6
|
Telecrystal: 5
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -110,9 +108,9 @@
|
||||||
productEntity: ClothingOuterHardsuitChameleon
|
productEntity: ClothingOuterHardsuitChameleon
|
||||||
discountCategory: rareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 4
|
Telecrystal: 3
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 5
|
Telecrystal: 4
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -122,7 +120,7 @@
|
||||||
description: uplink-objects-power-syndie-powercell-desc
|
description: uplink-objects-power-syndie-powercell-desc
|
||||||
productEntity: PowerCellSyndicate
|
productEntity: PowerCellSyndicate
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 4
|
Telecrystal: 3
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -237,6 +235,60 @@
|
||||||
categories:
|
categories:
|
||||||
- UplinkAmmo
|
- UplinkAmmo
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkMagazineLightRifleSP
|
||||||
|
description: uplink-skm24-ammo-desc
|
||||||
|
productEntity: MagazineLightRifleSP
|
||||||
|
cost:
|
||||||
|
Telecrystal: 2
|
||||||
|
categories:
|
||||||
|
- UplinkAmmo
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkMagazineLightRifleHP
|
||||||
|
description: uplink-skm24-ammo-desc
|
||||||
|
productEntity: MagazineLightRifleHP
|
||||||
|
cost:
|
||||||
|
Telecrystal: 2
|
||||||
|
categories:
|
||||||
|
- UplinkAmmo
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkMagazineLightRifleFMJ
|
||||||
|
description: uplink-skm24-ammo-desc
|
||||||
|
productEntity: MagazineLightRifleFMJ
|
||||||
|
cost:
|
||||||
|
Telecrystal: 2
|
||||||
|
categories:
|
||||||
|
- UplinkAmmo
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkMagazineRifleHeavySP
|
||||||
|
description: uplink-skm28-ammo-desc
|
||||||
|
productEntity: MagazineRifleHeavySP
|
||||||
|
cost:
|
||||||
|
Telecrystal: 3
|
||||||
|
categories:
|
||||||
|
- UplinkAmmo
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkMagazineRifleHeavyHP
|
||||||
|
description: uplink-skm28-ammo-desc
|
||||||
|
productEntity: MagazineRifleHeavyHP
|
||||||
|
cost:
|
||||||
|
Telecrystal: 3
|
||||||
|
categories:
|
||||||
|
- UplinkAmmo
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkMagazineRifleHeavyFMJ
|
||||||
|
description: uplink-skm28-ammo-desc
|
||||||
|
productEntity: MagazineRifleHeavyFMJ
|
||||||
|
cost:
|
||||||
|
Telecrystal: 3
|
||||||
|
categories:
|
||||||
|
- UplinkAmmo
|
||||||
|
|
||||||
# For the LMG
|
# For the LMG
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkMagazineLightRifleBox
|
id: UplinkMagazineLightRifleBox
|
||||||
|
|
@ -463,18 +515,10 @@
|
||||||
description: uplink-magazine-dragunov-desc
|
description: uplink-magazine-dragunov-desc
|
||||||
icon: { sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/Rifle/dragunov_mag.rsi, state: base }
|
icon: { sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/Rifle/dragunov_mag.rsi, state: base }
|
||||||
productEntity: MagazineDragunov
|
productEntity: MagazineDragunov
|
||||||
discountCategory: usualDiscounts
|
|
||||||
discountDownTo:
|
|
||||||
Telecrystal: 1
|
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 2
|
Telecrystal: 1
|
||||||
categories:
|
categories:
|
||||||
- UplinkAmmo
|
- UplinkAmmo
|
||||||
conditions:
|
|
||||||
- !type:StoreWhitelistCondition
|
|
||||||
blacklist:
|
|
||||||
tags:
|
|
||||||
- AssaultOpsUplink
|
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkMagazineDragunovExtended
|
id: UplinkMagazineDragunovExtended
|
||||||
|
|
@ -485,7 +529,7 @@
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 1
|
Telecrystal: 1
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 3
|
Telecrystal: 2
|
||||||
categories:
|
categories:
|
||||||
- UplinkAmmo
|
- UplinkAmmo
|
||||||
conditions:
|
conditions:
|
||||||
|
|
@ -818,6 +862,54 @@
|
||||||
- NukeOpsUplink
|
- NukeOpsUplink
|
||||||
- LoneOpsUplink
|
- LoneOpsUplink
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkSKM24
|
||||||
|
name: uplink-skm24-name
|
||||||
|
productEntity: BriefcaseWeaponSKM24Filled
|
||||||
|
description: uplink-skm24-desc
|
||||||
|
icon: { sprite: _Sunrise/Objects/Weapons/Guns/Rifles/skm24/Syndicate/big.rsi, state: icon }
|
||||||
|
discountCategory: veryRareDiscounts
|
||||||
|
discountDownTo:
|
||||||
|
Telecrystal: 5
|
||||||
|
cost:
|
||||||
|
Telecrystal: 8
|
||||||
|
categories:
|
||||||
|
- UplinkWeaponry
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkSKM28
|
||||||
|
name: uplink-skm28-name
|
||||||
|
productEntity: BriefcaseWeaponSKM28Filled
|
||||||
|
description: uplink-skm28-desc
|
||||||
|
icon: { sprite: _Sunrise/Objects/Weapons/Guns/Rifles/skm28/Syndicate/big.rsi, state: icon }
|
||||||
|
discountCategory: veryRareDiscounts
|
||||||
|
discountDownTo:
|
||||||
|
Telecrystal: 16
|
||||||
|
cost:
|
||||||
|
Telecrystal: 18
|
||||||
|
categories:
|
||||||
|
- UplinkWeaponry
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkAJ100
|
||||||
|
name: uplink-aj100-name
|
||||||
|
productEntity: BriefcaseWeaponAJ100Filled
|
||||||
|
description: uplink-aj100-desc
|
||||||
|
icon: { sprite: _Sunrise/Objects/Weapons/Guns/SMGs/AJ-100.rsi, state: icon }
|
||||||
|
discountCategory: veryRareDiscounts
|
||||||
|
discountDownTo:
|
||||||
|
Telecrystal: 8
|
||||||
|
cost:
|
||||||
|
Telecrystal: 11
|
||||||
|
categories:
|
||||||
|
- UplinkWeaponry
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
blacklist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
- LoneOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkClothingBackpackSyndieAJ100Filled
|
id: UplinkClothingBackpackSyndieAJ100Filled
|
||||||
name: uplink-clothing-backpack-syndie-aj100-name
|
name: uplink-clothing-backpack-syndie-aj100-name
|
||||||
|
|
@ -833,9 +925,10 @@
|
||||||
- UplinkWeaponry
|
- UplinkWeaponry
|
||||||
conditions:
|
conditions:
|
||||||
- !type:StoreWhitelistCondition
|
- !type:StoreWhitelistCondition
|
||||||
blacklist:
|
whitelist:
|
||||||
tags:
|
tags:
|
||||||
- AssaultOpsUplink
|
- NukeOpsUplink
|
||||||
|
- LoneOpsUplink
|
||||||
|
|
||||||
# - type: listing
|
# - type: listing
|
||||||
# id: UplinkWeaponSyndieLaserPistol
|
# id: UplinkWeaponSyndieLaserPistol
|
||||||
|
|
@ -855,6 +948,25 @@
|
||||||
# tags:
|
# tags:
|
||||||
# - AssaultOpsUplink
|
# - AssaultOpsUplink
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkC40R
|
||||||
|
name: uplink-c40r-name
|
||||||
|
description: uplink-c40r-desc
|
||||||
|
icon: { sprite: _Sunrise/Objects/Weapons/Guns/SMGs/c40r.rsi, state: icon }
|
||||||
|
productEntity: BriefcaseWeaponC40Filled
|
||||||
|
discountCategory: veryRareDiscounts
|
||||||
|
discountDownTo:
|
||||||
|
Telecrystal: 8
|
||||||
|
cost:
|
||||||
|
Telecrystal: 10
|
||||||
|
categories:
|
||||||
|
- UplinkWeaponry
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
blacklist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkC40RBundle
|
id: UplinkC40RBundle
|
||||||
name: uplink-c40r-bundle-name
|
name: uplink-c40r-bundle-name
|
||||||
|
|
@ -868,13 +980,12 @@
|
||||||
Telecrystal: 17
|
Telecrystal: 17
|
||||||
categories:
|
categories:
|
||||||
- UplinkWeaponry
|
- UplinkWeaponry
|
||||||
#Sunrise-start
|
|
||||||
conditions:
|
conditions:
|
||||||
- !type:StoreWhitelistCondition
|
- !type:StoreWhitelistCondition
|
||||||
blacklist:
|
whitelist:
|
||||||
tags:
|
tags:
|
||||||
- AssaultOpsUplink
|
- NukeOpsUplink
|
||||||
#Sunrise-end
|
- LoneOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkClothingBackpackSyndieDL6902Filled
|
id: UplinkClothingBackpackSyndieDL6902Filled
|
||||||
|
|
@ -915,6 +1026,26 @@
|
||||||
- NukeOpsUplink
|
- NukeOpsUplink
|
||||||
- LoneOpsUplink
|
- LoneOpsUplink
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkSIAR52
|
||||||
|
name: uplink-siar52-name
|
||||||
|
productEntity: BriefcaseWeaponSIAR52Filled
|
||||||
|
description: uplink-siar52-desc
|
||||||
|
icon: { sprite: _Sunrise/Objects/Weapons/Guns/SMGs/IAR-52.rsi, state: icon }
|
||||||
|
discountCategory: veryRareDiscounts
|
||||||
|
discountDownTo:
|
||||||
|
Telecrystal: 8
|
||||||
|
cost:
|
||||||
|
Telecrystal: 9
|
||||||
|
categories:
|
||||||
|
- UplinkWeaponry
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
blacklist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
- LoneOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkClothingBackpackSyndieSIAR52Filled
|
id: UplinkClothingBackpackSyndieSIAR52Filled
|
||||||
name: uplink-clothing-backpack-syndie-siar52-name
|
name: uplink-clothing-backpack-syndie-siar52-name
|
||||||
|
|
@ -928,6 +1059,12 @@
|
||||||
Telecrystal: 18
|
Telecrystal: 18
|
||||||
categories:
|
categories:
|
||||||
- UplinkWeaponry
|
- UplinkWeaponry
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
whitelist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
- LoneOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkWeaponLaserMinigun
|
id: UplinkWeaponLaserMinigun
|
||||||
|
|
@ -970,20 +1107,16 @@
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkWeaponDragunov
|
id: UplinkWeaponDragunov
|
||||||
name: uplink-weapon-ussp-dmr-name
|
name: uplink-weapon-ussp-dmr-name
|
||||||
productEntity: CrateAmmunitionSmallDragunov
|
description: uplink-weapon-ussp-dmr-desc
|
||||||
|
productEntity: BriefcaseWeaponDragunovFilled
|
||||||
icon: { sprite: _Sunrise/Objects/Weapons/Guns/Snipers/dragunov/big.rsi, state: icon }
|
icon: { sprite: _Sunrise/Objects/Weapons/Guns/Snipers/dragunov/big.rsi, state: icon }
|
||||||
discountCategory: veryRareDiscounts
|
discountCategory: veryRareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 13
|
Telecrystal: 10
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 16
|
Telecrystal: 12
|
||||||
categories:
|
categories:
|
||||||
- UplinkWeaponry
|
- UplinkWeaponry
|
||||||
conditions:
|
|
||||||
- !type:StoreWhitelistCondition
|
|
||||||
blacklist:
|
|
||||||
tags:
|
|
||||||
- AssaultOpsUplink
|
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkWeaponBauer127
|
id: UplinkWeaponBauer127
|
||||||
|
|
@ -1055,9 +1188,9 @@
|
||||||
productEntity: ClothingBackpackDuffelSyndicateFilledInfiltration
|
productEntity: ClothingBackpackDuffelSyndicateFilledInfiltration
|
||||||
discountCategory: rareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 8
|
Telecrystal: 7
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 14
|
Telecrystal: 9
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
restockTime: 1800
|
restockTime: 1800
|
||||||
|
|
@ -1067,6 +1200,7 @@
|
||||||
tags:
|
tags:
|
||||||
- NukeOpsUplink
|
- NukeOpsUplink
|
||||||
- LoneOpsUplink
|
- LoneOpsUplink
|
||||||
|
- AssaultOpsUplink
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkHardsuitSyndieMedic
|
id: UplinkHardsuitSyndieMedic
|
||||||
|
|
@ -1303,7 +1437,6 @@
|
||||||
- !type:ListingLimitedStockCondition
|
- !type:ListingLimitedStockCondition
|
||||||
stock: 2
|
stock: 2
|
||||||
|
|
||||||
#Sunrise-start
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkCoalAutoInjector
|
id: UplinkCoalAutoInjector
|
||||||
name: uplink-coal-auto-injector-name
|
name: uplink-coal-auto-injector-name
|
||||||
|
|
@ -1329,9 +1462,9 @@
|
||||||
productEntity: CoalpenKitFilled
|
productEntity: CoalpenKitFilled
|
||||||
discountCategory: rareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 4
|
Telecrystal: 3
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 6
|
Telecrystal: 5
|
||||||
categories:
|
categories:
|
||||||
- UplinkChemicals
|
- UplinkChemicals
|
||||||
conditions:
|
conditions:
|
||||||
|
|
@ -1341,7 +1474,6 @@
|
||||||
- NukeOpsUplink
|
- NukeOpsUplink
|
||||||
- LoneOpsUplink
|
- LoneOpsUplink
|
||||||
- AssaultOpsUplink
|
- AssaultOpsUplink
|
||||||
#Sunrise-end
|
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: UplinkSyndicateRapier
|
id: UplinkSyndicateRapier
|
||||||
|
|
@ -1797,11 +1929,11 @@
|
||||||
name: uplink-clothing-glasses-nvg-name
|
name: uplink-clothing-glasses-nvg-name
|
||||||
description: uplink-clothing-glasses-nvg-desc
|
description: uplink-clothing-glasses-nvg-desc
|
||||||
productEntity: ClothingEyesGlassesNVG
|
productEntity: ClothingEyesGlassesNVG
|
||||||
discountCategory: veryRareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 3
|
Telecrystal: 1
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 4
|
Telecrystal: 2
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
|
|
||||||
|
|
@ -1812,9 +1944,9 @@
|
||||||
productEntity: EnergyDomeGeneratorPersonalSyndieBiocode
|
productEntity: EnergyDomeGeneratorPersonalSyndieBiocode
|
||||||
discountCategory: rareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 8
|
Telecrystal: 5
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 10
|
Telecrystal: 6
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
conditions:
|
conditions:
|
||||||
|
|
@ -1830,9 +1962,9 @@
|
||||||
productEntity: EnergyDomeGeneratorBackpackSyndieBiocode
|
productEntity: EnergyDomeGeneratorBackpackSyndieBiocode
|
||||||
discountCategory: rareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 7
|
Telecrystal: 5
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 10
|
Telecrystal: 6
|
||||||
categories:
|
categories:
|
||||||
- UplinkDisruption
|
- UplinkDisruption
|
||||||
conditions:
|
conditions:
|
||||||
|
|
@ -1868,29 +2000,6 @@
|
||||||
components:
|
components:
|
||||||
- SurplusBundle
|
- SurplusBundle
|
||||||
|
|
||||||
- type: listing
|
|
||||||
id: UplinkSuperSurplusBundleNuke
|
|
||||||
name: uplink-super-surplus-bundle-name
|
|
||||||
description: uplink-super-surplus-bundle-desc
|
|
||||||
productEntity: CrateSyndicateSuperSurplusBundleNuke
|
|
||||||
discountCategory: veryRareDiscounts
|
|
||||||
discountDownTo:
|
|
||||||
Telecrystal: 20
|
|
||||||
cost:
|
|
||||||
Telecrystal: 40
|
|
||||||
categories:
|
|
||||||
- UplinkLootBoxes
|
|
||||||
conditions:
|
|
||||||
- !type:StoreWhitelistCondition
|
|
||||||
whitelist:
|
|
||||||
tags:
|
|
||||||
- NukeOpsUplink
|
|
||||||
- LoneOpsUplink
|
|
||||||
- !type:BuyerWhitelistCondition
|
|
||||||
blacklist:
|
|
||||||
components:
|
|
||||||
- SurplusBundle
|
|
||||||
|
|
||||||
# Implats
|
# Implats
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
|
|
@ -1903,7 +2012,7 @@
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 1
|
Telecrystal: 1
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 3
|
Telecrystal: 2
|
||||||
categories:
|
categories:
|
||||||
- UplinkImplants
|
- UplinkImplants
|
||||||
|
|
||||||
|
|
@ -1913,11 +2022,8 @@
|
||||||
description: uplink-scram-implanter-proto-desc
|
description: uplink-scram-implanter-proto-desc
|
||||||
icon: { sprite: /Textures/Structures/Specific/anomaly.rsi, state: anom4 }
|
icon: { sprite: /Textures/Structures/Specific/anomaly.rsi, state: anom4 }
|
||||||
productEntity: ScramImplanterProto
|
productEntity: ScramImplanterProto
|
||||||
discountCategory: rareDiscounts
|
|
||||||
discountDownTo:
|
|
||||||
Telecrystal: 1
|
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 3
|
Telecrystal: 1
|
||||||
categories:
|
categories:
|
||||||
- UplinkImplants
|
- UplinkImplants
|
||||||
|
|
||||||
|
|
@ -1927,11 +2033,15 @@
|
||||||
description: uplink-creepy-laugh-implanter-desc
|
description: uplink-creepy-laugh-implanter-desc
|
||||||
icon: { sprite: Clothing/Mask/gassyndicate.rsi, state: icon }
|
icon: { sprite: Clothing/Mask/gassyndicate.rsi, state: icon }
|
||||||
productEntity: CreepyLaughImplanter
|
productEntity: CreepyLaughImplanter
|
||||||
cost:
|
|
||||||
Telecrystal: 1
|
|
||||||
categories:
|
categories:
|
||||||
- UplinkImplants
|
- UplinkImplants
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
whitelist:
|
||||||
|
tags:
|
||||||
|
- SyndieAgentUplink
|
||||||
|
- !type:ListingLimitedStockCondition
|
||||||
|
stock: 1
|
||||||
# Jobs
|
# Jobs
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
|
|
@ -1972,9 +2082,9 @@
|
||||||
productEntity: SyndyClusterGrenade
|
productEntity: SyndyClusterGrenade
|
||||||
discountCategory: veryRareDiscounts
|
discountCategory: veryRareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 5
|
Telecrystal: 4
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 10
|
Telecrystal: 7
|
||||||
categories:
|
categories:
|
||||||
- UplinkExplosives
|
- UplinkExplosives
|
||||||
|
|
||||||
|
|
@ -2238,46 +2348,6 @@
|
||||||
tags:
|
tags:
|
||||||
- AssaultOpsUplink
|
- AssaultOpsUplink
|
||||||
|
|
||||||
- type: listing
|
|
||||||
id: UplinkSyndicateCircuitBoard
|
|
||||||
name: uplink-syndicate-law-name
|
|
||||||
description: uplink-syndicate-law-desc
|
|
||||||
productEntity: SyndicateCircuitBoard
|
|
||||||
discountCategory: usualDiscounts
|
|
||||||
discountDownTo:
|
|
||||||
Telecrystal: 4
|
|
||||||
cost:
|
|
||||||
Telecrystal: 8
|
|
||||||
categories:
|
|
||||||
- UplinkDisruption
|
|
||||||
conditions:
|
|
||||||
- !type:StoreWhitelistCondition
|
|
||||||
blacklist:
|
|
||||||
tags:
|
|
||||||
- NukeOpsUplink
|
|
||||||
- LoneOpsUplink
|
|
||||||
|
|
||||||
- type: listing
|
|
||||||
id: UplinkEshieldNukies
|
|
||||||
name: uplink-eshield-name
|
|
||||||
description: uplink-eshield-desc
|
|
||||||
icon: { sprite: Objects/Weapons/Melee/e_shield.rsi, state: eshield-on }
|
|
||||||
productEntity: EnergyShieldBiocode
|
|
||||||
discountCategory: veryRareDiscounts
|
|
||||||
discountDownTo:
|
|
||||||
Telecrystal: 5
|
|
||||||
cost:
|
|
||||||
Telecrystal: 9
|
|
||||||
categories:
|
|
||||||
- UplinkWeaponry
|
|
||||||
conditions:
|
|
||||||
- !type:StoreWhitelistCondition
|
|
||||||
whitelist:
|
|
||||||
tags:
|
|
||||||
- NukeOpsUplink
|
|
||||||
- LoneOpsUplink
|
|
||||||
|
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: uplinkWeaponMiniEnergyCrossbow
|
id: uplinkWeaponMiniEnergyCrossbow
|
||||||
name: uplink-mini-energy-crossbow-name
|
name: uplink-mini-energy-crossbow-name
|
||||||
|
|
@ -2298,6 +2368,30 @@
|
||||||
id: uplinkWeaponShotgunMinotaur
|
id: uplinkWeaponShotgunMinotaur
|
||||||
name: uplink-minotaur-name
|
name: uplink-minotaur-name
|
||||||
description: uplink-minotaur-desc
|
description: uplink-minotaur-desc
|
||||||
|
productEntity: BriefcaseWeaponMinotaurFilled
|
||||||
|
icon:
|
||||||
|
{
|
||||||
|
sprite: _Starlight/Objects/Weapons/Guns/Shotguns/minotaur.rsi,
|
||||||
|
state: icon,
|
||||||
|
}
|
||||||
|
discountCategory: rareDiscounts
|
||||||
|
discountDownTo:
|
||||||
|
Telecrystal: 12
|
||||||
|
cost:
|
||||||
|
Telecrystal: 15
|
||||||
|
categories:
|
||||||
|
- UplinkWeaponry
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
blacklist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
- LoneOpsUplink
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: uplinkWeaponShotgunMinotaurBundle
|
||||||
|
name: uplink-minotaur-bundle-name
|
||||||
|
description: uplink-minotaur-bundle-desc
|
||||||
productEntity: ClothingBackpackDuffelSyndicateFilledMinotaurShotgun
|
productEntity: ClothingBackpackDuffelSyndicateFilledMinotaurShotgun
|
||||||
icon:
|
icon:
|
||||||
{
|
{
|
||||||
|
|
@ -2349,6 +2443,27 @@
|
||||||
name: uplink-grenade-launcher-m79-name
|
name: uplink-grenade-launcher-m79-name
|
||||||
description: uplink-grenade-launcher-m79-desc
|
description: uplink-grenade-launcher-m79-desc
|
||||||
icon: { sprite: _RMC14/Objects/Weapons/Guns/Launchers/m79/big.rsi, state: base }
|
icon: { sprite: _RMC14/Objects/Weapons/Guns/Launchers/m79/big.rsi, state: base }
|
||||||
|
productEntity: BriefcaseWeaponM79Filled
|
||||||
|
discountCategory: veryRareDiscounts
|
||||||
|
discountDownTo:
|
||||||
|
Telecrystal: 10 # Good morning Vietnam!
|
||||||
|
cost:
|
||||||
|
Telecrystal: 14
|
||||||
|
categories:
|
||||||
|
- UplinkWeaponry
|
||||||
|
conditions:
|
||||||
|
- !type:StoreWhitelistCondition
|
||||||
|
blacklist:
|
||||||
|
tags:
|
||||||
|
- NukeOpsUplink
|
||||||
|
- LoneOpsUplink
|
||||||
|
- AssaultOpsUplink
|
||||||
|
|
||||||
|
- type: listing
|
||||||
|
id: UplinkGrenadeLauncherM79Bundle
|
||||||
|
name: uplink-grenade-launcher-m79-bundle-name
|
||||||
|
description: uplink-grenade-launcher-m79-bundle-desc
|
||||||
|
icon: { sprite: _RMC14/Objects/Weapons/Guns/Launchers/m79/big.rsi, state: base }
|
||||||
productEntity: ClothingBackpackDuffelSyndicateFilledGrenadeLauncherM79
|
productEntity: ClothingBackpackDuffelSyndicateFilledGrenadeLauncherM79
|
||||||
discountCategory: veryRareDiscounts
|
discountCategory: veryRareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
|
|
@ -2414,9 +2529,9 @@
|
||||||
}
|
}
|
||||||
productEntity: CyberEyeThermalBox
|
productEntity: CyberEyeThermalBox
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 4
|
Telecrystal: 3
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 7
|
Telecrystal: 6
|
||||||
categories:
|
categories:
|
||||||
- UplinkCybernetics
|
- UplinkCybernetics
|
||||||
|
|
||||||
|
|
@ -2432,9 +2547,9 @@
|
||||||
productEntity: MantisBladeArmsKit
|
productEntity: MantisBladeArmsKit
|
||||||
discountCategory: rareDiscounts
|
discountCategory: rareDiscounts
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 8
|
Telecrystal: 6
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 10
|
Telecrystal: 8
|
||||||
categories:
|
categories:
|
||||||
- UplinkCybernetics
|
- UplinkCybernetics
|
||||||
|
|
||||||
|
|
@ -2674,7 +2789,7 @@
|
||||||
discountDownTo:
|
discountDownTo:
|
||||||
Telecrystal: 1
|
Telecrystal: 1
|
||||||
cost:
|
cost:
|
||||||
Telecrystal: 3
|
Telecrystal: 2
|
||||||
categories:
|
categories:
|
||||||
- UplinkWearables
|
- UplinkWearables
|
||||||
conditions:
|
conditions:
|
||||||
|
|
@ -2713,16 +2828,6 @@
|
||||||
categories:
|
categories:
|
||||||
- UplinkPointless
|
- UplinkPointless
|
||||||
|
|
||||||
- type: listing
|
|
||||||
id: UplinkPistolTec9Magazine
|
|
||||||
name: uplink-pistoltec9-magazine-name
|
|
||||||
description: uplink-pistoltec9-magazine-desc
|
|
||||||
productEntity: MagazinePistolSubMachineGunCaseless
|
|
||||||
cost:
|
|
||||||
Telecrystal: 2
|
|
||||||
categories:
|
|
||||||
- UplinkAmmo
|
|
||||||
|
|
||||||
- type: listing
|
- type: listing
|
||||||
id: uplinkWeaponPistolTec9
|
id: uplinkWeaponPistolTec9
|
||||||
name: uplink-pistoltec9-name
|
name: uplink-pistoltec9-name
|
||||||
|
|
|
||||||
|
|
@ -200,6 +200,11 @@
|
||||||
cell_slot:
|
cell_slot:
|
||||||
name: power-cell-slot-component-slot-name-default
|
name: power-cell-slot-component-slot-name-default
|
||||||
startingItem: PowerCellHigh
|
startingItem: PowerCellHigh
|
||||||
|
- type: PowerCellSlot
|
||||||
|
cellSlotId: cell_slot
|
||||||
|
- type: ContainerContainer
|
||||||
|
containers:
|
||||||
|
cell_slot: !type:ContainerSlot
|
||||||
- type: ToggleClothing
|
- type: ToggleClothing
|
||||||
action: ActionToggleThermalVision
|
action: ActionToggleThermalVision
|
||||||
disableOnUnequip: true
|
disableOnUnequip: true
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@
|
||||||
- HappyHonkNukie
|
- HappyHonkNukie
|
||||||
- LanternFlash
|
- LanternFlash
|
||||||
- CyberPen
|
- CyberPen
|
||||||
- ClothingHandsGlovesBoxingRigged
|
- GlovesBoxingRiggedRandomSpawner
|
||||||
- ClothingMaskGasSyndicate
|
- ClothingMaskGasSyndicate
|
||||||
- RubberStampSyndicate
|
- RubberStampSyndicate
|
||||||
- SoapSyndie
|
- SoapSyndie
|
||||||
|
|
|
||||||
|
|
@ -117,12 +117,12 @@
|
||||||
- type: entity
|
- type: entity
|
||||||
id: WeaponMechCombatPirateMachineCannon
|
id: WeaponMechCombatPirateMachineCannon
|
||||||
name: Mounted Pirate Machine Cannon
|
name: Mounted Pirate Machine Cannon
|
||||||
description: An ancient heavy gun given new life as a mech-mounted gun
|
description: A unique strange gun given new life as a mech-mounted gun
|
||||||
suffix: Mech Weapon, Gun, Combat, Pirate
|
suffix: Mech Weapon, Gun, Combat, Pirate
|
||||||
parent: [ BaseMechWeaponRange, CombatMechEquipment ]
|
parent: [ BaseMechWeaponRange, CombatMechEquipment ]
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: _Sunrise/Objects/Specific/Mech/mecha_piratecannon.rsi
|
sprite: _Sunrise/Objects/Specific/Mech/mecha_piratecannon_auto.rsi
|
||||||
state: mecha_piratecannon
|
state: mecha_piratecannon
|
||||||
- type: Item
|
- type: Item
|
||||||
sprite: _Sunrise/Objects/Weapons/Guns/LMGs/piratecannon_inhands_64x.rsi
|
sprite: _Sunrise/Objects/Weapons/Guns/LMGs/piratecannon_inhands_64x.rsi
|
||||||
|
|
|
||||||
|
|
@ -359,6 +359,10 @@
|
||||||
pilotWhitelist:
|
pilotWhitelist:
|
||||||
components:
|
components:
|
||||||
- HumanoidAppearance
|
- HumanoidAppearance
|
||||||
|
equipmentWhitelist:
|
||||||
|
tags:
|
||||||
|
- IndustrialMech
|
||||||
|
- CombatMech
|
||||||
- type: MeleeThrowOnHit
|
- type: MeleeThrowOnHit
|
||||||
distance: 1
|
distance: 1
|
||||||
speed: 8
|
speed: 8
|
||||||
|
|
|
||||||
|
|
@ -4,25 +4,8 @@
|
||||||
components:
|
components:
|
||||||
- type: BallisticAmmoProvider
|
- type: BallisticAmmoProvider
|
||||||
capacity: 20
|
capacity: 20
|
||||||
|
|
||||||
- type: entity
|
|
||||||
parent: BaseMagazinePistolCaselessRifleExtended
|
|
||||||
id: MagazinePistolSubMachineGunCaseless
|
|
||||||
name: Tec9Magazine
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: _Sunrise/Objects/Weapons/Guns/Ammunition/Magazines/mp38.rsi
|
scale: 1,1.15
|
||||||
scale: 0.90, 0.70
|
|
||||||
layers:
|
|
||||||
- state: base
|
|
||||||
map: ["enum.GunVisualLayers.Base"]
|
|
||||||
- state: mag-1
|
|
||||||
map: ["enum.GunVisualLayers.Mag"]
|
|
||||||
- type: MagazineVisuals
|
|
||||||
magState: mag
|
|
||||||
steps: 2
|
|
||||||
zeroVisible: false
|
|
||||||
- type: Appearance
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: MagazinePistolSubMachineGunCaselessExtended
|
id: MagazinePistolSubMachineGunCaselessExtended
|
||||||
|
|
|
||||||
|
|
@ -40,16 +40,16 @@
|
||||||
soundGunshot:
|
soundGunshot:
|
||||||
path: /Audio/Weapons/Guns/Gunshots/pistol.ogg
|
path: /Audio/Weapons/Guns/Gunshots/pistol.ogg
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
angle: 60
|
wideAnimationRotation: 0
|
||||||
range: 0.9
|
range: 0.95
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Blunt: 8
|
Blunt: 8
|
||||||
bluntStaminaDamageFactor: 2.0
|
bluntStaminaDamageFactor: 2.0
|
||||||
attackRate: 1
|
soundHit:
|
||||||
autoAttack: false
|
collection: MetalThud
|
||||||
- type: AltFireMelee
|
- type: AltFireMelee
|
||||||
attackType: Light
|
attackType: Heavy
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: combat pistol VP-70
|
name: combat pistol VP-70
|
||||||
|
|
@ -374,11 +374,11 @@
|
||||||
- type: Item
|
- type: Item
|
||||||
sprite: _Sunrise/Objects/Weapons/Guns/Pistols/deagle/tiny.rsi
|
sprite: _Sunrise/Objects/Weapons/Guns/Pistols/deagle/tiny.rsi
|
||||||
- type: Gun
|
- type: Gun
|
||||||
minAngle: 3.5
|
minAngle: 1
|
||||||
maxAngle: 15
|
maxAngle: 20
|
||||||
angleIncrease: 5
|
angleIncrease: 7
|
||||||
angleDecay: 10
|
angleDecay: 10
|
||||||
fireRate: 5
|
fireRate: 4 # 140 dps - 105 for mateba
|
||||||
availableModes:
|
availableModes:
|
||||||
- SemiAuto
|
- SemiAuto
|
||||||
soundGunshot:
|
soundGunshot:
|
||||||
|
|
@ -475,17 +475,6 @@
|
||||||
- type: EyeCursorOffset
|
- type: EyeCursorOffset
|
||||||
maxOffset: 2.5
|
maxOffset: 2.5
|
||||||
pvsIncrease: 0.25
|
pvsIncrease: 0.25
|
||||||
# - type: MeleeWeapon
|
|
||||||
# angle: 60
|
|
||||||
# range: 0.9
|
|
||||||
# damage:
|
|
||||||
# types:
|
|
||||||
# Blunt: 10
|
|
||||||
# bluntStaminaDamageFactor: 2.0
|
|
||||||
# attackRate: 1
|
|
||||||
# autoAttack: false
|
|
||||||
# - type: AltFireMelee
|
|
||||||
# attackType: Light
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: WeaponRevolverSpearhead
|
parent: WeaponRevolverSpearhead
|
||||||
|
|
@ -551,7 +540,7 @@
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
sprite: _Sunrise/Objects/Weapons/Guns/Pistols/tec9tactical/big.rsi
|
sprite: _Sunrise/Objects/Weapons/Guns/Pistols/tec9tactical/big.rsi
|
||||||
scale: 0.63, 0.63
|
scale: 0.65, 0.65
|
||||||
- type: Item
|
- type: Item
|
||||||
sprite: _Sunrise/Objects/Weapons/Guns/Pistols/tec9tactical/tiny.rsi
|
sprite: _Sunrise/Objects/Weapons/Guns/Pistols/tec9tactical/tiny.rsi
|
||||||
- type: ChamberMagazineAmmoProvider
|
- type: ChamberMagazineAmmoProvider
|
||||||
|
|
@ -566,7 +555,7 @@
|
||||||
slots:
|
slots:
|
||||||
gun_magazine:
|
gun_magazine:
|
||||||
name: Magazine
|
name: Magazine
|
||||||
startingItem: MagazinePistolSubMachineGunCaseless
|
startingItem: BaseMagazinePistolCaselessRifleExtended
|
||||||
insertSound: /Audio/Weapons/Guns/MagIn/pistol_magin.ogg
|
insertSound: /Audio/Weapons/Guns/MagIn/pistol_magin.ogg
|
||||||
ejectSound: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg
|
ejectSound: /Audio/Weapons/Guns/MagOut/pistol_magout.ogg
|
||||||
priority: 1
|
priority: 1
|
||||||
|
|
|
||||||
|
|
@ -422,31 +422,6 @@
|
||||||
- type: TimedDespawn
|
- type: TimedDespawn
|
||||||
lifetime: 3
|
lifetime: 3
|
||||||
|
|
||||||
- type: entity
|
|
||||||
id: BulletEMPGrenade
|
|
||||||
name: emp grenade
|
|
||||||
parent: BulletGrenadeEMPTimer
|
|
||||||
categories: [ HideSpawnMenu ]
|
|
||||||
components:
|
|
||||||
- type: Sprite
|
|
||||||
sprite: Objects/Weapons/Grenades/empgrenade.rsi
|
|
||||||
layers:
|
|
||||||
- state: primed
|
|
||||||
- type: EmitSoundOnSpawn
|
|
||||||
sound:
|
|
||||||
path: /Audio/Effects/countdown.ogg
|
|
||||||
- type: EmpOnTrigger
|
|
||||||
keysIn:
|
|
||||||
- timer
|
|
||||||
range: 11
|
|
||||||
energyConsumption: 50000
|
|
||||||
disableDuration: 60
|
|
||||||
- type: Ammo
|
|
||||||
muzzleFlash: null
|
|
||||||
- type: DeleteOnTrigger
|
|
||||||
keysIn:
|
|
||||||
- timer
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
id: BulletAirGrenade
|
id: BulletAirGrenade
|
||||||
parent: BaseBulletGrenade
|
parent: BaseBulletGrenade
|
||||||
|
|
|
||||||
|
|
@ -521,6 +521,7 @@
|
||||||
- MagazineRifle
|
- MagazineRifle
|
||||||
- MagazineLightRifle
|
- MagazineLightRifle
|
||||||
- MagazinePistolDPSubMachineGun
|
- MagazinePistolDPSubMachineGun
|
||||||
|
- MagazinePistolDP
|
||||||
gun_chamber:
|
gun_chamber:
|
||||||
name: Chamber
|
name: Chamber
|
||||||
startingItem: CartridgePistolSP
|
startingItem: CartridgePistolSP
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@
|
||||||
map: ["enum.TriggerVisualLayers.Base"]
|
map: ["enum.TriggerVisualLayers.Base"]
|
||||||
- type: ScatteringGrenade
|
- type: ScatteringGrenade
|
||||||
fillPrototype: SyndieMiniBomb
|
fillPrototype: SyndieMiniBomb
|
||||||
distance: 4
|
distance: 1
|
||||||
capacity: 3
|
capacity: 3
|
||||||
- type: TimerTrigger
|
- type: TimerTrigger
|
||||||
beepSound:
|
beepSound:
|
||||||
|
|
|
||||||
|
|
@ -23,15 +23,15 @@
|
||||||
useKey: true
|
useKey: true
|
||||||
selectedMode: SemiAuto
|
selectedMode: SemiAuto
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
angle: 60
|
wideAnimationRotation: 0
|
||||||
range: 1.5
|
range: 1
|
||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Blunt: 8
|
Blunt: 8
|
||||||
Structural: 2
|
Structural: 2
|
||||||
bluntStaminaDamageFactor: 2.0
|
bluntStaminaDamageFactor: 2.0
|
||||||
attackRate: 1.25
|
soundHit:
|
||||||
autoAttack: false
|
collection: MetalThud
|
||||||
- type: AltFireMelee
|
- type: AltFireMelee
|
||||||
attackType: Heavy
|
attackType: Heavy
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@
|
||||||
- ImplanterExtractor
|
- ImplanterExtractor
|
||||||
- DefibrillatorCompact
|
- DefibrillatorCompact
|
||||||
- AdvancedDefibrillatorCompact
|
- AdvancedDefibrillatorCompact
|
||||||
|
- DnaInjector
|
||||||
|
|
||||||
- type: latheRecipePack
|
- type: latheRecipePack
|
||||||
id: SurgeryDynamicSunrise
|
id: SurgeryDynamicSunrise
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Made by SlamBamActionMan (github)",
|
||||||
|
"size": {
|
||||||
|
"x": 32,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "inhand-left",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "inhand-right",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icon"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "locked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "unlocked"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "icon-open"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 5.7 KiB |
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue