From 9a517cedf52d13f58e75f58fe265a6b5e19cf9de Mon Sep 17 00:00:00 2001 From: TheDoktorZ <87537952+TheDoktorZ@users.noreply.github.com> Date: Sun, 1 Dec 2024 22:33:30 +0100 Subject: [PATCH] Raider Fixes & Extras (#739) * 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. --- .../Entities/Markers/Spawners/mobs.yml | 125 +++++++- .../_Nuclear14/Entities/Mobs/NPCs/basemob.yml | 16 + .../_Nuclear14/Entities/Mobs/NPCs/insects.yml | 6 +- .../Entities/Mobs/NPCs/raiders_melee.yml | 63 +++- .../Entities/Mobs/NPCs/raiders_ranged.yml | 290 ++++++++++++++++-- .../_Nuclear14/Entities/Mobs/NPCs/robots.yml | 69 +++-- .../Entities/Objects/Weapons/Guns/turrets.yml | 27 ++ .../Roles/Jobs/NPC/raider_loadout.yml | 110 +++++++ .../Roles/Jobs/NPC/raider_pistol.yml | 44 --- .../RaiderMeleeEnforcer.rsi/gib.png | Bin 0 -> 9521 bytes .../RaiderMeleeEnforcer.rsi/meta.json | 40 +++ .../RaiderMeleeEnforcer.rsi/raider_dead.png | Bin 0 -> 1118 bytes .../RaiderMeleeEnforcer.rsi/raider_melee.png | Bin 0 -> 2319 bytes .../RaiderMeleeFern.rsi/gib.png | Bin 0 -> 9521 bytes .../RaiderMeleeFern.rsi/meta.json | 40 +++ .../RaiderMeleeFern.rsi/raider_dead.png | Bin 0 -> 1332 bytes .../RaiderMeleeFern.rsi/raider_melee.png | Bin 0 -> 1267 bytes .../RaiderPsycho.rsi/meta.json | 2 +- .../RaiderPsycho.rsi/raider_dead.png | Bin 1926 -> 1939 bytes 19 files changed, 737 insertions(+), 95 deletions(-) create mode 100644 Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_loadout.yml delete mode 100644 Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_pistol.yml create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/gib.png create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/meta.json create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/raider_dead.png create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/raider_melee.png create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/gib.png create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/meta.json create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/raider_dead.png create mode 100644 Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/raider_melee.png diff --git a/Resources/Prototypes/_Nuclear14/Entities/Markers/Spawners/mobs.yml b/Resources/Prototypes/_Nuclear14/Entities/Markers/Spawners/mobs.yml index 16ea64c7bd6..37529e33638 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Markers/Spawners/mobs.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Markers/Spawners/mobs.yml @@ -361,7 +361,8 @@ - type: ConditionalSpawner prototypes: - N14MobCazador - + +# Ranged Raider Variants - type: entity name: Raider Spawner - Pistol id: N14SpawnMobRaiderPsychoRanged @@ -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 @@ -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 diff --git a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/basemob.yml b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/basemob.yml index b5d1238e1c3..82d70fa966e 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/basemob.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/basemob.yml @@ -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 diff --git a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/insects.yml b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/insects.yml index 06b73b55206..64c9bba1e2f 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/insects.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/insects.yml @@ -36,7 +36,7 @@ Dead: Base: dead - type: Stamina - critThreshold: 20 + critThreshold: 99 - type: Bloodstream bloodMaxVolume: 50 - type: ReplacementAccent @@ -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 diff --git a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_melee.yml b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_melee.yml index 492ea7fede2..3580ad6725c 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_melee.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_melee.yml @@ -49,7 +49,6 @@ damage: types: Slash: 14 - Structural: 5 range: 1 - type: MovementSpeedModifier baseWalkSpeed : 4 @@ -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 \ No newline at end of file diff --git a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_ranged.yml b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_ranged.yml index c4113301c1e..781bbafcdfd 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_ranged.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/raiders_ranged.yml @@ -5,6 +5,22 @@ description: Psychopatic raider who will shoot and rob just about anyone. suffix: AI 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: - Raider @@ -23,21 +39,25 @@ rootTask: task: SimpleHumanoidHostileCompound - type: Gun #Mobs currently cannot bolt a gun, so we have to simulate them firing it - fireRate: 1.35 - soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Pistols/N14WeaponPistol9mm/shot1.ogg + minAngle: 4.5 + maxAngle: 22.5 + angleIncrease: 1 + angleDecay: 4 + fireRate: 1.33 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Pistols/N14WeaponPistol10mm/shot1.ogg useKey: false selectedMode: SemiAuto availableModes: - SemiAuto - type: CombatMode - type: BasicEntityAmmoProvider - proto: N14CartridgePistol9 - capacity: 12 - count: 12 + proto: N14CartridgePistol10 + capacity: 10 + count: 10 - type: RechargeBasicEntityAmmo - rechargeCooldown: 1 + rechargeCooldown: 2 rechargeSound: - path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg + path: /Audio/_Nuclear14/Weapons/Effects/Reload/Pistols/pistol_magin.ogg - type: Sprite layers: - map: [ "enum.HumanoidVisualLayers.Chest" ] @@ -87,7 +107,7 @@ sprite: "Effects/creampie.rsi" state: "creampie_human" visible: false - - sprite: _Nuclear14/Objects/Weapons/Guns/Pistols/9mm.rsi + - sprite: _Nuclear14/Objects/Weapons/Guns/Pistols/10mmPIPEpistol.rsi state: inhand-right - type: entity @@ -98,24 +118,32 @@ suffix: AI components: - type: Gun - fireRate: 3 - soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Pistols/N14WeaponPistol9mm/shot1.ogg + minAngle: 7.5 + maxAngle: 34.5 + angleIncrease: 8 + angleDecay: 16 + fireRate: 2.66 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Pistols/N14WeaponPistol10mm/shot1.ogg useKey: false selectedMode: FullAuto availableModes: - FullAuto - type: CombatMode - type: BasicEntityAmmoProvider - proto: N14CartridgePistol9 - capacity: 30 - count: 30 + proto: N14CartridgePistol10 + capacity: 35 + count: 35 - type: RechargeBasicEntityAmmo rechargeCooldown: 2 rechargeSound: - path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg + path: /Audio/_Nuclear14/Weapons/Effects/Reload/SMGs/smg_magin.ogg - type: Loadout prototypes: - RaiderBossGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/SMGs/10mmPIPE.rsi + state: inhand-right - type: entity name: Psycho Raider Hunter @@ -134,16 +162,20 @@ - type: CombatMode - type: BasicEntityAmmoProvider proto: N14Cartridge308Rifle - capacity: 3 - count: 3 + capacity: 1 + count: 1 - type: RechargeBasicEntityAmmo - rechargeCooldown: 2 + rechargeCooldown: 1 rechargeSound: path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg - type: Loadout prototypes: - RaiderHunterGear - + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/Snipers/piperifle.rsi + state: inhand-right + - type: entity name: Psycho Raider Skrimisher parent: N14MobRaiderPsychoRanged @@ -152,8 +184,8 @@ suffix: AI components: - type: Gun - fireRate: 0.5 - soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Shotguns/N14WeaponCaravanShotgun/shot1.ogg + fireRate: 0.75 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Shotguns/N14WeaponDoubleBarrelShotgun/shot1.ogg useKey: false selectedMode: SemiAuto availableModes: @@ -161,8 +193,8 @@ - type: CombatMode - type: BasicEntityAmmoProvider proto: N14ShellShotgun20 - capacity: 6 - count: 6 + capacity: 2 + count: 2 - type: RechargeBasicEntityAmmo rechargeCooldown: 2 rechargeSound: @@ -170,3 +202,217 @@ - type: Loadout prototypes: - RaiderSkrimisherGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/Shotguns/double_shotgun.rsi + state: inhand-right + +- type: entity + name: Fern Private + parent: N14MobRaiderPsychoRanged + id: N14MobFernMercPrivate + description: Professional mercenary armed with an SMG. One might be better off avoiding him. + suffix: AI + components: + - type: Gun + minAngle: 4.5 + maxAngle: 13.5 + angleIncrease: 8 + angleDecay: 16 + fireRate: 2 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Rifles/N14WeaponOldCarbine/shot1.ogg + useKey: false + selectedMode: SemiAuto + availableModes: + - SemiAuto + - type: CombatMode + - type: BasicEntityAmmoProvider + proto: N14Cartridge556Rifle + capacity: 25 + count: 25 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/Weapons/Guns/MagIn/ltrifle_magin.ogg + - type: Loadout + prototypes: + - FernMercPrivateGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/Rifles/carbine.rsi + state: inhand-right + +- type: entity + name: Fern Sergeant + parent: N14MobRaiderPsychoRanged + id: N14MobFernMercSergeant + description: Professional mercenary armed with a combat shotgun. This man can finish anyone off in close quarters. + suffix: AI + components: + - type: Gun + minAngle: 34.5 + maxAngle: 104 + angleIncrease: 8 + angleDecay: 16 + fireRate: 1 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Shotguns/N14WeaponAutoShotgun/shot1.ogg + useKey: false + selectedMode: SemiAuto + availableModes: + - SemiAuto + - type: CombatMode + - type: BasicEntityAmmoProvider + proto: N14ShellShotgun12 + capacity: 8 + count: 8 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/_Nuclear14/Weapons/Effects/Reload/Shotguns/shotgun_insert.ogg + - type: Loadout + prototypes: + - FernMercSergeantGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/Shotguns/combat_shotgun.rsi + state: inhand-right + +- type: entity + name: Fern Lieutenant + parent: N14MobRaiderPsychoRanged + id: N14MobFernMercLieutenant + description: Professional mercenary armed with an SMG. Looks like an officer, more might be around! + suffix: AI + components: + - type: Gun + minAngle: 1.5 + maxAngle: 13.5 + angleIncrease: 1 + angleDecay: 4 + fireRate: 2.5 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Pistols/N14WeaponPistol12mm/shot1.ogg + useKey: false + selectedMode: FullAuto + availableModes: + - FullAuto + - type: CombatMode + - type: BasicEntityAmmoProvider + proto: N14CartridgePistol127 + capacity: 28 + count: 28 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/_Nuclear14/Weapons/Effects/Reload/Pistols/pistol_magin.ogg + - type: Loadout + prototypes: + - FernMercLieutenantGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/SMGs/12mmSMG.rsi + state: inhand-right + +- type: entity + name: Enforcer Trooper + parent: N14MobRaiderPsychoRanged + id: N14MobEnforcerTrooper + description: Nothing more than a raider in fancy clothes, wielding a 9mm SMG. + suffix: AI + components: + - type: Gun + minAngle: 1.5 + maxAngle: 13.5 + angleIncrease: 16 + angleDecay: 16 + fireRate: 2 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Pistols/N14WeaponPistol9mm/shot1.ogg + useKey: false + selectedMode: FullAuto + availableModes: + - FullAuto + - type: CombatMode + - type: BasicEntityAmmoProvider + proto: N14CartridgePistol9 + capacity: 30 + count: 30 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/_Nuclear14/Weapons/Effects/Reload/SMGs/smg_magin.ogg + - type: Loadout + prototypes: + - EnforcerTrooperGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/SMGs/9mmSMG.rsi + state: inhand-right + +- type: entity + name: Enforcer Warden + parent: N14MobRaiderPsychoRanged + id: N14MobEnforcerWarden + description: A raider wearing pre-war law enforcement uniform. One might want to keep distance because he has a riot shotgun! + suffix: AI + components: + - type: Gun + minAngle: 34.5 + maxAngle: 156 + angleIncrease: 8 + angleDecay: 16 + fireRate: 1.25 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Shotguns/N14WeaponRiotShotgun/shot1.ogg + useKey: false + selectedMode: SemiAuto + availableModes: + - SemiAuto + - type: CombatMode + - type: BasicEntityAmmoProvider + proto: N14ShellShotgun20 + capacity: 10 + count: 10 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/_Nuclear14/Weapons/Effects/Reload/Shotguns/shotgun_insert.ogg + - type: Loadout + prototypes: + - EnforcerWardenGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/Shotguns/combat_shotgun.rsi + state: inhand-right + +- type: entity + name: Enforcer Chief + parent: N14MobRaiderPsychoRanged + id: N14MobEnforcerChief + description: Rough man in fine clothes, carrying a magnum revolver. + suffix: AI + components: + - type: Gun + minAngle: 1.5 + maxAngle: 13.5 + angleIncrease: 2 + angleDecay: 4 + fireRate: 1.25 + soundGunshot: /Audio/_Nuclear14/Weapons/Guns/Revolvers/N14WeaponRevolverMagnun/shot1.ogg + useKey: false + selectedMode: SemiAuto + availableModes: + - SemiAuto + - type: CombatMode + - type: BasicEntityAmmoProvider + proto: N14Cartridge44Magnum + capacity: 6 + count: 6 + - type: RechargeBasicEntityAmmo + rechargeCooldown: 2 + rechargeSound: + path: /Audio/_Nuclear14/Weapons/Effects/Reload/Pistols/pistol_magin.ogg + - type: Loadout + prototypes: + - EnforcerChiefGear + - type: Sprite + layers: + - sprite: _Nuclear14/Objects/Weapons/Guns/Revolvers/magnum.rsi + state: inhand-right \ No newline at end of file diff --git a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/robots.yml b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/robots.yml index c88a2253e60..15ef6fc6d98 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/robots.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/robots.yml @@ -226,6 +226,10 @@ map: ["light"] visible: false - type: Gun #Mobs currently cannot bolt a gun, so we have to simulate them firing it + minAngle: 6 + maxAngle: 12 + angleIncrease: 2 + angleDecay: 4 fireRate: 1 soundGunshot: collection: N14RechargerRifleGunshot @@ -235,12 +239,12 @@ - SemiAuto - type: BasicEntityAmmoProvider proto: BulletLaser - capacity: 12 - count: 12 + capacity: 9 + count: 9 - type: RechargeBasicEntityAmmo - rechargeCooldown: 1 + rechargeCooldown: 2 rechargeSound: - path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg - type: HTN rootTask: task: SimpleRangedHostileCompound @@ -337,20 +341,25 @@ # description: | # Protect your area and remove any trespassers. - type: Gun #Mobs currently cannot bolt a gun, so we have to simulate them firing it + minAngle: 6 + maxAngle: 12 + angleIncrease: 2 + angleDecay: 4 fireRate: 1 - soundGunshot: /Audio/Weapons/Guns/Gunshots/mk58.ogg + soundGunshot: + collection: N14RechargerRifleGunshot useKey: false selectedMode: SemiAuto availableModes: - SemiAuto - type: BasicEntityAmmoProvider - proto: N14CartridgePistol9 - capacity: 12 - count: 12 + proto: BulletLaser + capacity: 9 + count: 9 - type: RechargeBasicEntityAmmo - rechargeCooldown: 1 + rechargeCooldown: 2 rechargeSound: - path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg - type: Loadout prototypes: - RaiderPistolGear @@ -388,7 +397,11 @@ # description: | # Protect your area and remove any trespassers. - type: Gun #Mobs currently cannot bolt a gun, so we have to simulate them firing it - fireRate: 0.5 + minAngle: 6 + maxAngle: 12 + angleIncrease: 2 + angleDecay: 4 + fireRate: 1 soundGunshot: collection: N14PlasmaPistolGunshot useKey: false @@ -397,12 +410,12 @@ - SemiAuto - type: BasicEntityAmmoProvider proto: BulletPlasma - capacity: 12 - count: 12 + capacity: 9 + count: 9 - type: RechargeBasicEntityAmmo - rechargeCooldown: 1 + rechargeCooldown: 2 rechargeSound: - path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg - type: HTN rootTask: task: SimpleRangedHostileCompound @@ -437,6 +450,10 @@ # description: | # Protect your area and remove any trespassers. - type: Gun #Mobs currently cannot bolt a gun, so we have to simulate them firing it + minAngle: 6 + maxAngle: 12 + angleIncrease: 2 + angleDecay: 4 fireRate: 1 soundGunshot: collection: N14RechargerRifleGunshot @@ -446,12 +463,12 @@ - SemiAuto - type: BasicEntityAmmoProvider proto: BulletLaser - capacity: 12 - count: 12 + capacity: 9 + count: 9 - type: RechargeBasicEntityAmmo - rechargeCooldown: 1 + rechargeCooldown: 2 rechargeSound: - path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg - type: HTN rootTask: task: SimpleRangedHostileCompound @@ -479,7 +496,11 @@ # description: | # Protect your area and remove any trespassers. - type: Gun #Mobs currently cannot bolt a gun, so we have to simulate them firing it - fireRate: 0.5 + minAngle: 6 + maxAngle: 12 + angleIncrease: 2 + angleDecay: 4 + fireRate: 1 soundGunshot: collection: N14RechargerRifleGunshot useKey: false @@ -488,12 +509,12 @@ - SemiAuto - type: BasicEntityAmmoProvider proto: BulletLaser - capacity: 12 - count: 12 + capacity: 9 + count: 9 - type: RechargeBasicEntityAmmo - rechargeCooldown: 1 + rechargeCooldown: 2 rechargeSound: - path: /Audio/Weapons/Guns/MagIn/bullet_insert.ogg + path: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg - type: HTN rootTask: task: SimpleRangedHostileCompound diff --git a/Resources/Prototypes/_Nuclear14/Entities/Objects/Weapons/Guns/turrets.yml b/Resources/Prototypes/_Nuclear14/Entities/Objects/Weapons/Guns/turrets.yml index 8ff3d591bd2..1c9175d07ec 100644 --- a/Resources/Prototypes/_Nuclear14/Entities/Objects/Weapons/Guns/turrets.yml +++ b/Resources/Prototypes/_Nuclear14/Entities/Objects/Weapons/Guns/turrets.yml @@ -199,6 +199,33 @@ factions: - NCR +- type: entity + parent: N14BaseWeaponTurret + id: N14WeaponTurretCaravan + suffix: CaravanCompany, Hostile + components: + - type: NpcFactionMember + factions: + - CaravanCompanySecureArea + +- type: entity + parent: N14BaseWeaponTurret + id: N14WeaponTurretRaider + suffix: Raider, Hostile + components: + - type: NpcFactionMember + factions: + - Raider + +- type: entity + parent: N14BaseWeaponTurret + id: N14WeaponTurretRobot + suffix: Robot, Hostile + components: + - type: NpcFactionMember + factions: + - HostileRobot + # Spawn Point Turrets # These are meta turrets designed to stop spawn point abuse - type: entity diff --git a/Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_loadout.yml b/Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_loadout.yml new file mode 100644 index 00000000000..56f48fa492a --- /dev/null +++ b/Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_loadout.yml @@ -0,0 +1,110 @@ +- type: startingGear + id: RaiderPistolGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitRags + shoes: N14ClothingShoesRaider + mask: N14ClothingMaskBrownMask + outerClothing: N14ClothingOuterLightMetalArmor + pocket1: Gauze1 + pocket2: N14MagazinePistol9mm + +- type: startingGear + id: RaiderHunterGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitBrahminFarmer + shoes: N14ClothingBootsCowboy + head: N14ClothingHeadHatCowboyBrown + mask: N14ClothingMaskRedMask + outerClothing: N14ClothingOuterRaiderBadlands + pocket1: N14Cartridge308Rifle + pocket2: N14HealingPowder + +- type: startingGear + id: RaiderSkrimisherGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitRags + shoes: N14ClothingBootsLeather + head: ClothingHeadHelmetBone + outerClothing: N14ClothingOuterRaiderBlastmaster + pocket1: N14ShellShotgun20 + pocket2: N14Jet + +- type: startingGear + id: RaiderBossGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitWastelandDoc + shoes: N14ClothingBootsLeather + head: N14ClothingHeadHatBeanie + mask: N14ClothingMaskBrownMask + eyes: N14ClothingEyesGlassesWelding + outerClothing: N14ClothingOuterRaiderCombat1 + pocket1: N14Stimpak + pocket2: N14RadAwayInhaler + +- type: startingGear + id: FernMercPrivateGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitCombat + shoes: N14ClothingBootsLeather + head: N14ClothingHeadHatArmyCap + mask: N14ClothingMaskBrownMask + outerClothing: N14ClothingOuterRaiderBadlands + pocket1: N14Bandage + pocket2: Magazine556Rifle + +- type: startingGear + id: FernMercSergeantGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitCombat + shoes: N14ClothingBootsLeather + head: N14ClothingHeadHatCombatHelmet + mask: N14ClothingMaskBrownBalaclava + eyes: N14ClothingEyesGlassesWelding + outerClothing: N14ClothingOuterCombatArmor + belt: ClothingBeltMilitary + pocket1: N14Stimpak + pocket2: N14MagazineShotgun12 + +- type: startingGear + id: FernMercLieutenantGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitCombat + shoes: N14ClothingBootsCombat + head: N14ClothingHeadHatArmyBeret + mask: N14ClothingMaskBrownBalaclava + eyes: N14ClothingEyesSunGlasses + outerClothing: N14ClothingOuterCombatArmorMK2 + pocket1: N14CurrencyCap50 + pocket2: N14MagazineSMG12mm + +- type: startingGear + id: EnforcerTrooperGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitMerc + shoes: N14ClothingBootsLeather + head: N14ClothingHeadHatBaseball + mask: N14ClothingMaskBlueMask + pocket1: Gauze1 + pocket2: N14MagazineSMG9mm + +- type: startingGear + id: EnforcerWardenGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitManagerSuit + shoes: N14ClothingBootsCombat + mask: N14ClothingMaskGrill + outerClothing: N14ClothingOuterPoliceVest + pocket1: N14Psycho + pocket2: N14MagazineShotgun20 + +- type: startingGear + id: EnforcerChiefGear + equipment: + jumpsuit: N14ClothingUniformJumpsuitPreWarManager + shoes: N14ClothingBootsCombatMK2 + head: ClothingHeadHatCowboyBountyHunter + eyes: N14ClothingEyesSunGlasses + outerClothing: N14ClothingOuterPoliceChief + pocket1: N14Stimpak + pocket2: SpeedLoader44 + \ No newline at end of file diff --git a/Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_pistol.yml b/Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_pistol.yml deleted file mode 100644 index 5bca92ed7dc..00000000000 --- a/Resources/Prototypes/_Nuclear14/Roles/Jobs/NPC/raider_pistol.yml +++ /dev/null @@ -1,44 +0,0 @@ -- type: startingGear - id: RaiderPistolGear - equipment: - jumpsuit: N14ClothingUniformJumpsuitRags - shoes: N14ClothingShoesRaider - mask: N14ClothingMaskBrownMask - outerClothing: N14ClothingOuterLightMetalArmor - pocket1: Gauze1 - pocket2: N14MagazinePistol9mm - -- type: startingGear - id: RaiderHunterGear - equipment: - jumpsuit: N14ClothingUniformJumpsuitBrahminFarmer - shoes: N14ClothingBootsCowboy - head: N14ClothingHeadHatCowboyBrown - mask: N14ClothingMaskRedMask - outerClothing: N14ClothingOuterRaiderBadlands - pocket1: N14Cartridge308Rifle - pocket2: N14HealingPowder - -- type: startingGear - id: RaiderSkrimisherGear - equipment: - jumpsuit: N14ClothingUniformJumpsuitRags - shoes: N14ClothingBootsLeather - head: ClothingHeadHelmetBone - gloves: ClothingClothWrap - outerClothing: N14ClothingOuterRaiderBlastmaster - pocket1: N14ShellShotgun20 - pocket2: N14Jet - -- type: startingGear - id: RaiderBossGear - equipment: - jumpsuit: N14ClothingUniformJumpsuitWastelandDoc - shoes: N14ClothingBootsLeather - head: N14ClothingHeadHatBeanie - mask: N14ClothingMaskBrownMask - eyes: N14ClothingEyesGlassesWelding - gloves: N14ClothingHandsGlovesBlackBiker - outerClothing: N14ClothingOuterRaiderCombat1 - pocket1: N14Stimpak - pocket2: N14RadAwayInhaler diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/gib.png b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/gib.png new file mode 100644 index 0000000000000000000000000000000000000000..4549a5d57381fe79fd31fef1cfe19317c27d9c91 GIT binary patch literal 9521 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/meta.json b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/meta.json new file mode 100644 index 00000000000..94a7d6e08cb --- /dev/null +++ b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/meta.json @@ -0,0 +1,40 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Made by adom for Nuclear 14, kitbashed using various other assets from this codebase", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "raider_melee", + "directions": 4 + }, + { + "name": "raider_dead" + }, + { + "name": "gib", + "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 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/raider_dead.png b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeEnforcer.rsi/raider_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..942fe06eacfc6f6bff445da3bdf80ce7566400a6 GIT binary patch literal 1118 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/gib.png b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/gib.png new file mode 100644 index 0000000000000000000000000000000000000000..4549a5d57381fe79fd31fef1cfe19317c27d9c91 GIT binary patch literal 9521 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/meta.json b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/meta.json new file mode 100644 index 00000000000..94a7d6e08cb --- /dev/null +++ b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/meta.json @@ -0,0 +1,40 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Made by adom for Nuclear 14, kitbashed using various other assets from this codebase", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "raider_melee", + "directions": 4 + }, + { + "name": "raider_dead" + }, + { + "name": "gib", + "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 + ] + ] + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/raider_dead.png b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderMeleeFern.rsi/raider_dead.png new file mode 100644 index 0000000000000000000000000000000000000000..78ee91df3f380c68a5cfa904ea81658826e843f5 GIT binary patch literal 1332 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 PGcSXutDnm{r-UW|J@-*) literal 0 HcmV?d00001 diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi/meta.json b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi/meta.json index bc3bd531155..94a7d6e08cb 100644 --- a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi/meta.json +++ b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-NC-SA-3.0", - "copyright": "taken from BigIron github", + "copyright": "Made by adom for Nuclear 14, kitbashed using various other assets from this codebase", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi/raider_dead.png b/Resources/Textures/_Nuclear14/Mobs/RaidersSimpleMob/RaiderPsycho.rsi/raider_dead.png index 1206534d1c263b667fae54bb0e8951d8ca30b173..6cc07076e256a2afb83b08908c70f72fadb5642b 100644 GIT binary patch delta 1836 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 N002ovPDHLkV1i~+eZ~L)