From 2ddca94375e6142784b5ef650d6e2f8a09266ec0 Mon Sep 17 00:00:00 2001 From: Flareguy <78941145+Flareguy@users.noreply.github.com> Date: Fri, 31 May 2024 14:52:04 -0500 Subject: [PATCH] Adds more spawners (#28280) * adds more spawners * make it WORK. ooo.. a. e * fix * outerclothing capitalization * prototype fix * flashbang fix --- .../Markers/Spawners/Random/crates.yml | 77 +++++++++ .../Spawners/Random/encryption_key.yml | 27 ++++ .../Markers/Spawners/Random/industrial.yml | 87 ++++++++++ .../Markers/Spawners/Random/materials.yml | 147 +++++++++++++++++ .../Markers/Spawners/Random/medical.yml | 65 ++++++++ .../Markers/Spawners/Random/security.yml | 148 ++++++++++++++++++ 6 files changed, 551 insertions(+) create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/encryption_key.yml create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/industrial.yml create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/materials.yml create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/medical.yml create mode 100644 Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml index ae7e5bcf76..1986dfc29c 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml @@ -22,6 +22,7 @@ - CrateScience - CrateSurgery chance: 0.7 + offset: 0.0 - type: entity name: Filled Crate Spawner @@ -59,3 +60,79 @@ - CrateMaterialPlasma - CrateHydroponicsSeedsExotic rareChance: 0.1 + offset: 0.0 + +- type: entity + name: random engineering crate spawner + id: LootSpawnerRandomCrateEngineering + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/Crates/engineering.rsi + state: icon + - type: RandomSpawner + rarePrototypes: + - CrateEngineeringSingularityGenerator + - CrateEngineeringTeslaGenerator + - CrateEngineeringTeslaGroundingRod + - CrateEngineeringParticleAccelerator + - CrateRCD + - CrateEngineeringGear + rareChance: 0.2 + prototypes: + - CrateEngineering + - CrateElectrical + - CrateEngineeringElectricalSupplies + - CrateRCDAmmo + - CrateEngineeringCableLV + - CrateEngineeringCableMV + - CrateEngineeringCableHV + - CrateEngineeringCableBulk + - CrateEngineeringSingularityContainment + - CrateEngineeringSingularityCollector + - CrateEngineeringTeslaCoil + - CrateEngineeringSingularityEmitter + - CrateEngineeringGyroscope + - CrateEngineeringThruster + - CrateEngineeringToolbox + - CrateEngineeringShuttle + - CrateEngineeringSolar + - CrateEngineeringJetpack + - CrateEmergencyRadiation + - CrateRadiation + chance: 0.9 + offset: 0.0 + +- type: entity + name: random security crate spawner + id: LootSpawnerRandomCrateSecurity + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Structures/Storage/Crates/sec_gear.rsi + state: icon + - type: RandomSpawner + rarePrototypes: #Very useful stuff we probably don't want random people getting on space ruins often, even if there are hurdles to open it + - CrateArmoryShotgun + - CrateArmorySMG + - CrateSecurityRiot + - CrateSecurityNonlethal + rareChance: 0.1 + prototypes: + - CrateWeaponSecure + - CrateArmoryLaser + - CrateArmoryPistols + - CrateTrainingBombs + - CrateTrackingImplants + - CrateSecurityTrackingMindshieldImplants + - CrateSecurityHelmet + - CrateSecurityArmor + - CrateRestraints + - CrateEmergencyExplosive + - CrateSecurityBiosuit + chance: 0.9 + offset: 0.0 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/encryption_key.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/encryption_key.yml new file mode 100644 index 0000000000..7c29de7f7c --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/encryption_key.yml @@ -0,0 +1,27 @@ +# Intentionally does not include channels like syndicate comms or binary, since these getting in to the hands of random people can cause a round to derail. +- type: entity + name: random encryption key spawner + id: LootSpawnerEncryptionKey + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Devices/encryption_keys.rsi + state: crypt_rusted + - sprite: Objects/Devices/encryption_keys.rsi + state: nano_label + - type: RandomSpawner + rarePrototypes: + - EncryptionKeyCommand + - EncryptionKeySecurity + rareChance: 0.1 + prototypes: + - EncryptionKeyCommon + - EncryptionKeyEngineering + - EncryptionKeyScience + - EncryptionKeyService + - EncryptionKeyMedical + - EncryptionKeyCargo + chance: 0.9 + offset: 0.0 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/industrial.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/industrial.yml new file mode 100644 index 0000000000..e2ce2c8aff --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/industrial.yml @@ -0,0 +1,87 @@ +#Industrial spawners +- type: entity + name: industrial fluff spawner + id: LootSpawnerIndustrialFluff + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Tools/flashlight.rsi + state: flashlight + - type: RandomSpawner + rarePrototypes: + - CheapLighter + - Pen + - Cigar + - CigarSpent + - Cigarette + - CigaretteSpent + - Paper + - FolderSpawner + rareChance: 0.1 + prototypes: + - RemoteSignaller + - GeigerCounter + - trayScanner + - FlashlightLantern + - ClothingHandsGlovesColorBlack + - Lighter + - ClothingMaskGas + - HandheldGPSBasic + chance: 0.85 + offset: 0.0 + +- type: entity + name: industrial loot spawner + suffix: Tools + Materials + id: LootSpawnerIndustrial + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Tools/welder.rsi + state: icon + - type: RandomSpawner + rarePrototypes: + - CapacitorStockPart + - MicroManipulatorStockPart + - MatterBinStockPart + - CableHVStack10 + - WelderIndustrial + - PowerCellHigh + - PowerCellSmall + - ClothingHandsGlovesColorYellowBudget + rareChance: 0.2 + prototypes: + - ClothingHeadHatWelding + - WelderMini + - Crowbar + - CrowbarRed + - Screwdriver + - Wrench + - Wirecutter + - Welder + - RemoteSignaller + - GeigerCounter + - GasAnalyzer + - Multitool + - trayScanner + - FlashlightLantern + - ClothingHandsGlovesColorBlack + - ClothingMaskGas + - HandheldGPSBasic + - FireExtinguisher + - PowerCellMedium + - SheetSteel10 + - SheetGlass10 + - SheetPlastic10 + - SheetPlasteel10 + - PartRodMetal10 + - CableApcStack10 + - CableMVStack10 + - ToolboxElectricalFilled + - ToolboxMechanicalFilled + chance: 0.8 + offset: 0.0 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/materials.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/materials.yml new file mode 100644 index 0000000000..fbbda73ac0 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/materials.yml @@ -0,0 +1,147 @@ +# Normal materials spawners +- type: entity + name: materials spawner + id: LootSpawnerMaterials + suffix: Construction Materials + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Materials/Sheets/metal.rsi + state: steel_3 + - type: RandomSpawner + rarePrototypes: + - SheetPlasteel10 + rareChance: 0.2 + prototypes: + - SheetSteel + - SheetGlass + - SheetPlastic + - CableApcStack + - CableMVStack + - CableHVStack + chance: 0.8 + offset: 0.0 + +- type: entity + name: materials spawner + suffix: Supplementary Materials + id: LootSpawnerMaterialsSupplementary + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Materials/materials.rsi + state: wood_2 + - type: RandomSpawner + prototypes: + - MaterialWoodPlank10 + - MaterialCardboard10 + - PartRodMetal10 + chance: 0.8 + offset: 0.0 + +# High-value materials spawners +# Maybe these should use the 10-in-stack variants? +- type: entity + name: high-value materials spawner + suffix: Construction Materials + id: LootSpawnerMaterialsHighValueConstruction + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Materials/Sheets/metal.rsi + state: plasteel_2 + - type: RandomSpawner + rarePrototypes: + - SheetRPGlass + rareChance: 0.2 + prototypes: + - SheetPlasteel + - SheetRGlass + chance: 0.8 + offset: 0.0 + +- type: entity + name: high-value materials spawner + id: LootSpawnerMaterialsHighValue + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Materials/Sheets/other.rsi + state: plasma_2 + - type: RandomSpawner + rarePrototypes: + - SheetUranium + rareChance: 0.2 + prototypes: + - SheetPlasma + - IngotGold + - IngotSilver + chance: 0.8 + offset: 0.0 + +# Surplus materials spawner. +# Intended use case: randomly place in maintenance or in storage areas. +# Does not include weirdo stuff like Bronze or Paper since those are intended to be gimmicks. +- type: entity + name: surplus materials spawner + id: LootSpawnerMaterialsSurplus + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Materials/Sheets/metal.rsi + state: steel_3 + - type: RandomSpawner + rarePrototypes: + - SheetUranium1 + - IngotGold1 + - IngotSilver1 + rareChance: 0.1 + prototypes: + - SheetPlasteel10 + - SheetPlasma1 + - MaterialWoodPlank10 + - PartRodMetal10 + - SheetSteel10 + - SheetGlass10 + - MaterialCloth10 + - MaterialCardboard10 + - SheetPlastic10 + - CableApcStack10 + - CableMVStack10 + - CableHVStack10 + chance: 0.9 + offset: 0.0 + +# Cable coil spawner +- type: entity + name: cable coil spawner + id: LootSpawnerCableCoil + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Tools/cable-coils.rsi + state: coilall-30 + - type: RandomSpawner + rarePrototypes: + - CableApcStack10 + - CableMVStack10 + - CableHVStack10 + rareChance: 0.1 + prototypes: + - CableApcStack + - CableMVStack + - CableHVStack + chance: 0.9 + offset: 0.0 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/medical.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/medical.yml new file mode 100644 index 0000000000..ca6618dd12 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/medical.yml @@ -0,0 +1,65 @@ +# Minor medical loot spawner +# Use case: Common areas that aren't medical +- type: entity + name: healing supplies spawner + id: LootSpawnerMedicalMinor + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Specific/Medical/medical.rsi + state: brutepack + - type: RandomSpawner + rarePrototypes: + - MedkitFilled + rareChance: 0.1 + prototypes: + - Syringe #you win some you lose some + - Brutepack + - Ointment + - Gauze + - EmergencyMedipen + - PillCanisterIron + chance: 0.9 + offset: 0.0 + +# Proper medical loot spawner, contains things like beakers and better meds. +- type: entity + name: medical loot spawner + id: LootSpawnerMedicalClassy + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Specific/Medical/firstaidkits.rsi + state: firstaid + - type: RandomSpawner + rarePrototypes: + - PillCanisterDermaline + - PillCanisterDylovene + - PillCanisterBicaridine + - PillCanisterKelotane + - PillCanisterDexalin + - HandheldHealthAnalyzer + - ClothingHandsGlovesLatex + rareChance: 0.1 + prototypes: + - Syringe + - Dropper + - Beaker + - LargeBeaker + - Brutepack + - Ointment + - Gauze + - EmergencyMedipen + - EpinephrineChemistryBottle + - PillCanisterTricordrazine + - PillCanisterCharcoal + - PillCanisterHyronalin + - PillCanisterIron + - Bloodpack + - MedkitFilled + chance: 0.9 + offset: 0.0 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml new file mode 100644 index 0000000000..f5585a5e32 --- /dev/null +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml @@ -0,0 +1,148 @@ +# Security +- type: entity + name: security loot spawner + suffix: Gear, Simple + id: LootSpawnerSecurityBasic + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Weapons/Melee/flash.rsi + state: flash + - type: RandomSpawner + rarePrototypes: + - ClothingEyesGlassesSunglasses + - BoxHandcuff + rareChance: 0.05 + prototypes: + - Flash + - Handcuffs + - Zipties + - FlashlightSeclite + - Tourniquet + chance: 0.85 + +- type: entity + name: security loot spawner + suffix: Gear, Better + id: LootSpawnerSecurity + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Weapons/Melee/flash.rsi + state: flash + - type: RandomSpawner + rarePrototypes: + - ClothingEyesGlassesSunglasses + - BoxHandcuff + - BoxFlashbang + - TearGasGrenade + - WeaponDisabler + - Stunbaton + rareChance: 0.05 + prototypes: + - Flash + - Handcuffs + - Zipties + - FlashlightSeclite + - GrenadeFlashBang + - SecurityWhistle + - Tourniquet + chance: 0.85 + +# Armory loot spawner +# Automatics are a complete mess right now, so the AK-MS And WT-550 have been commented out for consistency's sake. I have no idea what role these guns are supposed to fufill. +- type: entity + name: armory loot spawner + suffix: Guns, Armor + id: LootSpawnerArmory + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Clothing/OuterClothing/Armor/security.rsi + state: icon + - sprite: Objects/Weapons/Guns/Shotguns/pump.rsi + state: icon + - type: RandomSpawner + rarePrototypes: + - ClothingHeadHelmetSwat + - WeaponShotgunEnforcer +# - WeaponRifleAk + rareChance: 0.05 + prototypes: + - RiotShield + - RiotBulletShield + - RiotLaserShield + - ClothingHeadHelmetBasic + - ClothingHeadHelmetRiot + - ClothingOuterArmorBasic + - ClothingOuterArmorRiot + - ClothingOuterArmorBulletproof +# - WeaponSubMachineGunWt550 + - WeaponDisabler + - WeaponPistolMk58 + - WeaponRifleLecter + - WeaponSubMachineGunDrozd + - WeaponLaserCarbine + - WeaponShotgunKammerer + chance: 0.95 + offset: 0.0 + +- type: entity + name: armory loot spawner + suffix: Guns + id: LootSpawnerArmoryGunsOnly + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Objects/Weapons/Guns/Shotguns/pump.rsi + state: icon + - type: RandomSpawner + rarePrototypes: + - WeaponShotgunEnforcer +# - WeaponRifleAk + rareChance: 0.05 + prototypes: +# - WeaponSubMachineGunWt550 + - WeaponDisabler + - WeaponPistolMk58 + - WeaponRifleLecter + - WeaponSubMachineGunDrozd + - WeaponLaserCarbine + - WeaponShotgunKammerer + chance: 0.95 + offset: 0.0 + +- type: entity + name: armory loot spawner + suffix: Armor + id: LootSpawnerArmoryArmorOnly + parent: MarkerBase + components: + - type: Sprite + layers: + - state: red + - sprite: Clothing/OuterClothing/Armor/security.rsi + state: icon + - type: RandomSpawner + rarePrototypes: + - ClothingHeadHelmetSwat + rareChance: 0.05 + prototypes: + - RiotShield + - RiotBulletShield + - RiotLaserShield + - ClothingHeadHelmetBasic + - ClothingHeadHelmetRiot + - ClothingOuterArmorBasic + - ClothingOuterArmorRiot + - ClothingOuterArmorBulletproof + chance: 0.95 + offset: 0.0 \ No newline at end of file -- 2.51.2