Skip to content

Commit

Permalink
Z's Big Bag (Vault-Overseers#773)
Browse files Browse the repository at this point in the history
Quality of life & balance changes, this PR was a lot more painful than supposed to be.
  • Loading branch information
TheDoktorZ authored Jan 4, 2025
1 parent 465dae7 commit dfb1853
Show file tree
Hide file tree
Showing 13 changed files with 150 additions and 98 deletions.
15 changes: 15 additions & 0 deletions Resources/Prototypes/_Nuclear14/Damage/modifier_sets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,18 @@
flatReductions:
Radiation: 100
Heat: 10

- type: damageModifierSet
id: N14ToughAnimal # Made especially for deathclaws and other larger creatures.
coefficients:
Blunt: 0.9
Slash: 0.9
Piercing: 0.95
Heat: 0.95
Poison: 0.8
flatReductions:
Blunt: 5
Slash: 5
Piercing: 5
Heat: 5
Radiation: 100
42 changes: 31 additions & 11 deletions Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/animals.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,8 +158,8 @@
state: dogferal-1
sprite: _Nuclear14/Mobs/Animals/dogferal.rsi
- type: MovementSpeedModifier
baseWalkSpeed : 5
baseSprintSpeed : 6
baseWalkSpeed : 2.75
baseSprintSpeed : 5.5
- type: Fixtures
fixtures:
fix1:
Expand Down Expand Up @@ -614,6 +614,9 @@
parent: N14MobBaseHostile
description: An angry bear... but uglier, meaner, and with bigger claws.
components:
- type: Damageable
damageContainer: Biological
damageModifierSet: N14ToughAnimal
- type: Sprite
drawdepth: Mobs
layers:
Expand All @@ -634,13 +637,14 @@
- type: MobThresholds
thresholds:
0: Alive
550: Dead
300: Dead
- type: Stamina
critThreshold: 250
- type: SlowOnDamage
speedModifierThresholds:
275: 0.7
450: 0.5
100: 1.05
250: 1.1
400: 1.2
- type: Butcherable
spawned:
- id: N14MaterialYaoguaiHide
Expand Down Expand Up @@ -695,12 +699,23 @@
parent: N14MobBaseHostileScaley
description: Look at those claws.
components:
- type: Damageable
damageContainer: Biological
damageModifierSet: N14ToughAnimal
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
state: deathclaw
sprite: _Nuclear14/Mobs/Animals/deathclaw.rsi
- type: HTN
rootTask:
task: SimpleDumbHostileCompound
blackboard:
NavClimb: !type:Bool
true
NavPry: !type:Bool
true
- type: Fixtures
fixtures:
fix1:
Expand All @@ -720,15 +735,15 @@
- type: MobThresholds
thresholds:
0: Alive
500: Critical
600: Dead
250: Critical
300: Dead
- type: Stamina
critThreshold: 250
- type: SlowOnDamage
speedModifierThresholds:
100: 1.05
250: 1.1
400: 1.2
150: 1.1
200: 1.15
- type: DamageStateVisuals
states:
Alive:
Expand Down Expand Up @@ -825,10 +840,15 @@
- type: MobThresholds
thresholds:
0: Alive
750: Critical
900: Dead
250: Critical
300: Dead
- type: Stamina
critThreshold: 350
- type: SlowOnDamage
speedModifierThresholds:
100: 1.1
150: 1.15
200: 1.2
- type: DamageStateVisuals
states:
Alive:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,8 +244,8 @@
Dead:
Base: dead
- type: MovementSpeedModifier
baseWalkSpeed : 3
baseSprintSpeed : 6
baseWalkSpeed : 2.75
baseSprintSpeed : 5.5
- type: Hands
- type: Puller
- type: SlowOnDamage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,9 @@
name: Maypole
description: A special looking ghoul towering over most everything.
components:
- type: Damageable
damageContainer: Biological
damageModifierSet: N14ToughAnimal
- type: MeleeWeapon
hidden: true
soundHit:
Expand All @@ -91,7 +94,7 @@
types:
Brute: 15
Slash: 15
range: 5
range: 2.5
- type: Sprite
drawdepth: Mobs
layers:
Expand Down
87 changes: 61 additions & 26 deletions Resources/Prototypes/_Nuclear14/Entities/Mobs/NPCs/robots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
fix1:
shape:
!type:PhysShapeCircle
radius: 0.20
radius: 0.4
density: 150
mask:
- MobMask
Expand Down Expand Up @@ -95,8 +95,18 @@
name: Assaultron
description: Horrifying. Fast. Deadly.
components:
- type: HTN
rootTask:
task: SimpleHostileCompound
blackboard:
NavClimb: !type:Bool
true
- type: MobThresholds
thresholds:
0: Alive
150: Dead
- type: MovementSpeedModifier
baseWalkSpeed : 2
baseWalkSpeed : 3
baseSprintSpeed : 6
# - type: GhostRole
# prob: 1
Expand Down Expand Up @@ -126,6 +136,12 @@
noMovementLayers:
movement:
state: icon
- type: DamageStateVisuals
states:
Alive:
Base: deathclaw
Dead:
Base: dead

