Another Merchant gameplay attempt (#1308)

* setup UI

* setup debug data

* graph control setup

* reputation trade component

* unlocking logic

* smoe real reputation costing

* remove sponsors part, add trading specific UI nodes

* port to default pricing system

* buy cooldown

* fuck off trading cabinets

* real good cooldown UI

* Cool unlock sound

* reputation earning

* cool purchare sound

* coin & sprite work

* delete old guidebooks

* cool purcharing VFX

* better ui

* victoria gardens

* Update migration.yml

* Update migration.yml

* cooldown removed

* contracts

* Update migration.yml

* remove CP14Material

* materials appraise

* food appraise

* auto economy pricing system

* alchemy reagents appraise

* coins resprite

* alchemy appraise 2

* modular weapon appraise

* selling platform

* Update PricingSystem.cs

* Update CP14TradingPlatformSystem.cs

* merchants returns + map update

* Update CP14StationEconomySystem.Price.cs
This commit is contained in:
Red
2025-05-29 00:22:47 +03:00
committed by GitHub
parent 0551caf98f
commit cde388f5dd
250 changed files with 3715 additions and 4830 deletions

View File

@@ -16,6 +16,7 @@ using Robust.Shared.Map.Components;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
using System.Linq;
using Content.Server._CP14.Trading;
using Content.Shared.Research.Prototypes;
namespace Content.Server.Cargo.Systems;
@@ -261,7 +262,9 @@ public sealed class PricingSystem : EntitySystem
{
double price = 0;
if (HasComp<MaterialComponent>(uid) &&
//CP14 We take materials into account when calculating the price in any case.
var proto = MetaData(uid).EntityPrototype?.ID ?? "";
if ((HasComp<MaterialComponent>(uid) || proto.StartsWith("CP14")) &&
TryComp<PhysicalCompositionComponent>(uid, out var composition))
{
var matPrice = GetMaterialPrice(composition);
@@ -278,7 +281,8 @@ public sealed class PricingSystem : EntitySystem
{
double price = 0;
if (prototype.Components.ContainsKey(_factory.GetComponentName(typeof(MaterialComponent))) &&
//CP14 We take materials into account when calculating the price in any case.
if ((prototype.Components.ContainsKey(_factory.GetComponentName(typeof(MaterialComponent))) || prototype.ID.StartsWith("CP14")) &&
prototype.Components.TryGetValue(_factory.GetComponentName(typeof(PhysicalCompositionComponent)), out var composition))
{
var compositionComp = (PhysicalCompositionComponent) composition.Component;