Cargo system (#487)

* simple storeship arriving

* pupu

* ship cycling

* buy positions prototypes

* i hate UI

* PriceControl

* second tab ui

* baloon! pallets!

* update shop in town

* setup billboard timer

* split to sell and buy categories

* renaming gaming

* actually selling

* fix infinity selling

* improve timer

* move description too rigt part UI

* bar selling

* iron cabinet

* purge currency categories

* remove town balance, add money box

* special proposal, FTLImmune anchor

* fix UI

* remove tests buying

* Update CP14StoreWindow.xaml.cs

* currency converter

* currency clean up

* Update CP14CargoSystem.cs

* clean up part 2

* rider petpet

* coins audio

* coin improvment

* Update coins.yml

* translate

* more coins roundstart

* Update wallet.yml

* Update wallet.yml

* generate coin problem fix

* refactor proto reading

* fixes

* huh

* shuttle logshit fix, add to tavern map

* Update CP14StationTravelingStoreShipTargetComponent.cs
This commit is contained in:
Ed
2024-10-15 15:22:06 +03:00
committed by GitHub
parent 4425b77c90
commit d259191d3d
93 changed files with 2793 additions and 2241 deletions

View File

@@ -381,7 +381,7 @@
- type: accent
id: chatsanitize
wordReplacements:
#CP14-RU-ChatSanitize-Start
#CP14-ChatSanitize-Start
cp14-chatsan-word-1: cp14-chatsan-replacement-1
cp14-chatsan-word-2: cp14-chatsan-replacement-2
cp14-chatsan-word-3: cp14-chatsan-replacement-3
@@ -468,7 +468,15 @@
cp14-chatsan-word-84: cp14-chatsan-replacement-84
cp14-chatsan-word-85: cp14-chatsan-replacement-85
cp14-chatsan-word-86: cp14-chatsan-replacement-86
#CP14-RU-ChatSanitize-End
cp14-chatsan-word-87: cp14-chatsan-replacement-87
cp14-chatsan-word-88: cp14-chatsan-replacement-88
cp14-chatsan-word-89: cp14-chatsan-replacement-89
cp14-chatsan-word-90: cp14-chatsan-replacement-90
cp14-chatsan-word-91: cp14-chatsan-replacement-91
cp14-chatsan-word-92: cp14-chatsan-replacement-92
cp14-chatsan-word-93: cp14-chatsan-replacement-93
cp14-chatsan-word-94: cp14-chatsan-replacement-94
#CP14-ChatSanitize-End
chatsan-word-1: chatsan-replacement-1
chatsan-word-2: chatsan-replacement-2
chatsan-word-3: chatsan-replacement-3

View File

@@ -26,14 +26,23 @@
- type: CP14Currency
currency: 1
category: Currency
- type: EmitSoundOnLand
sound:
path: /Audio/_CP14/Items/coins_fall.ogg
- type: EmitSoundOnDrop
sound:
collection: CP14Coins
- type: EmitSoundOnPickup
sound:
collection: CP14Coins
# Copper
- type: entity
id: CP14CopperCoin
parent: CP14BaseCoin
name: copper crown
description: The minimum unit of currency in the world of Eberron. One tenth of a silver sovereign.
name: copper coin
description: The smallest denomination coin. Copper.
suffix: 10 coins
components:
- type: Sprite
@@ -72,8 +81,8 @@
- type: entity
id: CP14SilverCoin
parent: CP14BaseCoin
name: silver sovereign
description: Equivalent to 10 copper crowns, and is 1 tenth of a gold galifar.
name: silver coin
description: A valuable coin made from a precisely calibrated silver alloy..... and something else. Equal in value to ten coppers.
suffix: 10 coins
components:
- type: Sprite
@@ -112,8 +121,8 @@
- type: entity
id: CP14GoldCoin
parent: CP14BaseCoin
name: gold galifar
description: Equivalent to 10 silver sovereign, and is 1 tenth of a platinum coin.
name: gold coin
description: A gold, big, beautiful coin. Valuable enough to be stolen by bandits. Equal in value to ten silver coins.
suffix: 10 coins
components:
- type: Sprite
@@ -152,8 +161,8 @@
- type: entity
id: CP14PlatinumCoin
parent: CP14BaseCoin
name: platinum dragon
description: Equivalent to 10 gold galifar, and is the most expensive coin in Eberron's world.
name: platinum coin
description: A platinum coin? It's so rare. Ten gold pieces is the price of one.
suffix: 10 coins
components:
- type: Sprite

View File

@@ -28,7 +28,9 @@
- type: StorageFillVisualizer
maxFillLevels: 4
fillBaseName: wallet
- type: Dumpable #TODO sounds
- type: Dumpable
soundDump:
collection: CP14Coins
multiplier: 0.8
- type: Clothing
slots: [belt]
@@ -44,3 +46,7 @@
contents:
- id: CP14CopperCoin1
- id: CP14CopperCoin1
- id: CP14CopperCoin1
- id: CP14CopperCoin1
- id: CP14CopperCoin1
- id: CP14SilverCoin1

View File

@@ -60,6 +60,4 @@
path: /Audio/_CP14/Effects/thud.ogg
params:
variation: 0.03
volume: 2
- type: CP14Currency
currency: 1500
volume: 2

View File

@@ -39,6 +39,4 @@
cPAnimationLength: 0.3
cPAnimationOffset: -1.3
- type: StaminaDamageOnHit
damage: 4
- type: CP14Currency
currency: 20
damage: 4

View File

@@ -42,6 +42,4 @@
offset: 0.15,0.15
removalTime: 1
- type: ThrowingAngle
angle: 225
- type: CP14Currency
currency: 200
angle: 225

View File

@@ -38,6 +38,4 @@
- type: DamageOnLand
damage:
types:
Slash: 12
- type: CP14Currency
currency: 500
Slash: 12

View File

@@ -44,6 +44,4 @@
collection: CP14Hammering
params:
variation: 0.03
volume: 2
- type: CP14Currency
currency: 200
volume: 2

View File

@@ -29,6 +29,4 @@
collection: MetalThud
cPAnimationLength: 0.25
- type: StaminaDamageOnHit
damage: 6
- type: CP14Currency
currency: 500
damage: 6

View File

@@ -40,6 +40,4 @@
collection: MetalThud
- type: Tag
tags:
- CP14HerbalGathering
- type: CP14Currency
currency: 100
- CP14HerbalGathering

View File

@@ -37,6 +37,4 @@
- type: CP14SkillRequirement
fuckupChance: 0.5
requiredSkills:
- Warcraft
- type: CP14Currency
currency: 1200
- Warcraft

View File

@@ -84,6 +84,4 @@
- type: IncreaseDamageOnWield
damage:
types:
Slash: 6
- type: CP14Currency
currency: 2000
Slash: 6

View File

@@ -0,0 +1,15 @@
- type: entity
id: CP14BaseExpedition
categories: [ HideSpawnMenu ]
parent:
- BaseStation
- BaseStationAllEventsEligible
- BaseStationJobsSpawning
- BaseStationAlertLevels #Checks fail without it
- CP14BaseTrading
- type: entity
id: CP14BaseTrading
abstract: true
components:
- type: CP14StationTravelingStoreShipTarget

View File

@@ -1,7 +0,0 @@
- type: entity
id: CP14BaseExpedition
parent:
- BaseStation
- BaseStationAllEventsEligible
- BaseStationJobsSpawning
- BaseStationAlertLevels #Checks fail without it

View File

@@ -1,5 +1,5 @@
- type: entity
id: CP14DresserBase
id: CP14CabinetBase
parent: BaseStructure
abstract: true
components:
@@ -99,15 +99,15 @@
- type: Rotatable
- type: entity
name: wooden dresser
name: wooden cabinet
parent:
- CP14DresserBase
- CP14CabinetBase
- CP14BaseFlammableSpreading
id: CP14WoodenDresser
description: A regular wooden dresser.
id: CP14WoodenCabinet
description: A regular wooden cabinet.
components:
- type: Sprite
sprite: _CP14/Structures/Storage/Dressers/wood_dresser.rsi
sprite: _CP14/Structures/Storage/Dressers/wood_cabinet.rsi
state: icons
- type: Damageable
damageContainer: Inorganic
@@ -126,6 +126,38 @@
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
parent: CP14CabinetBase
id: C14IronCabinet
name: iron cabinet
description: an iron cabinet. Sturdy, lockable. You can store your valuables here without fear of some burglar taking it all for himself.
components:
- type: Sprite
sprite: _CP14/Structures/Storage/Dressers/iron_cabinet.rsi
state: icons
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: StructuralMetallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 75
behaviors:
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
parent: C14IronCabinet
id: C14IronCabinetCargo
name: money box
description: An armored vault for storing money for trade with the city. City workers will unload their earnings here, or take them from here when you want to buy something.
components:
- type: CP14CargoMoneyBox
- type: entity
name: wooden cupboard
parent:

View File

@@ -0,0 +1,72 @@
- type: entity
id: CP14BasePallets
abstract: true
placement:
mode: SnapgridCenter
components:
- type: Clickable
- type: Sprite
sprite: _CP14/Structures/Furniture/pallets.rsi
snapCardinals: true
drawdepth: FloorTiles
- type: Transform
anchored: true
- type: entity
id: CP14WoodenPallet
parent:
- CP14BasePallets
- CP14BaseFlammable
name: wooden pallet
description: wooden goods stand
components:
- type: Sprite
state: wooden
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepWood
- type: Damageable
damageContainer: Inorganic
damageModifierSet: Wood
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 500
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 200
behaviors:
- !type:SpawnEntitiesBehavior
spawn:
CP14WoodenPlanks1:
min: 1
max: 1
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: entity
id: CP14WoodenPalletSell
parent: CP14WoodenPallet
name: selling wooden pallet
components:
- type: CP14SellingPalett
- type: Sprite
layers:
- state: wooden
- state: sell
- type: entity
id: CP14WoodenPalletBuy
parent: CP14WoodenPallet
name: buying wooden pallet
components:
- type: CP14BuyingPalett
- type: Sprite
layers:
- state: wooden
- state: buy

View File

@@ -0,0 +1,50 @@
- type: entity
id: CP14CashConverter
parent: BaseStructure
name: cash converter
description: A simple magical device connected by small portals to the empire's central bank. It allows you to convert coins between denominations, and doesn't even charge interest! That's generous.
components:
- type: InteractionOutline
- type: CP14CurrencyConverter
- type: Transform
anchored: true
- type: Sprite
drawdepth: Mobs
noRot: true
offset: 0, 0.2
sprite: _CP14/Structures/Specific/Economy/cash_device.rsi
state: base
- type: Anchorable
delay: 1
- type: Damageable
damageContainer: StructuralInorganic
damageModifierSet: Metallic
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 80
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- trigger:
!type:DamageTrigger
damage: 40
behaviors:
- !type:DoActsBehavior
acts: ["Destruction"]
- !type:PlaySoundBehavior
sound:
collection: MetalBreak
#- !type:CP14ThrowStoredCurrencyBehaviour #TODO
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeAabb
bounds: "-0.4,-0.4,0.4,0.4"
density: 190
mask:
- MachineMask
layer:
- MachineLayer

View File

@@ -0,0 +1,22 @@
- type: entity
parent: BaseStructure
id: CP14TravelingShop
name: city trading information board
description: Allows you to track what the city is selling and buying right now.
components:
- type: Sprite
snapCardinals: true
sprite: _CP14/Structures/Furniture/workbench.rsi
state: filler
- type: Icon
sprite: _CP14/Structures/Furniture/workbench.rsi
state: filler
- type: ActivatableUI
key: enum.CP14StoreUiKey.Key
- type: Clickable
- type: InteractionOutline
- type: CP14CargoStore
- type: UserInterface
interfaces:
enum.CP14StoreUiKey.Key:
type: CP14StoreBoundUserInterface

View File

@@ -0,0 +1,19 @@
- type: entity
id: CP14TravelingStoreshipAnchor
name: traveling storeship anchor
placement:
mode: SnapgridCenter
description: the point of adhesion of a traveling storeship to the surface. Keep your eyes to the sky so you don't get crushed!
components:
- type: Clickable
- type: Sprite
sprite: _CP14/Structures/traveling_storeship_anchor.rsi
state: base
drawdepth: FloorTiles
- type: Icon
sprite: _CP14/Structures/traveling_storeship_anchor.rsi
state: base
- type: Transform
anchored: true
- type: CP14TravelingStoreShipFTLTarget
- type: FTLSmashImmune

View File

@@ -31,7 +31,7 @@
- ItemMask
layer:
- SlipLayer
fix2: #For melee like water bucket
fix2: #For melee like water bucket (dont work)
hard: true
shape:
!type:PhysShapeAabb

View File

@@ -20,7 +20,7 @@
minPlayers: 0
stations:
Dev:
stationProto: StandardStationArena
stationProto: CP14BaseExpedition
components:
- type: StationNameSetup
mapNameTemplate: "Dev"

View File

@@ -47,4 +47,11 @@
id: CP14Book
files:
- /Audio/_CP14/Items/book1.ogg
- /Audio/_CP14/Items/book2.ogg
- /Audio/_CP14/Items/book2.ogg
- type: soundCollection
id: CP14Coins
files:
- /Audio/_CP14/Items/coins1.ogg
- /Audio/_CP14/Items/coins2.ogg
- /Audio/_CP14/Items/coins3.ogg

View File

@@ -0,0 +1,14 @@
- type: storePositionBuy
id: CP14AlchemyNormalizer
name: cp14-store-buy-alchemy-normalizer-name
desc: cp14-store-buy-alchemy-normalizer-desc
icon:
sprite: _CP14/Structures/Specific/Alchemy/normalizer.rsi
state: base
price:
min: 400
max: 500
services:
- !type:CP14BuyItemsService
product:
CP14AlchemyNormalizer: 1

View File

@@ -0,0 +1,41 @@
- type: storePositionSell
id: GoldBars
name: cp14-store-sell-goldbar-name
desc: cp14-store-sell-goldbar-desc
icon:
sprite: _CP14/Objects/Materials/gold_bar.rsi
state: bar_3
price:
min: 1000
max: 1000
service: !type:CP14SellStackService
stackId: CP14GoldBar
count: 10
- type: storePositionSell
id: IronBars
name: cp14-store-sell-ironbar-name
desc: cp14-store-sell-ironbar-desc
icon:
sprite: _CP14/Objects/Materials/iron_bar.rsi
state: bar_3
price:
min: 500
max: 500
service: !type:CP14SellStackService
stackId: CP14IronBar
count: 10
- type: storePositionSell
id: CopperBars
name: cp14-store-sell-copperbar-name
desc: cp14-store-sell-copperbar-desc
icon:
sprite: _CP14/Objects/Materials/copper_bar.rsi
state: bar_3
price:
min: 400
max: 500
service: !type:CP14SellStackService
stackId: CP14CopperBar
count: 10