[Tweak] Смешное с экономикой. (#451)
* tweak: цены продажи некоторых предметов понижены * tweak: сервера РнД теперь не работают между гридами * tweak: подняты цены в раздатчиках в среднем в два раза. А может больше * tweak: тебя забыли * add: добавим буквы
This commit is contained in:
@@ -84,9 +84,8 @@ public sealed partial class ResearchSystem
|
||||
|
||||
TryGetClientServer(uid, out _, out var serverComponent, component);
|
||||
|
||||
var names = GetServerNames();
|
||||
var state = new ResearchClientBoundInterfaceState(names.Length, names,
|
||||
GetServerIds(), serverComponent?.Id ?? -1);
|
||||
var servers = GetAllServers(uid);
|
||||
var state = new ResearchClientBoundInterfaceState(servers, serverComponent?.Id ?? -1);
|
||||
|
||||
_uiSystem.TrySetUiState(uid, ResearchClientUiKey.Key, state);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using Content.Server.Administration.Logs;
|
||||
using Content.Server.Radio.EntitySystems;
|
||||
using Content.Shared.Access.Systems;
|
||||
@@ -58,34 +57,70 @@ namespace Content.Server.Research.Systems
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the names of all the servers.
|
||||
/// Gets all the servers on the grid.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string[] GetServerNames()
|
||||
public List<ResearchServerComponent> GetAllServers(EntityUid client)
|
||||
{
|
||||
var allServers = EntityQuery<ResearchServerComponent>(true).ToArray();
|
||||
var list = new string[allServers.Length];
|
||||
var query = EntityQueryEnumerator<ResearchServerComponent>();
|
||||
var clientTransform = Transform(client);
|
||||
var list = new List<ResearchServerComponent>(3);
|
||||
|
||||
for (var i = 0; i < allServers.Length; i++)
|
||||
while (query.MoveNext(out var uid, out var server))
|
||||
{
|
||||
list[i] = allServers[i].ServerName;
|
||||
var serverTransform = Transform(uid);
|
||||
if (clientTransform.GridUid != serverTransform.GridUid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
list.Add(server);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ids of all the servers
|
||||
/// Gets the names of all the servers on the grid.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int[] GetServerIds()
|
||||
public List<string> GetServerNames(EntityUid client)
|
||||
{
|
||||
var allServers = EntityQuery<ResearchServerComponent>(true).ToArray();
|
||||
var list = new int[allServers.Length];
|
||||
var query = EntityQueryEnumerator<ResearchServerComponent>();
|
||||
var clientTransform = Transform(client);
|
||||
var list = new List<string>(3);
|
||||
|
||||
for (var i = 0; i < allServers.Length; i++)
|
||||
while (query.MoveNext(out var uid, out var server))
|
||||
{
|
||||
list[i] = allServers[i].Id;
|
||||
var serverTransform = Transform(uid);
|
||||
if (clientTransform.GridUid != serverTransform.GridUid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
list.Add(server.ServerName);
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the ids of all the servers on the grid.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<int> GetServerIds(EntityUid client)
|
||||
{
|
||||
var query = EntityQueryEnumerator<ResearchServerComponent>();
|
||||
var clientTransform = Transform(client);
|
||||
var list = new List<int>(3);
|
||||
while (query.MoveNext(out var uid, out var server))
|
||||
{
|
||||
var serverTransform = Transform(uid);
|
||||
if (clientTransform.GridUid != serverTransform.GridUid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
list.Add(server.Id);
|
||||
}
|
||||
|
||||
return list;
|
||||
|
||||
@@ -52,7 +52,7 @@ namespace Content.Server.VendingMachines
|
||||
[Dependency] private readonly StackSystem _stackSystem = default!;
|
||||
// WD END
|
||||
|
||||
private double _priceMultiplier = 1.0; // WD
|
||||
private const double GlobalPriceMultiplier = 2.0; // WD
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -241,7 +241,8 @@ namespace Content.Server.VendingMachines
|
||||
|
||||
protected override int GetEntryPrice(EntityPrototype proto)
|
||||
{
|
||||
return (int) _pricing.GetEstimatedPrice(proto);
|
||||
var price = (int) _pricing.GetEstimatedPrice(proto);
|
||||
return price > 0 ? price : 25;
|
||||
}
|
||||
|
||||
private int GetPrice(VendingMachineInventoryEntry entry, VendingMachineComponent comp)
|
||||
@@ -251,13 +252,13 @@ namespace Content.Server.VendingMachines
|
||||
|
||||
private double GetPriceMultiplier(VendingMachineComponent comp)
|
||||
{
|
||||
return comp.PriceMultiplier * _priceMultiplier;
|
||||
return comp.PriceMultiplier * GlobalPriceMultiplier;
|
||||
}
|
||||
|
||||
private void OnWithdrawMessage(EntityUid uid, VendingMachineComponent component, VendingMachineWithdrawMessage args)
|
||||
{
|
||||
_stackSystem.Spawn(component.Credits,
|
||||
PrototypeManager.Index<StackPrototype>(component.CreditStackPrototype), Transform(uid).Coordinates);
|
||||
_stackSystem.Spawn(component.Credits, PrototypeManager.Index(component.CreditStackPrototype),
|
||||
Transform(uid).Coordinates);
|
||||
component.Credits = 0;
|
||||
Audio.PlayPvs(component.SoundWithdrawCurrency, uid);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user