From c41fe93040ff9a63ba26a39c0c505fce35b02389 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Thu, 15 Aug 2024 15:26:02 -0400 Subject: [PATCH] Salvage Spawners (#31020) * treasure entities and spawners * no more smiles --- .../Spawners/Random/Salvage/spawners.yml | 458 ++++++++++++++++++ .../Spawners/Random/Salvage/tables_loot.yml | 226 +++++++++ .../Markers/Spawners/Random/instruments.yml | 77 +-- .../Markers/Spawners/Random/salvage.yml | 23 - .../Objects/Consumable/Drinks/drinks_cups.yml | 2 + .../Objects/Materials/Sheets/other.yml | 10 + .../Entities/Objects/Misc/treasure.yml | 191 ++++++++ .../Misc/coins.rsi/coin_adamantine.png | Bin 0 -> 358 bytes .../Objects/Misc/coins.rsi/coin_diamond.png | Bin 0 -> 353 bytes .../Objects/Misc/coins.rsi/coin_gold.png | Bin 0 -> 355 bytes .../Objects/Misc/coins.rsi/coin_iron.png | Bin 0 -> 347 bytes .../Objects/Misc/coins.rsi/coin_silver.png | Bin 0 -> 306 bytes .../Textures/Objects/Misc/coins.rsi/meta.json | 26 + .../Misc/module.rsi/datadisk_encrypted.png | Bin 0 -> 404 bytes .../Objects/Misc/module.rsi/meta.json | 2 +- .../Objects/Misc/sample_tubes.rsi/blank.png | Bin 0 -> 332 bytes .../Objects/Misc/sample_tubes.rsi/energy.png | Bin 0 -> 337 bytes .../Objects/Misc/sample_tubes.rsi/meta.json | 29 ++ .../Objects/Misc/sample_tubes.rsi/power.png | Bin 0 -> 332 bytes .../Misc/sample_tubes.rsi/reinforcer.png | Bin 0 -> 311 bytes .../Misc/sample_tubes.rsi/stabilizer.png | Bin 0 -> 336 bytes .../Misc/sample_tubes.rsi/synchronizer.png | Bin 0 -> 336 bytes 22 files changed, 986 insertions(+), 58 deletions(-) create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml create mode 100644 Resources/Prototypes/Entities/Objects/Misc/treasure.yml create mode 100644 Resources/Textures/Objects/Misc/coins.rsi/coin_adamantine.png create mode 100644 Resources/Textures/Objects/Misc/coins.rsi/coin_diamond.png create mode 100644 Resources/Textures/Objects/Misc/coins.rsi/coin_gold.png create mode 100644 Resources/Textures/Objects/Misc/coins.rsi/coin_iron.png create mode 100644 Resources/Textures/Objects/Misc/coins.rsi/coin_silver.png create mode 100644 Resources/Textures/Objects/Misc/coins.rsi/meta.json create mode 100644 Resources/Textures/Objects/Misc/module.rsi/datadisk_encrypted.png create mode 100644 Resources/Textures/Objects/Misc/sample_tubes.rsi/blank.png create mode 100644 Resources/Textures/Objects/Misc/sample_tubes.rsi/energy.png create mode 100644 Resources/Textures/Objects/Misc/sample_tubes.rsi/meta.json create mode 100644 Resources/Textures/Objects/Misc/sample_tubes.rsi/power.png create mode 100644 Resources/Textures/Objects/Misc/sample_tubes.rsi/reinforcer.png create mode 100644 Resources/Textures/Objects/Misc/sample_tubes.rsi/stabilizer.png create mode 100644 Resources/Textures/Objects/Misc/sample_tubes.rsi/synchronizer.png diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml new file mode 100644 index 0000000000..9979090459 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/spawners.yml @@ -0,0 +1,458 @@ +- type: entityTable + id: SalvageScrapSpawnerCommon + table: !type:GroupSelector + children: + # 70% chance of scrap of some kind + - !type:GroupSelector + weight: 70 + children: + - !type:NestedSelector + tableId: SalvageScrapLowValue + weight: 60 + - !type:NestedSelector + tableId: SalvageScrapHighValue + weight: 30 + - !type:NestedSelector + tableId: SalvageScrapLarge + weight: 10 + # 10% chance of some trash + - !type:NestedSelector + tableId: GenericTrashItems + weight: 10 + # 15% chance of low-value equipment + - !type:NestedSelector + tableId: SalvageEquipmentCommon + weight: 15 + # 5% chance of low-value treasure or maintenance tools + - !type:GroupSelector + weight: 5 + children: + - !type:NestedSelector + tableId: SalvageTreasureCommon + - !type:NestedSelector + tableId: MaintToolsTable + +- type: entity + parent: MarkerBase + id: SalvageSpawnerScrapCommon + name: Salvage Scrap Spawner + suffix: Common, 50% + components: + - type: Sprite + layers: + - state: pink + - sprite: Objects/Materials/Scrap/generic.rsi + state: metal-1 + - type: EntityTableSpawner + offset: 0.4 + table: !type:NestedSelector + tableId: SalvageScrapSpawnerCommon + prob: 0.5 + +- type: entity + parent: SalvageSpawnerScrapCommon + id: SalvageSpawnerScrapCommon75 + suffix: Common, 75% + components: + - type: EntityTableSpawner + offset: 0.4 + table: !type:NestedSelector + tableId: SalvageScrapSpawnerCommon + prob: 0.75 + +- type: entityTable + id: SalvageScrapSpawnerValuable + table: !type:GroupSelector + children: + # 75% chance of scrap of some kind + - !type:GroupSelector + weight: 75 + children: + - !type:NestedSelector + tableId: SalvageScrapLowValue + weight: 20 + - !type:NestedSelector + tableId: SalvageScrapHighValue + weight: 40 + - !type:NestedSelector + tableId: SalvageScrapLarge + weight: 40 + # 15% chance of low-value equipment + - !type:NestedSelector + tableId: SalvageEquipmentCommon + weight: 15 + # 10% chance of low-value treasure or maintenance tools + - !type:GroupSelector + weight: 10 + children: + - !type:NestedSelector + tableId: SalvageTreasureCommon + - !type:NestedSelector + tableId: MaintToolsTable + - !type:NestedSelector + tableId: SalvageTreasureUncommon + weight: 0.25 + +- type: entity + parent: MarkerBase + id: SalvageSpawnerScrapValuable + name: Salvage Scrap Spawner + suffix: Valuable, 50% + components: + - type: Sprite + layers: + - state: pink + - sprite: Objects/Materials/Scrap/generic.rsi + state: junk-airlock-1 + - type: EntityTableSpawner + offset: 0.4 + table: !type:NestedSelector + tableId: SalvageScrapSpawnerValuable + prob: 0.5 + +- type: entity + parent: SalvageSpawnerScrapValuable + id: SalvageSpawnerScrapValuable75 + suffix: Valuable, 75% + components: + - type: EntityTableSpawner + offset: 0.4 + table: !type:NestedSelector + tableId: SalvageScrapSpawnerValuable + prob: 0.75 + +- type: entity + parent: MarkerBase + id: SalvageSpawnerTreasure + name: Salvage Treasure Spawner + suffix: Common, 75% + components: + - type: Sprite + layers: + - state: pink + - sprite: Objects/Materials/materials.rsi + state: diamond + - type: EntityTableSpawner + offset: 0.4 + table: !type:GroupSelector + prob: 0.75 + children: + # 80% chance of some treasure + - !type:GroupSelector + weight: 80 + children: + - !type:NestedSelector + tableId: SalvageTreasureCommon + weight: 60 + - !type:NestedSelector + tableId: SalvageTreasureUncommon + weight: 30 + - !type:NestedSelector + tableId: SalvageTreasureRare + weight: 9 + - !type:NestedSelector + tableId: SalvageTreasureLegendary + weight: 1 + # 10% chance of low-level equipment + - !type:GroupSelector + weight: 10 + children: + - !type:NestedSelector + tableId: SalvageEquipmentCommon + weight: 60 + - !type:NestedSelector + tableId: SalvageEquipmentUncommon + weight: 40 + # 5% chance of moderate scrap + - !type:GroupSelector + weight: 5 + children: + - !type:NestedSelector + tableId: SalvageScrapLowValue + weight: 60 + - !type:NestedSelector + tableId: SalvageScrapHighValue + weight: 30 + - !type:NestedSelector + tableId: SalvageScrapLarge + weight: 10 + # 5% chance of maintenance fluff + - !type:NestedSelector + tableId: MaintFluffTable + weight: 5 + +- type: entity + parent: MarkerBase + id: SalvageSpawnerTreasureValuable + name: Salvage Treasure Spawner + suffix: Valuable, 75% + components: + - type: Sprite + layers: + - state: pink + - sprite: Objects/Materials/materials.rsi + state: diamond + - type: EntityTableSpawner + offset: 0.4 + table: !type:GroupSelector + prob: 0.75 + children: + # 80% chance of some treasure + - !type:GroupSelector + weight: 80 + children: + - !type:NestedSelector + tableId: SalvageTreasureCommon + weight: 45 + - !type:NestedSelector + tableId: SalvageTreasureUncommon + weight: 35 + - !type:NestedSelector + tableId: SalvageTreasureRare + weight: 15 + - !type:NestedSelector + tableId: SalvageTreasureLegendary + weight: 5 + # 10% chance of low-level equipment + - !type:GroupSelector + weight: 10 + children: + - !type:NestedSelector + tableId: SalvageEquipmentCommon + weight: 50 + - !type:NestedSelector + tableId: SalvageEquipmentUncommon + weight: 40 + - !type:NestedSelector + tableId: SalvageEquipmentUncommon + weight: 10 + # 5% chance of moderate scrap + - !type:GroupSelector + weight: 5 + children: + - !type:NestedSelector + tableId: SalvageScrapLowValue + weight: 30 + - !type:NestedSelector + tableId: SalvageScrapHighValue + weight: 45 + - !type:NestedSelector + tableId: SalvageScrapLarge + weight: 25 + # 5% chance of maintenance fluff + - !type:NestedSelector + tableId: MaintFluffTable + weight: 5 + rolls: !type:RangeNumberSelector + range: 1, 2 + +- type: entity + parent: MarkerBase + id: SalvageSpawnerEquipment + name: Salvage Equipment Spawner + suffix: Common, 75% + components: + - type: Sprite + layers: + - state: pink + - sprite: Objects/Devices/communication.rsi + state: walkietalkie + - type: EntityTableSpawner + offset: 0.4 + table: !type:GroupSelector + prob: 0.75 + children: + # 80% chance of equipment item + - !type:GroupSelector + weight: 80 + children: + - !type:NestedSelector + tableId: SalvageEquipmentCommon + weight: 60 + - !type:NestedSelector + tableId: SalvageEquipmentUncommon + weight: 30 + - !type:NestedSelector + tableId: SalvageEquipmentRare + weight: 9 + - !type:NestedSelector + tableId: SalvageEquipmentLegendary + weight: 1 + # 15% chance of decent-ish treasure + - !type:GroupSelector + weight: 15 + children: + - !type:NestedSelector + tableId: SalvageTreasureCommon + weight: 75 + - !type:NestedSelector + tableId: SalvageTreasureUncommon + weight: 20 + - !type:NestedSelector + tableId: SalvageTreasureRare + weight: 5 + # 5% chance of decent maintenance loot + - !type:GroupSelector + weight: 5 + children: + - !type:NestedSelector + tableId: MaintToolsTable + - !type:NestedSelector + tableId: MaintFluffTable + +- type: entity + parent: MarkerBase + id: SalvageSpawnerEquipmentValuable + name: Salvage Equipment Spawner + suffix: Valuable, 75% + components: + - type: Sprite + layers: + - state: pink + - sprite: Objects/Devices/communication.rsi + state: walkietalkie + - type: EntityTableSpawner + offset: 0.4 + table: !type:GroupSelector + prob: 0.75 + children: + # 80% chance of equipment item + - !type:GroupSelector + weight: 80 + children: + - !type:NestedSelector + tableId: SalvageEquipmentCommon + weight: 45 + - !type:NestedSelector + tableId: SalvageEquipmentUncommon + weight: 35 + - !type:NestedSelector + tableId: SalvageEquipmentRare + weight: 15 + - !type:NestedSelector + tableId: SalvageEquipmentLegendary + weight: 5 + # 14% chance of decent-ish treasure + - !type:GroupSelector + weight: 14 + children: + - !type:NestedSelector + tableId: SalvageTreasureCommon + weight: 60 + - !type:NestedSelector + tableId: SalvageTreasureUncommon + weight: 30 + - !type:NestedSelector + tableId: SalvageTreasureRare + weight: 10 + # 5% chance of decent maintenance loot + - !type:GroupSelector + weight: 5 + children: + - !type:NestedSelector + tableId: MaintToolsTable + - !type:NestedSelector + tableId: MaintFluffTable + # 1% chance of syndie maintenance loot + - !type:GroupSelector + weight: 1 + children: + - !type:NestedSelector + tableId: SyndieMaintLoot + +- type: entity + name: Salvage Canister Spawner + id: SalvageCanisterSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: pink + - sprite: Structures/Storage/canister.rsi + state: blue + - type: EntityTableSpawner + table: !type:GroupSelector + prob: 0.9 + children: + - id: AirCanister + - id: NitrogenCanister + - id: OxygenCanister + - id: CarbonDioxideCanister + - id: PlasmaCanister + weight: 0.25 + - id: NitrousOxideCanister + weight: 0.25 + +- type: entityTable + id: SalvageMagnetMobTable + table: !type:GroupSelector + children: + - id: MobCarpSalvage + weight: 60 + - id: MobCarpSalvage + weight: 25 + amount: !type:RangeNumberSelector + range: 1, 3 + - !type:AllSelector + weight: 15 + children: + - id: MobShark + - id: MobCarpSalvage + amount: !type:ConstantNumberSelector + value: 3 + # - id: MobHivebot (solo hivebot spawn) + +- type: entity + parent: MarkerBase + id: SalvageSpawnerMobMagnet + name: Salvage Magnet Mob Spawner + suffix: 50% + components: + - type: Sprite + layers: + - state: pink + - sprite: Mobs/Aliens/Carps/space.rsi + state: alive + - type: EntityTableSpawner + table: !type:NestedSelector + prob: 0.5 + tableId: SalvageMagnetMobTable + +- type: entity + parent: SalvageSpawnerMobMagnet + id: SalvageSpawnerMobMagnet75 + suffix: 75% + components: + - type: EntityTableSpawner + table: !type:NestedSelector + prob: 0.75 + tableId: SalvageMagnetMobTable + +- type: entity + parent: SalvageSpawnerMobMagnet + id: SalvageSpawnerMobMagnet100 + suffix: 100% + components: + - type: EntityTableSpawner + table: !type:NestedSelector + prob: 1.0 + tableId: SalvageMagnetMobTable + +- type: entity + parent: MarkerBase + id: SalvageSpawnerMobShark + name: Salvage Sharkminnow Spawner + components: + - type: Sprite + layers: + - state: pink + - sprite: Mobs/Aliens/Carps/sharkminnow.rsi + state: alive + - type: EntityTableSpawner + table: !type:AllSelector + children: + - id: MobShark + - id: MobCarpSalvage + amount: !type:ConstantNumberSelector + value: 3 + diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml new file mode 100644 index 0000000000..976febbd1d --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Salvage/tables_loot.yml @@ -0,0 +1,226 @@ +# Scrap: Worthless items that can be recycled into materials + +- type: entityTable + id: SalvageScrapLowValue + table: !type:GroupSelector + children: + - id: ScrapAirlock2 + - id: ScrapBucket + - id: ScrapCamera + - id: ScrapCanister1 + - id: ScrapCanister2 + - id: ScrapFaxMachine + - id: ScrapFireExtinguisher + - id: ScrapFirelock3 + - id: ScrapIntercom + - id: ScrapMedkit + - !type:GroupSelector + children: + - id: ScrapPAI + - id: ScrapPAIGold + weight: 0.1 + - id: ScrapTube + - id: ShardGlass + amount: !type:RangeNumberSelector + range: 1, 3 + - id: SheetSteel1 + weight: 0.5 + amount: !type:RangeNumberSelector + range: 1, 3 + - id: SheetPlastic1 + weight: 0.5 + amount: !type:RangeNumberSelector + range: 1, 3 + - id: PartRodMetal1 + weight: 0.5 + amount: !type:RangeNumberSelector + range: 1, 3 + +- type: entityTable + id: SalvageScrapHighValue + table: !type:GroupSelector + children: + - id: ScrapSteel + weight: 2 + - id: ScrapGlass + weight: 2 + # - id: ScrapPlastic TODO: high-value plastic scrap. + # weight: 2 + - id: SheetSteel10 + - id: SheetGlass10 + - id: SheetPlastic10 + - id: PartRodMetal10 + weight: 0.33 + - id: MaterialWoodPlank10 + weight: 0.2 + - id: SheetPlasma10 + weight: 0.2 + - id: ArtifactFragment1 + weight: 0.05 + - id: SheetPlasteel10 + weight: 0.05 + +- type: entityTable + id: SalvageScrapLarge + table: !type:GroupSelector + children: + - id: ScrapAirlock1 + - id: ScrapCloset + - id: ScrapFirelock1 + - id: ScrapFirelock2 + - id: ScrapJetpack + weight: 0.5 + - id: ScrapMopBucket + weight: 0.5 + +# Treasure: High-value scatterables that don't do a ton. + +- type: entityTable + id: SalvageTreasureCommon + table: !type:GroupSelector + children: + - id: SheetPlasma1 + amount: !type:RangeNumberSelector + range: 3, 5 + - id: ResearchDisk + - id: DrinkGoldenCup + - id: TreasureSampleTube + - !type:NestedSelector + tableId: TreasureCoinPile + rolls: !type:RangeNumberSelector + range: 1, 2 + - !type:NestedSelector + tableId: RandomInstrumentTable + +- type: entityTable + id: SalvageTreasureUncommon + table: !type:GroupSelector + children: + - id: IngotSilver1 + amount: !type:RangeNumberSelector + range: 1, 5 + - id: IngotGold1 + amount: !type:RangeNumberSelector + range: 3, 5 + - id: TreasureDatadiskEncrypted + - !type:GroupSelector + children: + - id: TreasureCDDrive + - id: TreasureHardDiskDrive + - id: TreasureFlopDiskDrive + - !type:NestedSelector + tableId: TreasureCoinPile + rolls: !type:RangeNumberSelector + range: 4, 7 + - id: SpaceCash1000 + - id: WristwatchGold + +- type: entityTable + id: SalvageTreasureRare + table: !type:GroupSelector + children: + - id: MaterialDiamond1 + - id: TreasureCPUSupercharged + - id: TechnologyDiskRare + weight: 0.5 + - id: ResearchDisk10000 + weight: 0.5 + - id: ArabianLamp + - !type:NestedSelector + tableId: TreasureCoinPileRare + rolls: !type:RangeNumberSelector + range: 2, 5 + - !type:AllSelector + children: + - id: BriefcaseBrown + - !type:GroupSelector + rolls: !type:RangeNumberSelector + range: 3, 5 + children: + - id: SpaceCash1000 + weight: 60 + - id: SpaceCash2500 + weight: 25 + - id: SpaceCash5000 + weight: 14 + - id: SpaceCash10000 + weight: 1 + +- type: entityTable + id: SalvageTreasureLegendary + table: !type:GroupSelector + children: + - id: ClothingMaskGoldenCursed + - id: ClothingHeadHatFancyCrown + - id: GoldenBikeHorn + - id: ClothingHeadHatCatEars + - id: TreasureCoinDiamond + amount: !type:RangeNumberSelector + range: 2, 5 + +# Equipment: Tools and things used by salvagers. Quote unquote "Gamer Loot" + +- type: entityTable + id: SalvageEquipmentCommon + table: !type:GroupSelector + children: + - id: Flare + - id: Crowbar + - id: Pickaxe + - id: ClothingMaskGas + - !type:GroupSelector + children: + - id: Wirecutter + - id: Screwdriver + - id: Wrench + - id: Welder + weight: 0.5 + - id: Shovel + - id: FlashlightLantern + - id: FireExtinguisher + +- type: entityTable + id: SalvageEquipmentUncommon + table: !type:GroupSelector + children: + - id: OreBag + - id: HandheldGPSBasic + - id: PowerCellHighPrinted + - id: RadioHandheld + - id: ClothingBeltUtility + - id: SurvivalKnife + - id: WeaponProtoKineticAccelerator + weight: 0.5 + - id: OxygenTankFilled + - !type:GroupSelector + children: + - id: ClothingHeadHatWelding + - id: ClothingHeadHatWeldingMaskFlame + weight: 0.25 + - id: ClothingHeadHatWeldingMaskFlameBlue + weight: 0.25 + - id: ClothingHeadHatWeldingMaskPainted + weight: 0.1 + +- type: entityTable + id: SalvageEquipmentRare + table: !type:GroupSelector + children: + - id: FultonBeacon + - id: Fulton + amount: !type:RangeNumberSelector + range: 1, 3 + - id: HandHeldMassScanner + - id: WeaponCrusherDagger + - id: MiningDrill + - id: ClothingEyesGlassesMeson + - id: ClothingBeltSalvageWebbing + - id: ClothingOuterHardsuitSalvage + +- type: entityTable + id: SalvageEquipmentLegendary + table: !type:GroupSelector + children: + - id: WeaponCrusher + - id: WeaponCrusherGlaive + - id: OmnizineChemistryBottle diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml index 0c54f37bd7..0d38015c40 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/instruments.yml @@ -1,3 +1,43 @@ +- type: entityTable + id: RandomInstrumentTable + table: !type:GroupSelector + children: + - !type:GroupSelector + weight: 95 + children: + - id: AcousticGuitarInstrument + - id: ViolinInstrument + - id: TrumpetInstrument + - id: ElectricGuitarInstrument + - id: AccordionInstrument + - id: HarmonicaInstrument + - id: TromboneInstrument + - id: FrenchHornInstrument + - id: EuphoniumInstrument + - id: SaxophoneInstrument + - id: BanjoInstrument + - id: GlockenspielInstrument + - id: XylophoneInstrument + - id: BikeHornInstrument + - id: RecorderInstrument + - id: FluteInstrument + - id: ClarinetInstrument + - id: CelloInstrument + - id: KalimbaInstrument + - id: MicrophoneInstrument + - id: BassGuitarInstrument + - id: OcarinaInstrument + - id: PanFluteInstrument + - !type:GroupSelector + weight: 5 + children: + - id: SynthesizerInstrument + - id: GunpetInstrument + - id: BagpipeInstrument + - id: RockGuitarInstrument + - id: MusicBoxInstrument + - id: ViolaInstrument + - type: entity id: RandomInstruments name: random instruments spawner @@ -8,37 +48,6 @@ - state: red - sprite: Objects/Fun/Instruments/h_synthesizer.rsi state: icon - - type: RandomSpawner - prototypes: - - AcousticGuitarInstrument - - ViolinInstrument - - TrumpetInstrument - - ElectricGuitarInstrument - - AccordionInstrument - - HarmonicaInstrument - - TromboneInstrument - - FrenchHornInstrument - - EuphoniumInstrument - - SaxophoneInstrument - - BanjoInstrument - - GlockenspielInstrument - - XylophoneInstrument - - BikeHornInstrument - - RecorderInstrument - - FluteInstrument - - ClarinetInstrument - - CelloInstrument - - KalimbaInstrument - - MicrophoneInstrument - - BassGuitarInstrument - - OcarinaInstrument - - PanFluteInstrument - chance: 0.95 - rarePrototypes: - - SynthesizerInstrument - - GunpetInstrument - - BagpipeInstrument - - RockGuitarInstrument - - MusicBoxInstrument - - ViolaInstrument - rareChance: 0.05 + - type: EntityTableSpawner + table: !type:NestedSelector + tableId: RandomInstrumentTable diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml index 34bf32d8d7..54020e2ab5 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml @@ -39,29 +39,6 @@ chance: 0.9 offset: 0.0 -- type: entity - name: Salvage Canister Spawner - id: SalvageCanisterSpawner - parent: MarkerBase - components: - - type: Sprite - layers: - - state: red - - sprite: Structures/Storage/canister.rsi - state: blue - - type: RandomSpawner - rarePrototypes: - - PlasmaCanister - rareChance: 0.03 - prototypes: - - AirCanister - - NitrogenCanister - - OxygenCanister - - CarbonDioxideCanister - - WaterVaporCanister - chance: 0.9 - offset: 0.0 - - type: entity name: salvage loot spawner id: SalvageLootSpawner diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml index 18e70d5d66..9dd386426c 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml @@ -51,6 +51,8 @@ components: - type: Sprite sprite: Objects/Consumable/Drinks/golden_cup.rsi + - type: StaticPrice + price: 125 - type: entity parent: DrinkBaseCup diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml index dfb5133628..1218f7a9d4 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml @@ -111,6 +111,16 @@ tags: - Sheet +- type: entity + parent: SheetPlasma + id: SheetPlasma10 + suffix: 10 + components: + - type: Sprite + state: plasma + - type: Stack + count: 10 + - type: entity parent: SheetPlasma id: SheetPlasma1 diff --git a/Resources/Prototypes/Entities/Objects/Misc/treasure.yml b/Resources/Prototypes/Entities/Objects/Misc/treasure.yml new file mode 100644 index 0000000000..20e72f8a11 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Misc/treasure.yml @@ -0,0 +1,191 @@ +- type: entity + parent: BaseItem + id: TreasureDatadiskEncrypted + name: encrypted datadisk + description: An old data disk. Someone savvier than you could unencrypt it and learn something juicy. All you can do is sell it. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + layers: + - state: datadisk_base + color: "#868686" + - state: datadisk_label + - state: datadisk_encrypted + - type: PointLight + radius: 1.5 + energy: 0.5 + castShadows: false + color: "#0000ff" + - type: StaticPrice + price: 500 + +- type: entity + parent: BaseItem + id: TreasureHardDiskDrive + name: hard disk drive + description: A disk drive designed for old Earth technology, circa 1980. There's probably some kind of collector who might want to get their paws on this. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + layers: + - state: harddisk + map: [ "base" ] + - type: Item + storedRotation: -90 + - type: RandomSprite + available: + - base: + harddisk: "" + harddisk_mini: "" + harddisk_micro: "" + - type: StaticPrice + price: 275 + +- type: entity + parent: BaseItem + id: TreasureFlopDiskDrive + name: floppy disk drive + description: A drive for reading off info off of floppy disks. Shame that the only things stored on them nowadays are nuclear bomb operations. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + layers: + - state: flopdrive + - type: Item + storedRotation: -90 + - type: StaticPrice + price: 350 + +- type: entity + parent: BaseItem + id: TreasureCDDrive + name: CD drive + description: A piece of tech for reading data off of CDs. Nowadays that's not the most useful thing, unless you plan on flying somewhere. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + layers: + - state: cddrive + - type: Item + storedRotation: -90 + - type: StaticPrice + price: 300 + +- type: entity + parent: BaseItem + id: TreasureCPUSupercharged + name: supercharged CPU + description: Some kind of super alien space tech. Shame all the computers already come with CPUs nowadays. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + layers: + - state: cpu_super + - type: Item + size: Tiny + - type: StaticPrice + price: 750 + +- type: entity + parent: BaseItem + id: TreasureSampleTube + name: sample tube + description: A glass tube with some sort of goop in it. Looks prone to breaking. + components: + - type: Sprite + sprite: Objects/Misc/sample_tubes.rsi + layers: + - state: blank + map: [ "base" ] + - type: RandomSprite + available: + - base: + blank: "" + power: "" + reinforcer: "" + energy: "" + synchronizer: "" + stabilizer: "" + - type: StaticPrice + price: 120 + +- type: entityTable + id: TreasureCoinPile + table: !type:GroupSelector + children: + - id: TreasureCoinIron + weight: 24 + - id: TreasureCoinSilver + weight: 40 + - id: TreasureCoinGold + weight: 24 + - id: TreasureCoinAdamantine + weight: 11 + - id: TreasureCoinDiamond + weight: 1 + +- type: entityTable + id: TreasureCoinPileRare + table: !type:GroupSelector + children: + - id: TreasureCoinIron + weight: 10 + - id: TreasureCoinSilver + weight: 25 + - id: TreasureCoinGold + weight: 40 + - id: TreasureCoinAdamantine + weight: 20 + - id: TreasureCoinDiamond + weight: 5 + +- type: entity + parent: BaseItem + id: TreasureCoinIron + name: coin + description: A flat bit of metal. If it was still in circulation, inflation would've made it worthless. Since it isn't, it's worth enough to keep in a book. + components: + - type: Sprite + sprite: Objects/Misc/coins.rsi + state: coin_iron + - type: Item + size: Tiny + - type: StaticPrice + price: 75 + +- type: entity + parent: TreasureCoinIron + id: TreasureCoinSilver + components: + - type: Sprite + state: coin_silver + - type: StaticPrice + price: 125 + +- type: entity + parent: TreasureCoinIron + id: TreasureCoinGold + components: + - type: Sprite + state: coin_gold + - type: StaticPrice + price: 175 + +- type: entity + parent: TreasureCoinIron + id: TreasureCoinAdamantine + components: + - type: Sprite + state: coin_adamantine + - type: StaticPrice + price: 250 + +- type: entity + parent: TreasureCoinIron + id: TreasureCoinDiamond + components: + - type: Sprite + state: coin_diamond + - type: StaticPrice + price: 500 + diff --git a/Resources/Textures/Objects/Misc/coins.rsi/coin_adamantine.png b/Resources/Textures/Objects/Misc/coins.rsi/coin_adamantine.png new file mode 100644 index 0000000000000000000000000000000000000000..127648949828593bbf16d6ab42d3e97a19b2724c GIT binary patch literal 358 zcmV-s0h#`ZP)7$gjqP6n&V&Ij;FB+TVpZqu5adM)QHr;p_Re?9l64)*6F009U<00O)P7-?%A zdcY&IR6H#G3?PD)u)@6ZJ$JF%@Ml;E8UW!C{9K`+-+*8cwzpu=@3Bg?#`YJTPeJW; zS+h|`uY&@#hfCe*a`W&)E^lhr!69Pi9lgJs=Xv^vmm^0hw&^ z7CN?sn>)NepN`)Fw8}{dwm~4^3_w8_XJWhAvQj4Y{X+VQ!Pj5=V{0YlpX{;ys=1JMSeq703Uj8b%S z0L&Y0Vul=_ga$-ugRLBwGzs0^@OB} z3~y$xe<*Ql+DxYfmt3F3cKY$I@V|3kUy)1kz@&I*BcW9%7(B%<9QSiLp}jrzsfO3r zRt6!CEu0-T#ixG@KXbGT+$ygOa(n~RkG6TcCnhWEL`&)cLyf`H)z4*}Q$iB}BkO|6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/coins.rsi/coin_iron.png b/Resources/Textures/Objects/Misc/coins.rsi/coin_iron.png new file mode 100644 index 0000000000000000000000000000000000000000..b5bdbf2f74db46b406b7f802f53490c8ce3aad32 GIT binary patch literal 347 zcmV-h0i^zkP)E$G5`j^02qLC0~AGZL$xf6(lovN3_uy% zwoQ)X@L5$=d?p1E1Hc@{N=?&H9LMCk?g1i!&>lhCwv;3Z`M%Hlx~>^SDiJ`IWw&XX z$n!ilhx)#!FbsLWEDI+gNkJUm+#U72!h}+eXLOw(LB$hyF>tG zSza)PbzOPph+Uau4}fjkD9`inzl2Dk>pB{SfsL_rBnD6^;2B8(WE{uiGn90%1)v~M t6^M@UTL8}>@95k=BLiRn41fXngzne>YizMCLi7Lt002ovPDHLkV1n00h?W2V literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/coins.rsi/coin_silver.png b/Resources/Textures/Objects/Misc/coins.rsi/coin_silver.png new file mode 100644 index 0000000000000000000000000000000000000000..88919124162fce3d435e36ed8678a23c64ad0b4d GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEP$F z#WAE}&f80de60#R3;{m>G9JBA=dGn2piXeDORs`?K91t_3UxaOr|QP!v=Ho|DW5ybs!?U zejh)t!Lc7azUu|g{oc3uoipQ-DXeQ2zP5TcXSXkNQlyw!-(zF@#6Ab+Ln7-;BTjG2 z{U`nTmxhCb!#*b`UTIJ5j@((i6O=)26L`R@+!Zt5mbvdS(7z0xu6{1-oD!M*xCkZ&^|F!8i%Ld*|P)VfYN fahSyn3<;_BvhQgTe~DWM4fKTMqe literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/module.rsi/meta.json b/Resources/Textures/Objects/Misc/module.rsi/meta.json index ba3abaa2dd..e332bf6c19 100644 --- a/Resources/Textures/Objects/Misc/module.rsi/meta.json +++ b/Resources/Textures/Objects/Misc/module.rsi/meta.json @@ -1 +1 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at 0d9c9a8233dfc3fc55edc538955a761a6328bee0, generic, service, command, science, security, medical, supply, and engineering taken from shiptest at https://github.com/shiptest-ss13/Shiptest/pull/1473, additional sprites created by EmoGarbage404", "states": [{"name": "abductor_mod"}, {"name": "airalarm_electronics"}, {"name": "ash_plating"}, {"name": "beaker_holder"}, {"name": "blank_mod"}, {"name": "bluespacearray"}, {"name": "boris"}, {"name": "boris_recharging", "delays": [[1.0, 1.0]]}, {"name": "card_mini"}, {"name": "card_mod"}, {"name": "cargodisk"}, {"name": "cart_connector"}, {"name": "cddrive"}, {"name": "cell"}, {"name": "cell_con"}, {"name": "cell_con_micro"}, {"name": "cell_micro"}, {"name": "cell_mini"}, {"name": "charger_APC"}, {"name": "charger_lambda"}, {"name": "charger_pda"}, {"name": "charger_wire"}, {"name": "clock_mod", "delays": [[0.6, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "command"}, {"name": "cpu"}, {"name": "cpu_adv"}, {"name": "cpu_command"}, {"name": "cpu_engineering"}, {"name": "cpu_medical"}, {"name": "cpu_science"}, {"name": "cpu_security"}, {"name": "cpu_service"}, {"name": "cpu_super", "delays": [[0.1, 0.1]]}, {"name": "cpu_supply"}, {"name": "cpuboard"}, {"name": "cpuboard_adv"}, {"name": "cpuboard_super", "delays": [[0.1, 0.1]]}, {"name": "cyborg_upgrade"}, {"name": "cyborg_upgrade1"}, {"name": "cyborg_upgrade2"}, {"name": "cyborg_upgrade3"}, {"name": "cyborg_upgrade4"}, {"name": "cyborg_upgrade5"}, {"name": "datadisk_base"}, {"name": "datadisk_gene", "delays": [[0.1, 0.1, 0.1]]}, {"name": "datadisk_hydro", "delays": [[0.1, 0.1, 0.1]]}, {"name": "datadisk_label"}, {"name": "depositbox"}, {"name": "door_electronics"}, {"name": "engineering"}, {"name": "flopdrive"}, {"name": "generic"}, {"name": "harddisk"}, {"name": "harddisk_micro"}, {"name": "harddisk_mini"}, {"name": "holodisk", "delays": [[0.1, 0.1]]}, {"name": "id_mod"}, {"name": "mainboard"}, {"name": "mcontroller"}, {"name": "medical"}, {"name": "net_wired"}, {"name": "power_mod"}, {"name": "printer"}, {"name": "printer_mini"}, {"name": "prizevendor"}, {"name": "radio"}, {"name": "radio_micro"}, {"name": "radio_mini"}, {"name": "ram"}, {"name": "rndmajordisk"}, {"name": "science"}, {"name": "secmodschematic"}, {"name": "security"}, {"name": "selfrepair_off"}, {"name": "selfrepair_on", "delays": [[0.1, 0.1, 0.1, 0.1]]}, {"name": "service"}, {"name": "servo"}, {"name": "ssd"}, {"name": "ssd_large"}, {"name": "ssd_micro"}, {"name": "ssd_mini"}, {"name": "std_mod"}, {"name": "supply"}]} \ No newline at end of file +{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at 0d9c9a8233dfc3fc55edc538955a761a6328bee0, generic, service, command, science, security, medical, supply, and engineering taken from shiptest at https://github.com/shiptest-ss13/Shiptest/pull/1473, additional sprites created by EmoGarbage404", "states": [{"name": "abductor_mod"}, {"name": "airalarm_electronics"}, {"name": "ash_plating"}, {"name": "beaker_holder"}, {"name": "blank_mod"}, {"name": "bluespacearray"}, {"name": "boris"}, {"name": "boris_recharging", "delays": [[1.0, 1.0]]}, {"name": "card_mini"}, {"name": "card_mod"}, {"name": "cargodisk"}, {"name": "cart_connector"}, {"name": "cddrive"}, {"name": "cell"}, {"name": "cell_con"}, {"name": "cell_con_micro"}, {"name": "cell_micro"}, {"name": "cell_mini"}, {"name": "charger_APC"}, {"name": "charger_lambda"}, {"name": "charger_pda"}, {"name": "charger_wire"}, {"name": "clock_mod", "delays": [[0.6, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "command"}, {"name": "cpu"}, {"name": "cpu_adv"}, {"name": "cpu_command"}, {"name": "cpu_engineering"}, {"name": "cpu_medical"}, {"name": "cpu_science"}, {"name": "cpu_security"}, {"name": "cpu_service"}, {"name": "cpu_super", "delays": [[0.1, 0.1]]}, {"name": "cpu_supply"}, {"name": "cpuboard"}, {"name": "cpuboard_adv"}, {"name": "cpuboard_super", "delays": [[0.1, 0.1]]}, {"name": "cyborg_upgrade"}, {"name": "cyborg_upgrade1"}, {"name": "cyborg_upgrade2"}, {"name": "cyborg_upgrade3"}, {"name": "cyborg_upgrade4"}, {"name": "cyborg_upgrade5"}, {"name": "datadisk_base"}, {"name": "datadisk_gene", "delays": [[0.1, 0.1, 0.1]]}, {"name": "datadisk_encrypted", "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "datadisk_hydro", "delays": [[0.1, 0.1, 0.1]]}, {"name": "datadisk_label"}, {"name": "depositbox"}, {"name": "door_electronics"}, {"name": "engineering"}, {"name": "flopdrive"}, {"name": "generic"}, {"name": "harddisk"}, {"name": "harddisk_micro"}, {"name": "harddisk_mini"}, {"name": "holodisk", "delays": [[0.1, 0.1]]}, {"name": "id_mod"}, {"name": "mainboard"}, {"name": "mcontroller"}, {"name": "medical"}, {"name": "net_wired"}, {"name": "power_mod"}, {"name": "printer"}, {"name": "printer_mini"}, {"name": "prizevendor"}, {"name": "radio"}, {"name": "radio_micro"}, {"name": "radio_mini"}, {"name": "ram"}, {"name": "rndmajordisk"}, {"name": "science"}, {"name": "secmodschematic"}, {"name": "security"}, {"name": "selfrepair_off"}, {"name": "selfrepair_on", "delays": [[0.1, 0.1, 0.1, 0.1]]}, {"name": "service"}, {"name": "servo"}, {"name": "ssd"}, {"name": "ssd_large"}, {"name": "ssd_micro"}, {"name": "ssd_mini"}, {"name": "std_mod"}, {"name": "supply"}]} diff --git a/Resources/Textures/Objects/Misc/sample_tubes.rsi/blank.png b/Resources/Textures/Objects/Misc/sample_tubes.rsi/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..b3d3d4008fae78c69082fcfc5bc54f5e4591aa93 GIT binary patch literal 332 zcmV-S0ki&zP)e2XQ6e_nwb`11rY~H~}Z{e*)*S6!<RlQSaAkv<(m2gHO?Sg_la9O4qV&DE-1;lmdVs9s__3qi=+Rp zZkzDjlFji$u+waYgDdB)3%faW(?gvpKmEELVwJ;W!L#f90yVvl%R_1`Z|#aW;CYcv#wc=2RZwJmx`-b!3 zwTuA;N!FT~o*vTLccd81WtTBLzgm8~nSt%#SD^!Q-33o)a!Mv&wEE6evl!&;gyI9t Yr=9B5FVdQ&MBb@051D}YybcN literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/sample_tubes.rsi/reinforcer.png b/Resources/Textures/Objects/Misc/sample_tubes.rsi/reinforcer.png new file mode 100644 index 0000000000000000000000000000000000000000..2e7088544dbcfb53b9d43c2c66599900f2389e17 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEQLT z#WAE}&f6=7T+Id|YzeJ$i!507G&{dnvG{K=31<-cEP+_X-t!hEL_E_^4Ly z3)86Vj(qa}Q(VRN7mv6a7&sdKGxOBuf6!g6wU4F1e-iVfrUX`>$%eVVW4aazyx!&- zl|A|SPj?pS1pfKYErYytgS;MolIK3a=gxcBJ0n`(42XH~V&XM6L|;_zR_JZ{+LgtU-^c-)@c)}%fIN-N| z!sJZvsYkYOmni)IE~lT*$}P{mfr0yny~DI+GV|M23dI=L#Fn?5P&mW1%_ciK!)E;r zn_YYo$u>NP`#Fjk1pD}lnuQcJGE4eW?TndLWS?8jH7k6_j(CM{wV!579w?~ix9m;$ z&R4$VP&#v4LCx`3p@-8MHJ*M~+_S%%Z$(=+^RlVm%X?34WxQO!?si%3fh}*<4lQMT zT(x&r=58Yf{&f*$I*&exJXr=5+;Mp$_l~&I<+Wl74grQNJDwkW5Gdv3)Uol@R)+f) gVhN058!R4h<}E7H(`K4|85l$ip00i_>zopr0ALe<`~Uy| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Misc/sample_tubes.rsi/synchronizer.png b/Resources/Textures/Objects/Misc/sample_tubes.rsi/synchronizer.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f7366bb34728bc9210eacaca40e139e5fc63ef GIT binary patch literal 336 zcmV-W0k8gvP) z>I4PHD1FV78l;C3le9ufE-?rBzq~x&hOE3IAOa%b{{VGW0q*Crq^kh7Nn#*2h_HZ; z)Pp+pX?oe;9}gm>1jg7$L^yyB$BiFptG8ARqOkcb2%zf#lp_5rTw9>XIQ>lzV0cDo zBM9UsJhKb;22A1jjkjMK?gbD6u2cAUR*>74-5W5!`FLLN=H3AF=K992Wp@V5%N`=! z8eqoj;jQeR;no0LIAY~Z7Hr3wP~p}9oatBv9Is+<>vk`|gb=z3aL$u}Yf%$&&V$|D i3Gj^-0TB=Zs{@{(;&q^^Kmv*Y0000