show reputation-locked items in the uplink + rep tweaks (#3765)

* update listings to use reputation field

* change reputation condition to a listing field, show in the UI

* a

* Update Content.Shared/_DV/Reputation/ReputationSystem.cs

Co-authored-by: Tobias Berger <toby@tobot.dev>
Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>

---------

Signed-off-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: Tobias Berger <toby@tobot.dev>
This commit is contained in:
deltanedas 2025-05-18 15:57:40 +01:00 committed by GitHub
parent 58b3988c7d
commit a75a585bfb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
11 changed files with 142 additions and 244 deletions

View File

@ -30,6 +30,7 @@ public sealed class StoreBoundUserInterface : BoundUserInterface
base.Open();
_menu = this.CreateWindow<StoreMenu>();
_menu.Owner = Owner; // DeltaV
if (EntMan.TryGetComponent<StoreComponent>(Owner, out var store))
_menu.Title = Loc.GetString(store.Name);

View File

@ -1,4 +1,5 @@
using Content.Client.GameTicking.Managers;
using Content.Shared._DV.Reputation; // DeltaV
using Content.Shared.Store;
using Robust.Client.AutoGenerated;
using Robust.Client.Graphics;
@ -16,23 +17,28 @@ public sealed partial class StoreListingControl : Control
[Dependency] private readonly IEntityManager _entity = default!;
[Dependency] private readonly IGameTiming _timing = default!;
private readonly ClientGameTicker _ticker;
private readonly ReputationSystem _reputation; // DeltaV
private readonly ListingDataWithCostModifiers _data;
private readonly bool _hasBalance;
private readonly string _price;
private readonly string _discount;
public StoreListingControl(ListingDataWithCostModifiers data, string price, string discount, bool hasBalance, Texture? texture = null)
private readonly EntityUid _owner; // DeltaV
// DeltaV - added owner
public StoreListingControl(ListingDataWithCostModifiers data, string price, string discount, bool hasBalance, EntityUid owner, Texture? texture = null)
{
IoCManager.InjectDependencies(this);
RobustXamlLoader.Load(this);
_ticker = _entity.System<ClientGameTicker>();
_reputation = _entity.System<ReputationSystem>();
_data = data;
_hasBalance = hasBalance;
_price = price;
_discount = discount;
_owner = owner;
StoreItemName.Text = ListingLocalisationHelpers.GetLocalisedNameOrEntityName(_data, _prototype);
StoreItemDescription.SetMessage(ListingLocalisationHelpers.GetLocalisedDescriptionOrEntityDescription(_data, _prototype));
@ -52,6 +58,11 @@ public sealed partial class StoreListingControl : Control
if (_data.RestockTime > stationTime)
return false;
// Begin DeltaV Additions - Traitor reputation
if (!_reputation.CanStorePurchase(_owner, _data.Reputation))
return false;
// End DeltaV Additions
return true;
}
@ -63,6 +74,12 @@ public sealed partial class StoreListingControl : Control
var timeLeftToBuy = stationTime - _data.RestockTime;
StoreItemBuyButton.Text = timeLeftToBuy.Duration().ToString(@"mm\:ss");
}
// Begin DeltaV Additions - Traitor reputation
else if (!_reputation.CanStorePurchase(_owner, _data.Reputation))
{
StoreItemBuyButton.Text = Loc.GetString("store-reputation-locked", ("price", _price), ("reputation", _data.Reputation ?? 0));
}
// End DeltaV Additions
else
{
DiscountSubText.Text = _discount;

View File

@ -30,6 +30,7 @@ public sealed partial class StoreMenu : DefaultWindow
public Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2> Balance = new();
public string CurrentCategory = string.Empty;
public EntityUid Owner; // DeltaV
private List<ListingDataWithCostModifiers> _cachedListings = new();
@ -151,7 +152,7 @@ public sealed partial class StoreMenu : DefaultWindow
var listingInStock = GetListingPriceString(listing);
var discount = GetDiscountString(listing);
var newListing = new StoreListingControl(listing, listingInStock, discount, hasBalance, texture);
var newListing = new StoreListingControl(listing, listingInStock, discount, hasBalance, Owner, texture); // DeltaV - pass owner
newListing.StoreItemBuyButton.OnButtonDown += args
=> OnListingButtonPressed?.Invoke(args, listing);

View File

@ -3,6 +3,7 @@ using Content.Server.Actions;
using Content.Server.Administration.Logs;
using Content.Server.Stack;
using Content.Server.Store.Components;
using Content.Shared._DV.Reputation; // DeltaV
using Content.Shared.Actions;
using Content.Shared.Database;
using Content.Shared.FixedPoint;
@ -26,6 +27,7 @@ public sealed partial class StoreSystem
[Dependency] private readonly ActionsSystem _actions = default!;
[Dependency] private readonly ActionContainerSystem _actionContainer = default!;
[Dependency] private readonly ActionUpgradeSystem _actionUpgrade = default!;
[Dependency] private readonly ReputationSystem _reputation = default!; // DeltaV
[Dependency] private readonly SharedMindSystem _mind = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
[Dependency] private readonly StackSystem _stack = default!;
@ -143,6 +145,11 @@ public sealed partial class StoreSystem
if (!ListingHasCategory(listing, component.Categories))
return;
// Begin DeltaV Additions - Check rep incase of malf clients
if (!_reputation.CanStorePurchase(uid, listing.Reputation))
return;
// End DeltaV Additions
//condition checking because why not
if (listing.Conditions != null)
{

View File

@ -1,30 +0,0 @@
using Content.Shared._DV.Reputation;
using Content.Shared.Store;
namespace Content.Server._DV.Store.Conditions;
/// <summary>
/// Requires that an uplink using <see cref="ContractsComponent"/> has enough reputation.
/// This is ignored for nukie uplinks and surplus crates.
/// </summary>
public sealed partial class ReputationCondition : ListingCondition
{
/// <summary>
/// The required reputation for traitors.
/// This is unused for nukie uplinks.
/// </summary>
[DataField(required: true)]
public int Reputation;
public override bool Condition(ListingConditionArgs args)
{
if (!args.EntityManager.TryGetComponent<StoreContractsComponent>(args.StoreEntity, out var store))
return true; // nukie uplink or a surplus
var reputation = args.EntityManager.System<ReputationSystem>();
if (reputation.GetMindReputation(store.Mind) is not {} rep)
return false; // uplink implant in non-traitor, no epic goodies allowed
return rep >= Reputation;
}
}

View File

@ -38,6 +38,7 @@ public partial class ListingData : IEquatable<ListingData>
other.ID,
other.Categories,
other.OriginalCost,
other.Reputation, // DeltaV
other.RestockTime,
other.DiscountDownTo,
other.DisableRefund
@ -63,6 +64,7 @@ public partial class ListingData : IEquatable<ListingData>
string id,
HashSet<ProtoId<StoreCategoryPrototype>> categories,
IReadOnlyDictionary<ProtoId<CurrencyPrototype>, FixedPoint2> originalCost,
int? reputation, // DeltaV
TimeSpan restockTime,
Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2> dataDiscountDownTo,
bool disableRefund
@ -84,6 +86,7 @@ public partial class ListingData : IEquatable<ListingData>
ID = id;
Categories = categories.ToHashSet();
OriginalCost = originalCost;
Reputation = reputation; // DeltaV
RestockTime = restockTime;
DiscountDownTo = new Dictionary<ProtoId<CurrencyPrototype>, FixedPoint2>(dataDiscountDownTo);
DisableRefund = disableRefund;
@ -185,6 +188,13 @@ public partial class ListingData : IEquatable<ListingData>
[DataField]
public int PurchaseAmount;
/// <summary>
/// DeltaV - Reputation required for traitors to purchase this.
/// This is ignored for non-traitor stores.
/// </summary>
[DataField]
public int? Reputation;
/// <summary>
/// Used to delay purchase of some items.
/// </summary>
@ -215,6 +225,7 @@ public partial class ListingData : IEquatable<ListingData>
ProductEntity != listing.ProductEntity ||
ProductAction != listing.ProductAction ||
ProductEvent?.GetType() != listing.ProductEvent?.GetType() ||
Reputation != listing.Reputation || // DeltaV
RestockTime != listing.RestockTime)
return false;
@ -295,6 +306,7 @@ public sealed partial class ListingDataWithCostModifiers : ListingData
listingData.ID,
listingData.Categories,
listingData.OriginalCost,
listingData.Reputation, // DeltaV
listingData.RestockTime,
listingData.DiscountDownTo,
listingData.DisableRefund

View File

@ -356,6 +356,23 @@ public sealed class ReputationSystem : EntitySystem
return GetMindReputation(ent.Comp.Mind);
}
/// <summary>
/// Returns true if a store is allowed to purchase an item with some reputation requirement.
/// </summary>
public bool CanStorePurchase(EntityUid uid, int? needed)
{
if (needed is not { } rep)
return true; // listing doesn't want reputation
if (!TryComp<StoreContractsComponent>(uid, out var comp))
return true; // nukie uplink or surplus
if (GetStoreReputation((uid, comp)) is not { } reputation)
return false; // uplink implant in non-traitor, no epic gamer loot
return reputation >= rep;
}
public void SetStoreMind(Entity<StoreContractsComponent> ent, EntityUid? mind)
{
if (ent.Comp.Mind == mind)

View File

@ -0,0 +1 @@
store-reputation-locked = {$price} | {$reputation} REP

View File

@ -13,9 +13,7 @@
Telecrystal: 4 # DeltaV - was 3
categories:
- UplinkWeaponry
conditions: # DeltaV - Sidearm reputation
- !type:ReputationCondition
reputation: 40
reputation: 40 # DeltaV - Sidearm reputation
- type: listing
id: UplinkRevolverPython
@ -29,9 +27,7 @@
Telecrystal: 6 # DeltaV - was 4
categories:
- UplinkWeaponry
conditions: # DeltaV - Sidearm reputation
- !type:ReputationCondition
reputation: 40
reputation: 40 # DeltaV - Sidearm reputation
# Inbuilt suppressor so it's sneaky + more expensive.
- type: listing
@ -46,9 +42,7 @@
Telecrystal: 6 # DeltaV - was 4
categories:
- UplinkWeaponry
conditions: # DeltaV - Sidearm reputation
- !type:ReputationCondition
reputation: 45
reputation: 45 # DeltaV - Sidearm reputation
# Poor accuracy, slow to fire, cheap option
- type: listing
@ -60,9 +54,6 @@
Telecrystal: 1
categories:
- UplinkWeaponry
conditions: # DeltaV - Long arm reputation
- !type:ReputationCondition
reputation: 60
- type: listing
id: UplinkEsword
@ -77,9 +68,7 @@
Telecrystal: 8
categories:
- UplinkWeaponry
conditions: # DeltaV - Melee weapon reputation
- !type:ReputationCondition
reputation: 30
reputation: 30 # DeltaV - Melee weapons reputation
- type: listing
id: UplinkEnergyDagger
@ -94,9 +83,7 @@
Telecrystal: 2
categories:
- UplinkWeaponry
conditions: # DeltaV - Melee weapon reputation
- !type:ReputationCondition
reputation: 20
reputation: 10 # DeltaV - Melee weapons reputation, smaller
- type: listing
id: UplinkThrowingKnivesKit
@ -111,9 +98,7 @@
Telecrystal: 4 # DeltaV - was 6
categories:
- UplinkWeaponry
conditions: # DeltaV - Melee weapons reputation
- !type:ReputationCondition
reputation: 20
reputation: 20 # DeltaV - Melee weapons reputation
- type: listing
id: UplinkGlovesNorthStar
@ -127,9 +112,7 @@
Telecrystal: 8
categories:
- UplinkWeaponry
conditions: # DeltaV - Melee weapons reputation
- !type:ReputationCondition
reputation: 30
reputation: 30 # DeltaV - Melee weapons reputation
- type: listing
id: UplinkDisposableTurret
@ -143,13 +126,12 @@
Telecrystal: 6
categories:
- UplinkWeaponry
reputation: 40 # DeltaV - Sidearms(???) reputation
conditions:
- !type:StoreWhitelistCondition
blacklist:
tags:
- NukeOpsUplink
- !type:ReputationCondition # DeltaV - Long arms(???) reputation
reputation: 60
- type: listing
id: UplinkEshield
@ -164,13 +146,12 @@
Telecrystal: 16 # DeltaV - Was 8
categories:
- UplinkWeaponry
reputation: 40 # DeltaV - Sidearms(?????) reputation
conditions:
- !type:StoreWhitelistCondition
whitelist:
tags:
- NukeOpsUplink
- !type:ReputationCondition # DeltaV - Sidearms(?????) reputation
reputation: 40
- type: listing
id: UplinkSniperBundle
@ -185,9 +166,7 @@
Telecrystal: 12
categories:
- UplinkWeaponry
conditions: # DeltaV - Long Arms reputation
- !type:ReputationCondition
reputation: 60
reputation: 60 # DeltaV - Long Arms reputation
- type: listing
id: UplinkC20RBundle
@ -202,9 +181,7 @@
Telecrystal: 20 # DeltaV - was 17
categories:
- UplinkWeaponry
conditions: # DeltaV - Long Arms reputation
- !type:ReputationCondition
reputation: 60
reputation: 60 # DeltaV - Long Arms reputation
- type: listing
id: UplinkBulldogBundle
@ -219,9 +196,7 @@
Telecrystal: 22 # DeltaV - was 20
categories:
- UplinkWeaponry
conditions: # DeltaV - Long Arms reputation
- !type:ReputationCondition
reputation: 60
reputation: 60 # DeltaV - Long Arms reputation
- type: listing
id: UplinkGrenadeLauncherBundle
@ -236,9 +211,7 @@
Telecrystal: 40 # DeltaV - Was 25
categories:
- UplinkWeaponry
conditions: # DeltaV - High Power Weapons reputation
- !type:ReputationCondition
reputation: 95
reputation: 95 # DeltaV - High Power Weapons reputation
- type: listing
id: UplinkL6SawBundle
@ -253,9 +226,7 @@
Telecrystal: 28 # DeltaV - Was 12
categories:
- UplinkWeaponry
conditions: # DeltaV - High Power Weapons reputation
- !type:ReputationCondition
reputation: 80
reputation: 80 # DeltaV - High Power Weapons reputation
# Explosives
@ -271,9 +242,7 @@
Telecrystal: 2 # DeltaV - was 4
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 40
reputation: 40 # DeltaV - Explosives reputation
- type: listing
id: UplinkExplosiveGrenadeFlash
@ -307,9 +276,7 @@
Telecrystal: 6
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 50
reputation: 50 # DeltaV - Explosives reputation
- type: listing
id: UplinkSingularityGrenade
@ -323,9 +290,7 @@
Telecrystal: 6 # DeltaV - was 2, this is explosive now
categories:
- UplinkExplosives # DeltaV - this is explosive here
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 55
reputation: 55 # DeltaV - Explosives reputation
- type: listing
id: UplinkWhiteholeGrenade
@ -339,9 +304,7 @@
Telecrystal: 2
categories:
- UplinkDisruption
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 40
reputation: 40 # DeltaV - Explosives reputation
- type: listing
id: UplinkGrenadePenguin
@ -355,13 +318,12 @@
Telecrystal: 6 # DeltaV - was 5
categories:
- UplinkExplosives
reputation: 40 # DeltaV - Explosives reputation
conditions:
- !type:BuyerWhitelistCondition
blacklist:
components:
- SurplusBundle
- !type:ReputationCondition # DeltaV - Explosives reputation
reputation: 40
- type: listing
id: UplinkC4
@ -375,9 +337,7 @@
Telecrystal: 2
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 40
reputation: 20 # DeltaV - Explosives reputation, less so you can sabotage things
- type: listing
id: UplinkGrenadierRig
@ -409,9 +369,7 @@
Telecrystal: 12 #you're buying bulk so its a 25% discount, so no additional random discount over it
categories:
- UplinkExplosives
conditions: # DeltaV - More Powerful Explosions reputation
- !type:ReputationCondition
reputation: 65
reputation: 65 # DeltaV - More Powerful Explosions reputation
- type: listing
id: UplinkEmpGrenade
@ -425,9 +383,7 @@
Telecrystal: 2
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 40
reputation: 10 # DeltaV
- type: listing
id: UplinkExplodingPen
@ -442,9 +398,7 @@
Telecrystal: 3 # DeltaV - was 4
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 40
reputation: 40 # DeltaV - Explosives reputation
- type: listing
id: UplinkSyndicateBomb
@ -456,13 +410,12 @@
categories:
- UplinkExplosives
restockTime: 1800
reputation: 75 # DeltaV - More Powerful Explosions reputation
conditions:
- !type:StoreWhitelistCondition
blacklist:
tags:
- NukeOpsUplink
- !type:ReputationCondition # DeltaV - More Powerful Explosions reputation
reputation: 75
- type: listing
id: UplinkSyndicateBombNukie
@ -491,9 +444,7 @@
Telecrystal: 6 # DeltaV - was 8
categories:
- UplinkExplosives
conditions: # DeltaV - More Powerful Explosions reputation
- !type:ReputationCondition
reputation: 60
reputation: 45 # DeltaV - Explosives reputation
- type: listing
id: UplinkGrenadeShrapnel
@ -507,9 +458,7 @@
Telecrystal: 3 # DeltaV - was 4
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 45
reputation: 45 # DeltaV - Explosives reputation
- type: listing
id: UplinkGrenadeIncendiary
@ -523,9 +472,7 @@
Telecrystal: 4
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 45
reputation: 45 # DeltaV - Explosives reputation
- type: listing
id: UplinkEmpKit
@ -537,11 +484,9 @@
Telecrystal: 3 # DeltaV - was 4
cost:
Telecrystal: 5 # DeltaV - was 6
reputation: 40 # DeltaV - Explosives reputation
categories:
- UplinkExplosives
conditions: # DeltaV - Explosives reputation
- !type:ReputationCondition
reputation: 50
# Ammo
@ -648,9 +593,7 @@
Telecrystal: 8 # DeltaV - was 6
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 25
reputation: 25 # DeltaV - Chemicals reputation
- type: listing
id: UplinkHypoDart
@ -665,9 +608,7 @@
Telecrystal: 1 # DeltaV - was 2
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 20
reputation: 20 # DeltaV - Chemicals reputation
- type: listing
id: UplinkChemistryKitBundle
@ -682,9 +623,7 @@
Telecrystal: 4
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 20
reputation: 20 # DeltaV - Chemicals reputation
- type: listing
id: UplinkZombieBundle
@ -718,9 +657,7 @@
Telecrystal: 6
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 25
reputation: 25 # DeltaV - Chemicals reputation
- type: listing
id: UplinkCombatMedkit
@ -734,9 +671,7 @@
Telecrystal: 5
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 30
reputation: 20 # DeltaV - Chemicals reputation
- type: listing
id: UplinkCombatMedipen
@ -750,9 +685,7 @@
Telecrystal: 3 # DeltaV - was 4
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 25
reputation: 20 # DeltaV - Chemicals reputation
- type: listing
id: UplinkStimpack
@ -766,9 +699,7 @@
Telecrystal: 3 # DeltaV - was 4
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 20
reputation: 20 # DeltaV - Chemicals reputation
- type: listing
id: UplinkStimkit
@ -782,9 +713,7 @@
Telecrystal: 10 # DeltaV - was 12
categories:
- UplinkChemicals
conditions: # DeltaV - Chemicals reputation
- !type:ReputationCondition
reputation: 35
reputation: 35 # DeltaV - Chemicals reputation
- type: listing
id: UplinkCigarettes
@ -891,9 +820,7 @@
Telecrystal: 1
categories:
- UplinkDeception
conditions: # DeltaV - Melee Weapons reputation
- !type:ReputationCondition
reputation: 20
reputation: 5 # DeltaV - Melee weapon but also its a damn pen
- type: listing
id: UplinkDecoyDisk
@ -930,9 +857,7 @@
Telecrystal: 4
categories:
- UplinkDeception
conditions: # DeltaV - Money is expensive? no bribing fresh out of cryo
- !type:ReputationCondition
reputation: 15
reputation: 15 # DeltaV - Money is expensive? no bribing fresh out of cryo
# - type: listing
# id: UplinkGigacancerScanner
@ -970,9 +895,7 @@
Telecrystal: 3 # DeltaV - was 4
categories:
- UplinkDeception
conditions: # DeltaV - Explosives, to not have fake syndie bombs 5 minutes into the round
- !type:ReputationCondition
reputation: 40
reputation: 40 # DeltaV - Explosives, to not have fake syndie bombs 5 minutes into the round
# Disruption
@ -1002,9 +925,7 @@
Telecrystal: 4 # DeltaV - was 5
categories:
- UplinkDisruption
conditions: # DeltaV - it's iconic...
- !type:ReputationCondition
reputation: 20
reputation: 10 # DeltaV - it's iconic...
- type: listing
id: UplinkRadioJammer
@ -1031,9 +952,7 @@
Telecrystal: 5
categories:
- UplinkDisruption
conditions: # DeltaV - Side Arms reputation
- !type:ReputationCondition
reputation: 40
reputation: 40 # DeltaV - Side Arms reputation
- type: listing
id: UplinkSyndicateMartyrModule
@ -1048,9 +967,7 @@
Telecrystal: 4
categories:
- UplinkDisruption
conditions: # DeltaV - More Powerful Explosions reputation
- !type:ReputationCondition
reputation: 60
reputation: 60 # DeltaV - More Powerful Explosions reputation
- type: listing
id: UplinkSoapSyndie
@ -1074,9 +991,7 @@
Telecrystal: 2
categories:
- UplinkDisruption
conditions: # DeltaV - do 1 task before you get super soap
- !type:ReputationCondition
reputation: 5
reputation: 5 # DeltaV - do 1 task before you get super soap
- type: listing
id: UplinkToolbox
@ -1130,13 +1045,12 @@
Telecrystal: 5 # DeltaV - was 8
categories:
- UplinkDisruption
reputation: 50 # DeltaV - Explosives reputation
conditions:
- !type:BuyerWhitelistCondition
blacklist:
components:
- SurplusBundle
- !type:ReputationCondition # DeltaV - Explosives reputation
reputation: 50
- type: listing
id: UplinkAntimovCircuitBoard
@ -1150,13 +1064,12 @@
Telecrystal: 7 # DeltaV: was 14
categories:
- UplinkDisruption
reputation: 80 # DeltaV - Station Destructive Items reputation
conditions:
- !type:StoreWhitelistCondition
blacklist:
tags:
- NukeOpsUplink
- !type:ReputationCondition # DeltaV - Station Destructive Items reputation
reputation: 80
- type: listing
id: UplinkNukieAntimovCircuitBoard
@ -1226,9 +1139,7 @@
Telecrystal: 16 # DeltaV - was 12
categories:
- UplinkDisruption
conditions: # DeltaV - Station Destructive Items reputation
- !type:ReputationCondition
reputation: 85
reputation: 85 # DeltaV - Station Destructive Items reputation
# DeltaV: disabled in favour of observation kit
#- type: listing
@ -1261,8 +1172,7 @@
blacklist:
tags:
- NukeOpsUplink
- !type:ReputationCondition # DeltaV - Allies reputation
reputation: 50
reputation: 50 # DeltaV - Allies reputation
- type: listing
id: UplinkReinforcementRadioSyndicate
@ -1277,13 +1187,12 @@
Telecrystal: 10 # DeltaV - was 14
categories:
- UplinkAllies
reputation: 45 # DeltaV - Allies reputation
conditions:
- !type:StoreWhitelistCondition
blacklist:
tags:
- NukeOpsUplink
- !type:ReputationCondition # DeltaV - Allies reputation
reputation: 45
- type: listing
id: UplinkReinforcementRadioSyndicateNukeops # Version for Nukeops that spawns another nuclear operative without the uplink.
@ -1330,13 +1239,12 @@
Telecrystal: 6
categories:
- UplinkAllies
reputation: 30 # DeltaV - Allies reputation, but it's a monkey so less
conditions:
- !type:StoreWhitelistCondition
blacklist:
tags:
- NukeOpsUplink
- !type:ReputationCondition # DeltaV - Allies reputation but its a monkey so less
reputation: 30
- type: listing
id: UplinkReinforcementRadioSyndicateAncestorNukeops # Version for Nukeops that spawns a syndicate monkey with the NukeOperative component.
@ -1388,9 +1296,7 @@
# Telecrystal: 6
# categories:
# - UplinkAllies
# conditions: # DeltaV - Allies reputation
# - !type:ReputationCondition
# reputation: 40
# reputation: 40 # DeltaV - Allies reputation
- type: listing
id: UplinkSyndicatePersonalAI
@ -1471,9 +1377,7 @@
Telecrystal: 5
categories:
- UplinkImplants
conditions: # DeltaV - You don't need this for stealing shoes...
- !type:ReputationCondition
reputation: 25
reputation: 25 # DeltaV - You don't need this for stealing shoes...
- type: listing
id: UplinkEmpImplanter
@ -1488,9 +1392,7 @@
Telecrystal: 2
categories:
- UplinkImplants
conditions: # DeltaV - Melee Weapons reputation, its melee range
- !type:ReputationCondition
reputation: 25
reputation: 25 # DeltaV - Melee Weapons reputation, its melee range
- type: listing
id: UplinkMicroBombImplanter
@ -1542,10 +1444,9 @@
Telecrystal: 3 # DeltaV- Was 4
categories:
- UplinkImplants
conditions:
- !type:ReputationCondition # DeltaV - Chemicals reputation
reputation: 20
# - !type:StoreWhitelistCondition # DeltaV - Allows Death Acidifer for our Syndibros
reputation: 20 # DeltaV - Chemicals reputation
#conditions: # DeltaV - Allows Death Acidfier for our Syndibros
# - !type:StoreWhitelistCondition
# whitelist:
# tags:
# - NukeOpsUplink
@ -1691,9 +1592,7 @@
Telecrystal: 7 # DeltaV - Was 4, 4TC was too cheap for the items power
categories:
- UplinkWearables
conditions: # DeltaV - They're very strong, shouldn't have it roundstart
- !type:ReputationCondition
reputation: 20
reputation: 20 # DeltaV - They're very strong, shouldn't have it roundstart
- type: listing
id: UplinkClothingOuterVestWeb
@ -1707,9 +1606,7 @@
Telecrystal: 3
categories:
- UplinkWearables
conditions: # DeltaV - Armour
- !type:ReputationCondition
reputation: 15
reputation: 15 # DeltaV - Armour
- type: listing
id: UplinkClothingOuterVestWebElite
@ -1723,6 +1620,7 @@
Telecrystal: 5
categories:
- UplinkWearables
reputation: 40 # DeltaV - Armour
- type: listing
id: UplinkClothingShoesBootsMagSyndie
@ -1751,9 +1649,6 @@
Telecrystal: 1 # DeltaV - was 2
categories:
- UplinkWearables
conditions: # DeltaV - Evil EVA suit
- !type:ReputationCondition
reputation: 10
- type: listing
id: UplinkHardsuitCarp
@ -1768,9 +1663,7 @@
Telecrystal: 3 # DeltaV - was 4
categories:
- UplinkWearables
conditions: # DeltaV - Funny EVA suit
- !type:ReputationCondition
reputation: 15
reputation: 15 # DeltaV - Funny EVA suit
- type: listing
id: UplinkHardsuitSyndie
@ -1785,9 +1678,7 @@
Telecrystal: 8
categories:
- UplinkWearables
conditions: # DeltaV - Hardsuits reputation
- !type:ReputationCondition
reputation: 65
reputation: 65 # DeltaV - Hardsuits reputation
- type: listing
id: UplinkClothingOuterArmorRaid
@ -1934,9 +1825,7 @@
Telecrystal: 26
categories:
- UplinkPointless
conditions: # DeltaV - Station Destructive Items...
- !type:ReputationCondition
reputation: 100
reputation: 100 # DeltaV - Station Destructive Items...
- type: listing
id: UplinkOutlawHat
@ -2013,9 +1902,7 @@
Telecrystal: 1 # DeltaV - was 20
categories:
- UplinkPointless
conditions: # DeltaV
- !type:ReputationCondition
reputation: 50
reputation: 50 # DeltaV
- type: listing
id: UplinkScarfSyndieRed
@ -2062,13 +1949,12 @@
Telecrystal: 5 # DeltaV - Was 6
categories:
- UplinkJob
reputation: 30 # DeltaV - Less than Sidearms as you have to actually grow it
conditions:
- !type:BuyerJobCondition
whitelist:
- Botanist
- ServiceWorker # DeltaV
- !type:ReputationCondition # DeltaV - Less than Sidearms as you have to actually grow it
reputation: 30
- type: listing
id: uplinkRiggedBoxingGlovesPassenger
@ -2082,12 +1968,11 @@
Telecrystal: 6
categories:
- UplinkJob
reputation: 20 # DeltaV - Melee Weapons reputation
conditions:
- !type:BuyerJobCondition
whitelist:
- Passenger
- !type:ReputationCondition # DeltaV - Melee Weapons reputation
reputation: 20
- type: listing
id: uplinkRiggedBoxingGlovesBoxer
@ -2101,12 +1986,11 @@
Telecrystal: 4
categories:
- UplinkJob
reputation: 5 # DeltaV - Melee Weapons reputation, boxer can get it earlier
conditions:
- !type:BuyerJobCondition
whitelist:
- Boxer
- !type:ReputationCondition # DeltaV - Melee Weapons reputation
reputation: 20
- type: listing
id: uplinkNecronomicon
@ -2120,6 +2004,7 @@
Telecrystal: 4
categories:
- UplinkJob
reputation: 40 # DeltaV - Allies reputation
conditions:
- !type:BuyerJobCondition
whitelist:
@ -2128,8 +2013,6 @@
blacklist:
components:
- SurplusBundle
- !type:ReputationCondition # DeltaV - Allies reputation
reputation: 40
- type: listing
id: uplinkHolyHandGrenade
@ -2143,12 +2026,11 @@
Telecrystal: 20
categories:
- UplinkJob
reputation: 70 # DeltaV - Power Powerful Explosives
conditions:
- !type:BuyerJobCondition
whitelist:
- Chaplain
- !type:ReputationCondition # DeltaV - More Powerful Explosions
reputation: 70
- type: listing
id: uplinkRevolverCapGunFake
@ -2162,13 +2044,12 @@
Telecrystal: 5
categories:
- UplinkJob
reputation: 40 # DeltaV - Sidearms reputation
conditions:
- !type:BuyerJobCondition
whitelist:
- Mime
- Clown
- !type:ReputationCondition # DeltaV - Sidearms reputation
reputation: 40
- type: listing
id: uplinkBananaPeelExplosive
@ -2177,6 +2058,7 @@
icon: { sprite: Objects/Specific/Hydroponics/banana.rsi, state: peel }
productEntity: TrashBananaPeelExplosiveUnarmed
discountCategory: rareDiscounts
reputation: 20 # DeltaV - Explosives, but honk
discountDownTo:
Telecrystal: 1
cost:
@ -2187,8 +2069,6 @@
- !type:BuyerJobCondition
whitelist:
- Clown
- !type:ReputationCondition # DeltaV - Explosives reputation
reputation: 40
- type: listing
id: UplinkClusterBananaPeel
@ -2202,12 +2082,11 @@
Telecrystal: 4 # DeltaV - was 6
categories:
- UplinkJob
reputation: 45 # DeltaV - Explosives reputation
conditions:
- !type:BuyerJobCondition
whitelist:
- Clown
- !type:ReputationCondition # DeltaV - More Powerful Explosions reputation
reputation: 65
- type: listing
id: UplinkHoloclownKit
@ -2222,12 +2101,11 @@
Telecrystal: 12
categories:
- UplinkJob
reputation: 45 # DeltaV - Allies reputation
conditions:
- !type:BuyerJobCondition
whitelist:
- Clown
- !type:ReputationCondition # DeltaV - Allies reputation
reputation: 45
- type: listing
id: uplinkHotPotato
@ -2241,6 +2119,7 @@
Telecrystal: 2 # DeltaV - was 4
categories:
- UplinkJob
reputation: 20 # DeltaV - Explosives reputation, but its not that useful
conditions:
- !type:BuyerJobCondition
whitelist:
@ -2249,8 +2128,6 @@
- Clown
- Mime
- ServiceWorker # DeltaV
- !type:ReputationCondition # DeltaV - Explosives reputation
reputation: 40
- type: listing
id: UplinkChimpUpgradeKit
@ -2264,12 +2141,11 @@
Telecrystal: 3 # DeltaV - was 4
categories:
- UplinkJob
reputation: 40 # DeltaV - Sidearms reputation
conditions:
- !type:BuyerDepartmentCondition
whitelist:
- Epistemics # DeltaV - Epistemics Department replacing Science
- !type:ReputationCondition # DeltaV - Sidearms reputation
reputation: 40
- type: listing
id: uplinkProximityMine
@ -2283,6 +2159,7 @@
Telecrystal: 5 # was 4, with my buff made it 5 to be closer to minibomb -panzer
categories:
- UplinkJob
reputation: 45 # DeltaV - Explosives reputation
conditions:
- !type:BuyerJobCondition
whitelist:
@ -2291,8 +2168,6 @@
blacklist:
components:
- SurplusBundle
- !type:ReputationCondition # DeltaV - Explosives reputation
reputation: 45
- type: listing
id: UplinkSyndicateSpongeBox
@ -2328,6 +2203,7 @@
Telecrystal: 4 # DeltaV - was 5
categories:
- UplinkJob
reputation: 20 # DeltaV - Melee Weapons reputation
conditions:
- !type:BuyerJobCondition
whitelist:
@ -2336,8 +2212,6 @@
blacklist:
components:
- SurplusBundle
- !type:ReputationCondition # DeltaV - Melee Weapons reputation
reputation: 20
- type: listing
id: UplinkCombatBakery
@ -2352,13 +2226,12 @@
Telecrystal: 4
categories:
- UplinkJob
reputation: 20 # DeltaV - Melee Weapons reputation
conditions:
- !type:BuyerJobCondition
whitelist:
- Chef
- Mime
- !type:ReputationCondition # DeltaV - Melee Weapons reputation
reputation: 20
- type: listing
id: UplinkSmugglerSatchel

View File

@ -10,12 +10,11 @@
Telecrystal: 10
categories:
- UplinkWeaponry
reputation: 30 # Melee Weapons
conditions:
- !type:BuyerSpeciesCondition
whitelist:
- Oni
- !type:ReputationCondition
reputation: 30 # Melee Weapons
- type: listing
id: UplinkRickenbacker
@ -29,12 +28,11 @@
Telecrystal: 10
categories:
- UplinkJob
reputation: 20 # Melee Weapons
conditions:
- !type:BuyerJobCondition
whitelist:
- Musician
- !type:ReputationCondition
reputation: 20 # Melee Weapons
- type: listing
id: UplinkSamurai
@ -48,6 +46,7 @@
Telecrystal: 6
categories:
- UplinkWearables
reputation: 15 # Armour
conditions:
- !type:BuyerSpeciesCondition
whitelist:
@ -56,5 +55,3 @@
blacklist:
components:
- SurplusBundle
- !type:ReputationCondition
reputation: 15 # Armour

View File

@ -12,6 +12,7 @@
Telecrystal: 16
categories:
- UplinkWeaponry
reputation: 40 # Meme weapon
- type: listing
id: UplinkRealFoamSabre
@ -27,3 +28,4 @@
Telecrystal: 6
categories:
- UplinkWeaponry
reputation: 20 # Melee weapon reputation