From e9b4f7f33e98acffd4e934fb08eb4fb0bb1a0c79 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Fri, 3 May 2024 18:20:14 +0300 Subject: [PATCH 01/73] aberrant flesh and argocyte --- .../Procedural/salvage_factions.yml | 97 +++++++++- .../Mobs/NPCs/aberrant_flesh_expeditions.yml | 180 ++++++++++++++++++ 2 files changed, 273 insertions(+), 4 deletions(-) create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 1647336f9cc..4403dc7b5c6 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -1,6 +1,6 @@ - type: salvageFaction id: Xenos - cost: 4 + cost: 3 groups: - entries: - id: MobXeno @@ -107,8 +107,8 @@ prob: 0.001 configs: DefenseStructure: CybersunDataMiner - Mining: Xenos # No idea what this thing does or where to look for it - Megafauna: MobSyndicateNavalCommanderA # Can't use spawner here + Mining: Syndicate + Megafauna: MobSyndicateNavalCommanderA - type: salvageFaction id: Cultists @@ -152,5 +152,94 @@ prob: 0.05 configs: DefenseStructure: BloodCollector - Mining: Xenos # No idea what this thing does or where to look for it + Mining: Cultists Megafauna: MobBloodCultistAscended + +- type: salvageFaction + id: AberrantFlesh + cost: 1 + groups: + - entries: + - id: MobFleshJaredExpeditions + amount: 1 + maxAmount: 3 + - id: MobFleshGolemExpeditions + amount: 1 + maxAmount: 3 + prob: 0.5 + - entries: + - id: MobFleshClampExpeditions + amount: 1 + maxAmount: 3 + - id: MobFleshLoverExpeditions + amount: 1 + maxAmount: 3 + prob: 0.25 + - entries: + - id: MobFleshJaredExpeditions + amount: 1 + maxAmount: 3 + - id: MobFleshLoverExpeditions + amount: 1 + maxAmount: 3 + prob: 0.25 + - entries: + - id: MobFleshGolemExpeditions + amount: 1 + maxAmount: 3 + - id: MobFleshClampExpeditions + amount: 1 + maxAmount: 3 + prob: 0.25 + configs: + DefenseStructure: FleshBlocker + Mining: AberrantFlesh + Megafauna: MobAbominationExpeditions + +- type: salvageFaction + id: Argocyte + cost: 4 + groups: + - entries: + - id: MobArgocyteSkitter + amount: 2 + maxAmount: 3 + - id: MobArgocyteSwiper + amount: 1 + maxAmount: 2 + - entries: + - id: MobXenoPraetorian + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: MobArgocyteMolder + amount: 1 + maxAmount: 2 + - id: MobArgocytePouncer + amount: 1 + prob: 0.25 + - entries: + - id: MobArgocyteGlider + amount: 3 + prob: 0.25 + - entries: + - id: MobArgocyteHarvester + amount: 2 + prob: 0.25 + - entries: + - id: MobArgocyteEnforcer + amount: 1 + prob: 0.1 + - entries: + - id: MobArgocyteFounder + amount: 1 + prob: 0.1 + - entries: + - id: MobArgocyteCrawler + amount: 2 + prob: 0.001 + configs: + DefenseStructure: MobArgocyteBarrier + Mining: Argocyte + Megafauna: MobArgocyteLeviathing # Frontier diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml new file mode 100644 index 00000000000..931c4030ba9 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml @@ -0,0 +1,180 @@ +- type: entity + parent: MobNonHumanHostileBase + id: BaseMobFleshExpeditions + name: aberrant flesh + description: A shambling mass of flesh, animated through anomalous energy. + abstract: true + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/flesh.rsi + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 1.5 + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 75: Dead + - type: Stamina + critThreshold: 50 + - type: Butcherable + spawned: + - id: FoodMeat + amount: 1 + - type: Bloodstream + bloodMaxVolume: 100 + - type: CombatMode + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 6 + - type: ReplacementAccent + accent: genericAggressive + +- type: entity + parent: BaseMobFleshExpeditions + id: MobFleshJaredExpeditions + components: + - type: Sprite + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: jared + - type: DamageStateVisuals + states: + Alive: + Base: jared + Critical: + Base: dead + Dead: + Base: dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 8 + +- type: entity + parent: BaseMobFleshExpeditions + id: MobFleshGolemExpeditions + components: + - type: Sprite + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: golem + - type: DamageStateVisuals + states: + Alive: + Base: golem + Critical: + Base: dead + Dead: + Base: dead + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 8 + +- type: entity + parent: BaseMobFleshExpeditions + id: MobFleshClampExpeditions + components: + - type: Sprite + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: clamp + - type: DamageStateVisuals + states: + Alive: + Base: clamp + Critical: + Base: dead + Dead: + Base: dead + - type: MobThresholds + thresholds: + 0: Alive + 30: Dead + - type: MovementSpeedModifier + baseWalkSpeed: 2 + baseSprintSpeed: 2.5 + +- type: entity + parent: BaseMobFleshExpeditions + id: MobFleshLoverExpeditions + components: + - type: Sprite + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: lover + - type: DamageStateVisuals + states: + Alive: + Base: lover + Critical: + Base: dead + Dead: + Base: dead + - type: MobThresholds + thresholds: + 0: Alive + 30: Dead + - type: MovementSpeedModifier + baseWalkSpeed: 2 + baseSprintSpeed: 2.5 + +- type: entity + parent: BaseMobFleshExpeditions + id: MobAbominationExpeditions + name: abomination + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Demons/abomination.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: abomination + - type: DamageStateVisuals + states: + Alive: + Base: abomination + Dead: + Base: dead + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 100: Dead + - type: MovementSpeedModifier + baseWalkSpeed: 1.5 + baseSprintSpeed: 2.5 + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Blunt: 10 From 1165f8db27a6be35603f883ceb67b37f77aa089c Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Fri, 3 May 2024 18:43:14 +0300 Subject: [PATCH 02/73] noSpawn and despawn timer for new aberrant flesh --- .../_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml index 931c4030ba9..c6fa145d086 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml @@ -39,10 +39,13 @@ Slash: 6 - type: ReplacementAccent accent: genericAggressive + - type: TimedDespawn + lifetime: 1500 # 25 minutes until mobs despawn - type: entity parent: BaseMobFleshExpeditions id: MobFleshJaredExpeditions + noSpawn: true components: - type: Sprite layers: @@ -68,6 +71,7 @@ - type: entity parent: BaseMobFleshExpeditions id: MobFleshGolemExpeditions + noSpawn: true components: - type: Sprite layers: @@ -97,6 +101,7 @@ - type: entity parent: BaseMobFleshExpeditions id: MobFleshClampExpeditions + noSpawn: true components: - type: Sprite layers: @@ -121,6 +126,7 @@ - type: entity parent: BaseMobFleshExpeditions id: MobFleshLoverExpeditions + noSpawn: true components: - type: Sprite layers: @@ -146,6 +152,7 @@ parent: BaseMobFleshExpeditions id: MobAbominationExpeditions name: abomination + noSpawn: true components: - type: Sprite drawdepth: Mobs From 13b03524060e5a2a9be98bc9f7e618206786db2e Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sat, 4 May 2024 02:59:02 +0300 Subject: [PATCH 03/73] alternative visuals for expedition flash monsters --- .../Mobs/NPCs/aberrant_flesh_expeditions.yml | 14 ++++---- .../_NF/Mobs/Aliens/flesh.rsi/clamp.png | Bin 0 -> 3304 bytes .../_NF/Mobs/Aliens/flesh.rsi/dead.png | Bin 0 -> 790 bytes .../_NF/Mobs/Aliens/flesh.rsi/golem.png | Bin 0 -> 5181 bytes .../_NF/Mobs/Aliens/flesh.rsi/golem2.png | Bin 0 -> 4488 bytes .../_NF/Mobs/Aliens/flesh.rsi/jared.png | Bin 0 -> 2183 bytes .../_NF/Mobs/Aliens/flesh.rsi/meta.json | 34 ++++++++++++++++++ 7 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/clamp.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/dead.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/golem.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/golem2.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/jared.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml index c6fa145d086..5c9bceac57a 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml @@ -7,7 +7,7 @@ components: - type: Sprite drawdepth: Mobs - sprite: Mobs/Aliens/flesh.rsi + sprite: _NF/Mobs/Aliens/flesh.rsi - type: MovementAlwaysTouching - type: MovementSpeedModifier baseWalkSpeed: 1 @@ -45,7 +45,7 @@ - type: entity parent: BaseMobFleshExpeditions id: MobFleshJaredExpeditions - noSpawn: true + #noSpawn: true components: - type: Sprite layers: @@ -71,7 +71,7 @@ - type: entity parent: BaseMobFleshExpeditions id: MobFleshGolemExpeditions - noSpawn: true + #noSpawn: true components: - type: Sprite layers: @@ -101,7 +101,7 @@ - type: entity parent: BaseMobFleshExpeditions id: MobFleshClampExpeditions - noSpawn: true + #noSpawn: true components: - type: Sprite layers: @@ -126,12 +126,12 @@ - type: entity parent: BaseMobFleshExpeditions id: MobFleshLoverExpeditions - noSpawn: true + #noSpawn: true components: - type: Sprite layers: - map: [ "enum.DamageStateVisualLayers.Base" ] - state: lover + state: golem2 # lover - type: DamageStateVisuals states: Alive: @@ -152,7 +152,7 @@ parent: BaseMobFleshExpeditions id: MobAbominationExpeditions name: abomination - noSpawn: true + #noSpawn: true components: - type: Sprite drawdepth: Mobs diff --git a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/clamp.png b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/clamp.png new file mode 100644 index 0000000000000000000000000000000000000000..1b93183a285b2a51fdc8066e6320e4096ed22355 GIT binary patch literal 3304 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 JPDHLkV1mZ48} Date: Sat, 4 May 2024 13:43:28 +0300 Subject: [PATCH 04/73] fixes, more flesh mobs, mob spawners --- .../Procedural/salvage_factions.yml | 63 +++++---- .../Spawners/Random/aberrant_flesh_mobs.yml | 24 ++++ .../Markers/Spawners/Random/argocyte_mobs.yml | 80 ++++++++++++ .../Mobs/NPCs/aberrant_flesh_expeditions.yml | 121 +++++++++++++++--- .../Weapons/Throwable/throwable_weapons.yml | 30 +++++ .../Entities/Structures/Specific/argocyte.yml | 51 ++++++++ .../_NF/Roles/Jobs/expedition_testing.yml | 62 +++++++++ .../_NF/Mobs/Aliens/argocyte.rsi/meta.json | 14 ++ .../_NF/Mobs/Aliens/argocyte.rsi/unshaded.png | Bin 0 -> 6563 bytes .../_NF/Mobs/Aliens/flesh.rsi/horror.png | Bin 0 -> 3371 bytes .../_NF/Mobs/Aliens/flesh.rsi/lover.png | Bin 0 -> 1394 bytes .../_NF/Mobs/Aliens/flesh.rsi/meta.json | 20 ++- .../_NF/Mobs/Aliens/flesh.rsi/spike.png | Bin 0 -> 667 bytes 13 files changed, 410 insertions(+), 55 deletions(-) create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/aberrant_flesh_mobs.yml create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Specific/argocyte.yml create mode 100644 Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml create mode 100644 Resources/Textures/_NF/Mobs/Aliens/argocyte.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Aliens/argocyte.rsi/unshaded.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/horror.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/lover.png create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/spike.png diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 4403dc7b5c6..78cc75f8998 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -156,90 +156,85 @@ Megafauna: MobBloodCultistAscended - type: salvageFaction - id: AberrantFlesh + id: Flesh cost: 1 groups: - entries: - - id: MobFleshJaredExpeditions + - id: SpawnMobAberrantFleshExpeditions amount: 1 maxAmount: 3 - - id: MobFleshGolemExpeditions + - id: SpawnMobAberrantFleshExpeditions amount: 1 maxAmount: 3 prob: 0.5 - entries: - - id: MobFleshClampExpeditions + - id: SpawnMobAberrantFleshExpeditions amount: 1 maxAmount: 3 - - id: MobFleshLoverExpeditions + - id: SpawnMobAberrantFleshExpeditions amount: 1 maxAmount: 3 prob: 0.25 - entries: - - id: MobFleshJaredExpeditions + - id: SpawnMobAberrantFleshExpeditions amount: 1 maxAmount: 3 - - id: MobFleshLoverExpeditions + - id: SpawnMobAberrantFleshExpeditions amount: 1 maxAmount: 3 prob: 0.25 - entries: - - id: MobFleshGolemExpeditions - amount: 1 - maxAmount: 3 - - id: MobFleshClampExpeditions - amount: 1 - maxAmount: 3 - prob: 0.25 + - id: SpawnMobAberrantFleshExpeditions + amount: 2 + maxAmount: 4 + - id: SpawnMobAberrantFleshExpeditions + amount: 2 + maxAmount: 4 + prob: 0.1 configs: DefenseStructure: FleshBlocker - Mining: AberrantFlesh - Megafauna: MobAbominationExpeditions + Mining: Flesh + Megafauna: MobHorrorExpeditions - type: salvageFaction id: Argocyte cost: 4 groups: - entries: - - id: MobArgocyteSkitter - amount: 2 - maxAmount: 3 - - id: MobArgocyteSwiper - amount: 1 - maxAmount: 2 + - id: SpawnMobArgocyteTiny + amount: 3 + maxAmount: 5 - entries: - - id: MobXenoPraetorian + - id: SpawnMobArgocyteSmall amount: 1 maxAmount: 2 prob: 0.5 - entries: - - id: MobArgocyteMolder + - id: SpawnMobArgocyteSmall amount: 1 maxAmount: 2 - - id: MobArgocytePouncer + - id: SpawnMobArgocyteSmall amount: 1 + maxAmount: 2 prob: 0.25 - entries: - id: MobArgocyteGlider amount: 3 prob: 0.25 - entries: - - id: MobArgocyteHarvester + - id: SpawnMobArgocyteMedium amount: 2 prob: 0.25 - entries: - - id: MobArgocyteEnforcer - amount: 1 - prob: 0.1 - - entries: - - id: MobArgocyteFounder + - id: SpawnMobArgocyteBig amount: 1 prob: 0.1 - entries: - id: MobArgocyteCrawler - amount: 2 + amount: 3 + maxAmount: 4 prob: 0.001 configs: - DefenseStructure: MobArgocyteBarrier + DefenseStructure: ArgocyteEgg Mining: Argocyte - Megafauna: MobArgocyteLeviathing # Frontier + Megafauna: MobArgocyteLeviathing diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/aberrant_flesh_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/aberrant_flesh_mobs.yml new file mode 100644 index 00000000000..98ca8f2eafb --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/aberrant_flesh_mobs.yml @@ -0,0 +1,24 @@ +- type: entity + name: aberrant flesh spawner + id: SpawnMobAberrantFleshExpeditions + parent: MarkerBase + suffix: AI, Hostile, RND + components: + - type: Sprite + layers: + - state: red + - sprite: _NF/Mobs/Aliens/flesh.rsi + state: lover + - state: ai + - type: RandomSpawner + prototypes: + - MobFleshJaredExpeditions + - MobFleshJaredOldExpeditions + - MobFleshGolemExpeditions + - MobFleshGolemAltExpeditions + - MobFleshGolemOldExpeditions + - MobFleshClampExpeditions + - MobFleshClampOldExpeditions + - MobFleshLoverExpeditions + chance: 1 + offset: 0.0 diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml new file mode 100644 index 00000000000..6c55a16bbe2 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml @@ -0,0 +1,80 @@ +- type: entity + name: argocyte spawner + id: SpawnMobArgocyteTiny + parent: MarkerBase + suffix: AI, Hostile, Tiny + components: + - type: Sprite + layers: + - state: red + - sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + state: skitter + - state: ai + - type: RandomSpawner + prototypes: + - MobArgocyteSlurva + - MobArgocyteBarrier + - MobArgocyteSkitter + - MobArgocyteSwiper + chance: 1 + offset: 0.0 + +- type: entity + name: argocyte spawner + id: SpawnMobArgocyteSmall + parent: MarkerBase + suffix: AI, Hostile, Small + components: + - type: Sprite + layers: + - state: red + - sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + state: swiper + - state: ai + - type: RandomSpawner + prototypes: + - MobArgocyteMolder + - MobArgocytePouncer + - MobArgocyteGlider + chance: 1 + offset: 0.0 + +- type: entity + name: argocyte spawner + id: SpawnMobArgocyteMedium + parent: MarkerBase + suffix: AI, Hostile, Medium + components: + - type: Sprite + layers: + - state: red + - sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + state: harvester + - state: ai + - type: RandomSpawner + prototypes: + - MobArgocyteHarvester + - MobArgocyteCrawler + chance: 1 + offset: 0.0 + +- type: entity + name: argocyte spawner + id: SpawnMobArgocyteBig + parent: MarkerBase + suffix: AI, Hostile, Big + components: + - type: Sprite + layers: + - state: red + - sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + state: enforcer + - state: ai + - type: RandomSpawner + prototypes: + - MobArgocyteEnforcer + chance: 1 + offset: 0.0 + rarePrototypes: + - MobArgocyteFounder + rareChance: 0.05 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml index 5c9bceac57a..8dd6485d985 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml @@ -41,11 +41,22 @@ accent: genericAggressive - type: TimedDespawn lifetime: 1500 # 25 minutes until mobs despawn + - type: Tool + speed: 3 + qualities: + - Prying + - type: Prying + pryPowered: !type:Bool + true + force: !type:Bool + true + useSound: + path: /Audio/Items/crowbar.ogg - type: entity parent: BaseMobFleshExpeditions id: MobFleshJaredExpeditions - #noSpawn: true + noSpawn: true components: - type: Sprite layers: @@ -68,10 +79,22 @@ types: Slash: 8 +- type: entity + parent: MobFleshJaredExpeditions + id: MobFleshJaredOldExpeditions + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/flesh.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: jared + - type: entity parent: BaseMobFleshExpeditions id: MobFleshGolemExpeditions - #noSpawn: true + noSpawn: true components: - type: Sprite layers: @@ -98,10 +121,48 @@ types: Slash: 8 +- type: entity + parent: MobFleshGolemExpeditions + id: MobFleshGolemAltExpeditions + noSpawn: true + components: + - type: Sprite + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: golem2 + - type: DamageStateVisuals + states: + Alive: + Base: golem2 + Critical: + Base: dead + Dead: + Base: dead + +- type: entity + parent: MobFleshGolemExpeditions + id: MobFleshGolemOldExpeditions + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/flesh.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: golem + - type: DamageStateVisuals + states: + Alive: + Base: golem + Critical: + Base: dead + Dead: + Base: dead + - type: entity parent: BaseMobFleshExpeditions id: MobFleshClampExpeditions - #noSpawn: true + noSpawn: true components: - type: Sprite layers: @@ -118,20 +179,48 @@ - type: MobThresholds thresholds: 0: Alive - 30: Dead + 40: Dead - type: MovementSpeedModifier baseWalkSpeed: 2 baseSprintSpeed: 2.5 +- type: entity + parent: MobFleshClampExpeditions + id: MobFleshClampOldExpeditions + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/flesh.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: clamp + - type: RechargeBasicEntityAmmo + rechargeCooldown: 6 + rechargeSound: + path: /Audio/_NF/Effects/silence.ogg + - type: BasicEntityAmmoProvider + proto: DartAberrantFleshHorrorSpike + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 0.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + collection: BulletMiss + - type: entity parent: BaseMobFleshExpeditions id: MobFleshLoverExpeditions - #noSpawn: true + noSpawn: true components: - type: Sprite layers: - map: [ "enum.DamageStateVisualLayers.Base" ] - state: golem2 # lover + state: lover - type: DamageStateVisuals states: Alive: @@ -150,20 +239,18 @@ - type: entity parent: BaseMobFleshExpeditions - id: MobAbominationExpeditions - name: abomination - #noSpawn: true + id: MobHorrorExpeditions + name: aberrant flesh horror + noSpawn: true components: - type: Sprite - drawdepth: Mobs - sprite: Mobs/Demons/abomination.rsi layers: - map: ["enum.DamageStateVisualLayers.Base"] - state: abomination + state: horror - type: DamageStateVisuals states: Alive: - Base: abomination + Base: horror Dead: Base: dead - type: MobState @@ -173,10 +260,10 @@ - type: MobThresholds thresholds: 0: Alive - 100: Dead + 200: Dead - type: MovementSpeedModifier - baseWalkSpeed: 1.5 - baseSprintSpeed: 2.5 + baseWalkSpeed: 2.8 + baseSprintSpeed: 3.8 - type: MeleeWeapon soundHit: path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg @@ -184,4 +271,4 @@ animation: WeaponArcClaw damage: types: - Blunt: 10 + Slash: 12 diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml index 4104c975179..6b3acb78e47 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml @@ -50,3 +50,33 @@ - type: SolutionInjectOnEmbed transferAmount: 3 solution: melee + - type: InjectableSolution + solution: ammo + +- type: entity + parent: DartSindicateImpedrezene + id: DartAberrantFleshHorrorSpike + name: bone spike + noSpawn: true + components: + - type: Ammo + muzzleFlash: null + - type: Sprite + sprite: _NF/Mobs/Aliens/flesh.rsi + state: spike + - type: DamageOtherOnHit + damage: + types: + Piercing: 15 + - type: SolutionContainerManager + solutions: + ammo: + maxVol: 3 + reagents: + - ReagentId: Impedrezene + Quantity: 3 + - type: SolutionInjectOnEmbed + transferAmount: 3 + solution: melee + - type: InjectableSolution + solution: ammo diff --git a/Resources/Prototypes/_NF/Entities/Structures/Specific/argocyte.yml b/Resources/Prototypes/_NF/Entities/Structures/Specific/argocyte.yml new file mode 100644 index 00000000000..b833ad471b0 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Specific/argocyte.yml @@ -0,0 +1,51 @@ +# Salvage expedition objective +- type: entity + parent: CarpStatue + id: ArgocyteEgg + name: argocyte egg + description: Looks more like a fossil than egg. + components: + - type: Sprite + sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + layers: + - state: fossilegg + - sprite: _NF/Mobs/Aliens/argocyte.rsi + state: unshaded + shader: unshaded + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: tank + - trigger: + !type:DamageTypeTrigger + damageType: Piercing + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: tank + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:SpillBehavior + solution: tank + - !type:DoActsBehavior + acts: ["Destruction"] + - type: SolutionContainerManager + solutions: + tank: + maxVol: 150 + reagents: + - ReagentId: FerrochromicAcid + Quantity: 150 diff --git a/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml b/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml new file mode 100644 index 00000000000..a59ec4e51a0 --- /dev/null +++ b/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml @@ -0,0 +1,62 @@ +# Basic easily obtainable gear for testing salvage expeditions +- type: startingGear + id: ExpeditionTesterGear + equipment: + jumpsuit: ClothingUniformJumpsuitSalvageSpecialist + back: ClothingBackpackMessengerExpeditionTester + shoes: ClothingShoesBootsSalvage + mask: ClothingMaskGasExplorer + eyes: ClothingEyesHudMedical + gloves: ClothingHandsGlovesCombat + outerClothing: ClothingOuterVestWebExpeditionTester + id: SalvagePDA + ears: ClothingHeadsetMining + belt: ClothingBeltExpeditionTester + suitstorage: WeaponCrusherGlaive + pocket1: WeaponShotgunSawn + pocket2: DoubleEmergencyOxygenTankFilled + satchel: ClothingBackpackMessengerExpeditionTester + duffelbag: ClothingBackpackMessengerExpeditionTester + messenger: ClothingBackpackMessengerExpeditionTester + +# Filled containers +- type: entity + id: ClothingBeltExpeditionTester + parent: ClothingBeltSalvageWebbing + noSpawn: true + components: + - type: StorageFill + contents: + - id: Wrench + - id: Screwdriver + - id: Wirecutter + - id: Welder + - id: Multitool + - id: RemoteSignaller + - id: HandheldHealthAnalyzerUnpowered + +- type: entity + id: ClothingBackpackMessengerExpeditionTester + parent: ClothingBackpackMessengerSalvage + noSpawn: true + components: + - type: StorageFill + contents: + - id: BoxLethalshot + amount: 3 + - id: ShellShotgun + amount: 2 + - id: Ointment + - id: PillCanisterTricordrazine + +- type: entity + id: ClothingOuterVestWebExpeditionTester + parent: ClothingOuterVestWeb + noSpawn: true + components: + - type: StorageFill + contents: + - id: Brutepack + amount: 2 + - id: Gauze + amount: 1 diff --git a/Resources/Textures/_NF/Mobs/Aliens/argocyte.rsi/meta.json b/Resources/Textures/_NF/Mobs/Aliens/argocyte.rsi/meta.json new file mode 100644 index 00000000000..67469acade1 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Aliens/argocyte.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Original sprites created by aleksh (discord) for Space Station 14.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "unshaded" + } + ] +} diff --git a/Resources/Textures/_NF/Mobs/Aliens/argocyte.rsi/unshaded.png b/Resources/Textures/_NF/Mobs/Aliens/argocyte.rsi/unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..e41f7059245214d0a40bf00dd95fa719acabf7d3 GIT binary patch literal 6563 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/horror.png b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/horror.png new file mode 100644 index 0000000000000000000000000000000000000000..edd0660152702b26c8811136bf7ccfe10cb49a9f GIT binary patch literal 3371 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 AD*ylh literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json index 4befada4db1..b1fce77b545 100644 --- a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json +++ b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Sprites made by wax391 (discord)", + "copyright": "Clamp, dead, golem, golem2, jared sprites made by wax391 (discord); horror taken from tgstation https://github.com/tgstation/tgstation/blob/master/icons/mob/simple/mob.dmi recolored and resprited by erhardsteinhauer; lover created by EmoGarbage404 (github) for space-station-14 (credit to Aleksh#7552 (discord) for original concepts and designs) resprited and rudimentary animated by erhardsteinhauer; spike sprite by erhardsteinhauer", "states": [ { "name": "clamp", @@ -20,15 +20,27 @@ "directions": 4, "delays": [ [1.3, 0.2], [1.3, 0.2], [1.3, 0.2], [1.3, 0.2] ] }, + { + "name": "golem2", + "directions": 4, + "delays": [ [1.3, 0.2], [1.3, 0.2], [1.3, 0.2], [1.3, 0.2] ] + }, + { + "name": "horror", + "directions": 4 + }, { "name": "jared", "delays": [ [1.3, 0.2] ] }, { - "name": "golem2", - "directions": 4, - "delays": [ [1.3, 0.2], [1.3, 0.2], [1.3, 0.2], [1.3, 0.2] ] + "name": "lover", + "delays": + [ [1.3, 0.2] ] + }, + { + "name": "spike" } ] } diff --git a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/spike.png b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/spike.png new file mode 100644 index 0000000000000000000000000000000000000000..5ce8bf8f8fe3362ae60519cbad96dc54f1aec146 GIT binary patch literal 667 zcmV;M0%ZM(P)EX>4Tx04R}tkv&MmKpe$iTT4YM4n|OM$WWauh>AE$6^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|?BJy6A|?JWDYS_3;J6>}?mh0_0scmXsb<#%plX(p zipRukZdDAuB8UJ43}HZGrk+SIX5cx#?&0I>U6f~epZjz4DtVIuK9P8i>4rtTK|Hf* z>74h81y+(2;&bA0gDyz?$aUG}H_ke3JS*_Gq>z@3D;k>qz<~q$0#Ib|~k`N)IhB7L!5T#Wk#YBqsV;=rt$DbsZOs+B* zITlcb3d!+<|H1EW&BD~An-q=#!57>97zIMRK(lV!-^aGyJOKjFz?IhaR~x|WC+YRJ z7C8d?wteSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{0047IL_t(o!|l=`4ue1dMA5&25>gD!CaXd93frr20t}a- zrrGOM^e$^~2oPIaOA5iv)051I0TB@qIholK4vkM!JLBAi7+0?MisAJ!0MGuBY>@-d zjc;?vfZq{|D*>o)834A(Hx>USG(PD(A|fJt`2u8d74$vDgR}qu002ovPDHLkV1neb BAQJ!p literal 0 HcmV?d00001 From 948c92fdb45a680f586ed0b9b4e7fd67413eee25 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sat, 4 May 2024 17:52:38 +0300 Subject: [PATCH 05/73] tweaks to flesh monsters --- .../Mobs/NPCs/aberrant_flesh_expeditions.yml | 64 +++++++++++++++++- .../Weapons/Throwable/throwable_weapons.yml | 23 ++++++- .../_NF/Roles/Jobs/expedition_testing.yml | 1 + .../_NF/Mobs/Aliens/flesh.rsi/maw.png | Bin 0 -> 1213 bytes .../_NF/Mobs/Aliens/flesh.rsi/meta.json | 7 +- 5 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/maw.png diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml index 8dd6485d985..8eda096ca23 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml @@ -183,6 +183,22 @@ - type: MovementSpeedModifier baseWalkSpeed: 2 baseSprintSpeed: 2.5 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 6 + rechargeSound: + path: /Audio/_NF/Effects/silence.ogg + - type: BasicEntityAmmoProvider + proto: DartAberrantFleshHorrorSpikeCluster + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: + collection: BulletMiss - type: entity parent: MobFleshClampExpeditions @@ -200,7 +216,7 @@ rechargeSound: path: /Audio/_NF/Effects/silence.ogg - type: BasicEntityAmmoProvider - proto: DartAberrantFleshHorrorSpike + proto: MobMawExpeditions capacity: 1 count: 1 - type: Gun @@ -272,3 +288,49 @@ damage: types: Slash: 12 + +- type: entity + parent: BaseMobFleshExpeditions + id: MobMawExpeditions + noSpawn: true + components: + - type: DamageOtherOnHit + damage: + types: + Blunt: 4 + - type: Ammo + muzzleFlash: null + - type: EmbeddableProjectile + removalTime: 0.5 + sound: /Audio/Effects/bite.ogg + - type: Sprite + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: maw + - type: DamageStateVisuals + states: + Alive: + Base: maw + Dead: + Base: dead + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 16: Dead + - type: MovementSpeedModifier + baseWalkSpeed: 0 + baseSprintSpeed: 0 + - type: MeleeWeapon + soundHit: + path: /Audio/Effects/bite.ogg + angle: 0 + animation: WeaponArcBite + damage: + types: + Slash: 4 + - type: TimedDespawn + lifetime: 180 diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml index 6b3acb78e47..fb53ba53635 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml @@ -28,6 +28,8 @@ solution: ammo - type: DrainableSolution solution: ammo + - type: SolutionTransfer + maxTransferAmount: 4 - type: SolutionInjectOnEmbed transferAmount: 2 solution: melee @@ -47,6 +49,8 @@ reagents: - ReagentId: ChloralHydrate Quantity: 3 + - type: SolutionTransfer + maxTransferAmount: 4 - type: SolutionInjectOnEmbed transferAmount: 3 solution: melee @@ -67,7 +71,7 @@ - type: DamageOtherOnHit damage: types: - Piercing: 15 + Piercing: 10 - type: SolutionContainerManager solutions: ammo: @@ -77,6 +81,23 @@ Quantity: 3 - type: SolutionInjectOnEmbed transferAmount: 3 + - type: SolutionTransfer + maxTransferAmount: 4 solution: melee - type: InjectableSolution solution: ammo + +- type: entity + parent: ConjuredObject10 + id: DartAberrantFleshHorrorSpikeCluster + name: bone spike + noSpawn: true + components: + - type: Sprite + sprite: _NF/Mobs/Aliens/flesh.rsi + state: spike + - type: CartridgeAmmo + muzzleFlash: null + proto: DartAberrantFleshHorrorSpike + count: 3 + spread: 25 diff --git a/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml b/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml index a59ec4e51a0..780716a446e 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml @@ -33,6 +33,7 @@ - id: Welder - id: Multitool - id: RemoteSignaller + - id: AppraisalTool - id: HandheldHealthAnalyzerUnpowered - type: entity diff --git a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/maw.png b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/maw.png new file mode 100644 index 0000000000000000000000000000000000000000..3254adfa66b1747f36c725763d151b9145e88ef8 GIT binary patch literal 1213 zcmV;u1Va0XP)EX>4Tx04R}tkv&MmKpe$i(-uW44t5ZA$WWau_=Px16^me@v=v%)FuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|?BJy6A|?JWDYS_3;J6>}?mh0_0Yam~R5LIRsG4P@ z;xRFsTNS%r5kvqX3}HfIrk+SIX5cx#?&0I>U6f~epZjz4DtVIuK9P8i>4rtTK|Hf* z>74h8!>lAJ#OK6g23?T&k?XR{Z=8z`3p_JyWK#3QVPdh^!Ey()lA#h$6Gs$PqkJLj zvch?bvs$UK);;+PLwRi_&2^f?h+_!}Bq2gZ4P{hdAxf)8iis5M$2|Oljz38*nOtQs zax9<<6_Voz|AXJ%nuV!JHz^bYf-koHF#>e$0?oQ@e;?a+^91le16NwxUu^)hpQP8@ zTI2}m+XgPK+nT%wT zj20<--Q(TeoxS~grq$mMhEH;@kHPdx00006VoOIv0E+;N0E?)9lr;bV010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=mi7~5)262gu?&;0=h{=K~!ko?V8VP6G0Tmzq7M; zlL!f0mBgio3ZhsLdMbFTXu(VW+#HJ{l&XQso+|C7LBg71lQnBib`z)TVKdWB$zf;L ztv`65Q!>l)-n{v-^S*BYf*=Uu55sg{*sVD6^|p5CvAhnLx`sFE4tx>8<`x>H7*VNBEs6Hfu0+w=g;g1xt%a{jJu;gPA&!rCjx7mhH^+cv21vL+Ym^`Vupjm zq5A*o_0bI7X^?9Y8kr~IwzIVT&HfPYKL#je70g2! zZ`7TINhhOF5opj~Uii>KKWr zya?Fb!uc^nI1#Gty78mH)7}-C&Q2&-M4BSTwZ8?@i8M!nSLl0C_+wP$Lqre+K@bE% z{2%(jJQs*dJ(SARuo5HyR2f&lC$Ydg|1?)5OdaDg^O3oM%`LRd8mf$Aeq7g%gjQ}S z1qpZ5R{}-<=NJIc;1)LOjr5o b{JZ=D_8`soA**O600000NkvXXu0mjf{YWZ) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json index b1fce77b545..9b1067f9fc0 100644 --- a/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json +++ b/Resources/Textures/_NF/Mobs/Aliens/flesh.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Clamp, dead, golem, golem2, jared sprites made by wax391 (discord); horror taken from tgstation https://github.com/tgstation/tgstation/blob/master/icons/mob/simple/mob.dmi recolored and resprited by erhardsteinhauer; lover created by EmoGarbage404 (github) for space-station-14 (credit to Aleksh#7552 (discord) for original concepts and designs) resprited and rudimentary animated by erhardsteinhauer; spike sprite by erhardsteinhauer", + "copyright": "Clamp, dead, golem, golem2, jared sprites made by wax391 (discord); maw sprite based on wax391 work, edited by erhardsteinhauer; horror taken from tgstation https://github.com/tgstation/tgstation/blob/master/icons/mob/simple/mob.dmi recolored and resprited by erhardsteinhauer; lover created by EmoGarbage404 (github) for space-station-14 (credit to Aleksh#7552 (discord) for original concepts and designs) resprited and rudimentary animated by erhardsteinhauer; spike sprites made by erhardsteinhauer", "states": [ { "name": "clamp", @@ -41,6 +41,11 @@ }, { "name": "spike" + }, + { + "name": "maw", + "delays": + [ [0.3, 0.1, 0.2] ] } ] } From 2c2ba649f817b488009c4c90bac8aa877dfdafac Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 5 May 2024 03:43:31 +0300 Subject: [PATCH 06/73] tweaks --- .../Markers/Spawners/Random/argocyte_mobs.yml | 33 +++++++++++++ .../_NF/Entities/Mobs/NPCs/argocyte.yml | 24 ---------- .../Mobs/NPCs/base_humanoid_hostile.yml | 1 - .../_NF/Roles/Jobs/expedition_testing.yml | 48 ++++++++++++------- 4 files changed, 63 insertions(+), 43 deletions(-) delete mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/argocyte.yml diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml index 6c55a16bbe2..77f91608f52 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml @@ -1,3 +1,4 @@ +# Categorized - type: entity name: argocyte spawner id: SpawnMobArgocyteTiny @@ -78,3 +79,35 @@ rarePrototypes: - MobArgocyteFounder rareChance: 0.05 + +# Full random +- type: entity + name: argocyte spawner + id: ArgocyteAISpawner + parent: MarkerBase + suffix: AI, Hostile + components: + - type: Sprite + layers: + - state: red + - sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + state: founder + - sprite: _NF/Markers/general.rsi + state: questionmark + color: red + - type: RandomSpawner + prototypes: + - MobArgocyteSlurva + - MobArgocyteBarrier + - MobArgocyteSkitter + - MobArgocyteSwiper + - MobArgocyteMolder + - MobArgocytePouncer + - MobArgocyteGlider + - MobArgocyteHarvester + - MobArgocyteCrawler + - MobArgocyteEnforcer + - MobArgocyteFounder + rarePrototypes: + - MobArgocyteLeviathing + rareChance: 0.10 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/argocyte.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/argocyte.yml deleted file mode 100644 index 1c544f46387..00000000000 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/argocyte.yml +++ /dev/null @@ -1,24 +0,0 @@ -- type: entity - name: NPC Argocyte Spawner - id: ArgocyteAISpawner - parent: MarkerBase - components: - - type: Sprite - layers: - - state: red - - type: RandomSpawner - prototypes: - - MobArgocyteSlurva - - MobArgocyteBarrier - - MobArgocyteSkitter - - MobArgocyteSwiper - - MobArgocyteMolder - - MobArgocytePouncer - - MobArgocyteGlider - - MobArgocyteHarvester - - MobArgocyteCrawler - - MobArgocyteEnforcer - - MobArgocyteFounder - rarePrototypes: - - MobArgocyteLeviathing - rareChance: 0.10 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml index d0524c133aa..4385c97bc19 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml @@ -107,7 +107,6 @@ abstract: true parent: - MobAtmosNF - - MobLaserReflect - SimpleSpaceMobBase id: MobNonHumanHostileBase components: diff --git a/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml b/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml index 780716a446e..1f93ab2e432 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml @@ -18,6 +18,8 @@ satchel: ClothingBackpackMessengerExpeditionTester duffelbag: ClothingBackpackMessengerExpeditionTester messenger: ClothingBackpackMessengerExpeditionTester + inhand: + - ToolboxEmergencyExpeditionTester # Filled containers - type: entity @@ -27,14 +29,24 @@ components: - type: StorageFill contents: - - id: Wrench - - id: Screwdriver - - id: Wirecutter - - id: Welder - - id: Multitool - - id: RemoteSignaller - - id: AppraisalTool - - id: HandheldHealthAnalyzerUnpowered + - id: CrowbarRed + - id: Wrench + - id: Screwdriver + - id: Wirecutter + - id: Welder + - id: Multitool + - id: MiningDrill + +- type: entity + id: ToolboxEmergencyExpeditionTester + parent: ToolboxEmergency + noSpawn: true + components: + - type: StorageFill + contents: + - id: RemoteSignaller + - id: AppraisalTool + - id: HandheldHealthAnalyzerUnpowered - type: entity id: ClothingBackpackMessengerExpeditionTester @@ -43,12 +55,12 @@ components: - type: StorageFill contents: - - id: BoxLethalshot - amount: 3 - - id: ShellShotgun - amount: 2 - - id: Ointment - - id: PillCanisterTricordrazine + - id: BoxLethalshot + amount: 3 + - id: ShellShotgun + amount: 2 + - id: Ointment + - id: PillCanisterTricordrazine - type: entity id: ClothingOuterVestWebExpeditionTester @@ -57,7 +69,7 @@ components: - type: StorageFill contents: - - id: Brutepack - amount: 2 - - id: Gauze - amount: 1 + - id: Brutepack + amount: 2 + - id: Gauze + amount: 1 From 88f79605aabf2b566df08f68e28d79bd874de839 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 5 May 2024 03:50:01 +0300 Subject: [PATCH 07/73] fix --- .../_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml index 77f91608f52..351f55da10e 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml @@ -90,7 +90,7 @@ - type: Sprite layers: - state: red - - sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + - sprite: Mobs/Aliens/Argocyte/argocyte_large.rsi state: founder - sprite: _NF/Markers/general.rsi state: questionmark From d85602a200cdf624662d0cee9372a5cf2f226609 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 5 May 2024 03:59:17 +0300 Subject: [PATCH 08/73] more fixes --- .../Objects/Weapons/Throwable/throwable_weapons.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml index fb53ba53635..14e8435f61f 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml @@ -32,7 +32,7 @@ maxTransferAmount: 4 - type: SolutionInjectOnEmbed transferAmount: 2 - solution: melee + solution: ammo - type: InjectableSolution solution: ammo @@ -53,7 +53,7 @@ maxTransferAmount: 4 - type: SolutionInjectOnEmbed transferAmount: 3 - solution: melee + solution: ammo - type: InjectableSolution solution: ammo @@ -81,9 +81,9 @@ Quantity: 3 - type: SolutionInjectOnEmbed transferAmount: 3 + solution: ammo - type: SolutionTransfer maxTransferAmount: 4 - solution: melee - type: InjectableSolution solution: ammo From 13beb4eb2f20e3d3b47b1a73156d9facf6ffc1dc Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 8 May 2024 23:47:24 +0300 Subject: [PATCH 09/73] dinosaurs first draft --- .../Procedural/salvage_factions.yml | 43 +- .../Spawners/Random/dinosaurs_mobs.yml | 60 +++ .../_NF/Entities/Mobs/NPCs/dinosaurs.yml | 440 ++++++++++++++++++ .../Structures/Specific/dinosaurs.yml | 52 +++ Resources/Prototypes/_NF/ai_factions.yml | 18 + Resources/Prototypes/ai_factions.yml | 9 + .../_NF/Mobs/Dinosaurs/anki.rsi/anki.png | Bin 0 -> 10982 bytes .../_NF/Mobs/Dinosaurs/anki.rsi/anki_dead.png | Bin 0 -> 3383 bytes .../_NF/Mobs/Dinosaurs/anki.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/compy.rsi/compy.png | Bin 0 -> 5039 bytes .../Mobs/Dinosaurs/compy.rsi/compy_dead.png | Bin 0 -> 1124 bytes .../_NF/Mobs/Dinosaurs/compy.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/dilo.rsi/dilo.png | Bin 0 -> 5476 bytes .../_NF/Mobs/Dinosaurs/dilo.rsi/dilo_dead.png | Bin 0 -> 1373 bytes .../_NF/Mobs/Dinosaurs/dilo.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/kentro.rsi/kentro.png | Bin 0 -> 12017 bytes .../Mobs/Dinosaurs/kentro.rsi/kentro_dead.png | Bin 0 -> 3639 bytes .../_NF/Mobs/Dinosaurs/kentro.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/para.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/para.rsi/para.png | Bin 0 -> 8198 bytes .../_NF/Mobs/Dinosaurs/para.rsi/para_dead.png | Bin 0 -> 2481 bytes .../_NF/Mobs/Dinosaurs/raptor.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/raptor.rsi/raptor.png | Bin 0 -> 4536 bytes .../Mobs/Dinosaurs/raptor.rsi/raptor_dead.png | Bin 0 -> 1129 bytes .../_NF/Mobs/Dinosaurs/spino.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/spino.rsi/spino.png | Bin 0 -> 10422 bytes .../Mobs/Dinosaurs/spino.rsi/spino_dead.png | Bin 0 -> 2160 bytes .../_NF/Mobs/Dinosaurs/stego.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/stego.rsi/stego.png | Bin 0 -> 11311 bytes .../Mobs/Dinosaurs/stego.rsi/stego_dead.png | Bin 0 -> 3591 bytes .../_NF/Mobs/Dinosaurs/trex.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/trex.rsi/trex.png | Bin 0 -> 9318 bytes .../_NF/Mobs/Dinosaurs/trex.rsi/trex_dead.png | Bin 0 -> 2619 bytes .../_NF/Mobs/Dinosaurs/trike.rsi/meta.json | 18 + .../_NF/Mobs/Dinosaurs/trike.rsi/trike.png | Bin 0 -> 11987 bytes .../Mobs/Dinosaurs/trike.rsi/trike_dead.png | Bin 0 -> 3664 bytes RobustToolbox | 2 +- 37 files changed, 801 insertions(+), 3 deletions(-) create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dinosaurs_mobs.yml create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/anki.rsi/anki.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/anki.rsi/anki_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/anki.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/compy.rsi/compy.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/compy.rsi/compy_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/compy.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/dilo.rsi/dilo.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/dilo.rsi/dilo_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/dilo.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/kentro.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/kentro_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/para.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/para_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/raptor.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/raptor_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/spino.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/spino_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/stego.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/stego.rsi/stego.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/stego.rsi/stego_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/trex.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/trex_dead.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/trike.png create mode 100644 Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/trike_dead.png diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 78cc75f8998..2c7202341b0 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -197,7 +197,7 @@ Megafauna: MobHorrorExpeditions - type: salvageFaction - id: Argocyte + id: Argocytes cost: 4 groups: - entries: @@ -236,5 +236,44 @@ prob: 0.001 configs: DefenseStructure: ArgocyteEgg - Mining: Argocyte + Mining: Argocytes Megafauna: MobArgocyteLeviathing + +- type: salvageFaction + id: Dinosaurs + cost: 3 + groups: + - entries: + - id: SpawnMobDinosaurSmall + amount: 1 + maxAmount: 2 + - id: SpawnMobDinosaurSmall + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: MobDinosaurDiloExpeditions + amount: 3 + prob: 0.25 + - entries: + - id: SpawnMobDinosaurMedium + amount: 2 + prob: 0.25 + - entries: + - id: SpawnMobDinosaurBig + amount: 1 + prob: 0.1 + - entries: + - id: MobDinosaurDiloExpeditions + amount: 5 + maxAmount: 6 + prob: 0.001 + - entries: + - id: MobDinosaurRaptorExpeditions + amount: 3 + maxAmount: 4 + prob: 0.001 + configs: + DefenseStructure: DinosaurEgg + Mining: Dinosaurs + Megafauna: MobDinosaurTrexExpeditions diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dinosaurs_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dinosaurs_mobs.yml new file mode 100644 index 00000000000..316b87146c9 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dinosaurs_mobs.yml @@ -0,0 +1,60 @@ +# Categorized +- type: entity + name: dinosaur spawner + id: SpawnMobDinosaurSmall + parent: MarkerBase + suffix: AI, Hostile, Small + components: + - type: Sprite + layers: + - state: red + - sprite: _NF/Mobs/Dinosaurs/compy.rsi + state: compy + - state: ai + - type: RandomSpawner + prototypes: + - MobDinosaurCompyExpeditions + - MobDinosaurDiloExpeditions + - MobDinosaurRaptorExpeditions + chance: 1 + offset: 0.0 + +- type: entity + name: dinosaur spawner + id: SpawnMobDinosaurMedium + parent: MarkerBase + suffix: AI, Hostile, Medium + components: + - type: Sprite + layers: + - state: red + - sprite: _NF/Mobs/Dinosaurs/kentro.rsi + state: kentro + - state: ai + - type: RandomSpawner + prototypes: + - MobDinosaurKentroExpeditions + - MobDinosaurParaExpeditions + - MobDinosaurTrikeExpeditions + - MobDinosaurAnkiExpeditions + chance: 1 + offset: 0.0 + +- type: entity + name: dinosaur spawner + id: SpawnMobDinosaurBig + parent: MarkerBase + suffix: AI, Hostile, Big + components: + - type: Sprite + layers: + - state: red + - sprite: _NF/Mobs/Dinosaurs/trex.rsi + state: trex + - state: ai + - type: RandomSpawner + prototypes: + - MobDinosaurStegoExpeditions + - MobDinosaurSpinoExpeditions + chance: 1 + offset: 0.0 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml new file mode 100644 index 00000000000..73624dbff4b --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml @@ -0,0 +1,440 @@ +# Based on https://github.com/space-wizards/space-station-14/pull/26883 by @Vonsant, all credits goes to him +- type: entity + parent: MobNonHumanHostileBase + id: BaseMobDinosaurExpeditions + name: dinosaur + description: Enigmatic behemoths from a bygone era, known for their imposing stature and formidable presence. + abstract: true + components: + - type: NpcFactionMember + factions: + - DinosaursNF + - type: Insulated + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/anki.rsi + - type: MovementAlwaysTouching + - type: MovementSpeedModifier + baseWalkSpeed: 1 + baseSprintSpeed: 1.5 + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 75: Dead + - type: Stamina + critThreshold: 50 + - type: Butcherable + spawned: + - id: FoodMeatChicken + amount: 12 + - type: CombatMode + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 6 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 1000 + mask: + - MobMask + layer: + - MobLayer + - type: ReplacementAccent + accent: genericAggressive + - type: Bloodstream + bloodReagent: Blood + bloodMaxVolume: 250 + bloodlossDamage: + types: + Bloodloss: + 0.5 + bloodlossHealDamage: + types: + Bloodloss: + -1 + - type: Tool + speed: 6 + qualities: + - Prying + - type: Prying + pryPowered: !type:Bool + true + force: !type:Bool + true + useSound: + path: /Audio/Items/crowbar.ogg + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurAnkiExpeditions + name: ankylosaurus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/anki.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: anki + - type: MobThresholds + thresholds: + 0: Alive + 250: Dead + - type: DamageStateVisuals + states: + Alive: + Base: anki + Critical: + Base: anki_dead + Dead: + Base: anki_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 8 + - type: MovementSpeedModifier + baseSprintSpeed : 2 + baseWalkSpeed: 2 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurCompyExpeditions + name: compsognathus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/compy.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: compy + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: DamageStateVisuals + states: + Alive: + Base: compy + Critical: + Base: compy_dead + Dead: + Base: compy_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 8 + - type: MovementSpeedModifier + baseSprintSpeed : 2 + baseWalkSpeed: 2 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurDiloExpeditions + name: dilophosaurus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/dilo.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: dilo + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: DamageStateVisuals + states: + Alive: + Base: dilo + Critical: + Base: dilo_dead + Dead: + Base: dilo_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 6 + Caustic: 1 + - type: MovementSpeedModifier + baseSprintSpeed : 5.5 + baseWalkSpeed: 5.5 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurKentroExpeditions + name: kentrosaurus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/kentro.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: kentro + - type: MobThresholds + thresholds: + 0: Alive + 150: Dead + - type: DamageStateVisuals + states: + Alive: + Base: kentro + Critical: + Base: kentro_dead + Dead: + Base: kentro_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Piercing: 10 + - type: MovementSpeedModifier + baseSprintSpeed : 2.5 + baseWalkSpeed: 2.5 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurParaExpeditions + name: parasaurolophus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/para.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: para + - type: MobThresholds + thresholds: + 0: Alive + 100: Dead + - type: DamageStateVisuals + states: + Alive: + Base: para + Critical: + Base: para_dead + Dead: + Base: para_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Blunt: 6 + - type: MovementSpeedModifier + baseSprintSpeed : 4 + baseWalkSpeed: 4 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurRaptorExpeditions + name: velociraptor + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/raptor.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: raptor + - type: MobThresholds + thresholds: + 0: Alive + 80: Dead + - type: DamageStateVisuals + states: + Alive: + Base: raptor + Critical: + Base: raptor_dead + Dead: + Base: raptor_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 12 + - type: MovementSpeedModifier + baseSprintSpeed : 6.5 + baseWalkSpeed: 6.5 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurSpinoExpeditions + name: spinosaurus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/spino.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: spino + - type: MobThresholds + thresholds: + 0: Alive + 350: Dead + - type: DamageStateVisuals + states: + Alive: + Base: spino + Critical: + Base: spino_dead + Dead: + Base: spino_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Blunt: 12 + - type: MovementSpeedModifier + baseSprintSpeed : 4.5 + baseWalkSpeed: 4.5 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurStegoExpeditions + name: stegosaurus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/stego.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: stego + - type: MobThresholds + thresholds: + 0: Alive + 350: Dead + - type: DamageStateVisuals + states: + Alive: + Base: stego + Critical: + Base: stego_dead + Dead: + Base: stego_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Blunt: 12 + Piercing: 8 + - type: MovementSpeedModifier + baseSprintSpeed : 3 + baseWalkSpeed: 3 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurTrexExpeditions + name: tyrannosaurus + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/trex.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: trex + - type: MobThresholds + thresholds: + 0: Alive + 350: Dead + - type: DamageStateVisuals + states: + Alive: + Base: trex + Critical: + Base: trex_dead + Dead: + Base: trex_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 12 + Piercing: 8 + - type: MovementSpeedModifier + baseSprintSpeed : 4.5 + baseWalkSpeed: 4.5 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurTrikeExpeditions + name: triceratops + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/trike.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: trike + - type: MobThresholds + thresholds: + 0: Alive + 200: Dead + - type: DamageStateVisuals + states: + Alive: + Base: trike + Critical: + Base: trike_dead + Dead: + Base: trike_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcClaw + damage: + types: + Blunt: 15 + - type: MovementSpeedModifier + baseSprintSpeed : 3 + baseWalkSpeed: 3 diff --git a/Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml new file mode 100644 index 00000000000..175d97f06ec --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml @@ -0,0 +1,52 @@ +# Salvage expedition objective +- type: entity + parent: CarpStatue + id: DinosaurEgg + name: dinosaur egg + description: Looks more like a fossil than egg. + components: + - type: Sprite + sprite: Objects/Consumable/Food/egg.rsi + layers: + - sprite: Structures/Web/nest.rsi + state: icon + color: "yellow" + - state: icon + scale: 1.4, 2.0 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: tank + - trigger: + !type:DamageTypeTrigger + damageType: Piercing + damage: 5 + behaviors: + - !type:SolutionExplosionBehavior + solution: tank + - trigger: + !type:DamageTrigger + damage: 10 + behaviors: + - !type:SpillBehavior + solution: tank + - !type:DoActsBehavior + acts: ["Destruction"] + - type: SolutionContainerManager + solutions: + tank: + maxVol: 150 + reagents: + - ReagentId: Egg + Quantity: 150 diff --git a/Resources/Prototypes/_NF/ai_factions.yml b/Resources/Prototypes/_NF/ai_factions.yml index 4a172dd6070..6a75c2a26d5 100644 --- a/Resources/Prototypes/_NF/ai_factions.yml +++ b/Resources/Prototypes/_NF/ai_factions.yml @@ -12,6 +12,7 @@ - Chicken - Monkey - Goblin + - DinosaursNF - type: npcFaction id: Dwarf @@ -47,6 +48,7 @@ - Xeno - BloodCultNF - Goblin + - DinosaursNF - type: npcFaction id: BloodCultNF @@ -61,3 +63,19 @@ - Xeno - WizFedFaction - Goblin + - DinosaursNF + +- type: npcFaction + id: DinosaursNF + hostile: + - NanoTrasen + - Syndicate + - SimpleHostile + - Passive + - PetsNT + - Zombie + - Revolutionary + - Xeno + - WizFedFaction + - Goblin + - BloodCultNF diff --git a/Resources/Prototypes/ai_factions.yml b/Resources/Prototypes/ai_factions.yml index 6188509124e..6bd266fdcfa 100644 --- a/Resources/Prototypes/ai_factions.yml +++ b/Resources/Prototypes/ai_factions.yml @@ -9,6 +9,7 @@ - Revolutionary - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: NanoTrasen @@ -20,6 +21,7 @@ - Revolutionary - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: Mouse @@ -38,6 +40,7 @@ - Xeno - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: SimpleHostile @@ -50,6 +53,7 @@ - Revolutionary - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: SimpleNeutral @@ -64,6 +68,7 @@ - Zombie - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: Xeno @@ -76,6 +81,7 @@ - Revolutionary - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: Zombie @@ -89,6 +95,7 @@ - Revolutionary - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: Revolutionary @@ -99,9 +106,11 @@ - Dragon - WizFedFaction # Frontier - BloodCultNF # Frontier + - DinosaursNF # Frontier - type: npcFaction id: ArtifactConstruct hostile: - NanoTrasen - Syndicate - Revolutionary + - DinosaursNF # Frontier diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/anki.rsi/anki.png b/Resources/Textures/_NF/Mobs/Dinosaurs/anki.rsi/anki.png new file mode 100644 index 0000000000000000000000000000000000000000..f38731a9a0c6edae4b1b567f5b75e32d8ccd9b77 GIT binary patch literal 10982 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/anki.rsi/anki_dead.png b/Resources/Textures/_NF/Mobs/Dinosaurs/anki.rsi/anki_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..2a34eb525118eaea361497f903592d062c6124c0 GIT binary patch literal 3383 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/compy.rsi/compy_dead.png b/Resources/Textures/_NF/Mobs/Dinosaurs/compy.rsi/compy_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..b59c48349ffa1598db58c43121176b09a2b4341e GIT binary patch literal 1124 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/dilo.rsi/meta.json b/Resources/Textures/_NF/Mobs/Dinosaurs/dilo.rsi/meta.json new file mode 100644 index 00000000000..42f78ab58a8 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Dinosaurs/dilo.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by belay5 (discord) for Space Station 14.", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "dilo", + "directions": 4 + }, + { + "name": "dilo_dead" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/kentro.png b/Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/kentro.png new file mode 100644 index 0000000000000000000000000000000000000000..937b5e08e876901751d0c875f4964a60327d6c28 GIT binary patch literal 12017 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%0A9(}STnRY9XeU-4b>mYI47qglMm zzsF>Q8xNX|uNt{mH$B9@<)jM}==TssTi29W%?B#9RDIM|_J5t^^%gfiW$Ou#w`{LUV}xK^J@TfpZA1Iby^{d*R6gz1;&{V^F5a_qwGs-;t_G z{F9|Q<{!*QF$n$~F>AJ5;T?>@?Xt*F7LG2Oey#6zm80)kXoK4wQEkMuN4>mCxKs7g z%cT1d6uCu~t%H;*iA&%fGYs#|>Z8?AaB$m*hn+>q`!`%aNMY7WN2B-8Frj%82Swl< zJZv4dZ;+XStOz#xggP!V+=Lk}myQq~!Tp{{RlE9eut-i;RgAmjPnD*iR38G&5LiokUS)TV+Q>XH7_#KR z^#)eX-yLSyb>P{5RAEP$H=DGDlH^>irwdh)F+Ho9b)cH(*^B{tZjrvwDw6SEx`6JxN`SLehR zKVHQ&BL5kM8+qc;TH_Xja=8GU$rG)?lkpN9mTSe5suNcZoyJ@ar$d;wnLzgYHu9+ae8KxNlYFA4#a` zit_#>S4W4dOfHwTzVZm=x%{F;w0(R zV?NVVC*n1P3llCd2TuZ zLN>y#K{W*!qOojqqX9<#=iq<%hNER!0{xq0+6p}sWen<=o~<3fT836y|E<@N7q{Od zY2M{fQMT<`ir>KVG;)3z_Y3AzQLf&9k7b>q;&K#Vw&Z8cBUfb;s`C}+5X|)=Z0c?i z5wr}zFc?|!8U5>2|6VOd14MW_}3Wo`Ow$X4ICS4BS%oE(~RP>`yA@Zxg>Ae5l`JP{R#IJ}!(ez%} z<>%JU${2HA==oo3e77fsr+?mmrvq7^`^uM!l4`d3fb@O{r}DpW5^MVQHbe=A>_TOf z^|&g1&V2Kt&-hx}aR8v5@2Z&>>M!=N3oxG84?^(>@ZB3=`Qnn-ZXlv`K=ER6u=`d)re zdUKGegefzlP8L7b!}i04#!{@pnrOO>T613jMpKLaRx?SxtYm7b z;caF6`I(7{7I%r;0jQNH8Wf6N8P^n~xTaNy;+h=ZnJ8zL{C3vsNKR_1R7zSyvWgx_yT2h zt`B|%Lo&lDvB7(X{j!ph@IP&$V3&$LbMo>w{KZCq zTZ$mYTX&v6C7j9wbzM${mfos;DKeCviu`9i9t3AG@+S z_~`o~!32Y-UJOds2_P1*!)onc(v{)xWg;eQCVZCNiF}74@Y5sOHw2P$?3o|wRk*J) zv?|!D<;&>+Up5|jUPQ3Bxw}%fW#G`E!MWu=__p4bDDJ|A`C*@uHa{iTN^lNzkhrV3 zLXQbX=g<2%WpUZJ8|iJV*K+$a$baFPxcKnl81HxU#E4%H?05cU=u~?_(m$H@*~=YK@X+0$0NRp&Hs^?x+aQ!wQ%-|;Uy|xu@ zR`twR1WKevRDT^4gdm6fuDUvDupf>xJ1Dm$1(XR$Z-Do)c3c9SY<)*ixP~jyp|HQsu8`?n8lLsaM9av2Q@_3~E!rVf#+11E&M_70aQ|cCOK65*R0#NR8T8ptc;WP?;>Nw&>fxJH6vFsHtNLfK+OokpGSp1Ai`l1sU2*eUrQruJ^84 z4X=s00Hg{bi2MPK>H7IdzJW`H^1r9~+t=6pk8=}vx7yQ#mm2AiAq{&AcQNT!ARv3>GHmN znWVR`4-4ok93Lf(H@T9hQu{==+=&nU9(ydt06si7KPcjl+8qTT;oC2V(zgQ|^*3;E zlO)MTQTKu9jkkG6!M!`D6b2^y}eZU(Phm?=zE zOL5&KwG!PSlEFVBG+GuWl*rg1kbf3bZ?N2&iQYfYJYxg-Au z-{P;@{B-YQO0K$hsm-z1?~TVlBp4NawQ9fstQV-glSj5ek*L>k`~H`QyyfBhUwz&Y zNBv?EuU<~#;}x-{GADBx6CrzCRhmnd^s{W!2ctAHNo5227&#bwB`-8T!oEoBQHGXH z+Ku$C?IKqasKJY_(7aF_Z8J=%&!1?lNdpWQ)A9Q9y}(s-E;R?;uMa(?c@crtO7@~` z@5TO#Rgff@iLj2{v?TYh3iF)>pNXv>P?La(IqH#29T}6r9>%rIhSpI#Ig6hnfE5RI zCa@kn07_X9k2jt)*H8EU(KQ9x;>+6r)fx@ogEv8;9IgdbzNa9!HGSUYvEz!jbqZd8 zK9!Sfe1Y5L=*_6EIf*YYZ0^s;Q^_TxE%=vCvgoM9gv;U;sd?npf?Ap3pL6r6A3NiPN zvcYxE$_CwvChSGXR%yDisq8S>hO5-!CoL$Kj9$+k`w8JE9{7D6VlihkJ_#T{dq7@| zihUgEFDI(U{zYg8oVEUR00t5$7Qi{a?Awp@kJ+LK8ZCQ>VR4o?Lm&_H?|T6_`a!9C z!o5)00!XIPNfD39m@IcbVZOLhs)l!xe0lU`q=QXAJ^_Mv`x*Ch*VJ%Ot7U52_I=x%Owg!KIK^F=Cn;w@$pC07iDJgz22}jq0YhFbqO-tl9EC=ndh)4O zJ!myVT{{uPc;;nkbQZ2)WAyW(i~T+aehL5Ja3xSCr3*?B13fop>j4djsRy(5!bp40!z(D^|TU6-FE=&GpC|N`jWL9MPd0l%1ii53-+M%#v4 z^o;tBrzqb`3#8EkLKuph(Z4ak_7+Q>eaik*(5Sj>fvd-+?JDB(Ef;>$wh*r|5~fEH zH?EW{Q>a-gPy}2%UdEd^3X#c|m7$|6`r-wJnz59wE<<(o_5R_`I0} zh69LVxRvREVxo`71o~u)6~#zu0BZqn(z}oS*%OoIl*Ky4J$n|MnT%yr0>8bPk&_jH zubjL)YJ75zTXH|TPx23#lf`J+@hD((|I41wb^t0U(Bp9Xt73P;sA3YVKL}uaNU$b! zrsVl+I$-omWr;OU&(jI29RmdaFluYm2XSe2F-b>afNBA9<#61|QyDmIDvPpEhpn$u z>1lbtJJyU33I|)0#Ae~*=xkTu4|;-*-U4nC2GFQr>iHDJXa9{f-c6#(u$^{1)3Jdc zV)cN`eM}t!SpNOak|d~D^JmWc58rVq!4-u7p7G=tbvxt<2k8iNDRPMG_3idw5aZDR zD3fo=zlFvESz0xg)M|^k=EM+Nayi@JjjrL%ga_K+(?XkL^3>Pc&yxf`G#Lh@HkCpc z*N{H$X`M zt?kd9>GeyZj(tc$06fl;Zjn$7sADCrYF(dEZK5N0L5WqfDkt!)AtuCSrWVG5^bq`9+L)owokhQd9$NzKqPoq>((6ZKk2GY*gC>~h#i z>B)2<^v2SGu8+PaUVS1)x^kk^JGBt%jzZNEs#_R(8wR-n6EW9U>Z#A?9jT3A?r!j;$8XI=Iy zl3^r2wBLRCJ+$V+%naql%uu;?kiOOennT!5M|T95P-nxqWWqJu6w{U$4^)pU_wyI~ zo;Yx}P70>}j3Vnmv=@lX0C3&|co8RVim!stG_XNEbl{6Q)5S)}p-=w?Xm z%b&sf;VF$8NWjJK>G$_kTJ)*7Vawt%tGhKvlQb+l#a_n3H;?E)MpON_V+c@C1(Tze zxA${1AP)Lb%w(yfufI!lxqUS2s)YJ<$-om5tPlM*HB?KYP#qZDeK?M$1Va6#pDrWn z{%bJ+sO(;r@D-L~F`|2(lbme81?TAjGG_dEJvDK~l-DbFbpUuM9z@lZrCd|Jc+dBe zaPX0vkJ|HMGCs}{BiPJLK5pOs0eQ z>8NF~ZZ6>2ffi+TqL;y6sJG9%AsFg0t(9hM+K6SwkdkzyI#-OU$JS8%MMNU0*6}j$&fa6T}*=;@j(?XO?(PY+tCl0ZtZ7D|;vQE8MDy^U*_ObXCkn zzeB|7kEsZsH)pxD`JVR?zcpjN<&WYU&wsMhe-7eP8<{~<#Ot0M{)-|>AJqI&1@83Z z`Jmf=FYw6wK%wm_?&Q{jCH8b=J5H8OU-#vOIi+Cbny&Fg(FdrcL|W1s=bHvUky$^h z1$vb*{!JP?oId6y26E+MkKe{w_)nxM7{JI?uM%YPaFDwI@a>179b z)98=bYaFsLhvYg7c%T@DI$T0E*!Ng7e0{b z>b(?VKCkzIN0N8RIZ}i)U6DYR=6)78x|6DlGaj7Wt$)V6<8G{i#Z0&`qP`UJY@8?t422Ojt>Uo3v`-^spQ~A&oiegzcLQ< z_xZh0h0>M=T4UxGT3A}PBuGi6yhHLlzxwmK?Byq0`appATg{DkAr2}FeqlZ}!>MOR z`*5J=ApKElXV|@(tm);pJ2dq z^p0s;=bFNU)8FqoT*=QMAcKKU9Xyxe_TV~GS3Zv~zd;=bqyR2@Wv$z__NANbppHRK z-4Cre6K+?bvA3%Rt+3b7N+V33q4;{^shY~T*64PiHIWG3g2eKbt_Gc}S+dXN`dW-4 z8m4iII3c+6bCxsM1A3C+-}@dc+e(75v=X!X18co`=TJUi0o6naBZtmGMM#Je7|G|E z#SnZXG3k23P+J*uJrQNE$N67;QK&@4PV*F%1}~JPc&$h&Ky%Olje?yx{BI`$C|)rG zr&=!M?p`I(51}Q68p?v?9R!x+2IR_PQ#9suNpFB`by9P67cqf3pVlexn(fi)H|wX) zg)F~HWK`imZqw#0&~k4S(g#R+d0qCWitC>ljERa7*z6xp_sWT4+U0fqTURB#teG{N zJ$8pDQ&S)AFc95Er&pJYYlpWm=B?&S!gM#{3Aw?7CFGHT0_aZKu2MfyGy4Qu5*N35 z9{LIi=0^KLXywBv_UY*BL z(DpMRV?H3#!{C`9fi~I9T6`A8AOw{}7YWcQ0RX8{##W=2)yb&w%nlT}mwz3|*GDT| z@t#HgK+~ZD(pVVg;Z(J?4A*j{(O@(Styw1`o_Vk0Lw`$F?`L^`AXp875YA=>%{tz+ z=mn2f8xm-GKC6W`yR9HtI3(9u=Wi$bmw4uoX*Fsv!}~EdH)TUwtvH<47yO9FCB2u$ jaD)FE!i)YK1)=o7_?pFb&0wI19ik+s{<22K{Qds}rR=Ff literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/kentro_dead.png b/Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/kentro_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..ebf5af6c340bfa3c8991c42efddb476f970eaf56 GIT binary patch literal 3639 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 AAOHXW literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/meta.json b/Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/meta.json new file mode 100644 index 00000000000..5929273aa28 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Dinosaurs/kentro.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by belay5 (discord) for Space Station 14.", + "size": { + "x": 96, + "y": 64 + }, + "states": [ + { + "name": "kentro", + "directions": 4 + }, + { + "name": "kentro_dead" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/meta.json b/Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/meta.json new file mode 100644 index 00000000000..bacaf37a850 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by belay5 (discord) for Space Station 14.", + "size": { + "x": 96, + "y": 64 + }, + "states": [ + { + "name": "para", + "directions": 4 + }, + { + "name": "para_dead" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/para.png b/Resources/Textures/_NF/Mobs/Dinosaurs/para.rsi/para.png new file mode 100644 index 0000000000000000000000000000000000000000..4d35e1e137356cc9b2fa9f1054afa13fc71fa87a GIT binary patch literal 8198 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 sPH`F=)Gy17#n-#~=$ET}FKQM&KjsO4v literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/meta.json b/Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/meta.json new file mode 100644 index 00000000000..e3d42c65ee0 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by belay5 (discord) for Space Station 14.", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "raptor", + "directions": 4 + }, + { + "name": "raptor_dead" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/raptor.png b/Resources/Textures/_NF/Mobs/Dinosaurs/raptor.rsi/raptor.png new file mode 100644 index 0000000000000000000000000000000000000000..1d12a4f3a953d8797c85a137f9969fa4b57ac436 GIT binary patch literal 4536 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/meta.json b/Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/meta.json new file mode 100644 index 00000000000..bbdcdb8711f --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by belay5 (discord) for Space Station 14.", + "size": { + "x": 128, + "y": 80 + }, + "states": [ + { + "name": "spino", + "directions": 4 + }, + { + "name": "spino_dead" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/spino.png b/Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/spino.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6d542f01cccba05bb70ce1778e770f2e7bfd54 GIT binary patch literal 10422 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 KBwZzC6#O4QjV?R@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/spino_dead.png b/Resources/Textures/_NF/Mobs/Dinosaurs/spino.rsi/spino_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..f3267290ddf7c7afa3bb7662ff587b2a8a55acef GIT binary patch literal 2160 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 yS6YVYgxN3AKsuU+8dYje(f6O literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/meta.json b/Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/meta.json new file mode 100644 index 00000000000..b1e95986a6d --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by belay5 (discord) for Space Station 14.", + "size": { + "x": 128, + "y": 80 + }, + "states": [ + { + "name": "trex", + "directions": 4 + }, + { + "name": "trex_dead" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/trex.png b/Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/trex.png new file mode 100644 index 0000000000000000000000000000000000000000..3d5203a37232220d4ae9638e0cef874baaac038e GIT binary patch literal 9318 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 Ug=RdyK1TFdO;@!_*)H;b0jU7h6aWAK literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/trex_dead.png b/Resources/Textures/_NF/Mobs/Dinosaurs/trex.rsi/trex_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..a1f3b8cd1851fe0de9af9f922e406700580dda92 GIT binary patch literal 2619 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 sXnoxAyk1#Lxm>2XlV<{9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/meta.json b/Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/meta.json new file mode 100644 index 00000000000..7e6918be2a9 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by belay5 (discord) for Space Station 14.", + "size": { + "x": 96, + "y": 64 + }, + "states": [ + { + "name": "trike", + "directions": 4 + }, + { + "name": "trike_dead" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/trike.png b/Resources/Textures/_NF/Mobs/Dinosaurs/trike.rsi/trike.png new file mode 100644 index 0000000000000000000000000000000000000000..43ab84c857b4695c182af79c6e68ec7920245acf GIT binary patch literal 11987 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 S&;fiALB@s_2F-eI3I7AUH!X_* literal 0 HcmV?d00001 diff --git a/RobustToolbox b/RobustToolbox index 603c828f0c3..a6e72246724 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit 603c828f0c31cd10789d8996bf3965554bfe9e69 +Subproject commit a6e7224672402c36f0b61d7c082427b4ff31250e From 150fc8e90373605476a71bf9be611d6678c489d9 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Thu, 9 May 2024 00:27:52 +0300 Subject: [PATCH 10/73] egg --- .../Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml index 175d97f06ec..70dca534271 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Specific/dinosaurs.yml @@ -10,9 +10,9 @@ layers: - sprite: Structures/Web/nest.rsi state: icon - color: "yellow" + color: "#cd7f32" - state: icon - scale: 1.4, 2.0 + scale: 1.5, 2.2 - type: Destructible thresholds: - trigger: From 63e88c5dbd6ef120550c481bd0946de56607cf16 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 15 May 2024 16:12:46 +0300 Subject: [PATCH 11/73] huh? --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index a6e72246724..970da5f717c 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit a6e7224672402c36f0b61d7c082427b4ff31250e +Subproject commit 970da5f717c921bfa110aa5dc31e74edb96dcf99 From c78aa9cf3279c297afbe8a3b0f2c085c5c986654 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Fri, 17 May 2024 07:52:31 +0300 Subject: [PATCH 12/73] clean up --- .../Mobs/NPCs/aberrant_flesh_expeditions.yml | 40 ++-- .../Mobs/NPCs/base_humanoid_hostile.yml | 1 + .../_NF/Entities/Mobs/NPCs/dinosaurs.yml | 208 ++++++++---------- 3 files changed, 109 insertions(+), 140 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml index 8eda096ca23..c27407890b8 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml @@ -1,3 +1,4 @@ +# BASE - type: entity parent: MobNonHumanHostileBase id: BaseMobFleshExpeditions @@ -8,7 +9,6 @@ - type: Sprite drawdepth: Mobs sprite: _NF/Mobs/Aliens/flesh.rsi - - type: MovementAlwaysTouching - type: MovementSpeedModifier baseWalkSpeed: 1 baseSprintSpeed: 1.5 @@ -19,7 +19,7 @@ - type: MobThresholds thresholds: 0: Alive - 75: Dead + 70: Dead - type: Stamina critThreshold: 50 - type: Butcherable @@ -28,7 +28,6 @@ amount: 1 - type: Bloodstream bloodMaxVolume: 100 - - type: CombatMode - type: MeleeWeapon soundHit: path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg @@ -36,11 +35,9 @@ animation: WeaponArcClaw damage: types: - Slash: 6 + Slash: 8 - type: ReplacementAccent accent: genericAggressive - - type: TimedDespawn - lifetime: 1500 # 25 minutes until mobs despawn - type: Tool speed: 3 qualities: @@ -53,6 +50,7 @@ useSound: path: /Audio/Items/crowbar.ogg +# MOBS - type: entity parent: BaseMobFleshExpeditions id: MobFleshJaredExpeditions @@ -70,14 +68,6 @@ Base: dead Dead: Base: dead - - type: MeleeWeapon - soundHit: - path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg - angle: 0 - animation: WeaponArcClaw - damage: - types: - Slash: 8 - type: entity parent: MobFleshJaredExpeditions @@ -112,14 +102,6 @@ thresholds: 0: Alive 50: Dead - - type: MeleeWeapon - soundHit: - path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg - angle: 0 - animation: WeaponArcClaw - damage: - types: - Slash: 8 - type: entity parent: MobFleshGolemExpeditions @@ -212,7 +194,7 @@ - map: [ "enum.DamageStateVisualLayers.Base" ] state: clamp - type: RechargeBasicEntityAmmo - rechargeCooldown: 6 + rechargeCooldown: 4 rechargeSound: path: /Audio/_NF/Effects/silence.ogg - type: BasicEntityAmmoProvider @@ -253,10 +235,12 @@ baseWalkSpeed: 2 baseSprintSpeed: 2.5 +# EXPEDITION BOSS - type: entity parent: BaseMobFleshExpeditions id: MobHorrorExpeditions name: aberrant flesh horror + description: Not so shambling mass of flesh with menacing bone spikes protruding from its unnaturally elongated fingers. noSpawn: true components: - type: Sprite @@ -289,9 +273,13 @@ types: Slash: 12 +# FUNNY LITTLE GUY +# embedable projectile that bites you until you either kill it or detach it or die (or it despawns) - type: entity parent: BaseMobFleshExpeditions id: MobMawExpeditions + name: aberrant flesh maw + description: Don't put your fingers in it. Unless?.. noSpawn: true components: - type: DamageOtherOnHit @@ -301,7 +289,7 @@ - type: Ammo muzzleFlash: null - type: EmbeddableProjectile - removalTime: 0.5 + removalTime: 1 sound: /Audio/Effects/bite.ogg - type: Sprite layers: @@ -320,7 +308,7 @@ - type: MobThresholds thresholds: 0: Alive - 16: Dead + 12: Dead - type: MovementSpeedModifier baseWalkSpeed: 0 baseSprintSpeed: 0 @@ -333,4 +321,4 @@ types: Slash: 4 - type: TimedDespawn - lifetime: 180 + lifetime: 120 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml index ec247677fee..4129af2abaf 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml @@ -13,6 +13,7 @@ normalBodyTemperature: 310.15 thermalRegulationTemperatureThreshold: 25 - type: MovedByPressure + - type: Insulated - type: entity save: false diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml index 73624dbff4b..5d104184e3a 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml @@ -1,4 +1,5 @@ # Based on https://github.com/space-wizards/space-station-14/pull/26883 by @Vonsant, all credits goes to him +# BASE - type: entity parent: MobNonHumanHostileBase id: BaseMobDinosaurExpeditions @@ -9,43 +10,19 @@ - type: NpcFactionMember factions: - DinosaursNF - - type: Insulated - type: Sprite drawdepth: Mobs sprite: _NF/Mobs/Dinosaurs/anki.rsi - - type: MovementAlwaysTouching - - type: MovementSpeedModifier - baseWalkSpeed: 1 - baseSprintSpeed: 1.5 - - type: MobState - allowedStates: - - Alive - - Dead - - type: MobThresholds - thresholds: - 0: Alive - 75: Dead - - type: Stamina - critThreshold: 50 - type: Butcherable spawned: - id: FoodMeatChicken amount: 12 - - type: CombatMode - - type: MeleeWeapon - soundHit: - path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg - angle: 0 - animation: WeaponArcClaw - damage: - types: - Slash: 6 - type: Fixtures fixtures: fix1: shape: !type:PhysShapeCircle - radius: 0.40 + radius: 0.40 # Lowered the value, to allow them to fit through the airlocks density: 1000 mask: - MobMask @@ -76,30 +53,32 @@ useSound: path: /Audio/Items/crowbar.ogg +# MOBS +# Sorted by health pool (less health ~= faster and harder hitting) - type: entity parent: BaseMobDinosaurExpeditions - id: MobDinosaurAnkiExpeditions - name: ankylosaurus + id: MobDinosaurCompyExpeditions + name: compsognathus noSpawn: true components: - type: Sprite drawdepth: Mobs - sprite: _NF/Mobs/Dinosaurs/anki.rsi + sprite: _NF/Mobs/Dinosaurs/compy.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] - state: anki + state: compy - type: MobThresholds thresholds: 0: Alive - 250: Dead + 50: Dead - type: DamageStateVisuals states: Alive: - Base: anki + Base: compy Critical: - Base: anki_dead + Base: compy_dead Dead: - Base: anki_dead + Base: compy_dead - type: MeleeWeapon soundHit: path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg @@ -114,16 +93,16 @@ - type: entity parent: BaseMobDinosaurExpeditions - id: MobDinosaurCompyExpeditions - name: compsognathus + id: MobDinosaurDiloExpeditions + name: dilophosaurus noSpawn: true components: - type: Sprite drawdepth: Mobs - sprite: _NF/Mobs/Dinosaurs/compy.rsi + sprite: _NF/Mobs/Dinosaurs/dilo.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] - state: compy + state: dilo - type: MobThresholds thresholds: 0: Alive @@ -131,11 +110,48 @@ - type: DamageStateVisuals states: Alive: - Base: compy + Base: dilo Critical: - Base: compy_dead + Base: dilo_dead Dead: - Base: compy_dead + Base: dilo_dead + - type: MeleeWeapon + soundHit: + path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg + angle: 0 + animation: WeaponArcBite + damage: + types: + Slash: 6 + Caustic: 1 + - type: MovementSpeedModifier + baseSprintSpeed : 5.5 + baseWalkSpeed: 5.5 + +- type: entity + parent: BaseMobDinosaurExpeditions + id: MobDinosaurRaptorExpeditions + name: velociraptor + noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/Dinosaurs/raptor.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: raptor + - type: MobThresholds + thresholds: + 0: Alive + 80: Dead + - type: DamageStateVisuals + states: + Alive: + Base: raptor + Critical: + Base: raptor_dead + Dead: + Base: raptor_dead - type: MeleeWeapon soundHit: path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg @@ -143,35 +159,35 @@ animation: WeaponArcClaw damage: types: - Slash: 8 + Slash: 12 - type: MovementSpeedModifier - baseSprintSpeed : 2 - baseWalkSpeed: 2 + baseSprintSpeed : 6.5 + baseWalkSpeed: 6.5 - type: entity parent: BaseMobDinosaurExpeditions - id: MobDinosaurDiloExpeditions - name: dilophosaurus + id: MobDinosaurParaExpeditions + name: parasaurolophus noSpawn: true components: - type: Sprite drawdepth: Mobs - sprite: _NF/Mobs/Dinosaurs/dilo.rsi + sprite: _NF/Mobs/Dinosaurs/para.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] - state: dilo + state: para - type: MobThresholds thresholds: 0: Alive - 50: Dead + 100: Dead - type: DamageStateVisuals states: Alive: - Base: dilo + Base: para Critical: - Base: dilo_dead + Base: para_dead Dead: - Base: dilo_dead + Base: para_dead - type: MeleeWeapon soundHit: path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg @@ -179,11 +195,10 @@ animation: WeaponArcClaw damage: types: - Slash: 6 - Caustic: 1 + Blunt: 6 - type: MovementSpeedModifier - baseSprintSpeed : 5.5 - baseWalkSpeed: 5.5 + baseSprintSpeed : 4 + baseWalkSpeed: 4 - type: entity parent: BaseMobDinosaurExpeditions @@ -223,28 +238,28 @@ - type: entity parent: BaseMobDinosaurExpeditions - id: MobDinosaurParaExpeditions - name: parasaurolophus + id: MobDinosaurTrikeExpeditions + name: triceratops noSpawn: true components: - type: Sprite drawdepth: Mobs - sprite: _NF/Mobs/Dinosaurs/para.rsi + sprite: _NF/Mobs/Dinosaurs/trike.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] - state: para + state: trike - type: MobThresholds thresholds: 0: Alive - 100: Dead + 200: Dead - type: DamageStateVisuals states: Alive: - Base: para + Base: trike Critical: - Base: para_dead + Base: trike_dead Dead: - Base: para_dead + Base: trike_dead - type: MeleeWeapon soundHit: path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg @@ -252,35 +267,35 @@ animation: WeaponArcClaw damage: types: - Blunt: 6 + Blunt: 15 - type: MovementSpeedModifier - baseSprintSpeed : 4 - baseWalkSpeed: 4 + baseSprintSpeed : 3 + baseWalkSpeed: 3 - type: entity parent: BaseMobDinosaurExpeditions - id: MobDinosaurRaptorExpeditions - name: velociraptor + id: MobDinosaurAnkiExpeditions + name: ankylosaurus noSpawn: true components: - type: Sprite drawdepth: Mobs - sprite: _NF/Mobs/Dinosaurs/raptor.rsi + sprite: _NF/Mobs/Dinosaurs/anki.rsi layers: - map: [ "enum.DamageStateVisualLayers.Base" ] - state: raptor + state: anki - type: MobThresholds thresholds: 0: Alive - 80: Dead + 250: Dead - type: DamageStateVisuals states: Alive: - Base: raptor + Base: anki Critical: - Base: raptor_dead + Base: anki_dead Dead: - Base: raptor_dead + Base: anki_dead - type: MeleeWeapon soundHit: path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg @@ -288,10 +303,10 @@ animation: WeaponArcClaw damage: types: - Slash: 12 + Slash: 8 - type: MovementSpeedModifier - baseSprintSpeed : 6.5 - baseWalkSpeed: 6.5 + baseSprintSpeed : 2 + baseWalkSpeed: 2 - type: entity parent: BaseMobDinosaurExpeditions @@ -366,6 +381,7 @@ baseSprintSpeed : 3 baseWalkSpeed: 3 +# EXPEDITION BOSS - type: entity parent: BaseMobDinosaurExpeditions id: MobDinosaurTrexExpeditions @@ -381,7 +397,7 @@ - type: MobThresholds thresholds: 0: Alive - 350: Dead + 450: Dead - type: DamageStateVisuals states: Alive: @@ -402,39 +418,3 @@ - type: MovementSpeedModifier baseSprintSpeed : 4.5 baseWalkSpeed: 4.5 - -- type: entity - parent: BaseMobDinosaurExpeditions - id: MobDinosaurTrikeExpeditions - name: triceratops - noSpawn: true - components: - - type: Sprite - drawdepth: Mobs - sprite: _NF/Mobs/Dinosaurs/trike.rsi - layers: - - map: [ "enum.DamageStateVisualLayers.Base" ] - state: trike - - type: MobThresholds - thresholds: - 0: Alive - 200: Dead - - type: DamageStateVisuals - states: - Alive: - Base: trike - Critical: - Base: trike_dead - Dead: - Base: trike_dead - - type: MeleeWeapon - soundHit: - path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg - angle: 0 - animation: WeaponArcClaw - damage: - types: - Blunt: 15 - - type: MovementSpeedModifier - baseSprintSpeed : 3 - baseWalkSpeed: 3 From c52cb008b1df8ed685b79c1ebca10d849bb2c653 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sat, 18 May 2024 18:53:02 +0300 Subject: [PATCH 13/73] small clean up --- .../_NF/Roles/Jobs/expedition_testing.yml | 75 ------------------- 1 file changed, 75 deletions(-) delete mode 100644 Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml diff --git a/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml b/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml deleted file mode 100644 index 1f93ab2e432..00000000000 --- a/Resources/Prototypes/_NF/Roles/Jobs/expedition_testing.yml +++ /dev/null @@ -1,75 +0,0 @@ -# Basic easily obtainable gear for testing salvage expeditions -- type: startingGear - id: ExpeditionTesterGear - equipment: - jumpsuit: ClothingUniformJumpsuitSalvageSpecialist - back: ClothingBackpackMessengerExpeditionTester - shoes: ClothingShoesBootsSalvage - mask: ClothingMaskGasExplorer - eyes: ClothingEyesHudMedical - gloves: ClothingHandsGlovesCombat - outerClothing: ClothingOuterVestWebExpeditionTester - id: SalvagePDA - ears: ClothingHeadsetMining - belt: ClothingBeltExpeditionTester - suitstorage: WeaponCrusherGlaive - pocket1: WeaponShotgunSawn - pocket2: DoubleEmergencyOxygenTankFilled - satchel: ClothingBackpackMessengerExpeditionTester - duffelbag: ClothingBackpackMessengerExpeditionTester - messenger: ClothingBackpackMessengerExpeditionTester - inhand: - - ToolboxEmergencyExpeditionTester - -# Filled containers -- type: entity - id: ClothingBeltExpeditionTester - parent: ClothingBeltSalvageWebbing - noSpawn: true - components: - - type: StorageFill - contents: - - id: CrowbarRed - - id: Wrench - - id: Screwdriver - - id: Wirecutter - - id: Welder - - id: Multitool - - id: MiningDrill - -- type: entity - id: ToolboxEmergencyExpeditionTester - parent: ToolboxEmergency - noSpawn: true - components: - - type: StorageFill - contents: - - id: RemoteSignaller - - id: AppraisalTool - - id: HandheldHealthAnalyzerUnpowered - -- type: entity - id: ClothingBackpackMessengerExpeditionTester - parent: ClothingBackpackMessengerSalvage - noSpawn: true - components: - - type: StorageFill - contents: - - id: BoxLethalshot - amount: 3 - - id: ShellShotgun - amount: 2 - - id: Ointment - - id: PillCanisterTricordrazine - -- type: entity - id: ClothingOuterVestWebExpeditionTester - parent: ClothingOuterVestWeb - noSpawn: true - components: - - type: StorageFill - contents: - - id: Brutepack - amount: 2 - - id: Gauze - amount: 1 From bf023abb9ef4627d64b1cfbc05b7abc68d040b92 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 19 May 2024 00:04:28 +0300 Subject: [PATCH 14/73] step sounds for dinosaurs --- Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml index 5d104184e3a..d0d398242e4 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml @@ -52,6 +52,9 @@ true useSound: path: /Audio/Items/crowbar.ogg + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepThud # MOBS # Sorted by health pool (less health ~= faster and harder hitting) From bdcbcda353b858cf9dc54ff36d57ff8b834a09dc Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 21 May 2024 00:22:17 +0300 Subject: [PATCH 15/73] expedition specific carps, xeno, argocytes --- .../Procedural/salvage_factions.yml | 45 +- .../Markers/Spawners/Random/argocyte_mobs.yml | 46 +- .../Mobs/NPCs/base_humanoid_hostile.yml | 65 ++- ...ons.yml => expeditions_aberrant_flesh.yml} | 0 .../Mobs/NPCs/expeditions_argocyte.yml | 410 ++++++++++++++++++ .../Entities/Mobs/NPCs/expeditions_carp.yml | 161 +++++++ ...inosaurs.yml => expeditions_dinosaurs.yml} | 4 + .../Entities/Mobs/NPCs/expeditions_xeno.yml | 244 +++++++++++ .../_NF/Entities/Mobs/NPCs/xeno.yml | 20 - 9 files changed, 923 insertions(+), 72 deletions(-) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{aberrant_flesh_expeditions.yml => expeditions_aberrant_flesh.yml} (100%) create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_argocyte.yml create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_carp.yml rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{dinosaurs.yml => expeditions_dinosaurs.yml} (99%) create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml delete mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/xeno.yml diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 2c7202341b0..33fb17596d1 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -3,18 +3,18 @@ cost: 3 groups: - entries: - - id: MobXeno + - id: MobXenoBurrowerExpeditions # Frontier amount: 2 maxAmount: 3 - - id: MobXenoDrone + - id: MobXenoDroneExpeditions # Frontier amount: 1 - entries: - - id: MobXenoPraetorian + - id: MobXenoPraetorianExpeditions # Frontier amount: 1 maxAmount: 2 prob: 0.5 - entries: - - id: MobXenoDrone + - id: MobXenoDroneExpeditions # Frontier amount: 0 maxAmount: 2 prob: 0.25 @@ -23,13 +23,17 @@ amount: 3 prob: 0.25 - entries: - - id: MobXenoSpitter + - id: MobXenoSpitterExpeditions # Frontier amount: 2 prob: 0.25 - entries: - - id: MobXenoRavager + - id: MobXenoRavagerExpeditions # Frontier amount: 1 prob: 0.1 + - entries: # Frontier + - id: MobXenoRunnerExpeditions # Frontier + amount: 3 # Frontier + prob: 0.05 # Frontier # - entries: # - id: MobXenoRouny # amount: 1 @@ -44,21 +48,26 @@ cost: 1 groups: - entries: - - id: MobCarpDungeon + - id: MobCarpExpeditions # Frontier amount: 1 maxAmount: 4 - entries: - - id: MobCarpMagic + - id: MobCarpMagicExpeditions # Frontier amount: 1 maxAmount: 3 prob: 0.1 -# - entries: -# - id: MobCarpHolo -# amount: 1 -# maxAmount: 2 -# prob: 0.25' - entries: - - id: MobCarpRainbow # carp version of rouny... + - id: MobSharkExpeditions # Frontier + amount: 1 + maxAmount: 2 + prob: 0.1 + - entries: # Frontier + - id: MobCarpHoloExpeditions # Frontier + amount: 1 # Frontier + maxAmount: 1 # Frontier + prob: 0.05 # Frontier + - entries: + - id: MobCarpRainbowExpeditions # Frontier amount: 1 maxAmount: 1 prob: 0.05 @@ -67,7 +76,7 @@ Mining: Carps Megafauna: MobDragonDungeon -# Frontier +# Frontier (everything below) - type: salvageFaction id: Syndicate cost: 9 @@ -218,7 +227,7 @@ maxAmount: 2 prob: 0.25 - entries: - - id: MobArgocyteGlider + - id: MobArgocyteGliderExpeditions amount: 3 prob: 0.25 - entries: @@ -230,14 +239,14 @@ amount: 1 prob: 0.1 - entries: - - id: MobArgocyteCrawler + - id: MobArgocyteCrawlerExpeditions amount: 3 maxAmount: 4 prob: 0.001 configs: DefenseStructure: ArgocyteEgg Mining: Argocytes - Megafauna: MobArgocyteLeviathing + Megafauna: MobArgocyteLeviathingExpeditions - type: salvageFaction id: Dinosaurs diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml index 351f55da10e..1d9c58889fd 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml @@ -13,10 +13,10 @@ - state: ai - type: RandomSpawner prototypes: - - MobArgocyteSlurva - - MobArgocyteBarrier - - MobArgocyteSkitter - - MobArgocyteSwiper + - MobArgocyteSlurvaExpeditions + - MobArgocyteBarrierExpeditions + - MobArgocyteSkitterExpeditions + - MobArgocyteSwiperExpeditions chance: 1 offset: 0.0 @@ -34,9 +34,9 @@ - state: ai - type: RandomSpawner prototypes: - - MobArgocyteMolder - - MobArgocytePouncer - - MobArgocyteGlider + - MobArgocyteMolderExpeditions + - MobArgocytePouncerExpeditions + - MobArgocyteGliderExpeditions chance: 1 offset: 0.0 @@ -54,8 +54,8 @@ - state: ai - type: RandomSpawner prototypes: - - MobArgocyteHarvester - - MobArgocyteCrawler + - MobArgocyteHarvesterExpeditions + - MobArgocyteCrawlerExpeditions chance: 1 offset: 0.0 @@ -73,11 +73,11 @@ - state: ai - type: RandomSpawner prototypes: - - MobArgocyteEnforcer + - MobArgocyteEnforcerExpeditions chance: 1 offset: 0.0 rarePrototypes: - - MobArgocyteFounder + - MobArgocyteFounderExpeditions rareChance: 0.05 # Full random @@ -97,17 +97,17 @@ color: red - type: RandomSpawner prototypes: - - MobArgocyteSlurva - - MobArgocyteBarrier - - MobArgocyteSkitter - - MobArgocyteSwiper - - MobArgocyteMolder - - MobArgocytePouncer - - MobArgocyteGlider - - MobArgocyteHarvester - - MobArgocyteCrawler - - MobArgocyteEnforcer - - MobArgocyteFounder + - MobArgocyteSlurvaExpeditions + - MobArgocyteBarrierExpeditions + - MobArgocyteSkitterExpeditions + - MobArgocyteSwiperExpeditions + - MobArgocyteMolderExpeditions + - MobArgocytePouncerExpeditions + - MobArgocyteGliderExpeditions + - MobArgocyteHarvesterExpeditions + - MobArgocyteCrawlerExpeditions + - MobArgocyteEnforcerExpeditions + - MobArgocyteFounderExpeditions rarePrototypes: - - MobArgocyteLeviathing + - MobArgocyteLeviathingExpeditions rareChance: 0.10 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml index 289e0c7ff1a..1296ffb7bae 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml @@ -23,6 +23,7 @@ - type: PassiveDamage # Slight passive regen. allowedStates: - Alive + - Critical damageCap: 400 damage: groups: @@ -52,7 +53,7 @@ - MobAtmosNF - MobBloodstream - MobFlammable - - MobLaserReflect + #- MobLaserReflect - BaseMobSpecies id: MobHumanoidHostileBase components: @@ -69,6 +70,10 @@ 160: Dead - type: Stamina critThreshold: 130 + - type: SlowOnDamage + speedModifierThresholds: + 60: 0.7 + 80: 0.5 - type: Flashable - type: Blindable - type: Butcherable @@ -108,14 +113,48 @@ suffix: AI, Hostile abstract: true parent: + - BaseMob + - MobDamageable + - MobCombat - MobAtmosNF - - SimpleSpaceMobBase + - MobBloodstream + - MobFlammable + #- SimpleSpaceMobBase id: MobNonHumanHostileBase components: + - type: Reactive + groups: + Flammable: [Touch] + Extinguish: [Touch] + Acidic: [Touch, Ingestion] + - type: Internals + - type: MovementSpeedModifier + baseWalkSpeed : 4 + baseSprintSpeed : 4 + - type: StatusEffects + allowed: + - SlowedDown + - Stutter + - Electrocution + - ForcedSleep + - TemporaryBlindness + - Pacified + - type: Buckle + - type: StandingState + - type: InputMover + - type: MobMover - type: MovementAlwaysTouching - type: NoSlip - type: ZombieImmune - type: Hands + - type: Puller + - type: Climbing + - type: NameIdentifier + group: GenericNumber + - type: SlowOnDamage + speedModifierThresholds: + 60: 0.7 + 80: 0.5 - type: MobState allowedStates: - Alive @@ -124,15 +163,10 @@ - type: MobThresholds thresholds: 0: Alive - 120: Critical - 160: Dead + 80: Critical + 120: Dead - type: Stamina - critThreshold: 120 - - type: Tag - tags: - - CanPilot - - FootstepSound - - DoorBumpOpener + critThreshold: 100 - type: HTN rootTask: task: SimpleHumanoidHostileCompound # Alt root tasks: MeleeCombatCompound, SimpleRangedHostileCompound @@ -147,7 +181,7 @@ # true - type: NpcFactionMember factions: - - SimpleHostile + - SimpleHostile - type: Sprite drawdepth: Mobs sprite: _NF/Mobs/BloodCult/ascended_cultist.rsi @@ -169,3 +203,12 @@ - type: SalvageMobRestrictionsNF - type: StepTriggerImmune - type: Contraband + - type: Tool + speed: 1.5 + qualities: + - Prying + - type: Tag + tags: + - CanPilot + - FootstepSound + - DoorBumpOpener diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/aberrant_flesh_expeditions.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_argocyte.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_argocyte.yml new file mode 100644 index 00000000000..9175db24f28 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_argocyte.yml @@ -0,0 +1,410 @@ +# BASE +- type: entity + parent: MobNonHumanHostileBase + id: BaseMobArgocyteExpeditions + name: argocyte + description: A dangerous alien found on the wrong side of planets, known for their propensity for munching on ruins. + abstract: true + components: + - type: HTN + rootTask: + task: XenoCompound # Will use this one for now, untill upstream makes custom AI for argocytes + blackboard: + NavClimb: !type:Bool + true + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true + - type: NpcFactionMember + factions: + - Xeno + - type: Sprite + sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi + - type: Bloodstream + bloodReagent: FluorosulfuricAcid + bloodMaxVolume: 75 + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 1000 + mask: + - MobMask + layer: + - MobLayer + - type: MeleeWeapon + angle: 0 + animation: WeaponArcBite + damage: + types: + Slash: 5 + - type: Body + prototype: Animal + - type: TypingIndicator + proto: alien + - type: ReplacementAccent + accent: genericAggressive + - type: Speech + speechVerb: LargeMob + - type: Perishable #Ummmm the acid kills a lot of the bacteria or something + molsPerSecondPerUnitMass: 0.0005 + - type: Tag + tags: + - CannotSuicide + - DoorBumpOpener + - FootstepSound + +# VARIANTS +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteSlurvaExpeditions + name: slurva + description: A pathetic creature, incapable of doing much. + components: + - type: Sprite + layers: + - state: slurva + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: slurva + Dead: + Base: slurva_dead + - type: MobThresholds + thresholds: + 0: Alive + 30: Dead + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.2 + density: 50 + mask: + - MobMask + layer: + - MobLayer + - type: MovementSpeedModifier + baseSprintSpeed : 3.5 + baseWalkSpeed : 3 + - type: MeleeWeapon + damage: + types: + Blunt: 3 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteBarrierExpeditions + name: barrier + components: + - type: Sprite + layers: + - state: barrier + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: barrier + Dead: + Base: barrier_dead + - type: MobThresholds + thresholds: + 0: Alive + 30: Dead + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.2 + density: 50 + mask: + - MobMask + layer: + - MobLayer + - type: MeleeWeapon + damage: + types: + Blunt: 3 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteSkitterExpeditions + name: skitter + description: A devious little alien... Make sure they don't run off with your rations! + components: + - type: Sprite + layers: + - state: skitter + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: skitter + Dead: + Base: skitter_dead + - type: MobThresholds + thresholds: + 0: Alive + 30: Dead + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.2 + density: 50 + mask: + - MobMask + layer: + - MobLayer + - type: MeleeWeapon + damage: + types: + Slash: 3 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteSwiperExpeditions + name: swiper + description: Where did that stack of steel go? + components: + - type: Sprite + layers: + - state: swiper + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: swiper + Dead: + Base: swiper_dead + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: MovementSpeedModifier + baseSprintSpeed : 5 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteMolderExpeditions + name: molder + components: + - type: Sprite + layers: + - state: molder + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: molder + Dead: + Base: molder_dead + - type: MobThresholds + thresholds: + 0: Alive + 70: Dead + - type: MovementSpeedModifier + baseSprintSpeed : 4 + baseWalkSpeed : 3.5 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocytePouncerExpeditions + name: pouncer + components: + - type: Sprite + layers: + - state: pouncer + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: pouncer + Dead: + Base: pouncer_dead + - type: MobThresholds + thresholds: + 0: Alive + 70: Dead + - type: MeleeWeapon + damage: + types: + Blunt: 2.5 + Slash: 7.5 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteGliderExpeditions + name: glider + components: + - type: Sprite + layers: + - state: glider + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: glider + Dead: + Base: glider_dead + - type: MobThresholds + thresholds: + 0: Alive + 70: Dead + - type: MeleeWeapon + damage: + types: + Blunt: 3.5 + Slash: 3.5 + - type: MovementSpeedModifier + baseSprintSpeed : 5 + baseWalkSpeed: 4.5 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteHarvesterExpeditions + name: harvester + components: + - type: Sprite + layers: + - state: harvester + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: harvester + Dead: + Base: harvester_dead + - type: MobThresholds + thresholds: + 0: Alive + 90: Dead + - type: MeleeWeapon + damage: + types: + Blunt: 5 + Slash: 8 + Structural: 5 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteCrawlerExpeditions + name: crawler + description: Deadly, pack-animals that maul unsuspecting travelers. + components: + - type: Sprite + layers: + - state: crawler + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: crawler + Dead: + Base: crawler_dead + - type: MobThresholds + thresholds: + 0: Alive + 90: Dead + - type: MeleeWeapon + damage: + types: + Blunt: 8 + Slash: 5 + Structural: 5 + - type: MovementSpeedModifier + baseSprintSpeed : 6.5 + baseWalkSpeed: 5 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteEnforcerExpeditions + name: enforcer + components: + - type: Sprite + layers: + - state: enforcer + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: enforcer + Dead: + Base: enforcer_dead + - type: MobThresholds + thresholds: + 0: Alive + 120: Dead + - type: MeleeWeapon + damage: + types: + Blunt: 8 + Slash: 8 + Structural: 10 + - type: MovementSpeedModifier + baseSprintSpeed : 3.5 + baseWalkSpeed: 3 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteFounderExpeditions + name: founder + components: + - type: Sprite + sprite: Mobs/Aliens/Argocyte/argocyte_large.rsi + layers: + - state: founder + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: founder + Dead: + Base: founder_dead + - type: MobThresholds + thresholds: + 0: Alive + 250: Dead + - type: MeleeWeapon + damage: + types: + Blunt: 15 + Structural: 25 + - type: MovementSpeedModifier + baseSprintSpeed : 3 + baseWalkSpeed: 3 + +- type: entity + parent: BaseMobArgocyteExpeditions + id: MobArgocyteLeviathingExpeditions + name: leviathing + components: + - type: Sprite + sprite: Mobs/Aliens/Argocyte/argocyte_large.rsi + layers: + - state: leviathing + map: ["enum.DamageStateVisualLayers.Base"] + - type: DamageStateVisuals + states: + Alive: + Base: leviathing + Dead: + Base: leviathing_dead + - type: MobThresholds + thresholds: + 0: Alive + 500: Dead + - type: MeleeWeapon + damage: + types: + Blunt: 20 + Structural: 50 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_carp.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_carp.yml new file mode 100644 index 00000000000..4e5405c142b --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_carp.yml @@ -0,0 +1,161 @@ +# BASE +- type: entity + parent: MobNonHumanHostileBase + id: BaseMobCarpExpeditions + name: planetary space carp + description: It's a planetary space carp. + abstract: true + components: + - type: NpcFactionMember + factions: + - SimpleHostile + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Carps/space.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + - type: Butcherable + spawned: + - id: FoodMeatFish + amount: 2 + - type: MobState + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: Stamina + critThreshold: 100 + - type: DamageStateVisuals + states: + Alive: + Base: alive + BaseUnshaded: mouth + Dead: + Base: dead + BaseUnshaded: dead_mouth + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 # Lowered the value, to allow them to fit through the airlocks + density: 100 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: Tag + tags: + - Carp + - DoorBumpOpener + - type: MeleeWeapon + altDisarm: false + angle: 0 + animation: WeaponArcBite + soundHit: + path: /Audio/Effects/bite.ogg + damage: + types: + Piercing: 5 + Slash: 5 + - type: TypingIndicator + proto: alien + +# VARIATIONS +- type: entity + parent: BaseMobCarpExpeditions + id: MobCarpExpeditions + components: + - type: Sprite + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: mouth + shader: unshaded + - type: RandomSprite + available: + - enum.DamageStateVisualLayers.Base: + alive: Rainbow + enum.DamageStateVisualLayers.BaseUnshaded: + mouth: "" + +- type: entity + parent: BaseMobCarpExpeditions + id: MobCarpMagicExpeditions + name: magicarp + description: Looks like some kind of fish. Might be magical. + components: + - type: Sprite + sprite: Mobs/Aliens/Carps/magic.rsi + - type: TypingIndicator + proto: guardian + +- type: entity + parent: BaseMobCarpExpeditions + id: MobCarpHoloExpeditions + name: holocarp + description: Carp made out of holographic energies. Sadly for you, it is very much real. + components: + - type: Sprite + sprite: Mobs/Aliens/Carps/holo.rsi + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.4 + density: 10 + mask: + - MobMask + layer: + - Opaque + - type: TypingIndicator + proto: robot + +- type: entity + parent: BaseMobCarpExpeditions + id: MobCarpRainbowExpeditions + name: rainbow carp + description: Wow such a shiny fishie! + components: + - type: PointLight + radius: 1.5 + energy: 0.5 + - type: RgbLightController + layers: [ 0 ] + +- type: entity + parent: BaseMobCarpExpeditions + id: MobSharkExpeditions + name: sharkminnow + description: A dangerous shark from the blackness of endless space, who loves to drink blood. + components: + - type: Sprite + sprite: Mobs/Aliens/Carps/sharkminnow.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: alive + - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] + state: mouth + shader: unshaded + - type: MobThresholds + thresholds: + 0: Alive + 80: Dead + - type: Stamina + critThreshold: 150 + - type: Body + prototype: Bloodsucker + requiredLegs: 1 + - type: Butcherable + spawned: + - id: FoodMeatFish + amount: 4 + - type: MeleeWeapon + damage: + types: + Slash: 7 + Bloodloss: 5 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml similarity index 99% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml index d0d398242e4..895855bf411 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml @@ -55,6 +55,10 @@ - type: FootstepModifier footstepSoundCollection: collection: FootstepThud + - type: Tag + tags: + - FootstepSound + - DoorBumpOpener # MOBS # Sorted by health pool (less health ~= faster and harder hitting) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml new file mode 100644 index 00000000000..98f115bb932 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml @@ -0,0 +1,244 @@ +# BASE +- type: entity + parent: MobNonHumanHostileBase + id: BaseMobXenoExpeditions + name: xeno + description: They mostly come at night. Mostly. + abstract: true + components: + - type: HTN + rootTask: + task: XenoCompound + blackboard: + NavClimb: !type:Bool + true + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true + - type: NpcFactionMember + factions: + - Xeno + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/burrower.rsi + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: running + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeatXeno + amount: 5 + - type: MobState + allowedStates: + - Alive + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 50: Dead + - type: Stamina + critThreshold: 200 + - type: Bloodstream + bloodReagent: FluorosulfuricAcid + bloodMaxVolume: 75 + - type: DamageStateVisuals + rotate: true + states: + Alive: + Base: running + Critical: + Base: crit + Dead: + Base: dead + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.40 + density: 1000 + mask: + - MobMask + layer: + - MobLayer + - type: MeleeWeapon + altDisarm: false + angle: 0 + animation: WeaponArcBite + soundHit: + collection: AlienClaw + damage: + types: + Brute: 6 + - type: TypingIndicator + proto: alien + - type: ReplacementAccent + accent: genericAggressive + - type: Speech + speechVerb: LargeMob + - type: Perishable #Ummmm the acid kills a lot of the bacteria or something + molsPerSecondPerUnitMass: 0.0005 + - type: Tag + tags: + - CannotSuicide + - DoorBumpOpener + - FootstepSound + +# VARIANTS +- type: entity + parent: BaseMobXenoExpeditions + id: MobXenoBurrowerExpeditions + name: Burrower + +- type: entity + parent: BaseMobXenoExpeditions + id: MobXenoPraetorianExpeditions + name: Praetorian + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/praetorian.rsi + offset: 0,0.4 + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: running + - type: MobThresholds + thresholds: + 0: Alive + 75: Dead + - type: Stamina + critThreshold: 300 + +- type: entity + parent: BaseMobXenoExpeditions + id: MobXenoDroneExpeditions + name: Drone + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/drone.rsi + offset: 0,0.2 + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: running + - type: MobThresholds + thresholds: + 0: Alive + 80: Dead + - type: MeleeWeapon + damage: + groups: + Brute: 5 + - type: MovementSpeedModifier + baseWalkSpeed: 2.0 + baseSprintSpeed: 2.5 + +- type: entity + parent: BaseMobXenoExpeditions + id: MobXenoRavagerExpeditions + name: Ravager + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/ravager.rsi + offset: 0,0.5 + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: running + - type: MobThresholds + thresholds: + 0: Alive + 150: Dead + - type: Stamina + critThreshold: 550 + - type: MovementSpeedModifier + baseWalkSpeed: 2.3 + baseSprintSpeed: 4.2 + - type: MeleeWeapon + damage: + groups: + Brute: 10 + +- type: entity + parent: BaseMobXenoExpeditions + id: MobXenoRunnerExpeditions + name: Runner + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/runner.rsi + offset: 0,0.6 + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: running + - type: Stamina + critThreshold: 250 + - type: MovementSpeedModifier + baseWalkSpeed: 2.7 + baseSprintSpeed: 6.0 + - type: MeleeWeapon + damage: + groups: + Brute: 3 + +- type: entity + parent: BaseMobXenoExpeditions + id: MobXenoSpitterExpeditions + name: Spitter + components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/spitter.rsi + offset: 0,0.3 + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: running + - type: MobThresholds + thresholds: + 0: Alive + 75: Dead + - type: HTN + rootTask: + task: SimpleRangedHostileCompound + - type: Stamina + critThreshold: 300 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 0.75 + - type: BasicEntityAmmoProvider + proto: BulletAcid + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 0.75 + useKey: false + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Xeno/alien_spitacid.ogg + +# EXPEDITION BOSS +- type: entity + name: Queen + parent: MobXenoQueen + id: MobXenoQueenDungeon + suffix: Ghost + components: + - type: Tag + tags: + - CannotSuicide + - type: SalvageMobRestrictionsNF + - type: ReplacementAccent + accent: xeno + - type: GhostRole + allowMovement: true + allowSpeech: true + makeSentient: true + name: ghost-role-information-xeno-name + description: ghost-role-information-xeno-description + rules: ghost-role-information-xeno-rules + - type: GhostTakeoverAvailable diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/xeno.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/xeno.yml deleted file mode 100644 index e872030db25..00000000000 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/xeno.yml +++ /dev/null @@ -1,20 +0,0 @@ -- type: entity - name: Queen - parent: MobXenoQueen - id: MobXenoQueenDungeon - suffix: Ghost - components: - - type: Tag - tags: - - CannotSuicide - - type: SalvageMobRestrictionsNF - - type: ReplacementAccent - accent: xeno - - type: GhostRole - allowMovement: true - allowSpeech: true - makeSentient: true - name: ghost-role-information-xeno-name - description: ghost-role-information-xeno-description - rules: ghost-role-information-xeno-rules - - type: GhostTakeoverAvailable From 983693a9b6799ce6b8015b9e189105ef7b24b289 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 21 May 2024 00:47:11 +0300 Subject: [PATCH 16/73] xeno queen no longer burned by atmos --- .../Entities/Mobs/NPCs/expeditions_xeno.yml | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml index 98f115bb932..14b2c29662d 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml @@ -223,11 +223,29 @@ # EXPEDITION BOSS - type: entity - name: Queen - parent: MobXenoQueen + parent: BaseMobXenoExpeditions id: MobXenoQueenDungeon - suffix: Ghost + name: Queen + suffix: AI/Ghost, Hostile components: + - type: Sprite + drawdepth: Mobs + sprite: Mobs/Aliens/Xenos/queen.rsi + offset: 0,0.4 + layers: + - map: ["enum.DamageStateVisualLayers.Base"] + state: running + - type: MobThresholds + thresholds: + 0: Alive + 250: Dead + - type: MovementSpeedModifier + baseWalkSpeed: 2.8 + baseSprintSpeed: 3.8 + - type: MeleeWeapon + damage: + groups: + Brute: 20 - type: Tag tags: - CannotSuicide From 037a251974ec00414c3f3534403b8456088d4263 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 21 May 2024 00:52:44 +0300 Subject: [PATCH 17/73] moved ArtifactConstruct ai_faction to _NF --- Resources/Prototypes/ai_factions.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/Resources/Prototypes/ai_factions.yml b/Resources/Prototypes/ai_factions.yml index c26eaf5503d..fe840e64ae4 100644 --- a/Resources/Prototypes/ai_factions.yml +++ b/Resources/Prototypes/ai_factions.yml @@ -114,12 +114,3 @@ - WizFedFaction # Frontier - BloodCultNF # Frontier - DinosaursNF # Frontier - -- type: npcFaction - id: ArtifactConstruct - hostile: - - NanoTrasen - - Syndicate - - Revolutionary - - DinosaursNF # Frontier - - PirateNF # Frontier From 920ebad21314d559b62f3003ace90de07b44aaa5 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Thu, 30 May 2024 03:08:50 +0300 Subject: [PATCH 18/73] buff and slight clean up --- .../Mobs/NPCs/base_humanoid_hostile.yml | 45 +++++++++++++------ .../Entities/Mobs/NPCs/bloodcultistmob.yml | 1 - .../Mobs/NPCs/expeditions_aberrant_flesh.yml | 11 ----- .../Mobs/NPCs/expeditions_dinosaurs.yml | 11 ----- .../Mobs/NPCs/wizardfederationmob.yml | 4 -- 5 files changed, 31 insertions(+), 41 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml index 1296ffb7bae..4ff88deab80 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml @@ -43,6 +43,32 @@ reflects: - Energy +- type: entity + save: false + id: MobEnhancedMovement + abstract: true + components: + - type: MovementAlwaysTouching + - type: MovementIgnoreGravity + - type: NoSlip + - type: StepTriggerImmune + - type: Climbing + - type: Tool + speed: 1.5 + qualities: + - Prying + - type: Prying + pryPowered: !type:Bool + true + force: !type:Bool + true + useSound: + path: /Audio/Items/crowbar.ogg + speedModifier: 10.0 + - type: Access + groups: + - AllAccess + # Human NPC, uses equipment, immune to vacuum/low pressure # but otherwise should be the same as base line human mob - type: entity @@ -54,12 +80,11 @@ - MobBloodstream - MobFlammable #- MobLaserReflect + - MobEnhancedMovement - BaseMobSpecies id: MobHumanoidHostileBase components: - - type: MovementAlwaysTouching - type: MobMover - - type: NoSlip - type: StandingState - type: RandomHumanoidAppearance randomizeName: true @@ -79,8 +104,8 @@ - type: Butcherable butcheringType: Spike spawned: - - id: FoodMeatHuman - amount: 5 + - id: FoodMeatHuman + amount: 5 # AI package - type: HTN rootTask: @@ -94,7 +119,7 @@ true - type: NpcFactionMember factions: - - SimpleHostile + - SimpleHostile - type: Carriable # Carrying system from nyanotrasen. - type: MobPrice price: 1500 @@ -119,7 +144,7 @@ - MobAtmosNF - MobBloodstream - MobFlammable - #- SimpleSpaceMobBase + - MobEnhancedMovement id: MobNonHumanHostileBase components: - type: Reactive @@ -143,12 +168,9 @@ - type: StandingState - type: InputMover - type: MobMover - - type: MovementAlwaysTouching - - type: NoSlip - type: ZombieImmune - type: Hands - type: Puller - - type: Climbing - type: NameIdentifier group: GenericNumber - type: SlowOnDamage @@ -201,12 +223,7 @@ price: 1500 deathPenalty: 0.5 - type: SalvageMobRestrictionsNF - - type: StepTriggerImmune - type: Contraband - - type: Tool - speed: 1.5 - qualities: - - Prying - type: Tag tags: - CanPilot diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml index 9c147eb04d6..1a2a519ec64 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml @@ -17,7 +17,6 @@ maximumWait: 120 nextAdvertisementTime: 10 - type: AutoWakeUp - - type: MovementAlwaysTouching # Humans # Blood Cult Priest, ranged mab, bolts deal 10 slash damage diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml index c27407890b8..8af3a39710b 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml @@ -38,17 +38,6 @@ Slash: 8 - type: ReplacementAccent accent: genericAggressive - - type: Tool - speed: 3 - qualities: - - Prying - - type: Prying - pryPowered: !type:Bool - true - force: !type:Bool - true - useSound: - path: /Audio/Items/crowbar.ogg # MOBS - type: entity diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml index 895855bf411..592cc6692d4 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml @@ -41,17 +41,6 @@ types: Bloodloss: -1 - - type: Tool - speed: 6 - qualities: - - Prying - - type: Prying - pryPowered: !type:Bool - true - force: !type:Bool - true - useSound: - path: /Audio/Items/crowbar.ogg - type: FootstepModifier footstepSoundCollection: collection: FootstepThud diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml index cc4551f4059..5905c9f6026 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml @@ -13,9 +13,6 @@ rechargeCooldown: 3 rechargeSound: path: /Audio/_NF/Effects/silence.ogg - #- type: AutoImplant # muh loot! nooo - #implants: - #- DeathAcidifierImplantNF - type: Reflect enabled: true reflectProb: .35 @@ -39,7 +36,6 @@ maximumWait: 120 nextAdvertisementTime: 10 - type: AutoWakeUp - - type: MovementAlwaysTouching # Humans # Blue Wizard, summons 2 Blue Curacao Elementals From 0c48dd21239c185303432778d01f15b4d421b48d Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 3 Jun 2024 07:04:28 +0300 Subject: [PATCH 19/73] salvage_factions.yml to _NF --- .../Procedural/salvage_factions.yml | 314 ++---------------- .../_NF/Procedural/salvage_factions.yml | 288 ++++++++++++++++ 2 files changed, 323 insertions(+), 279 deletions(-) create mode 100644 Resources/Prototypes/_NF/Procedural/salvage_factions.yml diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 33fb17596d1..4c8f0ae3c7c 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -1,288 +1,44 @@ - type: salvageFaction id: Xenos - cost: 3 - groups: - - entries: - - id: MobXenoBurrowerExpeditions # Frontier - amount: 2 - maxAmount: 3 - - id: MobXenoDroneExpeditions # Frontier - amount: 1 - - entries: - - id: MobXenoPraetorianExpeditions # Frontier - amount: 1 - maxAmount: 2 - prob: 0.5 - - entries: - - id: MobXenoDroneExpeditions # Frontier - amount: 0 - maxAmount: 2 - prob: 0.25 - - entries: - - id: WeaponTurretXeno - amount: 3 - prob: 0.25 - - entries: - - id: MobXenoSpitterExpeditions # Frontier - amount: 2 - prob: 0.25 - - entries: - - id: MobXenoRavagerExpeditions # Frontier - amount: 1 - prob: 0.1 - - entries: # Frontier - - id: MobXenoRunnerExpeditions # Frontier - amount: 3 # Frontier - prob: 0.05 # Frontier -# - entries: -# - id: MobXenoRouny -# amount: 1 -# prob: 0.001 + entries: + - proto: MobXeno + - proto: MobXenoDrone + cost: 2 + - proto: MobXenoPraetorian + cost: 5 + prob: 0.1 + - proto: MobXenoQueen + cost: 10 + prob: 0.02 + - proto: MobXenoRavager + cost: 5 + - proto: MobXenoRouny + cost: 3 + prob: 0.02 + - proto: MobXenoSpitter + - proto: WeaponTurretXeno + prob: 0.1 configs: DefenseStructure: XenoWardingTower - Mining: Xenos - Megafauna: MobXenoQueenDungeon # Frontier + Megafauna: MobXenoQueen - type: salvageFaction id: Carps - cost: 1 - groups: - - entries: - - id: MobCarpExpeditions # Frontier - amount: 1 - maxAmount: 4 - - entries: - - id: MobCarpMagicExpeditions # Frontier - amount: 1 - maxAmount: 3 - prob: 0.1 - - entries: - - id: MobSharkExpeditions # Frontier - amount: 1 - maxAmount: 2 - prob: 0.1 - - entries: # Frontier - - id: MobCarpHoloExpeditions # Frontier - amount: 1 # Frontier - maxAmount: 1 # Frontier - prob: 0.05 # Frontier - - entries: - - id: MobCarpRainbowExpeditions # Frontier - amount: 1 - maxAmount: 1 - prob: 0.05 + entries: + - proto: MobCarpDungeon + # These do too much damage for salvage, need nerfs + #- proto: MobCarpHolo + # cost: 5 + # prob: 0.1 + #- proto: MobCarpMagic + # cost: 5 + # prob: 0.1 + - proto: MobCarpRainbow # carp version of rouny... + cost: 3 + prob: 0.05 + - proto: MobDragonDungeon + cost: 10 + prob: 0.02 configs: DefenseStructure: CarpStatue - Mining: Carps - Megafauna: MobDragonDungeon - -# Frontier (everything below) -- type: salvageFaction - id: Syndicate - cost: 9 - groups: - - entries: - - id: SpawnMobSyndicateNavalDeckhand - amount: 2 - maxAmount: 3 - - id: SpawnMobSyndicateNavalEngineer - amount: 1 - - entries: - - id: SpawnMobSyndicateNavalSaboteur - amount: 1 - maxAmount: 2 - prob: 0.5 - - entries: - - id: SpawnMobSyndicateNavalMedic - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: WeaponTurretSyndicate - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobSyndicateNavalOperator - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobSyndicateNavalCaptain - amount: 1 - prob: 0.1 - - entries: - - id: SpawnMobSyndicateNavalHorror - amount: 0 - maxAmount: 1 - prob: 0.001 - configs: - DefenseStructure: CybersunDataMiner - Mining: Syndicate - Megafauna: MobSyndicateNavalCommanderA - -- type: salvageFaction - id: Cultists - cost: 7 - groups: - - entries: - - id: SpawnMobBloodCultLeech - amount: 2 - maxAmount: 3 - - id: SpawnMobBloodCultistZealotRanged - amount: 1 - - entries: - - id: SpawnMobBloodCultistZealotMelee - amount: 1 - maxAmount: 3 - prob: 0.5 - - entries: - - id: SpawnMobBloodCultistCaster - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: BloodCultTurret - amount: 1 - - id: SpawnMobBloodCultistZealotRanged - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobBloodCultistAcolyte - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobBloodCultistPriest - amount: 1 - prob: 0.1 - - entries: - - id: SpawnMobBloodCultistJanitor - amount: 1 - - id: SpawnMobBloodCultistZealotMelee - amount: 1 - prob: 0.05 - configs: - DefenseStructure: BloodCollector - Mining: Cultists - Megafauna: MobBloodCultistAscended - -- type: salvageFaction - id: Flesh - cost: 1 - groups: - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - prob: 0.5 - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - prob: 0.25 - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - prob: 0.25 - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 2 - maxAmount: 4 - - id: SpawnMobAberrantFleshExpeditions - amount: 2 - maxAmount: 4 - prob: 0.1 - configs: - DefenseStructure: FleshBlocker - Mining: Flesh - Megafauna: MobHorrorExpeditions - -- type: salvageFaction - id: Argocytes - cost: 4 - groups: - - entries: - - id: SpawnMobArgocyteTiny - amount: 3 - maxAmount: 5 - - entries: - - id: SpawnMobArgocyteSmall - amount: 1 - maxAmount: 2 - prob: 0.5 - - entries: - - id: SpawnMobArgocyteSmall - amount: 1 - maxAmount: 2 - - id: SpawnMobArgocyteSmall - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: MobArgocyteGliderExpeditions - amount: 3 - prob: 0.25 - - entries: - - id: SpawnMobArgocyteMedium - amount: 2 - prob: 0.25 - - entries: - - id: SpawnMobArgocyteBig - amount: 1 - prob: 0.1 - - entries: - - id: MobArgocyteCrawlerExpeditions - amount: 3 - maxAmount: 4 - prob: 0.001 - configs: - DefenseStructure: ArgocyteEgg - Mining: Argocytes - Megafauna: MobArgocyteLeviathingExpeditions - -- type: salvageFaction - id: Dinosaurs - cost: 3 - groups: - - entries: - - id: SpawnMobDinosaurSmall - amount: 1 - maxAmount: 2 - - id: SpawnMobDinosaurSmall - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: MobDinosaurDiloExpeditions - amount: 3 - prob: 0.25 - - entries: - - id: SpawnMobDinosaurMedium - amount: 2 - prob: 0.25 - - entries: - - id: SpawnMobDinosaurBig - amount: 1 - prob: 0.1 - - entries: - - id: MobDinosaurDiloExpeditions - amount: 5 - maxAmount: 6 - prob: 0.001 - - entries: - - id: MobDinosaurRaptorExpeditions - amount: 3 - maxAmount: 4 - prob: 0.001 - configs: - DefenseStructure: DinosaurEgg - Mining: Dinosaurs - Megafauna: MobDinosaurTrexExpeditions + Megafauna: MobDragonDungeon \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Procedural/salvage_factions.yml b/Resources/Prototypes/_NF/Procedural/salvage_factions.yml new file mode 100644 index 00000000000..5a8b2b55e0e --- /dev/null +++ b/Resources/Prototypes/_NF/Procedural/salvage_factions.yml @@ -0,0 +1,288 @@ +- type: salvageFaction + id: Xeno + cost: 3 + groups: + - entries: + - id: MobXenoBurrowerExpeditions # Frontier + amount: 2 + maxAmount: 3 + - id: MobXenoDroneExpeditions # Frontier + amount: 1 + - entries: + - id: MobXenoPraetorianExpeditions # Frontier + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: MobXenoDroneExpeditions # Frontier + amount: 0 + maxAmount: 2 + prob: 0.25 + - entries: + - id: WeaponTurretXeno + amount: 3 + prob: 0.25 + - entries: + - id: MobXenoSpitterExpeditions # Frontier + amount: 2 + prob: 0.25 + - entries: + - id: MobXenoRavagerExpeditions # Frontier + amount: 1 + prob: 0.1 + - entries: # Frontier + - id: MobXenoRunnerExpeditions # Frontier + amount: 3 # Frontier + prob: 0.05 # Frontier +# - entries: +# - id: MobXenoRouny +# amount: 1 +# prob: 0.001 + configs: + DefenseStructure: XenoWardingTower + Mining: Xeno + Megafauna: MobXenoQueenDungeon # Frontier + +- type: salvageFaction + id: Carp + cost: 1 + groups: + - entries: + - id: MobCarpExpeditions # Frontier + amount: 1 + maxAmount: 4 + - entries: + - id: MobCarpMagicExpeditions # Frontier + amount: 1 + maxAmount: 3 + prob: 0.1 + - entries: + - id: MobSharkExpeditions # Frontier + amount: 1 + maxAmount: 2 + prob: 0.1 + - entries: # Frontier + - id: MobCarpHoloExpeditions # Frontier + amount: 1 # Frontier + maxAmount: 1 # Frontier + prob: 0.05 # Frontier + - entries: + - id: MobCarpRainbowExpeditions # Frontier + amount: 1 + maxAmount: 1 + prob: 0.05 + configs: + DefenseStructure: CarpStatue + Mining: Carp + Megafauna: MobDragonDungeon + +# Frontier (everything below) +- type: salvageFaction + id: Syndicate + cost: 9 + groups: + - entries: + - id: SpawnMobSyndicateNavalDeckhand + amount: 2 + maxAmount: 3 + - id: SpawnMobSyndicateNavalEngineer + amount: 1 + - entries: + - id: SpawnMobSyndicateNavalSaboteur + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: SpawnMobSyndicateNavalMedic + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: WeaponTurretSyndicate + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobSyndicateNavalOperator + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobSyndicateNavalCaptain + amount: 1 + prob: 0.1 + - entries: + - id: SpawnMobSyndicateNavalHorror + amount: 0 + maxAmount: 1 + prob: 0.001 + configs: + DefenseStructure: CybersunDataMiner + Mining: Syndicate + Megafauna: MobSyndicateNavalCommanderA + +- type: salvageFaction + id: Cultists + cost: 7 + groups: + - entries: + - id: SpawnMobBloodCultLeech + amount: 2 + maxAmount: 3 + - id: SpawnMobBloodCultistZealotRanged + amount: 1 + - entries: + - id: SpawnMobBloodCultistZealotMelee + amount: 1 + maxAmount: 3 + prob: 0.5 + - entries: + - id: SpawnMobBloodCultistCaster + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: BloodCultTurret + amount: 1 + - id: SpawnMobBloodCultistZealotRanged + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobBloodCultistAcolyte + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobBloodCultistPriest + amount: 1 + prob: 0.1 + - entries: + - id: SpawnMobBloodCultistJanitor + amount: 1 + - id: SpawnMobBloodCultistZealotMelee + amount: 1 + prob: 0.05 + configs: + DefenseStructure: BloodCollector + Mining: Cultists + Megafauna: MobBloodCultistAscended + +- type: salvageFaction + id: Flesh + cost: 1 + groups: + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + prob: 0.5 + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + prob: 0.25 + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + prob: 0.25 + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 2 + maxAmount: 4 + - id: SpawnMobAberrantFleshExpeditions + amount: 2 + maxAmount: 4 + prob: 0.1 + configs: + DefenseStructure: FleshBlocker + Mining: Flesh + Megafauna: MobHorrorExpeditions + +- type: salvageFaction + id: Argocytes + cost: 4 + groups: + - entries: + - id: SpawnMobArgocyteTiny + amount: 3 + maxAmount: 5 + - entries: + - id: SpawnMobArgocyteSmall + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: SpawnMobArgocyteSmall + amount: 1 + maxAmount: 2 + - id: SpawnMobArgocyteSmall + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: MobArgocyteGliderExpeditions + amount: 3 + prob: 0.25 + - entries: + - id: SpawnMobArgocyteMedium + amount: 2 + prob: 0.25 + - entries: + - id: SpawnMobArgocyteBig + amount: 1 + prob: 0.1 + - entries: + - id: MobArgocyteCrawlerExpeditions + amount: 3 + maxAmount: 4 + prob: 0.001 + configs: + DefenseStructure: ArgocyteEgg + Mining: Argocytes + Megafauna: MobArgocyteLeviathingExpeditions + +- type: salvageFaction + id: Dinosaurs + cost: 3 + groups: + - entries: + - id: SpawnMobDinosaurSmall + amount: 1 + maxAmount: 2 + - id: SpawnMobDinosaurSmall + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: MobDinosaurDiloExpeditions + amount: 3 + prob: 0.25 + - entries: + - id: SpawnMobDinosaurMedium + amount: 2 + prob: 0.25 + - entries: + - id: SpawnMobDinosaurBig + amount: 1 + prob: 0.1 + - entries: + - id: MobDinosaurDiloExpeditions + amount: 5 + maxAmount: 6 + prob: 0.001 + - entries: + - id: MobDinosaurRaptorExpeditions + amount: 3 + maxAmount: 4 + prob: 0.001 + configs: + DefenseStructure: DinosaurEgg + Mining: Dinosaurs + Megafauna: MobDinosaurTrexExpeditions From 99c4f621a2b103fb92b362ae5f6900a20fba0ae9 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 3 Jun 2024 08:47:18 +0300 Subject: [PATCH 20/73] reverting the last commit --- .../Procedural/salvage_factions.yml | 318 ++++++++++++++++-- .../_NF/Procedural/salvage_factions.yml | 288 ---------------- 2 files changed, 281 insertions(+), 325 deletions(-) delete mode 100644 Resources/Prototypes/_NF/Procedural/salvage_factions.yml diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 4c8f0ae3c7c..5a8b2b55e0e 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -1,44 +1,288 @@ - type: salvageFaction - id: Xenos - entries: - - proto: MobXeno - - proto: MobXenoDrone - cost: 2 - - proto: MobXenoPraetorian - cost: 5 - prob: 0.1 - - proto: MobXenoQueen - cost: 10 - prob: 0.02 - - proto: MobXenoRavager - cost: 5 - - proto: MobXenoRouny - cost: 3 - prob: 0.02 - - proto: MobXenoSpitter - - proto: WeaponTurretXeno - prob: 0.1 + id: Xeno + cost: 3 + groups: + - entries: + - id: MobXenoBurrowerExpeditions # Frontier + amount: 2 + maxAmount: 3 + - id: MobXenoDroneExpeditions # Frontier + amount: 1 + - entries: + - id: MobXenoPraetorianExpeditions # Frontier + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: MobXenoDroneExpeditions # Frontier + amount: 0 + maxAmount: 2 + prob: 0.25 + - entries: + - id: WeaponTurretXeno + amount: 3 + prob: 0.25 + - entries: + - id: MobXenoSpitterExpeditions # Frontier + amount: 2 + prob: 0.25 + - entries: + - id: MobXenoRavagerExpeditions # Frontier + amount: 1 + prob: 0.1 + - entries: # Frontier + - id: MobXenoRunnerExpeditions # Frontier + amount: 3 # Frontier + prob: 0.05 # Frontier +# - entries: +# - id: MobXenoRouny +# amount: 1 +# prob: 0.001 configs: DefenseStructure: XenoWardingTower - Megafauna: MobXenoQueen + Mining: Xeno + Megafauna: MobXenoQueenDungeon # Frontier - type: salvageFaction - id: Carps - entries: - - proto: MobCarpDungeon - # These do too much damage for salvage, need nerfs - #- proto: MobCarpHolo - # cost: 5 - # prob: 0.1 - #- proto: MobCarpMagic - # cost: 5 - # prob: 0.1 - - proto: MobCarpRainbow # carp version of rouny... - cost: 3 - prob: 0.05 - - proto: MobDragonDungeon - cost: 10 - prob: 0.02 + id: Carp + cost: 1 + groups: + - entries: + - id: MobCarpExpeditions # Frontier + amount: 1 + maxAmount: 4 + - entries: + - id: MobCarpMagicExpeditions # Frontier + amount: 1 + maxAmount: 3 + prob: 0.1 + - entries: + - id: MobSharkExpeditions # Frontier + amount: 1 + maxAmount: 2 + prob: 0.1 + - entries: # Frontier + - id: MobCarpHoloExpeditions # Frontier + amount: 1 # Frontier + maxAmount: 1 # Frontier + prob: 0.05 # Frontier + - entries: + - id: MobCarpRainbowExpeditions # Frontier + amount: 1 + maxAmount: 1 + prob: 0.05 configs: DefenseStructure: CarpStatue - Megafauna: MobDragonDungeon \ No newline at end of file + Mining: Carp + Megafauna: MobDragonDungeon + +# Frontier (everything below) +- type: salvageFaction + id: Syndicate + cost: 9 + groups: + - entries: + - id: SpawnMobSyndicateNavalDeckhand + amount: 2 + maxAmount: 3 + - id: SpawnMobSyndicateNavalEngineer + amount: 1 + - entries: + - id: SpawnMobSyndicateNavalSaboteur + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: SpawnMobSyndicateNavalMedic + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: WeaponTurretSyndicate + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobSyndicateNavalOperator + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobSyndicateNavalCaptain + amount: 1 + prob: 0.1 + - entries: + - id: SpawnMobSyndicateNavalHorror + amount: 0 + maxAmount: 1 + prob: 0.001 + configs: + DefenseStructure: CybersunDataMiner + Mining: Syndicate + Megafauna: MobSyndicateNavalCommanderA + +- type: salvageFaction + id: Cultists + cost: 7 + groups: + - entries: + - id: SpawnMobBloodCultLeech + amount: 2 + maxAmount: 3 + - id: SpawnMobBloodCultistZealotRanged + amount: 1 + - entries: + - id: SpawnMobBloodCultistZealotMelee + amount: 1 + maxAmount: 3 + prob: 0.5 + - entries: + - id: SpawnMobBloodCultistCaster + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: BloodCultTurret + amount: 1 + - id: SpawnMobBloodCultistZealotRanged + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobBloodCultistAcolyte + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobBloodCultistPriest + amount: 1 + prob: 0.1 + - entries: + - id: SpawnMobBloodCultistJanitor + amount: 1 + - id: SpawnMobBloodCultistZealotMelee + amount: 1 + prob: 0.05 + configs: + DefenseStructure: BloodCollector + Mining: Cultists + Megafauna: MobBloodCultistAscended + +- type: salvageFaction + id: Flesh + cost: 1 + groups: + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + prob: 0.5 + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + prob: 0.25 + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + - id: SpawnMobAberrantFleshExpeditions + amount: 1 + maxAmount: 3 + prob: 0.25 + - entries: + - id: SpawnMobAberrantFleshExpeditions + amount: 2 + maxAmount: 4 + - id: SpawnMobAberrantFleshExpeditions + amount: 2 + maxAmount: 4 + prob: 0.1 + configs: + DefenseStructure: FleshBlocker + Mining: Flesh + Megafauna: MobHorrorExpeditions + +- type: salvageFaction + id: Argocytes + cost: 4 + groups: + - entries: + - id: SpawnMobArgocyteTiny + amount: 3 + maxAmount: 5 + - entries: + - id: SpawnMobArgocyteSmall + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: SpawnMobArgocyteSmall + amount: 1 + maxAmount: 2 + - id: SpawnMobArgocyteSmall + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: MobArgocyteGliderExpeditions + amount: 3 + prob: 0.25 + - entries: + - id: SpawnMobArgocyteMedium + amount: 2 + prob: 0.25 + - entries: + - id: SpawnMobArgocyteBig + amount: 1 + prob: 0.1 + - entries: + - id: MobArgocyteCrawlerExpeditions + amount: 3 + maxAmount: 4 + prob: 0.001 + configs: + DefenseStructure: ArgocyteEgg + Mining: Argocytes + Megafauna: MobArgocyteLeviathingExpeditions + +- type: salvageFaction + id: Dinosaurs + cost: 3 + groups: + - entries: + - id: SpawnMobDinosaurSmall + amount: 1 + maxAmount: 2 + - id: SpawnMobDinosaurSmall + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: MobDinosaurDiloExpeditions + amount: 3 + prob: 0.25 + - entries: + - id: SpawnMobDinosaurMedium + amount: 2 + prob: 0.25 + - entries: + - id: SpawnMobDinosaurBig + amount: 1 + prob: 0.1 + - entries: + - id: MobDinosaurDiloExpeditions + amount: 5 + maxAmount: 6 + prob: 0.001 + - entries: + - id: MobDinosaurRaptorExpeditions + amount: 3 + maxAmount: 4 + prob: 0.001 + configs: + DefenseStructure: DinosaurEgg + Mining: Dinosaurs + Megafauna: MobDinosaurTrexExpeditions diff --git a/Resources/Prototypes/_NF/Procedural/salvage_factions.yml b/Resources/Prototypes/_NF/Procedural/salvage_factions.yml deleted file mode 100644 index 5a8b2b55e0e..00000000000 --- a/Resources/Prototypes/_NF/Procedural/salvage_factions.yml +++ /dev/null @@ -1,288 +0,0 @@ -- type: salvageFaction - id: Xeno - cost: 3 - groups: - - entries: - - id: MobXenoBurrowerExpeditions # Frontier - amount: 2 - maxAmount: 3 - - id: MobXenoDroneExpeditions # Frontier - amount: 1 - - entries: - - id: MobXenoPraetorianExpeditions # Frontier - amount: 1 - maxAmount: 2 - prob: 0.5 - - entries: - - id: MobXenoDroneExpeditions # Frontier - amount: 0 - maxAmount: 2 - prob: 0.25 - - entries: - - id: WeaponTurretXeno - amount: 3 - prob: 0.25 - - entries: - - id: MobXenoSpitterExpeditions # Frontier - amount: 2 - prob: 0.25 - - entries: - - id: MobXenoRavagerExpeditions # Frontier - amount: 1 - prob: 0.1 - - entries: # Frontier - - id: MobXenoRunnerExpeditions # Frontier - amount: 3 # Frontier - prob: 0.05 # Frontier -# - entries: -# - id: MobXenoRouny -# amount: 1 -# prob: 0.001 - configs: - DefenseStructure: XenoWardingTower - Mining: Xeno - Megafauna: MobXenoQueenDungeon # Frontier - -- type: salvageFaction - id: Carp - cost: 1 - groups: - - entries: - - id: MobCarpExpeditions # Frontier - amount: 1 - maxAmount: 4 - - entries: - - id: MobCarpMagicExpeditions # Frontier - amount: 1 - maxAmount: 3 - prob: 0.1 - - entries: - - id: MobSharkExpeditions # Frontier - amount: 1 - maxAmount: 2 - prob: 0.1 - - entries: # Frontier - - id: MobCarpHoloExpeditions # Frontier - amount: 1 # Frontier - maxAmount: 1 # Frontier - prob: 0.05 # Frontier - - entries: - - id: MobCarpRainbowExpeditions # Frontier - amount: 1 - maxAmount: 1 - prob: 0.05 - configs: - DefenseStructure: CarpStatue - Mining: Carp - Megafauna: MobDragonDungeon - -# Frontier (everything below) -- type: salvageFaction - id: Syndicate - cost: 9 - groups: - - entries: - - id: SpawnMobSyndicateNavalDeckhand - amount: 2 - maxAmount: 3 - - id: SpawnMobSyndicateNavalEngineer - amount: 1 - - entries: - - id: SpawnMobSyndicateNavalSaboteur - amount: 1 - maxAmount: 2 - prob: 0.5 - - entries: - - id: SpawnMobSyndicateNavalMedic - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: WeaponTurretSyndicate - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobSyndicateNavalOperator - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobSyndicateNavalCaptain - amount: 1 - prob: 0.1 - - entries: - - id: SpawnMobSyndicateNavalHorror - amount: 0 - maxAmount: 1 - prob: 0.001 - configs: - DefenseStructure: CybersunDataMiner - Mining: Syndicate - Megafauna: MobSyndicateNavalCommanderA - -- type: salvageFaction - id: Cultists - cost: 7 - groups: - - entries: - - id: SpawnMobBloodCultLeech - amount: 2 - maxAmount: 3 - - id: SpawnMobBloodCultistZealotRanged - amount: 1 - - entries: - - id: SpawnMobBloodCultistZealotMelee - amount: 1 - maxAmount: 3 - prob: 0.5 - - entries: - - id: SpawnMobBloodCultistCaster - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: BloodCultTurret - amount: 1 - - id: SpawnMobBloodCultistZealotRanged - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobBloodCultistAcolyte - amount: 1 - prob: 0.25 - - entries: - - id: SpawnMobBloodCultistPriest - amount: 1 - prob: 0.1 - - entries: - - id: SpawnMobBloodCultistJanitor - amount: 1 - - id: SpawnMobBloodCultistZealotMelee - amount: 1 - prob: 0.05 - configs: - DefenseStructure: BloodCollector - Mining: Cultists - Megafauna: MobBloodCultistAscended - -- type: salvageFaction - id: Flesh - cost: 1 - groups: - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - prob: 0.5 - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - prob: 0.25 - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - - id: SpawnMobAberrantFleshExpeditions - amount: 1 - maxAmount: 3 - prob: 0.25 - - entries: - - id: SpawnMobAberrantFleshExpeditions - amount: 2 - maxAmount: 4 - - id: SpawnMobAberrantFleshExpeditions - amount: 2 - maxAmount: 4 - prob: 0.1 - configs: - DefenseStructure: FleshBlocker - Mining: Flesh - Megafauna: MobHorrorExpeditions - -- type: salvageFaction - id: Argocytes - cost: 4 - groups: - - entries: - - id: SpawnMobArgocyteTiny - amount: 3 - maxAmount: 5 - - entries: - - id: SpawnMobArgocyteSmall - amount: 1 - maxAmount: 2 - prob: 0.5 - - entries: - - id: SpawnMobArgocyteSmall - amount: 1 - maxAmount: 2 - - id: SpawnMobArgocyteSmall - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: MobArgocyteGliderExpeditions - amount: 3 - prob: 0.25 - - entries: - - id: SpawnMobArgocyteMedium - amount: 2 - prob: 0.25 - - entries: - - id: SpawnMobArgocyteBig - amount: 1 - prob: 0.1 - - entries: - - id: MobArgocyteCrawlerExpeditions - amount: 3 - maxAmount: 4 - prob: 0.001 - configs: - DefenseStructure: ArgocyteEgg - Mining: Argocytes - Megafauna: MobArgocyteLeviathingExpeditions - -- type: salvageFaction - id: Dinosaurs - cost: 3 - groups: - - entries: - - id: SpawnMobDinosaurSmall - amount: 1 - maxAmount: 2 - - id: SpawnMobDinosaurSmall - amount: 1 - maxAmount: 2 - prob: 0.25 - - entries: - - id: MobDinosaurDiloExpeditions - amount: 3 - prob: 0.25 - - entries: - - id: SpawnMobDinosaurMedium - amount: 2 - prob: 0.25 - - entries: - - id: SpawnMobDinosaurBig - amount: 1 - prob: 0.1 - - entries: - - id: MobDinosaurDiloExpeditions - amount: 5 - maxAmount: 6 - prob: 0.001 - - entries: - - id: MobDinosaurRaptorExpeditions - amount: 3 - maxAmount: 4 - prob: 0.001 - configs: - DefenseStructure: DinosaurEgg - Mining: Dinosaurs - Megafauna: MobDinosaurTrexExpeditions From 7256f2bd2ad7731a027b7bbf8786add54ac58902 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 3 Jun 2024 09:43:20 +0300 Subject: [PATCH 21/73] NPC gloves clean up --- .../_NF/Entities/Clothing/Hands/gloves.yml | 100 ++++++++++++------ .../_NF/Clothing/Hands/Gloves/Gloves.rar | Bin 8883 -> 0 bytes .../npc_ak.rsi/equipped-HAND.png | Bin 8389 -> 0 bytes .../npc_guns_visuals/npc_ak.rsi/icon.png | Bin 485 -> 0 bytes .../npc_guns_visuals/npc_ak.rsi/meta.json | 18 ---- .../npc_china_lake.rsi/equipped-HAND.png | Bin 8284 -> 0 bytes .../npc_china_lake.rsi/icon.png | Bin 485 -> 0 bytes .../npc_china_lake.rsi/meta.json | 18 ---- .../npc_crossbow.rsi/equipped-HAND.png | Bin 8643 -> 0 bytes .../npc_crossbow.rsi/icon.png | Bin 485 -> 0 bytes .../npc_crossbow.rsi/meta.json | 18 ---- .../npc_laser_pistol.rsi/equipped-HAND.png | Bin 8172 -> 0 bytes .../npc_laser_pistol.rsi/icon.png | Bin 485 -> 0 bytes .../npc_laser_pistol.rsi/meta.json | 18 ---- .../npc_pistol.rsi/equipped-HAND.png | Bin 6818 -> 0 bytes .../npc_guns_visuals/npc_pistol.rsi/icon.png | Bin 485 -> 0 bytes .../npc_guns_visuals/npc_pistol.rsi/meta.json | 18 ---- .../npc_python.rsi/equipped-HAND.png | Bin 7280 -> 0 bytes .../npc_guns_visuals/npc_python.rsi/icon.png | Bin 485 -> 0 bytes .../npc_guns_visuals/npc_python.rsi/meta.json | 18 ---- .../npc_shotgun.rsi/equipped-HAND.png | Bin 9375 -> 0 bytes .../npc_guns_visuals/npc_shotgun.rsi/icon.png | Bin 485 -> 0 bytes .../npc_shotgun.rsi/meta.json | 18 ---- .../npc_smg.rsi/equipped-HAND.png | Bin 7532 -> 0 bytes .../npc_guns_visuals/npc_smg.rsi/icon.png | Bin 485 -> 0 bytes .../npc_guns_visuals/npc_smg.rsi/meta.json | 18 ---- .../npc_spray_nozzle.rsi/equipped-HAND.png | Bin 7959 -> 0 bytes .../npc_spray_nozzle.rsi/icon.png | Bin 485 -> 0 bytes .../npc_spray_nozzle.rsi/meta.json | 18 ---- 29 files changed, 68 insertions(+), 194 deletions(-) delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/Gloves.rar delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_ak.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_ak.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_ak.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_china_lake.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_china_lake.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_china_lake.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_crossbow.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_crossbow.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_crossbow.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_laser_pistol.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_laser_pistol.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_laser_pistol.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_pistol.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_pistol.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_pistol.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_python.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_python.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_python.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_shotgun.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_shotgun.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_shotgun.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_smg.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_smg.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_smg.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_spray_nozzle.rsi/equipped-HAND.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_spray_nozzle.rsi/icon.png delete mode 100644 Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_spray_nozzle.rsi/meta.json diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml index bdce4904157..24b469e475d 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml @@ -58,7 +58,7 @@ # Gloves with fake guns visuals for NPCs - type: entity - parent: ClothingHandsGlovesSyntheticBase + parent: ClothingHandsGlovesCombat id: ClothingHandsGlovesColorBlackSMG name: combat gloves suffix: smg @@ -66,15 +66,19 @@ noSpawn: true components: - type: Unremoveable - - type: GloveHeatResistance - heatResistance: 1400 - - type: Insulated - - type: Fiber - fiberColor: fibers-black - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_smg.rsi + sprite: Clothing/Hands/Gloves/Color/color.rsi + layers: + - state: icon + color: "#535353" - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_smg.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/SMGs/atreides.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -83,10 +87,14 @@ suffix: ak noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_ak.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_ak.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/Rifles/ak.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -95,10 +103,14 @@ suffix: china lake noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_china_lake.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_china_lake.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/Launchers/china_lake.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -107,10 +119,14 @@ suffix: pistol noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_pistol.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_pistol.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/Pistols/viper.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -119,10 +135,14 @@ suffix: python noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_python.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_python.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/Revolvers/python.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -131,10 +151,14 @@ suffix: shotgun noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_shotgun.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_shotgun.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/Shotguns/pump_inhands_64x.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -143,10 +167,14 @@ suffix: spray nozzle noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_spray_nozzle.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_spray_nozzle.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/Basic/spraynozzle.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -155,10 +183,14 @@ suffix: crossbow noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_crossbow.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_crossbow.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: _NF/Objects/Weapons/Guns/Bow/crossbow.rsi + state: inhand-left - type: entity parent: ClothingHandsGlovesColorBlackSMG @@ -167,7 +199,11 @@ suffix: laser pistol noSpawn: true components: - - type: Sprite - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_laser_pistol.rsi - type: Clothing - sprite: _NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_laser_pistol.rsi + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/Color/color.rsi + state: equipped-HAND + color: "#535353" + - sprite: Objects/Weapons/Guns/Battery/advancedlasergun.rsi + state: inhand-left diff --git a/Resources/Textures/_NF/Clothing/Hands/Gloves/Gloves.rar b/Resources/Textures/_NF/Clothing/Hands/Gloves/Gloves.rar deleted file mode 100644 index d964f75c39e958ddcda2f168cd3e20342673fc7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8883 zcmd^@byQSq*tho#8yM07=^Ppqqy$7z1_WsYl}5Tdl#T)E7U>qH5fG%MLAn(XNoiC< zkPw7#&~rSV@ICMP&ielP{+JzW_ImbS`?{WcKlksZfg=MIHU!w7^Lvj6!NdlzAP^J^ z1!$^{M~Ff(@UlTL8$?j|6bPXJ0AXwDWUOcCXy;;k!O_Wr+r;6Xg}uFrF_((@ zTQgh?sKCa(qA1%5NQknMGyyIZE&u=ovNDo4(R<|S4~B)_7Fak;qjxy=GMY{RfJc1# zgA7l39{~VlOjc6-wyW+(EfJ+wBs}e2?~PPn!jMqE`0hzR41~&vBcNr;OxVO_9~bY3 z8xqNn@RkklxHI4&j7Z#_h{zjOqz1&#?&ZF3ViKdp!u-Ly50ap1(4Cy%z?( z+w4hrX6f_C`{R)0fpZ&YaGQ3oT%E8BLt(w~X^46%;$z3_r!_e_6*T&ABY}8MLNB1O zAf~_MYwgZ!?Xf~D?hZzAm_Cn1LF^o$Doo(l48eMsBS%T795;fXp!vW2qkY}J(TDr< z2e+vVCU|m&Auv4p;#)cBSASJ0Lvf?y(uI0LaMK>+~6 zzggyu*6eQ0c0=TU(X9J7&61zVVTi*6T|N_M!LA0>>l+z3>{@u?QiqW^8=5_6*(+7t zAgzRWWJti{m>s8KI9so#it0Lg`A*b)jrTGRmQ!dZi=GyAo9k*PKg^vp0AR}NfEH31 z*gq?Ymx&oGf+ABU1k$1Akmo2z>{nIDIjFv;mx@r&jz>Te_toC6A>YrCZ62=zkM_!> zKJu4ZR;+tb{a1t@my1O`DL4EqtzM<%l?x%EWN8#xIsByS)!0~7{zW0Dy}0;uJ(e=G zWTTuLDyTWYZ5IfWsi}QcRh*DzqM1CmYM|ImT9?C43pC{=X4wKVHUt{lL#kCeucJ)qfm^cfdEwF zBRPT)3X=E=fbb^EM!*4%$b=O!pa8W)%;5U~L`t8aS%lVhV8e^w)c7H+84GThe$Z%B+|Jxn^IAfz z-&SiuTl7&&{~_d2(Bi&_D3()^R(GN}QclQ86c1d`sEFmgkBYTja*cO~UWM$>#+LCX zhLQekmR$PHh;L=f$=!Vi zee#cGYxdM94e5{ZSCpXQBpu{T?9Gx)bV!euQ)s1yr z+q%?PzorBzH)VN?9>doXS^dRcq*5a@@`@yqfEZjVOU3WQxZm zt)!i;YiLIlpN$x%Z?(eXWN@RmJu4MpX}Nj9Q5BwQ#=W%86K~qMND~cMJTa96CHyqh zV^(sTms!|59^@uRnArtaZ|o9R>rd3WL0(BMa5g_@?>4p(gmG4PURw_L@%B2@2&QC8 zn3tQez0R%wArc1{htV~LoU)4%>(%9oHtMi7*4v~w@i51h@d(AdVWe@_En6197xwuQ zL~VZehZb0$T%2=%*?EmmCx2%*G#*xf?fii*Pe&4W*Z~LfQ68JEFd@Qa@zeRSmeI!( zp7D0|-Ny!HyWCmVzj4^aBS~cGqNjWkffnFL{i+__q`Qc=tQrKXK?K1p?ivaJD1Kqt zY1!ibAl~zfvV}m8`|p~q{jQm~QVWtIAorzyp5!F5jVYK7MS!;jo0dHDNN5Z8&W|7! z`NA(m5NfM`wgIyggl!|5!!DyjQ?u|whXEHsMAbcncNiB*nK}?+?>U^OO{{)1ab%FNfrabdYnSQj2j*0mL`){F~LBKd!MId z;l*4%9BoMKqiDn^DSXeZD~XMx<3V8{^}saTA$Lk)J7(l*Dru8@Xex_F(I|&T3ISB8 zrqgS=x3PY}hO@2Lcd^=W!}j`l{fkMM?99Ql11miM8L#Y}+zY(#rXCf@luE+qJB}y( z&k;yoa7)*I;J2O7O)k#q#*elr$$0n!y;v~|b3kLL_lPlC@uR59gBn$86IaGqt2eBg@q;)ie<8}FhoqlKG+ zf-_LWoQ`TB3IOQ-Dx9skfvqu@wTbE7->Tc=!NVbBl_)YIq`_F1qt_` zd#uXrFVsX#gVi%)#CyqakpPBM5UcP|Alr6XhUz%EAZ6NnYIHKbB>;fJ5U9UxPMAyW z$vs4^4@VA6d!{x7Tgk=>O-@`J8XURDJPQ0-E8L%Jv{%{Oy6du3;JUcB-m4l@c!i>cqbo89$NVUkU$)8YzH+SucsU={`1ZzWr@56`*yMaw)J9-I zK=fD9w+7b}sBV;Nj*joXg?@cM=v36Unu?(5%tOI>C?bp+CXNCC`u~~EX;qlI=+g3w zs(?ff|L=H6f5*dciYH($8$rZOycGSjss*d&nf z?F!lWQk)WkfG^K&LbBTAjxmOxv!h?(4@7~=*mI|ddZ1tr6p>YNyodTFB1a1|^WSF> z-BCvIf0;qR*WVFc!G-d|u?AJoi;D)bm44o-6m&LxPas+PDTrhEX^duq3Ax^y!KX!* zsV5ekP!I-3AW;D1=Y!|450xonB>H8-%K|~6IbrQDx&%vBr_2-+QdI$>Pg|~nhpldc zYW|(12aIN>su;24@DyV~ih@cVrG?(2g0%}}NpP>x_=E|w8}pu*bv-%kY-+2+pX^Yv9{&qkS@ply7p;7#`#kBZd%YL9Z zoi18Qb+!L#x&Xhks3AbJz#LqJ;Y70sP_d)rI8fmvDu5J%2<~VBHA9K^Shj~QyIwr@ zb{4dy3i~sM-(D0qI9j-91mk&=I-h(^YGl=T(l}*oXT2;(vHu(j=2kzI(zna=MfEQ@ zRtkT|A&ACt=M;y@zv3uS3gzD$b|2O@-Qo=wP2;vZ{IJ`hkUniynA5s(Gp?0;sa*Vs z&h1`g31CP@A9S(~F2sd(#J;l)OzQ|*Ijd53BYQ1y+O2RXZW5OG} z6eWy&G>ILk0OHPzRI0(HdodS=vot=@pDEL{nHqSx&>-CymTWpI*2|RCkCT88s+i)>?B{jFVE84;Q(1-hFdjGT zY!Z^b+B1DCa_Va`2quGw*6}vHAHEtnni$ypG7?drIEF_5mtM8^H(!72RhNl}G9h?U zrO(e=(a&nlG~D(AtE6uCZ=yr3YwmY zoE&W{lG#?~6@)r^YYDRr)U*Qd=o$=j-(E;l20{zq`u&6hMTW#PUPtb7mA=E!SHAOl zeoM%v$i;l;KuWq}IRNba*e5lmshzzSMO5*Y>+<_M9%GX;pHC)Z_HZM7l+)ekJqYwo zQaxRq!fJ0WJ=}XMQuk1=q%kMp>a+PUEPH5c)xkqIH*aQE{iGYc`vDt|%{Aliz7fe6 zPIBAKVC`E`8vF2(9?Ol0>SWGhC4!p@{$#qzaJA57Hy6O?LFN~L@J!1_-&sTxlIS)I z3Q#>H0I?xhp_%6(VBUls;u4HU8C1nVAYXf9G>fBr8S~@-NWm^Oj1Y=XBCZOBDOb!O z?cw^Fuma+?)l!kh1k>H424NWj+DO6qI*)RvbuZ8*_&kBM6ozS>*-(;KFLBVc^nL;) zb&!$&FcHgtS{mLlUtV0w>2yqQN%-Ds&0+7MR+AMnubO0ZoMDserhR0t;X z$BD}>cm!k$X5z)9D=q&#_q2kI{r|{864@!8(Q19qLH-A|PHSP~0~M$LR11IPAPhIq zIY_`BA(RDX2|EIqlR+1{pr&^Yuzezgy(=d)NKD%AIwKJrE(O;jb~l!p&=EArHK|K_ z)2sb@p-jYX+H*u6ZPxnijiQvw$@wzm5sK5yCaaXDv44p1R+cHB1_L51>kJzZKNo`E<%Z=x^k zTB>m(BEshENfw**EQ%|UyVf=v*WHMyPgZT<;R96gY~5zl^}?!yDga*@nV$#35tfa9 zvk0U(ktEtIl|xdrS-7DHv{}IuC1|shl|dD>S+Be?(PsHE2BXc&+C7gpi-bh{HWUW0 z&=a?ZXJ*2(h{sn;#Tu7QcXwV~k%^#)13}WG9dB&t|<5!O1+$L7G9Z8ASNwXIP`n`ksUQVb)JM$jc@stY6eB1bWNQ4>+Z;DuKZ5oGv30d4}M_K{a0&uf6&kMMF~w72bjpWFLg!M-~viHfDq zaNOcQObr=RV#cl1lz$*p&c8jKLMbw2kzBwxCYLnZR1CXKns-jw9aGKi472Q~-17#T zN9OaxL3O>0mxV_>ZE0z+w?9Gef`%)gJtC=jNQ(u^T;JHY)<>HFoq0IoByIShEE}Yt z!SHoNm5fo13SfxeZj0_TA}7|AYhvXKwTiI8W|R&1fVd{{^?h-Kor}9TqY6}TkaHK_ zok!>lRR}Dxd^~+ubrcKVd;FR6Uet%_#+qIUX1`ou7G})jn-p7Dv5YJm_*BnS=90%Q z_k|4B6jDGL4$$jN7+!msxDoZN1=~+KgdKA3BstO=RU(Q7o(z6T#V4J9YGa$<`(xVbsixa2t2bs|M;57L!MuM)>{W_Hvr*(wSZk+0Aez`}D{eQa_yVCpTAV?7ep_j8tV3nLl_8xOl_1 zL$IR3sC-hhlEHHspyyL}ri+*T*&}8K;I0N2!q3I)>JBmct}(c*(6Q@C-hGE|RJ-YE z*}I}XD5&NxN42*UYN-447$x-hypcbVzD@KEiZ{R}d2#O|^E&)z@$L+IFJ4#)UCE?8;KG&Sh)xYqkQaLsXBHn` zMgxH!!Z;aHAxg6t(b`~eIPKe1{Xyz2ZK)9(c^UH^=AwQDDOjR_8;??3A#85Jlv zR-cE&VZ>o%i|{=4$egl0S(S5LnIXHUZZ@R@po5X5^aO2f6`eaMU1aDTkg;of(nNEK zvun|UO;0P&1LnO!o90S1e>sI6+0H?HIp~F22G>oZPQ*!_b5V2%6v&!yKS*YKmSyPB zCNsEo?5r{)+!%=~i<=40>RU?QP?#cuH_!JBzNU7XHtBq>0BTbgwoi67E76@Lx`G*f zE6@vB9~^}29lXw%mxlR@IgB~J){+ZR;>t1}9DE$Hlkmo{6sc(2y$eq` zPs~Zw8&D%A_^8NNhOJ5Kifws-JZWeqnGThrtwa&d7{BQ~nd|Ch)4D^%z8?A=>%I!y z0h=aI<_#e#bPacJa;L;AMKr{}Vn@67Jr()MwZEkzn@h(Szo>Oc^zi@Qc9Z}?6#jH3~y?DJ}$K(z0uCFou%pToa z(ZvFcNthr|;dK{@Mubc&$k(I?DKu9seJ#cheqNCcRZD z9(a?b10|{F-AiChX#6p^H5*Y|!^<0UMSzYIi7#(%i*Oj}O6V%;-kqxO+3AV3W^vy1o6rcUvd*fjr&i>ZqsM#klraM=W{KRLT4D?f{b5m zd^d26qu$xv$Iq6FgoHF4B~o|NbWYp|k{7@0WMs(fVJWJCqKF?vMmTc_h&{G1X8Z2jE14$FcdN1(Vy~bMnBqdG$YFhUd;bAi@+a@ zY$VXhi2gN6EM!)XTrV;{Q!b6t{0+nT>}!Sq9JjWGR`TlhPTSdx_ag^;W-iM&|2ZF- zgzvxcIZ=eLrZ`PI=9zz~bme}t#8n?uwA%Fsgfnn2-_rE)?n@_SaFlB3Ow#NFK4Z4A zCK0?Wc$#oln7Vdun`n?WD)$^VqR{D?-r9r&t~yN=2_Ea}#=)!!qdZ|$6) z+q2E+b57{ucefe2yRTc|zQ4F;MBFHCn>NqzEg(7ZfIQZ-aBQ{xQ$SL}XpcDn$m?>~ zbsGFk#N_;J)@j2z0tH8)2s@kmtY{+N1CqbZnjb_?rwxj9(dR!+8_d5Txlh6eVNo14 z#AcQ00#pPu^+WI<2FBo^7*}vz;0L`UXK#2G-&mf>m`am>_K%U0{k7Rcr>{boiPrsY zJ&&?h58pjCPN~|VE6ZUsJB##3XBj5tQv?4Gn9Q_p*=CeX-C!M9sZbo5^T=PD6I1Jv zJ)*0*7a8kgI}a1e=zy~IVBlW zIV@*KOABBE-`0a@WeNYBfTIOn@z4C0rb3OMp8Lm(f4ocd#W@1Z-&zt{7c~_OOc3}# DKE(QM diff --git a/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_ak.rsi/equipped-HAND.png b/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_ak.rsi/equipped-HAND.png deleted file mode 100644 index 7b4ae24563b2fc951d0f02269b84ddbf84bdba0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8389 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 diff --git a/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_china_lake.rsi/icon.png b/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_china_lake.rsi/icon.png deleted file mode 100644 index 59d0d46baa122bd3285084760fb07b3857645fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 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 diff --git a/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_laser_pistol.rsi/icon.png b/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_laser_pistol.rsi/icon.png deleted file mode 100644 index 59d0d46baa122bd3285084760fb07b3857645fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 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 F{sl=yq?rH! diff --git a/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_pistol.rsi/icon.png b/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_pistol.rsi/icon.png deleted file mode 100644 index 59d0d46baa122bd3285084760fb07b3857645fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 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 R0L&SPg^8_kx#6C}{{p`kg^>UN diff --git a/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_python.rsi/icon.png b/Resources/Textures/_NF/Clothing/Hands/Gloves/npc_guns_visuals/npc_python.rsi/icon.png deleted file mode 100644 index 59d0d46baa122bd3285084760fb07b3857645fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 485 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 Date: Mon, 3 Jun 2024 10:36:53 +0300 Subject: [PATCH 22/73] smallest clean up --- ...anoid_hostile.yml => base_mob_hostile.yml} | 11 +++----- .../Entities/Mobs/NPCs/bloodcultistmob.yml | 28 ++++--------------- .../_NF/Entities/Mobs/NPCs/syndicatemob.yml | 6 ++-- .../Mobs/NPCs/wizardfederationmob.yml | 2 +- 4 files changed, 13 insertions(+), 34 deletions(-) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{base_humanoid_hostile.yml => base_mob_hostile.yml} (90%) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml similarity index 90% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml index 4ff88deab80..85ad408a5e8 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_humanoid_hostile.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml @@ -1,4 +1,3 @@ -# Used for mobs that are unaffected by atmospherics, pressure, and heat - type: entity save: false id: MobAtmosNF @@ -20,7 +19,7 @@ id: MobPassiveRegen abstract: true components: - - type: PassiveDamage # Slight passive regen. + - type: PassiveDamage allowedStates: - Alive - Critical @@ -70,7 +69,6 @@ - AllAccess # Human NPC, uses equipment, immune to vacuum/low pressure -# but otherwise should be the same as base line human mob - type: entity name: Human NPC suffix: AI, Hostile @@ -79,7 +77,6 @@ - MobAtmosNF - MobBloodstream - MobFlammable - #- MobLaserReflect - MobEnhancedMovement - BaseMobSpecies id: MobHumanoidHostileBase @@ -109,7 +106,7 @@ # AI package - type: HTN rootTask: - task: SimpleHumanoidHostileCompound # Alt root tasks: MeleeCombatCompound, SimpleRangedHostileCompound + task: SimpleHumanoidHostileCompound # Alt tasks: MeleeCombatCompound, SimpleRangedHostileCompound blackboard: NavClimb: !type:Bool false @@ -126,7 +123,7 @@ deathPenalty: 0.5 - type: Contraband - type: Advertise - pack: syndicatehumanoidchatter # Don't have neutral one + pack: syndicatehumanoidchatter minimumWait: 120 # 1 * 2 maximumWait: 240 # 2 * 60 nextAdvertisementTime: 0 @@ -191,7 +188,7 @@ critThreshold: 100 - type: HTN rootTask: - task: SimpleHumanoidHostileCompound # Alt root tasks: MeleeCombatCompound, SimpleRangedHostileCompound + task: SimpleHumanoidHostileCompound # Alt tasks: MeleeCombatCompound, SimpleRangedHostileCompound blackboard: NavClimb: !type:Bool false diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml index 1a2a519ec64..347c4df52da 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml @@ -30,10 +30,6 @@ - type: Loadout prototypes: - BloodCultistPriestGear - - type: Reflect - enabled: true - reflectProb: .3 - spread: 90 - type: HitscanBatteryAmmoProvider proto: BloodCultLaser fireCost: 100 @@ -60,10 +56,6 @@ - type: Loadout prototypes: - BloodCultistJanitorGear - - type: Reflect - enabled: true - reflectProb: .3 - spread: 90 - type: Stamina critThreshold: 500 - type: BasicEntityAmmoProvider @@ -91,10 +83,6 @@ - type: Loadout prototypes: - BloodCultistAcolyteGear - - type: Reflect - enabled: true - reflectProb: .3 - spread: 90 - type: HTN rootTask: task: MeleeCombatCompound @@ -116,10 +104,6 @@ - type: Loadout prototypes: - BloodCultistZealotMeleeGear - - type: Reflect - enabled: true - reflectProb: .1 - spread: 90 - type: HTN rootTask: task: MeleeCombatCompound @@ -192,15 +176,13 @@ components: - type: NpcFactionMember factions: - - BloodCultNF - - type: MovementIgnoreGravity - - type: MovementAlwaysTouching + - BloodCultNF - type: CanMoveInAir - type: Advertise pack: bloodcultisthumanoidchatter - type: Reflect enabled: true - reflectProb: .4 + reflectProb: .3 spread: 90 - type: Sprite drawdepth: Mobs @@ -270,7 +252,7 @@ components: - type: NpcFactionMember factions: - - BloodCultNF + - BloodCultNF - type: Advertise pack: bloodcultisthumanoidchatter - type: Sprite @@ -316,7 +298,7 @@ components: - type: NpcFactionMember factions: - - BloodCultNF + - BloodCultNF - type: MovementIgnoreGravity - type: Advertise pack: bloodcultisthumanoidchatter @@ -371,7 +353,7 @@ components: - type: NpcFactionMember factions: - - NanoTrasen + - NanoTrasen - type: TimedDespawn lifetime: 80 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml index 09339ff8b72..79c955048b5 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml @@ -6,12 +6,12 @@ id: MobSyndicateNavalBase components: - type: Body - prototype: HumanSyntheticOrgans # New set of synthetic organs grants elevated resistance to toxins and poisons + prototype: HumanSyntheticOrgans # New set of synthetic organs grants faster removal of toxins from bloodstream requiredLegs: 2 - type: NpcFactionMember factions: - - Syndicate - #- type: AutoImplant # muh loot! nooo + - Syndicate + #- type: AutoImplant #implants: #- DeathRattleImplant #- DeathAcidifierImplantNF diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml index 5905c9f6026..db48de985ff 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml @@ -15,7 +15,7 @@ path: /Audio/_NF/Effects/silence.ogg - type: Reflect enabled: true - reflectProb: .35 + reflectProb: .3 spread: 90 - type: Flammable fireSpread: true From d7b58204a3269de2a5e0407bb32eab43782095a6 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 04:35:47 +0300 Subject: [PATCH 23/73] hostile mercenaries (experimantal) --- .../mobchatter/mercenaryhumanoidmob.ftl | 20 + .../Procedural/salvage_factions.yml | 47 ++- .../Fills/Backpacks/npc_loot_mercenaries.yml | 273 ++++++++++++++ .../NPCsChatter/mercenaryhumanoidmob.yml | 23 ++ .../Prototypes/_NF/Damage/modifier_sets.yml | 9 + .../Entities/Mobs/NPCs/base_mob_hostile.yml | 28 +- .../_NF/Entities/Mobs/NPCs/mercenaries.yml | 352 ++++++++++++++++++ ...humanoid_simplified_inventory_template.yml | 54 +++ .../_NF/Roles/Jobs/Hostile/mercenaries.yml | 44 +++ .../Species/Templates/human.rsi/human.png | Bin 0 -> 932 bytes .../Mobs/Species/Templates/human.rsi/icon.png | Bin 0 -> 486 bytes .../Species/Templates/human.rsi/meta.json | 18 + 12 files changed, 853 insertions(+), 15 deletions(-) create mode 100644 Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl create mode 100644 Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml create mode 100644 Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml create mode 100644 Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml create mode 100644 Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml create mode 100644 Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/human.png create mode 100644 Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/icon.png create mode 100644 Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/meta.json diff --git a/Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl b/Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl new file mode 100644 index 00000000000..d0231220cab --- /dev/null +++ b/Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl @@ -0,0 +1,20 @@ +advertisement-mercanaryhumanoid-1 = Contact! +advertisement-mercanaryhumanoid-2 = In position! Over. +advertisement-mercanaryhumanoid-3 = Sights are cold! +advertisement-mercanaryhumanoid-4 = Radio check. Over. +advertisement-mercanaryhumanoid-5 = Check in. What's your status? Over. +advertisement-mercanaryhumanoid-6 = Spread out! +advertisement-mercanaryhumanoid-7 = Keep your eyes open! +advertisement-mercanaryhumanoid-8 = Lost contact with the lookout. Over. +advertisement-mercanaryhumanoid-9 = Finishing my patrol and heading back. Over. +advertisement-mercanaryhumanoid-10 = Command, what's the sitrep? Over. +advertisement-mercanaryhumanoid-11 = He's on the move! +advertisement-mercanaryhumanoid-12 = Command, we've lost contact with the search team! +advertisement-mercanaryhumanoid-13 = Fan out! +advertisement-mercanaryhumanoid-14 = Any word on that reinforcements? Over. +advertisement-mercanaryhumanoid-15 = I could use some reinforcements, command! +advertisement-mercanaryhumanoid-16 = Orders received and understood! Over. +advertisement-mercanaryhumanoid-17 = Watch your step. +advertisement-mercanaryhumanoid-18 = Confirmed. Over. +advertisement-mercanaryhumanoid-19 = In here. Over. +advertisement-mercanaryhumanoid-20 = Neutralize him now! diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 5a8b2b55e0e..7b1d571e347 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -79,7 +79,7 @@ # Frontier (everything below) - type: salvageFaction id: Syndicate - cost: 9 + cost: 8 groups: - entries: - id: SpawnMobSyndicateNavalDeckhand @@ -286,3 +286,48 @@ DefenseStructure: DinosaurEgg Mining: Dinosaurs Megafauna: MobDinosaurTrexExpeditions + +- type: salvageFaction + id: Mercenaries + cost: 5 + groups: + - entries: + - id: MobMercenarySoldierMosin + amount: 2 + maxAmount: 3 + - id: MobMercenarySoldierKnife + amount: 1 + - entries: + - id: MobMercenarySoldierPistol + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: MobMercenaryBreacherShotgun + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: MobMercenarySoldierRevolver + amount: 1 + - id: MobMercenaryBreacherMachete + amount: 1 + prob: 0.25 + - entries: + - id: MobMercenarySoldierPistol + amount: 1 + prob: 0.25 + - entries: + - id: MobMercenaryBreacherShotgun + amount: 1 + prob: 0.1 + - entries: + - id: MobMercenarySoldierMosin + amount: 1 + - id: MobMercenarySoldierMosin + amount: 1 + prob: 0.05 + configs: + DefenseStructure: CybersunDataMiner + Mining: Mercenaries + Megafauna: MobMercenaryCaptain diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml new file mode 100644 index 00000000000..9c478de745d --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml @@ -0,0 +1,273 @@ +# BASE +## BACK - for gear and cash +- type: entity + parent: BaseItem + id: MercenaryDuffelGiftBox + name: mercanary gear bundle + description: Loot boxes? Here? + abstract: true + noSpawn: true + suffix: NPC Loot + components: + - type: Sprite + sprite: _NF/Clothing/Back/Duffels/mercenary.rsi + state: icon + - type: Item + size: Normal + - type: Clothing + quickEquip: false + slots: + - back + - type: SpawnItemsOnUse + items: + - id: SpaceCash10 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +## BELT - for ammo and mags +- type: entity + parent: BaseItem + id: MercenaryWebbingBox + name: mercanary ammo bundle + description: Loot boxes? Here? + abstract: true + noSpawn: true + suffix: NPC Loot + components: + - type: Sprite + sprite: Clothing/Belt/mercwebbing.rsi + state: icon + - type: Item + size: Normal + - type: Clothing + quickEquip: false + slots: + - belt + - type: SpawnItemsOnUse + items: + - id: SpaceCash10 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +# MERCENARY NPC LOOT +## TIER 1 +- type: entity + parent: MercenaryDuffelGiftBox + id: ClothingBackpackDuffelMecranaryTier1Pistol + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash500 + prob: 0.9 + - id: SpaceCash500 + prob: 0.65 + - id: SpaceCash1000 + prob: 0.45 + - id: WeaponPistolMk58Expedition + prob: 0.9 + - id: ClothingOuterVestWebMercenary + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: MercenaryWebbingBox + id: ClothingBeltWebbingMecranaryTier1Pistol + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: MagazinePistol + prob: 0.9 + - id: MagazinePistolEmpty + prob: 0.9 + - id: MagazinePistolEmpty + prob: 0.8 + - id: MagazinePistolEmpty + amount: 2 + prob: 0.4 + - id: MagazineBoxPistol + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: MercenaryDuffelGiftBox + id: ClothingBackpackDuffelMecranaryTier1Mosin + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash500 + prob: 0.9 + - id: SpaceCash500 + prob: 0.65 + - id: SpaceCash1000 + prob: 0.45 + - id: WeaponSniperMosinExpedition + prob: 0.9 + - id: ClothingOuterVestWebMercenary + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: MercenaryWebbingBox + id: ClothingBeltWebbingMecranaryTier1Mosin + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: MagazineBoxLightRifle + prob: 0.9 + - id: MagazineBoxLightRifleBig + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +## TIER 2 +- type: entity + parent: MercenaryDuffelGiftBox + id: ClothingBackpackDuffelMecranaryTier2Shotgun + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash1000 + prob: 0.9 + - id: SpaceCash500 + prob: 0.65 + - id: SpaceCash1000 + prob: 0.45 + - id: WeaponShotgunDoubleBarreledExpedition + prob: 0.9 + - id: ClothingOuterArmorBasicSlim + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: MercenaryWebbingBox + id: ClothingBeltWebbingMecranaryTier2Shotgun + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: BoxLethalshot + prob: 0.9 + - id: BoxLethalshot + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: MercenaryDuffelGiftBox + id: ClothingBackpackDuffelMecranaryTier2Revolver + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash1000 + prob: 0.9 + - id: SpaceCash500 + prob: 0.65 + - id: SpaceCash1000 + prob: 0.45 + - id: WeaponRevolverArgenti + prob: 0.9 + - id: WeaponRevolverArgenti + prob: 0.3 + - id: ClothingOuterCoatBHTrench + prob: 0.4 + - id: ClothingHeadHatBH + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: MercenaryWebbingBox + id: ClothingBeltWebbingMecranaryTier2Revolver + noSpawn: true + components: + - type: Sprite + sprite: Clothing/Belt/bandolier.rsi + state: icon + - type: SpawnItemsOnUse + items: + - id: SpeedLoaderRifleHeavy + prob: 0.9 + - id: SpeedLoaderRifleHeavy + prob: 0.6 + - id: SpeedLoaderRifleHeavy + prob: 0.1 + - id: MagazineBoxRifle + prob: 0.9 + - id: MagazineBoxRifleBig + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +## TIER 3 + +## TIER 4 +- type: entity + parent: MercenaryDuffelGiftBox + id: ClothingBackpackDuffelMecranaryTier4Captain + noSpawn: true + components: + - type: Sprite + sprite: _NF/Clothing/Back/Messenger/color.rsi + layers: + - state: icon-base + color: "#C09F72" + - state: icon-sling + color: "#776756" + - state: icon-clasp + color: "#eeeeee" + - type: Clothing + sprite: _NF/Clothing/Back/Messenger/color.rsi + clothingVisuals: + back: + - state: base-equipped-BACKPACK + color: "#C09F72" + - state: sling-equipped-BACKPACK + color: "#776756" + - state: clasp-equipped-BACKPACK + color: "#eeeeee" + - type: Item + inhandVisuals: + left: + - state: base-inhand-left + color: "#C09F72" + - state: clasp-inhand-left + color: "#eeeeee" + right: + - state: base-inhand-right + color: "#C09F72" + - state: clasp-inhand-right + color: "#eeeeee" + - type: SpawnItemsOnUse + items: + - id: SpaceCash2500 + prob: 0.9 + - id: SpaceCash1000 + prob: 0.65 + - id: SpaceCash1000 + prob: 0.45 + - id: SpaceCash1000 + prob: 0.15 + - id: WeaponSniperRepeaterExpedition + prob: 0.9 + - id: ClothingOuterArmorBulletproof + prob: 0.4 + - id: MagazineBoxMagnum + prob: 0.9 + - id: MagazineBoxMagnum + prob: 0.4 + - id: MagazineBoxMagnum + prob: 0.2 + - id: AmmoTechFabCircuitboard + prob: 0.1 + sound: + path: /Audio/Items/jumpsuit_equip.ogg diff --git a/Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml b/Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml new file mode 100644 index 00000000000..f9c769b51d6 --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml @@ -0,0 +1,23 @@ +- type: messagePack + id: mercanaryhumanoidchatter + messages: + - advertisement-mercanaryhumanoid-1 + - advertisement-mercanaryhumanoid-2 + - advertisement-mercanaryhumanoid-3 + - advertisement-mercanaryhumanoid-4 + - advertisement-mercanaryhumanoid-5 + - advertisement-mercanaryhumanoid-6 + - advertisement-mercanaryhumanoid-7 + - advertisement-mercanaryhumanoid-8 + - advertisement-mercanaryhumanoid-9 + - advertisement-mercanaryhumanoid-10 + - advertisement-mercanaryhumanoid-11 + - advertisement-mercanaryhumanoid-12 + - advertisement-mercanaryhumanoid-13 + - advertisement-mercanaryhumanoid-14 + - advertisement-mercanaryhumanoid-15 + - advertisement-mercanaryhumanoid-16 + - advertisement-mercanaryhumanoid-17 + - advertisement-mercanaryhumanoid-18 + - advertisement-mercanaryhumanoid-19 + - advertisement-mercanaryhumanoid-20 diff --git a/Resources/Prototypes/_NF/Damage/modifier_sets.yml b/Resources/Prototypes/_NF/Damage/modifier_sets.yml index 42d361c6b03..70eda871307 100644 --- a/Resources/Prototypes/_NF/Damage/modifier_sets.yml +++ b/Resources/Prototypes/_NF/Damage/modifier_sets.yml @@ -6,3 +6,12 @@ Piercing: 1.2 Poison: 0.75 Caustic: 0.9 + +- type: damageModifierSet + id: MobMercenaryDamageModifierSet + coefficients: + Blunt: 0.75 + Slash: 0.75 + Piercing: 0.75 + Heat: 0.8 + Caustic: 0.9 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml index 85ad408a5e8..f397620e724 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml @@ -68,6 +68,20 @@ groups: - AllAccess +- type: entity + save: false + id: MobHumanoidSimplifiedInvetory + abstract: true + components: + - type: Inventory + templateId: hostilehumanoid + - type: InventorySlots + - type: Strippable + - type: UserInterface + interfaces: + enum.StrippingUiKey.Key: + type: StrippableBoundUserInterface + # Human NPC, uses equipment, immune to vacuum/low pressure - type: entity name: Human NPC @@ -201,20 +215,6 @@ - type: NpcFactionMember factions: - SimpleHostile - - type: Sprite - drawdepth: Mobs - sprite: _NF/Mobs/BloodCult/ascended_cultist.rsi - layers: - - map: [ "enum.DamageStateVisualLayers.Base" ] - state: ascended_cultist - - type: DamageStateVisuals - states: - Alive: - Base: ascended_cultist - Critical: - Base: crit - Dead: - Base: dead - type: Carriable # Carrying system from nyanotrasen. - type: MobPrice price: 1500 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml new file mode 100644 index 00000000000..60738202ea3 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml @@ -0,0 +1,352 @@ +# Base +- type: entity + name: mercenary + abstract: true + parent: + - MobNonHumanHostileBase + - MobHumanoidSimplifiedInvetory + id: MobMercenaryBase + components: + - type: Damageable + damageModifierSet: MobMercenaryDamageModifierSet + - type: NpcFactionMember + factions: + - SimpleHostile + - type: MobThresholds + thresholds: + 0: Alive + 100: Critical + 130: Dead + - type: Stamina + critThreshold: 100 + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeatHuman + amount: 5 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 1.5 + rechargeSound: + path: /Audio/_NF/Effects/silence.ogg + - type: MeleeWeapon + attackRate: 1.0 + altDisarm: false + angle: 0 + animation: WeaponArcBite + damage: + types: + Slash: 15 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Advertise + pack: mercanaryhumanoidchatter + minimumWait: 30 + maximumWait: 120 + nextAdvertisementTime: 10 + - type: AutoWakeUp + +# Variations +## Tier 1 +- type: entity + name: mercenary soldier + parent: MobMercenaryBase + id: MobMercenarySoldierKnife + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier1Knife + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#404029" + - sprite: Clothing/Shoes/Boots/mercboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/mercbattle.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/merc.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/merc_helmet.rsi + state: equipped-HELMET + - sprite: Objects/Tools/Hydroponics/hatchet.rsi + state: inhand-right + - sprite: Objects/Weapons/Melee/shields.rsi + state: buckler-inhand-left + - type: BasicEntityAmmoProvider + proto: BulletPistol + capacity: 4 + count: 4 + - type: Gun + showExamineText: false + fireRate: 0.5 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/pistol.ogg + +- type: entity + name: mercenary soldier + parent: MobMercenaryBase + id: MobMercenarySoldierPistol + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier1Pistol + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#404029" + - sprite: Clothing/Shoes/Boots/mercboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/mercbattle.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/merc.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/merc_helmet.rsi + state: equipped-HELMET + - sprite: Objects/Weapons/Guns/Pistols/mk58.rsi + state: inhand-right + - type: BasicEntityAmmoProvider + proto: BulletPistol + capacity: 4 + count: 4 + - type: Gun + showExamineText: false + fireRate: 0.5 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/pistol.ogg + +- type: entity + name: mercenary soldier + parent: MobMercenaryBase + id: MobMercenarySoldierMosin + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier1Mosin + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#404029" + - sprite: Clothing/Shoes/Boots/mercboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/mercbattle.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/merc.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/merc_helmet.rsi + state: equipped-HELMET + - sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi + state: wielded-inhand-right + - type: BasicEntityAmmoProvider + proto: CartridgeLightRifle + capacity: 10 + count: 10 + - type: Gun + showExamineText: false + fireRate: 0.75 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/sniper.ogg + +## Tier 2 +- type: entity + name: mercenary breacher + parent: MobMercenaryBase + id: MobMercenaryBreacherShotgun + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier2Shotgun + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#3d5c87" + - sprite: Clothing/Shoes/Boots/combatboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Armor/security_slim.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/gas.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/security.rsi + state: equipped-HELMET + - sprite: Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi + state: wielded-inhand-right + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/_NF/Effects/silence.ogg + - type: BasicEntityAmmoProvider + proto: ShellShotgun + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/shotgun.ogg + +- type: entity + name: mercenary breacher + parent: MobMercenaryBase + id: MobMercenarySoldierRevolver + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier2Revolver + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#3d5c87" + - sprite: Clothing/Shoes/Boots/jackboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Coats/hos_trenchcoat.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/neckgaiter.rsi + state: equipped-MASK + - sprite: Clothing/Eyes/Glasses/sunglasses.rsi + state: equipped-EYES + - sprite: Clothing/Head/Hats/hoshat.rsi + state: equipped-HELMET + - sprite: _NF/Objects/Weapons/Guns/Revolvers/argenti.rsi + state: inhand-right + - sprite: _NF/Objects/Weapons/Guns/Revolvers/argenti.rsi + state: inhand-left + - type: BasicEntityAmmoProvider + proto: CartridgeRifle + capacity: 8 + count: 8 + - type: Gun + showExamineText: false + fireRate: 2.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/pistol.ogg + +- type: entity + name: mercenary breacher + parent: MobMercenaryBase + id: MobMercenaryBreacherMachete + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier2Machete + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#3d5c87" + - sprite: Clothing/Shoes/Boots/combatboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Armor/security_slim.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/gas.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/security.rsi + state: equipped-HELMET + - sprite: Clothing/Belt/militarywebbing.rsi + state: equipped-BELT + - sprite: Objects/Weapons/Melee/machete.rsi + state: inhand-right + - sprite: Objects/Weapons/Melee/shields.rsi + state: metal-inhand-left + +## Tier 3 + + +## Tier 4 - Boss +- type: entity + name: mercenary captain + parent: MobMercenaryBase + id: MobMercenaryCaptain + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier4Captain + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#d3bf86" + - sprite: Clothing/Shoes/Boots/combatboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Armor/bulletproof.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/gassecurity.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/security.rsi + state: equipped-HELMET + - sprite: Clothing/Belt/militarywebbing.rsi + state: equipped-BELT + - sprite: Clothing/Neck/mantles/qmmantle.rsi + state: equipped-NECK + - sprite: _NF/Objects/Weapons/Guns/Snipers/repeater.rsi + state: wielded-inhand-right + - type: BasicEntityAmmoProvider + proto: CartridgeMagnum + capacity: 10 + count: 10 + - type: Gun + showExamineText: false + fireRate: 0.6 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/sniper.ogg diff --git a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml new file mode 100644 index 00000000000..598278a8aef --- /dev/null +++ b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml @@ -0,0 +1,54 @@ +- type: inventoryTemplate + id: hostilehumanoid + slots: + - name: pocket1 + slotTexture: pocket + fullTextureName: template_small + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 0,3 + strippingWindowPos: 0,4 + displayName: Pocket 1 + stripHidden: true + + - name: pocket2 + slotTexture: pocket + fullTextureName: template_small + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 2,3 + strippingWindowPos: 1,4 + displayName: Pocket 2 + stripHidden: true + + - name: id + slotTexture: id + fullTextureName: template_small + slotFlags: IDCARD + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 2,1 + strippingWindowPos: 2,4 + displayName: ID + + - name: belt + slotTexture: belt + fullTextureName: template_small + slotFlags: BELT + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,1 + strippingWindowPos: 1,5 + displayName: Belt + + - name: back + slotTexture: back + fullTextureName: template_small + slotFlags: BACK + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,0 + strippingWindowPos: 0,5 + displayName: Back diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml new file mode 100644 index 00000000000..18b9abe1bbc --- /dev/null +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml @@ -0,0 +1,44 @@ +# Tier 1 +- type: startingGear + id: MobHumanoidMercenaryGearTier1Pistol + equipment: + back: ClothingBackpackDuffelMecranaryTier1Pistol + belt: ClothingBeltWebbingMecranaryTier1Pistol + +- type: startingGear + id: MobHumanoidMercenaryGearTier1Mosin + equipment: + back: ClothingBackpackDuffelMecranaryTier1Mosin + belt: ClothingBeltWebbingMecranaryTier1Mosin + +- type: startingGear + id: MobHumanoidMercenaryGearTier1Knife + equipment: + pocket1: SpaceCash500 + pocket2: HydroponicsToolHatchet + +# Tier 2 +- type: startingGear + id: MobHumanoidMercenaryGearTier2Shotgun + equipment: + back: ClothingBackpackDuffelMecranaryTier2Shotgun + belt: ClothingBeltWebbingMecranaryTier2Shotgun + +- type: startingGear + id: MobHumanoidMercenaryGearTier2Revolver + equipment: + back: ClothingBackpackDuffelMecranaryTier2Revolver + belt: ClothingBeltWebbingMecranaryTier2Revolver + +- type: startingGear + id: MobHumanoidMercenaryGearTier2Machete + equipment: + pocket1: Machete + pocket2: SpaceCash1000 + +# Tier 3 +# Tier 4 +- type: startingGear + id: MobHumanoidMercenaryGearTier4Captain + equipment: + back: ClothingBackpackDuffelMecranaryTier4Captain diff --git a/Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/human.png b/Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/human.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d51995864c6d369d6546fe1b609a19e4d62b1e GIT binary patch literal 932 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`0_2Ka=yewtzW|J2lf$NG$CGW^Uqz;_-W5-M8(9-}l!2 zI@J2-NcWHZjo)^Z{5sVBafaES{dIqKm;XB0`h9c8uS0FWk97Uq*YI^s%hmQeG^H_`W&o*Ott?U3$-!C45|E`DJAo(B{=&ISqi6dP$I9@PDEJLvz^l zn?Nm`1s;*b3=DjSL74G){)!X^2Bua|7srqY_q)?xhea6*w5mTaOjy5d>)LHw8czJS zPx?NuXO2&v&a{68rHfT8t$!NrEPC?8X|H9&i5U^U_vt9M2rhiMTj{T$qu2&<*ZI?e zGWH)??ma>K?SoV0S(>WB7yQKw_AXern?c}_R@rUogWL7h3um#teYjry^`Z0KLdzr` zUzyLmlk;`K<8UMG0$u^eeYaUS-`_j@=flOH#dd2GgSsdD@&7fqJX^E2%ujJG=d*gf zzdQH4nV)n#4{=$? zcp&&g{Q~yq@mxP{vS&QuydZOEFT;lquNfJ3<}(_UG5l!X=^zsK;`8>LEzP_|o9mep zn9m7bk&aqs@5Hbw$K~I-e{&w5@JRU4TiyAuxMk=3>rZS7%&)ASTo7Tn=h2QThG*@` z8;dkKqkr5sbWlHhYAJ`sscXNdGfMsY&pIKv)okJ0^ObuqZgG097 zuyQ)GW4qB)h7XqAwG6&r3>XRo45M}m#V=6%Q}u;WI6ZR@*NP&wCSzv__X!OBVe7tB zuqmi)@QPEsJg;I~d9Th=jss3EmN%N6*!7fG^)OUP{1Uv-!`xtS!Z=!zx#al8tIu|q z{cqS^<(#W_EhTxaj$Q`UN5(Z_gs-{v;Y_S&CJ;jR~Mvv{)qZ9Vt( xSA+PugTmjV%-O!kAG$2CK#CzGY*F9wdbXoiCme6CodHax44$rjF6*2UngEMj%yIw# literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/icon.png b/Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..39d9a69915014156aaf0d6de2126f433af24277f GIT binary patch literal 486 zcmV@P)>NoU180lZ+1G*u(QdXu;L>X~}BB6vXy$A;y z&JIykDQ^LrcO8sU$v_(3F8dx)EWTr@%W})Y2FmZy5-TVx_^4XVY`8=zEJoNaJ&Fzy0j`rtHL1? z1l!=o1W04b0D&?9n71U`__X@#nveX+@m|T;hy=^9t@X~qghXc-)Pr|bIz2aONp>45 z86S1e<-1PuXMEUhpk&N-37|s)`uZYUVV_9=z%UeWyg<`^r`9-ZH=2zbPFYg0GO*92 z=BOV0bUa=p10uqK@k-b?Si9jc6v!j6iYkw0)i4xn0;~);UVt{IMYd|pQH``cvm&rl zYmEE}+H`fpX=9G;951+>z<7}i%5jnl<5*B c*U<^S0a7d0V2~Fu%m4rY07*qoM6N<$f+Z>5NdN!< literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/meta.json b/Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/meta.json new file mode 100644 index 00000000000..29ba047ea09 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Species/Templates/human.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/tgstation/tgstation/blob/8024397cc81c5f47f74cf4279e35728487d0a1a7/icons/mob/human_parts_greyscale.dmi and modified by DrSmugleaf", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "human", + "directions": 4 + }, + { + "name": "icon" + } + ] +} \ No newline at end of file From f7e41614aad5fb387b6b8c60eb7556ef6f3e9169 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 04:45:08 +0300 Subject: [PATCH 24/73] merc fix --- .../_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml index 9c478de745d..0e230dc5588 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml @@ -105,7 +105,7 @@ prob: 0.65 - id: SpaceCash1000 prob: 0.45 - - id: WeaponSniperMosinExpedition + - id: WeaponSniperMosin prob: 0.9 - id: ClothingOuterVestWebMercenary prob: 0.4 @@ -140,7 +140,7 @@ prob: 0.65 - id: SpaceCash1000 prob: 0.45 - - id: WeaponShotgunDoubleBarreledExpedition + - id: WeaponShotgunDoubleBarreled prob: 0.9 - id: ClothingOuterArmorBasicSlim prob: 0.4 From ee3bcb3a8dd1f2c8ac2238514c7fb02bc22ea6b5 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 09:51:21 +0300 Subject: [PATCH 25/73] mercenary mob spawners, renamed some files --- .../Procedural/salvage_factions.yml | 36 ++++----- ...ultmobs.yml => mobs_hostile_bloodcult.yml} | 0 ...bs.yml => mobs_hostile_aberrant_flesh.yml} | 0 ...yte_mobs.yml => mobs_hostile_argocyte.yml} | 0 ...rs_mobs.yml => mobs_hostile_dinosaurs.yml} | 0 .../Random/mobs_hostile_mercenaries.yml | 75 +++++++++++++++++++ ...atemobs.yml => mobs_hostile_syndicate.yml} | 74 +++++++++++------- ....yml => mobs_hostile_wizardfederation.yml} | 0 .../_NF/Entities/Mobs/NPCs/mercenaries.yml | 2 +- 9 files changed, 140 insertions(+), 47 deletions(-) rename Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/{bloodcultmobs.yml => mobs_hostile_bloodcult.yml} (100%) rename Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/{aberrant_flesh_mobs.yml => mobs_hostile_aberrant_flesh.yml} (100%) rename Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/{argocyte_mobs.yml => mobs_hostile_argocyte.yml} (100%) rename Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/{dinosaurs_mobs.yml => mobs_hostile_dinosaurs.yml} (100%) create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml rename Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/{syndicatemobs.yml => mobs_hostile_syndicate.yml} (90%) rename Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/{wizardfederationmobs.yml => mobs_hostile_wizardfederation.yml} (100%) diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 7b1d571e347..a283d2a6be5 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -289,43 +289,39 @@ - type: salvageFaction id: Mercenaries - cost: 5 + cost: 6 groups: - entries: - - id: MobMercenarySoldierMosin - amount: 2 - maxAmount: 3 - - id: MobMercenarySoldierKnife - amount: 1 - - entries: - - id: MobMercenarySoldierPistol + - id: SpawnMobMercenaryT1 amount: 1 maxAmount: 2 - prob: 0.5 - entries: - - id: MobMercenaryBreacherShotgun + - id: SpawnMobMercenaryT1 + amount: 2 + maxAmount: 4 + prob: 0.75 + - entries: + - id: SpawnMobMercenaryT2 amount: 1 maxAmount: 2 - prob: 0.25 + prob: 0.5 - entries: - - id: MobMercenarySoldierRevolver - amount: 1 - - id: MobMercenaryBreacherMachete - amount: 1 + - id: SpawnMobMercenaryT2 + amount: 2 + maxAmount: 3 prob: 0.25 - entries: - - id: MobMercenarySoldierPistol + - id: SpawnMobMercenaryT1 amount: 1 prob: 0.25 - entries: - - id: MobMercenaryBreacherShotgun + - id: SpawnMobMercenaryT2 amount: 1 prob: 0.1 - entries: - id: MobMercenarySoldierMosin - amount: 1 - - id: MobMercenarySoldierMosin - amount: 1 + amount: 2 + maxAmount: 4 prob: 0.05 configs: DefenseStructure: CybersunDataMiner diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/bloodcultmobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/mobs_hostile_bloodcult.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/bloodcultmobs.yml rename to Resources/Prototypes/_NF/Entities/Markers/Spawners/Conditional/mobs_hostile_bloodcult.yml diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/aberrant_flesh_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_aberrant_flesh.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/aberrant_flesh_mobs.yml rename to Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_aberrant_flesh.yml diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_argocyte.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/argocyte_mobs.yml rename to Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_argocyte.yml diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dinosaurs_mobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dinosaurs_mobs.yml rename to Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml new file mode 100644 index 00000000000..fb8b2bf0131 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml @@ -0,0 +1,75 @@ +- type: entity + name: mercenary soldier spawner + id: SpawnMobMercenaryT1 + parent: MarkerBase + suffix: AI, Hostile, T1 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#404029" + - sprite: Clothing/Shoes/Boots/mercboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/mercbattle.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/merc.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/merc_helmet.rsi + state: equipped-HELMET + - sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi + state: wielded-inhand-right + - type: RandomSpawner + prototypes: + - MobMercenarySoldierKnife + - MobMercenarySoldierPistol + - MobMercenarySoldierMosin + chance: 1 + offset: 0.0 + rarePrototypes: + - SpawnMobMercenaryT2 + rareChance: 0.05 + +- type: entity + name: mercenary breacher spawner + id: SpawnMobMercenaryT2 + parent: MarkerBase + suffix: AI, Hostile, T2 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#3d5c87" + - sprite: Clothing/Shoes/Boots/combatboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Armor/security_slim.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/gas.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/security.rsi + state: equipped-HELMET + - sprite: Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi + state: wielded-inhand-right + - type: RandomSpawner + prototypes: + - MobMercenaryBreacherShotgun + - MobMercenarySoldierRevolver + - MobMercenaryBreacherMachete + chance: 1 + offset: 0.0 + #rarePrototypes: + #- MobSyndicateNavalCaptainA + #rareChance: 0.05 diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/syndicatemobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_syndicate.yml similarity index 90% rename from Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/syndicatemobs.yml rename to Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_syndicate.yml index 714667eac68..e6bbac8b1e6 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/syndicatemobs.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_syndicate.yml @@ -8,8 +8,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Hats/syndiecap_maa.rsi state: equipped-HELMET - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi @@ -27,6 +27,8 @@ - MobSyndicateNavalCaptainB - MobSyndicateNavalCaptainC - MobSyndicateNavalCaptainD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalCaptainA rareChance: 0.1 @@ -41,8 +43,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Hats/syndiecap.rsi state: equipped-HELMET - sprite: Clothing/Uniforms/Jumpsuit/repairman_syndie.rsi @@ -58,6 +60,8 @@ - MobSyndicateNavalEngineerB - MobSyndicateNavalEngineerC - MobSyndicateNavalEngineerD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalEngineerA rareChance: 0.1 @@ -72,8 +76,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Hats/syndiecap.rsi state: equipped-HELMET - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi @@ -91,6 +95,8 @@ - MobSyndicateNavalMedicB - MobSyndicateNavalMedicC - MobSyndicateNavalMedicD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalMedicA rareChance: 0.1 @@ -105,8 +111,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Hats/syndiecap.rsi state: equipped-HELMET - sprite: Clothing/Uniforms/Jumpsuit/recruit_syndie.rsi @@ -124,6 +130,8 @@ - MobSyndicateNavalSecondOfficerB - MobSyndicateNavalSecondOfficerC - MobSyndicateNavalSecondOfficerD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalSecondOfficerA rareChance: 0.1 @@ -138,8 +146,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Helmets/swat_syndicate.rsi state: equipped-HELMET - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi @@ -157,6 +165,8 @@ - MobSyndicateNavalOperatorB - MobSyndicateNavalOperatorC - MobSyndicateNavalOperatorD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalOperatorA rareChance: 0.1 @@ -171,8 +181,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi state: equipped-INNERCLOTHING - sprite: Clothing/Shoes/Boots/jackboots.rsi @@ -188,6 +198,8 @@ - MobSyndicateNavalGrenadierB - MobSyndicateNavalGrenadierC - MobSyndicateNavalGrenadierD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalGrenadierA rareChance: 0.1 @@ -202,8 +214,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Hats/syndiecap.rsi state: equipped-HELMET - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi @@ -221,6 +233,8 @@ - MobSyndicateNavalSaboteurB - MobSyndicateNavalSaboteurC - MobSyndicateNavalSaboteurD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalSaboteurA rareChance: 0.1 @@ -235,8 +249,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/OuterClothing/Misc/hospitalgown.rsi state: equipped-OUTERCLOTHING - sprite: Objects/Weapons/Melee/shiv.rsi @@ -255,8 +269,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Hardsuits/syndicate.rsi state: combat-equipped-HELMET - sprite: Clothing/OuterClothing/Hardsuits/syndicate.rsi @@ -270,6 +284,8 @@ - MobSyndicateNavalCommanderB - MobSyndicateNavalCommanderC - MobSyndicateNavalCommanderD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalCommanderA rareChance: 0.1 @@ -284,8 +300,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Head/Hats/syndiecap.rsi state: equipped-HELMET - sprite: Clothing/Uniforms/Jumpsuit/recruit_syndie.rsi @@ -299,6 +315,8 @@ - MobSyndicateNavalDeckhandB - MobSyndicateNavalDeckhandC - MobSyndicateNavalDeckhandD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalDeckhandA rareChance: 0.1 @@ -328,8 +346,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Uniforms/Jumpsuit/mime.rsi state: equipped-INNERCLOTHING - sprite: Clothing/Shoes/Boots/jackboots.rsi @@ -354,8 +372,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi state: equipped-INNERCLOTHING - sprite: Clothing/Shoes/Boots/jackboots.rsi @@ -373,6 +391,8 @@ - MobSyndicateNavalChemwarriorB - MobSyndicateNavalChemwarriorC - MobSyndicateNavalChemwarriorD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalChemwarriorA rareChance: 0.1 @@ -387,8 +407,8 @@ layers: - state: red - state: ai - - sprite: Mobs/Species/Human/parts.rsi - state: full + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi state: equipped-INNERCLOTHING - sprite: Clothing/Shoes/Boots/jackboots.rsi @@ -409,6 +429,8 @@ - MobSyndicateNavalChemwarriorB - MobSyndicateNavalChemwarriorC - MobSyndicateNavalChemwarriorD + chance: 1 + offset: 0.0 rarePrototypes: - MobSyndicateNavalMime - MobSyndicateNavalChemwarriorA diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/wizardfederationmobs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_wizardfederation.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/wizardfederationmobs.yml rename to Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_wizardfederation.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml index 60738202ea3..37e7d0f7c8a 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml @@ -68,7 +68,7 @@ state: human - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING - color: "#404029" + color: "#d3bf86" #"#404029" - sprite: Clothing/Shoes/Boots/mercboots.rsi state: equipped-FEET - sprite: Clothing/Hands/Gloves/mercbattle.rsi From 369655c7223906cec9bd6448bbbf28ac45cb55ef Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 11:25:21 +0300 Subject: [PATCH 26/73] more hostile mercs, clean up --- .../Procedural/salvage_factions.yml | 6 +- .../Fills/Backpacks/npc_loot_mercenaries.yml | 24 +++++++ .../Random/mobs_hostile_mercenaries.yml | 44 ++++++++++++- .../_NF/Entities/Mobs/NPCs/mercenaries.yml | 63 ++++++++++++++----- .../_NF/Entities/Mobs/NPCs/syndicatemob.yml | 56 ++++------------- .../_NF/Roles/Jobs/Hostile/mercenaries.yml | 6 ++ 6 files changed, 138 insertions(+), 61 deletions(-) diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index a283d2a6be5..935b0c452d2 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -313,10 +313,14 @@ - entries: - id: SpawnMobMercenaryT1 amount: 1 - prob: 0.25 + prob: 0.3 - entries: - id: SpawnMobMercenaryT2 amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobMercenaryT3 + amount: 1 prob: 0.1 - entries: - id: MobMercenarySoldierMosin diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml index 0e230dc5588..390e0f73e91 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml @@ -209,6 +209,30 @@ path: /Audio/Items/jumpsuit_equip.ogg ## TIER 3 +- type: entity + parent: MercenaryDuffelGiftBox + id: ClothingBackpackDuffelMecranaryTier3Medic + noSpawn: true + components: + - type: Sprite + sprite: Clothing/Back/Duffels/medical.rsi + state: icon + - type: SpawnItemsOnUse + items: + - id: SpaceCash1000 + prob: 0.9 + - id: SpaceCash1000 + prob: 0.65 + - id: SpaceCash1000 + prob: 0.45 + - id: SpawnDungeonLootKitsFirstAid + prob: 0.45 + - id: WeaponLaserGun + prob: 0.9 + - id: SawElectric + prob: 0.7 + sound: + path: /Audio/Items/jumpsuit_equip.ogg ## TIER 4 - type: entity diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml index fb8b2bf0131..66fc368e777 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml @@ -70,6 +70,44 @@ - MobMercenaryBreacherMachete chance: 1 offset: 0.0 - #rarePrototypes: - #- MobSyndicateNavalCaptainA - #rareChance: 0.05 + rarePrototypes: + - SpawnMobMercenaryT3 + rareChance: 0.1 + +- type: entity + name: mercenary specialist spawner + id: SpawnMobMercenaryT3 + parent: MarkerBase + suffix: AI, Hostile, T3 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#2e687a" + - sprite: Clothing/Shoes/Boots/combatboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Armor/security_slim.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/medicalsecurity.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/light_riot.rsi + state: equipped-HELMET + - sprite: Objects/Specific/Medical/Surgery/saw.rsi + state: electric-inhand-right + - sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi + state: inhand-right-3 + - type: RandomSpawner + prototypes: + - MobMercenarySpecialistMedic + chance: 1 + offset: 0.0 + rarePrototypes: + - MobMercenarySpecialistMedic + rareChance: 0.05 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml index 37e7d0f7c8a..d39ac6f5036 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml @@ -83,17 +83,6 @@ state: inhand-right - sprite: Objects/Weapons/Melee/shields.rsi state: buckler-inhand-left - - type: BasicEntityAmmoProvider - proto: BulletPistol - capacity: 4 - count: 4 - - type: Gun - showExamineText: false - fireRate: 0.5 - selectedMode: FullAuto - availableModes: - - FullAuto - soundGunshot: /Audio/Weapons/Guns/Gunshots/pistol.ogg - type: entity name: mercenary soldier @@ -111,7 +100,7 @@ state: human - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING - color: "#404029" + color: "#d3bf86" - sprite: Clothing/Shoes/Boots/mercboots.rsi state: equipped-FEET - sprite: Clothing/Hands/Gloves/mercbattle.rsi @@ -152,7 +141,7 @@ state: human - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING - color: "#404029" + color: "#d3bf86" - sprite: Clothing/Shoes/Boots/mercboots.rsi state: equipped-FEET - sprite: Clothing/Hands/Gloves/mercbattle.rsi @@ -303,7 +292,53 @@ state: metal-inhand-left ## Tier 3 - +- type: entity + name: mercenary specialist + parent: MobMercenaryBase + id: MobMercenarySpecialistMedic + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidMercenaryGearTier3Medic + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/color.rsi + state: equipped-INNERCLOTHING + color: "#2e687a" + - sprite: Clothing/Shoes/Boots/combatboots.rsi + state: equipped-FEET + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Clothing/OuterClothing/Armor/security_slim.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/medicalsecurity.rsi + state: equipped-MASK + - sprite: Clothing/Head/Helmets/light_riot.rsi + state: equipped-HELMET + - sprite: Objects/Specific/Medical/Surgery/saw.rsi + state: electric-inhand-right + - sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi + state: inhand-right-3 + - type: HitscanBatteryAmmoProvider + proto: RedLaser + fireCost: 100 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 50 + - type: Battery + maxCharge: 600 + startingCharge: 600 + - type: Gun + showExamineText: false + fireRate: 1 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg ## Tier 4 - Boss - type: entity diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml index 79c955048b5..c04307da27d 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml @@ -1,5 +1,5 @@ - type: entity - name: Syndicate Naval Agent + name: syndicate naval agent abstract: true noSpawn: true parent: MobHumanoidHostileBase @@ -33,7 +33,7 @@ # Humans # Syndicate Captain, "armed" with AP Python - type: entity - name: Syndicate Captain + name: syndicate captain parent: MobSyndicateNavalBase id: MobSyndicateNavalCaptainA noSpawn: true @@ -58,7 +58,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/revolver.ogg - type: entity - name: Syndicate Captain parent: MobSyndicateNavalCaptainA id: MobSyndicateNavalCaptainB noSpawn: true @@ -72,7 +71,6 @@ count: 1 - type: entity - name: Syndicate Captain parent: MobSyndicateNavalCaptainA id: MobSyndicateNavalCaptainC noSpawn: true @@ -86,7 +84,6 @@ count: 1 - type: entity - name: Syndicate Captain parent: MobSyndicateNavalCaptainA id: MobSyndicateNavalCaptainD noSpawn: true @@ -101,7 +98,7 @@ # Syndicate Engineer, "armed" with shotgun - type: entity - name: Syndicate Engineer + name: syndicate engineer parent: MobSyndicateNavalBase id: MobSyndicateNavalEngineerA noSpawn: true @@ -126,7 +123,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/shotgun.ogg - type: entity - name: Syndicate Engineer parent: MobSyndicateNavalEngineerA id: MobSyndicateNavalEngineerB noSpawn: true @@ -140,7 +136,6 @@ count: 1 - type: entity - name: Syndicate Engineer parent: MobSyndicateNavalEngineerB id: MobSyndicateNavalEngineerC noSpawn: true @@ -150,7 +145,6 @@ - SyndicateNavalEngineerGearC - type: entity - name: Syndicate Engineer parent: MobSyndicateNavalEngineerB id: MobSyndicateNavalEngineerD noSpawn: true @@ -166,7 +160,7 @@ # Syndicate "Medic", throws poisoned darts laced with 2u of Impedrezene (hallucinogenic, deals minor poison damage, makes you barf and slows you down) # Look for darts here: \Resources\Prototypes\_NF\Entities\Objects\Weapons\Throwable\throwable_weapons.yml - type: entity - name: Syndicate Medic + name: syndicate medic parent: MobSyndicateNavalBase id: MobSyndicateNavalMedicA noSpawn: true @@ -192,7 +186,6 @@ collection: BulletMiss - type: entity - name: Syndicate Medic parent: MobSyndicateNavalMedicA id: MobSyndicateNavalMedicB noSpawn: true @@ -202,7 +195,6 @@ - SyndicateNavalMedicGearB - type: entity - name: Syndicate Medic parent: MobSyndicateNavalMedicA id: MobSyndicateNavalMedicC noSpawn: true @@ -216,7 +208,6 @@ count: 1 - type: entity - name: Syndicate Medic parent: MobSyndicateNavalMedicA id: MobSyndicateNavalMedicD noSpawn: true @@ -231,7 +222,7 @@ # Second Officer, "armed" with Advanced Laser Pistol - type: entity - name: Syndicate Second Officer + name: syndicate second officer parent: MobSyndicateNavalBase id: MobSyndicateNavalSecondOfficerA noSpawn: true @@ -257,7 +248,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/laser_cannon.ogg - type: entity - name: Syndicate Second Officer parent: MobSyndicateNavalSecondOfficerA id: MobSyndicateNavalSecondOfficerB noSpawn: true @@ -267,7 +257,6 @@ - SyndicateNavalSecondOfficerGearB - type: entity - name: Syndicate Second Officer parent: MobSyndicateNavalSecondOfficerA id: MobSyndicateNavalSecondOfficerC noSpawn: true @@ -277,7 +266,6 @@ - SyndicateNavalSecondOfficerGearC - type: entity - name: Syndicate Second Officer parent: MobSyndicateNavalSecondOfficerA id: MobSyndicateNavalSecondOfficerD noSpawn: true @@ -291,7 +279,7 @@ # Syndicate Security Operative, "armed" with Atreides SMG - type: entity - name: Syndicate Operative + name: syndicate operative parent: MobSyndicateNavalBase id: MobSyndicateNavalOperatorA noSpawn: true @@ -320,7 +308,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/smg.ogg - type: entity - name: Syndicate Operative parent: MobSyndicateNavalOperatorA id: MobSyndicateNavalOperatorB noSpawn: true @@ -330,7 +317,6 @@ - SyndicateNavalOperatorGearB - type: entity - name: Syndicate Operative parent: MobSyndicateNavalOperatorA id: MobSyndicateNavalOperatorC noSpawn: true @@ -340,7 +326,6 @@ - SyndicateNavalOperatorGearC - type: entity - name: Syndicate Operative parent: MobSyndicateNavalOperatorA id: MobSyndicateNavalOperatorD noSpawn: true @@ -351,7 +336,7 @@ # Syndicate Grenadier, "armed" with china lake - type: entity - name: Syndicate Grenadier + name: syndicate grenadier parent: MobSyndicateNavalBase id: MobSyndicateNavalGrenadierA noSpawn: true @@ -379,7 +364,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/grenade_launcher.ogg - type: entity - name: Syndicate Grenadier parent: MobSyndicateNavalGrenadierA id: MobSyndicateNavalGrenadierB noSpawn: true @@ -393,7 +377,6 @@ count: 1 - type: entity - name: Syndicate Grenadier parent: MobSyndicateNavalGrenadierA id: MobSyndicateNavalGrenadierC noSpawn: true @@ -407,7 +390,6 @@ count: 1 - type: entity - name: Syndicate Grenadier parent: MobSyndicateNavalGrenadierA id: MobSyndicateNavalGrenadierD noSpawn: true @@ -422,7 +404,7 @@ # Syndicate Saboteur, "armed" with EMP Viper - type: entity - name: Syndicate Saboteur + name: syndicate saboteur parent: MobSyndicateNavalBase id: MobSyndicateNavalSaboteurA noSpawn: true @@ -447,7 +429,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/pistol.ogg - type: entity - name: Syndicate Saboteur parent: MobSyndicateNavalSaboteurA id: MobSyndicateNavalSaboteurB noSpawn: true @@ -457,7 +438,6 @@ - SyndicateNavalSaboteurGearB - type: entity - name: Syndicate Saboteur parent: MobSyndicateNavalSaboteurA id: MobSyndicateNavalSaboteurC noSpawn: true @@ -467,7 +447,6 @@ - SyndicateNavalSaboteurGearC - type: entity - name: Syndicate Saboteur parent: MobSyndicateNavalSaboteurA id: MobSyndicateNavalSaboteurD noSpawn: true @@ -478,7 +457,7 @@ # Hostile Victim of Experimentation, "armed" with shiv - type: entity - name: Captive + name: captive parent: MobHumanoidHostileBase id: MobExperimentationVictim noSpawn: true @@ -499,7 +478,7 @@ # Syndicate Commander, "armed" with AK - type: entity - name: Syndicate Commander # Mega Fauna for Dungeons + name: syndicate commander # Mega Fauna for Dungeons parent: MobSyndicateNavalBase id: MobSyndicateNavalCommanderA noSpawn: true @@ -530,7 +509,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/rifle2.ogg - type: entity - name: Syndicate Commander parent: MobSyndicateNavalCommanderA id: MobSyndicateNavalCommanderB noSpawn: true @@ -551,7 +529,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/ltrifle.ogg - type: entity - name: Syndicate Commander parent: MobSyndicateNavalCommanderB id: MobSyndicateNavalCommanderC noSpawn: true @@ -561,7 +538,6 @@ - SyndicateNavalCommanderGearC - type: entity - name: Syndicate Commander parent: MobSyndicateNavalCommanderB id: MobSyndicateNavalCommanderD noSpawn: true @@ -572,7 +548,7 @@ # Syndicate Deckhand, "armed" with Viper - type: entity - name: Syndicate Deckhand + name: syndicate deckhand parent: MobSyndicateNavalBase id: MobSyndicateNavalDeckhandA noSpawn: true @@ -597,7 +573,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/pistol.ogg - type: entity - name: Syndicate Deckhand parent: MobSyndicateNavalDeckhandA id: MobSyndicateNavalDeckhandB noSpawn: true @@ -607,7 +582,6 @@ - SyndicateNavalDeckhandGearB - type: entity - name: Syndicate Deckhand parent: MobSyndicateNavalDeckhandA id: MobSyndicateNavalDeckhandC noSpawn: true @@ -617,7 +591,6 @@ - SyndicateNavalDeckhandGearC - type: entity - name: Syndicate Deckhand parent: MobSyndicateNavalDeckhandA id: MobSyndicateNavalDeckhandD noSpawn: true @@ -628,7 +601,7 @@ # Syndicate Mime, melee, "armed" with chainsaw - type: entity - name: Syndicate Mime + name: syndicate mime parent: MobSyndicateNavalBase id: MobSyndicateNavalMime noSpawn: true @@ -650,7 +623,7 @@ # Syndicate Chemwarrior, shoots healthy mixes of chems # Look for chems here: \Resources\Prototypes\_NF\Entities\Objects\Weapons\Ammunition\Projectiles\chem.yml - type: entity - name: Syndicate ChemwarriorA + name: syndicate chemwarrior parent: MobSyndicateNavalBase id: MobSyndicateNavalChemwarriorA noSpawn: true @@ -675,7 +648,6 @@ soundGunshot: /Audio/Weapons/Guns/Gunshots/water_spray.ogg - type: entity - name: Syndicate ChemwarriorB parent: MobSyndicateNavalChemwarriorA id: MobSyndicateNavalChemwarriorB noSpawn: true @@ -689,7 +661,6 @@ count: 1 - type: entity - name: Syndicate ChemwarriorC parent: MobSyndicateNavalChemwarriorA id: MobSyndicateNavalChemwarriorC noSpawn: true @@ -703,7 +674,6 @@ count: 1 - type: entity - name: Syndicate ChemwarriorD parent: MobSyndicateNavalChemwarriorA id: MobSyndicateNavalChemwarriorD noSpawn: true diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml index 18b9abe1bbc..7ac2455a291 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml @@ -37,6 +37,12 @@ pocket2: SpaceCash1000 # Tier 3 +- type: startingGear + id: MobHumanoidMercenaryGearTier3Medic + equipment: + back: ClothingBackpackDuffelMecranaryTier3Medic + belt: ClothingBeltMedicalFilled + # Tier 4 - type: startingGear id: MobHumanoidMercenaryGearTier4Captain From f719d419c4e36bf76d483cda7bf53be570e02d80 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 11:34:51 +0300 Subject: [PATCH 27/73] renamed files --- ...base_mob_hostile.yml => mob_hostile_base.yml} | 0 ...ltistmob.yml => mob_hostile_bloodcultist.yml} | 0 ...> mob_hostile_expeditions_aberrant_flesh.yml} | 0 ....yml => mob_hostile_expeditions_argocyte.yml} | 0 ...carp.yml => mob_hostile_expeditions_carp.yml} | 0 ...yml => mob_hostile_expeditions_dinosaurs.yml} | 0 ...xeno.yml => mob_hostile_expeditions_xeno.yml} | 0 ...rcenaries.yml => mob_hostile_mercenaries.yml} | 16 ++++++++-------- ...yndicatemob.yml => mob_hostile_syndicate.yml} | 0 ...nmob.yml => mob_hostile_wizardfederation.yml} | 0 10 files changed, 8 insertions(+), 8 deletions(-) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{base_mob_hostile.yml => mob_hostile_base.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{bloodcultistmob.yml => mob_hostile_bloodcultist.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{expeditions_aberrant_flesh.yml => mob_hostile_expeditions_aberrant_flesh.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{expeditions_argocyte.yml => mob_hostile_expeditions_argocyte.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{expeditions_carp.yml => mob_hostile_expeditions_carp.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{expeditions_dinosaurs.yml => mob_hostile_expeditions_dinosaurs.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{expeditions_xeno.yml => mob_hostile_expeditions_xeno.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{mercenaries.yml => mob_hostile_mercenaries.yml} (98%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{syndicatemob.yml => mob_hostile_syndicate.yml} (100%) rename Resources/Prototypes/_NF/Entities/Mobs/NPCs/{wizardfederationmob.yml => mob_hostile_wizardfederation.yml} (100%) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/base_mob_hostile.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/bloodcultistmob.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_aberrant_flesh.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_argocyte.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_argocyte.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_carp.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_carp.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_dinosaurs.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_xeno.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/expeditions_xeno.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_xeno.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml similarity index 98% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index d39ac6f5036..6e153bc4f6f 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -56,7 +56,7 @@ name: mercenary soldier parent: MobMercenaryBase id: MobMercenarySoldierKnife - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -88,7 +88,7 @@ name: mercenary soldier parent: MobMercenaryBase id: MobMercenarySoldierPistol - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -129,7 +129,7 @@ name: mercenary soldier parent: MobMercenaryBase id: MobMercenarySoldierMosin - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -171,7 +171,7 @@ name: mercenary breacher parent: MobMercenaryBase id: MobMercenaryBreacherShotgun - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -216,7 +216,7 @@ name: mercenary breacher parent: MobMercenaryBase id: MobMercenarySoldierRevolver - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -261,7 +261,7 @@ name: mercenary breacher parent: MobMercenaryBase id: MobMercenaryBreacherMachete - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -296,7 +296,7 @@ name: mercenary specialist parent: MobMercenaryBase id: MobMercenarySpecialistMedic - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -345,7 +345,7 @@ name: mercenary captain parent: MobMercenaryBase id: MobMercenaryCaptain - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/syndicatemob.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml similarity index 100% rename from Resources/Prototypes/_NF/Entities/Mobs/NPCs/wizardfederationmob.yml rename to Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml From 65c447c80dc548adeb5b79a809a9436e5a9609ee Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 12:51:23 +0300 Subject: [PATCH 28/73] iff strobe gear --- .../Fills/Backpacks/npc_loot_mercenaries.yml | 12 +++ .../_NF/Entities/Clothing/Neck/misc.yml | 80 ++++++++++++++++++ .../Mobs/NPCs/mob_hostile_mercenaries.yml | 50 ++++++++++- .../mercenary_iff.rsi/equipped-NECK-off.png | Bin 0 -> 714 bytes .../mercenary_iff.rsi/equipped-NECK-on.png | Bin 0 -> 638 bytes .../Neck/Misc/mercenary_iff.rsi/icon-off.png | Bin 0 -> 805 bytes .../Neck/Misc/mercenary_iff.rsi/icon-on.png | Bin 0 -> 572 bytes .../Neck/Misc/mercenary_iff.rsi/meta.json | 36 ++++++++ 8 files changed, 177 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-off.png create mode 100644 Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-on.png create mode 100644 Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/icon-off.png create mode 100644 Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/icon-on.png create mode 100644 Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/meta.json diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml index 390e0f73e91..17ff9e39d75 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml @@ -68,6 +68,8 @@ prob: 0.9 - id: ClothingOuterVestWebMercenary prob: 0.4 + - id: ClothingNeckIFFNeutral + prob: 0.2 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -109,6 +111,8 @@ prob: 0.9 - id: ClothingOuterVestWebMercenary prob: 0.4 + - id: ClothingNeckIFFNeutral + prob: 0.2 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -144,6 +148,8 @@ prob: 0.9 - id: ClothingOuterArmorBasicSlim prob: 0.4 + - id: ClothingNeckIFFNeutral + prob: 0.2 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -182,6 +188,8 @@ prob: 0.4 - id: ClothingHeadHatBH prob: 0.4 + - id: ClothingNeckIFFNeutral + prob: 0.2 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -231,6 +239,8 @@ prob: 0.9 - id: SawElectric prob: 0.7 + - id: ClothingNeckIFFNeutral + prob: 0.2 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -289,6 +299,8 @@ prob: 0.9 - id: MagazineBoxMagnum prob: 0.4 + - id: ClothingNeckIFFNeutral + prob: 0.2 - id: MagazineBoxMagnum prob: 0.2 - id: AmmoTechFabCircuitboard diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml index ae5edda9e70..909d4a267d7 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml @@ -60,3 +60,83 @@ - type: Tag tags: - ObjectOfSpiritualSignificance + +- type: entity + parent: ClothingNeckBase + id: ClothingNeckIFFNeutral + name: IFF strobe + description: Visible LED IFF kit that consists of helmet and shoulder strobes. + components: + - type: Item + size: Small + - type: Sprite + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: icon-off + - state: icon-on + color: "#a9b6bd" + shader: unshaded + - type: Clothing + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded + +- type: entity + parent: ClothingNeckIFFNeutral + id: ClothingNeckIFFGreen + components: + - type: Sprite + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: icon-off + - state: icon-on + color: "#33cc00" + shader: unshaded + - type: Clothing + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#33cc00" + shader: unshaded + +- type: entity + parent: ClothingNeckIFFNeutral + id: ClothingNeckIFFRed + components: + - type: Sprite + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: icon-off + - state: icon-on + color: "#990000" + shader: unshaded + - type: Clothing + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#990000" + shader: unshaded + +- type: entity + parent: ClothingNeckIFFNeutral + id: ClothingNeckIFFBlue + components: + - type: Sprite + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: icon-off + - state: icon-on + color: "#0055cc" + shader: unshaded + - type: Clothing + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#0055cc" + shader: unshaded diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 6e153bc4f6f..2703f93019f 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -83,6 +83,12 @@ state: inhand-right - sprite: Objects/Weapons/Melee/shields.rsi state: buckler-inhand-left + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: entity name: mercenary soldier @@ -113,6 +119,12 @@ state: equipped-HELMET - sprite: Objects/Weapons/Guns/Pistols/mk58.rsi state: inhand-right + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: BasicEntityAmmoProvider proto: BulletPistol capacity: 4 @@ -154,6 +166,12 @@ state: equipped-HELMET - sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi state: wielded-inhand-right + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: BasicEntityAmmoProvider proto: CartridgeLightRifle capacity: 10 @@ -196,6 +214,12 @@ state: equipped-HELMET - sprite: Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi state: wielded-inhand-right + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: RechargeBasicEntityAmmo rechargeCooldown: 2 rechargeSound: @@ -245,6 +269,12 @@ state: inhand-right - sprite: _NF/Objects/Weapons/Guns/Revolvers/argenti.rsi state: inhand-left + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: BasicEntityAmmoProvider proto: CartridgeRifle capacity: 8 @@ -290,6 +320,12 @@ state: inhand-right - sprite: Objects/Weapons/Melee/shields.rsi state: metal-inhand-left + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded ## Tier 3 - type: entity @@ -322,7 +358,13 @@ - sprite: Objects/Specific/Medical/Surgery/saw.rsi state: electric-inhand-right - sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi - state: inhand-right-3 + state: inhand-left-3 + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: HitscanBatteryAmmoProvider proto: RedLaser fireCost: 100 @@ -374,6 +416,12 @@ state: equipped-NECK - sprite: _NF/Objects/Weapons/Guns/Snipers/repeater.rsi state: wielded-inhand-right + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-off + - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: BasicEntityAmmoProvider proto: CartridgeMagnum capacity: 10 diff --git a/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-off.png b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-off.png new file mode 100644 index 0000000000000000000000000000000000000000..6a074101ab29e4e2e3eadb109a027432d407cefb GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU~J8Fb`J1#c2+1T%1_J8No8Qr zm{>c}*5h!1NUMKvwyTy>nLuGjz+9bX$ zUEz$WDy=`}RGeAB)+xVJZ}*>LJ6~)#V0_q3&D32+O{_atXS<=cq}E4~LYF|(Q{tQS zwC8NMSp8Hh``gKQiBs99GuH+4D)zamOlaYd49!`J;*g%vlyeczaC?#J-oxM1nlKU1v? zK6_TJUFzD`a4+}4qg_i+Rv&oEXYgT(ciR(>I<18P4EN5zm|f)XU-!b^SLfDN_FZOI zaNZoXi;<77@uE`d`pP}KSJ&qKzn6LLJ-hYlqKW*g=3D~C3tN)6y9?KRZxrdSk*Im-&{Q7uB{gOF{%XMf%QYk%Xm-{<%c d;tUKA{Nt+ABE7!~IeY~Pd%F6$taD0e0suVRBgg;% literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-on.png b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-on.png new file mode 100644 index 0000000000000000000000000000000000000000..d4d6dabf0d76447f1445a767f1c471253159ae35 GIT binary patch literal 638 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU~J8Fb`J1#c2+1T%1_J8No8Qr zm{>c}*5h!1NUMKvwyTy>nLuGjz+9bX$ zUEz$WDy=`}RGeAB)+xVJZ}*>LJ6~)#V0_q3&D32+O{_atXS<=cq}E4~LYF|(Q{tQS zwC8NMSp8Hh``gKQiBs99GuH+4D)zamOlaYd49!`J;*g%vlyeczaC?#J-oxM1nlKU1v? zK6_TJUFzD`a4+}4qg_i+Rv&oEXYgT(ciR(>I<18P4EN5zm|f)XU-!b^SLfDN_FZOI zaNZoXi;<77@uE`d`pP}KSJ&qKzn6LLJ-hYlqKW*g=3D~C3tN)6y9r(M?mV*==S!oM!~8U|?7fKIsHMm<1tz-{85y17tQxN7f+;|6B5Y{d=G~ uhyIzKpLOrdlSjxk?ES;HK^(ycvf_5^k1)&iZslVJ346NwxvXEX>4Tx04R}tkv&MmP!xqvQ)@*kB6bjQh)|s@h>AE$6^me@v=v%)FnQ^Z(4-+r zad8w}3l9D)RvlcNb#-tR1i>E=X9p)m7b)?+q|hS92bcG8-aCi;?gNB+nW<*SIG}2l zk&4H}Y;HvizM>NWs$uj=%+wRsRcxRP3sKrNQcR@iJm%pabo@zj$>iDq zBgZ@{P$4;f@IUxHTeC1Z;Usb!z3R@bd5+TuAVafSx&aOj zfzcvmuX((?t9@?&-f7P72Ro~Bkq@ez(f|Me24YJ`L;x-TXaIU~rYN8Q000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~U`2?i%}+#kOH00ALML_t(o!|hc&j)X82b4GK4 zK$GTm6gfajikyMdrO06@-XZ8|(vT};o1GP(VSptw(rR&sh4d`P&kwk8;lh81*z=RM zHjTgAwiUSq-1iKxs%pZ85K`B5Sw!5nekh6p0N}lc_Z~4uD5dZ*2V#r>fTn524tzEP zTI)#$a@oIIz)>6tt$4@qvMeXuFbu0A#Jh)YiMZty5JG^Ia=}X}SA%=c{RGU6x~>=8 zW)C>$5)q}d0+doVUCSC j4I)a;xr7TB{yM$@rVWb2J`H1Y00000NkvXXu0mjf)!bY~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/icon-on.png b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/icon-on.png new file mode 100644 index 0000000000000000000000000000000000000000..675413c6863b63c3cbbd4919e7cbbf66bf21659f GIT binary patch literal 572 zcmV-C0>k}@P)EX>4Tx04R}tkv&MmP!xqvQ)@*kB6bjQh)|s@h>AE$6^me@v=v%)FnQ^Z(4-+r zad8w}3l9D)RvlcNb#-tR1i>E=X9p)m7b)?+q|hS92bcG8-aCi;?gNB+nW<*SIG}2l zk&4H}Y;HvizM>NWs$uj=%+wRsRcxRP3sKrNQcR@iJm%pabo@zj$>iDq zBgZ@{P$4;f@IUxHTeC1Z;Usb!z3R@bd5+TuAVafSx&aOj zfzcvmuX((?t9@?&-f7P72Ro~Bkq@ez(f|Me24YJ`L;x-TXaIU~rYN8Q000SaNLh0L z01FcU01FcV0GgZ_00007bV*G`2j~U`2?zqGTjq8E001~iL_t(|+U?ju5dZ)P0zv!t zA{RC=fU_Hc-!TIK0H?N1QcC~;fCc~n0002~@(lt2fCc~n;DH5$933gue6Xef0000< KMNUMnLSTXqMC1AZ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/meta.json b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/meta.json new file mode 100644 index 00000000000..e77962bb61f --- /dev/null +++ b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/meta.json @@ -0,0 +1,36 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprited by erhardsteinhauer", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "equipped-NECK-off", + "directions": 4 + }, + { + "name": "equipped-NECK-on", + "directions": 4, + "delays": + [ + [ 0.1, 0.1, 0.1, 0.7 ], + [ 0.1, 0.1, 0.1, 0.7 ], + [ 0.1, 0.1, 0.1, 0.7 ], + [ 0.1, 0.1, 0.1, 0.7 ] + ] + }, + { + "name": "icon-off" + }, + { + "name": "icon-on", + "delays": + [ + [ 0.1, 0.1, 0.1, 0.7 ] + ] + } + ] +} \ No newline at end of file From bbe6f6dee541ec2f19b2220cb012ad3448ee57dc Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 13:03:10 +0300 Subject: [PATCH 29/73] fixed iff strobe equipped sprite --- .../_NF/Entities/Clothing/Neck/misc.yml | 48 ++++++++++-------- .../mercenary_iff.rsi/equipped-NECK-off.png | Bin 714 -> 629 bytes .../mercenary_iff.rsi/equipped-NECK-on.png | Bin 638 -> 638 bytes 3 files changed, 28 insertions(+), 20 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml index 909d4a267d7..0cbc568c36d 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml @@ -66,6 +66,7 @@ id: ClothingNeckIFFNeutral name: IFF strobe description: Visible LED IFF kit that consists of helmet and shoulder strobes. + suffix: Neutral components: - type: Item size: Small @@ -78,15 +79,17 @@ shader: unshaded - type: Clothing sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi - layers: - - state: equipped-NECK-off - - state: equipped-NECK-on - color: "#a9b6bd" - shader: unshaded + clothingVisuals: + neck: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#a9b6bd" + shader: unshaded - type: entity parent: ClothingNeckIFFNeutral id: ClothingNeckIFFGreen + suffix: Green components: - type: Sprite sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -97,15 +100,17 @@ shader: unshaded - type: Clothing sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi - layers: - - state: equipped-NECK-off - - state: equipped-NECK-on - color: "#33cc00" - shader: unshaded + clothingVisuals: + neck: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#33cc00" + shader: unshaded - type: entity parent: ClothingNeckIFFNeutral id: ClothingNeckIFFRed + suffix: Red components: - type: Sprite sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -116,15 +121,17 @@ shader: unshaded - type: Clothing sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi - layers: - - state: equipped-NECK-off - - state: equipped-NECK-on - color: "#990000" - shader: unshaded + clothingVisuals: + neck: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#990000" + shader: unshaded - type: entity parent: ClothingNeckIFFNeutral id: ClothingNeckIFFBlue + suffix: Blue components: - type: Sprite sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -135,8 +142,9 @@ shader: unshaded - type: Clothing sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi - layers: - - state: equipped-NECK-off - - state: equipped-NECK-on - color: "#0055cc" - shader: unshaded + clothingVisuals: + neck: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#0055cc" + shader: unshaded diff --git a/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-off.png b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-off.png index 6a074101ab29e4e2e3eadb109a027432d407cefb..096f087f6c1aa6a569b488b2c65da718d59f3856 100644 GIT binary patch delta 187 zcmX@b`jthoGr-TCmrII^fq{Y7)59eQNIQTq2OE%Fm05UiqvBDwj0IoV^&)9bd~RUS;4DIJ``mz0!?I4Tcw}6`>*|jv$mE0Ss5Z;yxGI| h{oa2ANswGgF+;YwSh#?0xy5x5-_zC4Wt~$(699#^MbH2M delta 272 zcmey$a*9>4Gr-TCmrII^fq{Y7)59eQNH>5m2OE$)Y?pX?qvBDF!Z|_=j9X1ef4O}?&tX$gv>_DmMjR|vH=36e`w$p4ziGL<9P%Y4uOKxd=e~o|t zz04|T`1SSWe$zTOrKA_v-!g-xK}5lZh5O6*+wZhAUcPT{of%LMYfSaGh5PIF|9_?U z=2!Q(w?F18r^1yp9AL}&#Q*C4J=Pmftc8KX8jqvq`Q6_4`uyAd)e?Uf)gn|r2-)^~ o_SgNt_BU?(eU1+y&cN`%Kdw40()+8B!&i{7r>mdKI;Vst03@Mg5dZ)H diff --git a/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-on.png b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-on.png index d4d6dabf0d76447f1445a767f1c471253159ae35..9b2988b367807ed63a2aa876c0b1c627c7e7bdfd 100644 GIT binary patch delta 19 bcmeyz@{eW1Q$}_!2HwBb=eJFM!#D{5RlW$w delta 19 bcmeyz@{eW1Q$}`93AKx}1inpv!#D{5Q^N>s From 1605181f1038e55380976705fa8bfce074e8f29e Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 14:55:44 +0300 Subject: [PATCH 30/73] strippable gear? gone-gone --- .../Fills/Backpacks/npc_loot_cultists.yml | 174 ++++++++++++++++++ ...ag_npc_loot.yml => npc_loot_syndicate.yml} | 174 ------------------ .../Random/mobs_hostile_mercenaries.yml | 6 +- .../Random/mobs_hostile_syndicate.yml | 26 +-- .../Entities/Mobs/NPCs/mob_hostile_base.yml | 16 +- .../Mobs/NPCs/mob_hostile_bloodcultist.yml | 8 +- .../Mobs/NPCs/mob_hostile_mercenaries.yml | 2 +- .../Mobs/NPCs/mob_hostile_syndicate.yml | 6 +- .../NPCs/mob_hostile_wizardfederation.yml | 1 + .../Structures/Specific/bloodcult.yml | 3 +- .../hostile_humanoid_inventory_template.yml | 123 +++++++++++++ ...humanoid_simplified_inventory_template.yml | 22 +-- .../_NF/Recipes/Lathes/bloodcult.yml | 13 +- 13 files changed, 355 insertions(+), 219 deletions(-) create mode 100644 Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_cultists.yml rename Resources/Prototypes/_NF/Catalog/Fills/Backpacks/{duffelbag_npc_loot.yml => npc_loot_syndicate.yml} (77%) create mode 100644 Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_cultists.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_cultists.yml new file mode 100644 index 00000000000..d1268901158 --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_cultists.yml @@ -0,0 +1,174 @@ +# BASE +- type: entity + parent: SyndieMessengerGiftBox + id: CultistMessengerGiftBox + name: blood cultist bundle + description: Loot boxes? Here? + abstract: true + noSpawn: true + suffix: NPC Loot + components: + - type: Sprite + sprite: _NF/Clothing/Back/Messenger/color.rsi + layers: + - state: icon-base + color: "#562f2f" + - state: icon-sling + color: "#776756" + - state: icon-clasp + color: "#96907c" + - type: Clothing + sprite: _NF/Clothing/Back/Messenger/color.rsi + clothingVisuals: + back: + - state: base-equipped-BACKPACK + color: "#562f2f" + - state: sling-equipped-BACKPACK + color: "#776756" + - state: clasp-equipped-BACKPACK + color: "#96907c" + - type: Item + inhandVisuals: + left: + - state: base-inhand-left + color: "#562f2f" + - state: clasp-inhand-left + color: "#96907c" + right: + - state: base-inhand-right + color: "#562f2f" + - state: clasp-inhand-right + color: "#96907c" + +# BLOOD CULT NPC LOOT +## Zealot (Ranged) Loot +- type: entity + parent: CultistMessengerGiftBox + id: ClothingBackpackBloodCultZealotLootA + name: cultist gear bundle + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: CrossbowImprovised + - id: ClothingBeltQuiverCrossbowFilledBolt + - id: SpaceCash1000 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ClothingBackpackBloodCultZealotLootA + id: ClothingBackpackBloodCultZealotLootB + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: CrossbowImprovised + - id: ClothingBeltQuiverCrossbowFilledUranium + - id: SpaceCash1000 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ClothingBackpackBloodCultZealotLootA + id: ClothingBackpackBloodCultZealotLootC + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: ClothingBeltQuiverCrossbowFilledPlasma + - id: SpaceCash500 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ClothingBackpackBloodCultZealotLootA + id: ClothingBackpackBloodCultZealotLootD + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash500 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +## Generic rewards +- type: entity + parent: ClothingBackpackBloodCultZealotLootA + id: ClothingBackpackBloodCultLootA + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash1000 + prob: 0.95 + - id: SpaceCash1000 + prob: 0.95 + - id: Bloodpack + prob: 0.08 + - id: Tourniquet + amount: 1 + prob: 0.05 + - id: MaterialBones + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ClothingBackpackBloodCultZealotLootA + id: ClothingBackpackBloodCultLootB + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash1000 + prob: 0.95 + - id: SpaceCash500 + prob: 0.5 + - id: Bloodpack + prob: 0.06 + - id: BruteAutoInjector + amount: 1 + prob: 0.02 + - id: MaterialBones + prob: 0.1 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ClothingBackpackBloodCultZealotLootA + id: ClothingBackpackBloodCultLootC + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash1000 + prob: 0.95 + - id: Bloodpack + prob: 0.04 + - id: EmergencyMedipen + amount: 1 + prob: 0.02 + - id: MaterialBones1 + prob: 0.1 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ClothingBackpackBloodCultZealotLootA + id: ClothingBackpackBloodCultLootD + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + - id: SpaceCash500 + prob: 0.95 + - id: Bloodpack + prob: 0.02 + - id: Gauze1 + amount: 1 + prob: 0.01 + - id: MaterialBones1 + prob: 0.05 + sound: + path: /Audio/Items/jumpsuit_equip.ogg diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/duffelbag_npc_loot.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_syndicate.yml similarity index 77% rename from Resources/Prototypes/_NF/Catalog/Fills/Backpacks/duffelbag_npc_loot.yml rename to Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_syndicate.yml index efaab9c4058..672812db8b5 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/duffelbag_npc_loot.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_syndicate.yml @@ -64,47 +64,6 @@ - state: clasp-inhand-right color: "#7f0101" -- type: entity - parent: SyndieMessengerGiftBox - id: CultistMessengerGiftBox - name: blood cultist bundle - description: Loot boxes? Here? - abstract: true - noSpawn: true - suffix: NPC Loot - components: - - type: Sprite - sprite: _NF/Clothing/Back/Messenger/color.rsi - layers: - - state: icon-base - color: "#562f2f" - - state: icon-sling - color: "#776756" - - state: icon-clasp - color: "#96907c" - - type: Clothing - sprite: _NF/Clothing/Back/Messenger/color.rsi - clothingVisuals: - back: - - state: base-equipped-BACKPACK - color: "#562f2f" - - state: sling-equipped-BACKPACK - color: "#776756" - - state: clasp-equipped-BACKPACK - color: "#96907c" - - type: Item - inhandVisuals: - left: - - state: base-inhand-left - color: "#562f2f" - - state: clasp-inhand-left - color: "#96907c" - right: - - state: base-inhand-right - color: "#562f2f" - - state: clasp-inhand-right - color: "#96907c" - # SYNDICATE NPC LOOT ## Captain - type: entity @@ -616,136 +575,3 @@ - id: SpaceCash2500 sound: path: /Audio/Items/jumpsuit_equip.ogg - -# BLOOD CULT NPC LOOT -## Zealot (Ranged) Loot -- type: entity - parent: CultistMessengerGiftBox - id: ClothingBackpackBloodCultZealotLootA - name: cultist gear bundle - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: CrossbowImprovised - - id: ClothingBeltQuiverCrossbowFilledBolt - - id: SpaceCash1000 - sound: - path: /Audio/Items/jumpsuit_equip.ogg - -- type: entity - parent: ClothingBackpackBloodCultZealotLootA - id: ClothingBackpackBloodCultZealotLootB - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: CrossbowImprovised - - id: ClothingBeltQuiverCrossbowFilledUranium - - id: SpaceCash1000 - sound: - path: /Audio/Items/jumpsuit_equip.ogg - -- type: entity - parent: ClothingBackpackBloodCultZealotLootA - id: ClothingBackpackBloodCultZealotLootC - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: ClothingBeltQuiverCrossbowFilledPlasma - - id: SpaceCash500 - sound: - path: /Audio/Items/jumpsuit_equip.ogg - -- type: entity - parent: ClothingBackpackBloodCultZealotLootA - id: ClothingBackpackBloodCultZealotLootD - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: SpaceCash500 - sound: - path: /Audio/Items/jumpsuit_equip.ogg - -## Generic rewards -- type: entity - parent: ClothingBackpackBloodCultZealotLootA - id: ClothingBackpackBloodCultLootA - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: SpaceCash1000 - prob: 0.95 - - id: SpaceCash1000 - prob: 0.95 - - id: Bloodpack - prob: 0.08 - - id: Tourniquet - amount: 1 - prob: 0.05 - - id: MaterialBones - prob: 0.2 - sound: - path: /Audio/Items/jumpsuit_equip.ogg - -- type: entity - parent: ClothingBackpackBloodCultZealotLootA - id: ClothingBackpackBloodCultLootB - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: SpaceCash1000 - prob: 0.95 - - id: SpaceCash500 - prob: 0.5 - - id: Bloodpack - prob: 0.06 - - id: BruteAutoInjector - amount: 1 - prob: 0.02 - - id: MaterialBones - prob: 0.1 - sound: - path: /Audio/Items/jumpsuit_equip.ogg - -- type: entity - parent: ClothingBackpackBloodCultZealotLootA - id: ClothingBackpackBloodCultLootC - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: SpaceCash1000 - prob: 0.95 - - id: Bloodpack - prob: 0.04 - - id: EmergencyMedipen - amount: 1 - prob: 0.02 - - id: MaterialBones1 - prob: 0.1 - sound: - path: /Audio/Items/jumpsuit_equip.ogg - -- type: entity - parent: ClothingBackpackBloodCultZealotLootA - id: ClothingBackpackBloodCultLootD - noSpawn: true - components: - - type: SpawnItemsOnUse - items: - - id: SpaceCash500 - prob: 0.95 - - id: Bloodpack - prob: 0.02 - - id: Gauze1 - amount: 1 - prob: 0.01 - - id: MaterialBones1 - prob: 0.05 - sound: - path: /Audio/Items/jumpsuit_equip.ogg diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml index 66fc368e777..c587e586bc6 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_mercenaries.yml @@ -1,5 +1,5 @@ - type: entity - name: mercenary soldier spawner + name: mercenary spawner id: SpawnMobMercenaryT1 parent: MarkerBase suffix: AI, Hostile, T1 @@ -37,7 +37,7 @@ rareChance: 0.05 - type: entity - name: mercenary breacher spawner + name: mercenary spawner id: SpawnMobMercenaryT2 parent: MarkerBase suffix: AI, Hostile, T2 @@ -75,7 +75,7 @@ rareChance: 0.1 - type: entity - name: mercenary specialist spawner + name: mercenary spawner id: SpawnMobMercenaryT3 parent: MarkerBase suffix: AI, Hostile, T3 diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_syndicate.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_syndicate.yml index e6bbac8b1e6..e846cfc95db 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_syndicate.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_syndicate.yml @@ -1,5 +1,5 @@ - type: entity - name: Syndicate Naval Captain Spawner + name: syndicate naval captain spawner id: SpawnMobSyndicateNavalCaptain parent: MarkerBase suffix: AI, Hostile, RND @@ -34,7 +34,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Engineer Spawner + name: syndicate naval engineer spawner id: SpawnMobSyndicateNavalEngineer parent: MarkerBase suffix: AI, Hostile, RND @@ -67,7 +67,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Medic Spawner + name: syndicate naval medic spawner id: SpawnMobSyndicateNavalMedic parent: MarkerBase suffix: AI, Hostile, RND @@ -102,7 +102,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Second Officer Spawner + name: syndicate naval second officer spawner id: SpawnMobSyndicateNavalSecondOfficer parent: MarkerBase suffix: AI, Hostile, RND @@ -137,7 +137,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Operator Spawner + name: syndicate naval operator spawner id: SpawnMobSyndicateNavalOperator parent: MarkerBase suffix: AI, Hostile, RND @@ -172,7 +172,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Grenadier Spawner + name: syndicate naval grenadier spawner id: SpawnMobSyndicateNavalGrenadier parent: MarkerBase suffix: AI, Hostile, RND @@ -205,7 +205,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Saboteur Spawner + name: syndicate naval saboteur spawner id: SpawnMobSyndicateNavalSaboteur parent: MarkerBase suffix: AI, Hostile, RND @@ -240,7 +240,7 @@ rareChance: 0.1 - type: entity - name: Victim of Experimentation Spawner + name: victim of experimentation spawner id: SpawnMobExperimentationVictim parent: MarkerBase suffix: AI, Hostile @@ -260,7 +260,7 @@ - MobExperimentationVictim - type: entity - name: Syndicate Naval Commander Spawner + name: syndicate naval commander spawner id: SpawnMobSyndicateNavalCommander parent: MarkerBase suffix: AI, Hostile, RND @@ -291,7 +291,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Deckhand Spawner + name: syndicate naval deckhand spawner id: SpawnMobSyndicateNavalDeckhand parent: MarkerBase suffix: AI, Hostile, RND @@ -337,7 +337,7 @@ - MobCatSyndy - type: entity - name: Syndicate Naval Mime Spawner + name: syndicate naval mime spawner id: SpawnMobSyndicateNavalMime parent: MarkerBase suffix: AI, Hostile @@ -363,7 +363,7 @@ - MobSyndicateNavalMime - type: entity - name: Syndicate Naval Chemwarrior Spawner + name: syndicate naval chemwarrior spawner id: SpawnMobSyndicateNavalChemwarrior parent: MarkerBase suffix: AI, Hostile, RND @@ -398,7 +398,7 @@ rareChance: 0.1 - type: entity - name: Syndicate Naval Horror Spawner + name: syndicate naval horror spawner id: SpawnMobSyndicateNavalHorror parent: MarkerBase suffix: AI, Hostile, RND diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index f397620e724..bc08cdd5883 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -70,7 +70,7 @@ - type: entity save: false - id: MobHumanoidSimplifiedInvetory + id: MobHumanoidInvetory abstract: true components: - type: Inventory @@ -82,6 +82,20 @@ enum.StrippingUiKey.Key: type: StrippableBoundUserInterface +- type: entity + save: false + id: MobHumanoidInvetorySimplified + abstract: true + components: + - type: Inventory + templateId: hostilehumanoidsimplified + - type: InventorySlots + - type: Strippable + - type: UserInterface + interfaces: + enum.StrippingUiKey.Key: + type: StrippableBoundUserInterface + # Human NPC, uses equipment, immune to vacuum/low pressure - type: entity name: Human NPC diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml index 347c4df52da..45c5ca2600f 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml @@ -1,7 +1,9 @@ - type: entity name: Blood Cultist abstract: true - parent: MobHumanoidHostileBase + parent: + - MobHumanoidHostileBase + - MobHumanoidInvetory id: MobBloodCultistBase components: - type: NpcFactionMember @@ -27,6 +29,8 @@ id: MobBloodCultistPriest noSpawn: true components: + - type: Inventory + templateId: human - type: Loadout prototypes: - BloodCultistPriestGear @@ -53,6 +57,8 @@ id: MobBloodCultistJanitor noSpawn: true components: + - type: Inventory + templateId: human - type: Loadout prototypes: - BloodCultistJanitorGear diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 2703f93019f..b75d75cfe06 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -4,7 +4,7 @@ abstract: true parent: - MobNonHumanHostileBase - - MobHumanoidSimplifiedInvetory + - MobHumanoidInvetorySimplified id: MobMercenaryBase components: - type: Damageable diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml index c04307da27d..27146353ba6 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml @@ -2,7 +2,9 @@ name: syndicate naval agent abstract: true noSpawn: true - parent: MobHumanoidHostileBase + parent: + - MobHumanoidHostileBase + - MobHumanoidInvetory id: MobSyndicateNavalBase components: - type: Body @@ -635,6 +637,8 @@ rechargeCooldown: 2 rechargeSound: path: /Audio/_NF/Effects/silence.ogg + - type: Inventory + templateId: human - type: BasicEntityAmmoProvider proto: SplatterChemCold capacity: 3 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml index db48de985ff..624adad6cb2 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml @@ -4,6 +4,7 @@ parent: - MobHumanoidHostileBase - MobPassiveRegen + - MobHumanoidInvetory id: MobWizFedlBase components: - type: NpcFactionMember diff --git a/Resources/Prototypes/_NF/Entities/Structures/Specific/bloodcult.yml b/Resources/Prototypes/_NF/Entities/Structures/Specific/bloodcult.yml index e61a2d301f3..ce24298513e 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Specific/bloodcult.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Specific/bloodcult.yml @@ -223,8 +223,7 @@ - ClothingHeadHelmetCult - ClothingOuterArmorCult - ClothingShoesCult - - ClothingHeadHatHoodCulthood - - ClothingOuterRobesCult + - ClothingOuterCoatBloodCultRobes - ClothingHeadHelmetBone - ClothingOuterArmorBone - ClothingBackpackMessengerBloodCult diff --git a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml new file mode 100644 index 00000000000..17d25b6437d --- /dev/null +++ b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml @@ -0,0 +1,123 @@ +- type: inventoryTemplate + id: hostilehumanoid + slots: + - name: pocket1 + slotTexture: pocket + fullTextureName: template_small + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 0,3 + strippingWindowPos: 0,0 + dependsOn: jumpsuit + displayName: Pocket 1 + - name: pocket2 + slotTexture: pocket + fullTextureName: template_small + slotFlags: POCKET + slotGroup: MainHotbar + stripTime: 3 + uiWindowPos: 2,3 + strippingWindowPos: 1,0 + dependsOn: jumpsuit + displayName: Pocket 2 + - name: id + slotTexture: id + fullTextureName: template_small + slotFlags: IDCARD + slotGroup: SecondHotbar + stripTime: 999999 # "Not strippable" + uiWindowPos: 2,1 + strippingWindowPos: 2,0 + dependsOn: jumpsuit + displayName: ID + - name: back + slotTexture: back + fullTextureName: template_small + slotFlags: BACK + slotGroup: SecondHotbar + stripTime: 6 + uiWindowPos: 3,0 + strippingWindowPos: 0,1 + displayName: Back + - name: belt + slotTexture: belt + fullTextureName: template_small + slotFlags: BELT + slotGroup: SecondHotbar + stripTime: 4 + uiWindowPos: 3,1 + strippingWindowPos: 1,1 + displayName: Belt + - name: suitstorage + slotTexture: suit_storage + slotFlags: SUITSTORAGE + slotGroup: MainHotbar + uiWindowPos: 2,0 + strippingWindowPos: 2,1 + dependsOn: outerClothing + displayName: Suit Storage +# "Not strippable", "hidden" + - name: shoes + slotTexture: shoes + slotFlags: FEET + stripTime: 999999 + uiWindowPos: 1,0 + strippingWindowPos: 11,13 + displayName: Shoes + - name: jumpsuit + slotTexture: uniform + slotFlags: INNERCLOTHING + stripTime: 6 + uiWindowPos: 0,1 + strippingWindowPos: 10,12 + displayName: Jumpsuit + - name: outerClothing + slotTexture: suit + slotFlags: OUTERCLOTHING + stripTime: 999999 + uiWindowPos: 1,1 + strippingWindowPos: 11,12 + displayName: Suit + - name: gloves + stripTime: 999999 + slotTexture: gloves + slotFlags: GLOVES + uiWindowPos: 2,1 + strippingWindowPos: 12,12 + displayName: Gloves + - name: neck + stripTime: 999999 + slotTexture: neck + slotFlags: NECK + uiWindowPos: 0,2 + strippingWindowPos: 10,11 + displayName: Neck + - name: mask + stripTime: 999999 + slotTexture: mask + slotFlags: MASK + uiWindowPos: 1,2 + strippingWindowPos: 11,11 + displayName: Mask + - name: eyes + slotTexture: glasses + slotFlags: EYES + stripTime: 999999 + uiWindowPos: 0,3 + strippingWindowPos: 10,10 + displayName: Eyes + - name: ears + slotTexture: ears + slotFlags: EARS + stripTime: 999999 + uiWindowPos: 2,2 + strippingWindowPos: 12,10 + displayName: Ears + - name: head + stripTime: 999999 + slotTexture: head + slotFlags: HEAD + uiWindowPos: 1,3 + strippingWindowPos: 11,10 + displayName: Head diff --git a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml index 598278a8aef..9f87da5db71 100644 --- a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml +++ b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml @@ -1,5 +1,5 @@ - type: inventoryTemplate - id: hostilehumanoid + id: hostilehumanoidsimplified slots: - name: pocket1 slotTexture: pocket @@ -10,7 +10,6 @@ uiWindowPos: 0,3 strippingWindowPos: 0,4 displayName: Pocket 1 - stripHidden: true - name: pocket2 slotTexture: pocket @@ -21,17 +20,16 @@ uiWindowPos: 2,3 strippingWindowPos: 1,4 displayName: Pocket 2 - stripHidden: true - - name: id - slotTexture: id - fullTextureName: template_small - slotFlags: IDCARD - slotGroup: SecondHotbar - stripTime: 6 - uiWindowPos: 2,1 - strippingWindowPos: 2,4 - displayName: ID + #- name: id + #slotTexture: id + #fullTextureName: template_small + #slotFlags: IDCARD + #slotGroup: SecondHotbar + #stripTime: 6 + #uiWindowPos: 2,1 + #strippingWindowPos: 2,4 + #displayName: ID - name: belt slotTexture: belt diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/bloodcult.yml b/Resources/Prototypes/_NF/Recipes/Lathes/bloodcult.yml index 8c9517f6efb..2ba20ce1830 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/bloodcult.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/bloodcult.yml @@ -121,17 +121,8 @@ Plasteel: 200 - type: latheRecipe - id: ClothingHeadHatHoodCulthood - result: ClothingHeadHatHoodCulthood - completetime: 1 - category: ArmorNF - materials: - Cloth: 100 - Durathread: 200 - -- type: latheRecipe - id: ClothingOuterRobesCult - result: ClothingOuterRobesCult + id: ClothingOuterCoatBloodCultRobes + result: ClothingOuterCoatBloodCultRobes completetime: 1 category: ArmorNF materials: From 3a876c550a2e095e132f4fd9f1f528e3ff1f93e1 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 15:09:31 +0300 Subject: [PATCH 31/73] gear slots hidden even more --- .../Fills/Backpacks/npc_loot_syndicate.yml | 3 +++ .../hostile_humanoid_inventory_template.yml | 18 +++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_syndicate.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_syndicate.yml index 672812db8b5..7c37acbab71 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_syndicate.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_syndicate.yml @@ -180,6 +180,7 @@ - id: WeaponRifleAk - id: MagazineLightRifle - id: MagazineLightRifle + - id: ClothingShoesBootsMagSyndie - id: SpaceCash10000 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -194,6 +195,7 @@ - id: WeaponRifleLecter - id: MagazineRifle - id: MagazineRifle + - id: ClothingShoesBootsMagSyndie - id: SpaceCash10000 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -207,6 +209,7 @@ items: - id: MagazineLightRifle - id: MagazineLightRifle + - id: ClothingShoesBootsMagSyndie - id: SpaceCash10000 sound: path: /Audio/Items/jumpsuit_equip.ogg diff --git a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml index 17d25b6437d..1f57b531181 100644 --- a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml +++ b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml @@ -63,61 +63,61 @@ slotFlags: FEET stripTime: 999999 uiWindowPos: 1,0 - strippingWindowPos: 11,13 + strippingWindowPos: 21,23 displayName: Shoes - name: jumpsuit slotTexture: uniform slotFlags: INNERCLOTHING stripTime: 6 uiWindowPos: 0,1 - strippingWindowPos: 10,12 + strippingWindowPos: 20,22 displayName: Jumpsuit - name: outerClothing slotTexture: suit slotFlags: OUTERCLOTHING stripTime: 999999 uiWindowPos: 1,1 - strippingWindowPos: 11,12 + strippingWindowPos: 21,22 displayName: Suit - name: gloves stripTime: 999999 slotTexture: gloves slotFlags: GLOVES uiWindowPos: 2,1 - strippingWindowPos: 12,12 + strippingWindowPos: 22,22 displayName: Gloves - name: neck stripTime: 999999 slotTexture: neck slotFlags: NECK uiWindowPos: 0,2 - strippingWindowPos: 10,11 + strippingWindowPos: 20,21 displayName: Neck - name: mask stripTime: 999999 slotTexture: mask slotFlags: MASK uiWindowPos: 1,2 - strippingWindowPos: 11,11 + strippingWindowPos: 21,21 displayName: Mask - name: eyes slotTexture: glasses slotFlags: EYES stripTime: 999999 uiWindowPos: 0,3 - strippingWindowPos: 10,10 + strippingWindowPos: 20,20 displayName: Eyes - name: ears slotTexture: ears slotFlags: EARS stripTime: 999999 uiWindowPos: 2,2 - strippingWindowPos: 12,10 + strippingWindowPos: 22,20 displayName: Ears - name: head stripTime: 999999 slotTexture: head slotFlags: HEAD uiWindowPos: 1,3 - strippingWindowPos: 11,10 + strippingWindowPos: 21,20 displayName: Head From 594f1a547c23fc30cc7c2a306dd0f54411580cb8 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 5 Jun 2024 16:14:38 +0300 Subject: [PATCH 32/73] actual boots for mercenaries --- .../Mobs/NPCs/mob_hostile_mercenaries.yml | 16 ----------- .../hostile_humanoid_inventory_template.yml | 14 ++++++++++ ...humanoid_simplified_inventory_template.yml | 27 +++++++++---------- .../_NF/Roles/Jobs/Hostile/mercenaries.yml | 8 ++++++ 4 files changed, 35 insertions(+), 30 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index b75d75cfe06..8e08b7af0f0 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -69,8 +69,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" #"#404029" - - sprite: Clothing/Shoes/Boots/mercboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/mercbattle.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi @@ -107,8 +105,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" - - sprite: Clothing/Shoes/Boots/mercboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/mercbattle.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi @@ -154,8 +150,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" - - sprite: Clothing/Shoes/Boots/mercboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/mercbattle.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi @@ -202,8 +196,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#3d5c87" - - sprite: Clothing/Shoes/Boots/combatboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/fingerless.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/security_slim.rsi @@ -253,8 +245,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#3d5c87" - - sprite: Clothing/Shoes/Boots/jackboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/fingerless.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Coats/hos_trenchcoat.rsi @@ -304,8 +294,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#3d5c87" - - sprite: Clothing/Shoes/Boots/combatboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/fingerless.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/security_slim.rsi @@ -345,8 +333,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#2e687a" - - sprite: Clothing/Shoes/Boots/combatboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/fingerless.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/security_slim.rsi @@ -400,8 +386,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" - - sprite: Clothing/Shoes/Boots/combatboots.rsi - state: equipped-FEET - sprite: Clothing/Hands/Gloves/fingerless.rsi state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/bulletproof.rsi diff --git a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml index 1f57b531181..c2a37360082 100644 --- a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml +++ b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_inventory_template.yml @@ -11,6 +11,7 @@ strippingWindowPos: 0,0 dependsOn: jumpsuit displayName: Pocket 1 + - name: pocket2 slotTexture: pocket fullTextureName: template_small @@ -21,6 +22,7 @@ strippingWindowPos: 1,0 dependsOn: jumpsuit displayName: Pocket 2 + - name: id slotTexture: id fullTextureName: template_small @@ -31,6 +33,7 @@ strippingWindowPos: 2,0 dependsOn: jumpsuit displayName: ID + - name: back slotTexture: back fullTextureName: template_small @@ -40,6 +43,7 @@ uiWindowPos: 3,0 strippingWindowPos: 0,1 displayName: Back + - name: belt slotTexture: belt fullTextureName: template_small @@ -49,6 +53,7 @@ uiWindowPos: 3,1 strippingWindowPos: 1,1 displayName: Belt + - name: suitstorage slotTexture: suit_storage slotFlags: SUITSTORAGE @@ -57,6 +62,7 @@ strippingWindowPos: 2,1 dependsOn: outerClothing displayName: Suit Storage + # "Not strippable", "hidden" - name: shoes slotTexture: shoes @@ -65,6 +71,7 @@ uiWindowPos: 1,0 strippingWindowPos: 21,23 displayName: Shoes + - name: jumpsuit slotTexture: uniform slotFlags: INNERCLOTHING @@ -72,6 +79,7 @@ uiWindowPos: 0,1 strippingWindowPos: 20,22 displayName: Jumpsuit + - name: outerClothing slotTexture: suit slotFlags: OUTERCLOTHING @@ -79,6 +87,7 @@ uiWindowPos: 1,1 strippingWindowPos: 21,22 displayName: Suit + - name: gloves stripTime: 999999 slotTexture: gloves @@ -86,6 +95,7 @@ uiWindowPos: 2,1 strippingWindowPos: 22,22 displayName: Gloves + - name: neck stripTime: 999999 slotTexture: neck @@ -93,6 +103,7 @@ uiWindowPos: 0,2 strippingWindowPos: 20,21 displayName: Neck + - name: mask stripTime: 999999 slotTexture: mask @@ -100,6 +111,7 @@ uiWindowPos: 1,2 strippingWindowPos: 21,21 displayName: Mask + - name: eyes slotTexture: glasses slotFlags: EYES @@ -107,6 +119,7 @@ uiWindowPos: 0,3 strippingWindowPos: 20,20 displayName: Eyes + - name: ears slotTexture: ears slotFlags: EARS @@ -114,6 +127,7 @@ uiWindowPos: 2,2 strippingWindowPos: 22,20 displayName: Ears + - name: head stripTime: 999999 slotTexture: head diff --git a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml index 9f87da5db71..54485d53265 100644 --- a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml +++ b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml @@ -8,7 +8,7 @@ slotGroup: MainHotbar stripTime: 3 uiWindowPos: 0,3 - strippingWindowPos: 0,4 + strippingWindowPos: 0,0 displayName: Pocket 1 - name: pocket2 @@ -18,19 +18,9 @@ slotGroup: MainHotbar stripTime: 3 uiWindowPos: 2,3 - strippingWindowPos: 1,4 + strippingWindowPos: 1,0 displayName: Pocket 2 - #- name: id - #slotTexture: id - #fullTextureName: template_small - #slotFlags: IDCARD - #slotGroup: SecondHotbar - #stripTime: 6 - #uiWindowPos: 2,1 - #strippingWindowPos: 2,4 - #displayName: ID - - name: belt slotTexture: belt fullTextureName: template_small @@ -38,7 +28,7 @@ slotGroup: SecondHotbar stripTime: 6 uiWindowPos: 3,1 - strippingWindowPos: 1,5 + strippingWindowPos: 1,1 displayName: Belt - name: back @@ -48,5 +38,14 @@ slotGroup: SecondHotbar stripTime: 6 uiWindowPos: 3,0 - strippingWindowPos: 0,5 + strippingWindowPos: 0,1 displayName: Back + +# "Not strippable", "hidden" + - name: shoes + slotTexture: shoes + slotFlags: FEET + stripTime: 999999 + uiWindowPos: 1,0 + strippingWindowPos: 21,23 + displayName: Shoes diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml index 7ac2455a291..f8b8c5ac79c 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml @@ -4,18 +4,21 @@ equipment: back: ClothingBackpackDuffelMecranaryTier1Pistol belt: ClothingBeltWebbingMecranaryTier1Pistol + shoes: ClothingShoesBootsMercenary - type: startingGear id: MobHumanoidMercenaryGearTier1Mosin equipment: back: ClothingBackpackDuffelMecranaryTier1Mosin belt: ClothingBeltWebbingMecranaryTier1Mosin + shoes: ClothingShoesBootsMercenary - type: startingGear id: MobHumanoidMercenaryGearTier1Knife equipment: pocket1: SpaceCash500 pocket2: HydroponicsToolHatchet + shoes: ClothingShoesBootsMercenary # Tier 2 - type: startingGear @@ -23,18 +26,21 @@ equipment: back: ClothingBackpackDuffelMecranaryTier2Shotgun belt: ClothingBeltWebbingMecranaryTier2Shotgun + shoes: ClothingShoesBootsCombat - type: startingGear id: MobHumanoidMercenaryGearTier2Revolver equipment: back: ClothingBackpackDuffelMecranaryTier2Revolver belt: ClothingBeltWebbingMecranaryTier2Revolver + shoes: ClothingShoesBootsCombat - type: startingGear id: MobHumanoidMercenaryGearTier2Machete equipment: pocket1: Machete pocket2: SpaceCash1000 + shoes: ClothingShoesBootsCombat # Tier 3 - type: startingGear @@ -42,9 +48,11 @@ equipment: back: ClothingBackpackDuffelMecranaryTier3Medic belt: ClothingBeltMedicalFilled + shoes: ClothingShoesBootsCombat # Tier 4 - type: startingGear id: MobHumanoidMercenaryGearTier4Captain equipment: back: ClothingBackpackDuffelMecranaryTier4Captain + shoes: ClothingShoesBootsCombat From c44a32c4fd056d7a2d7a9f88dd45c87839dfb4bc Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sat, 8 Jun 2024 21:36:54 +0300 Subject: [PATCH 33/73] ai fixes --- .../Entities/Mobs/NPCs/mob_hostile_base.yml | 78 +++++++++++++------ .../Mobs/NPCs/mob_hostile_bloodcultist.yml | 57 +++++++------- ...mob_hostile_expeditions_aberrant_flesh.yml | 8 +- .../NPCs/mob_hostile_expeditions_carp.yml | 4 +- .../Mobs/NPCs/mob_hostile_mercenaries.yml | 9 ++- .../Mobs/NPCs/mob_hostile_syndicate.yml | 9 ++- .../NPCs/mob_hostile_wizardfederation.yml | 2 + 7 files changed, 107 insertions(+), 60 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index bc08cdd5883..c4dd07191ae 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -68,6 +68,7 @@ groups: - AllAccess +# Inventories - type: entity save: false id: MobHumanoidInvetory @@ -96,6 +97,58 @@ enum.StrippingUiKey.Key: type: StrippableBoundUserInterface +# AI packages +- type: entity + id: MobHumanoidHostileAISimpleMelee + abstract: true + components: + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + false + NavInteract: !type:Bool + true + NavPry: !type:Bool + true +# NavSmash: !type:Bool # They use this option too much for my liking, but I'll keep it here as an option +# true + +- type: entity + id: MobHumanoidHostileAISimpleRanged + abstract: true + components: + - type: HTN + rootTask: + task: SimpleRangedHostileCompound + blackboard: + NavClimb: !type:Bool + false + NavInteract: !type:Bool + true + NavPry: !type:Bool + true +# NavSmash: !type:Bool # They use this option too much for my liking, but I'll keep it here as an option +# true + +- type: entity + id: MobHumanoidHostileAIComplex + abstract: true + components: + - type: HTN + rootTask: + task: SimpleHumanoidHostileCompound + blackboard: + NavClimb: !type:Bool + false + NavInteract: !type:Bool + true + NavPry: !type:Bool + true +# NavSmash: !type:Bool # They use this option too much for my liking, but I'll keep it here as an option +# true + # Human NPC, uses equipment, immune to vacuum/low pressure - type: entity name: Human NPC @@ -107,6 +160,7 @@ - MobFlammable - MobEnhancedMovement - BaseMobSpecies + - MobHumanoidHostileAIComplex id: MobHumanoidHostileBase components: - type: MobMover @@ -131,17 +185,6 @@ spawned: - id: FoodMeatHuman amount: 5 -# AI package - - type: HTN - rootTask: - task: SimpleHumanoidHostileCompound # Alt tasks: MeleeCombatCompound, SimpleRangedHostileCompound - blackboard: - NavClimb: !type:Bool - false - NavInteract: !type:Bool - true - NavPry: !type:Bool - true - type: NpcFactionMember factions: - SimpleHostile @@ -170,6 +213,7 @@ - MobBloodstream - MobFlammable - MobEnhancedMovement + - MobHumanoidHostileAIComplex id: MobNonHumanHostileBase components: - type: Reactive @@ -214,18 +258,6 @@ 120: Dead - type: Stamina critThreshold: 100 - - type: HTN - rootTask: - task: SimpleHumanoidHostileCompound # Alt tasks: MeleeCombatCompound, SimpleRangedHostileCompound - blackboard: - NavClimb: !type:Bool - false - NavInteract: !type:Bool - true - NavPry: !type:Bool - true -# NavSmash: !type:Bool # They use this option too much for my liking, but I'll keep it here as an option -# true - type: NpcFactionMember factions: - SimpleHostile diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml index 45c5ca2600f..e7441050ba1 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml @@ -25,7 +25,9 @@ # Look for magic bolt here:\Resources\Prototypes\_NF\Entities\Objects\Weapons\Guns\Projectiles\magic.yml - type: entity name: Blood Cult Priest - parent: MobBloodCultistBase + parent: + - MobBloodCultistBase + - MobHumanoidHostileAISimpleRanged id: MobBloodCultistPriest noSpawn: true components: @@ -53,7 +55,9 @@ # Look for magic bolt here:\Resources\Prototypes\_NF\Entities\Objects\Weapons\Guns\Projectiles\magic.yml - type: entity name: Blood Cult Janitor - parent: MobBloodCultistBase + parent: + - MobBloodCultistBase + - MobHumanoidHostileAISimpleRanged id: MobBloodCultistJanitor noSpawn: true components: @@ -61,7 +65,7 @@ templateId: human - type: Loadout prototypes: - - BloodCultistJanitorGear + - BloodCultistJanitorGear - type: Stamina critThreshold: 500 - type: BasicEntityAmmoProvider @@ -82,50 +86,36 @@ # Blood Cult Acolyte, melee mob armed with eldritch sword (16 slash) - type: entity name: Blood Cult Acolyte - parent: MobBloodCultistBase + parent: + - MobBloodCultistBase + - MobHumanoidHostileAISimpleMelee id: MobBloodCultistAcolyte noSpawn: true components: - type: Loadout prototypes: - - BloodCultistAcolyteGear - - type: HTN - rootTask: - task: MeleeCombatCompound - blackboard: - NavClimb: !type:Bool - false - NavInteract: !type:Bool - true - NavPry: !type:Bool - true + - BloodCultistAcolyteGear # Blood Cult Acolyte, melee mob armed with ritual dagger (12 slash) - type: entity name: Blood Cult Zealot - parent: MobBloodCultistBase + parent: + - MobBloodCultistBase + - MobHumanoidHostileAISimpleMelee id: MobBloodCultistZealotMelee noSpawn: true components: - type: Loadout prototypes: - - BloodCultistZealotMeleeGear - - type: HTN - rootTask: - task: MeleeCombatCompound - blackboard: - NavClimb: !type:Bool - false - NavInteract: !type:Bool - true - NavPry: !type:Bool - true + - BloodCultistZealotMeleeGear # Blood Cult Zealot, ranged mob, crossbow bolt deals 20 slash and 5 bloodloss # Look for crossbow bolt here: \Resources\Prototypes\_NF\Entities\Objects\Weapons\Guns\Projectiles\crossbow_bolts.yml - type: entity name: Blood Cult Zealot - parent: MobBloodCultistBase + parent: + - MobBloodCultistBase + - MobHumanoidHostileAISimpleRanged id: MobBloodCultistZealotRanged noSpawn: true components: @@ -152,7 +142,9 @@ # Look for magic bolt here:\Resources\Prototypes\_NF\Entities\Objects\Weapons\Guns\Projectiles\magic.yml - type: entity name: Blood Cult Zealot - parent: MobBloodCultistBase + parent: + - MobBloodCultistBase + - MobHumanoidHostileAISimpleRanged id: MobBloodCultistCaster noSpawn: true components: @@ -177,7 +169,9 @@ - type: entity name: Ascended Cultist # Megafauna noSpawn: true - parent: MobNonHumanHostileBase + parent: + - MobNonHumanHostileBase + - MobHumanoidHostileAISimpleRanged id: MobBloodCultistAscended components: - type: NpcFactionMember @@ -254,6 +248,7 @@ parent: - MobNonHumanHostileBase - MobPassiveRegen + - MobHumanoidHostileAISimpleMelee id: MobBloodCultLeech components: - type: NpcFactionMember @@ -300,6 +295,8 @@ parent: - MobNonHumanHostileBase - FlyingMobBase + - MobPassiveRegen + - MobHumanoidHostileAISimpleMelee id: MobBloodCultDrainedOne components: - type: NpcFactionMember diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml index 8af3a39710b..32c27b8365f 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml @@ -1,6 +1,8 @@ # BASE - type: entity - parent: MobNonHumanHostileBase + parent: + - MobNonHumanHostileBase + - MobHumanoidHostileAISimpleMelee id: BaseMobFleshExpeditions name: aberrant flesh description: A shambling mass of flesh, animated through anomalous energy. @@ -131,7 +133,9 @@ Base: dead - type: entity - parent: BaseMobFleshExpeditions + parent: + - BaseMobFleshExpeditions + - MobHumanoidHostileAISimpleRanged id: MobFleshClampExpeditions noSpawn: true components: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml index 4e5405c142b..e654a9f600d 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml @@ -1,6 +1,8 @@ # BASE - type: entity - parent: MobNonHumanHostileBase + parent: + - MobNonHumanHostileBase + - MobHumanoidHostileAISimpleMelee id: BaseMobCarpExpeditions name: planetary space carp description: It's a planetary space carp. diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 8e08b7af0f0..1fc32ebe08c 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -5,6 +5,7 @@ parent: - MobNonHumanHostileBase - MobHumanoidInvetorySimplified + - MobHumanoidHostileAISimpleRanged id: MobMercenaryBase components: - type: Damageable @@ -54,7 +55,9 @@ ## Tier 1 - type: entity name: mercenary soldier - parent: MobMercenaryBase + parent: + - MobMercenaryBase + - MobHumanoidHostileAISimpleMelee id: MobMercenarySoldierKnife noSpawn: true components: @@ -279,7 +282,9 @@ - type: entity name: mercenary breacher - parent: MobMercenaryBase + parent: + - MobMercenaryBase + - MobHumanoidHostileAISimpleMelee id: MobMercenaryBreacherMachete noSpawn: true components: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml index 27146353ba6..8196f2b7709 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml @@ -5,6 +5,7 @@ parent: - MobHumanoidHostileBase - MobHumanoidInvetory + - MobHumanoidHostileAISimpleRanged id: MobSyndicateNavalBase components: - type: Body @@ -460,7 +461,9 @@ # Hostile Victim of Experimentation, "armed" with shiv - type: entity name: captive - parent: MobHumanoidHostileBase + parent: + - MobHumanoidHostileBase + - MobHumanoidHostileAISimpleMelee id: MobExperimentationVictim noSpawn: true components: @@ -604,7 +607,9 @@ # Syndicate Mime, melee, "armed" with chainsaw - type: entity name: syndicate mime - parent: MobSyndicateNavalBase + parent: + - MobSyndicateNavalBase + - MobHumanoidHostileAISimpleMelee id: MobSyndicateNavalMime noSpawn: true components: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml index 624adad6cb2..b8db59d1922 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml @@ -5,6 +5,7 @@ - MobHumanoidHostileBase - MobPassiveRegen - MobHumanoidInvetory + - MobHumanoidHostileAISimpleRanged id: MobWizFedlBase components: - type: NpcFactionMember @@ -178,6 +179,7 @@ noSpawn: true parent: - MobNonHumanHostileBase + - MobHumanoidHostileAISimpleMelee id: WaterElementalConjured components: - type: MovementAlwaysTouching From a87f74e73713deceb3eaf63d5d445898bc9a0e52 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sat, 8 Jun 2024 23:17:37 +0300 Subject: [PATCH 34/73] structural damage type added too mobs --- .../Mobs/NPCs/mob_hostile_bloodcultist.yml | 3 +++ ...mob_hostile_expeditions_aberrant_flesh.yml | 14 +++++++++++- .../NPCs/mob_hostile_expeditions_argocyte.yml | 11 +++++++--- .../NPCs/mob_hostile_expeditions_carp.yml | 14 +++++++++++- .../mob_hostile_expeditions_dinosaurs.yml | 22 +++++++++++++++++++ .../NPCs/mob_hostile_wizardfederation.yml | 13 +++++++++++ 6 files changed, 72 insertions(+), 5 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml index e7441050ba1..e22212e0b06 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml @@ -224,6 +224,7 @@ damage: types: Slash: 20 + Structural: 20 animation: WeaponArcClaw - type: PointLight radius: 1.4 @@ -286,6 +287,7 @@ damage: types: Slash: 10 + Structural: 20 animation: WeaponArcBite # Drained One, melee @@ -332,6 +334,7 @@ damage: types: Asphyxiation: 7 + Structural: 20 animation: WeaponArcClaw - type: PointLight color: MediumPurple diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml index 32c27b8365f..056ff0b523d 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_aberrant_flesh.yml @@ -2,12 +2,23 @@ - type: entity parent: - MobNonHumanHostileBase - - MobHumanoidHostileAISimpleMelee id: BaseMobFleshExpeditions name: aberrant flesh description: A shambling mass of flesh, animated through anomalous energy. abstract: true components: + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + true + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true - type: Sprite drawdepth: Mobs sprite: _NF/Mobs/Aliens/flesh.rsi @@ -38,6 +49,7 @@ damage: types: Slash: 8 + Structural: 20 - type: ReplacementAccent accent: genericAggressive diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml index 9175db24f28..7e818029228 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml @@ -43,6 +43,7 @@ damage: types: Slash: 5 + Structural: 20 - type: Body prototype: Animal - type: TypingIndicator @@ -98,6 +99,7 @@ damage: types: Blunt: 3 + Structural: 20 - type: entity parent: BaseMobArgocyteExpeditions @@ -133,6 +135,7 @@ damage: types: Blunt: 3 + Structural: 20 - type: entity parent: BaseMobArgocyteExpeditions @@ -169,6 +172,7 @@ damage: types: Slash: 3 + Structural: 20 - type: entity parent: BaseMobArgocyteExpeditions @@ -265,6 +269,7 @@ types: Blunt: 3.5 Slash: 3.5 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 5 baseWalkSpeed: 4.5 @@ -293,7 +298,7 @@ types: Blunt: 5 Slash: 8 - Structural: 5 + Structural: 20 - type: entity parent: BaseMobArgocyteExpeditions @@ -320,7 +325,7 @@ types: Blunt: 8 Slash: 5 - Structural: 5 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 6.5 baseWalkSpeed: 5 @@ -349,7 +354,7 @@ types: Blunt: 8 Slash: 8 - Structural: 10 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 3.5 baseWalkSpeed: 3 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml index e654a9f600d..55298a4dccc 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_carp.yml @@ -2,12 +2,23 @@ - type: entity parent: - MobNonHumanHostileBase - - MobHumanoidHostileAISimpleMelee id: BaseMobCarpExpeditions name: planetary space carp description: It's a planetary space carp. abstract: true components: + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + false + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true - type: NpcFactionMember factions: - SimpleHostile @@ -61,6 +72,7 @@ types: Piercing: 5 Slash: 5 + Structural: 20 - type: TypingIndicator proto: alien diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml index 592cc6692d4..3f114eade09 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml @@ -7,6 +7,18 @@ description: Enigmatic behemoths from a bygone era, known for their imposing stature and formidable presence. abstract: true components: + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + false + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true - type: NpcFactionMember factions: - DinosaursNF @@ -83,6 +95,7 @@ damage: types: Slash: 8 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 2 baseWalkSpeed: 2 @@ -120,6 +133,7 @@ types: Slash: 6 Caustic: 1 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 5.5 baseWalkSpeed: 5.5 @@ -156,6 +170,7 @@ damage: types: Slash: 12 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 6.5 baseWalkSpeed: 6.5 @@ -192,6 +207,7 @@ damage: types: Blunt: 6 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 4 baseWalkSpeed: 4 @@ -228,6 +244,7 @@ damage: types: Piercing: 10 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 2.5 baseWalkSpeed: 2.5 @@ -264,6 +281,7 @@ damage: types: Blunt: 15 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 3 baseWalkSpeed: 3 @@ -300,6 +318,7 @@ damage: types: Slash: 8 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 2 baseWalkSpeed: 2 @@ -336,6 +355,7 @@ damage: types: Blunt: 12 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 4.5 baseWalkSpeed: 4.5 @@ -373,6 +393,7 @@ types: Blunt: 12 Piercing: 8 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 3 baseWalkSpeed: 3 @@ -411,6 +432,7 @@ types: Slash: 12 Piercing: 8 + Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 4.5 baseWalkSpeed: 4.5 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml index b8db59d1922..5ad37539b91 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_wizardfederation.yml @@ -182,6 +182,18 @@ - MobHumanoidHostileAISimpleMelee id: WaterElementalConjured components: + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + true + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true - type: MovementAlwaysTouching - type: NoSlip - type: NpcFactionMember @@ -212,6 +224,7 @@ damage: types: Slash: 15 + Structural: 20 - type: MeleeChemicalInjector solution: bloodstream transferAmount: 10 From f0a416125be00609f718af6f7d970d2f375f6581 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 9 Jun 2024 06:41:38 +0300 Subject: [PATCH 35/73] explorers faction --- .../Procedural/salvage_factions.yml | 45 +++ .../Fills/Backpacks/npc_loot_explorers.yml | 227 +++++++++++++ .../_NF/Entities/Clothing/Hands/gloves.yml | 100 ++++++ .../Random/mobs_hostile_explorers.yml | 85 +++++ .../Entities/Mobs/NPCs/mob_hostile_base.yml | 4 +- .../mob_hostile_expeditions_explorers.yml | 313 ++++++++++++++++++ .../Structures/Specific/explorers.yml | 50 +++ .../_NF/Roles/Jobs/Hostile/explorers.yml | 66 ++++ .../Explorers/salvageradar.rsi/base.png | Bin 0 -> 1077 bytes .../Explorers/salvageradar.rsi/meta.json | 21 ++ .../Explorers/salvageradar.rsi/unshaded.png | Bin 0 -> 916 bytes 11 files changed, 909 insertions(+), 2 deletions(-) create mode 100644 Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Specific/explorers.yml create mode 100644 Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml create mode 100644 Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/base.png create mode 100644 Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/meta.json create mode 100644 Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/unshaded.png diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 935b0c452d2..cbd0b660480 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -331,3 +331,48 @@ DefenseStructure: CybersunDataMiner Mining: Mercenaries Megafauna: MobMercenaryCaptain + +- type: salvageFaction + id: Explorers + cost: 3 + groups: + - entries: + - id: SpawnMobExplorerT1 + amount: 1 + maxAmount: 2 + - entries: + - id: SpawnMobExplorerT1 + amount: 2 + maxAmount: 4 + prob: 0.75 + - entries: + - id: SpawnMobExplorerT2 + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: SpawnMobExplorerT2 + amount: 2 + maxAmount: 3 + prob: 0.25 + - entries: + - id: SpawnMobExplorerT1 + amount: 1 + prob: 0.3 + - entries: + - id: SpawnMobExplorerT2 + amount: 1 + prob: 0.25 + - entries: + - id: SpawnMobExplorerT3 + amount: 1 + prob: 0.1 + - entries: + - id: MobExplorerPickaxe + amount: 2 + maxAmount: 4 + prob: 0.05 + configs: + DefenseStructure: ExplorersLootRadar + Mining: Explorers + Megafauna: MobExplorerPkaBoss diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml new file mode 100644 index 00000000000..5fd9dcb8153 --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml @@ -0,0 +1,227 @@ +# BASE +- type: entity + parent: SyndieDuffelGiftBox + id: ExplorerDuffelGiftBox + name: explorer's bundle + abstract: true + noSpawn: true + suffix: NPC Loot + components: + - type: Sprite + sprite: Clothing/Back/Duffels/salvage.rsi + state: icon + +# EXPLORER NPC LOOT +## TIER 1 +- type: entity + parent: ExplorerDuffelGiftBox + id: ClothingBackpackExplorerMeleeT1 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Cash + - id: SpaceCash500 + prob: 0.9 + - id: SpaceCash500 + prob: 0.4 + - id: SpaceCash1000 + prob: 0.2 + # Weapons + - id: Pickaxe + prob: 0.4 + # Items + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.9 + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.4 + - id: SpawnDungeonLootOresFull + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ExplorerDuffelGiftBox + id: ClothingBackpackExplorerRangedT1 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Cash + - id: SpaceCash500 + prob: 0.9 + - id: SpaceCash500 + prob: 0.4 + - id: SpaceCash1000 + prob: 0.2 + # Weapons + - id: WeaponProtoKineticAccelerator + prob: 0.4 + # Items + - id: SpawnDungeonLootClutterEngi + prob: 0.9 + amount: 6 + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.4 + - id: SpawnDungeonLootOresFull + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +## TIER 2 +- type: entity + parent: ExplorerDuffelGiftBox + id: ClothingBackpackExplorerMeleeT2 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Cash + - id: SpaceCash1000 + prob: 0.9 + - id: SpaceCash500 + prob: 0.4 + - id: SpaceCash1000 + prob: 0.2 + # Weapons + - id: WeaponCrusherGlaive + prob: 0.4 + # Armor + - id: ClothingOuterHardsuitSpatio + prob: 0.3 + # Items + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.9 + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.4 + - id: SpawnDungeonLootOresFull + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ExplorerDuffelGiftBox + id: ClothingBackpackExplorerRangedT2 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Cash + - id: SpaceCash1000 + prob: 0.9 + - id: SpaceCash500 + prob: 0.4 + - id: SpaceCash1000 + prob: 0.2 + # Weapons + - id: WeaponProtoKineticAccelerator + prob: 0.4 + # Armor + - id: ClothingOuterHardsuitSpatio + prob: 0.3 + # Items + - id: SpawnDungeonLootClutterEngi + prob: 0.9 + amount: 8 + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.6 + - id: SpawnDungeonLootOresFull + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +## TIER 3 +- type: entity + parent: ExplorerDuffelGiftBox + id: ClothingBackpackExplorerMeleeT3 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Cash + - id: SpaceCash1000 + prob: 0.9 + - id: SpaceCash500 + prob: 0.4 + - id: SpaceCash1000 + prob: 0.2 + # Weapons + - id: MiningDrill + prob: 0.4 + # Armor + - id: ClothingOuterHardsuitSalvage + prob: 0.3 + # Items + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.9 + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.4 + - id: SpawnDungeonLootOresFull + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +- type: entity + parent: ExplorerDuffelGiftBox + id: ClothingBackpackExplorerRangedT3 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Cash + - id: SpaceCash2500 + prob: 0.9 + - id: SpaceCash1000 + prob: 0.4 + - id: SpaceCash2500 + prob: 0.2 + # Weapons + - id: WeaponProtoKineticAccelerator + prob: 0.4 + amount: 2 + # Armor + - id: ClothingOuterHardsuitLuxury + prob: 0.2 + # Items + - id: SpawnDungeonLootClutterEngi + prob: 0.9 + amount: 8 + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.6 + - id: SpawnDungeonLootOresFull + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + +## TIER 4 +- type: entity + parent: ExplorerDuffelGiftBox + id: ClothingBackpackExplorerBoss + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Cash + - id: SpaceCash2500 + prob: 0.9 + - id: SpaceCash1000 + prob: 0.4 + - id: SpaceCash2500 + prob: 0.2 + # Weapons + - id: WeaponProtoKineticAcceleratorSawn + prob: 0.4 + amount: 2 + # Armor + - id: ClothingOuterHardsuitMaximPrototype + prob: 0.2 + # Items + - id: SpawnDungeonLootClutterEngi + prob: 0.9 + amount: 8 + - id: SpawnDungeonLootMaterialsBasicFull + prob: 0.6 + - id: SpawnDungeonLootOresFull + prob: 0.4 + sound: + path: /Audio/Items/jumpsuit_equip.ogg diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml index 24b469e475d..c681030131e 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml @@ -207,3 +207,103 @@ color: "#535353" - sprite: Objects/Weapons/Guns/Battery/advancedlasergun.rsi state: inhand-left + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesWeaponWieldedGlaive + name: wielded weapon + suffix: crusher glaive + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Objects/Weapons/Melee/crusher_glaive.rsi + state: wielded-inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesWeaponDrill + name: wielded weapon + suffix: mining drill + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Objects/Tools/handdrill.rsi + state: inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesWeaponWieldedPickaxe + name: wielded weapon + suffix: Pickaxe + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Objects/Weapons/Melee/pickaxe.rsi + state: wielded-inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesWeaponPkaFlashlight + name: wielded weapon + suffix: PKA, flashlifght + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Objects/Weapons/Guns/Basic/kinetic_accelerator.rsi + state: inhand-right + - sprite: Objects/Tools/flashlight.rsi + state: inhand-left + - sprite: Objects/Tools/flashlight.rsi + state: inhand-left-light + shader: unshaded + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesWeaponWieldedPka + name: wielded weapon + suffix: PKA + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Objects/Weapons/Guns/Basic/kinetic_accelerator.rsi + state: wielded-inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesWeaponSawnOffPkaDagger + name: wielded weapon + suffix: sawn-off PKA, crusher dagger + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: _NF/Objects/Weapons/Guns/Basic/sawn_kinetic_accelerator.rsi + state: inhand-right + - sprite: Objects/Weapons/Melee/crusher_dagger.rsi + state: inhand-left + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesWeaponSawnOffPkas + name: wielded weapon + suffix: double sawn-off PKAs + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: _NF/Objects/Weapons/Guns/Basic/sawn_kinetic_accelerator.rsi + state: inhand-left + - sprite: _NF/Objects/Weapons/Guns/Basic/sawn_kinetic_accelerator.rsi + state: inhand-right diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml new file mode 100644 index 00000000000..b2fcc068eda --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml @@ -0,0 +1,85 @@ +- type: entity + name: explorer spawner + id: SpawnMobExplorerT1 + parent: MarkerBase + suffix: AI, Hostile, T1 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/salvage.rsi + state: equipped-INNERCLOTHING + - sprite: Clothing/Mask/gasexplorer.rsi + state: equipped-MASK + - sprite: _NF/Clothing/Head/Hats/pilot.rsi + state: equipped-HELMET + - sprite: Objects/Weapons/Melee/pickaxe.rsi + state: wielded-inhand-right + - type: RandomSpawner + prototypes: + - MobExplorerMeleeT1 + - MobExplorerMeleeT1 + - MobExplorerRangedT1 + chance: 1 + offset: 0.0 + rarePrototypes: + - SpawnMobExplorerT2 + rareChance: 0.05 + +- type: entity + name: explorer spawner + id: SpawnMobExplorerT2 + parent: MarkerBase + suffix: AI, Hostile, T2 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/OuterClothing/Hardsuits/spatio.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head + - sprite: Objects/Weapons/Melee/pickaxe.rsi + state: wielded-inhand-right + - type: RandomSpawner + prototypes: + - MobExplorerMeleeT2 + - MobExplorerMeleeT2 + - MobExplorerRangedT2 + chance: 1 + offset: 0.0 + rarePrototypes: + - SpawnMobExplorerT3 + rareChance: 0.05 + +- type: entity + name: explorer spawner + id: SpawnMobExplorerT3 + parent: MarkerBase + suffix: AI, Hostile, T3 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/OuterClothing/Hardsuits/salvage.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Head/Hardsuits/salvage.rsi + state: off-equipped-HELMET + - sprite: Objects/Weapons/Melee/pickaxe.rsi + state: wielded-inhand-right + - type: RandomSpawner + prototypes: + - MobExplorerMeleeT3 + - MobExplorerMeleeT3 + - MobExplorerRangedT3 + chance: 1 + offset: 0.0 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index c4dd07191ae..f68934044f7 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -75,7 +75,7 @@ abstract: true components: - type: Inventory - templateId: hostilehumanoid + templateId: hostilehumanoid # Supports loadouts - type: InventorySlots - type: Strippable - type: UserInterface @@ -89,7 +89,7 @@ abstract: true components: - type: Inventory - templateId: hostilehumanoidsimplified + templateId: hostilehumanoidsimplified # Does not support loadouts - type: InventorySlots - type: Strippable - type: UserInterface diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml new file mode 100644 index 00000000000..ca230536eef --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -0,0 +1,313 @@ +# Base +- type: entity + name: explorer + abstract: true + parent: + - MobNonHumanHostileBase + - MobHumanoidInvetory + - MobHumanoidHostileAISimpleRanged + id: MobExplorerBase + components: + - type: NpcFactionMember + factions: + - SimpleHostile + - type: MobThresholds + thresholds: + 0: Alive + 100: Critical + 130: Dead + - type: Stamina + critThreshold: 100 + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: Butcherable + butcheringType: Spike + spawned: + - id: FoodMeatHuman + amount: 5 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 1.5 + rechargeSound: + path: /Audio/_NF/Effects/silence.ogg + - type: MeleeWeapon + attackRate: 1.0 + altDisarm: false + Animation: WeaponArcPunch + angle: 0 + damage: + types: + Slash: 15 + Structural: 30 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Advertise + pack: mercanaryhumanoidchatter + minimumWait: 30 + maximumWait: 120 + nextAdvertisementTime: 10 + - type: AutoWakeUp + - type: PointLight + enabled: true + radius: 3 + energy: 1 + autoRot: true + netsync: false + +# Variations +## Tier 1 +- type: entity + name: explorer + parent: + - MobExplorerBase + - MobHumanoidHostileAISimpleMelee + id: MobExplorerMeleeT1 + noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearMeleeT1 + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/salvage.rsi + state: equipped-INNERCLOTHING + - sprite: Clothing/Mask/gasexplorer.rsi + state: equipped-MASK + - sprite: _NF/Clothing/Head/Hats/pilot.rsi + state: equipped-HELMET + - sprite: Objects/Tools/lantern.rsi + state: on-equipped-BELT + - type: PointLight + radius: 3 + energy: 2.5 + color: "#FFC458" + +- type: entity + name: explorer + parent: + - MobExplorerBase + id: MobExplorerRangedT1 + noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearRangedT1 + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Uniforms/Jumpsuit/salvage.rsi + state: equipped-INNERCLOTHING + - sprite: Clothing/OuterClothing/WinterCoats/coatminer.rsi + state: equipped-OUTERCLOTHING + - sprite: Clothing/Mask/gasexplorer.rsi + state: equipped-MASK + - sprite: Clothing/Head/Hoods/Coat/hoodminer.rsi + state: equipped-HELMET + - type: RechargeBasicEntityAmmo + rechargeCooldown: 0.75 + rechargeSound: + path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg + - type: BasicEntityAmmoProvider + proto: BulletKinetic + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 0.5 + minAngle: 31 + maxAngle: 45 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg + - type: PointLight + radius: 3 + energy: 1 + mask: /Textures/Effects/LightMasks/cone.png + +## Tier 2 +- type: entity + name: explorer + parent: + - MobExplorerBase + - MobHumanoidHostileAISimpleMelee + id: MobExplorerMeleeT2 + noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearMeleeT2 + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head-unshaded + - type: PointLight + radius: 3 + energy: 1 + mask: /Textures/Effects/LightMasks/cone.png + +- type: entity + name: explorer + parent: + - MobExplorerBase + id: MobExplorerRangedT2 + noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearRangedT2 + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head-unshaded + - type: RechargeBasicEntityAmmo + rechargeCooldown: 0.75 + rechargeSound: + path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg + - type: BasicEntityAmmoProvider + proto: BulletKinetic + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 8 + selectedMode: FullAuto + minAngle: 31 + maxAngle: 45 + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg + - type: PointLight + radius: 3 + energy: 1 + mask: /Textures/Effects/LightMasks/cone.png + +# Tier 3 +- type: entity + name: explorer + parent: + - MobExplorerBase + - MobHumanoidHostileAISimpleMelee + id: MobExplorerMeleeT3 + noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearMeleeT3 + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Head/Hardsuits/salvage.rsi + state: on-equipped-HELMET + - type: MeleeWeapon + autoAttack: true + angle: 0 + wideAnimationRotation: -90 + soundHit: + path: "/Audio/Items/drill_hit.ogg" + attackRate: 3.5 + damage: + groups: + Brute: 3 + types: + Structural: 25 + - type: PointLight + radius: 7 + energy: 3 + mask: /Textures/Effects/LightMasks/cone.png + +- type: entity + name: explorer + parent: + - MobExplorerBase + id: MobExplorerRangedT3 + noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearRangedT3 + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: Clothing/Head/Hardsuits/luxury.rsi + state: on-equipped-HELMET + - type: PointLight + radius: 7 + energy: 3 + mask: /Textures/Effects/LightMasks/cone.png + - type: RechargeBasicEntityAmmo + rechargeCooldown: 0.75 + rechargeSound: + path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg + - type: BasicEntityAmmoProvider + proto: BulletKinetic + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 0.5 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg + +# Tier 4 - Boss +- type: entity + name: explorer + parent: + - MobExplorerBase + id: MobExplorerBoss + noSpawn: true + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearBoss + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/Species/Templates/human.rsi + state: human + - sprite: _NF/Clothing/Head/Hardsuits/maxim_prototype.rsi + state: on-equipped-HELMET + - type: PointLight + radius: 7 + energy: 3 + mask: /Textures/Effects/LightMasks/cone.png + - type: RechargeBasicEntityAmmo + rechargeCooldown: 0.375 + rechargeSound: + path: /Audio/Weapons/Guns/MagIn/kinetic_reload.ogg + - type: BasicEntityAmmoProvider + proto: BulletKinetic + capacity: 2 + count: 2 + - type: Gun + showExamineText: false + fireRate: 8 + selectedMode: FullAuto + minAngle: 31 + maxAngle: 45 + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg diff --git a/Resources/Prototypes/_NF/Entities/Structures/Specific/explorers.yml b/Resources/Prototypes/_NF/Entities/Structures/Specific/explorers.yml new file mode 100644 index 00000000000..13da314ea0e --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Specific/explorers.yml @@ -0,0 +1,50 @@ +- type: entity + parent: CarpStatue + id: ExplorersLootRadar + name: salvage radar + description: Essential tool for any looter. + components: + - type: Sprite + sprite: _NF/Structures/Specific/Explorers/salvageradar.rsi + layers: + - state: base + - state: unshaded + shader: unshaded + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#3db83b" + castShadows: false + - type: AmbientSound + volume: -9 + range: 5 + sound: + path: /Audio/Ambience/Objects/hdd_buzz.ogg + - type: RangedDamageSound + soundGroups: + Brute: + collection: + MetalBulletImpact + soundTypes: + Heat: + collection: + MetalLaserImpact + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 60 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:SpawnEntitiesBehavior + spawn: + SheetSteel1: + min: 1 + max: 2 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml new file mode 100644 index 00000000000..b23ddfbc110 --- /dev/null +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml @@ -0,0 +1,66 @@ +# Tier 1 +- type: startingGear + id: MobHumanoidExplorerGearMeleeT1 + equipment: + gloves: ClothingHandsGlovesWeaponWieldedPickaxe + back: ClothingBackpackExplorerMeleeT1 + belt: OreBag + shoes: ClothingShoesBootsSalvage + suitstorage: AirTankFilled + +- type: startingGear + id: MobHumanoidExplorerGearRangedT1 + equipment: + gloves: ClothingHandsGlovesWeaponPkaFlashlight + back: ClothingBackpackExplorerRangedT1 + belt: ClothingBeltSalvageWebbing + shoes: ClothingShoesBootsSalvage + suitstorage: AirTankFilled + +# Tier 2 +- type: startingGear + id: MobHumanoidExplorerGearMeleeT2 + equipment: + gloves: ClothingHandsGlovesWeaponWieldedGlaive + outerClothing: ClothingOuterHardsuitSpatio + back: ClothingBackpackExplorerMeleeT2 + belt: OreBag + shoes: ClothingShoesBootsSalvage + +- type: startingGear + id: MobHumanoidExplorerGearRangedT2 + equipment: + gloves: ClothingHandsGlovesWeaponSawnOffPkaDagger + outerClothing: ClothingOuterHardsuitSpatio + back: ClothingBackpackExplorerRangedT2 + belt: ClothingBeltSalvageWebbing + shoes: ClothingShoesBootsSalvage + +# Tier 3 +- type: startingGear + id: MobHumanoidExplorerGearMeleeT3 + equipment: + gloves: ClothingHandsGlovesWeaponDrill + outerClothing: ClothingOuterHardsuitSalvage + back: ClothingBackpackExplorerMeleeT3 + belt: OreBag + shoes: ClothingShoesBootsSalvage + +- type: startingGear + id: MobHumanoidExplorerGearRangedT3 + equipment: + gloves: ClothingHandsGlovesWeaponWieldedPka + outerClothing: ClothingOuterHardsuitLuxury + back: ClothingBackpackExplorerRangedT3 + belt: ClothingBeltSalvageWebbing + shoes: ClothingShoesBootsSalvage + +# Tier 4 +- type: startingGear + id: MobHumanoidExplorerGearBoss + equipment: + gloves: ClothingHandsGlovesWeaponSawnOffPkas + outerClothing: ClothingOuterHardsuitMaximPrototype + back: ClothingBackpackExplorerBoss + belt: ClothingBeltSalvageWebbing + shoes: ClothingShoesBootsSalvage diff --git a/Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/base.png b/Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..fc154812f42fdcda5b18184d95a9009f7007e6cd GIT binary patch literal 1077 zcmV-51j_q~P)EX>4Tx04R}tkv&MmP!xqvQ?)7;2Rn##$WWauii$W&6^me@v=v%)FnQ^Z(4-+r zad8w}3l9D)RvlcNb#-tR1i>E=X9p)m7b)?+q|hS93y=44-aUu+?gNB+nW<*SIG}2l zk&4H}Y;HviyrK&|@L>#LiJ5vLy^w)tece+h)m@ZldH4NUeM;VBfKMczWx8PzuMC;;fddta(rV!eCxoPIH}B7;!8jfh0u8sA2;jFNZGRuzcH;!_KLb}<%U`JjGoPf_ zT3X}?=-&n|u3MVC2VCv|gHO6-NRH&EB@_z4`x$*x4j8xvdRN`KHP3PS0Ay%ZOE@|;fcel^&-=60DegJoaa;bO_F;4&h00v@9M??TF0B8Vuai%Ds00009a7bBm z001r{001r{0eGc9b^rhX2XskIMF;2x2>~(f7CKn%*rtOB z($PUgI=Co`v;F|xgrc+{4zY@ZqZEom631#C1V4wOLuNk~yVgNc(wF3YG_R8v3QhX% zJLleW?|pp{2-^JIa+mgdW@BD~;k;Oy+AXHE0wsrTJ7Ozuo5 zGQj=bv!vo8;DDD(3$P3`5S%1&a=Oo50}9U~EmuUopkZ(K0J2TtNqwbSMomBBB2g+W zK-cSXGayPLbOzkfyLD%gNF-y>^*SuWgl)IwW`HCCppQf%8N=(#ySy5pwOplI#>0Kf zL!x=}1j{fnlu1b1`9%#&iz`T_GoI*eyA4&1LsjEl)|iflDWLOIe1gEq z_GHbBD68ex*S268aq1@S$WKo9`wEhL7A``E1kJubzWSsgr3&4Ke!4m>_(z~6|1k2? zkLL^!^`R0V&vo~6DxE>Tpdnw-dYNGP2uncIb9-mA7oB_P45bEwjGT7=s|IBGD1+93 zET1Utu#su*djpez=${H63))k`knK40DX$HAGvmHVt+vMH5f~l&d1I~VbUG@4kx-Y@ vsfn!bz3%qTJmlGQW?I|ud;j>{^x*vhQ)DN~)Avda00000NkvXXu0mjfwS(bF literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/meta.json b/Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/meta.json new file mode 100644 index 00000000000..b7908ee07f1 --- /dev/null +++ b/Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/meta.json @@ -0,0 +1,21 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation13 https://github.com/tgstation/tgstation/blob/master/icons/obj/exploration.dmi | Split into layers by erhardsteinhauer (discord/github)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "unshaded", + "delays": + [ + [ 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 ] + ] + } + ] +} diff --git a/Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/unshaded.png b/Resources/Textures/_NF/Structures/Specific/Explorers/salvageradar.rsi/unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..585cc7362b8c9377e615a788788cea5081008f47 GIT binary patch literal 916 zcmV;F18e+=P)EX>4Tx04R}tkv&MmP!xqvQ?)7;2Rn##$WWauii$W&6^me@v=v%)FnQ^Z(4-+r zad8w}3l9D)RvlcNb#-tR1i>E=X9p)m7b)?+q|hS93y=44-aUu+?gNB+nW<*SIG}2l zk&4H}Y;HviyrK&|@L>#LiJ5vLy^w)tece+h)m@ZldH4NUeM;VBfKMczWx8PzuMC;;fddta(rV!eCxoPIH}B7;!8jfh0u8sA2;jFNZGRuzcH;!_KLb}<%U`JjGoPf_ zT3X}?=-&n|u3MVC2VCv|gHO6-NRH&EB@_z4`x$*x4j8xvdRN`KHP3PS0Ay%ZOE@|;fcel^&-=60DegJoaa;bO_F;4&h00v@9M??TF0B8Vuai%Ds00009a7bBm z001r{001r{0eGc9b^rhX2XskIMF;2x2>~}aeN6lK0000PbVXQnLvL+uWo~o;Lvm$d zbY)~9cWHEJAV*0}P*;Ht7XSbOYDq*vRCwC$+_6gnVI0Qs=iCblq9tr=3WS`)F>%aE z5bhsHoNj3f2bZG7zaVIF==N~1{)50PC@^wra1ggh>TS9qXt+ZCUEKFGxjp#2FB~uL z?@j`Mbo0Z&`C;I)n!iZ7B!9ji4b+bYYDXPsQNCrqB;{LWmv5Dw$pT2y>~W^`+MSMf z8=gf8X~{QZwe!-F|4p;vSOmlJclu|}Y!On$s)TqEvR*zrk)4>5^4Wy|0000000000 z#*8m)%x}%OumS)8e^xvxn~tY1GT-|T<*y#BNs{ufTe>(r^_HFgUi*|J?cEpVo}Xwu zeUbC=Ny;DgCK~o8`Y66Fbx1cZf7;Dy+Rf=@|9S5Dzj{Bw>QE8qU!D*3u<~S(##OU?00000 q000000001fl=b<1zUl=a#l8SnTGbjNaMFhW0000 Date: Sun, 9 Jun 2024 06:47:29 +0300 Subject: [PATCH 36/73] fixes --- .../Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml | 2 +- .../_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index ca230536eef..076f15f7463 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -35,7 +35,7 @@ - type: MeleeWeapon attackRate: 1.0 altDisarm: false - Animation: WeaponArcPunch + animation: WeaponArcPunch angle: 0 damage: types: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 1fc32ebe08c..08a6327fc27 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -38,7 +38,7 @@ attackRate: 1.0 altDisarm: false angle: 0 - animation: WeaponArcBite + animation: WeaponArcPunch damage: types: Slash: 15 From af961101268c70edf66cc9c7657915bebe53ac6c Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 9 Jun 2024 06:52:40 +0300 Subject: [PATCH 37/73] more fixes --- Resources/Prototypes/Procedural/salvage_factions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index cbd0b660480..5c96d0cb752 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -368,7 +368,7 @@ amount: 1 prob: 0.1 - entries: - - id: MobExplorerPickaxe + - id: MobExplorerMeleeT1 amount: 2 maxAmount: 4 prob: 0.05 From 3e257d397caa2c62cf55ab96fd8f408d6d222e2a Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 9 Jun 2024 14:31:44 +0300 Subject: [PATCH 38/73] hauler --- .../Procedural/salvage_factions.yml | 6 +- .../Random/mobs_hostile_explorers.yml | 3 + .../mob_hostile_expeditions_explorers.yml | 66 ++++++++++++++++++- .../_NF/Roles/Jobs/Hostile/explorers.yml | 6 ++ 4 files changed, 79 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 5c96d0cb752..031b9d09d86 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -367,6 +367,10 @@ - id: SpawnMobExplorerT3 amount: 1 prob: 0.1 + - entries: + - id: MobExplorerHauler + amount: 1 + prob: 0.1 - entries: - id: MobExplorerMeleeT1 amount: 2 @@ -375,4 +379,4 @@ configs: DefenseStructure: ExplorersLootRadar Mining: Explorers - Megafauna: MobExplorerPkaBoss + Megafauna: MobExplorerBoss diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml index b2fcc068eda..25e442b3e67 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_explorers.yml @@ -83,3 +83,6 @@ - MobExplorerRangedT3 chance: 1 offset: 0.0 + rarePrototypes: + - MobExplorerHauler + rareChance: 0.1 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index 076f15f7463..82ffb692c07 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -42,7 +42,7 @@ Slash: 15 Structural: 30 soundHit: - path: /Audio/Weapons/bladeslice.ogg + collection: MetalThud - type: Advertise pack: mercanaryhumanoidchatter minimumWait: 30 @@ -82,6 +82,7 @@ state: equipped-HELMET - sprite: Objects/Tools/lantern.rsi state: on-equipped-BELT + shader: unshaded - type: PointLight radius: 3 energy: 2.5 @@ -153,6 +154,10 @@ state: equipped-head - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi state: equipped-head-unshaded + shader: unshaded + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head-light + shader: unshaded - type: PointLight radius: 3 energy: 1 @@ -177,6 +182,10 @@ state: equipped-head - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi state: equipped-head-unshaded + shader: unshaded + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head-light + shader: unshaded - type: RechargeBasicEntityAmmo rechargeCooldown: 0.75 rechargeSound: @@ -272,6 +281,61 @@ - SemiAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg +- type: entity + name: hauler + #noSpawn: true + parent: + - MobExplorerBase + id: MobExplorerHauler + components: + - type: Loadout + prototypes: + - MobHumanoidExplorerGearMechT3 + - type: Damageable + damageModifierSet: MobMercenaryDamageModifierSet + - type: Sprite + drawdepth: Mobs + sprite: Objects/Specific/Mech/mecha.rsi + layers: + - map: [ "enum.MechVisualLayers.Base" ] + state: hauler + - type: DamageStateVisuals + states: + Alive: + Base: hauler + Critical: + Base: hauler-broken + Dead: + Base: hauler-broken + - type: RotationVisuals + - type: Bloodstream + bloodReagent: WeldingFuel + bloodMaxVolume: 100 + - type: MobThresholds + thresholds: + 0: Alive + 200: Dead + - type: Stamina + critThreshold: 600 + - type: MovementSpeedModifier + baseWalkSpeed: 2.75 + baseSprintSpeed: 4 + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg + - type: Repairable + fuelCost: 25 + doAfterDelay: 10 + - type: MeleeWeapon + hidden: true + attackRate: 1 + damage: + types: + Blunt: 15 + Structural: 20 + soundHit: + collection: MetalThud + # Tier 4 - Boss - type: entity name: explorer diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml index b23ddfbc110..bfcf080e609 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml @@ -55,6 +55,12 @@ belt: ClothingBeltSalvageWebbing shoes: ClothingShoesBootsSalvage +- type: startingGear + id: MobHumanoidExplorerGearMechT3 + equipment: + pocket1: RipleyCentralElectronics + pocket2: RipleyPeripheralsElectronics + # Tier 4 - type: startingGear id: MobHumanoidExplorerGearBoss From 7233ecda9eac2a8107a0f9ac94985fbc37de498d Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 9 Jun 2024 15:26:47 +0300 Subject: [PATCH 39/73] merc gloves --- .../Fills/Backpacks/npc_loot_mercenaries.yml | 66 +++++++-- .../_NF/Entities/Clothing/Hands/gloves.yml | 128 ++++++++++++++++++ .../mob_hostile_expeditions_explorers.yml | 1 - .../Mobs/NPCs/mob_hostile_mercenaries.yml | 100 ++++---------- ...humanoid_simplified_inventory_template.yml | 8 ++ .../_NF/Roles/Jobs/Hostile/mercenaries.yml | 44 +++--- 6 files changed, 246 insertions(+), 101 deletions(-) diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml index 17ff9e39d75..b11b3a9722b 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml @@ -18,11 +18,6 @@ quickEquip: false slots: - back - - type: SpawnItemsOnUse - items: - - id: SpaceCash10 - sound: - path: /Audio/Items/jumpsuit_equip.ogg ## BELT - for ammo and mags - type: entity @@ -43,11 +38,6 @@ quickEquip: false slots: - belt - - type: SpawnItemsOnUse - items: - - id: SpaceCash10 - sound: - path: /Audio/Items/jumpsuit_equip.ogg # MERCENARY NPC LOOT ## TIER 1 @@ -58,16 +48,20 @@ components: - type: SpawnItemsOnUse items: + # Cash - id: SpaceCash500 prob: 0.9 - id: SpaceCash500 prob: 0.65 - id: SpaceCash1000 prob: 0.45 + # Weapons - id: WeaponPistolMk58Expedition prob: 0.9 + # Armor - id: ClothingOuterVestWebMercenary prob: 0.4 + # Items - id: ClothingNeckIFFNeutral prob: 0.2 sound: @@ -101,16 +95,20 @@ components: - type: SpawnItemsOnUse items: + # Cash - id: SpaceCash500 prob: 0.9 - id: SpaceCash500 prob: 0.65 - id: SpaceCash1000 prob: 0.45 + # Weapons - id: WeaponSniperMosin prob: 0.9 + # Armor - id: ClothingOuterVestWebMercenary prob: 0.4 + # Items - id: ClothingNeckIFFNeutral prob: 0.2 sound: @@ -138,16 +136,20 @@ components: - type: SpawnItemsOnUse items: + # Cash - id: SpaceCash1000 prob: 0.9 - id: SpaceCash500 prob: 0.65 - id: SpaceCash1000 prob: 0.45 + # Weapons - id: WeaponShotgunDoubleBarreled prob: 0.9 + # Armor - id: ClothingOuterArmorBasicSlim prob: 0.4 + # Items - id: ClothingNeckIFFNeutral prob: 0.2 sound: @@ -174,20 +176,24 @@ components: - type: SpawnItemsOnUse items: + # Cash - id: SpaceCash1000 prob: 0.9 - id: SpaceCash500 prob: 0.65 - id: SpaceCash1000 prob: 0.45 + # Weapons - id: WeaponRevolverArgenti prob: 0.9 - id: WeaponRevolverArgenti prob: 0.3 + # Armor - id: ClothingOuterCoatBHTrench prob: 0.4 - id: ClothingHeadHatBH prob: 0.4 + # Items - id: ClothingNeckIFFNeutral prob: 0.2 sound: @@ -227,23 +233,55 @@ state: icon - type: SpawnItemsOnUse items: + # Cash - id: SpaceCash1000 prob: 0.9 - id: SpaceCash1000 prob: 0.65 - id: SpaceCash1000 prob: 0.45 - - id: SpawnDungeonLootKitsFirstAid - prob: 0.45 + # Weapons - id: WeaponLaserGun prob: 0.9 - id: SawElectric prob: 0.7 + # Armor + # Items + - id: SpawnDungeonLootKitsFirstAid + prob: 0.45 - id: ClothingNeckIFFNeutral prob: 0.2 sound: path: /Audio/Items/jumpsuit_equip.ogg +- type: entity + parent: MercenaryWebbingBox + id: ClothingBeltMecranaryTier3Medic + noSpawn: true + components: + - type: Sprite + sprite: Clothing/Belt/emt.rsi + state: icon + - type: SpawnItemsOnUse + items: + - id: Brutepack + prob: 0.6 + - id: Ointment + prob: 0.6 + - id: Bloodpack + prob: 0.7 + - id: Gauze + amount: 1 + prob: 0.9 + - id: EmergencyMedipen + prob: 0.7 + - id: EmergencyMedipen + prob: 0.4 + - id: EmergencyMedipen + prob: 0.2 + sound: + path: /Audio/Items/jumpsuit_equip.ogg + ## TIER 4 - type: entity parent: MercenaryDuffelGiftBox @@ -283,6 +321,7 @@ color: "#eeeeee" - type: SpawnItemsOnUse items: + # Cash - id: SpaceCash2500 prob: 0.9 - id: SpaceCash1000 @@ -291,10 +330,13 @@ prob: 0.45 - id: SpaceCash1000 prob: 0.15 + # Weapons - id: WeaponSniperRepeaterExpedition prob: 0.9 + # Armor - id: ClothingOuterArmorBulletproof prob: 0.4 + # Items - id: MagazineBoxMagnum prob: 0.9 - id: MagazineBoxMagnum diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml index c681030131e..849a7f9b344 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Hands/gloves.yml @@ -128,6 +128,134 @@ - sprite: Objects/Weapons/Guns/Pistols/viper.rsi state: inhand-left +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercPistol + name: combat gloves + suffix: pistol + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/mercbattle.rsi + state: equipped-HAND + - sprite: Objects/Weapons/Guns/Pistols/mk58.rsi + state: inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercRevolvers + name: combat gloves + suffix: double revolvers + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: _NF/Objects/Weapons/Guns/Revolvers/argenti.rsi + state: inhand-right + - sprite: _NF/Objects/Weapons/Guns/Revolvers/argenti.rsi + state: inhand-left + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercShotgun + name: combat gloves + suffix: shotgun + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi + state: wielded-inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercMosin + name: combat gloves + suffix: mosin + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/mercbattle.rsi + state: equipped-HAND + - sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi + state: wielded-inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercRepeater + name: combat gloves + suffix: repeater + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: _NF/Objects/Weapons/Guns/Snipers/repeater.rsi + state: wielded-inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercHatchet + name: combat gloves + suffix: hatchet + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/mercbattle.rsi + state: equipped-HAND + - sprite: Objects/Weapons/Melee/shields.rsi + state: metal-inhand-left + - sprite: Objects/Tools/Hydroponics/hatchet.rsi + state: inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercMachete + name: combat gloves + suffix: hatchet + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Objects/Weapons/Melee/shields.rsi + state: metal-inhand-left + - sprite: Objects/Weapons/Melee/machete.rsi + state: inhand-right + +- type: entity + parent: ClothingHandsGlovesColorBlackSMG + id: ClothingHandsGlovesColorMercLaserNSaw + name: combat gloves + suffix: laser and saw + noSpawn: true + components: + - type: Clothing + clothingVisuals: + gloves: + - sprite: Clothing/Hands/Gloves/fingerless.rsi + state: equipped-HAND + - sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi + state: inhand-left-3 + - sprite: Objects/Specific/Medical/Surgery/saw.rsi + state: electric-inhand-right + - type: entity parent: ClothingHandsGlovesColorBlackSMG id: ClothingHandsGlovesColorBlackPython diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index 82ffb692c07..a6dac5afd96 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -307,7 +307,6 @@ Base: hauler-broken Dead: Base: hauler-broken - - type: RotationVisuals - type: Bloodstream bloodReagent: WeldingFuel bloodMaxVolume: 100 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 08a6327fc27..376cac775d7 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -63,7 +63,7 @@ components: - type: Loadout prototypes: - - MobHumanoidMercenaryGearTier1Knife + - MobHumanoidMercenaryGearMeleeT1 - type: Sprite drawdepth: Mobs layers: @@ -72,18 +72,12 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" #"#404029" - - sprite: Clothing/Hands/Gloves/mercbattle.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/merc.rsi state: equipped-MASK - sprite: Clothing/Head/Helmets/merc_helmet.rsi state: equipped-HELMET - - sprite: Objects/Tools/Hydroponics/hatchet.rsi - state: inhand-right - - sprite: Objects/Weapons/Melee/shields.rsi - state: buckler-inhand-left - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -99,7 +93,7 @@ components: - type: Loadout prototypes: - - MobHumanoidMercenaryGearTier1Pistol + - MobHumanoidMercenaryGearRangedT1 - type: Sprite drawdepth: Mobs layers: @@ -108,16 +102,12 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" - - sprite: Clothing/Hands/Gloves/mercbattle.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/merc.rsi state: equipped-MASK - sprite: Clothing/Head/Helmets/merc_helmet.rsi state: equipped-HELMET - - sprite: Objects/Weapons/Guns/Pistols/mk58.rsi - state: inhand-right - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -144,7 +134,7 @@ components: - type: Loadout prototypes: - - MobHumanoidMercenaryGearTier1Mosin + - MobHumanoidMercenaryGearRangedAltT1 - type: Sprite drawdepth: Mobs layers: @@ -153,16 +143,12 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" - - sprite: Clothing/Hands/Gloves/mercbattle.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Vests/mercwebvest.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/merc.rsi state: equipped-MASK - sprite: Clothing/Head/Helmets/merc_helmet.rsi state: equipped-HELMET - - sprite: Objects/Weapons/Guns/Snipers/bolt_gun_wood.rsi - state: wielded-inhand-right - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -184,13 +170,15 @@ ## Tier 2 - type: entity name: mercenary breacher - parent: MobMercenaryBase - id: MobMercenaryBreacherShotgun + parent: + - MobMercenaryBase + - MobHumanoidHostileAISimpleMelee + id: MobMercenaryBreacherMachete noSpawn: true components: - type: Loadout prototypes: - - MobHumanoidMercenaryGearTier2Shotgun + - MobHumanoidMercenaryGearMeleeT2 - type: Sprite drawdepth: Mobs layers: @@ -199,37 +187,20 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#3d5c87" - - sprite: Clothing/Hands/Gloves/fingerless.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/security_slim.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/gas.rsi state: equipped-MASK - sprite: Clothing/Head/Helmets/security.rsi state: equipped-HELMET - - sprite: Objects/Weapons/Guns/Shotguns/db_shotgun_inhands_64x.rsi - state: wielded-inhand-right + - sprite: Clothing/Belt/militarywebbing.rsi + state: equipped-BELT - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-on color: "#a9b6bd" shader: unshaded - - type: RechargeBasicEntityAmmo - rechargeCooldown: 2 - rechargeSound: - path: /Audio/_NF/Effects/silence.ogg - - type: BasicEntityAmmoProvider - proto: ShellShotgun - capacity: 1 - count: 1 - - type: Gun - showExamineText: false - fireRate: 2 - selectedMode: SemiAuto - availableModes: - - SemiAuto - soundGunshot: /Audio/Weapons/Guns/Gunshots/shotgun.ogg - type: entity name: mercenary breacher @@ -239,7 +210,7 @@ components: - type: Loadout prototypes: - - MobHumanoidMercenaryGearTier2Revolver + - MobHumanoidMercenaryGearRangedT2 - type: Sprite drawdepth: Mobs layers: @@ -248,8 +219,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#3d5c87" - - sprite: Clothing/Hands/Gloves/fingerless.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Coats/hos_trenchcoat.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/neckgaiter.rsi @@ -258,10 +227,6 @@ state: equipped-EYES - sprite: Clothing/Head/Hats/hoshat.rsi state: equipped-HELMET - - sprite: _NF/Objects/Weapons/Guns/Revolvers/argenti.rsi - state: inhand-right - - sprite: _NF/Objects/Weapons/Guns/Revolvers/argenti.rsi - state: inhand-left - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -282,15 +247,13 @@ - type: entity name: mercenary breacher - parent: - - MobMercenaryBase - - MobHumanoidHostileAISimpleMelee - id: MobMercenaryBreacherMachete + parent: MobMercenaryBase + id: MobMercenaryBreacherShotgun noSpawn: true components: - type: Loadout prototypes: - - MobHumanoidMercenaryGearTier2Machete + - MobHumanoidMercenaryGearRangedAltT2 - type: Sprite drawdepth: Mobs layers: @@ -299,26 +262,33 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#3d5c87" - - sprite: Clothing/Hands/Gloves/fingerless.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/security_slim.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/gas.rsi state: equipped-MASK - sprite: Clothing/Head/Helmets/security.rsi state: equipped-HELMET - - sprite: Clothing/Belt/militarywebbing.rsi - state: equipped-BELT - - sprite: Objects/Weapons/Melee/machete.rsi - state: inhand-right - - sprite: Objects/Weapons/Melee/shields.rsi - state: metal-inhand-left - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-on color: "#a9b6bd" shader: unshaded + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/_NF/Effects/silence.ogg + - type: BasicEntityAmmoProvider + proto: ShellShotgun + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 2 + selectedMode: SemiAuto + availableModes: + - SemiAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/shotgun.ogg ## Tier 3 - type: entity @@ -329,7 +299,7 @@ components: - type: Loadout prototypes: - - MobHumanoidMercenaryGearTier3Medic + - MobHumanoidMercenaryGearRangedT3 - type: Sprite drawdepth: Mobs layers: @@ -338,18 +308,12 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#2e687a" - - sprite: Clothing/Hands/Gloves/fingerless.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/security_slim.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/medicalsecurity.rsi state: equipped-MASK - sprite: Clothing/Head/Helmets/light_riot.rsi state: equipped-HELMET - - sprite: Objects/Specific/Medical/Surgery/saw.rsi - state: electric-inhand-right - - sprite: Objects/Weapons/Guns/Battery/laser_retro.rsi - state: inhand-left-3 - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -391,8 +355,6 @@ - sprite: Clothing/Uniforms/Jumpsuit/color.rsi state: equipped-INNERCLOTHING color: "#d3bf86" - - sprite: Clothing/Hands/Gloves/fingerless.rsi - state: equipped-HAND - sprite: Clothing/OuterClothing/Armor/bulletproof.rsi state: equipped-OUTERCLOTHING - sprite: Clothing/Mask/gassecurity.rsi @@ -403,8 +365,6 @@ state: equipped-BELT - sprite: Clothing/Neck/mantles/qmmantle.rsi state: equipped-NECK - - sprite: _NF/Objects/Weapons/Guns/Snipers/repeater.rsi - state: wielded-inhand-right - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi state: equipped-NECK-off - sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi diff --git a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml index 54485d53265..b93d1e9fdd7 100644 --- a/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml +++ b/Resources/Prototypes/_NF/InventoryTemplates/hostile_humanoid_simplified_inventory_template.yml @@ -49,3 +49,11 @@ uiWindowPos: 1,0 strippingWindowPos: 21,23 displayName: Shoes + + - name: gloves + stripTime: 999999 + slotTexture: gloves + slotFlags: GLOVES + uiWindowPos: 2,1 + strippingWindowPos: 22,22 + displayName: Gloves diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml index f8b8c5ac79c..8b5b1433934 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/mercenaries.yml @@ -1,58 +1,66 @@ # Tier 1 - type: startingGear - id: MobHumanoidMercenaryGearTier1Pistol + id: MobHumanoidMercenaryGearMeleeT1 equipment: - back: ClothingBackpackDuffelMecranaryTier1Pistol - belt: ClothingBeltWebbingMecranaryTier1Pistol + gloves: ClothingHandsGlovesColorMercHatchet + pocket1: SpaceCash500 + pocket2: HydroponicsToolHatchet shoes: ClothingShoesBootsMercenary - type: startingGear - id: MobHumanoidMercenaryGearTier1Mosin + id: MobHumanoidMercenaryGearRangedT1 equipment: - back: ClothingBackpackDuffelMecranaryTier1Mosin - belt: ClothingBeltWebbingMecranaryTier1Mosin + gloves: ClothingHandsGlovesColorMercPistol + back: ClothingBackpackDuffelMecranaryTier1Pistol + belt: ClothingBeltWebbingMecranaryTier1Pistol shoes: ClothingShoesBootsMercenary - type: startingGear - id: MobHumanoidMercenaryGearTier1Knife + id: MobHumanoidMercenaryGearRangedAltT1 equipment: - pocket1: SpaceCash500 - pocket2: HydroponicsToolHatchet + gloves: ClothingHandsGlovesColorMercMosin + back: ClothingBackpackDuffelMecranaryTier1Mosin + belt: ClothingBeltWebbingMecranaryTier1Mosin shoes: ClothingShoesBootsMercenary # Tier 2 - type: startingGear - id: MobHumanoidMercenaryGearTier2Shotgun + id: MobHumanoidMercenaryGearMeleeT2 equipment: - back: ClothingBackpackDuffelMecranaryTier2Shotgun - belt: ClothingBeltWebbingMecranaryTier2Shotgun + gloves: ClothingHandsGlovesColorMercMachete + pocket1: Machete + pocket2: SpaceCash1000 shoes: ClothingShoesBootsCombat - type: startingGear - id: MobHumanoidMercenaryGearTier2Revolver + id: MobHumanoidMercenaryGearRangedT2 equipment: + gloves: ClothingHandsGlovesColorMercRevolvers back: ClothingBackpackDuffelMecranaryTier2Revolver belt: ClothingBeltWebbingMecranaryTier2Revolver shoes: ClothingShoesBootsCombat - type: startingGear - id: MobHumanoidMercenaryGearTier2Machete + id: MobHumanoidMercenaryGearRangedAltT2 equipment: - pocket1: Machete - pocket2: SpaceCash1000 + gloves: ClothingHandsGlovesColorMercShotgun + back: ClothingBackpackDuffelMecranaryTier2Shotgun + belt: ClothingBeltWebbingMecranaryTier2Shotgun shoes: ClothingShoesBootsCombat # Tier 3 - type: startingGear - id: MobHumanoidMercenaryGearTier3Medic + id: MobHumanoidMercenaryGearRangedT3 equipment: + gloves: ClothingHandsGlovesColorMercLaserNSaw back: ClothingBackpackDuffelMecranaryTier3Medic - belt: ClothingBeltMedicalFilled + belt: ClothingBeltMecranaryTier3Medic shoes: ClothingShoesBootsCombat # Tier 4 - type: startingGear id: MobHumanoidMercenaryGearTier4Captain equipment: + gloves: ClothingHandsGlovesColorMercRepeater back: ClothingBackpackDuffelMecranaryTier4Captain shoes: ClothingShoesBootsCombat From 04295a2ac88cff5e9d138bf3545edf454fd21681 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 9 Jun 2024 15:51:41 +0300 Subject: [PATCH 40/73] explorer iff --- .../Fills/Backpacks/npc_loot_explorers.yml | 14 +++++++ .../_NF/Entities/Clothing/Neck/misc.yml | 21 +++++++++++ .../mob_hostile_expeditions_explorers.yml | 37 +++++++++++++------ .../_NF/Roles/Jobs/Hostile/explorers.yml | 7 ++++ 4 files changed, 67 insertions(+), 12 deletions(-) diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml index 5fd9dcb8153..fc49e7767ec 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml @@ -37,6 +37,8 @@ prob: 0.4 - id: SpawnDungeonLootOresFull prob: 0.2 + - id: ClothingNeckIFFCyan + prob: 0.1 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -65,6 +67,8 @@ prob: 0.4 - id: SpawnDungeonLootOresFull prob: 0.2 + - id: ClothingNeckIFFCyan + prob: 0.1 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -96,6 +100,8 @@ prob: 0.4 - id: SpawnDungeonLootOresFull prob: 0.2 + - id: ClothingNeckIFFCyan + prob: 0.1 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -127,6 +133,8 @@ prob: 0.6 - id: SpawnDungeonLootOresFull prob: 0.4 + - id: ClothingNeckIFFCyan + prob: 0.1 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -158,6 +166,8 @@ prob: 0.4 - id: SpawnDungeonLootOresFull prob: 0.2 + - id: ClothingNeckIFFCyan + prob: 0.1 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -190,6 +200,8 @@ prob: 0.6 - id: SpawnDungeonLootOresFull prob: 0.4 + - id: ClothingNeckIFFCyan + prob: 0.1 sound: path: /Audio/Items/jumpsuit_equip.ogg @@ -223,5 +235,7 @@ prob: 0.6 - id: SpawnDungeonLootOresFull prob: 0.4 + - id: ClothingNeckIFFCyan + prob: 0.1 sound: path: /Audio/Items/jumpsuit_equip.ogg diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml index 0cbc568c36d..85ad1f418af 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml @@ -148,3 +148,24 @@ - state: equipped-NECK-on color: "#0055cc" shader: unshaded + +- type: entity + parent: ClothingNeckIFFNeutral + id: ClothingNeckIFFCyan + suffix: Cyan + components: + - type: Sprite + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: icon-off + - state: icon-on + color: "#47f8ff" + shader: unshaded + - type: Clothing + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + clothingVisuals: + neck: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#47f8ff" + shader: unshaded diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index a6dac5afd96..3d175fea485 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -55,6 +55,7 @@ energy: 1 autoRot: true netsync: false + color: "#47f8ff" # Variations ## Tier 1 @@ -86,7 +87,6 @@ - type: PointLight radius: 3 energy: 2.5 - color: "#FFC458" - type: entity name: explorer @@ -226,7 +226,10 @@ - sprite: _NF/Mobs/Species/Templates/human.rsi state: human - sprite: Clothing/Head/Hardsuits/salvage.rsi - state: on-equipped-HELMET + state: off-equipped-HELMET + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head-light + shader: unshaded - type: MeleeWeapon autoAttack: true angle: 0 @@ -260,11 +263,10 @@ - sprite: _NF/Mobs/Species/Templates/human.rsi state: human - sprite: Clothing/Head/Hardsuits/luxury.rsi - state: on-equipped-HELMET - - type: PointLight - radius: 7 - energy: 3 - mask: /Textures/Effects/LightMasks/cone.png + state: off-equipped-HELMET + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head-light + shader: unshaded - type: RechargeBasicEntityAmmo rechargeCooldown: 0.75 rechargeSound: @@ -280,6 +282,10 @@ availableModes: - SemiAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg + - type: PointLight + radius: 7 + energy: 3 + mask: /Textures/Effects/LightMasks/cone.png - type: entity name: hauler @@ -334,6 +340,10 @@ Structural: 20 soundHit: collection: MetalThud + - type: PointLight + radius: 5 + energy: 2 + mask: /Textures/Effects/LightMasks/cone.png # Tier 4 - Boss - type: entity @@ -352,11 +362,10 @@ - sprite: _NF/Mobs/Species/Templates/human.rsi state: human - sprite: _NF/Clothing/Head/Hardsuits/maxim_prototype.rsi - state: on-equipped-HELMET - - type: PointLight - radius: 7 - energy: 3 - mask: /Textures/Effects/LightMasks/cone.png + state: off-equipped-HELMET + - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi + state: equipped-head-light + shader: unshaded - type: RechargeBasicEntityAmmo rechargeCooldown: 0.375 rechargeSound: @@ -374,3 +383,7 @@ availableModes: - FullAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg + - type: PointLight + radius: 7 + energy: 3 + mask: /Textures/Effects/LightMasks/cone.png diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml index bfcf080e609..6aee0510a54 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml @@ -7,6 +7,7 @@ belt: OreBag shoes: ClothingShoesBootsSalvage suitstorage: AirTankFilled + neck: ClothingNeckIFFCyan - type: startingGear id: MobHumanoidExplorerGearRangedT1 @@ -16,6 +17,7 @@ belt: ClothingBeltSalvageWebbing shoes: ClothingShoesBootsSalvage suitstorage: AirTankFilled + neck: ClothingNeckIFFCyan # Tier 2 - type: startingGear @@ -26,6 +28,7 @@ back: ClothingBackpackExplorerMeleeT2 belt: OreBag shoes: ClothingShoesBootsSalvage + neck: ClothingNeckIFFCyan - type: startingGear id: MobHumanoidExplorerGearRangedT2 @@ -35,6 +38,7 @@ back: ClothingBackpackExplorerRangedT2 belt: ClothingBeltSalvageWebbing shoes: ClothingShoesBootsSalvage + neck: ClothingNeckIFFCyan # Tier 3 - type: startingGear @@ -45,6 +49,7 @@ back: ClothingBackpackExplorerMeleeT3 belt: OreBag shoes: ClothingShoesBootsSalvage + neck: ClothingNeckIFFCyan - type: startingGear id: MobHumanoidExplorerGearRangedT3 @@ -54,6 +59,7 @@ back: ClothingBackpackExplorerRangedT3 belt: ClothingBeltSalvageWebbing shoes: ClothingShoesBootsSalvage + neck: ClothingNeckIFFCyan - type: startingGear id: MobHumanoidExplorerGearMechT3 @@ -70,3 +76,4 @@ back: ClothingBackpackExplorerBoss belt: ClothingBeltSalvageWebbing shoes: ClothingShoesBootsSalvage + neck: ClothingNeckIFFCyan From 78cda12eb406e12e6b6a2bf6c7985947e7251e42 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Sun, 9 Jun 2024 17:05:48 +0300 Subject: [PATCH 41/73] iff strobe to salvage techfab --- .../_NF/Entities/Clothing/Neck/misc.yml | 11 ++++--- .../Entities/Structures/Machines/lathe.yml | 3 ++ .../Prototypes/_NF/Recipes/Lathes/misc.yml | 30 +++++++++++++++++++ 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml index 85ad1f418af..100acc8da8f 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml @@ -64,9 +64,8 @@ - type: entity parent: ClothingNeckBase id: ClothingNeckIFFNeutral - name: IFF strobe + name: IFF moon white strobe description: Visible LED IFF kit that consists of helmet and shoulder strobes. - suffix: Neutral components: - type: Item size: Small @@ -89,7 +88,7 @@ - type: entity parent: ClothingNeckIFFNeutral id: ClothingNeckIFFGreen - suffix: Green + name: IFF green strobe components: - type: Sprite sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -110,7 +109,7 @@ - type: entity parent: ClothingNeckIFFNeutral id: ClothingNeckIFFRed - suffix: Red + name: IFF red strobe components: - type: Sprite sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -131,7 +130,7 @@ - type: entity parent: ClothingNeckIFFNeutral id: ClothingNeckIFFBlue - suffix: Blue + name: IFF blue strobe components: - type: Sprite sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi @@ -152,7 +151,7 @@ - type: entity parent: ClothingNeckIFFNeutral id: ClothingNeckIFFCyan - suffix: Cyan + name: IFF cyan strobe components: - type: Sprite sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml index d0b35956d37..6bcaa5e859e 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml @@ -308,6 +308,9 @@ - OreBag - MiningDrill - WeaponProtoKineticAccelerator + - ClothingNeckIFFGreen + - ClothingNeckIFFRed + - ClothingNeckIFFBlue dynamicRecipes: - Bucket - MopItem diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml b/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml index 80c51a0e93b..193bf4d94b9 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml @@ -97,3 +97,33 @@ materials: Steel: 500 Cloth: 500 + +- type: latheRecipe + id: ClothingNeckIFFGreen + result: ClothingNeckIFFGreen + completetime: 1 + category: Tools + materials: + Steel: 500 + Plastic: 500 + Silver: 100 + +- type: latheRecipe + id: ClothingNeckIFFRed + result: ClothingNeckIFFRed + completetime: 1 + category: Tools + materials: + Steel: 500 + Plastic: 500 + Silver: 100 + +- type: latheRecipe + id: ClothingNeckIFFBlue + result: ClothingNeckIFFBlue + completetime: 1 + category: Tools + materials: + Steel: 500 + Plastic: 500 + Silver: 100 From a38c49801322718b207e4de8f776813560183252 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 10 Jun 2024 04:57:03 +0300 Subject: [PATCH 42/73] fixes --- .../mobchatter/mercenaryhumanoidmob.ftl | 40 +++++++++--------- .../Procedural/salvage_factions.yml | 4 +- .../Fills/Backpacks/npc_loot_explorers.yml | 2 +- .../NPCsChatter/mercenaryhumanoidmob.yml | 42 +++++++++---------- .../Spawners/Random/mobs_hostile_argocyte.yml | 2 +- .../Random/mobs_hostile_dinosaurs.yml | 2 +- .../mob_hostile_expeditions_explorers.yml | 2 +- .../Mobs/NPCs/mob_hostile_mercenaries.yml | 2 +- 8 files changed, 48 insertions(+), 48 deletions(-) diff --git a/Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl b/Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl index d0231220cab..e9bec8e5293 100644 --- a/Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl +++ b/Resources/Locale/en-US/_NF/advertisements/mobchatter/mercenaryhumanoidmob.ftl @@ -1,20 +1,20 @@ -advertisement-mercanaryhumanoid-1 = Contact! -advertisement-mercanaryhumanoid-2 = In position! Over. -advertisement-mercanaryhumanoid-3 = Sights are cold! -advertisement-mercanaryhumanoid-4 = Radio check. Over. -advertisement-mercanaryhumanoid-5 = Check in. What's your status? Over. -advertisement-mercanaryhumanoid-6 = Spread out! -advertisement-mercanaryhumanoid-7 = Keep your eyes open! -advertisement-mercanaryhumanoid-8 = Lost contact with the lookout. Over. -advertisement-mercanaryhumanoid-9 = Finishing my patrol and heading back. Over. -advertisement-mercanaryhumanoid-10 = Command, what's the sitrep? Over. -advertisement-mercanaryhumanoid-11 = He's on the move! -advertisement-mercanaryhumanoid-12 = Command, we've lost contact with the search team! -advertisement-mercanaryhumanoid-13 = Fan out! -advertisement-mercanaryhumanoid-14 = Any word on that reinforcements? Over. -advertisement-mercanaryhumanoid-15 = I could use some reinforcements, command! -advertisement-mercanaryhumanoid-16 = Orders received and understood! Over. -advertisement-mercanaryhumanoid-17 = Watch your step. -advertisement-mercanaryhumanoid-18 = Confirmed. Over. -advertisement-mercanaryhumanoid-19 = In here. Over. -advertisement-mercanaryhumanoid-20 = Neutralize him now! +advertisement-mercenaryhumanoid-1 = Contact! +advertisement-mercenaryhumanoid-2 = In position! Over. +advertisement-mercenaryhumanoid-3 = Sights are cold! +advertisement-mercenaryhumanoid-4 = Radio check. Over. +advertisement-mercenaryhumanoid-5 = Check in. What's your status? Over. +advertisement-mercenaryhumanoid-6 = Spread out! +advertisement-mercenaryhumanoid-7 = Keep your eyes open! +advertisement-mercenaryhumanoid-8 = Lost contact with the lookout. Over. +advertisement-mercenaryhumanoid-9 = Finishing my patrol and heading back. Over. +advertisement-mercenaryhumanoid-10 = Command, what's the sitrep? Over. +advertisement-mercenaryhumanoid-11 = Target on the move! +advertisement-mercenaryhumanoid-12 = Command, we've lost contact with the search team! +advertisement-mercenaryhumanoid-13 = Fan out! +advertisement-mercenaryhumanoid-14 = Any word on those reinforcements? Over. +advertisement-mercenaryhumanoid-15 = I could use some reinforcements, command! +advertisement-mercenaryhumanoid-16 = Orders received and understood! Over. +advertisement-mercenaryhumanoid-17 = Watch your step. +advertisement-mercenaryhumanoid-18 = Confirmed. Over. +advertisement-mercenaryhumanoid-19 = In here. Over. +advertisement-mercenaryhumanoid-20 = Neutralize the target! diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 031b9d09d86..ac1fca654dd 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -1,5 +1,5 @@ - type: salvageFaction - id: Xeno + id: Xenos # Frontier cost: 3 groups: - entries: @@ -40,7 +40,7 @@ # prob: 0.001 configs: DefenseStructure: XenoWardingTower - Mining: Xeno + Mining: Xenos # Frontier Megafauna: MobXenoQueenDungeon # Frontier - type: salvageFaction diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml index fc49e7767ec..c3cd0c97cbd 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml @@ -226,7 +226,7 @@ amount: 2 # Armor - id: ClothingOuterHardsuitMaximPrototype - prob: 0.2 + prob: 0.1 # Items - id: SpawnDungeonLootClutterEngi prob: 0.9 diff --git a/Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml b/Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml index f9c769b51d6..eab033d78ec 100644 --- a/Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml +++ b/Resources/Prototypes/_NF/Catalog/NPCsChatter/mercenaryhumanoidmob.yml @@ -1,23 +1,23 @@ - type: messagePack - id: mercanaryhumanoidchatter + id: mercenaryhumanoidchatter messages: - - advertisement-mercanaryhumanoid-1 - - advertisement-mercanaryhumanoid-2 - - advertisement-mercanaryhumanoid-3 - - advertisement-mercanaryhumanoid-4 - - advertisement-mercanaryhumanoid-5 - - advertisement-mercanaryhumanoid-6 - - advertisement-mercanaryhumanoid-7 - - advertisement-mercanaryhumanoid-8 - - advertisement-mercanaryhumanoid-9 - - advertisement-mercanaryhumanoid-10 - - advertisement-mercanaryhumanoid-11 - - advertisement-mercanaryhumanoid-12 - - advertisement-mercanaryhumanoid-13 - - advertisement-mercanaryhumanoid-14 - - advertisement-mercanaryhumanoid-15 - - advertisement-mercanaryhumanoid-16 - - advertisement-mercanaryhumanoid-17 - - advertisement-mercanaryhumanoid-18 - - advertisement-mercanaryhumanoid-19 - - advertisement-mercanaryhumanoid-20 + - advertisement-mercenaryhumanoid-1 + - advertisement-mercenaryhumanoid-2 + - advertisement-mercenaryhumanoid-3 + - advertisement-mercenaryhumanoid-4 + - advertisement-mercenaryhumanoid-5 + - advertisement-mercenaryhumanoid-6 + - advertisement-mercenaryhumanoid-7 + - advertisement-mercenaryhumanoid-8 + - advertisement-mercenaryhumanoid-9 + - advertisement-mercenaryhumanoid-10 + - advertisement-mercenaryhumanoid-11 + - advertisement-mercenaryhumanoid-12 + - advertisement-mercenaryhumanoid-13 + - advertisement-mercenaryhumanoid-14 + - advertisement-mercenaryhumanoid-15 + - advertisement-mercenaryhumanoid-16 + - advertisement-mercenaryhumanoid-17 + - advertisement-mercenaryhumanoid-18 + - advertisement-mercenaryhumanoid-19 + - advertisement-mercenaryhumanoid-20 diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_argocyte.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_argocyte.yml index 1d9c58889fd..ed365db8269 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_argocyte.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_argocyte.yml @@ -30,7 +30,7 @@ layers: - state: red - sprite: Mobs/Aliens/Argocyte/argocyte_common.rsi - state: swiper + state: pouncer - state: ai - type: RandomSpawner prototypes: diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml index 316b87146c9..abed6197668 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml @@ -50,7 +50,7 @@ layers: - state: red - sprite: _NF/Mobs/Dinosaurs/trex.rsi - state: trex + state: stego - state: ai - type: RandomSpawner prototypes: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index 3d175fea485..b65ca40f8b8 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -44,7 +44,7 @@ soundHit: collection: MetalThud - type: Advertise - pack: mercanaryhumanoidchatter + pack: mercenaryhumanoidchatter minimumWait: 30 maximumWait: 120 nextAdvertisementTime: 10 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 376cac775d7..7eb5a569353 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -45,7 +45,7 @@ soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Advertise - pack: mercanaryhumanoidchatter + pack: mercenaryhumanoidchatter minimumWait: 30 maximumWait: 120 nextAdvertisementTime: 10 From 4f0101d7061237bf3c227f5c710e9e057c12a487 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 10 Jun 2024 05:02:00 +0300 Subject: [PATCH 43/73] more fixes --- .../Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml index abed6197668..206050c94ee 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_dinosaurs.yml @@ -49,7 +49,7 @@ - type: Sprite layers: - state: red - - sprite: _NF/Mobs/Dinosaurs/trex.rsi + - sprite: _NF/Mobs/Dinosaurs/stego.rsi state: stego - state: ai - type: RandomSpawner From ef6c2d822f5e5a3311f0ba8b49244f4bd9566304 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 10 Jun 2024 05:24:44 +0300 Subject: [PATCH 44/73] nerfed cash rewards from explorers and mercenaries --- .../Fills/Backpacks/npc_loot_explorers.yml | 20 ++++++------ .../Fills/Backpacks/npc_loot_mercenaries.yml | 32 +++++++++---------- 2 files changed, 26 insertions(+), 26 deletions(-) diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml index c3cd0c97cbd..fd0916fb4fc 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_explorers.yml @@ -21,11 +21,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash500 + - id: SpaceCash100 prob: 0.9 - id: SpaceCash500 prob: 0.4 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.2 # Weapons - id: Pickaxe @@ -50,11 +50,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash500 + - id: SpaceCash100 prob: 0.9 - id: SpaceCash500 prob: 0.4 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.2 # Weapons - id: WeaponProtoKineticAccelerator @@ -81,11 +81,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.9 - id: SpaceCash500 prob: 0.4 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.2 # Weapons - id: WeaponCrusherGlaive @@ -113,11 +113,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.9 - id: SpaceCash500 prob: 0.4 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.2 # Weapons - id: WeaponProtoKineticAccelerator @@ -147,7 +147,7 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.9 - id: SpaceCash500 prob: 0.4 @@ -183,7 +183,7 @@ prob: 0.9 - id: SpaceCash1000 prob: 0.4 - - id: SpaceCash2500 + - id: SpaceCash500 prob: 0.2 # Weapons - id: WeaponProtoKineticAccelerator diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml index b11b3a9722b..d89aab88f17 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_mercenaries.yml @@ -49,11 +49,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash500 + - id: SpaceCash100 prob: 0.9 - id: SpaceCash500 prob: 0.65 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.45 # Weapons - id: WeaponPistolMk58Expedition @@ -96,11 +96,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash500 + - id: SpaceCash100 prob: 0.9 - id: SpaceCash500 prob: 0.65 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.45 # Weapons - id: WeaponSniperMosin @@ -137,11 +137,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.9 - id: SpaceCash500 prob: 0.65 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.45 # Weapons - id: WeaponShotgunDoubleBarreled @@ -177,11 +177,11 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.9 - id: SpaceCash500 prob: 0.65 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.45 # Weapons - id: WeaponRevolverArgenti @@ -234,12 +234,12 @@ - type: SpawnItemsOnUse items: # Cash - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.9 + - id: SpaceCash500 + prob: 0.4 - id: SpaceCash1000 - prob: 0.65 - - id: SpaceCash1000 - prob: 0.45 + prob: 0.2 # Weapons - id: WeaponLaserGun prob: 0.9 @@ -324,12 +324,12 @@ # Cash - id: SpaceCash2500 prob: 0.9 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.65 - - id: SpaceCash1000 + - id: SpaceCash500 prob: 0.45 - - id: SpaceCash1000 - prob: 0.15 + - id: SpaceCash2500 + prob: 0.1 # Weapons - id: WeaponSniperRepeaterExpedition prob: 0.9 From aaf440b2de1af03fb6437bc6f4febb69cf0192e1 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 10 Jun 2024 06:16:18 +0300 Subject: [PATCH 45/73] small tweaks --- .../Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml | 2 +- .../_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml index 3f114eade09..b4a75f92b1c 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_dinosaurs.yml @@ -1,4 +1,4 @@ -# Based on https://github.com/space-wizards/space-station-14/pull/26883 by @Vonsant, all credits goes to him +# Based on https://github.com/space-wizards/space-station-14/pull/26883 by @Vonsant, sprites by belay5 (discord) # BASE - type: entity parent: MobNonHumanHostileBase diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml index 8196f2b7709..3a0265c22f0 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml @@ -29,8 +29,6 @@ minimumWait: 30 maximumWait: 120 nextAdvertisementTime: 10 - - type: Buckle - disable: true - type: AutoWakeUp # Humans @@ -161,7 +159,7 @@ count: 1 # Syndicate "Medic", throws poisoned darts laced with 2u of Impedrezene (hallucinogenic, deals minor poison damage, makes you barf and slows you down) -# Look for darts here: \Resources\Prototypes\_NF\Entities\Objects\Weapons\Throwable\throwable_weapons.yml +# Look for darts here: /Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml - type: entity name: syndicate medic parent: MobSyndicateNavalBase @@ -628,7 +626,7 @@ nextAdvertisementTime: 0 # Syndicate Chemwarrior, shoots healthy mixes of chems -# Look for chems here: \Resources\Prototypes\_NF\Entities\Objects\Weapons\Ammunition\Projectiles\chem.yml +# Look for chems here: /Resources/Prototypes/_NF/Entities/Objects/Weapons/Ammunition/Projectiles/chem.yml - type: entity name: syndicate chemwarrior parent: MobSyndicateNavalBase From dea11368c78d646886234a375cbd654e78a6a3cc Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Mon, 10 Jun 2024 09:33:06 +0300 Subject: [PATCH 46/73] tweaks --- .../_NF/Entities/Clothing/Neck/misc.yml | 44 ++++++++++++++++- .../NPCs/mob_hostile_expeditions_argocyte.yml | 6 +-- .../mob_hostile_expeditions_explorers.yml | 46 +++++++++++++++--- .../Entities/Structures/Machines/lathe.yml | 3 ++ .../Prototypes/_NF/Recipes/Lathes/misc.yml | 30 ++++++++++++ .../mercenary_iff.rsi/equipped-NECK-off.png | Bin 629 -> 5789 bytes .../mercenary_iff.rsi/equipped-NECK-on.png | Bin 638 -> 5896 bytes 7 files changed, 117 insertions(+), 12 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml index 100acc8da8f..3d3c204ee99 100644 --- a/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/_NF/Entities/Clothing/Neck/misc.yml @@ -64,7 +64,7 @@ - type: entity parent: ClothingNeckBase id: ClothingNeckIFFNeutral - name: IFF moon white strobe + name: IFF white strobe description: Visible LED IFF kit that consists of helmet and shoulder strobes. components: - type: Item @@ -168,3 +168,45 @@ - state: equipped-NECK-on color: "#47f8ff" shader: unshaded + +- type: entity + parent: ClothingNeckIFFNeutral + id: ClothingNeckIFFOrange + name: IFF orange strobe + components: + - type: Sprite + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: icon-off + - state: icon-on + color: "#ff8227" + shader: unshaded + - type: Clothing + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + clothingVisuals: + neck: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#ff8227" + shader: unshaded + +- type: entity + parent: ClothingNeckIFFNeutral + id: ClothingNeckIFFPurple + name: IFF purple strobe + components: + - type: Sprite + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + layers: + - state: icon-off + - state: icon-on + color: "#9c0de1" + shader: unshaded + - type: Clothing + sprite: _NF/Clothing/Neck/Misc/mercenary_iff.rsi + clothingVisuals: + neck: + - state: equipped-NECK-off + - state: equipped-NECK-on + color: "#9c0de1" + shader: unshaded diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml index 7e818029228..60fd2ed389f 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_argocyte.yml @@ -319,12 +319,12 @@ - type: MobThresholds thresholds: 0: Alive - 90: Dead + 60: Dead - type: MeleeWeapon damage: types: - Blunt: 8 - Slash: 5 + Blunt: 6 + Slash: 4 Structural: 20 - type: MovementSpeedModifier baseSprintSpeed : 6.5 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index b65ca40f8b8..33e7367b5c9 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -51,10 +51,10 @@ - type: AutoWakeUp - type: PointLight enabled: true + autoRot: false + netsync: false radius: 3 energy: 1 - autoRot: true - netsync: false color: "#47f8ff" # Variations @@ -84,9 +84,6 @@ - sprite: Objects/Tools/lantern.rsi state: on-equipped-BELT shader: unshaded - - type: PointLight - radius: 3 - energy: 2.5 - type: entity name: explorer @@ -129,9 +126,13 @@ - SemiAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg - type: PointLight + enabled: true + autoRot: true + netsync: false radius: 3 energy: 1 mask: /Textures/Effects/LightMasks/cone.png + color: "#47f8ff" ## Tier 2 - type: entity @@ -158,10 +159,15 @@ - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi state: equipped-head-light shader: unshaded + color: "#47f8ff" - type: PointLight + enabled: true + autoRot: true + netsync: false radius: 3 energy: 1 mask: /Textures/Effects/LightMasks/cone.png + color: "#47f8ff" - type: entity name: explorer @@ -186,6 +192,7 @@ - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi state: equipped-head-light shader: unshaded + color: "#47f8ff" - type: RechargeBasicEntityAmmo rechargeCooldown: 0.75 rechargeSound: @@ -204,9 +211,13 @@ - FullAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg - type: PointLight + enabled: true + autoRot: true + netsync: false radius: 3 energy: 1 mask: /Textures/Effects/LightMasks/cone.png + color: "#47f8ff" # Tier 3 - type: entity @@ -230,6 +241,7 @@ - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi state: equipped-head-light shader: unshaded + color: "#47f8ff" - type: MeleeWeapon autoAttack: true angle: 0 @@ -243,9 +255,13 @@ types: Structural: 25 - type: PointLight + enabled: true + autoRot: true + netsync: false radius: 7 energy: 3 mask: /Textures/Effects/LightMasks/cone.png + color: "#47f8ff" - type: entity name: explorer @@ -267,6 +283,7 @@ - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi state: equipped-head-light shader: unshaded + color: "#47f8ff" - type: RechargeBasicEntityAmmo rechargeCooldown: 0.75 rechargeSound: @@ -283,13 +300,17 @@ - SemiAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg - type: PointLight + enabled: true + autoRot: true + netsync: false radius: 7 energy: 3 mask: /Textures/Effects/LightMasks/cone.png + color: "#47f8ff" - type: entity name: hauler - #noSpawn: true + noSpawn: true parent: - MobExplorerBase id: MobExplorerHauler @@ -341,9 +362,13 @@ soundHit: collection: MetalThud - type: PointLight + enabled: true + autoRot: true + netsync: false radius: 5 energy: 2 mask: /Textures/Effects/LightMasks/cone.png + color: "#47f8ff" # Tier 4 - Boss - type: entity @@ -366,6 +391,7 @@ - sprite: Clothing/Head/Hardsuits/spatiohelm.rsi state: equipped-head-light shader: unshaded + color: "#47f8ff" - type: RechargeBasicEntityAmmo rechargeCooldown: 0.375 rechargeSound: @@ -378,12 +404,16 @@ showExamineText: false fireRate: 8 selectedMode: FullAuto - minAngle: 31 - maxAngle: 45 + minAngle: 41 + maxAngle: 55 availableModes: - FullAuto soundGunshot: /Audio/Weapons/Guns/Gunshots/kinetic_accel.ogg - type: PointLight + enabled: true + autoRot: true + netsync: false radius: 7 energy: 3 mask: /Textures/Effects/LightMasks/cone.png + color: "#47f8ff" diff --git a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml index 6bcaa5e859e..edf6cfc488f 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Machines/lathe.yml @@ -308,9 +308,12 @@ - OreBag - MiningDrill - WeaponProtoKineticAccelerator + - ClothingNeckIFFNeutral - ClothingNeckIFFGreen - ClothingNeckIFFRed - ClothingNeckIFFBlue + - ClothingNeckIFFOrange + - ClothingNeckIFFPurple dynamicRecipes: - Bucket - MopItem diff --git a/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml b/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml index 193bf4d94b9..3f97a16438e 100644 --- a/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml +++ b/Resources/Prototypes/_NF/Recipes/Lathes/misc.yml @@ -98,6 +98,16 @@ Steel: 500 Cloth: 500 +- type: latheRecipe + id: ClothingNeckIFFNeutral + result: ClothingNeckIFFNeutral + completetime: 1 + category: Tools + materials: + Steel: 500 + Plastic: 500 + Silver: 100 + - type: latheRecipe id: ClothingNeckIFFGreen result: ClothingNeckIFFGreen @@ -127,3 +137,23 @@ Steel: 500 Plastic: 500 Silver: 100 + +- type: latheRecipe + id: ClothingNeckIFFOrange + result: ClothingNeckIFFOrange + completetime: 1 + category: Tools + materials: + Steel: 500 + Plastic: 500 + Silver: 100 + +- type: latheRecipe + id: ClothingNeckIFFPurple + result: ClothingNeckIFFPurple + completetime: 1 + category: Tools + materials: + Steel: 500 + Plastic: 500 + Silver: 100 diff --git a/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-off.png b/Resources/Textures/_NF/Clothing/Neck/Misc/mercenary_iff.rsi/equipped-NECK-off.png index 096f087f6c1aa6a569b488b2c65da718d59f3856..6995cd03803c9c6a272614a47c672feec60c042e 100644 GIT binary patch literal 5789 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 ciM7q^ha__CrbZ64ml8vHq)$ delta 560 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 HFNpg$ef7VE delta 569 zcmeCs`^Pdtxt_5#)7d$|)7e>}peR2rGbfdSL1SX=L|c!;0V1vb!P%}_N@W6t9RYK7 zI=U>pM7t9fZV`eeZ_?AAv)y9#Q?2Z8C*vhfWuMMm7tE{J z=c+QHg+nqlX8{j);4RboAfF{KY@R)oFZttHbn?k92Ib>6S^{+#TscT=uz1#-3xnPom*SkcbQ$md2`e*Mn1mAi%O~MEB6TPUR|5_ z|6b;~_w3fIizf1~nsaHgwU|*oD;ERr-|F+*7#J9;JY5_^DsH{KZp5`}OaE>KyuKdVbcu oGfy5N*Rb~w-v)6QUmDDa+p#~wEZ4i0j~T@EboFyt=akR{00a@~#sB~S From ff989b7c62b3934bb15e6b5cfc32da4116517690 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 03:32:15 +0300 Subject: [PATCH 47/73] rogue ai draft --- .../Mobs/NPCs/mob_hostile_mercenaries.yml | 1 + .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 663 ++++++++++++++++++ .../Weapons/Guns/Projectiles/minirocket.yml | 39 ++ .../_NF/Mobs/RogueSilicons/ancient.png | Bin 0 -> 1261 bytes .../_NF/Mobs/RogueSilicons/automaton.png | Bin 0 -> 2918 bytes .../Mobs/RogueSilicons/drones.rsi/base.png | Bin 0 -> 1269 bytes .../RogueSilicons/drones.rsi/base_eyes.png | Bin 0 -> 622 bytes .../drones.rsi/decor_department.png | Bin 0 -> 720 bytes .../drones.rsi/decor_department_accent.png | Bin 0 -> 732 bytes .../RogueSilicons/drones.rsi/destroyed.png | Bin 0 -> 815 bytes .../Mobs/RogueSilicons/drones.rsi/meta.json | 30 + .../RogueSilicons/netguardian.rsi/crash.png | Bin 0 -> 1811 bytes .../RogueSilicons/netguardian.rsi/meta.json | 58 ++ .../netguardian.rsi/netguardian.png | Bin 0 -> 19607 bytes .../netguardian.rsi/netguardian_emissive.png | Bin 0 -> 4289 bytes .../RogueSilicons/netguardian.rsi/rockets.png | Bin 0 -> 2062 bytes .../RogueSilicons/netguardian.rsi/scan.png | Bin 0 -> 4886 bytes .../RogueSilicons/robots.rsi/body_generic.png | Bin 0 -> 808 bytes .../RogueSilicons/robots.rsi/body_light.png | Bin 0 -> 856 bytes .../RogueSilicons/robots.rsi/body_servo.png | Bin 0 -> 955 bytes .../robots.rsi/decor_body_gibs.png | Bin 0 -> 1072 bytes .../robots.rsi/decor_head_body_gibs.png | Bin 0 -> 11269 bytes .../robots.rsi/decor_head_gibs.png | Bin 0 -> 797 bytes .../RogueSilicons/robots.rsi/head_generic.png | Bin 0 -> 520 bytes .../robots.rsi/head_generic_eye.png | Bin 0 -> 229 bytes .../RogueSilicons/robots.rsi/head_heavy.png | Bin 0 -> 585 bytes .../robots.rsi/head_heavy_eye.png | Bin 0 -> 218 bytes .../RogueSilicons/robots.rsi/head_light.png | Bin 0 -> 561 bytes .../robots.rsi/head_light_eye.png | Bin 0 -> 224 bytes .../RogueSilicons/robots.rsi/head_servo.png | Bin 0 -> 540 bytes .../robots.rsi/head_servo_eye.png | Bin 0 -> 224 bytes .../RogueSilicons/robots.rsi/head_sturdy.png | Bin 0 -> 542 bytes .../robots.rsi/head_sturdy_eye.png | Bin 0 -> 226 bytes .../robots.rsi/l_arm_generic.png | Bin 0 -> 511 bytes .../RogueSilicons/robots.rsi/l_arm_heavy.png | Bin 0 -> 560 bytes .../RogueSilicons/robots.rsi/l_arm_light.png | Bin 0 -> 463 bytes .../RogueSilicons/robots.rsi/l_arm_servo.png | Bin 0 -> 540 bytes .../RogueSilicons/robots.rsi/l_arm_sturdy.png | Bin 0 -> 524 bytes .../robots.rsi/l_leg_generic.png | Bin 0 -> 508 bytes .../RogueSilicons/robots.rsi/l_leg_light.png | Bin 0 -> 484 bytes .../RogueSilicons/robots.rsi/l_leg_servo.png | Bin 0 -> 548 bytes .../robots.rsi/l_leg_thruster.png | Bin 0 -> 3369 bytes .../RogueSilicons/robots.rsi/l_leg_treads.png | Bin 0 -> 1287 bytes .../RogueSilicons/robots.rsi/leg_thruster.png | Bin 0 -> 3364 bytes .../RogueSilicons/robots.rsi/leg_treads.png | Bin 0 -> 1263 bytes .../RogueSilicons/robots.rsi/mask_null.png | Bin 0 -> 109 bytes .../Mobs/RogueSilicons/robots.rsi/meta.json | 284 ++++++++ .../robots.rsi/overlay_critdmg.png | Bin 0 -> 569 bytes .../robots.rsi/overlay_l_arm_claws.png | Bin 0 -> 6373 bytes .../robots.rsi/overlay_lr_arm_claws.png | Bin 0 -> 6910 bytes .../robots.rsi/overlay_meson.png | Bin 0 -> 551 bytes .../robots.rsi/overlay_openbrain.png | Bin 0 -> 426 bytes .../robots.rsi/overlay_openbrainless.png | Bin 0 -> 353 bytes .../robots.rsi/overlay_opencell.png | Bin 0 -> 419 bytes .../robots.rsi/overlay_openmodule.png | Bin 0 -> 365 bytes .../robots.rsi/overlay_openpanel.png | Bin 0 -> 537 bytes .../robots.rsi/overlay_openupgrade.png | Bin 0 -> 395 bytes .../robots.rsi/overlay_openwires.png | Bin 0 -> 532 bytes .../robots.rsi/overlay_r_arm_claws.png | Bin 0 -> 6249 bytes .../robots.rsi/overlay_thermal.png | Bin 0 -> 572 bytes .../robots.rsi/r_arm_generic.png | Bin 0 -> 516 bytes .../RogueSilicons/robots.rsi/r_arm_heavy.png | Bin 0 -> 557 bytes .../RogueSilicons/robots.rsi/r_arm_light.png | Bin 0 -> 479 bytes .../RogueSilicons/robots.rsi/r_arm_servo.png | Bin 0 -> 546 bytes .../RogueSilicons/robots.rsi/r_arm_sturdy.png | Bin 0 -> 525 bytes .../robots.rsi/r_leg_generic.png | Bin 0 -> 507 bytes .../RogueSilicons/robots.rsi/r_leg_light.png | Bin 0 -> 471 bytes .../RogueSilicons/robots.rsi/r_leg_servo.png | Bin 0 -> 581 bytes .../robots.rsi/r_leg_thruster.png | Bin 0 -> 3381 bytes .../RogueSilicons/robots.rsi/r_leg_treads.png | Bin 0 -> 1284 bytes 70 files changed, 1075 insertions(+) create mode 100644 Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml create mode 100644 Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Projectiles/minirocket.yml create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/ancient.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/automaton.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/base.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/base_eyes.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/decor_department.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/decor_department_accent.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/destroyed.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/crash.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/netguardian.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/netguardian_emissive.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/rockets.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/scan.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/body_generic.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/body_light.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/body_servo.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/decor_body_gibs.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/decor_head_body_gibs.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/decor_head_gibs.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_generic.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_generic_eye.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_heavy.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_heavy_eye.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light_eye.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_servo.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_servo_eye.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_sturdy.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_sturdy_eye.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_generic.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_heavy.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_light.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_servo.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_sturdy.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_generic.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_light.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_servo.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_thruster.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_treads.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/leg_thruster.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/leg_treads.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/mask_null.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_critdmg.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_l_arm_claws.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_lr_arm_claws.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_meson.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openbrain.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openbrainless.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_opencell.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openmodule.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openpanel.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openupgrade.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openwires.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_r_arm_claws.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_thermal.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_arm_generic.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_arm_heavy.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_arm_light.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_arm_servo.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_arm_sturdy.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_generic.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_light.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_servo.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_thruster.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_treads.png diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index 7eb5a569353..a773bf6e533 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -42,6 +42,7 @@ damage: types: Slash: 15 + Structural: 20 soundHit: path: /Audio/Weapons/bladeslice.ogg - type: Advertise diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml new file mode 100644 index 00000000000..9d2245d4a93 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -0,0 +1,663 @@ +# Base +- type: entity + name: autonomous unit + abstract: true + parent: + - MobNonHumanHostileBase + - MobHumanoidHostileAISimpleRanged + id: MobRogueSiliconBase + components: + - type: Damageable + damageContainer: Silicon + damageModifierSet: MobMercenaryDamageModifierSet + - type: NpcFactionMember + factions: + - SimpleHostile + - type: NameIdentifier + group: Silicon + - type: Bloodstream + bloodReagent: WeldingFuel + bloodMaxVolume: 100 + - type: MobState + allowedStates: + - Alive + - Critical + - Dead + - type: MobThresholds + thresholds: + 0: Alive + 100: Critical + 200: Dead + stateAlertDict: + Alive: BorgHealth + Critical: BorgCrit + Dead: BorgDead + showOverlays: false + allowRevives: true + - type: HealthExaminable + examinableTypes: + - Blunt + - Slash + - Piercing + - Heat + - Shock + locPrefix: silicon + - type: Stamina + critThreshold: 100 + - type: Repairable + doAfterDelay: 10 + allowSelfRepair: true + - type: RechargeBasicEntityAmmo + rechargeCooldown: 1.5 + rechargeSound: + path: /Audio/_NF/Effects/silence.ogg + - type: MeleeWeapon + attackRate: 1.0 + altDisarm: false + angle: 0 + animation: WeaponArcPunch + damage: + types: + Blunt: 15 + Structural: 20 + soundHit: + collection: MetalThud + - type: Speech + speechSounds: SyndieBorg + - type: Vocal + sounds: + Unsexed: UnisexSiliconSyndicate + #- type: Advertise + #pack: mercenaryhumanoidchatter + #minimumWait: 30 + #maximumWait: 120 + #nextAdvertisementTime: 10 + - type: AutoWakeUp + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepBorg + +- type: entity + parent: MobRogueSiliconBase + id: MobRogueSiliconScrapBase + name: scrap unit + abstract: true + components: + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/RogueSilicons/robots.rsi + layers: + - state: body_generic + map: [ "body" ] + - state: head_generic + map: [ "head" ] + - state: head_generic_eye + map: [ "eyes" ] + color: "#990000" + shader: unshaded + - state: l_arm_generic + map: [ "leftArm" ] + - state: r_arm_generic + map: [ "rightArm" ] + - state: l_leg_generic + map: [ "leftLeg" ] + - state: r_leg_generic + map: [ "rightLeg" ] + - state: mask_null + map: [ "decor" ] + - state: mask_null + map: [ "overlay" ] + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: MobThresholds + thresholds: + 0: Alive + 60: Critical + 80: Dead + - type: Stamina + critThreshold: 600 + +- type: entity + parent: MobRogueSiliconBase + id: MobRogueSiliconDroneBase + name: drone + abstract: true + components: + - type: CanMoveInAir + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.30 # Lowered the value, to allow them to fit through the airlocks + density: 100 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: MobThresholds + thresholds: + 0: Alive + 30: Critical + 50: Dead + - type: Stamina + critThreshold: 600 + - type: ProjectileBatteryAmmoProvider + proto: BulletEnergyGunLaser + fireCost: 100 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 100 + - type: Battery + maxCharge: 300 + startingCharge: 300 + - type: Gun + showExamineText: false + fireRate: 0.75 + minAngle: 0 + maxAngle: 15 + soundGunshot: + path: /Audio/DeltaV/Weapons/Guns/Gunshots/laser.ogg + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/_NF/Effects/silence.ogg + - type: SoundWhileAlive + - type: AmbientSound + volume: -9 + range: 5 + sound: /Audio/Effects/shuttle_thruster.ogg + +# Variations +## Tier 1 +- type: entity + parent: + - MobRogueSiliconScrapBase + - MobHumanoidHostileAISimpleMelee + id: MobRogueSiliconScrap + #noSpawn: true + components: + - type: RandomSprite + available: + - body: + body_generic: "" + body_light: "" + body_servo: "" + head: + head_generic: "" + head_heavy: "" + head_light: "" + head_sturdy: "" + head_servo: "" + eyes: + head_generic_eye: "" + head_heavy_eye: "" + head_light_eye: "" + head_sturdy_eye: "" + head_servo_eye: "" + leftArm: + l_arm_generic: "" + l_arm_heavy: "" + l_arm_light: "" + l_arm_sturdy: "" + l_arm_servo: "" + mask_null: "" + rightArm: + r_arm_generic: "" + r_arm_heavy: "" + r_arm_light: "" + r_arm_sturdy: "" + r_arm_servo: "" + mask_null: "" + leftLeg: + l_leg_generic: "" + l_leg_light: "" + l_leg_thruster: "" + l_leg_treads: "" + l_leg_servo: "" + rightLeg: + r_leg_generic: "" + r_leg_light: "" + r_leg_thruster: "" + r_leg_treads: "" + r_leg_servo: "" + decor: + mask_null: "" + overlay: + overlay_critdmg: "" + overlay_openbrain: "" + overlay_openmodule: "" + overlay_openwires: "" + mask_null: "" + +- type: entity + parent: + - MobRogueSiliconScrapBase + - MobHumanoidHostileAISimpleMelee + id: MobRogueSiliconScrapAlt + #noSpawn: true + suffix: Threads + components: + - type: RandomSprite + available: + - body: + body_generic: "" + body_light: "" + body_servo: "" + head: + head_generic: "" + head_heavy: "" + head_light: "" + head_sturdy: "" + head_servo: "" + eyes: + head_generic_eye: "" + head_heavy_eye: "" + head_light_eye: "" + head_sturdy_eye: "" + head_servo_eye: "" + leftArm: + l_arm_generic: "" + l_arm_heavy: "" + l_arm_light: "" + l_arm_sturdy: "" + l_arm_servo: "" + mask_null: "" + rightArm: + r_arm_generic: "" + r_arm_heavy: "" + r_arm_light: "" + r_arm_sturdy: "" + r_arm_servo: "" + mask_null: "" + decor: + leg_thruster: "" + leg_treads: "" + overlay: + overlay_critdmg: "" + overlay_openbrain: "" + overlay_openmodule: "" + overlay_openwires: "" + mask_null: "" + +- type: entity + parent: + - MobRogueSiliconScrapBase + - MobHumanoidHostileAISimpleMelee + id: MobRogueSiliconScrapFlayer + #noSpawn: true + suffix: Claw + components: + - type: MeleeWeapon + attackRate: 1.0 + altDisarm: false + angle: 0 + animation: WeaponArcClaw + damage: + types: + Slash: 15 + Structural: 20 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: RandomSprite + available: + - body: + body_generic: "" + body_light: "" + head: + head_generic: "" + head_heavy: "" + head_light: "" + head_sturdy: "" + eyes: + head_generic_eye: "" + head_heavy_eye: "" + head_light_eye: "" + head_sturdy_eye: "" + leftArm: + l_arm_generic: "" + l_arm_heavy: "" + l_arm_light: "" + l_arm_sturdy: "" + rightArm: + r_arm_generic: "" + r_arm_heavy: "" + r_arm_light: "" + r_arm_sturdy: "" + mask_null: "" + leftLeg: + l_leg_generic: "" + l_leg_light: "" + rightLeg: + r_leg_generic: "" + r_leg_light: "" + decor: + decor_body_gibs: "" + decor_head_gibs: "" + decor_head_body_gibs: "" + overlay: + overlay_l_arm_claws: "" + overlay_lr_arm_claws: "" + overlay_r_arm_claws: "" + +- type: entity + parent: MobRogueSiliconDroneBase + id: MobRogueSiliconDroneLethals + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department + color: "#990000" + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department_accent + color: "#ffff00" + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base_eyes + shader: unshaded + color: "#990000" + +- type: entity + parent: MobRogueSiliconDroneBase + id: MobRogueSiliconDroneNonLethals + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department + color: "#c86400" + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department_accent + color: "#ffff00" + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base_eyes + shader: unshaded + color: "#0055cc" + - type: ProjectileBatteryAmmoProvider + proto: BulletDisabler + fireCost: 100 + +- type: entity + parent: MobRogueSiliconDroneBase + id: MobRogueSiliconDroneScience + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department_accent + color: "#6400c8" + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base_eyes + shader: unshaded + color: "#ffff00" + - type: ProjectileBatteryAmmoProvider + proto: AnomalousParticleSigmaStrong + fireCost: 100 + +## Tier 2 +- type: entity + parent: + - MobRogueSiliconBase + - MobHumanoidHostileAISimpleMelee + id: MobRogueSiliconServo + name: servo unit + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: body_servo + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_servo + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_servo_eye + color: "#990000" + shader: unshaded + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_arm_servo + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_arm_servo + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_leg_servo + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_leg_servo + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: MobThresholds + thresholds: + 0: Alive + 80: Critical + 100: Dead + - type: Stamina + critThreshold: 600 + +- type: entity + parent: + - MobRogueSiliconBase + - MobHumanoidHostileAISimpleMelee + id: MobRogueSiliconHerder + name: herder unit + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: body_generic + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_sturdy + color: "#0055cc" + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: overlay_meson + shader: unshaded + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_arm_sturdy + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_arm_sturdy + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_leg_generic + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_leg_generic + - sprite: Objects/Weapons/Melee/stunprod.rsi + state: on-inhand-right + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: MobThresholds + thresholds: + 0: Alive + 80: Critical + 100: Dead + - type: Stamina + critThreshold: 600 + - type: StaminaDamageOnHit + damage: 10 + sound: /Audio/Weapons/egloves.ogg + - type: MeleeWeapon + attackRate: 1.0 + altDisarm: false + angle: 0 + animation: WeaponArcPunch + damage: + types: + Blunt: 6 + Shock: 7 + Structural: 20 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + +- type: entity + parent: MobRogueSiliconDroneBase + id: MobRogueSiliconHunter + name: hunter unit + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: body_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_light + color: "#990000" + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: overlay_thermal + shader: unshaded + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_arm_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_arm_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: leg_thruster + - sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi + state: wielded-inhand-right + - type: ProjectileBatteryAmmoProvider + proto: RedMediumLaser + fireCost: 100 + - type: PointLight + radius: 3.5 + color: orange + energy: 0.5 + +## Tier 3 + +## Tier 4 Boss +- type: entity + parent: MobRogueSiliconBase + id: MobRogueSiliconGuardian + name: guardian unit + #noSpawn: true + components: + - type: CanMoveInAir + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.45 + density: 100 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer + - type: Sprite + drawdepth: Mobs + sprite: _NF/Mobs/RogueSilicons/netguardian.rsi + layers: + - map: [ "enum.DamageStateVisualLayers.Base" ] + state: netguardian + - type: DamageStateVisuals + states: + Alive: + Base: netguardian + Critical: + Base: crash + Dead: + Base: crash + - type: MobThresholds + thresholds: + 0: Alive + 200: Critical + 250: Dead + - type: Stamina + critThreshold: 600 + - type: HitscanBatteryAmmoProvider + proto: RedLaser + fireCost: 20 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 100 + - type: Battery + maxCharge: 300 + startingCharge: 300 + - type: Gun + showExamineText: false + fireRate: 8 + minAngle: 30 + maxAngle: 45 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/laser.ogg + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/_NF/Effects/silence.ogg + - type: SoundWhileAlive + - type: AmbientSound + volume: -9 + range: 5 + sound: /Audio/Effects/shuttle_thruster.ogg + - type: PointLight + radius: 2 + energy: 2.5 + color: "#47f8ff" + +- type: entity + parent: MobRogueSiliconBase + id: MobRogueSiliconBoss + name: one star unit + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: Mobs/Silicon/onestar.rsi + state: onestar_boss + - sprite: Mobs/Silicon/onestar.rsi + state: onestar_boss_screen + shader: unshaded + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: MobThresholds + thresholds: + 0: Alive + 350: Critical + 400: Dead + - type: Stamina + critThreshold: 600 + - type: BasicEntityAmmoProvider + proto: CartridgeRocketMiniNF + capacity: 10 + count: 10 + - type: Gun + showExamineText: false + fireRate: 1 + minAngle: 30 + maxAngle: 45 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/Mecha/sound_mecha_powerloader_step.ogg diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Projectiles/minirocket.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Projectiles/minirocket.yml new file mode 100644 index 00000000000..59a6a1e4995 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Projectiles/minirocket.yml @@ -0,0 +1,39 @@ +# Bullet +- type: entity + parent: BaseBulletTrigger + id: BulletRocketMiniNF + name: mini rocket + noSpawn: true + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Projectiles/projectiles2.rsi + layers: + - state: grenade + - type: ExplodeOnTrigger + - type: Explosive + explosionType: Default + maxIntensity: 1 # max 15 per tile + intensitySlope: 1 + totalIntensity: 2 # 30 total damage to distribute over tiles + maxTileBreak: 1 + - type: PointLight + radius: 3.5 + color: orange + energy: 0.5 + +# Cartridge +- type: entity + id: CartridgeRocketMiniNF + name: minirocket + parent: BaseItem + components: + - type: Item + size: Small + - type: CartridgeAmmo + proto: BulletRocketMiniNF + deleteOnSpawn: true + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Explosives/explosives.rsi + state: frag + - type: StaticPrice + price: 20 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.png b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.png new file mode 100644 index 0000000000000000000000000000000000000000..8778155fd0a8ce8c7722aeeb36a8bfe845af3f45 GIT binary patch literal 1261 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/base.png b/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..816f4b8b8a419897ee8db480f6a0104fc22d3575 GIT binary patch literal 1269 zcmVEX>4Tx04R}tkv&MmKp2MKrfQ{B1nnT=kfAzRC@SJ8RV;#q(pG5I!Q|2(p-DrM z;^HW{799LptU9+0Yt2!cN#&JIqBE>hxmNufoI2Y2`I-uJ%TeFq4Q3RBIl7@%sF zkxs-I#}*tRyI`PDdLEtYLqYJ zTvj-5aaJoe*19KuVW^-jXShyt1PLr6i4;W0s9^&YScuZDkzyiE=W!4Ju;WjWOD5L_ z7&+!qg$l{>ga5(r-kQb92{$Pe2fANu`(qRc>;lcYZGRuzcJl=AKLb}<+h1(}GoPf_ z+gjuZ=-&n|uG^Zt2VCv|Lr=P7NRH&EDHMyq`x$*x9vHj@f~#)dTIV=@0J7Apr5oVj z5Ev^__L|4LdprB~Z%wOzKX3$cra@i5G5`Po24YJ`L;x-TXaIU~rYN8Q000SaNLh0L z01m_e01m_fl`9S#00007bV*G`2j~V0778xttQ-sg000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0008aNklw6iaI%Cs%|tdSGF7 zk8n>ANMUPXYa!$b{ztGrxGtnPqF`+)TFH`5xI=Q)1{3pZve~S;-}$O!cinF?&TJ;T z9{?gf*5g&35E7KtK0-*a9RSi>kmB7EA7LG*!J=fP|LIE z#M^w|uc%t^WX+Yy;PrS_|MvUG9{_+}uXoeG+wBT<1b^^mvw72ZI-LLj;Mdo;&tHCi z|0~@AoZK*shhrVbk?IJ}t?T;3v99Z8;;y6(Gt)FP8*baSaC%(xFPF>A+?HjfO3%A% z0ROig$AQge1CHZF+TI&$7{=YPX~BPQS=PfjfPAnRNlmZ2cdcP`HgB zQ6VBkG?`3Fo6D$ z!amRQg!nV-1FjzS#sM5z&*(+??;#6+E`5M)+jn&Xvh)D}0MqF-v(pxf#Y6teqa5cR z<@ufz0rAL48Y|)e75u0VNHYOHYfn0hkDu8Wp$~XZpOD1Q@6+<5K0w5XkE9RCm76@= z7-L|XCd}t^RfSMM2#N43EyM^R!DuuJ_~9hKR#^qg;zxaetXdrP0Z;l8M126DJ^+D0 fAP@)y0wIEbT-+Xs#$Z+100000NkvXXu0mjf8J|0X literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/base_eyes.png b/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/base_eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..22d147521130dfb34a6493f05a7ba129256b24b7 GIT binary patch literal 622 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 BbNT=P literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json new file mode 100644 index 00000000000..ec06a5375ef --- /dev/null +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json @@ -0,0 +1,58 @@ +{ + "version": 1, + "license": null, + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/pull/79522", + "size": { + "x": 48, + "y": 48 + }, + "states": [ + { + "name": "netguardian", + "directions": 4, + "delays": + [ + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ] + ] + }, + { + "name": "crash" + }, + { + "name": "rockets", + "directions": 4, + "delays": + [ + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.5 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.5 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.5 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.5 ] + ] + }, + { + "name": "scan", + "directions": 4, + "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, 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, 0.1, 0.1, 0.1, 0.1 ] + ] + }, + { + "name": "netguardian_emissive", + "directions": 4, + "delays": + [ + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.05, 0.1, 0.1, 0.1, 0.1, 0.05 ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/netguardian.png b/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/netguardian.png new file mode 100644 index 0000000000000000000000000000000000000000..a57b21918c26a60aa5e42c2b724438f9ccdae366 GIT binary patch literal 19607 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 vHB8ljZXKn-psQ?bz#UY zMN4oE!?Gnc1k_S?H_o;mlDrF)_1voH( z8ASmPu9%1)^4ud7Bj|kbX>T!Ax4_9Vtz!0YX|J0+)Rp@RI~H}brJ(z)TZ`7aZ{Qdm z!Gs$GjVF{4)ubtPU_|7hmB9P-MutLYPD3N2h3vf7qw}EM^frZD8eG^T|7C$S$SL-I zf?E6CuC#ln#ez9IeZg2QII4&Co0B}ABXtxq7w6vo(Ew4-#hcq(MY`kSXOz;782@+A z@l0pBzNiT&`O!fjn}!dR=H{NtOx{0kJ9INihSzV+Qmt#FPDAFgb|j)gt7Q)#C)Yev zb}5*ye6Ua1@>(t~Mjbc2y)lZBzpxg`Ut*ShIQQ7345H{8z+zXT6ir$Wf9z_Mw#=I2 zquG@tgUp?kB~FbjVc0IRU^cDFfxMdi2!TU)6c>VfVwr%h+gy?VMb!Dqd(n=FuXe)| z%re5Cl_$v%(mvbhr~3I;ADUpS0`|`vn_Yb;$eB7@TWNGS)H|H(mWNX-Je)95I)LeI04t5JGlkGvLz0tsD+R%1^ZY}!5*ABe`k)s_*ms0Dh z;{*YdZELwx8v3)*bLf~pK$nr(C+Vmy;$Hx$2C<#;xPeBX^B^XRi~6VT(3dtBjb#G7UpKk<;q^n z%}L4?n1}r;-Z|T`i=;zI0fdd_V~l(;xQg|F7;%C$uZ&-P(HY=I<<84_pg-{J9q^0#}tkojinaqX`NafXW0V~7xVLo}F8CGGh zonu!=(_Hmpl;BKYHs#*t@jW9Smfq=hE8Qy`$B?664d`{uhW6&REL@%p=lKAUKnCr& zC}<>s$Y!Sb0QVp>Q?+T0jC`iQ8ML6f9f)%#N;|R5g3c3k~yxF?L@P9 zgsn>~u@hb-mzkiZ1+I!blNK{uB&S_<(hsE-Fy5&Tkh%;_Y^%Slr$1K!UWOQVSg8zn za>HlhL~gPL2R9Si5QNw3SU*Er0P)UlDz_I}d5xMzaF+Jp;j62dM_ZaG1jpndPsz9G zS|h0C?1{uwVsCKwpyN>KlbOS*W+_uEl1g1N7S=#5k=GuokBg)(4+5?$nOUQf?d3b* zZl^!d9Oe7r;STatZQQ&Pd&@oC!DjfmiDar?`vNJJG<%{l7UZplIt?o+#So1O(Y+0K z;71Y4GgDnU9CxO7hKZ)?5KNNV7 IasXcN7a@enjQ{`u literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/scan.png b/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/scan.png new file mode 100644 index 0000000000000000000000000000000000000000..96d6bb8d8d20d475367309285d6db035c88eead4 GIT binary patch literal 4886 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 PbOBr(-NE(tfxrAGAAb*V literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/body_generic.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/body_generic.png new file mode 100644 index 0000000000000000000000000000000000000000..7362ca74e474902fa04f1c50ea060d994f47713f GIT binary patch literal 808 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|V17 zPZ!6KiaBp*8D@wC3bg%a=H}L&?57w}Q8sVUOQ$1`x*8fo%#sopM$9?lv~joJrHTno zTQ+!1_wrC^of{#kqIP4&)CC+xnJnC^H@wp^Pt3a+U3Ty3ThBB*j@^~jch3CDzjyoY zY)i(+I~WZ5xEUbSf}bC5&h+M#-CzIv#)TMbtvsE(Cv$T4)m^<1qwTDE;MOnhH#I-I z%BAxs|Jl0pXk|>^yyIJMuI@N`@1362-PARI?)cpLYkc#@zbo-`_SJC}pRHU|R{iRI z2xr0XXSOjpTaDZ~D*ak47Bs%mwW;Uens;vI_a82kC-p9sT=DDN0^5eP#s!kgdlXJI z-bhLEXXgL+$8A#Dore|XviXS_MynQyIY>=(Y?t6~O#6R!r~HqpUG}H+d9xTb&Q|O- zp2J$&;qdMD%9-a5ER$KU%lyKB-N9XH`_F{Em2~(Z=kWh>(F$$m6MVTlQl*PRn~W2J zPBi?q=<|03%Gw!J=t&gmsa>j@_d-(P@|qJ7Cu%K@*vWq09xK=XOXh%oQcKMXO{s3j znLkn=r>>ap5IA8Yb9&OA^c5@}KNlHm{wb9>R>+tjBhG+}Dme4Q#(HYZjeG0=+)hnp zTsA+(({G);NZjM3)@|0xBJbEVe@X7St1cK2+2X|%@S%T}?3zX85^HoObZPktMYC|( z#fwhbcj4!?zv&0Qt@XNZ9#-F=6H;)|M3li$GPI*NPWnlZ$n@nqq+ANtJLErAO>(Z& zvEMg)?)wfo#z@_3C96Y(7X1I>oSgqGVTGaBxu!RwE11QqrqueHg`8tp#Z{;+72mY2eYerpI}vnel9ES0=FDXY0O}_~w literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/body_light.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/body_light.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0cae9563395a9f59f69d013895d3825d5f7e82 GIT binary patch literal 856 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|PUc zr;B4q#hkaZ>@!3hMUL%n$Pi@hyrID*bY#irq{MO-L8c~455*{tuIx2RixOT&wu%%@ z@aooHBNW84Mc`7$lFbIw{nm47L})Y#D9ebw-m`a4u~FQiecS(Y7~6Afw{EGuUuXU~ zE$^O8<8v0~2bKpJD*Ox><_Ys0P)w>?CU^09+V0-dQ@!@z-B-W&meeGh;FJSDxrGJe zcQeg6A1$rKD5P=j@7wt+?5ewtx*1>l@a<8)Nfv)W>Kmc7{QJW8!FQPB^z8eYH@^P! z>CQZJbGPjupFI?QaKtktd-4qvHv4O7ZT)i&wENHfSE`e6ong1F|FV5^58rwr z?xUl3{Cmouvsa(Zi_>t-VJNq4TffpaKcga0Zidl&t8_`bO_w@LJ&xNe8a1$PxV`Ol z6l0JEoBCm$r0!}4?hVBbf%^H`28D~~ChPK)zg{V{K1(V^ScCn8t=EGW*G=Ed$(*^G zYs-r3jLmJ1ffq`A_O6Sv?*94n-rjBED|mjWCrp~X$mV&ywcgQ<%kMwT6RxkDQ7Is; zrF?{2F`VH!!{vFeW_vIlHLNfEH#7T-n7zs0OFSmEd#6iywzEuRWapZ3k#oX)oUFTO4OYbc`DImvX(}(#Vqikn!zZ{aZE8)$=vu*e@*CR_bloWErxb?X!Xe z!+B1&1I0~@ALb-5*r=m(6@ET%KK0l&r+atQCXI{fVRHJ-I$mEoc`g3^@N1dMH;Y^U zS8j~l^4N!tySG*zvc6c>dGFe^DM#4;L`6tR8Qwi-*XMNmk!x<}?f{>A^U`f|jvQaT zeDTNc_l0?zL!K5|XGrciRy?(;M*F9+k!HX6Tn5grlbr^>opG^p&m|Z3d_4a_Ai;N5 z`U)Nk(`$Vf)=t0mm$T~U7O4=n3oCh=yq}arE$%60nEw1EOKxgZYJ=_fPYYMttUmNR za|3@)rfCQ71C|%lj(4Z+7ph&S?)vsXUge&i)&Mcps*Q}zSzl789Pe$jy}u>Q`G+Y7 fdLVqf*RcP<)ywOjZ+{>J%qk3?u6{1-oD!MNEc(jY%R!+chdaGMhY8sQ4Tv@P{i-MkEIobh>fGjg7Mi>LX8^zwRZ>yw}MO>c2n$Y3DC z(8hEifI)(bL0DzM_17~mW`uBbs6DCXzVVj-O#l1)r#^m2nDIx&MD>1jL)-Z@W5kxHbIW@+`KPZQLJi^MA&5Z+Lg$`sU4_ zQs38Zx|%mVJW1=qPp{QmHSg~AwQl<>FVEO&9T8hml67mk%96mJ`{JE@cXO?NfADFa zrdT>@u*IU z)9~}&U(8!{-aj~5pt$gV)r2=sP6zcL2#RmG(d_SfrRKfsj@{dJrKLX?uGU={c+qXW zjljiE#c%k3beHP?czy2tR;wz38Z`zVJo9{EI&dKP;s1M&dJmnW?>Pa{n6@fw_^v M)78&qol`;+0Awtv?EnA( literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/decor_body_gibs.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/decor_body_gibs.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b378a402b9d1d72c31c74cfc1db22d38ce32cb GIT binary patch literal 1072 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 RA-Mespsb)FUm|Pf|6hSBR4xDj literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/decor_head_gibs.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/decor_head_gibs.png new file mode 100644 index 0000000000000000000000000000000000000000..af5a1ee5089e5851c753e761c4dce52a0bcfa7b0 GIT binary patch literal 797 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|V1} zPZ!6KiaBp*Ir`mp5NWG--u{fi)ob@D);C{7c2t)|CYtYa7PDpMEDV2B#8BLIYahdD zkG%{z(Q@y73tq9UeAV-DiNR;?lM@3gKJTl{&-t>yyddTn!@DryU1zn9I5aS?z6o^-qqRjNSbj%?E1+q zi#DZjaJ$sJ|MO#(-=?erj-bki=QZn<5=@*XtL$BMVF#;9#z6tS4)LPm<^tvJRR&uQ zvG;xc$o$;@$FY;&*V^bZY>5b%@O*cJ&>Zi;tqv^KS!tG1n)Q2pZfAx!e5v35B*fZ* zZ!zZt-gw5x+I^p&{(Kny*=@!g<|u}g@2Zh6onMw)_N0i1Sf_{{Y`V5NYx`$b^|?it z%EJxso|9Utmz(Ddvd*{9wbELA&SzJK#ora<=1N0vOD^u$I&zp~cdeaUZ+D@+^C zZTpfPvL(K0+dcMw8TOh#Z{~#mb7gp|b%kky+=r#l*DuPwrHJ z;6$sE9nWtkw148fn)lrD7Nf3~_pbjRL#sWUr5hrih;u7JB>)eW%g5l??sO8<;Yyoqm1? PrgsKUS3j3^P67(_0lU| zA6(DPe$a9@b93=->8JDg4?Pt-wEz3vJI@l*nV;-vxFMgD_ttE_{QBm@k2kv=mwW%7 z&8qLrl5_oH3W`G8>Pt4r%)VYavHSeQ{8bH!p^5qF)s||{b&qO2C^CvWIsNnPlUsaP zIUc|MEdPA*WbQxiK1^}HfPj)a&c+7;0b2-{!<-UfPn}JMq z*?t0Tp;xEek_s;2o3u80np>v^cOrv%GwY2 zp4{JbPP452#um00bNPR>JS*)D@(7!;_VYxo4%MiJHtxH2jjJzedR=(yd*Nq9p3|oN zj@^IlBIkZR-s9OYW!{IoGFxW^ymWV%r4*Dh`__}D_Yv$y?IAb+sc{s=Fq|l4R5;Gs iAS2Fz!C5H&fpyQmH|h75g<1fkmci52&t;ucLK6VASmK5N literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_generic_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_generic_eye.png new file mode 100644 index 0000000000000000000000000000000000000000..1c77be928d52eceb7b5f2111c40eff6b51749a2f GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;k1Z zi(^Q|oVT|Oxf%>a4qV`vw~qbYR}pso1x-_)=+5=}*|@*deI3IIQHGsNHhV3OSv;F_ zyLQux6mVVtpqwKtO6u)V{eTUdHgCA#<&iquUSLg*&YLwYKUfv_9t+Yw zDBrpBP)lO1zSZpQ-UZJbDrSFIC@(566TY#V@A(Yg8#nIEt*hI!=I__K>lt&mZERh` zXJKPE`_nJ0nF-6UH}_;O{QA{`eKMoS;tT&SGJe~(y`ZY7@!wU;dH3%0gdz zk@1ds<&8G_o~!)7Sh(9~3t#beIJRrTrHr$wUwzpM<`!OiFP~R$^SIV-{$G)WB31t< z>g%YTuuHgVE_r~rOOLN3;Hj|Ik%V;LV=NEEK^gCK+p@_(`6V i`N13mhI9C+pG?nNWREB7u+0Ug4F*qFKbLh*2~7a0k^G_n literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_heavy_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_heavy_eye.png new file mode 100644 index 0000000000000000000000000000000000000000..b91965b9cad39558907feb98d28487e4b581b8cc GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP_W0- z#WAE}&f8n3IT;iM4qVX5`LFwaIUBpnBzCz}0|WE?CtM9Nj1#mEJo@|GTAV$ax8Td; z`n3#2tPblKPKYw>WKsxcfGWWdyc5zO`=7-v&5!lQNB@MBG;Od+7|KA#g9P8P*6Omb U#BH)V1#}mKr>mdKI;Vst0Bw0fAOHXW literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light.png new file mode 100644 index 0000000000000000000000000000000000000000..9efbf23e900f6bc1a63b60552429a7dedafb2798 GIT binary patch literal 561 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vn@ zPZ!6KiaBp*ZS-Px6lkkI_*`JkmNS|9c8yI_dzWmu;KjkQt+K)4fL5>ThK)jBIFH07 zubldzdyRR!@U`NDw?EE#GUKPho4W^7-|d?_m!&K$QD$Sq)~{v6YHLUr-u<6DpK zX3sF%JM+x(<=4$Weox_6IKA}ifrG!>mtQSi>vZDd`L<>+tF!-}7U=ZpM=?z)Tlreb zyP+#?y~e7?2akH1{*HgXC`sc~!^JOFA1u$Z6yCEB(rya8J9GYWwWXYkqz=4}t-dR4 zays=+K>zw}EF5R&@A=<%|E9fD?n9;o8F7ZkI~XL6vmUU}V>njGXwb*qP#D9|^B5-e zviI}_`3uL4E7<-#O}oXvWMjC9WA$d0KHa-w%13yGzW%k;_{zTI(PhKj=_|jm7ksGd zZ}?`HxXPWe$@7Ge!0hMy7~Tn9&}q4&Ebv|Zg5K68!7APi>$kf6(r2C0y7Q|;49iaa zhW@450Zwx|KNfpr=rmY6ziJb|sC=OC^~Rq!i*|)dad+(B5c57lW&hrobDw|8E8=l1 eSn3&T4b#L-9@kZ;e{BV(0R~T3KbLh*2~7YrB>k%Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light_eye.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed8b0338bfb9370abbb70324e5e2e8bf0b9885e GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;io` zi(^Q|oVT|Oxf%>a4qV{4_y5!`3r@XUN3T!Q%6^I*lCM?@XL!QZ5W~p!eBE=KxbJVb zFg6z-KVEB{%TUDXu#Vw`D8o)B1*n<{+USA?hQFW7H>T!qXB6IC|4%UDTbVS_EKGG! c!CwsKvMboxHKH#h16{}9>FVdQ&MBb@0HdErjsO4v literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_servo.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_servo.png new file mode 100644 index 0000000000000000000000000000000000000000..bf184d0f53c9f828347cc590827935d9ae9166ef GIT binary patch literal 540 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnZ zPZ!6KiaBp*IeIZ0inRS_e4o%B$=kKy(p?=bjizXS#iQI64M9~6aSmP97nw_LuZ=z9 z7b389b>bJ1!h0n`kIYWGJlxCgHB0Z4y8KBW#eDWN9|aezdC&PsSml0bLsez1+1$sA z7dpjo9{d!`vf}C|w%5x|-P9LvTl(+lQ=4fllkI2v7|!yEyB ztmRYY$K~nI-I}!hm_8kh-koua@k)@rn$`QykN<|>XMNtTpc}XS{_Gu0Ce^>$SG>NJ z%_GjpId}V2p&Mt{&pLYl;?L}QcbQv%bWWe)`*5=SF5}5>3ysZdkFIf7O>H7X=qVfq<$@S=66NMo7X@1s(tV;W9V9xp}yob>#sxWJQtkVq_g+<7qJUI zN9K6O>R*`75<58|-CXG3AC4K;RlBs#v%lcgYPqnLW6I2BE5Fb9B=tr1z^$fL+93+R zD!5BbIip`x?fF^3FIB{TWQ91#JVkd57h!R19mA9MWify4ybc1Ro59o7&t;ucLK6TV CgyYTt literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_servo_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_servo_eye.png new file mode 100644 index 0000000000000000000000000000000000000000..3b8b797e450a36c042365f89df3bf4be8c620126 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;io` zi(^Q|oVT|Oxeh3Z9JnA-^ut7k|8C>Bb2G)pen)1)tV_-8yq4tM=;IXK$Buojkhr&kK2rv^m%J z+r@XQh;U9|iKsi=JXx>KN^YgFM&tK$r{|yeabMd(=)tS|_hQe++?L?+`Nr6F?xCE4 z{y*t1c}Bk@llIH_@0ta3#h}ZkQJJyYH9nfvm@~ z*}d)lOJ7+e6kyyKlrlea|LQyIBOKnc{8Ec+eK<#e;du*#g*wXtOGSoroQws291X=z z40D8;9zdni70ie+X%X?y1l|J_Hzp3Hq| zvOXx}?!yw+CEh-Y>4%*o4#>})ACTDd+aa?(DwOe0!J$8M8bm*9Im|vjU#sCuEaNAQ zS)mSnDhW50)>}^hRpW5~$|=WMy9NGP&ji*V!gL6#8}D%cV0*ov<%#Ro`E9@mXYh3O Kb6Mw<&;$T@C+Haf literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_sturdy_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_sturdy_eye.png new file mode 100644 index 0000000000000000000000000000000000000000..d157e7c7f6eaf1c0860cfe2826a9a343f71dbf43 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;iQ; zi(^Q|oVPa(xeh3Z9JnA-^fhonlgxK^NZ9G^J0Z%jlZoeB-RWNsgC;XvkE^=M z!t*Vz`ekUpLJ_OOItH-3LO8<{u7()K3EB*(f@LfgAHDayJtNEL_eUt-dNXH&pFLwZ fx+)Z{FPZd_QW;-p*^E zbH~PCXSR|SL!tPAsYz#_g-Oif{Z<$9OSqiz^zUojX_v3&*!A%%7S)to;V%X1c`=D8k+^kJC^H;tXe68+j+wV=bVnC0QB4F=39 ztT!AZoJ5({uxv7X{PpqX7k9N-1eWbHO`8(X%J5qG!IRX}3HQ^wvREeAofQe?eBsR1 oV4=zIXbD5dWG02aJq_|@=MI0m{_)&vV2m<&y85}Sb4q9e0G1}#m;e9( literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_heavy.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_heavy.png new file mode 100644 index 0000000000000000000000000000000000000000..6b20c4c79e1d5f5aca91c4623b3f6a65b90f5e65 GIT binary patch literal 560 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnD zPZ!6KiaBp**?O@!3bf9DV9BD)8*47^zaSwcEn&gL4HI83bK`cCl9(aMS;h2`VV$|a zH>JmW4o0yVzMQ93u@y-};2`%S)>5mgzb~UX2$#eOxteEsE2`=gXKT6terf&61OS2gpe?1NCVOXi7 z`oVI`a|!oHQ3>04Pelb-muvPbdn~(@!Sd(K_q?mi8g6xcww3g)iOOj_@W zUuVO=JL}(C?mMn~p@>oC6;niJ`NlvI@ujOCcn9T7KgN}XewqQfUamB}ouo|1YjJf5ct6dm$~UX55P6pmXL*zl3kSGs)QpOacs^u6{1-oD!M<(_H0N literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_light.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_light.png new file mode 100644 index 0000000000000000000000000000000000000000..50f6903abcec0fe023dcba87cd9d305b163933cd GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R5D zr;B4q#hkaZE_ymU3b?LMkZqEc;N}Qhkih+qyKDj<%l}-*3tUH-dSp2=pQwr(eW>Hv zeN)oF_`8FGz4aUG&AT^mDDHdY!O*45sL{u=z(T0uQ47b89ed`P?Z2P?-}IhLIpdr+ zSCbm=w%mQ}=20Mipg;cJ-4E}-eEeo*lPK)9XX&H~x*s-GwfRhfiJZXKx@{NyeAIT`W9I%T%+&(RQj`IsS0m+&zC51LkoVz(} z*UkIz^`B+Tu5VXUtX4WtnEXvEdLp|5=WV7lH(m%W^Uz++q2$t#np<-7maNjFtX!9A zj^;M&uGB9y>OgfoicgjZU-&IH(d&TWUe1*)6Ykw>31RB1oZzXN@UP?2t=SX28ZKTA zp5W(@@9${ExEG{&!Ysc7YgVtxlwKm75SzMId{GG#hw*;l3tL1lac)SB-^L@Q)!d6> bMGj+P@47om%jPKpV~D}i)z4*}Q$iB}pp?8D literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_servo.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_servo.png new file mode 100644 index 0000000000000000000000000000000000000000..ad6535f5f419513677e593ea8492cd3a03bcb07d GIT binary patch literal 540 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnZ zPZ!6KiaBp*ZS-Px6lnY3{ftw`N4u1t5ObIgL43Bp(NVG>g zOkAe9>~j8-pTUPjZ{@rb`}&J(lg{GsZ81%?taIevC)Y0S&s!c|;IZIjzxwqbHPQ>O zo;$$1y+hmXUaa~A`|+s9cCSm-ev zD`Yh2<8FY2$b#+%yP18Nx~5-G-{s0RX@RGMkX5DAWQKtHpck&Iv=|L{FlZ<((|4T8 zptMEbadN|oeJs9Ai+%}(aCW@(4p3D9Nj1!{V*(4Ba4Ixab8g|}I0m=qoW9$~eom&a S(m%lHX7F_Nb6Mw<&;$U4>D?Fr literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_sturdy.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_arm_sturdy.png new file mode 100644 index 0000000000000000000000000000000000000000..cf60c085ab5e09281d87221c7861c1069fed4102 GIT binary patch literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vne zPZ!6KiaBp*E%ak{6lkj#n%CT7zQBgzA*X`lLjjHe-&Gs7u29nu;E>@uSnV)zfk(x} z$NSoRU+u_EKYI2|dQ|c3+443?cZUh+iY|Fmo&pHj*6;% z=BFEiLfwK{JucfZ@A_1Kd+Q0NCV5{`hSSq?MJp6n!@aVEfmNMV!$Q;HpeG}jA6Edx zmrpt_S+97hxI>6x>tT_1EEguPn5kNz-q3btev9Mr15+88=ABEA^$kBYm0`ims9%$u z+l=pUt~ffiA&Bt=lfAx=U<7g;$VwfY$^k9wv!}Asf3w4$QmWmAL zI2oZ*T1m;p+aH&v8y&oz)Y$+1`qnGyYTOT&SS);b)zZ&jPi68i&c4m{B@NS$r{6SI z<$RE}<@)v$yvJY0i+Zp`Fljv0W<1fV+OR_9L>9y2^PJb(a=0TBPkHt|KP@!j_tW2x zH72VGC;TqHwk5W2a>7@R5Jl}Kvz5DlOJ8f&5z2Y0Kl|k;jS!JLDUA2^cg4thB^aJL z_{u^{h4aMEkCUtCtg>q@7QpFpn5R^@Eo|&whwS}j7*RdX#`X;R`G@f;4YDiuzSaH4 z&1Rl5iS^EBtKi2 z)hDK!%DBpoHKKgSf6m)aU4;U;_SyV*-LU`i8Zq9#=?kJ5Q?|a^{YxO|>bxx06+c)` YnXH+%W25sNV01Egy85}Sb4q9e0C(QdMgRZ+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_light.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_light.png new file mode 100644 index 0000000000000000000000000000000000000000..9dd507a9c1af0067288279339dce5f17ab7d6277 GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnU zPZ!6KiaBp*J@jQZqZ$tQTAK|*Hz8J!aXvQaF` z!Nu}wR-4WSFiu?gQ~30{oe#Ec)@(Ww)^z4#di(E-{j>5CPd~W(*j7F|O-vv) zr#C#m<8VS!(ONd?yu^W(&)M#{ZrI=7bo%2STmM^0rype8D7&KS94-o)H8-u5-pUXO@geCxTCd^C# literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_servo.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_servo.png new file mode 100644 index 0000000000000000000000000000000000000000..3db73cec8a60b2c28dca9997f6d801d75087279c GIT binary patch literal 548 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_treads.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/l_leg_treads.png new file mode 100644 index 0000000000000000000000000000000000000000..241a4620f69c76e4da88dba50e624f6bd062010d GIT binary patch literal 1287 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 D5%^RS literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/mask_null.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/mask_null.png new file mode 100644 index 0000000000000000000000000000000000000000..2975c479be7566a6c59a7aca4e20778aa850feb7 GIT binary patch literal 109 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|)ID7sLn`LH rJ;=xlwOr9UK@K`#+rw1POb(`njxgN@xNA?@buF literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json new file mode 100644 index 00000000000..8f483efc614 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json @@ -0,0 +1,284 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-NC-SA", + "copyright": "Taken from goonstation https://github.com/goonstation/goonstation/blob/master/icons/mob/robots.dmi", + "states": [ + { + "name": "body_generic", + "directions": 4 + }, + { + "name": "body_light", + "directions": 4 + }, + { + "name": "head_generic", + "directions": 4 + }, + { + "name": "head_generic_eye", + "directions": 4 + }, + { + "name": "head_heavy", + "directions": 4 + }, + { + "name": "head_heavy_eye", + "directions": 4 + }, + { + "name": "head_light", + "directions": 4 + }, + { + "name": "head_light_eye", + "directions": 4 + }, + { + "name": "head_sturdy", + "directions": 4 + }, + { + "name": "head_sturdy_eye", + "directions": 4 + }, + { + "name": "l_arm_generic", + "directions": 4 + }, + { + "name": "l_arm_heavy", + "directions": 4 + }, + { + "name": "l_arm_light", + "directions": 4 + }, + { + "name": "l_arm_sturdy", + "directions": 4 + }, + { + "name": "r_arm_generic", + "directions": 4 + }, + { + "name": "r_arm_heavy", + "directions": 4 + }, + { + "name": "r_arm_light", + "directions": 4 + }, + { + "name": "r_arm_sturdy", + "directions": 4 + }, + { + "name": "l_leg_generic", + "directions": 4 + }, + { + "name": "l_leg_light", + "directions": 4 + }, + { + "name": "r_leg_generic", + "directions": 4 + }, + { + "name": "r_leg_light", + "directions": 4 + }, + { + "name": "r_leg_treads", + "directions": 4, + "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 ] + ] + }, + { + "name": "l_leg_treads", + "directions": 4, + "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 ] + ] + }, + { + "name": "leg_treads", + "directions": 4, + "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 ] + ] + }, + { + "name": "leg_thruster", + "directions": 4, + "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 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 ] + ] + }, + { + "name": "l_leg_thruster", + "directions": 4, + "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 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 ] + ] + }, + { + "name": "r_leg_thruster", + "directions": 4, + "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 ], + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 ] + ] + }, + { + "name": "mask_null" + }, + { + "name": "body_servo", + "directions": 4, + "delays": + [ + [ 0.1, 0.1 ], + [ 0.1, 0.1 ], + [ 0.1, 0.1 ], + [ 0.1, 0.1 ] + ] + }, + { + "name": "head_servo", + "directions": 4 + }, + { + "name": "head_servo_eye", + "directions": 4 + }, + { + "name": "l_arm_servo", + "directions": 4 + }, + { + "name": "l_leg_servo", + "directions": 4 + }, + { + "name": "r_arm_servo", + "directions": 4 + }, + { + "name": "r_leg_servo", + "directions": 4 + }, + { + "name": "decor_body_gibs", + "directions": 4 + }, + { + "name": "decor_head_gibs", + "directions": 4 + }, + { + "name": "decor_head_body_gibs", + "directions": 4 + }, + { + "name": "overlay_critdmg", + "delays": + [ + [ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 ] + ] + }, + { + "name": "overlay_openbrain", + "directions": 4 + }, + { + "name": "overlay_openbrainless", + "directions": 4 + }, + { + "name": "overlay_opencell", + "directions": 4 + }, + { + "name": "overlay_openmodule", + "directions": 4 + }, + { + "name": "overlay_openpanel", + "directions": 4 + }, + { + "name": "overlay_openupgrade", + "directions": 4 + }, + { + "name": "overlay_openwires", + "directions": 4 + }, + { + "name": "overlay_l_arm_claws", + "directions": 4 + }, + { + "name": "overlay_r_arm_claws", + "directions": 4 + }, + { + "name": "overlay_lr_arm_claws", + "directions": 4 + }, + { + "name": "overlay_meson", + "directions": 4, + "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 ] + ] + }, + { + "name": "overlay_thermal", + "directions": 4, + "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 ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_critdmg.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_critdmg.png new file mode 100644 index 0000000000000000000000000000000000000000..756660ad846e01b82f6cd5d54922a90cc8886b66 GIT binary patch literal 569 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 dXF?$NB4k?Xxt9Ja##O=u<5X=vX$A(y zo1QL?Ar*7p-rd-H$bi8iuxobPZN`nvNnS_zI%E^(1+Qu;nXa(^+5b~rE))JdS#t2l z^MEZ31&j}v4zM=dW-Qoy?(yxn275kN%Gt|3-v9r5x!nG^==Ylh6K4H6{q*xKkCx0& z{>#s2D+?|=X)kBLKG*pM$A)=tE@~&(-dr4hplVb5`UcI9HzL*KtWR(A|FtRZ&<>d4 z+zjFjdJHiPbQP#&Tu{vN?BoCc7pm0{{E}(B$nd(D#f^E*c|i%j3-LGJ?>#Io=cxGR zXNi6y`7SeK+M=EyH(CC<-gg$CUbl#MoHL|)H{206*eaW-eBiHL|52_AyXPAt7~g-l lQPW;v%XoiRFv<3PXAe5%^ENClMiUtG44$rjF6*2UngFr9#4G>+ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openbrain.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openbrain.png new file mode 100644 index 0000000000000000000000000000000000000000..6bd12d4f072aa42a85ba74c209516afd913f36e0 GIT binary patch literal 426 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R4> zr;B4q#hkaZ4852GMO@b(tliNla?;G@kiIH+foOBaBaBr^&eXHw{6b&%n1un=P?)M0oOfiAJ4*5KHa`i=4eKW!GbZ~5E6@w{i=Z^pHs ze@^>zL-0ZAtvZHI$=W?Nr)&19+Ly5eeP=!aRA6%M`Rq^o-)Js*%Rb@%7Uc)TS+}Qw Z|I@Pxrg3NH)&m2d!PC{xWt~$(69A7}vsC~9 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openbrainless.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openbrainless.png new file mode 100644 index 0000000000000000000000000000000000000000..5d129a1fa8e85d3ae8d859f3948f099aec8581aa GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TS5 zr;B4q#hkad4ssrH5OKYz9nqe^evIh|mq^aRy$S4P3Oly5I%*4W86qO! zS+M4Po{7_shbohf`iOtz5vY2UVy3_9ef!;Q&X1DL=JQ;5&EM@f&2U!VYkTqOHqXm! zxAO^B*If_};Jd%(+WN;wvpg#qS9V$MH*{E8e@lM;{Lrf(AM;%(+xXm^?Z?sod(Zx? z<5rl*C~%&kBc0)hF~cKChL1cA6>JVR%&5W-W=~#i`YV2|_^}!CEFThk?QZ^SxbeAp ze#0-R+E;%W4WF|!?pc3v`5k$I>N@_fhX{a)qh@Har8DuQN`~-9`w#L0ER$U$ z3U078AFNrBV86HbVB(*BkB=SyZTIvY+wH>ro4DU|J(6Vj$kR~4=3v9DFpp8-Jj25H zInOFBHM(@(`<;H2J7HpmBSZQ3e%0#3H$Q$zsk6Ov&r3*=W5NB`hfZt%-T!%c`>V;J zLAo3Xo3|hS_>)oEUDoe@{?Ca2YFC>WR<*Cc^)_Zgl_NuVy18)+tIO326UC!V4EyTT zB3JSMvER=Qv9Tka;fOH6g==mL_W5`0O*e7aDwK0!!#hB}hs)s(t6Y$Z+}w$CdA#8^8CkN%VhF@C^f5S=? e--0ap&8q)2_VoeL6nS8%GkCiCxvX1^@J(^P2u#`ElYj{m=sjJXh3qyRB-t zp%Yllqp|b8SFd;4xe!ME8x|Ao_Eku^$Z$JgqB+_*PeYD~mn4Y-!;it!)z4*}Q$iB} DwRDYB literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openpanel.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openpanel.png new file mode 100644 index 0000000000000000000000000000000000000000..87883fa8ca2edafa4ecbc5fa296d55e6629077f4 GIT binary patch literal 537 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vn} zPZ!6KiaBp*?e}7K6galOVQOnD|AL5)X`M}F|Ed|3!^*_OZbe0|S{i!5i<{eeqrg{2 zm$#6RYoWh!EEF$;X+g1|M+-W zmv6fH2ZO(@Tl+7D@Nsa4HSUqm>GNGA7k_-cwL^`P(^0R6l&>nky@jT1l&SnYD}U=e0gvM+rX9exPr3tm5x@8|DXWY&CuYwr(fpN{?>FVdQ&MBb@ E0FO@Ku>b%7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openupgrade.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openupgrade.png new file mode 100644 index 0000000000000000000000000000000000000000..669883b8075ac5b2a49e360d1a15229b812ebc5b GIT binary patch literal 395 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|TS2 zr;B4q#hkY{_5BY!$Q=8){PsQ8neHF8+8if^D6U8>dvZaeM1QXGVFN?grXw4+o0y)z z7=L^c=aGMRRCn8)ch6aLcIp22d23%VJQ2Z#67CDTo2PDg|Ma?h;VH}K&lbpj`1`3d zd&alc{1Ix-y!fjHnGdpca!XcIo$V- z?@Wl!-s&cFlIcq6=kK3P&P84QA*iXs`N1wbK*WA;#OtluqKYPO;~6fhawdq+IXuhF hpK(Gk0|NbKeR@04f91u%SYYTfc)I$ztaD0e0ss&7rXc_T literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openwires.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_openwires.png new file mode 100644 index 0000000000000000000000000000000000000000..b88b59319b86b858d84caf03688e21daa795197b GIT binary patch literal 532 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_thermal.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/overlay_thermal.png new file mode 100644 index 0000000000000000000000000000000000000000..40e6d05a06cc461ade3b2ce838dd34f9e12670ab GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^2|(Py!3HG1+{xJmq&N#aB8wRq_>O=u<5X=vX$A(y zcb+beAr*7p-aXhWY{=jcD8E9@WTMgn_7xme3EeZ)Zd55aCa$&YQ{8|1|E4LPe3m~> z8msr)_by^>;ARkK&||oh+Mu6YQyaU#_hWX>yMHqOt>z`?Z#T5tzwZ9=AGKfW^%!l` z{{NP^|LlI5(w+Z(zga%KxY6-p#-H1tA1_|bF`ePur>5O|x6jh8Ac&!9GLyg@k%k8=Sm(@{xApA#>w<25 zrhZ!+PL_1NJ0@X$%_5XZZ++ga_jmc^66W-L|698H6w_3Odsn>KZ1%4ywA~*ZA1`uX z)}u$~)5Tw`NqVzJ&U{C_-iM#x7M^NyWc=OzK97UnW2K&4-p}AE3$z&Z?s@aSC~ufH zb3tciK*OKk{-;H46bmN@-Io&CkbmK@af3pk{2WFm>+I=4uhu@bPrUzX_JUWx7BMUn z+Ag|ms(8evTNT|*8Jo^CR5(^0IH;;1J5}<*Qg)9sF?-aWC9#?G&6@u~UEg`@B#57u zFtDhzDp+VT9Q0)5@Z)ko^6m_l6PX*oP2SAzW9(FP>rrZiQ}a$1o3mUQ2E3jpAKA)G z$_nJ(AY)m5D1_-2v%CL{Y6oB52{TwvdUNfW5GWgAVuDkT9{m&lbLfH!`xf{7kv{!2N z>Ri@tP>bYD;oY!-f$Qh2(9?Hb`30(TKP&EZ2O{qR#M@v zlGuHTTKCI#2|c{RXQdT0XT0!8KGC$Swqc4>rb9s}Yf+3|lV#3~2T3pVn03s2u4J5R m*yt0}@t+yl3GZ0z6mZ?2Ak!qdgH6G0K?2u3@iPg=0()jREfDNr+%db+ptI+5d+v?q zlK*V{!Jl8pmL;?=`yE;ye(;Lr8Baz7b=CuOL>P*L7|u*&iHV8pKYaeXWYY!Xc+Ue@ z(+Zj={PIBevkmu?cURAvKeZv0 z)!>)Rgql5j_3C~LyVY{tsNu2re{IidrX3Y-`#d^YtlqC`cq}QUoXT*?`28B@tom=u zrYv1}g*lYb#@(lJPe@xr>xKPy7-bg3vvn>d*kOcsT@|nlS~gU zCEVQT^;RjhQ87a5jpi*Q-a}Bwqxb~M(PO;$i$!D?i_0tFfQhVA>>8a9@Gmt@VVr0` z>BdfARW_FwX{S;H@kp|s9o*OA|+8P0|^Eh?_r(S3ER#N0CT z$sP%;PkIyfOJ`U7cDa)C^>bi>eP?u23Rl2#;}?(XmpNoKvnsr3trTl0bcsyZ#jvXJ z(b65_=a@E&?AW=HH8mgK`E-#v0KF96}2=0y$fPLZa6)cz@W=;MMk?B@qQ>%hg6mEU*99O5z+>SBuc^W_&)`ts=;4&6&R)a~UI)*xcPe`mYuBtvo46jp<8 zdj!{Sxpki>x&3j?|6grpTbr3u?#au@|Et@+iS5LUr4`pcZmN**aV+GmsID`e%HZ~| z% zjpJ2i6<_vS%_*b!7O_&MDD9YzT5#BcY=%0@eoNNfl@D@C_<-@t;OXk;vd$@? F2>`hy-2MOn literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_generic.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_generic.png new file mode 100644 index 0000000000000000000000000000000000000000..87026cef86338dde4b1f3feacf5378cbb4dbfd7e GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vn) zPZ!6KiaBp*8G11X3bfT9Eatd(pn~Be+qSZ4QJgDtE=RGh*|K57W}z=E2jey`4Rg{H z`mE2R)BWJwleN~b&sM-n?aI$_Wo6Ulz%I*uOyN!0vlG7V{qb zdSA;a&_7xI+72u3gsoG(qAhirCe7>#-fUeebm87V8(n72hCPPUc37n|bkBeAkVnB_ z+Os9qmK>Ec-}vW9-(JywNY#UY`yC3dFx^m|aPPr{{^P2B)0h9=U$1qB@8j*`>RQWl zjd;}<&#IlAFl7g$8e`66L*~4+VjjoOS0X2^A$&iGbpi>?}@D)WYbqL|4Iirw)q zV~@{a{N#6T8Q&UPbN_m0-351>(;e?zX}RbX!2RH0bE}6+#Z95LGo~HLI-+@B?N5DU Z{s;5Dx<3VfHv(gm!PC{xWt~$(699rJ(c%CA literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_light.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_light.png new file mode 100644 index 0000000000000000000000000000000000000000..80d696c1644420fa048bcd748c72032a59eaeab8 GIT binary patch literal 471 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R5H zr;B4q#hkaZ61@&P2(-o@Eatd(po-xm3s>C1?h59E|KkqI+je|qYZ8x~JE<{1E2V65 z+O_X?8fTpjr|rLa*VAezgQXBdkqW~T4~7#H873$*D!4N_^szL^a6%>K7FU)AuiJk6 z@WpjI8(sg)ZE>859wqqhK1M%lP_3IK!q5)%CY;yxDU8 zk@o>>7pE*HVWA5~SI;^6CO9$GtWuQRXBquv@o9xU>^zYRQf{&wXN;`j-%($qwVl8G zo{w_koVkm9#1fjfe|`V+{w+zPM)rkf5|deOB=lRKoW;4wN9aR5TXomF`K(b`9Sirx zMEP{>{@-7>{K>psTe)XzSY)Ww=@5lnUY7_5Z{0e-XIhuS@|&{vt0aDUJ|RFi;ceDL z{(YrtZLB@nAF~bme#vZJpvB9l`f1ZK9gDtik>-y3*(+-6ENiN-R$MRqXrl7q$XWkg n*Haf=xx?}I<~zY(>5cM_8jty~f9X&K#uS66tDnm{r-UW|$9KO4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_servo.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_servo.png new file mode 100644 index 0000000000000000000000000000000000000000..598703be7ba6b2426b5db53504be5e8bcc46ce7d GIT binary patch literal 581 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VoC zPZ!6KiaBp*8G1823b^fe4z60eb*+-4hwcossY^ALezFQVDwdgviE(D;GAV7`vT5rE zy9o+WD-vdJ*~qi$-5e>M&DPaviO(Fnn(w5&d;8|iq@Af8?yL?LS`3E*83p>d8VW)f zS{5@Y$cQpLT)_a8+Ho&HFMnoGCTHZdi>XaVleMODExYW`)6ReHqXp-JcKMk2q(ArE zw@yN?}pFL ztdDICcX2ydoZEfCpRtFptNW35j`)IuyVI@9eiyIb@}KqSb*sk7EYDRxeEHMS`_)&= z!cf%7x$xr8Bcf{=Ki5sXbZXiDox6MWxYIW0^ShM9-taWAFOHAt{a~1>tk&0mE5b84 zpk|wdmG7B7OrP4-@5RLnNI(9l@n2w_&@<5qM|S;fl$)hPJ9{-E&RyrRJPqui0*)@NRxY+rQy<=ICcWtClcBd!Q>d|Jok?x3UZy+O^P zoROnl^}u#@`3{BC{c{=ZY=1J$_?36+*1x)k93S4DY;QWpSf-s)x^gR9#l7RNPO>X( ze3?JpasFJ^dy)rU0=fDP_e~eD^W9^zu&q>cFVdQ&MBb@ E0AhOd$N&HU literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_thruster.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/r_leg_thruster.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3f3d3fb82029d86046520b236854d8df0748e1 GIT binary patch literal 3381 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 t`cRMfDO=u<5X=vX$A(C zZJsWUAr*7p&fS}L#X+Q1w)1(13u`Kq?ITWyMT;CYH5NE^wYbclrX?gQB2p6K@qwko zu0=>oB`)RW?nf@uS4&o3GyZt-+`RQSzp8wj`PKa2%@=*e$pRrN4LvLqCNdZaIk+*M z@L-VSR8VG2At1Oc;=seR)~gpketh4GfNoiU${<_=-m6+~1#nYj^ko)$U?j@~iMZ=ZPM#Zfj z70c>QTm7v)ah|JVvwhBC{d0cp=IPJ>pJn@aY^`ve$&|9B`JdhU8FFN#Hy5xl|M%y8 z^g=@Wu6CmQr_D?oKDGDfoA+lPPrg%Yxvlhs8|#kh-`Ad%=gO|`Kh7~Tc=>zl{M(yj zdUSNElj3uBmi~*Fm+ySE#Ir8U;m*%(GV`bBzm*W(r|UJNIbJ`H{cndd&vN!Jd(GsR z&$(0fXQkRU$8&F#4}7q;FO}eEaWHkLqTBsXlW* ztI3T=f939+$i?@Q>prsZvPf@?yL|oh@>7!0S6_UeVPDDeL+WS7o$JS%Bb@JVa@&9W z&mvB#8PW}1k5^hUX*~b-^zByDUmL&KU&~0!V{+4)7JWwW0LS*XeP_8nzNTx{hX4ay z<9FX&pR3;6Gz9&h9@lyr(pt2pZ{18~hK2u(e|Go(fPK&!e?YQ-TFUcdX{r_?!LPRA835}Ecoa7xwrf>wwv>vFLr)CeJcKA za5=N)Wm9338oR77e>t?@I(OGdv)I*ZUEUsEFQ|RHey+}=9 PvBu!(>gTe~DWM4fCY((r literal 0 HcmV?d00001 From 313730f9571343828c58e5e916a7516b2a4d3fcf Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 03:34:22 +0300 Subject: [PATCH 48/73] rsi fix --- .../Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json index ec06a5375ef..f4643db88b4 100644 --- a/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/netguardian.rsi/meta.json @@ -1,6 +1,6 @@ { "version": 1, - "license": null, + "license": "CC-BY-SA-3.0", "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/pull/79522", "size": { "x": 48, From 0ea0d2e7f12a9c20d6088b60f3a4df588885054e Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 03:35:58 +0300 Subject: [PATCH 49/73] more rsi fixes --- Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json index 8f483efc614..181da9ccc4e 100644 --- a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json @@ -4,7 +4,7 @@ "x": 32, "y": 32 }, - "license": "CC-BY-NC-SA", + "license": "CC-BY-NC-SA-3.0", "copyright": "Taken from goonstation https://github.com/goonstation/goonstation/blob/master/icons/mob/robots.dmi", "states": [ { From 2a811abba426648be23745625da3fb501082c168 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 05:53:38 +0300 Subject: [PATCH 50/73] more robots --- .../Procedural/salvage_factions.yml | 88 ++++++++++ .../Spawners/Random/dungeon_items_corpses.yml | 25 +++ .../Spawners/Random/mobs_hostile_silicons.yml | 130 ++++++++++++++ .../Entities/Mobs/NPCs/mob_hostile_base.yml | 19 +++ .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 158 +++++++++++++++--- .../Structures/Specific/roguesilicons.yml | 70 ++++++++ .../_NF/Mobs/RogueSilicons/ancient.png | Bin 1261 -> 0 bytes .../Mobs/RogueSilicons/ancient.rsi/base.png | Bin 0 -> 10085 bytes .../RogueSilicons/ancient.rsi/decor_01.png | Bin 0 -> 9683 bytes .../RogueSilicons/ancient.rsi/decor_02.png | Bin 0 -> 9636 bytes .../Mobs/RogueSilicons/ancient.rsi/eyes.png | Bin 0 -> 5687 bytes .../Mobs/RogueSilicons/ancient.rsi/meta.json | 27 +++ .../_NF/Mobs/RogueSilicons/automaton.png | Bin 2918 -> 0 bytes .../RogueSilicons/ai_node.rsi/base.png | Bin 0 -> 1552 bytes .../RogueSilicons/ai_node.rsi/meta.json | 21 +++ .../RogueSilicons/ai_node.rsi/unshaded.png | Bin 0 -> 590 bytes 16 files changed, 511 insertions(+), 27 deletions(-) create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_corpses.yml create mode 100644 Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml create mode 100644 Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml delete mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/ancient.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/base.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/decor_01.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/decor_02.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/eyes.png create mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json delete mode 100644 Resources/Textures/_NF/Mobs/RogueSilicons/automaton.png create mode 100644 Resources/Textures/_NF/Structures/Specific/RogueSilicons/ai_node.rsi/base.png create mode 100644 Resources/Textures/_NF/Structures/Specific/RogueSilicons/ai_node.rsi/meta.json create mode 100644 Resources/Textures/_NF/Structures/Specific/RogueSilicons/ai_node.rsi/unshaded.png diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index ac1fca654dd..eb9f62c1815 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -380,3 +380,91 @@ DefenseStructure: ExplorersLootRadar Mining: Explorers Megafauna: MobExplorerBoss + +- type: salvageFaction + id: Silicons + cost: 6 + groups: + - entries: + - id: SpawnMobRogueScapT1 + amount: 2 + maxAmount: 3 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 1.00 + - entries: + - id: SpawnMobRogueScapT1 + amount: 2 + maxAmount: 4 + - id: SpawnMobRogueDronesT1 + amount: 1 + maxAmount: 2 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.75 + - entries: + - id: SpawnMobRogueSiliconsT2 + amount: 1 + maxAmount: 2 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: SpawnMobRogueSiliconsT2 + amount: 1 + maxAmount: 1 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.5 + - entries: + - id: SpawnMobRogueSiliconsT2 + amount: 2 + maxAmount: 3 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: MobRogueSiliconScrapFlayer + amount: 1 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.3 + - entries: + - id: SpawnMobRogueSiliconsT2 + amount: 1 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.25 + - entries: + - id: SpawnMobRogueSiliconsT3 + amount: 1 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.1 + - entries: + - id: SpawnMobRogueSiliconsT3 + amount: 2 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.01 + - entries: + - id: MobRogueSiliconScrapFlayer + amount: 3 + maxAmount: 5 + - id: SpawnDungeonRandomHumanCorpse + amount: 1 + maxAmount: 2 + prob: 0.05 + configs: + DefenseStructure: RogueAiNode + Mining: Silicons + Megafauna: MobRogueSiliconBoss diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_corpses.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_corpses.yml new file mode 100644 index 00000000000..e2a89915aca --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/dungeon_items_corpses.yml @@ -0,0 +1,25 @@ +- type: entity + name: random corpse + id: SpawnDungeonRandomHumanCorpse + parent: MarkerBasePlaceFree + suffix: "Dungeon, Corpse" + components: + - type: Sprite + sprite: Markers/jobs.rsi + layers: + - state: green + - sprite: Structures/Storage/Crates/coffin.rsi + state: base + - sprite: _NF/Markers/general.rsi + state: questionmark + color: red + - type: RandomSpawner + prototypes: + - MobRandomServiceCorpse + - MobRandomEngineerCorpse + - MobRandomEngineerCorpse + - MobRandomCargoCorpse + - MobRandomMedicCorpse + - MobRandomScienceCorpse + chance: 0.9 + offset: 0.0 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml new file mode 100644 index 00000000000..1ad08da0aa9 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml @@ -0,0 +1,130 @@ +- type: entity + name: drone spawner + id: SpawnMobRogueDronesT1 + parent: MarkerBase + suffix: AI, Hostile, T1 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department + color: "#990000" + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: decor_department_accent + color: "#ffff00" + - sprite: _NF/Mobs/RogueSilicons/drones.rsi + state: base_eyes + shader: unshaded + color: "#990000" + - type: RandomSpawner + prototypes: + - MobRogueSiliconDroneLethals + - MobRogueSiliconDroneNonLethals + - MobRogueSiliconDroneScience + chance: 1 + offset: 0.0 + +- type: entity + name: scrap unit spawner + id: SpawnMobRogueScapT1 + parent: MarkerBase + suffix: AI, Hostile, T1 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: body_generic + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_sturdy + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_generic_eye + color: "#990000" + shader: unshaded + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_arm_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_arm_sturdy + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_leg_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_leg_generic + - type: RandomSpawner + prototypes: + - MobRogueSiliconScrap + - MobRogueSiliconScrapAlt + chance: 1 + offset: 0.0 + rarePrototypes: + - MobRogueSiliconScrapFlayer + rareChance: 0.05 + +- type: entity + name: rogue unit spawner + id: SpawnMobRogueSiliconsT2 + parent: MarkerBase + suffix: AI, Hostile, T2 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: body_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_light + color: "#990000" + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: overlay_thermal + shader: unshaded + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_arm_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_arm_light + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: leg_thruster + - sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi + state: wielded-inhand-right + - type: RandomSpawner + prototypes: + - MobRogueSiliconServo + - MobRogueSiliconHerder + - MobRogueSiliconHunter + chance: 1 + offset: 0.0 + +- type: entity + name: rogue unit spawner + id: SpawnMobRogueSiliconsT3 + parent: MarkerBase + suffix: AI, Hostile, T3 + components: + - type: Sprite + layers: + - state: red + - state: ai + - sprite: _NF/Mobs/RogueSilicons/ancient.rsi + state: base + color: "#8ca1a3" + - sprite: _NF/Mobs/RogueSilicons/ancient.rsi + state: decor_02 + color: "#c96d25" + - sprite: _NF/Mobs/RogueSilicons/ancient.rsi + state: eyes + color: "#990000" + shader: unshaded + - sprite: Objects/Weapons/Guns/Battery/tesla_gun.rsi + state: inhand-right + - type: RandomSpawner + prototypes: + - MobRogueSiliconTesla + chance: 1 + offset: 0.0 + rarePrototypes: + - MobRogueSiliconGuardian + rareChance: 0.05 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index f68934044f7..5a78de459b6 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -32,6 +32,25 @@ Toxin: -7 Genetic: -7 +- type: entity + save: false + id: MobPassiveRegenStrong + abstract: true + components: + - type: PassiveDamage + allowedStates: + - Alive + - Critical + - Dead + damageCap: 400 + damage: + groups: + Brute: -3 + Burn: -3 + Airloss: -10 + Toxin: -10 + Genetic: -10 + - type: entity save: false id: MobLaserReflect diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 9d2245d4a93..605a4846771 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -1,10 +1,51 @@ -# Base +# BASE +## AI packages +- type: entity + id: MobRogueSiliconAISimpleMelee + abstract: true + components: + - type: HTN + rootTask: + task: SimpleHostileCompound + blackboard: + NavClimb: !type:Bool + false + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true + SoundTargetInLOS: !type:SoundPathSpecifier + path: /Audio/Effects/double_beep.ogg + +- type: entity + id: MobRogueSiliconAISimpleRanged + abstract: true + components: + - type: HTN + rootTask: + task: SimpleRangedHostileCompound + blackboard: + NavClimb: !type:Bool + false + NavInteract: !type:Bool + true + NavPry: !type:Bool + true + NavSmash: !type:Bool + true + SoundTargetInLOS: !type:SoundPathSpecifier + path: /Audio/Effects/double_beep.ogg + +## Mob base - type: entity name: autonomous unit abstract: true parent: - MobNonHumanHostileBase - - MobHumanoidHostileAISimpleRanged + - MobRogueSiliconAISimpleRanged + - MobPassiveRegenStrong id: MobRogueSiliconBase components: - type: Damageable @@ -27,7 +68,7 @@ thresholds: 0: Alive 100: Critical - 200: Dead + 350: Dead stateAlertDict: Alive: BorgHealth Critical: BorgCrit @@ -78,7 +119,8 @@ collection: FootstepBorg - type: entity - parent: MobRogueSiliconBase + parent: + - MobRogueSiliconBase id: MobRogueSiliconScrapBase name: scrap unit abstract: true @@ -116,7 +158,7 @@ thresholds: 0: Alive 60: Critical - 80: Dead + 240: Dead - type: Stamina critThreshold: 600 @@ -147,7 +189,7 @@ thresholds: 0: Alive 30: Critical - 50: Dead + 180: Dead - type: Stamina critThreshold: 600 - type: ProjectileBatteryAmmoProvider @@ -175,12 +217,12 @@ range: 5 sound: /Audio/Effects/shuttle_thruster.ogg -# Variations +# VARIATIONS ## Tier 1 - type: entity parent: - MobRogueSiliconScrapBase - - MobHumanoidHostileAISimpleMelee + - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrap #noSpawn: true components: @@ -240,7 +282,7 @@ - type: entity parent: - MobRogueSiliconScrapBase - - MobHumanoidHostileAISimpleMelee + - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapAlt #noSpawn: true suffix: Threads @@ -290,7 +332,7 @@ - type: entity parent: - MobRogueSiliconScrapBase - - MobHumanoidHostileAISimpleMelee + - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapFlayer #noSpawn: true suffix: Claw @@ -419,7 +461,7 @@ - type: entity parent: - MobRogueSiliconBase - - MobHumanoidHostileAISimpleMelee + - MobRogueSiliconAISimpleMelee id: MobRogueSiliconServo name: servo unit #noSpawn: true @@ -452,14 +494,14 @@ thresholds: 0: Alive 80: Critical - 100: Dead + 240: Dead - type: Stamina critThreshold: 600 - type: entity parent: - MobRogueSiliconBase - - MobHumanoidHostileAISimpleMelee + - MobRogueSiliconAISimpleMelee id: MobRogueSiliconHerder name: herder unit #noSpawn: true @@ -494,7 +536,7 @@ thresholds: 0: Alive 80: Critical - 100: Dead + 160: Dead - type: Stamina critThreshold: 600 - type: StaminaDamageOnHit @@ -538,15 +580,73 @@ state: leg_thruster - sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi state: wielded-inhand-right - - type: ProjectileBatteryAmmoProvider - proto: RedMediumLaser - fireCost: 100 + #- type: ProjectileBatteryAmmoProvider + #proto: RedMediumLaser + #fireCost: 100 - type: PointLight radius: 3.5 color: orange energy: 0.5 ## Tier 3 +- type: entity + parent: + - MobRogueSiliconBase + - MobRogueSiliconAISimpleMelee + id: MobRogueSiliconTesla + name: tesla unit + #noSpawn: true + components: + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/ancient.rsi + state: base + color: "#8ca1a3" + - sprite: _NF/Mobs/RogueSilicons/ancient.rsi + state: decor_02 + color: "#c96d25" + - sprite: _NF/Mobs/RogueSilicons/ancient.rsi + state: eyes + color: "#990000" + shader: unshaded + - sprite: Objects/Weapons/Guns/Battery/tesla_gun.rsi + state: inhand-right + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: MobThresholds + thresholds: + 0: Alive + 110: Critical + 240: Dead + - type: Stamina + critThreshold: 600 + - type: ProjectileBatteryAmmoProvider + proto: TeslaGunBullet + fireCost: 100 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 30 + - type: Battery + maxCharge: 300 + startingCharge: 300 + - type: Gun + projectileSpeed: 10 + showExamineText: false + fireRate: 0.75 + minAngle: 0 + maxAngle: 15 + soundGunshot: + path: /Audio/Effects/Lightning/lightningshock.ogg + params: + variation: 0.2 + - type: PointLight + radius: 1 + energy: 1.5 + color: "#47f8ff" ## Tier 4 Boss - type: entity @@ -584,13 +684,13 @@ - type: MobThresholds thresholds: 0: Alive - 200: Critical - 250: Dead + 150: Critical + 400: Dead - type: Stamina critThreshold: 600 - type: HitscanBatteryAmmoProvider - proto: RedLaser - fireCost: 20 + proto: RedLaserPractice # RedLaser + fireCost: 10 - type: BatterySelfRecharger autoRecharge: true autoRechargeRate: 100 @@ -600,12 +700,15 @@ - type: Gun showExamineText: false fireRate: 8 - minAngle: 30 - maxAngle: 45 + minAngle: 3 + maxAngle: 15 selectedMode: FullAuto availableModes: - FullAuto - soundGunshot: /Audio/Weapons/Guns/Gunshots/laser.ogg + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + params: + variation: 0.2 - type: FootstepModifier footstepSoundCollection: path: /Audio/_NF/Effects/silence.ogg @@ -622,7 +725,7 @@ - type: entity parent: MobRogueSiliconBase id: MobRogueSiliconBoss - name: one star unit + name: demolisher unit #noSpawn: true components: - type: Sprite @@ -641,8 +744,8 @@ - type: MobThresholds thresholds: 0: Alive - 350: Critical - 400: Dead + 200: Critical + 600: Dead - type: Stamina critThreshold: 600 - type: BasicEntityAmmoProvider @@ -650,6 +753,7 @@ capacity: 10 count: 10 - type: Gun + projectileSpeed: 10 showExamineText: false fireRate: 1 minAngle: 30 diff --git a/Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml b/Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml new file mode 100644 index 00000000000..f3b96a4f363 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml @@ -0,0 +1,70 @@ +- type: entity + parent: CarpStatue + id: RogueAiNode + name: rogue ai node + description: "Contains portion of rogue AI database. CAUTION! EXPLOSIVE!" + components: + - type: Sprite + sprite: _NF/Structures/Specific/RogueSilicons/ai_node.rsi + layers: + - state: base + - state: unshaded + shader: unshaded + - type: PointLight + radius: 1.5 + energy: 1.6 + color: "#3db83b" + castShadows: false + - type: AmbientSound + volume: -9 + range: 5 + sound: + path: /Audio/Ambience/Objects/hdd_buzz.ogg + - type: RangedDamageSound + soundGroups: + Brute: + collection: + MetalBulletImpact + soundTypes: + Heat: + collection: + MetalLaserImpact + - type: Explosive + explosionType: Default + totalIntensity: 25 + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Metallic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 30 + behaviors: + - !type:SolutionExplosionBehavior + solution: tank + - trigger: + !type:DamageTypeTrigger + damageType: Piercing + damage: 30 + behaviors: + - !type:SolutionExplosionBehavior + solution: tank + - trigger: + !type:DamageTrigger + damage: 30 + behaviors: + - !type:SpillBehavior + solution: tank + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:DoActsBehavior + acts: ["Destruction"] \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.png b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.png deleted file mode 100644 index 8778155fd0a8ce8c7722aeeb36a8bfe845af3f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1261 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/decor_02.png b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/decor_02.png new file mode 100644 index 0000000000000000000000000000000000000000..aca5ec4f0b3061c8a751c42b5e4ad51cb5fdda31 GIT binary patch literal 9636 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/eyes.png b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/eyes.png new file mode 100644 index 0000000000000000000000000000000000000000..a3d7a9b15c1eccae1fec3adf08a4d4c03574631a GIT binary patch literal 5687 zcmeHLYgAKL7QP4q2DQaP<)IMc15j>qliZL;iGYMh)BpuUL|V8>ZXl8u$qfmNib7@3 zD!!dAx0SY{XU=<>v)4!X^5;pb-QYUYgG@;d3^o_4xWqe7ng8y;I{&vCjPTVnh<0Xs2q zMqtg-1lz^;+RC=Nj$En!QP^A_dTpcA&b6fTrQ|M2c9_L&sIk7_Zt*1j49RJ4Vf{eN za@zi{E`$#x4t>15-@bR&95=q5yUn(T)*cgg=6+>0SnZqWb|~&&jdM6Xpx?;!QthR( zHfF|Of3@0Fmp$lj#AH?V>>s~Yf6$?ve!AKF-nA$Gt-bfI7YuxP#Dm?(Ij~^Xnd1BK z9R_--I<`xDy)X!_t@!+g${FMe)RsLr*$J0jP;oWGE24DK&cD04vS!eS5^K-3#rl97 zQ+wyNTNEC05&1N<%(b{+ZJZeW!=*(l)$Mm&=6ViVh0U|w=SWiNJ1)07!hNK4N}(#D zE50i0-TK&b2i@XIJOVfnRbb92h*!Jk$PJHBUE@_v)|ieo$GZ1~!1 z-jasmg2lbwo_V_^#|pF;i~Z&6d$PW9{dea#QZKA?vYF6*>|KBV2WKvLkk;SKQX##}*$eVh7k|`=#pPPmK)L#sEjKgI z@jH7L4Np_8p4In0*0H`|W%H@*wv@JZ|AXJ$C`nIs-Sb&aWBJG1)+RcYYvvC`jt=!N z9IYv|J2TfK`|#0aaSjf80D*nW{&NQcf(rw`Jurn*QFq*`DRkN4+L)gnEowA11NZ585<& zDrotcdv+fWIaAmg%D!73y!MeBFJ=Ge>JQi4up3-ixy?PmFY8zL0LK07{F|rapE7Sv zzGC?VuW{Kci(9V2Bt&uZH_@lAi?9tegmu|3{BGnzrlhfB>p%ZJ}jkL&$4Zyf+wY>)>A zMhF7~pS2S_PQjY({Lor|r<{(GRmIU(_sHGb_V8AC&hPeI=AE^nB_{c5O;3ya9%0~) z?rzWH@6UL$;sEbBXW&lfeA_HP^2MoPo2Zf92H~Ed%{GR|L+y`$Xj@}ryM+|hROwW- zYS;F#y0h_XgCGc70~v!s0|mwa2tejGKpY zTQ`=n!7m>yO#S?`xf_NHjBQ1B)BLm_rHyRSH6ZJga<(Wk@;FPqckyBe6Jva$yS=(| z_pZvP^~A?;)TuEGSl3Q?WFlonVAAn0oz*07%0>slxiZAkF*diQa=Vx!>Pvm+w?ntW zw=bF3YVE}B{cr=R;ePgSH9xiQKHD&f?d4!|B0(`Kaj?BRq3MJ&)BQ%;1FIoF%jI!5 z5|jY5@axtaaXq&E9oE#!8@sD);s=4i@DtL|yq;1ohfk|Vo!3OUIaN)}s!(;r^>Nk! zhp$u=yLNWI>$Kp*N4x7!{^f(wM`}?;rk}=2TO!QUKLmhx3gmcyj}7k3puUT3os#EK= z5;Q0cRbjKugK89doq0^X4kb*cbt|MY8onq~WOJVop(x_H4t0BG(j8;58n9NW!nNVzRj34eJB2wQ)PLZ7#}YOa_f>1t&EiL)sbizDmZXrIq#~0|ZGeYJ#^l!_X{gk6 z1h|f4Q<7vvm4xE`cD&f0+2yZDWV(--%QdAh0?|QODr13Su@p~6A0J4{Mp;rW1AduZ zrbxGhSS#b0&L^=bzWhctbKuBp1YhLC6QB)1x7n2h({FOc^_EvM-J3 zu+MhuOY|U-h-a>cFVUlTLLw2P^csyqj%r`l=~>?V7o3^@c#i&&yE$ykJ5a4j$E!FQ z3pc1<8~zo*F@~jb398bmU$=B~$e1i<7ZJYZF&lot;rAu&`Gq;2B}5_piLdeO`x7JJ z)Ng~lk-l%`dMno(Dey+%x7qbpt~XNPjlgfS>;EPf>BS>As>1*8GvE)@Y2Qyei$9E8 ziv+M1|KE99`3WLG~m5UOy{tb7!QEvbM literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json new file mode 100644 index 00000000000..19abb05c483 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from goonstation https://github.com/goonstation/goonstation/blob/master/icons/mob/robots.dmi | Recolored and split into layers by erhardsteinhauer (discord/github)", + "states": [ + { + "name": "base", + "directions": 4 + }, + { + "name": "eyes", + "directions": 4 + }, + { + "name": "decor_01", + "directions": 4 + }, + { + "name": "decor_02", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/automaton.png b/Resources/Textures/_NF/Mobs/RogueSilicons/automaton.png deleted file mode 100644 index a09862c500e71824e1d437f3b3e5c3541e5b5026..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2918 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 diff --git a/Resources/Textures/_NF/Structures/Specific/RogueSilicons/ai_node.rsi/base.png b/Resources/Textures/_NF/Structures/Specific/RogueSilicons/ai_node.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..7b31b3d888cc9a34c945bdcb6a63543b667dbb47 GIT binary patch literal 1552 zcmcIk`8U)H9Q|UL1!H++%R|pHWC<0G6NaIghsnN$##WML?2er=A(>E3g)9m6FqSNn zgh|31BIgYiF(zZlG9+K~%J1N~o4StdIBbR0EpXh< z`t(lMR5BQn2Xh*x%9aOH3UF`wyi%-0Iv;~kBBSzm9z4@96!wTGHze-vrpRzSrejjc zrd4=@9u3J6gU^lG6FD_TI*&F@BOcsSBkh*NPn8QxnnilY?&U=d`lesKkr$FcHn!EK zAl=vSu4kRun(XYy!FToMyj+dLBV13O8Sl_Y^?h2dbCrgR0ztJ;?Ua4Ou)@^@^UC(SoUOM(sK^7I3uJ>oh<4Ed#wSM7drwl_2Mg1=mO%Arh?P^oa2%yMnly|oQuNNUdn+s?_7YG6p zBB~MPJOxU?ctimJ{LL@$-8%_a;ECX9teq8jQAn5{CLf%eNdN$l2o{ZUj{me;Y=%*A zINsk4mDDT|Rg-Em1~s8!q}Mu*s*FH=dsU*EQ;alR9*OZrw&dQ){Pv_WR0E|#6f~Km z{JlH(dU`W0bP!|DJ5x0scKTHT~--?T4zhC+&2e90##t3Ez1trB$R`3q7 zd48Y5;E>BWYt?*1YhWfYtf;>TjM|E4c3nYzMX3|v^F2Ppz2x~zU(?*RZ}bJV&~scp z(p0hbQdL()Sph%uUGz-D!~FE+&m69N{2sm9s)|jP+s1KRT9cdVt?ZqTS9 zE$^BfpE;XpGi@vgFCvMpq~9*RAAqF}h?MF{HFkD}EKUs#-I_gEitdeZXj5k=M|43pmeHfV0m62hMOh=cb{_6l&$E{R4g>m|H@o}*!iVH>J|G{XDxQN5b^~aoWk$Ltrnv=B!6L&~ zr)t(kO<2?Y;84Y&ixq4jCwIKwl1pPk;th^) zqE&xkgw9j6M&xG*AYPt1VZqM_;r>k&348$0w=K)aCdnIIr&B_!L+3hxzQ1<=qCf^# z`~3!&T~>$Etr@!mOS*-q+x1H3l-+8N(aNSK>L2*QWh=j=w#orKDSVtSbThCv3SXmu zuUr4DUW?*6cq7Mkg@f7xMu`JU)X*AtwnA(gg>NOq?GwCr|N3+9qq{BVn63hiZ;YmH z9Yn{F)Ee43GDoX%?Jexvc0J3jis{-LcI}lr>KYP=`vnY+{5KXee(GCk`wX|gbOapm zyiFlpy2~TD`sQN@Yg=r=OE-&GykFCYW1d>~$`P=`6f>Y_VN)e>Ij!ChQ@1`D_7<9v zX0Dt@qbo^Vv2-GeiHXHMA{#&AHcJX_72pFuTqB^wkvXQ-ySgU0lCrY)n4X1$?i{8S z=i%%nr1X0$!GuVy^axXL7=A<$( zXiTh~XzOvcEN>MaO;~6ZsiE~qBUGoU^-@^I)q_ti$uIPDp7iLE#tt!= zKap#!c38ZA^+1cG$zI_cpI?_=(4%tCg|0p9<=;Qt`@Zi^EjvdqSMb?&5(~1XP4qi* zG^Wm#XU`&bN1h8(lV_|{H|CD4=v!a?<42wN)5v?J^?i0r6O0b13!OK*yP@NH=W=u1 zxu5L{XG~RX{V}KF&H`>B`=Z#gpS{H=6C2apdULA!EPQmPSw*}{2r~a_OY0^kDfvDx?NMQuIw+^xS6 Date: Tue, 11 Jun 2024 06:21:56 +0300 Subject: [PATCH 51/73] robot loot --- .../Fills/Backpacks/npc_loot_silicons.yml | 144 ++++++++++++++++++ .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 27 +++- .../_NF/Roles/Jobs/Hostile/rogue_silicons.yml | 23 +++ .../Objects/Tools/bundles.rsi/engi-base.png | Bin 0 -> 8348 bytes .../Tools/bundles.rsi/engi-inhand-left.png | Bin 0 -> 6694 bytes .../Tools/bundles.rsi/engi-inhand-right.png | Bin 0 -> 6729 bytes .../Objects/Tools/bundles.rsi/mask_null.png | Bin 0 -> 109 bytes .../_NF/Objects/Tools/bundles.rsi/meta.json | 25 +++ 8 files changed, 218 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml create mode 100644 Resources/Prototypes/_NF/Roles/Jobs/Hostile/rogue_silicons.yml create mode 100644 Resources/Textures/_NF/Objects/Tools/bundles.rsi/engi-base.png create mode 100644 Resources/Textures/_NF/Objects/Tools/bundles.rsi/engi-inhand-left.png create mode 100644 Resources/Textures/_NF/Objects/Tools/bundles.rsi/engi-inhand-right.png create mode 100644 Resources/Textures/_NF/Objects/Tools/bundles.rsi/mask_null.png create mode 100644 Resources/Textures/_NF/Objects/Tools/bundles.rsi/meta.json diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml new file mode 100644 index 00000000000..db84462fcdf --- /dev/null +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml @@ -0,0 +1,144 @@ +# BASE +- type: entity + parent: BaseItem + id: RogueSiliconGiftBox + name: rogue unit's bundle + abstract: true + noSpawn: true + suffix: NPC Loot + components: + - type: Sprite + sprite: _NF/Objects/Tools/bundles.rsi + state: engi-base + - type: Item + size: Normal + - type: Clothing + slots: + - back + quickEquip: false + sprite: _NF/Objects/Tools/bundles.rsi + clothingVisuals: + back: + - state: mask_null + - type: SpawnItemsOnUse + items: + - id: SpaceCash10 + sound: + path: /Audio/Machines/windoor_open.ogg + +# EXPLORER NPC LOOT +## TIER 1 +- type: entity + parent: RogueSiliconGiftBox + id: ClothingBackpackRogueSiliconT1 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Parts + - id: AdvancedCapacitorStockPart + prob: 0.9 + - id: NanoManipulatorStockPart + prob: 0.9 + - id: AdvancedMatterBinStockPart + prob: 0.9 + - id: SpawnDungeonLootPowerCell + prob: 0.7 + - id: SpawnDungeonLootPartsEngi + prob: 0.7 + # Circuit boards + - id: SpawnDungeonLootCircuitBoardEngi + prob: 0.9 + - id: SpawnDungeonLootCircuitBoardScience + prob: 0.9 + sound: + path: /Audio/Machines/windoor_open.ogg + +## TIER 2 +- type: entity + parent: RogueSiliconGiftBox + id: ClothingBackpackRogueSiliconT2 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Parts + - id: SuperCapacitorStockPart + prob: 0.9 + - id: PicoManipulatorStockPart + prob: 0.9 + - id: SuperMatterBinStockPart + prob: 0.9 + - id: SpawnDungeonLootPowerCell + prob: 0.7 + - id: SpawnDungeonLootPartsEngi + amount: 2 + prob: 0.7 + # Circuit boards + - id: SpawnDungeonLootCircuitBoardEngi + amount: 2 + prob: 0.9 + - id: SpawnDungeonLootCircuitBoardScience + prob: 0.9 + sound: + path: /Audio/Machines/windoor_open.ogg + +## TIER 3 +- type: entity + parent: RogueSiliconGiftBox + id: ClothingBackpackRogueSiliconT3 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Parts + - id: QuadraticCapacitorStockPart + prob: 0.7 + - id: FemtoManipulatorStockPart + prob: 0.7 + - id: BluespaceMatterBinStockPart + prob: 0.7 + - id: SpawnDungeonLootPowerCell + prob: 0.7 + - id: SpawnDungeonLootPartsEngi + amount: 3 + prob: 0.7 + # Circuit boards + - id: SpawnDungeonLootCircuitBoardEngi + amount: 3 + prob: 0.9 + - id: SpawnDungeonLootCircuitBoardScience + amount: 2 + prob: 0.9 + sound: + path: /Audio/Machines/windoor_open.ogg + +## TIER 4 (Placeholder) +- type: entity + parent: RogueSiliconGiftBox + id: ClothingBackpackRogueSiliconT4 + noSpawn: true + components: + - type: SpawnItemsOnUse + items: + # Parts + - id: QuadraticCapacitorStockPart + prob: 0.7 + - id: FemtoManipulatorStockPart + prob: 0.7 + - id: BluespaceMatterBinStockPart + prob: 0.7 + - id: SpawnDungeonLootPowerCell + prob: 0.7 + - id: SpawnDungeonLootPartsEngi + amount: 3 + prob: 0.7 + # Circuit boards + - id: SpawnDungeonLootCircuitBoardEngi + amount: 3 + prob: 0.9 + - id: SpawnDungeonLootCircuitBoardScience + amount: 2 + prob: 0.9 + sound: + path: /Audio/Machines/windoor_open.ogg diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 605a4846771..62750e55f72 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -40,10 +40,11 @@ ## Mob base - type: entity - name: autonomous unit + name: hivemind unit abstract: true parent: - MobNonHumanHostileBase + - MobHumanoidInvetorySimplified - MobRogueSiliconAISimpleRanged - MobPassiveRegenStrong id: MobRogueSiliconBase @@ -125,6 +126,9 @@ name: scrap unit abstract: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT1 - type: Sprite drawdepth: Mobs sprite: _NF/Mobs/RogueSilicons/robots.rsi @@ -168,6 +172,9 @@ name: drone abstract: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT1 - type: CanMoveInAir - type: Fixtures fixtures: @@ -466,6 +473,9 @@ name: servo unit #noSpawn: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT2 - type: Sprite drawdepth: Mobs layers: @@ -506,6 +516,9 @@ name: herder unit #noSpawn: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT2 - type: Sprite drawdepth: Mobs layers: @@ -561,6 +574,9 @@ name: hunter unit #noSpawn: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT2 - type: Sprite drawdepth: Mobs layers: @@ -597,6 +613,9 @@ name: tesla unit #noSpawn: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT3 - type: Sprite drawdepth: Mobs layers: @@ -655,6 +674,9 @@ name: guardian unit #noSpawn: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT4 - type: CanMoveInAir - type: Fixtures fixtures: @@ -728,6 +750,9 @@ name: demolisher unit #noSpawn: true components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT4 - type: Sprite drawdepth: Mobs layers: diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/rogue_silicons.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/rogue_silicons.yml new file mode 100644 index 00000000000..0286e76968a --- /dev/null +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/rogue_silicons.yml @@ -0,0 +1,23 @@ +# Tier 1 +- type: startingGear + id: MobRogueSiliconLootT1 + equipment: + back: ClothingBackpackRogueSiliconT1 + +# Tier 2 +- type: startingGear + id: MobRogueSiliconLootT2 + equipment: + back: ClothingBackpackRogueSiliconT2 + +# Tier 3 +- type: startingGear + id: MobRogueSiliconLootT3 + equipment: + back: ClothingBackpackRogueSiliconT3 + +# Tier 4 +- type: startingGear + id: MobRogueSiliconLootT4 + equipment: + back: ClothingBackpackRogueSiliconT4 diff --git a/Resources/Textures/_NF/Objects/Tools/bundles.rsi/engi-base.png b/Resources/Textures/_NF/Objects/Tools/bundles.rsi/engi-base.png new file mode 100644 index 0000000000000000000000000000000000000000..3df20ea99dead81e7b93d8a73216741c01ffbff8 GIT binary patch literal 8348 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Tools/bundles.rsi/meta.json b/Resources/Textures/_NF/Objects/Tools/bundles.rsi/meta.json new file mode 100644 index 00000000000..2b385fce546 --- /dev/null +++ b/Resources/Textures/_NF/Objects/Tools/bundles.rsi/meta.json @@ -0,0 +1,25 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Original source: https://github.com/tgstation/tgstation/pull/79665 - slight resprite for Frontier by erhardsteinhauer", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "mask_null" + }, + { + "name": "engi-base" + }, + { + "name": "engi-inhand-left", + "directions": 4 + }, + { + "name": "engi-inhand-right", + "directions": 4 + } + ] +} \ No newline at end of file From f2e4fe98a8653b8fcf85e7c671c3cb732479977a Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 06:27:44 +0300 Subject: [PATCH 52/73] tweaks --- .../Entities/Mobs/NPCs/mob_hostile_base.yml | 4 +-- .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 26 +++++++++---------- .../Structures/Specific/roguesilicons.yml | 16 ++++++------ 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index 5a78de459b6..49488a16d18 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -45,8 +45,8 @@ damageCap: 400 damage: groups: - Brute: -3 - Burn: -3 + Brute: -2 + Burn: -2 Airloss: -10 Toxin: -10 Genetic: -10 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 62750e55f72..8b3377fea3b 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -100,7 +100,7 @@ animation: WeaponArcPunch damage: types: - Blunt: 15 + Blunt: 10 Structural: 20 soundHit: collection: MetalThud @@ -231,7 +231,7 @@ - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrap - #noSpawn: true + noSpawn: true components: - type: RandomSprite available: @@ -291,7 +291,7 @@ - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapAlt - #noSpawn: true + noSpawn: true suffix: Threads components: - type: RandomSprite @@ -341,7 +341,7 @@ - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapFlayer - #noSpawn: true + noSpawn: true suffix: Claw components: - type: MeleeWeapon @@ -399,7 +399,7 @@ - type: entity parent: MobRogueSiliconDroneBase id: MobRogueSiliconDroneLethals - #noSpawn: true + noSpawn: true components: - type: Sprite drawdepth: Mobs @@ -420,7 +420,7 @@ - type: entity parent: MobRogueSiliconDroneBase id: MobRogueSiliconDroneNonLethals - #noSpawn: true + noSpawn: true components: - type: Sprite drawdepth: Mobs @@ -444,7 +444,7 @@ - type: entity parent: MobRogueSiliconDroneBase id: MobRogueSiliconDroneScience - #noSpawn: true + noSpawn: true components: - type: Sprite drawdepth: Mobs @@ -471,7 +471,7 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconServo name: servo unit - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -514,7 +514,7 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconHerder name: herder unit - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -572,7 +572,7 @@ parent: MobRogueSiliconDroneBase id: MobRogueSiliconHunter name: hunter unit - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -611,7 +611,7 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconTesla name: tesla unit - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -672,7 +672,7 @@ parent: MobRogueSiliconBase id: MobRogueSiliconGuardian name: guardian unit - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: @@ -748,7 +748,7 @@ parent: MobRogueSiliconBase id: MobRogueSiliconBoss name: demolisher unit - #noSpawn: true + noSpawn: true components: - type: Loadout prototypes: diff --git a/Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml b/Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml index f3b96a4f363..211e2c675de 100644 --- a/Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml +++ b/Resources/Prototypes/_NF/Entities/Structures/Specific/roguesilicons.yml @@ -29,9 +29,6 @@ Heat: collection: MetalLaserImpact - - type: Explosive - explosionType: Default - totalIntensity: 25 - type: Damageable damageContainer: Inorganic damageModifierSet: Metallic @@ -39,27 +36,27 @@ thresholds: - trigger: !type:DamageTrigger - damage: 30 + damage: 5 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] - trigger: !type:DamageTypeTrigger damageType: Heat - damage: 30 + damage: 5 behaviors: - !type:SolutionExplosionBehavior solution: tank - trigger: !type:DamageTypeTrigger damageType: Piercing - damage: 30 + damage: 5 behaviors: - !type:SolutionExplosionBehavior solution: tank - trigger: !type:DamageTrigger - damage: 30 + damage: 5 behaviors: - !type:SpillBehavior solution: tank @@ -67,4 +64,7 @@ sound: collection: MetalBreak - !type:DoActsBehavior - acts: ["Destruction"] \ No newline at end of file + acts: ["Destruction"] + - type: Explosive + explosionType: Default + totalIntensity: 25 \ No newline at end of file From 531fdd3299f7dc3c1ba0b35984470ab10e305a5c Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 06:34:06 +0300 Subject: [PATCH 53/73] tweaks --- .../Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml index db84462fcdf..45a43988fef 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml @@ -10,6 +10,7 @@ - type: Sprite sprite: _NF/Objects/Tools/bundles.rsi state: engi-base + scale: 0.7, 0.7 - type: Item size: Normal - type: Clothing From 65bf3dbda510473474eb4a02070b8dec27f5c490 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 07:15:09 +0300 Subject: [PATCH 54/73] tweaks --- .../Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml | 4 ++-- .../_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index 49488a16d18..6f88839af4e 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -45,8 +45,8 @@ damageCap: 400 damage: groups: - Brute: -2 - Burn: -2 + Brute: -1.5 + Burn: -1.5 Airloss: -10 Toxin: -10 Genetic: -10 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 8b3377fea3b..0de51f912fc 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -51,7 +51,7 @@ components: - type: Damageable damageContainer: Silicon - damageModifierSet: MobMercenaryDamageModifierSet + damageModifierSet: FlimsyMetallic - type: NpcFactionMember factions: - SimpleHostile From c8622d8a1f0a20d5cb44531a270981c50d7cbc77 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 08:19:01 +0300 Subject: [PATCH 55/73] more minor tweaks --- .../Prototypes/_NF/Damage/modifier_sets.yml | 16 ++++++++++++++++ .../Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_NF/Damage/modifier_sets.yml b/Resources/Prototypes/_NF/Damage/modifier_sets.yml index 70eda871307..eb61c3b85f3 100644 --- a/Resources/Prototypes/_NF/Damage/modifier_sets.yml +++ b/Resources/Prototypes/_NF/Damage/modifier_sets.yml @@ -15,3 +15,19 @@ Piercing: 0.75 Heat: 0.8 Caustic: 0.9 + +- type: damageModifierSet + id: MobRogueSiliconDamageModifierSet + coefficients: + Structural: 1.2 + Blunt: 0.7 + Slash: 0.5 + Piercing: 0.7 + Shock: 1.5 + Caustic: 0.9 + Radiation: 1.2 + Cold: 0.0 + Poison: 0.0 + Asphyxiation: 0.0 + Bloodloss: 0.0 + Cellular: 0.0 diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 0de51f912fc..84aa56df9db 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -51,7 +51,7 @@ components: - type: Damageable damageContainer: Silicon - damageModifierSet: FlimsyMetallic + damageModifierSet: MobRogueSiliconDamageModifierSet - type: NpcFactionMember factions: - SimpleHostile @@ -69,7 +69,7 @@ thresholds: 0: Alive 100: Critical - 350: Dead + 250: Dead stateAlertDict: Alive: BorgHealth Critical: BorgCrit From ac0523e15dceddf12f47b67a60eb273664ea96d4 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 08:48:47 +0300 Subject: [PATCH 56/73] robot loot nerf --- .../Procedural/salvage_factions.yml | 14 ++++++--- .../Fills/Backpacks/npc_loot_silicons.yml | 30 +++++++++---------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index eb9f62c1815..246d9304310 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -389,6 +389,8 @@ - id: SpawnMobRogueScapT1 amount: 2 maxAmount: 3 + - id: SpawnMobRogueDronesT1 + amount: 1 - id: SpawnDungeonRandomHumanCorpse amount: 1 maxAmount: 2 @@ -408,22 +410,26 @@ - id: SpawnMobRogueSiliconsT2 amount: 1 maxAmount: 2 + - id: SpawnMobRogueDronesT1 + amount: 1 - id: SpawnDungeonRandomHumanCorpse amount: 1 maxAmount: 2 prob: 0.5 - entries: - id: SpawnMobRogueSiliconsT2 - amount: 1 - maxAmount: 1 + amount: 2 + maxAmount: 3 - id: SpawnDungeonRandomHumanCorpse amount: 1 maxAmount: 2 prob: 0.5 - entries: - id: SpawnMobRogueSiliconsT2 - amount: 2 - maxAmount: 3 + amount: 3 + maxAmount: 4 + - id: SpawnMobRogueSiliconsT3 + amount: 1 - id: SpawnDungeonRandomHumanCorpse amount: 1 maxAmount: 2 diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml index 45a43988fef..ba2e63a411b 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml @@ -38,11 +38,11 @@ items: # Parts - id: AdvancedCapacitorStockPart - prob: 0.9 + prob: 0.4 - id: NanoManipulatorStockPart - prob: 0.9 + prob: 0.4 - id: AdvancedMatterBinStockPart - prob: 0.9 + prob: 0.4 - id: SpawnDungeonLootPowerCell prob: 0.7 - id: SpawnDungeonLootPartsEngi @@ -65,11 +65,11 @@ items: # Parts - id: SuperCapacitorStockPart - prob: 0.9 + prob: 0.4 - id: PicoManipulatorStockPart - prob: 0.9 + prob: 0.4 - id: SuperMatterBinStockPart - prob: 0.9 + prob: 0.4 - id: SpawnDungeonLootPowerCell prob: 0.7 - id: SpawnDungeonLootPartsEngi @@ -77,7 +77,7 @@ prob: 0.7 # Circuit boards - id: SpawnDungeonLootCircuitBoardEngi - amount: 2 + amount: 1 prob: 0.9 - id: SpawnDungeonLootCircuitBoardScience prob: 0.9 @@ -94,22 +94,22 @@ items: # Parts - id: QuadraticCapacitorStockPart - prob: 0.7 + prob: 0.5 - id: FemtoManipulatorStockPart - prob: 0.7 + prob: 0.5 - id: BluespaceMatterBinStockPart - prob: 0.7 + prob: 0.5 - id: SpawnDungeonLootPowerCell - prob: 0.7 + prob: 0.5 - id: SpawnDungeonLootPartsEngi amount: 3 prob: 0.7 # Circuit boards - id: SpawnDungeonLootCircuitBoardEngi - amount: 3 + amount: 1 prob: 0.9 - id: SpawnDungeonLootCircuitBoardScience - amount: 2 + amount: 1 prob: 0.9 sound: path: /Audio/Machines/windoor_open.ogg @@ -136,10 +136,10 @@ prob: 0.7 # Circuit boards - id: SpawnDungeonLootCircuitBoardEngi - amount: 3 + amount: 1 prob: 0.9 - id: SpawnDungeonLootCircuitBoardScience - amount: 2 + amount: 1 prob: 0.9 sound: path: /Audio/Machines/windoor_open.ogg From a79b180a781eda5c556e2cf48aec96da9419c5c1 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 09:35:38 +0300 Subject: [PATCH 57/73] nerfed robot regen --- .../Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index 6f88839af4e..3fd333134f5 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -45,11 +45,8 @@ damageCap: 400 damage: groups: - Brute: -1.5 - Burn: -1.5 - Airloss: -10 - Toxin: -10 - Genetic: -10 + Brute: -1 + Burn: -1 - type: entity save: false From a185378feb59bff64b39d48638900e95126464dc Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 09:44:13 +0300 Subject: [PATCH 58/73] removed corpses spawns, nerfed robot numbers, nerfed robot loot --- .../Procedural/salvage_factions.yml | 30 ------------------- .../Fills/Backpacks/npc_loot_silicons.yml | 20 ++++++++----- .../Spawners/Random/mobs_hostile_silicons.yml | 4 +++ 3 files changed, 16 insertions(+), 38 deletions(-) diff --git a/Resources/Prototypes/Procedural/salvage_factions.yml b/Resources/Prototypes/Procedural/salvage_factions.yml index 246d9304310..aade0ad9b37 100644 --- a/Resources/Prototypes/Procedural/salvage_factions.yml +++ b/Resources/Prototypes/Procedural/salvage_factions.yml @@ -391,9 +391,6 @@ maxAmount: 3 - id: SpawnMobRogueDronesT1 amount: 1 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 1.00 - entries: - id: SpawnMobRogueScapT1 @@ -402,9 +399,6 @@ - id: SpawnMobRogueDronesT1 amount: 1 maxAmount: 2 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.75 - entries: - id: SpawnMobRogueSiliconsT2 @@ -412,17 +406,11 @@ maxAmount: 2 - id: SpawnMobRogueDronesT1 amount: 1 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.5 - entries: - id: SpawnMobRogueSiliconsT2 amount: 2 maxAmount: 3 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.5 - entries: - id: SpawnMobRogueSiliconsT2 @@ -430,45 +418,27 @@ maxAmount: 4 - id: SpawnMobRogueSiliconsT3 amount: 1 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.25 - entries: - id: MobRogueSiliconScrapFlayer amount: 1 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.3 - entries: - id: SpawnMobRogueSiliconsT2 amount: 1 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.25 - entries: - id: SpawnMobRogueSiliconsT3 amount: 1 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.1 - entries: - id: SpawnMobRogueSiliconsT3 amount: 2 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.01 - entries: - id: MobRogueSiliconScrapFlayer amount: 3 maxAmount: 5 - - id: SpawnDungeonRandomHumanCorpse - amount: 1 - maxAmount: 2 prob: 0.05 configs: DefenseStructure: RogueAiNode diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml index ba2e63a411b..1c57cdadbd7 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml @@ -50,8 +50,6 @@ # Circuit boards - id: SpawnDungeonLootCircuitBoardEngi prob: 0.9 - - id: SpawnDungeonLootCircuitBoardScience - prob: 0.9 sound: path: /Audio/Machines/windoor_open.ogg @@ -78,9 +76,9 @@ # Circuit boards - id: SpawnDungeonLootCircuitBoardEngi amount: 1 - prob: 0.9 + prob: 0.8 - id: SpawnDungeonLootCircuitBoardScience - prob: 0.9 + prob: 0.8 sound: path: /Audio/Machines/windoor_open.ogg @@ -107,10 +105,12 @@ # Circuit boards - id: SpawnDungeonLootCircuitBoardEngi amount: 1 - prob: 0.9 + prob: 0.7 - id: SpawnDungeonLootCircuitBoardScience amount: 1 - prob: 0.9 + prob: 0.7 + - id: SpawnDungeonLootCircuitBoardSalvage + prob: 0.7 sound: path: /Audio/Machines/windoor_open.ogg @@ -137,9 +137,13 @@ # Circuit boards - id: SpawnDungeonLootCircuitBoardEngi amount: 1 - prob: 0.9 + prob: 0.8 - id: SpawnDungeonLootCircuitBoardScience amount: 1 - prob: 0.9 + prob: 0.8 + - id: SpawnDungeonLootCircuitBoardSalvage + prob: 0.8 + - id: SpawnDungeonLootCircuitBoard + prob: 0.8 sound: path: /Audio/Machines/windoor_open.ogg diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml index 1ad08da0aa9..a45104219ee 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml @@ -62,6 +62,7 @@ offset: 0.0 rarePrototypes: - MobRogueSiliconScrapFlayer + - SpawnMobRogueSiliconsT2 rareChance: 0.05 - type: entity @@ -97,6 +98,9 @@ - MobRogueSiliconHunter chance: 1 offset: 0.0 + rarePrototypes: + - SpawnMobRogueSiliconsT3 + rareChance: 0.05 - type: entity name: rogue unit spawner From bb9bf0c95b81285471810afd2a8c3b2f1c8175d5 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 16:51:11 +0300 Subject: [PATCH 59/73] visual fixes --- .../Spawners/Random/mobs_hostile_silicons.yml | 1 + .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 229 +++++++++++------- .../robots.rsi/head_generic_eye.png | Bin 229 -> 5710 bytes .../robots.rsi/head_heavy_eye.png | Bin 218 -> 5586 bytes .../robots.rsi/head_light_eye.png | Bin 224 -> 5623 bytes .../robots.rsi/head_sturdy_eye.png | Bin 226 -> 5730 bytes .../Mobs/RogueSilicons/robots.rsi/meta.json | 2 +- .../robots.rsi/overlay_critdmg.png | Bin 569 -> 7459 bytes 8 files changed, 148 insertions(+), 84 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml index a45104219ee..2c706af241d 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml @@ -96,6 +96,7 @@ - MobRogueSiliconServo - MobRogueSiliconHerder - MobRogueSiliconHunter + - MobRogueSiliconCatcher chance: 1 offset: 0.0 rarePrototypes: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 84aa56df9db..91d7c88f327 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -68,8 +68,8 @@ - type: MobThresholds thresholds: 0: Alive - 100: Critical - 250: Dead + 80: Critical + 140: Dead stateAlertDict: Alive: BorgHealth Critical: BorgCrit @@ -89,6 +89,12 @@ - type: Repairable doAfterDelay: 10 allowSelfRepair: true + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 100 + - type: Battery + maxCharge: 300 + startingCharge: 300 - type: RechargeBasicEntityAmmo rechargeCooldown: 1.5 rechargeSound: @@ -100,7 +106,8 @@ animation: WeaponArcPunch damage: types: - Blunt: 10 + Heat: 2 + Blunt: 8 Structural: 20 soundHit: collection: MetalThud @@ -153,6 +160,9 @@ map: [ "decor" ] - state: mask_null map: [ "overlay" ] + - state: mask_null + map: [ "overlayUnshaded" ] + shader: unshaded - type: DamageStateVisuals rotate: true - type: RotationVisuals @@ -162,12 +172,29 @@ thresholds: 0: Alive 60: Critical - 240: Dead + 120: Dead - type: Stamina critThreshold: 600 - type: entity - parent: MobRogueSiliconBase + id: MobRogueSiliconProjectileBatteryAmmo + abstract: true + components: + - type: ProjectileBatteryAmmoProvider + proto: BulletEnergyGunLaser + fireCost: 100 + +- type: entity + id: MobRogueSiliconHitscanBatteryAmmo + abstract: true + components: + - type: HitscanBatteryAmmoProvider + proto: RedMediumLaser + fireCost: 100 + +- type: entity + parent: + - MobRogueSiliconBase id: MobRogueSiliconDroneBase name: drone abstract: true @@ -196,18 +223,9 @@ thresholds: 0: Alive 30: Critical - 180: Dead + 90: Dead - type: Stamina critThreshold: 600 - - type: ProjectileBatteryAmmoProvider - proto: BulletEnergyGunLaser - fireCost: 100 - - type: BatterySelfRecharger - autoRecharge: true - autoRechargeRate: 100 - - type: Battery - maxCharge: 300 - startingCharge: 300 - type: Gun showExamineText: false fireRate: 0.75 @@ -231,7 +249,7 @@ - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrap - noSpawn: true + #noSpawn: true components: - type: RandomSprite available: @@ -246,11 +264,11 @@ head_sturdy: "" head_servo: "" eyes: - head_generic_eye: "" - head_heavy_eye: "" - head_light_eye: "" - head_sturdy_eye: "" - head_servo_eye: "" + head_generic_eye: Emagged + head_heavy_eye: Emagged + head_light_eye: Emagged + head_sturdy_eye: Emagged + head_servo_eye: Emagged leftArm: l_arm_generic: "" l_arm_heavy: "" @@ -280,18 +298,20 @@ decor: mask_null: "" overlay: - overlay_critdmg: "" overlay_openbrain: "" overlay_openmodule: "" overlay_openwires: "" mask_null: "" + overlayUnshaded: + overlay_critdmg: "" + mask_null: "" - type: entity parent: - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapAlt - noSpawn: true + #noSpawn: true suffix: Threads components: - type: RandomSprite @@ -307,11 +327,11 @@ head_sturdy: "" head_servo: "" eyes: - head_generic_eye: "" - head_heavy_eye: "" - head_light_eye: "" - head_sturdy_eye: "" - head_servo_eye: "" + head_generic_eye: Emagged + head_heavy_eye: Emagged + head_light_eye: Emagged + head_sturdy_eye: Emagged + head_servo_eye: Emagged leftArm: l_arm_generic: "" l_arm_heavy: "" @@ -326,22 +346,28 @@ r_arm_sturdy: "" r_arm_servo: "" mask_null: "" + leftLeg: + mask_null: "" + rightLeg: + mask_null: "" decor: leg_thruster: "" leg_treads: "" overlay: - overlay_critdmg: "" overlay_openbrain: "" overlay_openmodule: "" overlay_openwires: "" mask_null: "" + overlayUnshaded: + overlay_critdmg: "" + mask_null: "" - type: entity parent: - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapFlayer - noSpawn: true + #noSpawn: true suffix: Claw components: - type: MeleeWeapon @@ -366,10 +392,10 @@ head_light: "" head_sturdy: "" eyes: - head_generic_eye: "" - head_heavy_eye: "" - head_light_eye: "" - head_sturdy_eye: "" + head_generic_eye: Emagged + head_heavy_eye: Emagged + head_light_eye: Emagged + head_sturdy_eye: Emagged leftArm: l_arm_generic: "" l_arm_heavy: "" @@ -397,9 +423,11 @@ overlay_r_arm_claws: "" - type: entity - parent: MobRogueSiliconDroneBase + parent: + - MobRogueSiliconDroneBase + - MobRogueSiliconProjectileBatteryAmmo id: MobRogueSiliconDroneLethals - noSpawn: true + #noSpawn: true components: - type: Sprite drawdepth: Mobs @@ -411,16 +439,18 @@ color: "#990000" - sprite: _NF/Mobs/RogueSilicons/drones.rsi state: decor_department_accent - color: "#ffff00" + color: "#000000" - sprite: _NF/Mobs/RogueSilicons/drones.rsi state: base_eyes shader: unshaded color: "#990000" - type: entity - parent: MobRogueSiliconDroneBase + parent: + - MobRogueSiliconDroneBase + - MobRogueSiliconProjectileBatteryAmmo id: MobRogueSiliconDroneNonLethals - noSpawn: true + #noSpawn: true components: - type: Sprite drawdepth: Mobs @@ -442,9 +472,11 @@ fireCost: 100 - type: entity - parent: MobRogueSiliconDroneBase + parent: + - MobRogueSiliconDroneBase + - MobRogueSiliconProjectileBatteryAmmo id: MobRogueSiliconDroneScience - noSpawn: true + #noSpawn: true components: - type: Sprite drawdepth: Mobs @@ -471,7 +503,7 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconServo name: servo unit - noSpawn: true + #noSpawn: true components: - type: Loadout prototypes: @@ -500,13 +532,6 @@ - type: RotationVisuals defaultRotation: 90 horizontalRotation: 90 - - type: MobThresholds - thresholds: - 0: Alive - 80: Critical - 240: Dead - - type: Stamina - critThreshold: 600 - type: entity parent: @@ -514,7 +539,7 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconHerder name: herder unit - noSpawn: true + #noSpawn: true components: - type: Loadout prototypes: @@ -527,6 +552,10 @@ - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: head_sturdy color: "#0055cc" + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_sturdy_eye + color: "#0055cc" + shader: unshaded - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: overlay_meson shader: unshaded @@ -545,13 +574,6 @@ - type: RotationVisuals defaultRotation: 90 horizontalRotation: 90 - - type: MobThresholds - thresholds: - 0: Alive - 80: Critical - 160: Dead - - type: Stamina - critThreshold: 600 - type: StaminaDamageOnHit damage: 10 sound: /Audio/Weapons/egloves.ogg @@ -569,10 +591,12 @@ path: /Audio/Weapons/bladeslice.ogg - type: entity - parent: MobRogueSiliconDroneBase + parent: + - MobRogueSiliconDroneBase + - MobRogueSiliconHitscanBatteryAmmo id: MobRogueSiliconHunter name: hunter unit - noSpawn: true + #noSpawn: true components: - type: Loadout prototypes: @@ -585,6 +609,10 @@ - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: head_light color: "#990000" + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_light_eye + color: "#990000" + shader: unshaded - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: overlay_thermal shader: unshaded @@ -594,16 +622,63 @@ state: r_arm_light - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: leg_thruster + - sprite: Clothing/Neck/mantles/hosmantle.rsi + state: equipped-NECK - sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi state: wielded-inhand-right - #- type: ProjectileBatteryAmmoProvider - #proto: RedMediumLaser - #fireCost: 100 - type: PointLight radius: 3.5 color: orange energy: 0.5 +- type: entity + parent: + - MobRogueSiliconBase + id: MobRogueSiliconCatcher + name: catcher unit + #noSpawn: true + components: + - type: Loadout + prototypes: + - MobRogueSiliconLootT2 + - type: Sprite + drawdepth: Mobs + layers: + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: body_generic + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_heavy + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: head_heavy_eye + color: "#990000" + shader: unshaded + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_arm_heavy + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_arm_heavy + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: l_leg_generic + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: r_leg_generic + - sprite: _NF/Mobs/RogueSilicons/robots.rsi + state: overlay_r_arm_claws + - type: DamageStateVisuals + rotate: true + - type: RotationVisuals + defaultRotation: 90 + horizontalRotation: 90 + - type: BasicEntityAmmoProvider + proto: Bola + capacity: 1 + count: 1 + - type: Gun + showExamineText: false + fireRate: 0.075 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: /Audio/Weapons/Guns/Gunshots/rpgfire.ogg + ## Tier 3 - type: entity parent: @@ -611,7 +686,7 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconTesla name: tesla unit - noSpawn: true + #noSpawn: true components: - type: Loadout prototypes: @@ -640,7 +715,7 @@ thresholds: 0: Alive 110: Critical - 240: Dead + 160: Dead - type: Stamina critThreshold: 600 - type: ProjectileBatteryAmmoProvider @@ -669,10 +744,12 @@ ## Tier 4 Boss - type: entity - parent: MobRogueSiliconBase + parent: + - MobRogueSiliconDroneBase + - MobRogueSiliconHitscanBatteryAmmo id: MobRogueSiliconGuardian name: guardian unit - noSpawn: true + #noSpawn: true components: - type: Loadout prototypes: @@ -713,17 +790,11 @@ - type: HitscanBatteryAmmoProvider proto: RedLaserPractice # RedLaser fireCost: 10 - - type: BatterySelfRecharger - autoRecharge: true - autoRechargeRate: 100 - - type: Battery - maxCharge: 300 - startingCharge: 300 - type: Gun showExamineText: false fireRate: 8 - minAngle: 3 - maxAngle: 15 + minAngle: 1 + maxAngle: 10 selectedMode: FullAuto availableModes: - FullAuto @@ -731,14 +802,6 @@ path: /Audio/Weapons/Guns/Gunshots/laser.ogg params: variation: 0.2 - - type: FootstepModifier - footstepSoundCollection: - path: /Audio/_NF/Effects/silence.ogg - - type: SoundWhileAlive - - type: AmbientSound - volume: -9 - range: 5 - sound: /Audio/Effects/shuttle_thruster.ogg - type: PointLight radius: 2 energy: 2.5 @@ -748,7 +811,7 @@ parent: MobRogueSiliconBase id: MobRogueSiliconBoss name: demolisher unit - noSpawn: true + #noSpawn: true components: - type: Loadout prototypes: diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_generic_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_generic_eye.png index 1c77be928d52eceb7b5f2111c40eff6b51749a2f..be7653e3deaafe013fb176867b72410c9565914d 100644 GIT binary patch literal 5710 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 literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;k1Z zi(^Q|oVT|Oxf%>a4qV`vw~qbYR}pso1x-_)=+5=}*|@*deI3IIQHGsNHhV3OSv;F_ zyLQuxDM z?m2gupwWXtl#;|!MW+xR!)>auLgPK zt>N&ZFg~X`(g3ORAgRsP!lh`gV?pWU9bA9l{Lx99qtKO|JNxNc+R~zmTslbiUo&d04n~{o(9Az1nYoO1Rouve#p0Mdh`y zv`Z^<^X~DI6zka%U>K_Q4sD?`DIeh&AckFInAxr;`NgF@a+D=Yra%_=-*zqmoqPqlaUkJ$b>TK>zv zdp+FYHpdl9-c7DIERVdBSr9oWd+)W_!8ee6<`1W;E}c#)+>)vBEQwzupI&YZaSHPC z6p5yNQgd&cX6T@Gho&R19lRgclhZ9I2q)%wrM?aEh@hltnic9wQi+#b_CPOR(itaj<^_3LdXwuk0;tod+) zR2CC;P9DUq@|?8v@`j~Dub*9aekyhI(hIeznOE!Uf2?u8i2C2Z)m=D9nkbym@BBSh zXj)}be&5XNvtPSNye0QyZbRx99Yxt?xsq0A3>!qul-Z7KEZM6H}MzYBT)gqw>*S3)?o`?Bwi?2qEf)i-}@ zX>GVYaZ^e8R$cb0;DjS#|M-R0*L(YJPlwOZ$14bYXLOU|R9zE+@YfwGaQwzeA_Q`s zh6X8gFhVnF^q@8f1fjo456P1ej0_`*Dy<)-ujUMetWx+<7IGvEi9Q%fQiWxpNK8hg zOrDV}=PM}w^K67B0U*#I7(_N{)LMhUU@MLILySQF6T8MJ8Yz4SEp}ij)UGqPy;A)oR!I-u~_CAgWZ`JL z2qJWHv!fY|DDaLO?YST*k!~Ie=`RBRjwvQdXVm_0Jmb(YmOvCU>d@pUGzwmh$gvmm zJP$m^6b(*01BRxH|6o!7ffJ4tY#8v>q3IU!V~~`Q(a4dcR+*(Dlg-C~0FsZ$Z-CN} zkx~OXj!emuAZ;Q7&fC#udumrbr;s5oi^*d6D5(kv0oBLhv8a3wtf2ZJEVi7>gyjkd zGH>u0yFsVKj1Y>K@Zw^y*i;4=^q7pv6|i^$HlH%G z+hidfKVhG)R*0WL5{bZ44*Kh35zmnUl{&5z!8QBl^oF;bT3NX5;7u-#f=E$JYoYkIB>tDkKHgws|0VPKk+qM zeScyEK>aGnOX>Scu2*uslmagWepOws?*SHTeb^!cfnawQ{}7A3?A``OD@-gAS#^`9*g7*W4{mG) zCZ0GXPzHWUZDkS(jLEf(;ii!K6_;vf+D)@Q{Wg)X><&@}Q0AAfI&(t%B=co<2`RE| UN>)hWs#JU|7Da}X2PLfhH+x_(WKsxcfGWWdyc5zO`=7-v&5!lQNB@MBG;Od+7|KA#g9P8P*6Omb U#BH)V1#}mKr>mdKI;Vst0Bw0fAOHXW diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_light_eye.png index 3ed8b0338bfb9370abbb70324e5e2e8bf0b9885e..8f843f75473bb1d2973b9a0f03af04fc5d2dc1e4 100644 GIT binary patch literal 5623 zcmeHLd0bOh77kEAQ9-n>fW)v2NMAM*Okz@$MF_IVCSVa>k{5W8jrSfT;KnkDN&y+Q zbpEPU3P!tQC+Wp0T|mYBX~7mbKj%o4K#x9ailM zv-IaC-?njsOH3c%$$Vklf!QZ{e;!zq@z~gYk@*GV;B!hF=j!9vJZ$3IY-eTU5OZLM|@Ba{gwt7kZM+Rw(z%v`ebLK^K zPFWncbgFj~YQYqmx?X!&o!ay?+ctIi4c!;13zzJ-I1wW>PP>MuTHpn^*1_@boS2PA zOAiRvMOtE)_c(l9x2vO#KIxRv{v(->mmDnpit}Cl79?a_V2)${HMhh_$?e)@UsUZ= zY|Kl(>*zxXN*=dC(O#aHy~`xsIO0UBN1OV3=VZRM_8Wi4jEjCbd&~DY*%~%hg%o%E zG9w~#!XEp2_ISMF^e3Y|x{G{{8udEuX}uMGa!V(3hFfGox<}Y{mm?8V&N@aj=Uyz1 z&)*qK8D_c2WqkJ4Lc)H`cCTEPmF2CD_8pXOlY=X>3`6b|gkv9zsb|uDJ3V9eLb^+d zJYoFuU~5MsF3-O`ak$mvGhf-|u3R}gJRtG@hC}vZ7V3AlX-thoa`DnX)>k1e^eHi- zsw&g-3)u0Qyu`rE`|oX@%PU5Wcvop6rfBdD$XT9$sXV<{Z=#`%J@l{c!nx^NWzooQv)J|5HwRlxW z)m6wXhDBpv<+(CX7oDtxOjcbu#+$K8a(nOB^EcV7PoB1BpI^*vBKq^pTHf-Mrp9YE z4Wh2`l3u&(&uTx5ytLRDhvz;uz}>r_m?te>th_Q6c0E{d)9n6K-ja39V|%~+b?)zX z+PyI=A~+ZSLOmO(S*b);8-4O~Sp8n!+p_gas>?=6zaz z&a()+OtsulkaO--_vOs{HE3PM%>xgoUm$;$j!S4M_6wP^k}>(yh0Ro~)UWWEbkYgF-RLK|MW##h#w8y8sBYX>pOrw{E8OsaW@eAui^r zqmze4ZvJHXN}k`iytu6g$3>?wt9nLk;MhCU3$l`GYYR`6XXhQ*ZN58;`pn?ggZ6D5 zG>4ZA=Yz|;+AD1zb&5K#8(g2AEx4G!;F)Fp@^42%MGG2E zrYyQvSJztYbRKhmdaq-3w~3L^u*#?&ar9mJL(|}ur3<6_VMwkT;$yRO>6z~4|Sf6o%mga3%a}6 zdbaf(U+Qp!F^Nv4hGXYOhlh;Zmf(K(mhJu*VoZE{T6U4tAlzxR(*2ojZ)b~>e}F)| zb>f9zB~iAeGvg*Cv_L=q{^R})f6I6@sWPPPWuno#7xu@mx6piMzH-wfUu)SWYR60` zE^6|MIp|;;px#P3R&sIros7)+)XKX(EmzL`WVCAQ?l06C*`9GbeJ}q^f7JQYgNHX< zcfDLf;ag*?WXEd1r%)_5p`a~C2KWo4Y9$?(sU-+qr__MdpiqSFIt?sMLI|n^iAPl; z+N0_k8Woj^X!E!M%m9ril7RZAV@POvV3;&LNy?Ye+&?uF>I8s5i4ZVVr&OqLflfrz z^9sOs(#)Vy^$;RSM2idvrh2L|gvz0F=uF64ho-V=pPEsHm`pAR@tWOF0Y)NP0zqg5 z42D*#rE6X3YAl|?;`8|oCY!-#LjVEcX(|HNK`Pvir0C=DLU1Vt@)=dDs3a#WQKt|h z8V$@-`^m{{_tpVpe*ki45Cm7JU{b_86;Tm(gM(@mDfr-+DL6u!^y^m0 zE|Uso15OyE8>)ok5r#$;ub&_fMgX=0q=m`q z0L*$j*p0vwLtsLUg{jpF5sl=gl9c+Qq6+)VMc}WN>K*l9L`GIzf6aNo@eKV?$aoj{ z4@{v6YOU&j<9P!eV3~yxS~Zpwgat_w5h?L*p0|Mqm_k6e!wD=+{3o0G51g zjYfeY*ifBb=goh?4f5~L(LZw^4D0juRBO^e6(4|08w>%A0sFYt%#`XJYP zDezw4583s9lgsSQBR8S~fA?v@19ini-VN|DZX%iE<3*uU5-91(WlmdwWw^#S3a3!a z>&dslS{HLGU^FGf0p6w^CL>1KjO+P1+7Fn##a^?*z<*e;u*@jbkwzzPy^8(G>S$|> zX7opvkIEF2_B$F<4u?G{f55#rfr}dg5AZtK)L3}(tm;+YsNKrQHWvD|8T+oCG>E+e Ky>@%VW&Incxjno9 literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAP;io` zi(^Q|oVT|Oxf%>a4qV{4_y5!`3r@XUN3T!Q%6^I*lCM?@XL!QZ5W~p!eBE=KxbJVb zFg6z-KVEB{%TUDXu#Vw`D8o)B1*n<{+USA?hQFW7H>T!qXB6IC|4%UDTbVS_EKGG! c!CwsKvMboxHKH#h16{}9>FVdQ&MBb@0HdErjsO4v diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_sturdy_eye.png b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/head_sturdy_eye.png index d157e7c7f6eaf1c0860cfe2826a9a343f71dbf43..efcf7cd159aefefff53f3fc49b3ae3b50b86ca1e 100644 GIT binary patch literal 5730 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 delta 545 zcmZ2%wUcFnayb? zWn;seT?-nt8}#M~1~5M?b!MM&@odGh;yGu%?rq-k@4u?wlLz*1*Qwe!$#61Q3NaL^ zFg$tVbl|wOUHtuzL7(y_HY8R^?0UCcdj1NZ%pWd=tXH_~>+ilbwYCpZS@3L~Kl6It z`5czaHf41xOBmLF=$yc0Qz&}jRJbC$IHP7oRi5m=Tj398MeVNBu30xF_DnzFbg&-0a5M^va4$Ori+j9fI%>x}1Yi1kvyFzEVKFE}K&tQ?^|M>4~q#@@I{hAcV zNL>T*EmJqwpR_q4bm7td2GiHVXZa4UodEX-O9LV*P&^2ekOD>0AEqC3Z;7{`SDwKD N1fH&bF6*2UngFoi=gR;9 From 88219e9f9db3be66f1872586f3253aec3b86276c Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 16:59:25 +0300 Subject: [PATCH 60/73] minor visual fix --- .../_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 91d7c88f327..f0e6a6d3adc 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -319,32 +319,27 @@ - body: body_generic: "" body_light: "" - body_servo: "" head: head_generic: "" head_heavy: "" head_light: "" head_sturdy: "" - head_servo: "" eyes: head_generic_eye: Emagged head_heavy_eye: Emagged head_light_eye: Emagged head_sturdy_eye: Emagged - head_servo_eye: Emagged leftArm: l_arm_generic: "" l_arm_heavy: "" l_arm_light: "" l_arm_sturdy: "" - l_arm_servo: "" mask_null: "" rightArm: r_arm_generic: "" r_arm_heavy: "" r_arm_light: "" r_arm_sturdy: "" - r_arm_servo: "" mask_null: "" leftLeg: mask_null: "" From 66ee357cda0ebec2f018020d653337ff0b61bec4 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 17:02:35 +0300 Subject: [PATCH 61/73] nerfed robot regen --- .../Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index 3fd333134f5..cfcf292efad 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -45,8 +45,8 @@ damageCap: 400 damage: groups: - Brute: -1 - Burn: -1 + Brute: -0.5 + Burn: -0.5 - type: entity save: false From 2109cd6236854d6e144c37c17b0b46b152c8ad8c Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 17:14:30 +0300 Subject: [PATCH 62/73] more fixes --- .../Spawners/Random/mobs_hostile_silicons.yml | 4 +- .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 92 ++++++++++++++++++- 2 files changed, 93 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml index 2c706af241d..b7f3883ad98 100644 --- a/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml +++ b/Resources/Prototypes/_NF/Entities/Markers/Spawners/Random/mobs_hostile_silicons.yml @@ -57,7 +57,9 @@ - type: RandomSpawner prototypes: - MobRogueSiliconScrap - - MobRogueSiliconScrapAlt + - MobRogueSiliconScrapThreads + - MobRogueSiliconScrapThrusters + - MobRogueSiliconScrapThrustersRanged chance: 1 offset: 0.0 rarePrototypes: diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index f0e6a6d3adc..9a17adad53a 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -310,7 +310,7 @@ parent: - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee - id: MobRogueSiliconScrapAlt + id: MobRogueSiliconScrapThreads #noSpawn: true suffix: Threads components: @@ -346,7 +346,6 @@ rightLeg: mask_null: "" decor: - leg_thruster: "" leg_treads: "" overlay: overlay_openbrain: "" @@ -357,6 +356,83 @@ overlay_critdmg: "" mask_null: "" +- type: entity + parent: + - MobRogueSiliconDroneBase + - MobRogueSiliconAISimpleMelee + id: MobRogueSiliconScrapThrusters + #noSpawn: true + suffix: Thrusters + components: + - type: RandomSprite + available: + - body: + body_generic: "" + body_light: "" + head: + head_generic: "" + head_heavy: "" + head_light: "" + head_sturdy: "" + eyes: + head_generic_eye: Emagged + head_heavy_eye: Emagged + head_light_eye: Emagged + head_sturdy_eye: Emagged + leftArm: + l_arm_generic: "" + l_arm_heavy: "" + l_arm_light: "" + l_arm_sturdy: "" + mask_null: "" + rightArm: + r_arm_generic: "" + r_arm_heavy: "" + r_arm_light: "" + r_arm_sturdy: "" + mask_null: "" + leftLeg: + mask_null: "" + rightLeg: + mask_null: "" + decor: + leg_thruster: "" + overlay: + overlay_openbrain: "" + overlay_openmodule: "" + overlay_openwires: "" + mask_null: "" + overlayUnshaded: + overlay_critdmg: "" + mask_null: "" + - type: PointLight + radius: 2.5 + color: orange + energy: 0.5 + +- type: entity + parent: + - MobRogueSiliconScrapThrusters + id: MobRogueSiliconScrapThrustersRanged + #noSpawn: true + suffix: Thrusters + components: + - type: HitscanBatteryAmmoProvider + proto: RedLaser + fireCost: 100 + - type: Gun + showExamineText: false + fireRate: 0.7 + minAngle: 5 + maxAngle: 10 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + params: + variation: 0.2 + - type: entity parent: - MobRogueSiliconScrapBase @@ -625,6 +701,18 @@ radius: 3.5 color: orange energy: 0.5 + - type: Gun + showExamineText: false + fireRate: 0.8 + minAngle: 0 + maxAngle: 5 + selectedMode: FullAuto + availableModes: + - FullAuto + soundGunshot: + path: /Audio/Weapons/Guns/Gunshots/laser.ogg + params: + variation: 0.2 - type: entity parent: From b7f10fb2375d792ce799dd910b6a206d882e93cd Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 17:21:35 +0300 Subject: [PATCH 63/73] another visual fix for bots --- .../Mobs/NPCs/mob_hostile_rogue_ai.yml | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 9a17adad53a..e629b35b94c 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -312,7 +312,6 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapThreads #noSpawn: true - suffix: Threads components: - type: RandomSprite available: @@ -358,11 +357,10 @@ - type: entity parent: - - MobRogueSiliconDroneBase + - MobRogueSiliconScrapBase - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapThrusters #noSpawn: true - suffix: Thrusters components: - type: RandomSprite available: @@ -409,13 +407,24 @@ radius: 2.5 color: orange energy: 0.5 + - type: CanMoveInAir + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeCircle + radius: 0.30 # Lowered the value, to allow them to fit through the airlocks + density: 100 + mask: + - FlyingMobMask + layer: + - FlyingMobLayer - type: entity parent: - MobRogueSiliconScrapThrusters id: MobRogueSiliconScrapThrustersRanged #noSpawn: true - suffix: Thrusters components: - type: HitscanBatteryAmmoProvider proto: RedLaser @@ -439,7 +448,6 @@ - MobRogueSiliconAISimpleMelee id: MobRogueSiliconScrapFlayer #noSpawn: true - suffix: Claw components: - type: MeleeWeapon attackRate: 1.0 @@ -731,6 +739,7 @@ state: body_generic - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: head_heavy + color: "#d6b328" - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: head_heavy_eye color: "#990000" @@ -743,6 +752,8 @@ state: l_leg_generic - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: r_leg_generic + - sprite: Clothing/Neck/mantles/qmmantle.rsi + state: equipped-NECK - sprite: _NF/Mobs/RogueSilicons/robots.rsi state: overlay_r_arm_claws - type: DamageStateVisuals From c3de0bb8c07bbca22d32f096d1bdce071c37e0e9 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 17:33:22 +0300 Subject: [PATCH 64/73] i swear this is the final fixmost likely --- .../_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index e629b35b94c..5f7f56abf76 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -419,6 +419,14 @@ - FlyingMobMask layer: - FlyingMobLayer + - type: FootstepModifier + footstepSoundCollection: + path: /Audio/_NF/Effects/silence.ogg + - type: SoundWhileAlive + - type: AmbientSound + volume: -9 + range: 5 + sound: /Audio/Effects/shuttle_thruster.ogg - type: entity parent: From 6de80f5aadf084956e13ade568416f9fbf913b2e Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 17:39:04 +0300 Subject: [PATCH 65/73] meta.json for bots --- Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json | 2 +- Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/meta.json | 2 +- Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json index 19abb05c483..8f846d50776 100644 --- a/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/ancient.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-NC-SA-3.0", - "copyright": "Taken from goonstation https://github.com/goonstation/goonstation/blob/master/icons/mob/robots.dmi | Recolored and split into layers by erhardsteinhauer (discord/github)", + "copyright": "Taken from goonstation https://github.com/goonstation/goonstation/blob/master/icons/mob/robots.dmi | Recolored and splitted into layers by erhardsteinhauer (discord/github)", "states": [ { "name": "base", diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/meta.json index 60e586c09b8..86a64917394 100644 --- a/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/meta.json +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/drones.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Taken from baystation12 https://github.com/Baystation12/Baystation12/blob/dev/icons/mob/robots_flying.dmi | split into layers by erhardsteinhauer (discor/github)", + "copyright": "Taken from baystation12 https://github.com/Baystation12/Baystation12/blob/dev/icons/mob/robots_flying.dmi | Splitted into layers by erhardsteinhauer (discor/github)", "states": [ { "name": "base", diff --git a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json index 4721eb99534..83042107102 100644 --- a/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json +++ b/Resources/Textures/_NF/Mobs/RogueSilicons/robots.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-NC-SA-3.0", - "copyright": "Taken from goonstation https://github.com/goonstation/goonstation/blob/master/icons/mob/robots.dmi", + "copyright": "Taken from goonstation https://github.com/goonstation/goonstation/blob/master/icons/mob/robots.dmi | Edits to eyes and critdmg sprites by erhardsteinhauer (discord/github)", "states": [ { "name": "body_generic", From ee86094cf9e40061ecadda8e8d7d264280529152 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 20:11:41 +0300 Subject: [PATCH 66/73] turbo laser --- .../Fills/Backpacks/npc_loot_silicons.yml | 2 + .../Weapons/Guns/Battery/battery_guns.yml | 67 ++++++++++++++++++ .../charge-level-unshaded-0.png | Bin 0 -> 586 bytes .../charge-level-unshaded-1.png | Bin 0 -> 626 bytes .../charge-level-unshaded-2.png | Bin 0 -> 627 bytes .../charge-level-unshaded-3.png | Bin 0 -> 641 bytes .../charge-level-unshaded-4.png | Bin 0 -> 643 bytes .../charge-level-unshaded-5.png | Bin 0 -> 643 bytes .../Battery/turbo_laser.rsi/equipped-back.png | Bin 0 -> 1813 bytes .../turbo_laser.rsi/equipped-unshaded.png | Bin 0 -> 837 bytes .../Battery/turbo_laser.rsi/icon-base.png | Bin 0 -> 896 bytes .../turbo_laser.rsi/inhand-left-unshaded.png | Bin 0 -> 840 bytes .../Battery/turbo_laser.rsi/inhand-left.png | Bin 0 -> 1776 bytes .../turbo_laser.rsi/inhand-right-unshaded.png | Bin 0 -> 841 bytes .../Battery/turbo_laser.rsi/inhand-right.png | Bin 0 -> 1788 bytes .../Guns/Battery/turbo_laser.rsi/meta.json | 56 +++++++++++++++ 16 files changed, 125 insertions(+) create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-0.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-1.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-2.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-3.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-4.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-5.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/equipped-back.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/equipped-unshaded.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/icon-base.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/inhand-left-unshaded.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/inhand-left.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/inhand-right-unshaded.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/inhand-right.png create mode 100644 Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/meta.json diff --git a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml index 1c57cdadbd7..7d7afc011e9 100644 --- a/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml +++ b/Resources/Prototypes/_NF/Catalog/Fills/Backpacks/npc_loot_silicons.yml @@ -122,6 +122,8 @@ components: - type: SpawnItemsOnUse items: + - id: WeaponLaserTurboNF + prob: 0.1 # Parts - id: QuadraticCapacitorStockPart prob: 0.7 diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 102bcd32752..4036654090f 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -35,3 +35,70 @@ steps: 5 zeroVisible: true - type: Appearance + +- type: entity + parent: + - BaseWeaponBattery + id: WeaponLaserTurboNF + name: malfunctioning turbo laser + description: "A turbo laser ripped from guardian unit. Doesn't seem to be workig properly. Supposedly illegal." + components: + - type: MultiHandedItem + - type: ClothingSpeedModifier + walkModifier: 0.95 + sprintModifier: 0.7 + - type: HeldSpeedModifier + - type: Item + size: Ginormous + inhandVisuals: + left: + - state: inhand-left + - state: inhand-left-unshaded + shader: unshaded + right: + - state: inhand-right + - state: inhand-right-unshaded + shader: unshaded + - type: Sprite + sprite: _NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi + layers: + - state: icon-base + - state: charge-level-unshaded-5 + map: ["enum.GunVisualLayers.MagUnshaded"] + shader: unshaded + - type: Clothing + quickEquip: false + slots: + - Back + - suitStorage + sprite: _NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi + clothingVisuals: + back: + - state: equipped-back + - state: equipped-unshaded + shader: unshaded + suitstorage: + - state: equipped-back + - state: equipped-unshaded + shader: unshaded + - type: Battery + maxCharge: 4000 + startingCharge: 4000 + - type: HitscanBatteryAmmoProvider + proto: RedLaser + fireCost: 80 + - type: Gun + selectedMode: FullAuto + availableModes: + - FullAuto + fireRate: 8 + minAngle: 1 + maxAngle: 10 + soundGunshot: + path: /Audio/DeltaV/Weapons/Guns/Gunshots/laser.ogg + soundEmpty: + path: /Audio/DeltaV/Weapons/Guns/Empty/dry_fire.ogg + - type: MagazineVisuals + magState: charge-level + steps: 6 + zeroVisible: true diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-0.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-0.png new file mode 100644 index 0000000000000000000000000000000000000000..51b1268754e369e1ab7e124cb16201dfe3de9e48 GIT binary patch literal 586 zcmV-Q0=4~#P)EX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15ETxhsVR*B000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0000XNklEX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15EUFz5Lm?k000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0000EWAabBOAOHXW M07*qoM6N<$f^1&_4*&oF literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-2.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-2.png new file mode 100644 index 0000000000000000000000000000000000000000..ad14f64b9eb6ff9c987c5c19c9ee334ca9d65dd1 GIT binary patch literal 627 zcmV-(0*w8MP)EX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15EUg370}H9000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0000=NklAIEM!_f;1psXt6DzMP8UX+R N002ovPDHLkV1hi=19t!b literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-3.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-3.png new file mode 100644 index 0000000000000000000000000000000000000000..9dbabaeecf9f29c663b79f470f904898955385fe GIT binary patch literal 641 zcmV-{0)G98P)EX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15EU?E$TTJZ000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}00013Nkl8)@f0|l|Y#BW~$OQ8xOyK6XUnn$P9H7p{Mo?kee+IgQ2;HM#6pVsVFbYP& bC>R9*{3sSS%_J~D00000NkvXXu0mjfBxws< literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-4.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-4.png new file mode 100644 index 0000000000000000000000000000000000000000..a5e6efe0be91403f6b936ee276089b507bd4127b GIT binary patch literal 643 zcmV-}0(||6P)EX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15EVHZ6pVrZ000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}00015Nkl8)@e{^xG0%XhR;Xx*tZ(ss9zx_g?>EZx&E;fP+)BZEiB}C{R1*2dTjDk@x d3P!;w003p>8A0r@IqCoa002ovPDHLkV1i+w4l)1$ literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-5.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/charge-level-unshaded-5.png new file mode 100644 index 0000000000000000000000000000000000000000..56ad26356cf8b20e54b3837f6ba01f34df9e4570 GIT binary patch literal 643 zcmV-}0(||6P)EX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15Dqg__pSy2000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}00015Nkl8)@e|+K;17t(#;Xx*tZ(ss9zx_g?>EZx&E;fP+)BZEiB}C{R1*2dTjDk@x d3P!;w0067&988XkbIJe!002ovPDHLkV1lPc4mJP) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/equipped-back.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/equipped-back.png new file mode 100644 index 0000000000000000000000000000000000000000..dc42c69706bcc5053d48febe63500945c8f42259 GIT binary patch literal 1813 zcmV+w2kQ8VP)EX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15Fj^Sontcq000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}000E+NklsEFv1A`Yj9o%%Cc9~4=XdFJ8XrA*(pm4ln84e;J+7DVw&3?Eyc3jCL?V&Si&6?jQE*r+ z`ku=Z1E{Vu;r(;DT+jEt*4sA*q_jFSiH}h?@oZrZV!nh|#diRJSH*V_^Cdi6n1dh) z9r~xVdVdt~29&wbw;2kdU^W2&1+$6GPzc}e{?IjMDLgTpVX#*F3jpw2Vy^4C9A81b ze!c5E(^JEz0A2{AT0KL-Y(mVJ003gXgo4?`ftv3cyM1xlUj;13;}#1(AQqd!Dc8bN z>k$Cpsr3k_Tno$bm9DY2iS#83u*QJc#u_RB1OS!PmEhItS=ZRCEC3qqp8^IQ1{FoI z0HAPKydf+A#9}k}o<3J|UzdT^}o9}RGHu08WC#h8`cwIV2!E9po*JHq= z6C5fAe2c5g(Y`YvlgVKF;*wbgv@dBoeqiVQ`#x*eF z+@AH`fV-@7+{>iS-T=t5#i|m5^ayyq58!zo;ZTTaIv=Pi=eI||vjT$D-Uk7{>-2Rc z7PJP>GRC~vf9KGl>r6XAC%pCuaBd19qKL=QC=A2EVX=stABt}dh2?} zZkx>c`LI}oq9_l7*7ogjBoe{={QM1BeE9%pt=&zVgGM@?=4|09r6`xnD3{B@OyFhe zQ%lO`k(C7yQG8JLzwq%V7I0N9;(q=G*2Wrs%KpgtVnE%{Jy%y)L@YLgXf%S&PzZHH zzk3*T*4~E+qW9D~1nM{HZ0zwFQA$+Uwt_rYg>~_ulA;H;85cn+cRXA$xOiy8Ub`}7js;WIX z$145p`+$>^6Kr2x;!Cp@oB_@#pi>H2l9=B0e_Ac*j-B@s#avH=c5lE^cmiKfG?``q zA;j|ABjB0{*_B~!auPD7&?*&X84#pLz*PZuZ-A2ltRhH{fM*7%jRxfQpRmjTzdZu3 zJ^;AtxMJP@Z65%%dj#6Mf9E6oL#w%udIUxo!597odX!>?XH}uz00000NkvXXu0mjf Dskc)z literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/equipped-unshaded.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/equipped-unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..cc3c833aef2ff62fa9a4157bd211b6cffe84c38a GIT binary patch literal 837 zcmV-L1G@Z)P)EX>4Tx04R}tkv&MmKpe$iQ?;U%4t5Z6$WWcEh>AE$6^me@v=v%)FuC+YXws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;vxAeOi`@MHhMzLIh(HGxbDzAp_6xbq^n3@1i`*``n+SPsy7M@QK8;OgAjzb>itw zOXs{#9A+g+AwDM_HRyuGk6f2se&bwpSm2pqBa@mV4ik&THkR9%l?;`5ia4UE8s!UF zmle)ioYiubHSft^7|d(SX|B^8LL7@oAPEsNs@Omo7NWFjq?kz2e$2x^==hW5lF79J zMvi$@ph9x|;D7MDTeC1Z;U)!RK5#ex~0i`z~v4w@T5zIpV2qvfc{&cXVvYkxsTHaAVXa(-2exN zz(|p@*F4_c-QL^3XPW)}0I=+G!1o!krT_o{24YJ`L;$J)bN~R5Ed0a(000SaNLh0L z04^f{04^f|c%?sf00007bV*G`2j~V15FrTg;D1j5000?uMObu0Z*6U5Zgc=ca%Ew3 zWn>_CX>@2HM@dakSAh-}0003TNkl^WQf=2ulG?7*dS7akcqs_$Mhz zCgAR#I@m^%bg+%??ioxH=w6vV0>caZbfH;y0l)YSf4z&zsQ)>;z!KjCV_W5{*-Rl3 zKF%pGMxX*PZB->s000000Fbm)zX%V7_6`hv{VbltbS1QRAUXkSkbMHi1|-FllT#4d zJAgHHfk|sX_A~ZatDU*0K4poCKkF_qOZ=%#T$vEBJ)=|r-GDs;0OGv>&U1Det;wa- P00000NkvXXu0mjfiHLC5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/icon-base.png b/Resources/Textures/_NF/Objects/Weapons/Guns/Battery/turbo_laser.rsi/icon-base.png new file mode 100644 index 0000000000000000000000000000000000000000..a2723c35ce6efc622263489ee6c35bc707cea033 GIT binary patch literal 896 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 Date: Tue, 11 Jun 2024 21:17:29 +0300 Subject: [PATCH 67/73] gun spread to mobs --- .../Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml | 8 ++++++++ .../Mobs/NPCs/mob_hostile_expeditions_explorers.yml | 2 ++ .../_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml index e22212e0b06..2304b23d17b 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_bloodcultist.yml @@ -48,6 +48,8 @@ - type: Gun showExamineText: false fireRate: 4 + minAngle: 1 + maxAngle: 10 soundGunshot: path: /Audio/Effects/Lightning/lightningshock.ogg @@ -75,6 +77,8 @@ - type: Gun showExamineText: false fireRate: 4 + minAngle: 1 + maxAngle: 10 selectedMode: SemiAuto soundGunshot: path: /Audio/Effects/Lightning/lightningshock.ogg @@ -132,6 +136,8 @@ - type: Gun showExamineText: false fireRate: 0.5 + minAngle: 1 + maxAngle: 10 selectedMode: SemiAuto availableModes: - SemiAuto @@ -212,6 +218,8 @@ - type: Gun showExamineText: false fireRate: 1 + minAngle: 1 + maxAngle: 10 soundGunshot: path: /Audio/Effects/teleport_arrival.ogg - type: RechargeBasicEntityAmmo diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml index 33e7367b5c9..5d29e1ab31a 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_expeditions_explorers.yml @@ -295,6 +295,8 @@ - type: Gun showExamineText: false fireRate: 0.5 + minAngle: 1 + maxAngle: 5 selectedMode: SemiAuto availableModes: - SemiAuto diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml index a773bf6e533..989a6b94fe8 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_mercenaries.yml @@ -163,6 +163,8 @@ - type: Gun showExamineText: false fireRate: 0.75 + minAngle: 1 + maxAngle: 10 selectedMode: SemiAuto availableModes: - SemiAuto @@ -241,6 +243,8 @@ - type: Gun showExamineText: false fireRate: 2.5 + minAngle: 1 + maxAngle: 10 selectedMode: SemiAuto availableModes: - SemiAuto @@ -286,6 +290,8 @@ - type: Gun showExamineText: false fireRate: 2 + minAngle: 1 + maxAngle: 10 selectedMode: SemiAuto availableModes: - SemiAuto @@ -333,6 +339,8 @@ - type: Gun showExamineText: false fireRate: 1 + minAngle: 1 + maxAngle: 10 selectedMode: SemiAuto availableModes: - SemiAuto @@ -379,6 +387,8 @@ - type: Gun showExamineText: false fireRate: 0.6 + minAngle: 1 + maxAngle: 10 selectedMode: SemiAuto availableModes: - SemiAuto From 9197166edd52ea8f21b6cad1f608baaf2772d517 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Tue, 11 Jun 2024 22:05:31 +0300 Subject: [PATCH 68/73] construction bags to explorers --- Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml index 6aee0510a54..512c92c279b 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/explorers.yml @@ -14,7 +14,7 @@ equipment: gloves: ClothingHandsGlovesWeaponPkaFlashlight back: ClothingBackpackExplorerRangedT1 - belt: ClothingBeltSalvageWebbing + belt: ConstructionBag shoes: ClothingShoesBootsSalvage suitstorage: AirTankFilled neck: ClothingNeckIFFCyan @@ -36,7 +36,7 @@ gloves: ClothingHandsGlovesWeaponSawnOffPkaDagger outerClothing: ClothingOuterHardsuitSpatio back: ClothingBackpackExplorerRangedT2 - belt: ClothingBeltSalvageWebbing + belt: ConstructionBag shoes: ClothingShoesBootsSalvage neck: ClothingNeckIFFCyan @@ -57,7 +57,7 @@ gloves: ClothingHandsGlovesWeaponWieldedPka outerClothing: ClothingOuterHardsuitLuxury back: ClothingBackpackExplorerRangedT3 - belt: ClothingBeltSalvageWebbing + belt: ConstructionBag shoes: ClothingShoesBootsSalvage neck: ClothingNeckIFFCyan @@ -74,6 +74,6 @@ gloves: ClothingHandsGlovesWeaponSawnOffPkas outerClothing: ClothingOuterHardsuitMaximPrototype back: ClothingBackpackExplorerBoss - belt: ClothingBeltSalvageWebbing + belt: ConstructionBag shoes: ClothingShoesBootsSalvage neck: ClothingNeckIFFCyan From ccc632422c2692f22453245fb2b1618d42499520 Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 12 Jun 2024 01:30:16 +0300 Subject: [PATCH 69/73] tweaks --- .../Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml | 1 + .../Entities/Objects/Weapons/Guns/Battery/battery_guns.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml index cfcf292efad..1fb313b450a 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_base.yml @@ -47,6 +47,7 @@ groups: Brute: -0.5 Burn: -0.5 + Airloss: -1 - type: entity save: false diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index 4036654090f..e62f9048e8a 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -40,8 +40,8 @@ parent: - BaseWeaponBattery id: WeaponLaserTurboNF - name: malfunctioning turbo laser - description: "A turbo laser ripped from guardian unit. Doesn't seem to be workig properly. Supposedly illegal." + name: turbo laser mk3 + description: "A turbo laser ripped from the guardian unit. Appears to be a rather old model. Doesn't seem to be working properly. Supposedly highly illegal." components: - type: MultiHandedItem - type: ClothingSpeedModifier From 1a7e6f0de1daae2e25f56eb4e67c8ad24c49db1a Mon Sep 17 00:00:00 2001 From: "steinhauer.erhard" Date: Wed, 12 Jun 2024 04:13:28 +0300 Subject: [PATCH 70/73] ehh --- .../Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml index 5f7f56abf76..df0ca45bd89 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_rogue_ai.yml @@ -912,7 +912,7 @@ - type: entity parent: MobRogueSiliconBase id: MobRogueSiliconBoss - name: demolisher unit + name: one star unit #noSpawn: true components: - type: Loadout From 0e8b27dd9c882389607bf747416a855470e36d63 Mon Sep 17 00:00:00 2001 From: Dvir Date: Wed, 12 Jun 2024 12:54:04 +0300 Subject: [PATCH 71/73] syndicate --- .../_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml | 6 +++--- .../Objects/Weapons/Throwable/throwable_weapons.yml | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml index 3a0265c22f0..8932fc5ce42 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml @@ -174,7 +174,7 @@ rechargeSound: path: /Audio/_NF/Effects/silence.ogg - type: BasicEntityAmmoProvider - proto: DartSindicateImpedrezene + proto: DartSyndicateImpedrezene capacity: 1 count: 1 - type: Gun @@ -204,7 +204,7 @@ prototypes: - SyndicateNavalMedicGearB - type: BasicEntityAmmoProvider - proto: DartSindicateTranquilizer + proto: DartSyndicateTranquilizer capacity: 1 count: 1 @@ -217,7 +217,7 @@ prototypes: - SyndicateNavalMedicGearD - type: BasicEntityAmmoProvider - proto: DartSindicateTranquilizer + proto: DartSyndicateTranquilizer capacity: 1 count: 1 diff --git a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml index 14e8435f61f..ab13e6501eb 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Weapons/Throwable/throwable_weapons.yml @@ -2,7 +2,7 @@ parent: - Dart - ConjuredObject10 # Despawns in 10 seconds - id: DartSindicateImpedrezene + id: DartSyndicateImpedrezene name: syndicate impedrezene dart description: Try not to prick yourself. noSpawn: true @@ -37,8 +37,8 @@ solution: ammo - type: entity # 4 hits to KO a spaceman - parent: DartSindicateImpedrezene - id: DartSindicateTranquilizer + parent: DartSyndicateImpedrezene + id: DartSyndicateTranquilizer name: syndicate tranquilizer dart noSpawn: true components: @@ -58,7 +58,7 @@ solution: ammo - type: entity - parent: DartSindicateImpedrezene + parent: DartSyndicateImpedrezene id: DartAberrantFleshHorrorSpike name: bone spike noSpawn: true From f1d4a646ba2847ebf1e43f5655ea6943abc2790d Mon Sep 17 00:00:00 2001 From: Dvir Date: Wed, 12 Jun 2024 13:13:18 +0300 Subject: [PATCH 72/73] Update toys.yml --- Resources/Prototypes/_NF/Entities/Objects/Fun/toys.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/_NF/Entities/Objects/Fun/toys.yml index 0fec5bb01ae..2390a149732 100644 --- a/Resources/Prototypes/_NF/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/_NF/Entities/Objects/Fun/toys.yml @@ -34,16 +34,16 @@ state: plushie_slips - type: EmitSoundOnUse sound: - path: /Audio/Weapons/boxingpunch3.ogg + path: /Audio/_NF/Effects/silence.ogg - type: EmitSoundOnLand sound: - path: /Audio/Weapons/boxingpunch3.ogg + path: /Audio/_NF/Effects/silence.ogg - type: EmitSoundOnActivate sound: - path: /Audio/Weapons/boxingpunch3.ogg + path: /Audio/_NF/Effects/silence.ogg - type: MeleeWeapon soundHit: - path: /Audio/Weapons/boxingpunch3.ogg + path: /Audio/_NF/Effects/silence.ogg - type: Tag tags: - Soap From 2c035df4de98a60dfb1056c8a829ae05b9025036 Mon Sep 17 00:00:00 2001 From: Dvir Date: Wed, 12 Jun 2024 13:21:52 +0300 Subject: [PATCH 73/73] Fix --- .../Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml | 2 -- .../_NF/Roles/Jobs/Hostile/syndicate_naval_forces.yml | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml index 8932fc5ce42..878c69da475 100644 --- a/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml +++ b/Resources/Prototypes/_NF/Entities/Mobs/NPCs/mob_hostile_syndicate.yml @@ -640,8 +640,6 @@ rechargeCooldown: 2 rechargeSound: path: /Audio/_NF/Effects/silence.ogg - - type: Inventory - templateId: human - type: BasicEntityAmmoProvider proto: SplatterChemCold capacity: 3 diff --git a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/syndicate_naval_forces.yml b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/syndicate_naval_forces.yml index b7097bb1416..ebce38f4bd2 100644 --- a/Resources/Prototypes/_NF/Roles/Jobs/Hostile/syndicate_naval_forces.yml +++ b/Resources/Prototypes/_NF/Roles/Jobs/Hostile/syndicate_naval_forces.yml @@ -517,7 +517,7 @@ shoes: ClothingShoesBootsCombat outerClothing: ClothingOuterArmorBulletproof eyes: ClothingEyesHudSyndicate - back: ClothingBackpackMessengerSyndicate + back: ClothingBackpackSyndicateCaptainLootA pocket1: Stimpack inhand: - Chainsaw