Skip to content

Commit

Permalink
Raider Fixes & Extras (#739)
Browse files Browse the repository at this point in the history
* More Raiders, Fixes & Turrets

- Added two new raider groups with 3 ranged and 1 melee variants for each.
- All ranged mobs are now able to miss shots, their pinpoint accuracy is now gone.
- New turrets added (robot and raider faction ones).
- All raiders should display their silly guns in their hands.

Too many commits, but should be working.
  • Loading branch information
TheDoktorZ authored Dec 1, 2024
1 parent 5441d23 commit 9a517ce
Show file tree
Hide file tree
Showing 19 changed files with 737 additions and 95 deletions.
125 changes: 123 additions & 2 deletions Resources/Prototypes/_Nuclear14/Entities/Markers/Spawners/mobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,8 @@
- type: ConditionalSpawner
prototypes:
- N14MobCazador


# Ranged Raider Variants
- type: entity
name: Raider Spawner - Pistol
id: N14SpawnMobRaiderPsychoRanged
Expand Down Expand Up @@ -421,7 +422,98 @@
- type: ConditionalSpawner
prototypes:
- N14MobRaiderBoss


- type: entity
name: Mercenary Spawner - Private
id: N14SpawnMobRaiderFernPrivate
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/Raiders.rsi
state: raider_ranged
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobFernMercPrivate

- type: entity
name: Mercenary Spawner - Sergeant
id: N14SpawnMobRaiderFernSergeant
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/Raiders.rsi
state: raider_ranged
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobFernMercSergeant

- type: entity
name: Mercenary Spawner - Lieutenant
id: N14SpawnMobRaiderFern
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/Raiders.rsi
state: raider_ranged
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobFernMercLieutenant

- type: entity
name: Enforcer Spawner - Trooper
id: N14SpawnMobRaiderEnforcerTrooper
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/Raiders.rsi
state: raider_ranged
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobEnforcerTrooper

- type: entity
name: Enforcer Spawner - Warden
id: N14SpawnMobRaiderEnforcerWarden
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/Raiders.rsi
state: raider_ranged
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobEnforcerWarden

- type: entity
name: Enforcer Spawner - Chief
id: N14SpawnMobRaiderEnforcerChief
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/Raiders.rsi
state: raider_ranged
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobEnforcerChief

# Melee Raider Variants
- type: entity
name: Raider Spawner - Melee
id: N14SpawnMobRaiderPsycho
Expand All @@ -437,6 +529,35 @@
prototypes:
- N14MobRaiderPsycho

- type: entity
name: Fern Spawner - Melee
id: N14SpawnMobRaiderFernMelee
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi
state: raider_melee
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobRaiderFernMelee

- type: entity
name: Enforcer Spawner - Melee
id: N14SpawnMobRaiderEnforcerMelee
parent: MarkerBase
components:
- type: Sprite
layers:
- state: green
- sprite: _Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi
state: raider_melee
- state: ai
- type: ConditionalSpawner
prototypes:
- N14MobRaiderEnforcerMelee

# Ghoul
- type: entity
Expand Down
16 changes: 16 additions & 0 deletions Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/basemob.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,22 @@
parent: N14MobBaseSimple
description: It's a dirty wasteland animal. Watch out for it's bite, it could be infectious.
components:
- type: Hunger
thresholds:
Overfed: 200
Okay: 150
Peckish: 100
Starving: 50
Dead: 0
baseDecayRate: 0.0 # Decay rate decreased to 0, because humanoid raider NPCs are able to starve to death. We generally don't need life sim for any hostile mob.
- type: Thirst
thresholds:
OverHydrated: 200
Okay: 150
Thirsty: 100
Parched: 50
Dead: 0
baseDecayRate: 0.0 # Decay rate decreased to 0, because hostile mobs can be way too easily defeated by slowness applied to them.
- type: NpcFactionMember
factions:
- WastelandAnimal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
Dead:
Base: dead
- type: Stamina
critThreshold: 20
critThreshold: 99
- type: Bloodstream
bloodMaxVolume: 50
- type: ReplacementAccent
Expand All @@ -47,6 +47,10 @@
- type: RechargeBasicEntityAmmo
rechargeCooldown: 1
- type: Gun
minAngle: 5
maxAngle: 15
angleIncrease: 2
angleDecay: 4
fireRate: 0.5
selectedMode: FullAuto
soundGunshot: /Audio/Weapons/Xeno/alien_spitacid.ogg
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@
damage:
types:
Slash: 14
Structural: 5
range: 1
- type: MovementSpeedModifier
baseWalkSpeed : 4
Expand All @@ -68,3 +67,65 @@
useSound:
path: /Audio/Items/crowbar.ogg

- type: entity
name: Fern Conscript
id: N14MobRaiderFernMelee
parent: N14MobRaiderPsycho
description: Professional mercenary-wannabe, holding a club and ready to dent someone's skull in.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: raider_melee
sprite: _Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi
- type: DamageStateVisuals
states:
Alive:
Base: alive
Critical:
Base: raider_dead #TODO: Make crit raider
Dead:
Base: raider_dead
- type: MeleeWeapon
hidden: true
soundHit:
path: /Audio/Effects/metal_thud1.ogg
angle: 0
animation: WeaponArcPunch
damage:
types:
Blunt: 9
Slash: 6
range: 1

- type: entity
name: Enforcer Beatcop
id: N14MobRaiderEnforcerMelee
parent: N14MobRaiderPsycho
description: Law enforcement? No. Just a really fancy raider with a baton.
components:
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: raider_melee
sprite: _Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi
- type: DamageStateVisuals
states:
Alive:
Base: alive
Critical:
Base: raider_dead #TODO: Make crit raider
Dead:
Base: raider_dead
- type: MeleeWeapon
hidden: true
soundHit:
path: /Audio/Effects/metal_thud1.ogg
angle: 0
animation: WeaponArcPunch
damage:
types:
Blunt: 12
range: 1
Loading

0 comments on commit 9a517ce

Please sign in to comment.