Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds Purchasable Arena Mob Crates #2563

Merged
merged 16 commits into from
Jan 7, 2025
1 change: 1 addition & 0 deletions Content.IntegrationTests/Tests/CargoTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ public sealed class CargoTest
[
// This is ignored because it is explicitly intended to be able to sell for more than it costs.
// new("FunCrateGambling") // DeltaV - no gambling
new("LivestockArenaMobLarge") // Deltav - add crate to exceptions
];

[Test]
Expand Down
21 changes: 21 additions & 0 deletions Resources/Prototypes/_DV/Catalog/Cargo/cargo_livestock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,24 @@
cost: 3500
category: Livestock
group: market

#Move to armory if we ever do access-specific purchasing
- type: cargoProduct
id: LivestockArenaMobSmall
icon:
sprite: Mobs/Aliens/Carps/space.rsi
state: icon
product: CrateArenaMobSmall
cost: 4000
category: cargoproduct-category-name-livestock
group: market

- type: cargoProduct
id: LivestockArenaMobLarge
icon:
sprite: Mobs/Aliens/Xenos/queen.rsi
state: running
product: CrateArenaMobLarge
cost: 6000
category: cargoproduct-category-name-livestock
group: market
246 changes: 246 additions & 0 deletions Resources/Prototypes/_DV/Catalog/Fills/Crates/arena.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
- type: entity
id: CrateArenaMob
parent: CrateLivestockSecureReinforced
abstract: true
name: arena dangerous creature crate
description: A reinforced crate containing a dangerous creature for sanctioned gladiators to fight in the arena. Warning-Do not open without proper security protocols in place.
components:
- type: AccessReader
access: [["Armory"]]
- type: DoorSignalControl
- type: DeviceNetwork
deviceNetId: Wireless
receiveFrequencyId: BasicDevice
- type: WirelessNetworkConnection
range: 200
- type: DeviceLinkSink
ports:
- Open
- Close
- Toggle

- type: entity
id: CrateArenaMobSmall
parent: CrateArenaMob
name: arena dangerous creature(small) crate
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: SmallArenaMobTable

- type: entity
id: CrateArenaMobLarge
parent: CrateArenaMob
name: arena dangerous creature(large) crate
components:
- type: EntityTableContainerFill
containers:
entity_storage: !type:NestedSelector
tableId: LargeArenaMobTable

#Tables
- type: entityTable
id: SmallArenaMobTable
table: !type:GroupSelector
children:
#Common
- !type:GroupSelector
weight: 10
children:
- !type:GroupSelector
children:
- id: MobCarp
amount: !type:RangeNumberSelector
range: 1, 4
- id: MobCarpMagic
amount: !type:RangeNumberSelector
range: 1, 4
- id: MobCarpHolo
amount: !type:RangeNumberSelector
range: 1, 4
- id: MobCarpRainbow
amount: !type:RangeNumberSelector
range: 1, 4
- id: MobShark
weight: 0.2
amount: !type:RangeNumberSelector
range: 1, 2
- !type:GroupSelector
children:
- id: MobPurpleSnake
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobCobraSpace
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobSmallPurpleSnake
amount: !type:RangeNumberSelector
range: 1, 6
weight: 0.4
- !type:GroupSelector
children:
- id: MobArgocyteSkitter
amount: !type:RangeNumberSelector
range: 1, 4
- id: MobArgocyteSwiper
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobArgocyteMolder
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobArgocytePouncer
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobArgocyteGlider
amount: !type:RangeNumberSelector
range: 1, 2
- id: MobArgocyteHarvester
amount: !type:RangeNumberSelector
range: 1, 2
#Nanotrasen has not yet developed the technology to hold these creatures
#- id: MobArgocyteCrawler
# amount: !type:RangeNumberSelector
# range: 1, 2
- !type:GroupSelector
children:
- id: MobWatcherLavaland
amount: !type:RangeNumberSelector
range: 1, 2
- id: MobWatcherIcewing
amount: !type:RangeNumberSelector
range: 1, 2
- id: MobWatcherMagmawing
amount: !type:RangeNumberSelector
range: 1, 2
- id: MobWatcherPride
amount: !type:RangeNumberSelector
range: 1, 2
weight: 0.1
- !type:GroupSelector
children:
- id: MobAdultSlimesBlueAngry
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobAdultSlimesGreenAngry
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobAdultSlimesYellowAngry
amount: !type:RangeNumberSelector
range: 1, 3
- id: MobTomatoKiller
amount: !type:RangeNumberSelector
range: 4, 8
#Uncommon
- !type:GroupSelector
weight: 0.5
children:
- id: MobLaserRaptor
weight: 10
- id: MobLaserRaptor
amount: !type:ConstantNumberSelector
value: 2
- id: MobFleshClamp
amount: !type:ConstantNumberSelector
value: 3

- type: entityTable
id: LargeArenaMobTable
table: !type:GroupSelector
children:
#Common
- !type:GroupSelector
weight: 10
children:
- !type:GroupSelector
children:
- id: MobBearSpace
- id: MobKangarooSpace
- id: MobKangarooSpace
#Nanotrasen has not yet developed the technology to hold these creatures
#- !type:GroupSelector
#children:
#- id: MobArgocyteEnforcer
#- id: MobArgocyteFounder
- !type:GroupSelector
children:
- id: MobXeno
- id: MobXenoPraetorianNPC
- id: MobXenoDroneNPC
- id: MobXenoRavagerNPC
- id: MobXenoRunnerNPC
- id: MobXenoRounyNPC
- id: MobXenoSpitterNPC
- id: MobXenoQueenNPC
- !type:GroupSelector
children:
- id: MobQuartzCrab
- id: MobIronCrab
- id: MobUraniumCrab
- id: MobSilverCrab
- !type:GroupSelector
weight: 0.5
children:
- id: MobQuartzCrab
amount: !type:ConstantNumberSelector
value: 2
- id: MobIronCrab
amount: !type:ConstantNumberSelector
value: 2
- id: MobUraniumCrab
amount: !type:ConstantNumberSelector
value: 2
- id: MobSilverCrab
amount: !type:ConstantNumberSelector
value: 2
- !type:GroupSelector
children:
- id: ReagentSlimeBeer
weight: 1.5
- id: ReagentSlimePax
- id: ReagentSlimeNocturine
weight: 1.5
- id: ReagentSlimeTHC
weight: 1.5
- id: ReagentSlimeBicaridine
- id: ReagentSlimeToxin
weight: 1.5
- id: ReagentSlimeNapalm
- id: ReagentSlimeMuteToxin
- id: ReagentSlimeNorepinephricAcid
- id: ReagentSlimeEphedrine
- id: ReagentSlimeRobustHarvest
- id: ReagentSlimeOmnizine
weight: 0.5
#Uncommon
- !type:GroupSelector
weight: 0.5
children:
- id: MobFleshJared
- id: MobFleshGolem
- id: MobFleshLover
- id: MobAbomination
- !type:GroupSelector
weight: 0.5
children:
- id: MobCarp
amount: !type:RangeNumberSelector
value: 6
- id: MobCobraSpace
amount: !type:RangeNumberSelector
value: 6
- id: MobArgocytePouncer
amount: !type:RangeNumberSelector
value: 6
- id: MobWatcherPride
amount: !type:RangeNumberSelector
value: 6
- id: MobAdultSlimesGreenAngry
amount: !type:RangeNumberSelector
value: 6
#Nanotrasen has not yet developed the technology to hold these creatures
#Rare
#- !type:GroupSelector
# weight: 0.1
# children:
# - id: MobArgocyteLeviathing
Loading
Loading