Public market + Solutions requests (#1503)

* Add platform markup to trading platform prices

Introduces a PlatformMarkupProcent field to CP14TradingPlatformComponent and applies it to price calculations in both client and server logic. Adds a new public trading platform entity with a higher markup and updates related sprites and metadata.

* Add platform markup percent to selling platforms

Introduces a PlatformMarkupProcent field to CP14SellingPlatformComponent, allowing selling platforms to apply a markup or markdown to item prices. Updates server logic to use this value when calculating payouts and UI state. Adds a new public selling platform entity with a lower markup in the trade_platform.yml prototype.

* Add Brad Potions trading requests prototype

Introduces a new YAML prototype defining multiple cp14TradingRequest entries for the BradPotions faction, each specifying requirements for various potion effects with minimum purity and amount.

* Apply platform markup to selling prices and payouts

Updated the selling request control and platform window to factor in the platform's markup percentage when displaying prices. Adjusted the server-side payout logic to multiply the payout by the platform markup percentage, ensuring consistency between client display and server rewards.

* replace mapping to public platforms

* bug + remove eepy potions request

* Clarify purity requirement in workbench reagent text

Updated the reagent requirement string in both English and Russian locale files to indicate that the required purity is '{$purity}%+' instead of just '{$purity}%'. This clarifies that the purity must be at least the specified percentage.
This commit is contained in:
Red
2025-07-06 00:09:03 +03:00
committed by GitHub
parent ae89cb8821
commit 6570b1b4b6
19 changed files with 358 additions and 42 deletions

View File

@@ -49,6 +49,20 @@
# - CP14_RU_Trading
# - CP14_EN_Trading
- type: entity
parent: CP14TradingPlatform
id: CP14TradingPlatformPublic
name: public buying dimensional platform
description: Allows you to trade with the outside world, through retail trade transactions. But since this retail outlet is not bound by contracts with specific merchants, the markup here is terrible.
components:
- type: CP14TradingPlatform
platformMarkupProcent: 1.5
- type: Sprite
layers:
- state: base
- state: old
- state: buy
- type: entity
parent: BaseStructure
id: CP14TradingSellingPlatform
@@ -93,6 +107,20 @@
- LowImpassable
hard: false
- type: entity
parent: CP14TradingSellingPlatform
id: CP14TradingSellingPlatformPublic
name: public selling dimensional platform
description: Allows you to sell any items and structures to the outside world. Fill the platform completely with mana to sell whatever you place on it. But since this retail outlet is not bound by contracts with specific merchants, the markup here is terrible.
components:
- type: CP14SellingPlatform
platformMarkupProcent: 0.5
- type: Sprite
layers:
- state: base
- state: old
- state: sell
- type: entity
id: CP14CashImpact
categories: [ HideSpawnMenu ]

View File

@@ -0,0 +1,219 @@
- type: cp14TradingRequest
id: CP14BasicEffectHealBrute
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealBrute
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamageBrute
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamageBrute
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectHealHeat
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealHeat
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamageHeat
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamageHeat
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectHealCold
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealCold
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamageCold
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamageCold
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectHealPoison
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealPoison
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamagePoison
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamagePoison
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectHealAirloss
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealAirloss
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamageAirloss
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamageAirloss
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectHealManaDepletion
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealManaDepletion
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamageManaDepletion
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamageManaDepletion
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectBloodRestore
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectBloodRestore
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectBloodAbsorption
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectBloodAbsorption
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectSatiateHunger
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectSatiateHunger
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectSatiateThirst
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectSatiateThirst
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectHealMana
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealMana
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamageMana
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamageMana
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectHealStam
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectHealStam
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectDamageStam
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectDamageStam
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectSpeedUp
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectSpeedUp
amount: 10
purity: 0.75
- type: cp14TradingRequest
id: CP14BasicEffectSpeedDown
possibleFactions:
- BradPotions
requirements:
- !type:SolutionResource
reagent: CP14BasicEffectSpeedDown
amount: 10
purity: 0.75