Compare commits

...

37 Commits

Author SHA1 Message Date
Redrover1760 4e6706c3bb Merge branch 'main' of https://github.com/Monolith-Station/Monolith into hardsuitng 2026-03-25 00:18:51 -04:00
monolith8319 e41ef48441 Automated Changelog (#3556) 2026-03-25 04:12:58 +00:00
Redrover1760 27e7b2f70a Research Client Fix (#3556) 2026-03-25 00:12:27 -04:00
monolith8319 2bd317dadb Automated Changelog (#3551) 2026-03-25 00:09:05 +00:00
Maxim Bychkov 1145822797 Fix Voidboots Ability To Lie In Space (#3551) 2026-03-24 20:08:36 -04:00
monolith8319 27dca32ef3 Automated Changelog (#3260) 2026-03-24 23:42:18 +00:00
Avalon 4bdad8f6ee Ullman Coat 2 Electric Boogaloo (#3260)
Co-authored-by: Redrover1760 <39284090+Redrover1760@users.noreply.github.com>
2026-03-24 19:41:50 -04:00
monolith8319 38ebc2699c Automated Changelog (#3552) 2026-03-24 19:54:37 +00:00
Ilya246 82f75ff37f Nerf Big Ame (#3552) 2026-03-24 19:54:07 +00:00
Maxim Bychkov c84cde54cb Fix Map Painter (#3544) 2026-03-24 19:28:05 +00:00
monolith8319 f0c6624762 Automated Changelog (#3550) 2026-03-24 19:01:03 +00:00
Ilya246 277ad91140 Bugfixes (#3550) 2026-03-24 19:00:31 +00:00
monolith8319 b9419b25a1 Automated Changelog (#3155) 2026-03-24 15:08:01 +00:00
gelliii e1a5488f14 New Scrap Ship - Horsefly (#3155) 2026-03-24 16:07:30 +01:00
Redrover1760 d9b46ca6dc Update README.md 2026-03-24 09:15:30 -04:00
tonotom1 a672e9bd28 Revert "Cable Destruction Lag Reduction" (#3532) 2026-03-24 08:18:13 -04:00
monolith8319 2a5fe8fe6a Automated Changelog (#3548) 2026-03-24 12:07:19 +00:00
Redrover1760 e069f2ba9d Makes Printed Contraband Worth Things Again (#3548) 2026-03-24 08:06:49 -04:00
monolith8319 db3675b3e8 Automated Changelog (#3549) 2026-03-24 11:45:08 +00:00
chuga-git 79bf0fec68 Buffs MARAUDER Projectile Speed (#3549) 2026-03-24 07:44:39 -04:00
monolith8319 41b3fb9113 Automated Changelog (#3543) 2026-03-23 17:24:06 +00:00
Redrover1760 7cd749dfa6 Datafarm Fixes (#3543) 2026-03-23 13:23:36 -04:00
monolith8319 eb44deeeda Automated Changelog (#3534) 2026-03-23 06:05:19 +00:00
Redrover1760 7035e752a9 Majorly Buffs Part Wound Tending (#3534) 2026-03-23 02:04:49 -04:00
monolith8319 2fdd1cd573 Automated Changelog (#3381) 2026-03-23 04:08:14 +00:00
Kiithnaras 6c4101e0c0 Added Roofing and Emergency Lighting to Comet (#3381) 2026-03-23 00:00:28 -04:00
monolith8319 5f90433697 Automated Changelog (#3536) 2026-03-23 03:42:43 +00:00
Redrover1760 9f54374593 Research Datafarm Fix (#3536) 2026-03-22 23:42:15 -04:00
monolith8319 5272291275 Automated Changelog (#3533) 2026-03-22 23:23:01 +00:00
Redrover1760 4a0f4cec3a Buffed Chems and Surgery Part Healing/Damage (#3533) 2026-03-22 19:22:33 -04:00
monolith8319 5d68716090 Automated Changelog (#3530) 2026-03-22 22:54:38 +00:00
Redrover1760 a4b1a5317c People No Longer Thermal Regulate While Dead, Hydrakin Do Not While Crit Either (#3530) 2026-03-22 18:54:10 -04:00
monolith8319 ee48853724 Automated Changelog (#3520) 2026-03-22 22:41:50 +00:00
tonotom1 a8651f6457 Cable Destruction Lag Reduction (#3520) 2026-03-22 18:41:10 -04:00
Redrover1760 1feed16a6e final m86 tweaks 2026-03-03 00:11:26 -05:00
Redrover1760 85c4a6b41b viper suit buffs 2026-03-03 00:01:25 -05:00
Redrover1760 059e30ac23 makes m86 usable 2026-03-02 23:59:23 -05:00
43 changed files with 1946 additions and 53 deletions
@@ -39,6 +39,8 @@ namespace Content.MapRenderer.Painters
// Seriously whoever made MapPainter use GameMapPrototype I wish you step on a lego one time.
Map = map,
});
pair.ServerLogHandler.FailureLevel = LogLevel.Fatal;
pair.ClientLogHandler.FailureLevel = LogLevel.Fatal;
await foreach (var image in RenderPair(stopwatch, pair))
yield return image;
@@ -56,6 +58,8 @@ namespace Content.MapRenderer.Painters
Connected = true,
Fresh = false,
});
pair.ServerLogHandler.FailureLevel = LogLevel.Fatal;
pair.ClientLogHandler.FailureLevel = LogLevel.Fatal;
var server = pair.Server;
var client = pair.Client;
@@ -69,6 +73,14 @@ namespace Content.MapRenderer.Painters
foreach (var grid in sMapManager.GetAllGrids(mapId))
sEntityManager.QueueDeleteEntity(grid);
});
await pair.RunTicksSync(10);
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
await server.WaitPost(() =>
{
var mapId = sEntityManager.System<GameTicker>().DefaultMap;
try
{
+1 -1
View File
@@ -178,7 +178,7 @@ public sealed class AmeNodeGroup : BaseNodeGroup
// return MathF.Max(200000f * MathF.Log10(2 * fuel * MathF.Pow(cores, (float)-0.5)), 0); // Frontier: preferring old calculation for now
// return 200000f * MathF.Log10(fuel * fuel) * MathF.Pow(0.75f, cores - 1); // Frontier: preferring old calculation for now
if (cores > 0 && fuel > 0) // Mono - default zero power unless conditions are met
return 200000f * MathF.Log10(fuel * fuel) * MathF.Pow( 1.11111f, cores - 1); // Mono - Added positive returns from extra cores. Running AME at 2 fuel per core yields roughly the same power per core at all sizes
return 200000f * MathF.Log10(fuel * fuel) * MathF.Pow( 1.11111f, fuel / 2f - 1); // Mono - Exponential scaling at high injection
return 0;
}
@@ -61,4 +61,16 @@ public sealed partial class ThermalRegulatorComponent : Component
/// </summary>
[DataField]
public float ThermalRegulationTemperatureThreshold;
/// <summary>
/// Process regulation while they're dead if there is a MobStateComponent? - Mono Hydrakin
/// </summary>
[DataField]
public bool ProcessWhileDead = false;
/// <summary>
/// Process regulation in critical condition if there is a MobStateComponent? - Mono Hydrakin
/// </summary>
[DataField]
public bool ProcessWhileCrit = true;
}
@@ -2,6 +2,8 @@ using Content.Server.Body.Components;
using Content.Server.Temperature.Components;
using Content.Server.Temperature.Systems;
using Content.Shared.ActionBlocker;
using Content.Shared.Mobs; // Mono
using Content.Shared.Mobs.Components; // Mono
using Robust.Shared.Timing;
namespace Content.Server.Body.Systems;
@@ -51,6 +53,14 @@ public sealed class ThermalRegulatorSystem : EntitySystem
if (!Resolve(ent, ref ent.Comp2, logMissing: false))
return;
// mono begin
if (ent.Comp1.ProcessWhileDead == false && TryComp<MobStateComponent>(ent, out var mobComp1) && mobComp1.CurrentState == MobState.Dead)
return;
if (ent.Comp1.ProcessWhileCrit == false && TryComp<MobStateComponent>(ent, out var mobComp2) && mobComp2.CurrentState == MobState.Critical)
return;
// mono end
var totalMetabolismTempChange = ent.Comp1.MetabolismHeat - ent.Comp1.RadiatedHeat;
// implicit heat regulation
@@ -28,8 +28,6 @@ public sealed partial class BotanySystem : EntitySystem
[Dependency] private readonly SharedSolutionContainerSystem _solutionContainerSystem = default!;
[Dependency] private readonly MetaDataSystem _metaData = default!;
[Dependency] private readonly RandomHelperSystem _randomHelper = default!;
[Dependency] private readonly ContrabandTurnInSystem _contraband = default!; // Frontier
public override void Initialize()
{
base.Initialize();
@@ -100,7 +98,6 @@ public sealed partial class BotanySystem : EntitySystem
public EntityUid SpawnSeedPacket(SeedData proto, EntityCoordinates coords, EntityUid user, float? healthOverride = null)
{
var seed = SpawnAtPosition(proto.PacketPrototype, coords); // Frontier: Spawn<SpawnAtPosition
_contraband.ClearContrabandValue(seed); // Frontier
var seedComp = EnsureComp<SeedComponent>(seed);
seedComp.Seed = proto;
seedComp.HealthOverride = healthOverride;
@@ -160,7 +157,6 @@ public sealed partial class BotanySystem : EntitySystem
var product = _robustRandom.Pick(proto.ProductPrototypes);
var entity = SpawnAtPosition(product, position); // Frontier: Spawn<SpawnAtPosition
_contraband.ClearContrabandValue(entity); // Frontier
_randomHelper.RandomOffset(entity, 0.25f);
products.Add(entity);
@@ -171,7 +171,7 @@ namespace Content.Server.EntityEffects.Effects
interruptsDoAfters: false,
// Shitmed Change Start
targetPart: TargetBodyPart.All,
partMultiplier: 0.5f,
partMultiplier: 1.00f, // Mono, 0.5f->1.00f
canSever: false);
// Shitmed Change End
}
-5
View File
@@ -59,7 +59,6 @@ namespace Content.Server.Lathe
[Dependency] private readonly SharedSolutionContainerSystem _solution = default!;
[Dependency] private readonly StackSystem _stack = default!;
[Dependency] private readonly TransformSystem _transform = default!;
[Dependency] private readonly ContrabandTurnInSystem _contraband = default!; // Frontier
[Dependency] private readonly DeviceLinkSystem _deviceLink = default!; // Mono
/// <summary>
@@ -326,11 +325,7 @@ namespace Content.Server.Lathe
// Frontier: adjust price before merge (stack prices changed once)
if (result.Valid)
{
ModifyPrintedEntityPrice(uid, comp, result);
_contraband.ClearContrabandValue(result);
}
// End Frontier
_stack.TryMergeToContacts(result);
@@ -21,6 +21,7 @@ namespace Content.Server.Preferences.Managers
IEnumerable<KeyValuePair<NetUserId, ICharacterProfile>> GetSelectedProfilesForPlayers(List<NetUserId> userIds);
bool HavePreferencesLoaded(ICommonSession session);
Task RefreshPreferencesAsync(ICommonSession session, CancellationToken cancel);
Task SetProfile(NetUserId userId, int slot, ICharacterProfile profile);
Task SetProfile(NetUserId userId, int slot, ICharacterProfile profile,
bool authoritative = true); // Mono
}
}
@@ -87,10 +87,11 @@ namespace Content.Server.Preferences.Managers
if (message.Profile == null)
_sawmill.Error($"User {userId} sent a {nameof(MsgUpdateCharacter)} with a null profile in slot {message.Slot}.");
else
await SetProfile(userId, message.Slot, message.Profile);
await SetProfile(userId, message.Slot, message.Profile, false);
}
public async Task SetProfile(NetUserId userId, int slot, ICharacterProfile profile)
public async Task SetProfile(NetUserId userId, int slot, ICharacterProfile profile,
bool authoritative = true) // Mono
{
if (!_cachedPlayerPrefs.TryGetValue(userId, out var prefsData) || !prefsData.PrefsLoaded)
{
@@ -105,6 +106,14 @@ namespace Content.Server.Preferences.Managers
var session = _playerManager.GetSessionById(userId);
profile.EnsureValid(session, _dependencies);
// Mono
if (!authoritative && profile is HumanoidCharacterProfile humanoid)
{
if (curPrefs.Characters.TryGetValue(slot, out var oldProfile) && oldProfile is HumanoidCharacterProfile oldHumanoid)
profile = humanoid.WithBankBalance(oldHumanoid.BankBalance);
else
profile = humanoid.WithBankBalance(HumanoidCharacterProfile.DefaultBalance);
}
var profiles = new Dictionary<int, ICharacterProfile>(curPrefs.Characters)
@@ -69,6 +69,8 @@ public sealed partial class ResearchSystem
if (serverComponent.Clients.Contains(client))
return;
UnregisterClient(client, clientComponent); // Mono Research Fix, unregister a client if applicable before registering to a new server
serverComponent.Clients.Add(client);
clientComponent.Server = server;
SyncClientWithServer(client, clientComponent: clientComponent);
@@ -58,7 +58,6 @@ namespace Content.Server.VendingMachines
[Dependency] private readonly BankSystem _bankSystem = default!; // Frontier
[Dependency] private readonly PopupSystem _popupSystem = default!; // Frontier
[Dependency] private readonly IAdminLogManager _adminLogger = default!; // Frontier
[Dependency] private readonly ContrabandTurnInSystem _contraband = default!; // Frontier
[Dependency] private readonly StackSystem _stack = default!; // Frontier
[Dependency] private readonly VendingMachinePurchaseSystem _vendingPurchase = default!; // Mono
@@ -545,8 +544,6 @@ namespace Content.Server.VendingMachines
var ent = Spawn(vendComponent.NextItemToEject, spawnCoordinates);
_contraband.ClearContrabandValue(ent); // Frontier
// Mono: Track vending machine purchases for pricing modifications
// Only track if this was a paid purchase (not a random eject or force eject)
if (!forceEject && vendComponent.LastPurchasePrice.HasValue)
@@ -115,7 +115,7 @@ namespace Content.Server._Mono.EntityEffects.Effects
IgnoreResistances,
interruptsDoAfters: false,
targetPart: TargetBodyPart.All,
partMultiplier: 0.5f,
partMultiplier: 1.00f, // Mono, 0.5f->1.00f
canSever: false);
}
}
@@ -296,9 +296,7 @@ public sealed partial class MarketSystem
else
{
var maxQuantityToWithdraw = marketData.GetMaxQuantityToWithdraw(prototype);
var toWithdraw = args.Amount;
if (args.Amount > maxQuantityToWithdraw)
toWithdraw = maxQuantityToWithdraw;
var toWithdraw = MathHelper.Clamp(args.Amount, 1, maxQuantityToWithdraw);
var existing = FindMarketDataByPrototype(marketData, args.ItemPrototype!);
if (existing == null)
@@ -150,7 +150,7 @@ public sealed class SurgerySystem : SharedSurgerySystem
if (HasComp<ForcedSleepingComponent>(args.Body))
damageChange = damageChange * ent.Comp.SleepModifier;
SetDamage(args.Body, damageChange, 0.5f, args.User, args.Part);
SetDamage(args.Body, damageChange, 1f, args.User, args.Part); // 0.5-> 1.0f part damage - Mono
}
private void OnSurgerySpecialDamageChange(Entity<SurgerySpecialDamageChangeEffectComponent> ent, ref SurgeryStepDamageChangeEvent args)
@@ -177,7 +177,7 @@ public abstract partial class SharedSurgerySystem
if (!HasComp<SanitizedComponent>(args.User))
{
var sepsis = new DamageSpecifier(_prototypes.Index<DamageTypePrototype>("Poison"), 15);
var ev = new SurgeryStepDamageEvent(args.User, args.Body, args.Part, args.Surgery, sepsis, 0.5f);
var ev = new SurgeryStepDamageEvent(args.User, args.Body, args.Part, args.Surgery, sepsis, 1.0f); // Mono - 0.5->1.0f - Mono Part surgery damage increase
RaiseLocalEvent(args.Body, ref ev);
}
}
@@ -360,7 +360,7 @@ public abstract partial class SharedSurgerySystem
foreach (var type in group)
adjustedDamage.DamageDict[type] -= bonus;
var ev = new SurgeryStepDamageEvent(args.User, args.Body, args.Part, args.Surgery, adjustedDamage, 0.5f);
var ev = new SurgeryStepDamageEvent(args.User, args.Body, args.Part, args.Surgery, adjustedDamage, 2.5f); // 0.5 -> 2.5f part damage, buffed wound surgery tending - Mono
RaiseLocalEvent(args.Body, ref ev);
}
@@ -43,7 +43,7 @@ public abstract class SharedLayingDownSystem : EntitySystem
{
if (session?.AttachedEntity == null ||
!HasComp<LayingDownComponent>(session.AttachedEntity) ||
_gravity.IsWeightless(session.AttachedEntity.Value))
!CanLieDown(session.AttachedEntity.Value)) // Mono
{
return;
}
@@ -112,7 +112,7 @@ public abstract class SharedLayingDownSystem : EntitySystem
// If the entity is not on a grid, try to make it stand up to avoid issues
if (!TryComp<StandingStateComponent>(uid, out var standingState)
|| standingState.CurrentState is StandingState.Standing
|| Transform(uid).GridUid != null)
|| CanLieDown(uid)) // Mono
{
return;
}
@@ -150,7 +150,8 @@ public abstract class SharedLayingDownSystem : EntitySystem
{
if (!Resolve(uid, ref standingState, false) ||
!Resolve(uid, ref layingDown, false) ||
standingState.CurrentState is not StandingState.Standing)
standingState.CurrentState is not StandingState.Standing ||
!CanLieDown(uid)) // Mono
{
if (behavior == DropHeldItemsBehavior.AlwaysDrop)
{
@@ -163,6 +164,12 @@ public abstract class SharedLayingDownSystem : EntitySystem
_standing.Down(uid, true, behavior != DropHeldItemsBehavior.NoDrop, false, standingState);
return true;
}
// Mono
private bool CanLieDown(EntityUid uid)
{
return _gravity.EntityOnGravitySupportingGridOrMap(uid);
}
}
[Serializable, NetSerializable]
+1 -1
View File
@@ -24,7 +24,7 @@ We provide some scripts shown below to make the job easier.
### Build dependencies
> - Git
> - .NET SDK 9.0.101
> - .NET SDK 10.0
### Windows
+123
View File
@@ -18716,3 +18716,126 @@ Entries:
id: 2064
time: '2026-03-22T19:49:14.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3499
- author: tonotom1
changes:
- type: Tweak
message: >-
Cables no longer drop an item when destroyed, ever. Hopefully this will
reduce ram lag. Cable HP also standardized to 200 for all types.
id: 2065
time: '2026-03-22T22:41:10.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3520
- author: Redrover1760
changes:
- type: Tweak
message: Hydrakin no longer heat up in criticial.
- type: Fix
message: People no longer thermal regulate while dead.
id: 2066
time: '2026-03-22T22:54:10.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3530
- author: Redrover1760
changes:
- type: Fix
message: Part damage easier to heal/injure with surgery/chems
id: 2067
time: '2026-03-22T23:22:33.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3533
- author: Redrover1760
changes:
- type: Tweak
message: Built research datafarms now work
id: 2068
time: '2026-03-23T03:42:15.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3536
- author: Kiithnaras
changes:
- type: Tweak
message: Added roofing mask and emergency lighting to CDM Comet.
id: 2069
time: '2026-03-23T04:00:28.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3381
- author: Redrover1760
changes:
- type: Tweak
message: >-
Tending surgery heals bodyparts 2.5x the amount tended, previous value
was 0.5x
- type: Tweak
message: >-
Other surgery based damage increased to 1.0x part damage instead of 0.5x
(i.e sepsis)
id: 2070
time: '2026-03-23T06:04:49.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3534
- author: Redrover1760
changes:
- type: Tweak
message: Research datafarms now can be made with any 10000 point disk.
id: 2071
time: '2026-03-23T17:23:36.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3543
- author: chuga-git
changes:
- type: Tweak
message: MARAUDER plasma cannon projectile speed increased by 50%. (100->150)
id: 2072
time: '2026-03-24T11:44:39.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3549
- author: Redrover1760
changes:
- type: Fix
message: >-
Printed contraband-type items, aka enemy faction gear, can now be sold
for FMCs/DCs. Frontier is so frustrating man.
id: 2073
time: '2026-03-24T12:06:49.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3548
- author: gelliii
changes:
- type: Add
message: Added the Horsefly, welded together by hopes and dreams.
id: 2074
time: '2026-03-24T15:07:30.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3155
- author: Ilya246
changes:
- type: Fix
message: Fixes the server not checking some bank balance-related values.
id: 2075
time: '2026-03-24T19:00:31.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3550
- author: Ilya246
changes:
- type: Tweak
message: >-
AMEs no longer scale purely off core count. Injection count now matters
instead.
id: 2076
time: '2026-03-24T19:54:07.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3552
- author: Avalon-Proto
changes:
- type: Add
message: >-
Ullman Industries has released a new overcoat, this one with much
thicker fur around the neck
id: 2077
time: '2026-03-24T23:41:50.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3260
- author: Lokilife
changes:
- type: Fix
message: You can't lie in space with voidboots anymore
id: 2078
time: '2026-03-25T00:08:36.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3551
- author: Redrover1760
changes:
- type: Fix
message: >-
Research generating things no longer connect to multiple servers at once
when built
id: 2079
time: '2026-03-25T04:12:27.0000000+00:00'
url: https://github.com/Monolith-Station/Monolith/pull/3556
+1 -1
View File
@@ -8695,7 +8695,7 @@ entities:
- type: Transform
pos: 42.607162,12.70194
parent: 1653
- proto: ResearchDisk
- proto: ResearchDisk10000
entities:
- uid: 1625
components:
+1 -1
View File
@@ -855,7 +855,7 @@ entities:
- type: Transform
pos: -3.5,-0.5
parent: 85
- proto: ResearchDisk
- proto: ResearchDisk10000
entities:
- uid: 87
components:
@@ -4,8 +4,8 @@ meta:
engineVersion: 264.0.0
forkId: ""
forkVersion: ""
time: 02/18/2026 00:42:15
entityCount: 1359
time: 03/07/2026 02:29:09
entityCount: 1371
maps: []
grids:
- 1
@@ -119,9 +119,9 @@ entities:
- type: SpreaderGrid
spreadQueues:
Puddle: []
Kudzu: []
Smoke: []
MetalFoam: []
Kudzu: []
- type: Shuttle
dampingModifier: 0.25
- type: GridPathfinding
@@ -1304,6 +1304,21 @@ entities:
- type: ShipGridLock
locked: False
- type: NavMap
- type: Roof
data:
0,-1: 13527468013044891660
0,0: 17940925813796436536
0,1: 18374401675977357566
1,1: 4611685743549480959
0,2: 4079358
1,2: 51743894847
2,1: 852186188680975
1,0: 18446744073709551502
2,0: 218427893397785347
1,-1: 12583198649346949120
2,-1: 1953158174865555462
2,-2: 434034414087831552
0,-2: 868068828175663104
- proto: AirAlarm
entities:
- uid: 2
@@ -4773,6 +4788,75 @@ entities:
- type: Transform
pos: 18.5,8.5
parent: 1
- proto: EmergencyLight
entities:
- uid: 859
components:
- type: Transform
rot: 3.141592653589793 rad
pos: 3.5,14.5
parent: 1
- uid: 1084
components:
- type: Transform
pos: 8.5,12.5
parent: 1
- uid: 1353
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: 5.5,4.5
parent: 1
- uid: 1363
components:
- type: Transform
rot: 1.5707963267948966 rad
pos: 15.5,4.5
parent: 1
- uid: 1364
components:
- type: Transform
pos: 9.5,5.5
parent: 1
- uid: 1365
components:
- type: Transform
rot: 1.5707963267948966 rad
pos: 10.5,18.5
parent: 1
- uid: 1366
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: 11.5,8.5
parent: 1
- uid: 1367
components:
- type: Transform
pos: 14.5,11.5
parent: 1
- uid: 1368
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: 5.5,-2.5
parent: 1
- uid: 1369
components:
- type: Transform
rot: -1.5707963267948966 rad
pos: 4.5,8.5
parent: 1
- uid: 1370
components:
- type: Transform
pos: 18.5,10.5
parent: 1
- uid: 1371
components:
- type: Transform
pos: 15.5,14.5
parent: 1
- proto: ExosuitFabricator
entities:
- uid: 608
File diff suppressed because it is too large Load Diff
@@ -44,7 +44,7 @@
prob: 0.1
- id: WelderIndustrialAdvanced
prob: 0.1
- id: ResearchDisk
- id: ResearchDisk10000 # Mono
prob: 0.1
- id: SheetUranium
prob: 0.1
@@ -71,7 +71,7 @@
weight: 10
children:
- id: ClothingBeltUtilityFilled
- id: ResearchDisk
- id: ResearchDisk10000
- id: ResearchDisk35000
- id: RandomInstruments
@@ -93,7 +93,7 @@
- id: SheetPlasma1
amount: !type:RangeNumberSelector
range: 3, 5
- id: ResearchDisk
- id: ResearchDisk10000
- id: DrinkGoldenCup
- id: TreasureSampleTube
- !type:NestedSelector
@@ -234,7 +234,7 @@
orGroup: GiftPool
- id: WeaponFlareGun
orGroup: GiftPool
- id: ResearchDisk
- id: ResearchDisk10000
orGroup: GiftPool
- id: Machete
orGroup: GiftPool
@@ -100,6 +100,9 @@
points: 10000
- type: StaticPrice
price: 2000
- type: Tag
tags:
- ResearchDisk10000
- type: entity
parent: ResearchDisk
@@ -79,13 +79,13 @@
thresholds:
- trigger:
!type:DamageTrigger
damage: 400
damage: 250 #Mono 100 >> 250
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 300
damage: 200 #Mono 50 >> 200
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
@@ -138,13 +138,13 @@
thresholds:
- trigger:
!type:DamageTrigger
damage: 350
damage: 250 #Mono 100 >> 250
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 250
damage: 200 #Mono 50 >> 200
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
@@ -193,13 +193,13 @@
thresholds:
- trigger:
!type:DamageTrigger
damage: 250
damage: 250 #Mono 100 >> 250
behaviors: #excess damage (nuke?). avoid computational cost of spawning entities.
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 150
damage: 200 #Mono 50 >> 200
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
@@ -32,6 +32,17 @@
heatingCoefficient: 1.1
coolingCoefficient: 0.5
- type: entity
parent: ClothingNeckUllimanOvercoat
id: ClothingNeckHeavyUllimanOvercoat
name: heavy U.I. overcoat
description: A thicker, heavier verison of the U.I. overcoat, with even more synthetic fur for style.
components:
- type: Sprite
sprite: _Mono/Clothing/Neck/Misc/heavyovercoat.rsi
- type: Clothing
sprite: _Mono/Clothing/Neck/Misc/heavyovercoat.rsi
# Bomb Collars
- type: entity
@@ -154,7 +154,7 @@
id: ClothingOuterHardsuitTacsuitHighValue
- type: entity
parent: [ClothingOuterHardsuitJuggernaut, EnergyShieldClothing ] # Jugger Suit
parent: [ClothingOuterHardsuitJuggernaut, EnergyShieldClothing, BaseFactionGearTSFT3 ] # Jugger Suit
id: ClothingOuterHardsuitNfsdExperimental
name: TSFMC M92-X tacsuit
description: An experimental modification of the M92 tacsuit for spec-ops units of the TSFMC. Durable, and comes with an integrated soft-shield, but at the cost of insulation and heft.
@@ -21,8 +21,8 @@
Blunt: 0.67
Slash: 0.5
Piercing: 0.5
Heat: 0.67
Radiation: 0.5
Heat: 0.4
Radiation: 0.6
Caustic: 0.5
- type: StaminaDamageResistance # Mono - Stamres
coefficient: 0.5
@@ -74,8 +74,8 @@
- type: StaminaDamageResistance # Mono - Stamres
coefficient: 0.67
- type: ClothingSpeedModifier
walkModifier: 0.95
sprintModifier: 0.95
walkModifier: 1.05
sprintModifier: 1.05
- type: HeldSpeedModifier
- type: ToggleableClothing # Goobstation - Modsuits change - Mono - this is a solution for helmet attachment/cover to not fit on hardsuits
requiredSlot: outerclothing
@@ -25,7 +25,7 @@
recoil: 5 # 1/5x
minAngle: 0
maxAngle: 0
projectileSpeed: 100
projectileSpeed: 150
shootThermalSignature: 4000000 # ~2.8km with continuous fire
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser_cannon2.ogg
@@ -99,7 +99,7 @@
recoil: 8
minAngle: 0
maxAngle: 0
projectileSpeed: 100
projectileSpeed: 150
shootThermalSignature: 4000000 # ~2.8km with continuous fire
soundGunshot:
path: /Audio/Weapons/Guns/Gunshots/laser_cannon2.ogg
@@ -105,6 +105,7 @@
name: bolted data farm (Research)
description: A power-hungry server dedicated towards scraping data from... somewhere. This one generates research points at a rate of 35 per second. It seems to be bolted to the floor.
components:
- type: ResearchClient
- type: ResearchPointSource
pointsPerSecond: 35
active: true
@@ -113,7 +114,7 @@
- type: entity
id: DatafarmResearch
parent: [BaseDataFarm, ConstructibleMachine]
parent: [BaseDataFarmResearch, ConstructibleMachine]
name: data farm (Research)
description: A power-hungry server dedicated towards scraping data from... somewhere. This one generates research points at a rate of 10 per second.
components:
@@ -0,0 +1,41 @@
# Author Info
# GitHub: gelliii
# Discord: .gelliii.
# Shuttle Notes:
#
- type: vessel
id: Horsefly
parent: BaseVessel
name: GSI Horsefly
description: A light artillery ship made of scrap fused by a deranged group of mercenaries, it's designed to fire a single shell then die. Isn't supplied with any form of atmosphere, bring your own suit.
price: 32500 # it's a heap of scrap
category: Small
group: Scrap
shuttlePath: /Maps/_Mono/Shuttles/Scrap/horsefly.yml
guidebookPage: Null
class:
- Scrapyard
- Pursuit
engine:
- Plasma
- type: gameMap
id: Horsefly
mapName: 'Horsefly'
mapPath: /Maps/_Mono/Shuttles/Scrap/horsefly.yml
minPlayers: 0
stations:
Horsefly:
stationProto: StandardFrontierVessel
components:
- type: StationNameSetup
mapNameTemplate: 'Horsefly SRP-MIL{1}'
nameGenerator:
!type:NanotrasenNameGenerator
prefixCreator: '14'
- type: StationJobs
availableJobs:
Contractor: [ 0, 0 ]
Pilot: [ 0, 0 ]
Mercenary: [ 0, 0 ]
@@ -214,8 +214,8 @@
color: red
- type: RandomSpawner
prototypes:
- ResearchDisk
- ResearchDisk
- ResearchDisk10000
- ResearchDisk10000
- ResearchDisk35000
chance: 0.95
offset: 0.0
@@ -261,6 +261,15 @@
equipment:
neck: ClothingNeckUllimanOvercoat
- type: loadout
id: ContractorClothingNeckHeavyUIOvercoat # Monolith
effects:
- !type:GroupLoadoutEffect
proto: ContractorT2
price: 0 # Mono
equipment:
neck: ClothingNeckHeavyUllimanOvercoat
- type: loadout
id: ContractorClothingNeckCloakMiner
effects:
@@ -66,6 +66,7 @@
shiveringHeatRegulation: 3000
normalBodyTemperature: 210.15
thermalRegulationTemperatureThreshold: 30
processWhileCrit: false
- type: PressureProtection
lowPressureMultiplier: 1.2
- type: LanguageKnowledge
@@ -28,6 +28,7 @@
- Hydrakin bodies are [color=#FFA500]constantly heating up[/color]. They can tolerate heat without any insulation, but wearing hardsuits or coats will immediatly start [color=#FFA500]heating them up to 67C[/color].
- Leporazine and Peranol have [color=#4169E1]amplified[/color] cooling effect on their body.
- However, using any type of cryo chemicals will make hydrakins [color=#FFA500]fall asleep[/color] if their body temperature is low enough to activate it.
- As well, Hydrakin's thermal regulation entirely fails in critical condition as while as being dead.
## Atmospherics
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 651 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 B

@@ -0,0 +1,26 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
"copyright": "Sprites by zethine, inhands taken from standard overcoat.rsi",
"size": {
"x": 32,
"y": 32
},
"states": [
{
"name": "equipped-NECK",
"directions": 4
},
{
"name": "inhand-right",
"directions": 4
},
{
"name": "inhand-left",
"directions": 4
},
{
"name": "icon"
}
]
}