- type: entity
parent: N14MobRobotHostileMelee
Expand All @@ -134,8 +150,8 @@
description: A common protectron looking for a fight.
components:
- type: MovementSpeedModifier
baseWalkSpeed : 1
baseSprintSpeed : 2
baseWalkSpeed : 1.5
baseSprintSpeed : 3
- type: Sprite
sprite: _Nuclear14/Mobs/Robots/protectron.rsi
layers:
Expand Down Expand Up @@ -226,9 +242,9 @@
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
minAngle: 9
maxAngle: 18
angleIncrease: 3
angleDecay: 4
fireRate: 1
soundGunshot:
Expand Down Expand Up @@ -257,8 +273,17 @@
suffix: hostile, claw
components:
- type: MovementSpeedModifier
baseWalkSpeed : 1
baseSprintSpeed : 2
baseWalkSpeed : 2
baseSprintSpeed : 4
- type: MeleeWeapon
hidden: true
soundHit:
path: /Audio/Effects/metal_thud1.ogg
angle: 0
animation: WeaponArcPunch
damage:
types:
Pierce: 5
- type: Sprite
sprite: _Nuclear14/Mobs/Robots/mrhandyclaw.rsi
layers:
Expand Down Expand Up @@ -297,6 +322,16 @@
description: A domestic Mr Handy model with a saw attachment.
suffix: hostile, saw
components:
- type: MeleeWeapon
hidden: true
soundHit:
path: /Audio/Weapons/chainsaw.ogg
angle: 0
animation: WeaponArcPunch
damage:
types:
Slash: 3
attackRate: 2
- type: Sprite
sprite: _Nuclear14/Mobs/Robots/mrhandysaw.rsi
layers:
Expand All @@ -319,8 +354,8 @@
suffix: hostile, gun
components:
- type: MovementSpeedModifier
baseWalkSpeed : 1
baseSprintSpeed : 2
baseWalkSpeed : 2
baseSprintSpeed : 4
- type: Sprite
sprite: _Nuclear14/Mobs/Robots/mrhandygun.rsi
layers:
Expand All @@ -341,9 +376,9 @@
# 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
minAngle: 9
maxAngle: 18
angleIncrease: 3
angleDecay: 4
fireRate: 1
soundGunshot:
Expand Down Expand Up @@ -375,8 +410,8 @@
suffix: hostile, plasma
components:
- type: MovementSpeedModifier
baseWalkSpeed : 1
baseSprintSpeed : 2
baseWalkSpeed : 2
baseSprintSpeed : 4
- type: Sprite
sprite: _Nuclear14/Mobs/Robots/mrhandygutsy.rsi
layers:
Expand All @@ -397,9 +432,9 @@
# 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
minAngle: 9
maxAngle: 18
angleIncrease: 3
angleDecay: 4
fireRate: 1
soundGunshot:
Expand Down Expand Up @@ -428,8 +463,8 @@
suffix: hostile, laser
components:
- type: MovementSpeedModifier
baseWalkSpeed : 1
baseSprintSpeed : 2
baseWalkSpeed : 1.5
baseSprintSpeed : 3
- type: Sprite
sprite: _Nuclear14/Mobs/Robots/robobrain.rsi
layers:
Expand Down Expand Up @@ -481,8 +516,8 @@
suffix: hostile, laser
components:
- type: MovementSpeedModifier
baseWalkSpeed : 1
baseSprintSpeed : 2
baseWalkSpeed : 3
baseSprintSpeed : 6
- type: Sprite
sprite: _Nuclear14/Mobs/Robots/eyebot.rsi
layers:
Expand All @@ -496,9 +531,9 @@
# 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
minAngle: 12
maxAngle: 24
angleIncrease: 4
angleDecay: 4
fireRate: 1
soundGunshot:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -461,11 +461,10 @@
layerStates:
- scrap
- scrap_2
- scrap_3
- type: Sprite
state: scrap_3
state: scrap
layers:
- state: scrap_3
- state: scrap_2
map: ["base"]
- type: Item
heldPrefix: scrap
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Default
maxIntensity: 3 # max 30 per tile
maxIntensity: 4 # max 30 per tile
intensitySlope: 1
totalIntensity: 2 # 60 total damage to distribute over tiles
totalIntensity: 3 # 60 total damage to distribute over tiles
maxTileBreak: 0

- type: entity
Expand All @@ -25,9 +25,9 @@
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Default
maxIntensity: 6 # max 30 per tile
intensitySlope: 5
totalIntensity: 9 # 60 total damage to distribute over tiles
maxIntensity: 8 # max 30 per tile
intensitySlope: 6
totalIntensity: 15 # 60 total damage to distribute over tiles
maxTileBreak: 0


Expand All @@ -42,9 +42,9 @@
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Default
maxIntensity: 5 # max 30 per tile
intensitySlope: 3
totalIntensity: 6 # 60 total damage to distribute over tiles
maxIntensity: 8 # max 30 per tile
intensitySlope: 6
totalIntensity: 15 # 60 total damage to distribute over tiles
maxTileBreak: 0

#Missiles
Expand All @@ -63,7 +63,7 @@
- type: ExplodeOnTrigger
- type: Explosive
explosionType: Default
maxIntensity: 9 # max 30 per tile
maxIntensity: 24 # max 30 per tile
intensitySlope: 6
totalIntensity: 15 # 60 total damage to distribute over tiles
totalIntensity: 60 # 60 total damage to distribute over tiles
maxTileBreak: 0
Loading

0 comments on commit dfb1853

Please sign in to comment.