Skip to content
This repository has been archived by the owner on Nov 1, 2024. It is now read-only.

Ап? #369

Closed
wants to merge 79 commits into from
Closed

Ап? #369

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
3c119ed
Clean VendPrice to not suck (#1612)
dvir001 Jul 6, 2024
adb575f
Update meta.json for pride drobe (#1617)
vitalvitriol Jul 6, 2024
66344da
RPED Fixes, Minor Cleanup (#1613)
whatston3 Jul 6, 2024
b1377aa
Automatic Changelog (#1613)
FrontierATC Jul 6, 2024
fd92a3e
ATM? LFG. change chatsan entries (#1619)
whatston3 Jul 6, 2024
5ccef87
ATM: Feedback on invalid items (#1598)
whatston3 Jul 6, 2024
ad4eaaa
Chemist Wall Lockers. Filled and empty. (#1616)
dustylens Jul 6, 2024
d5d736d
MailTruck - Parcel (Update) (#1610)
dvir001 Jul 6, 2024
f7fca87
Automatic Changelog (#1610)
FrontierATC Jul 6, 2024
9cd2e22
NFSD Access Overhaul (#1459)
neuPanda Jul 7, 2024
ebd1a37
Automatic Changelog (#1459)
FrontierATC Jul 7, 2024
517c3be
adds SSS Camper (#1568)
AF-Buyrcsp2 Jul 7, 2024
7780850
Automatic Changelog (#1568)
FrontierATC Jul 7, 2024
96bd03b
Multiple fixes (#1630)
MagnusCrowe Jul 7, 2024
c57f6cf
Another admeme teleporter fix (#1631)
Myzumi Jul 8, 2024
0c93099
Add SVT Mid-tier Weapon (#1417)
VividPups Jul 8, 2024
deb7d2b
Automatic Changelog (#1417)
FrontierATC Jul 8, 2024
d75da8b
Loadouts: fallback to free items when character cannot afford mandato…
whatston3 Jul 8, 2024
1c8c757
Expedition Bestiary: guidebook entries and mob tweaks (#1548)
ErhardSteinhauer Jul 8, 2024
af32742
Automatic Changelog (#1548)
FrontierATC Jul 8, 2024
c9e7330
Tactical maid harduits (#1551)
Leander-0 Jul 8, 2024
ea756ae
Automatic Changelog (#1551)
FrontierATC Jul 8, 2024
b5c3dea
Pumpkin Spice Latte (#1558)
whatston3 Jul 8, 2024
c33d23f
Automatic Changelog (#1558)
FrontierATC Jul 8, 2024
ccea7ba
PTK-800 Require Power (#1621)
dvir001 Jul 8, 2024
af74f2c
Added Maximum IFF Distance Slider to NavScreen (#1563)
leonarudo Jul 8, 2024
6d04ff0
Automatic Changelog (#1563)
FrontierATC Jul 8, 2024
7858b3a
Space Blades (Let it drip!) (#1596)
dvir001 Jul 10, 2024
e051f36
Automatic Changelog (#1596)
FrontierATC Jul 10, 2024
661888c
shuttles: get entity's listing if none provided (#1643)
whatston3 Jul 10, 2024
9ecd964
Add Whiskey Echoes barsign (#1636)
whatston3 Jul 10, 2024
8e0469b
Automatic Changelog (#1636)
FrontierATC Jul 10, 2024
f027264
Oni Accuracy: Wieldable Check (#1638)
whatston3 Jul 10, 2024
44e82e8
Automatic Changelog (#1638)
FrontierATC Jul 10, 2024
c47c652
Job icons & ID cards (#1628)
whatston3 Jul 10, 2024
7fbfbc4
Emotional support RPG (#1633)
VividPups Jul 10, 2024
7a5380d
Add four tgstation bar signs (#1642)
whatston3 Jul 10, 2024
0d99d27
Automatic Changelog (#1633)
FrontierATC Jul 10, 2024
74efbc8
Automatic Changelog (#1642)
FrontierATC Jul 10, 2024
9b001af
Unique glove fibers (#1455) (#1645)
dvir001 Jul 10, 2024
8113134
Adjust solution size on slicing/eating food (#1644)
whatston3 Jul 10, 2024
b1472ee
Automatic Changelog (#1644)
FrontierATC Jul 10, 2024
cd0472a
3 new additions to jukebox (#1361) (#1646)
dvir001 Jul 10, 2024
4a5dcdd
DeltaV species updates (#1647)
dvir001 Jul 11, 2024
e88da4d
Add Frontier Arrivals to Jukebox (#1635)
whatston3 Jul 11, 2024
3951fba
Automatic Changelog (#1635)
FrontierATC Jul 11, 2024
169ac6c
Expeditionary Lodge: Small QoL Update (#1653)
ErhardSteinhauer Jul 11, 2024
6fea568
Automatic Changelog (#1653)
FrontierATC Jul 11, 2024
780f020
missed those (#1658)
ErhardSteinhauer Jul 12, 2024
361c97d
Automatic Changelog (#1658)
FrontierATC Jul 12, 2024
27890bd
Update FactionClothingSystem.cs (#1659)
dvir001 Jul 12, 2024
0a384a2
Remove invisible IFF from prowler (#1649)
Leander-0 Jul 12, 2024
23e87a4
Automatic Changelog (#1649)
FrontierATC Jul 12, 2024
ad3623f
Bazaar (Update) (#1639)
ErhardSteinhauer Jul 12, 2024
671b4b5
Automatic Changelog (#1639)
FrontierATC Jul 12, 2024
118a58e
Sheriff, ERT Mail Carrier Starting Gear: vacate suitstorage (#1654)
whatston3 Jul 12, 2024
cd425e7
Automatic Changelog (#1654)
FrontierATC Jul 12, 2024
d6eb455
Liquidator (Update) (#1624)
ErhardSteinhauer Jul 12, 2024
2b93e54
Automatic Changelog (#1624)
FrontierATC Jul 12, 2024
d1b10fb
Empress V-3.4 (#1650)
Leander-0 Jul 12, 2024
a3a2101
Automatic Changelog (#1650)
FrontierATC Jul 12, 2024
e31b9a1
Unlocked default humanoid markings for goblins and some other lesser …
ErhardSteinhauer Jul 12, 2024
6e982aa
Automatic Changelog (#1648)
FrontierATC Jul 12, 2024
d3f7e8c
Eagle-(Update) (#1641)
ThatOneGoblin25 Jul 12, 2024
01a4de6
Automatic Changelog (#1641)
FrontierATC Jul 12, 2024
d10179f
Common parent for Contraband Clothing (#1657)
ErhardSteinhauer Jul 12, 2024
c01114f
Syndicate bluespace events and LPB tweaks (#1652)
ErhardSteinhauer Jul 12, 2024
1eacd9e
Automatic Changelog (#1652)
FrontierATC Jul 12, 2024
d161458
Lathe Fix: components upgrade time and material cost, circuit imprint…
whatston3 Jul 12, 2024
f27996d
Automatic Changelog (#1660)
FrontierATC Jul 12, 2024
4bde789
Sergeant and Bailiff ship vouchers, round-start NFSD and pirate roles…
Salvantrix Jul 12, 2024
b1ff898
Automatic Changelog (#1406)
FrontierATC Jul 12, 2024
15ef4d9
ConnectionManager: respect existing sessions (#1640)
whatston3 Jul 12, 2024
59bd9f5
Automatic Changelog (#1640)
FrontierATC Jul 12, 2024
b70d34c
Minor Dove fixes (#1623)
crystalHex Jul 13, 2024
eae92a9
Automatic Changelog (#1623)
FrontierATC Jul 13, 2024
b790d63
Pirate Cove: add station records computer, inherit BaseStationRecords…
whatston3 Jul 13, 2024
3a65686
Small Mobs Fixing (#1665)
dvir001 Jul 13, 2024
617756a
Moving Some Files To Correct Locations (#1666)
ErhardSteinhauer Jul 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 4 additions & 1 deletion .github/mapchecker/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,16 @@
"Plastitanium", # Plastitanium walls should only be appearing on security ships.
"Kammerer", # Opportunity
"HighSecDoor",
"ShuttleGun",
],
"Syndicate": [
"Plastitanium", # And also on blackmarket ships cause syndicate.
"ButtonFrameCautionSecurity", # Decal.
"ButtonFrameCautionSecurity", # Decal.
"ShuttleGun",
],
"BlackMarket": [
"Plastitanium", # And also on blackmarket ships cause syndicate.
"ButtonFrameCautionSecurity", # Decal.
"ShuttleGun",
]
}
4 changes: 2 additions & 2 deletions .github/mapchecker/whitelist.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ Trade: true

# TECHNICAL DEBT BELOW. These ones were added to this list to ensure other PR's would not break upon merging. It is
# the intention for this list to become empty in separate PR's.
#DartX:
# - HighSecDoor
Rogue:
- ShuttleGunFriendship
12 changes: 10 additions & 2 deletions Content.Client/Bank/UI/BankATMMenu.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/*
* New Frontiers - This file is licensed under AGPLv3
* Copyright (c) 2024 New Frontiers Contributors
* See AGPLv3.txt for details.
*/
using Content.Client.UserInterface.Controls;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
Expand All @@ -22,13 +27,16 @@ public BankATMMenu()

public void SetBalance(int amount)
{
BalanceLabel.Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", amount.ToString()));
BalanceLabel.Text = Loc.GetString("bank-atm-menu-cash-amount", ("amount", amount.ToString()));
}

public void SetDeposit(int amount)
{
DepositButton.Disabled = amount <= 0;
DepositLabel.Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", amount.ToString()));
if (amount >= 0) // Valid
DepositLabel.Text = Loc.GetString("bank-atm-menu-cash-amount", ("amount", amount.ToString()));
else
DepositLabel.Text = Loc.GetString("bank-atm-menu-cash-error");
}

public void SetEnabled(bool enabled)
Expand Down
12 changes: 10 additions & 2 deletions Content.Client/Bank/UI/StationBankATMMenu.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/*
* New Frontiers - This file is licensed under AGPLv3
* Copyright (c) 2024 New Frontiers Contributors
* See AGPLv3.txt for details.
*/
using Content.Client.UserInterface.Controls;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
Expand Down Expand Up @@ -36,13 +41,16 @@ private void OnReasonSelected(OptionButton.ItemSelectedEventArgs args)
}
public void SetBalance(int amount)
{
BalanceLabel.Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", amount.ToString()));
BalanceLabel.Text = Loc.GetString("bank-atm-menu-cash-amount", ("amount", amount.ToString()));
}

public void SetDeposit(int amount)
{
DepositButton.Disabled = amount <= 0;
DepositLabel.Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", amount.ToString()));
if (amount >= 0) // Valid
DepositLabel.Text = Loc.GetString("bank-atm-menu-cash-amount", ("amount", amount.ToString()));
else
DepositLabel.Text = Loc.GetString("bank-atm-menu-cash-error");
}

public void SetEnabled(bool enabled)
Expand Down
7 changes: 6 additions & 1 deletion Content.Client/Bank/UI/WithdrawBankATMMenu.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/*
* New Frontiers - This file is licensed under AGPLv3
* Copyright (c) 2024 New Frontiers Contributors
* See AGPLv3.txt for details.
*/
using Content.Client.UserInterface.Controls;
using Robust.Client.AutoGenerated;
using Robust.Client.UserInterface.Controls;
Expand All @@ -21,7 +26,7 @@ public WithdrawBankATMMenu()

public void SetBalance(int amount)
{
BalanceLabel.Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", amount.ToString()));
BalanceLabel.Text = Loc.GetString("bank-atm-menu-cash-amount", ("amount", amount.ToString()));
}

public void SetEnabled(bool enabled)
Expand Down
2 changes: 1 addition & 1 deletion Content.Client/Lathe/UI/LatheMenu.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ private string GenerateTooltipText(LatheRecipePrototype prototype)
if (!_prototypeManager.TryIndex<MaterialPrototype>(id, out var proto))
continue;

var adjustedAmount = SharedLatheSystem.AdjustMaterial(amount, prototype.ApplyMaterialDiscount, _entityManager.GetComponent<LatheComponent>(_owner).MaterialUseMultiplier);
var adjustedAmount = SharedLatheSystem.AdjustMaterial(amount, prototype.ApplyMaterialDiscount, _entityManager.GetComponent<LatheComponent>(_owner).FinalMaterialUseMultiplier); // Frontier: MaterialUseMultiplier<FinalMaterialUseMultiplier
var sheetVolume = _materialStorage.GetSheetVolume(proto);

var unit = Loc.GetString(proto.Unit);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ protected override void Open()
_menu.TargetIdButton.OnPressed += _ => SendMessage(new ItemSlotButtonPressedEvent("ShipyardConsole-targetId"));
}

private void Populate(List<string> prototypes, string name)
private void Populate(List<string> prototypes, string name, bool freeListings)
{
if (_menu == null)
return;

_menu.PopulateProducts(prototypes, name);
_menu.PopulateProducts(prototypes, name, freeListings);
_menu.PopulateCategories();
}

Expand All @@ -61,7 +61,7 @@ protected override void UpdateState(BoundUserInterfaceState state)
Balance = cState.Balance;
ShipSellValue = cState.ShipSellValue;
var castState = (ShipyardConsoleInterfaceState) state;
Populate(castState.ShipyardPrototypes, castState.ShipyardName);
Populate(castState.ShipyardPrototypes, castState.ShipyardName, castState.FreeListings);
_menu?.UpdateState(castState);
}

Expand Down
25 changes: 19 additions & 6 deletions Content.Client/Shipyard/UI/ShipyardConsoleMenu.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public sealed partial class ShipyardConsoleMenu : FancyWindow

private List<string> _lastProtos = new();
private string _lastType = "";
private bool _freeListings = false;

public ShipyardConsoleMenu(ShipyardConsoleBoundUserInterface owner)
{
Expand All @@ -41,12 +42,12 @@ public ShipyardConsoleMenu(ShipyardConsoleBoundUserInterface owner)
private void OnCategoryItemSelected(OptionButton.ItemSelectedEventArgs args)
{
SetCategoryText(args.Id);
PopulateProducts(_lastProtos, _lastType);
PopulateProducts(_lastProtos, _lastType, _freeListings);
}

private void OnSearchBarTextChanged(LineEdit.LineEditEventArgs args)
{
PopulateProducts(_lastProtos, _lastType);
PopulateProducts(_lastProtos, _lastType, _freeListings);
}

private void SetCategoryText(int id)
Expand All @@ -58,7 +59,7 @@ private void SetCategoryText(int id)
/// <summary>
/// Populates the list of products that will actually be shown, using the current filters.
/// </summary>
public void PopulateProducts(List<string> prototypes, string type)
public void PopulateProducts(List<string> prototypes, string type, bool free)
{
Vessels.RemoveAllChildren();

Expand All @@ -80,12 +81,18 @@ public void PopulateProducts(List<string> prototypes, string type)
search.Length != 0 && prototype!.Name.ToLowerInvariant().Contains(search) ||
search.Length == 0 && _category != null && prototype!.Category.Equals(_category))
{
string priceText;
if (_freeListings)
priceText = Loc.GetString("shipyard-console-menu-listing-free");
else
priceText = Loc.GetString("shipyard-console-menu-listing-amount", ("amount", prototype!.Price.ToString()));

var vesselEntry = new VesselRow
{
Vessel = prototype,
VesselName = { Text = prototype!.Name },
Purchase = { ToolTip = prototype.Description, TooltipDelay = 0.2f },
Price = { Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", prototype.Price.ToString())) },
Price = { Text = priceText },
};
vesselEntry.Purchase.OnPressed += (args) => { OnOrderApproved?.Invoke(args); };
Vessels.AddChild(vesselEntry);
Expand Down Expand Up @@ -125,8 +132,12 @@ public void PopulateCategories()

public void UpdateState(ShipyardConsoleInterfaceState state)
{
BalanceLabel.Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", state.Balance.ToString()));
ShipAppraisalLabel.Text = Loc.GetString("cargo-console-menu-points-amount", ("amount", state.ShipSellValue.ToString()));
BalanceLabel.Text = Loc.GetString("shipyard-console-menu-listing-amount", ("amount", state.Balance.ToString()));
int shipPrice = 0;
if (!state.FreeListings)
shipPrice = state.ShipSellValue;

ShipAppraisalLabel.Text = Loc.GetString("shipyard-console-menu-listing-amount", ("amount", shipPrice.ToString()));
SellShipButton.Disabled = state.ShipDeedTitle == null;
TargetIdButton.Text = state.IsTargetIdPresent
? Loc.GetString("id-card-console-window-eject-button")
Expand All @@ -139,5 +150,7 @@ public void UpdateState(ShipyardConsoleInterfaceState state)
{
DeedTitle.Text = $"None";
}
_freeListings = state.FreeListings;
PopulateProducts(_lastProtos, _lastType, _freeListings);
}
}
11 changes: 11 additions & 0 deletions Content.Client/Shuttles/UI/NavScreen.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,16 @@
<controls:Label Text="{controls:Loc 'shuttle-console-iff-search'}"></controls:Label>
<controls:LineEdit Name="IffSearchCriteria" Access="Public" HorizontalExpand="True"></controls:LineEdit>
</controls:BoxContainer>

<!-- Frontier - Maximum IFF Distance -->
<controls:BoxContainer Orientation="Vertical" HorizontalExpand="True" Name="MaximumIFFDistanceBox">
<controls:Label Text="{controls:Loc 'shuttle-console-maximum-iff-distance'}"/>
<controls:SliderIntInput Name="MaximumIFFDistanceValue"
Access="Public"
MinValue="0"
MaxValue="3000"
Value="3000"
HorizontalExpand="True"/>
</controls:BoxContainer>
</controls:BoxContainer>
</controls:BoxContainer>
10 changes: 10 additions & 0 deletions Content.Client/Shuttles/UI/NavScreen.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ public NavScreen()

// Frontier - IFF search
IffSearchCriteria.OnTextChanged += args => OnIffSearchChanged(args.Text);

// Frontier - Maximum IFF Distance
MaximumIFFDistanceValue.GetChild(0).GetChild(1).Margin = new Thickness(8,0,0,0);
MaximumIFFDistanceValue.OnValueChanged += args => OnRangeFilterChanged(args);
}

// Frontier - IFF search
Expand All @@ -51,6 +55,12 @@ private void OnIffSearchChanged(string text)
};
}

// Frontier - Maximum IFF Distance
private void OnRangeFilterChanged(int value)
{
NavRadar.MaximumIFFDistance = (float) value;
}

public void SetShuttle(EntityUid? shuttle)
{
_shuttleEntity = shuttle;
Expand Down
16 changes: 16 additions & 0 deletions Content.Client/Shuttles/UI/ShuttleNavControl.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ public sealed partial class ShuttleNavControl : BaseShuttleControl
public bool ShowIFFShuttles { get; set; } = true;
public bool ShowDocks { get; set; } = true;

public float MaximumIFFDistance { get; set; } = -1f; // Frontier

/// <summary>
/// If present, called for every IFF. Must determine if it should or should not be shown.
/// </summary>
Expand Down Expand Up @@ -224,6 +226,20 @@ protected override void Draw(DrawingHandleScreen handle)
shouldDrawIFF &= ShowIFFShuttles;
}

// New Frontiers - Maximum IFF Distance - checks distance to object, draws if closer than max range
// This code is licensed under AGPLv3. See AGPLv3.txt
if (shouldDrawIFF && MaximumIFFDistance >= 0.0f)
{
var gridCentre = Vector2.Transform(gridBody.LocalCenter, matty);
var distance = gridCentre.Length();

if (distance > MaximumIFFDistance)
{
shouldDrawIFF = false;
}
}
// End of modified code

if (shouldDrawIFF)
{
var gridCentre = Vector2.Transform(gridBody.LocalCenter, matty);
Expand Down
5 changes: 2 additions & 3 deletions Content.Client/VendingMachines/UI/VendingMachineMenu.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
using Content.Client.UserInterface.Controls;
using Content.Shared.VendingMachines;
using Content.Shared.Cargo.Components;
using Content.Shared._NF.Cargo.Components;
using Content.Shared.Stacks;
using Robust.Client.AutoGenerated;
using Robust.Client.GameObjects;
Expand Down Expand Up @@ -150,9 +149,9 @@ public void Populate(List<VendingMachineInventoryEntry> inventory, float priceMo
}

// This block exists to allow the VendPrice flag to set a vending machine item price.
if (prototype != null && prototype.TryGetComponent<VendPriceComponent>(out var vendPriceComponent) && vendPriceComponent.Price != 0 && cost <= (float) vendPriceComponent.Price)
if (prototype != null && prototype.TryGetComponent<StaticPriceComponent>(out var vendPriceComponent) && vendPriceComponent.VendPrice != 0 && cost <= (float) vendPriceComponent.VendPrice)
{
var price = (float) vendPriceComponent.Price;
var price = (float) vendPriceComponent.VendPrice;
cost = (int) price;
}
// This block exists to allow the VendPrice flag to set a vending machine item price.
Expand Down
7 changes: 3 additions & 4 deletions Content.Server/Cargo/Systems/PricingSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
using Content.Shared.Administration;
using Content.Shared.Body.Components;
using Content.Shared.Cargo.Components;
using Content.Shared._NF.Cargo.Components;
using Content.Shared.Chemistry.Components.SolutionManager;
using Content.Shared.Chemistry.Reagent;
using Content.Shared.Materials;
Expand Down Expand Up @@ -385,10 +384,10 @@ private double GetVendPrice(EntityPrototype prototype)
{
var price = 0.0;

if (prototype.Components.TryGetValue(_factory.GetComponentName(typeof(VendPriceComponent)), out var vendProto))
if (prototype.Components.TryGetValue(_factory.GetComponentName(typeof(StaticPriceComponent)), out var vendProto))
{
var vendPrice = (VendPriceComponent) vendProto.Component;
price += vendPrice.Price;
var vendPrice = (StaticPriceComponent) vendProto.Component;
price += vendPrice.VendPrice;
}

return price;
Expand Down
15 changes: 9 additions & 6 deletions Content.Server/Connection/ConnectionManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,12 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e)
}

var adminData = await _dbManager.GetAdminDataForAsync(e.UserId);
// New Frontiers - Session Respector - Checks that a player was connected before applying panic bunker/baby jail/no whitelist on low pop checks
// This code is licensed under AGPLv3. See AGPLv3.txt
var wasInGame = EntitySystem.TryGet<GameTicker>(out var ticker) &&
ticker.PlayerGameStatuses.ContainsKey(userId); // Frontier: remove status.JoinedGame check, TryGetValue<ContainsKey

if (_cfg.GetCVar(CCVars.PanicBunkerEnabled) && adminData == null)
if (_cfg.GetCVar(CCVars.PanicBunkerEnabled) && adminData == null && !wasInGame) // Frontier: allow users who joined before panic bunker was enforced to reconnect
{
var showReason = _cfg.GetCVar(CCVars.PanicBunkerShowReason);
var customReason = _cfg.GetCVar(CCVars.PanicBunkerCustomReason);
Expand Down Expand Up @@ -214,24 +218,22 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e)
}
}

if (_cfg.GetCVar(CCVars.BabyJailEnabled) && adminData == null)
if (_cfg.GetCVar(CCVars.BabyJailEnabled) && adminData == null && !wasInGame) // Frontier: allow users who joined before panic bunker was enforced to reconnect
{
var result = await IsInvalidConnectionDueToBabyJail(userId, e);

if (result.IsInvalid)
return (ConnectionDenyReason.BabyJail, result.Reason, null);
}

var wasInGame = EntitySystem.TryGet<GameTicker>(out var ticker) &&
ticker.PlayerGameStatuses.TryGetValue(userId, out var status) &&
status == PlayerGameStatus.JoinedGame;
// Frontier: wasInGame previously calculated here.
var adminBypass = _cfg.GetCVar(CCVars.AdminBypassMaxPlayers) && adminData != null;
if ((_plyMgr.PlayerCount >= _cfg.GetCVar(CCVars.SoftMaxPlayers) && !adminBypass) && !wasInGame)
{
return (ConnectionDenyReason.Full, Loc.GetString("soft-player-cap-full"), null);
}

if (_cfg.GetCVar(CCVars.WhitelistEnabled))
if (_cfg.GetCVar(CCVars.WhitelistEnabled) && !wasInGame) // Frontier: allow users who joined before panic bunker was enforced to reconnect
{
var min = _cfg.GetCVar(CCVars.WhitelistMinPlayers);
var max = _cfg.GetCVar(CCVars.WhitelistMaxPlayers);
Expand All @@ -247,6 +249,7 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e)
return (ConnectionDenyReason.Whitelist, msg, null);
}
}
// End of modified code

//Frontier
//This is our little chunk that serves as a dAuth. It takes in a comma seperated list of IP:PORT, and chekcs
Expand Down
3 changes: 3 additions & 0 deletions Content.Server/Forensics/Components/FiberComponent.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,8 @@ public sealed partial class FiberComponent : Component

[DataField]
public string? FiberColor;

[DataField]
public string? Fiberprint; // DeltaV, unique glove fibers
}
}
Loading
Loading