]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Adds more spawners (#28280)
authorFlareguy <78941145+Flareguy@users.noreply.github.com>
Fri, 31 May 2024 19:52:04 +0000 (14:52 -0500)
committerGitHub <noreply@github.com>
Fri, 31 May 2024 19:52:04 +0000 (12:52 -0700)
* adds more spawners

* make it WORK. ooo.. a. e

* fix

* outerclothing capitalization

* prototype fix

* flashbang fix

Resources/Prototypes/Entities/Markers/Spawners/Random/crates.yml
Resources/Prototypes/Entities/Markers/Spawners/Random/encryption_key.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Markers/Spawners/Random/industrial.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Markers/Spawners/Random/materials.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Markers/Spawners/Random/medical.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml [new file with mode: 0644]

index ae7e5bcf76208d1ee1bcefb7742c6c039c41503e..1986dfc29c52b9f791a7ca86007d71f5e9399e1f 100644 (file)
@@ -22,6 +22,7 @@
         - CrateScience
         - CrateSurgery
       chance: 0.7
+      offset: 0.0
 
 - type: entity
   name: Filled Crate Spawner
         - 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 (file)
index 0000000..7c29de7
--- /dev/null
@@ -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 (file)
index 0000000..e2ce2c8
--- /dev/null
@@ -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 (file)
index 0000000..fbbda73
--- /dev/null
@@ -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 (file)
index 0000000..ca6618d
--- /dev/null
@@ -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 (file)
index 0000000..f5585a5
--- /dev/null
@@ -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