Skip to content

Commit

Permalink
Dungeon enemies rebalance: Carps (#2103)
Browse files Browse the repository at this point in the history
* carps

* dragon ghost role rules update

* xml tweaks

* dungeon dragon buff

* fixes

* fix

---------

Co-authored-by: Checkraze <[email protected]>
  • Loading branch information
ErhardSteinhauer and Cheackraze authored Oct 23, 2024
1 parent 537c234 commit eb421b9
Show file tree
Hide file tree
Showing 12 changed files with 248 additions and 37 deletions.
8 changes: 8 additions & 0 deletions Resources/Prototypes/Entities/Mobs/NPCs/carp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@
- type: entity
parent: BaseMobCarp
id: MobCarp
categories: [ HideSpawnMenu ] # Frontier
components:
- type: Sprite
layers:
Expand All @@ -109,6 +110,7 @@
parent: BaseMobCarp
id: MobCarpMagic
description: Looks like some kind of fish. Might be magical.
categories: [ HideSpawnMenu ] # Frontier
components:
- type: Sprite
sprite: Mobs/Aliens/Carps/magic.rsi
Expand All @@ -120,6 +122,7 @@
parent: BaseMobCarp
id: MobCarpHolo
description: Carp made out of holographic energies. Sadly for you, it is very much real.
categories: [ HideSpawnMenu ] # Frontier
components:
- type: Sprite
sprite: Mobs/Aliens/Carps/holo.rsi
Expand All @@ -143,6 +146,7 @@
id: MobCarpRainbow
name: rainbow carp
description: Wow such a shiny fishie!
categories: [ HideSpawnMenu ] # Frontier
components:
- type: PointLight
radius: 1.5
Expand All @@ -160,6 +164,7 @@
id: MobCarpDragon
suffix: DragonBrood
parent: MobCarp
categories: [ HideSpawnMenu ] # Frontier
components:
- type: GhostRole
allowMovement: true
Expand All @@ -179,6 +184,7 @@
id: MobCarpDungeon
parent: MobCarp
suffix: Dungeon
categories: [ HideSpawnMenu ] # Frontier
components:
- type: MeleeWeapon
damage:
Expand All @@ -190,6 +196,7 @@
parent: BaseMobCarp
id: MobShark
description: A dangerous shark from the blackness of endless space, who loves to drink blood.
categories: [ HideSpawnMenu ] # Frontier
components:
- type: Sprite
sprite: Mobs/Aliens/Carps/sharkminnow.rsi
Expand Down Expand Up @@ -244,3 +251,4 @@
id: MobSharkSalvage
parent: [NFMobRestrictions, MobShark] # Frontier: add NFMobRestrictions
suffix: "Salvage Ruleset"
categories: [ HideSpawnMenu ] # Frontier
8 changes: 4 additions & 4 deletions Resources/Prototypes/Entities/Mobs/Player/dragon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,13 +186,13 @@
projectileSpeed: 5

- type: entity
parent: [NFMobRestrictions, BaseMobDragon] # Frontier: add NFMobRestrictions
parent: [NFMobRestrictions, BaseMobDragon, MobNonHumanHostileBase] # Frontier: add NFMobRestrictions, MobNonHumanHostileBase
id: MobDragonDungeon
suffix: Dungeon
components:
- type: GhostRole
description: ghost-role-information-space-dragon-dungeon-description
rules: ghost-role-information-space-dragon-dungeon-rules
rules: ghost-role-information-dungeon-boss-rules # Frontier: ghost-role-information-space-dragon-dungeon-rules<ghost-role-information-dungeon-boss-rules
raffle:
settings: default
- type: SlowOnDamage
Expand All @@ -201,7 +201,7 @@
- type: MobThresholds
thresholds:
0: Alive
200: Dead
250: Dead # Frontier: 200<250
# less meat spawned since it's a lot easier to kill
- type: Butcherable
spawned:
Expand All @@ -214,7 +214,7 @@
- type: MeleeWeapon
damage:
groups:
Brute: 12
Brute: 15 # Frontier: 12<15
- type: ActionGun #Frontier
action: ActionDragonsBreath #Frontier
gunProto: DragonsBreathGun #Frontier
Expand Down
14 changes: 13 additions & 1 deletion Resources/Prototypes/Procedural/salvage_factions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,20 @@
- entries:
- id: MobCarpExpeditions # Frontier
amount: 1
maxAmount: 4
maxAmount: 2
- id: MobCarpRainbowExpeditions # Frontier
amount: 0 # Frontier
maxAmount: 2 # Frontier
- id: MobSnakeExpeditions # Frontier
amount: 0 # Frontier
maxAmount: 1 # Frontier
- entries:
- id: MobCarpMagicExpeditions # Frontier
amount: 1
maxAmount: 3
- id: MobSnakeExpeditions # Frontier
amount: 0 # Frontier
maxAmount: 1 # Frontier
prob: 0.1
- entries:
- id: MobSharkExpeditions # Frontier
Expand All @@ -72,6 +81,9 @@
- id: MobCarpRainbowExpeditions # Frontier
amount: 1
maxAmount: 1
- id: MobSnakeExpeditions # Frontier
amount: 0 # Frontier
maxAmount: 1 # Frontier
prob: 0.05
configs:
DefenseStructure: CarpStatue
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
- type: entity
id: SpawnMobCarpExpeditions
name: carp spawner
parent: MarkerBase
suffix: AI, Hostile
components:
- type: Sprite
layers:
- state: red
- state: ai
- sprite: Mobs/Aliens/Carps/space.rsi
state: alive
- sprite: Mobs/Aliens/Carps/space.rsi
state: mouth
shader: unshaded
- type: ConditionalSpawner
prototypes:
- MobCarpExpeditions

- type: entity
id: SpawnMobCarpMagicExpeditions
name: magicarp spawner
parent: MarkerBase
suffix: AI, Hostile
components:
- type: Sprite
layers:
- state: red
- state: ai
- sprite: _NF/Mobs/Aliens/Carps/magic.rsi
state: alive
- sprite: _NF/Mobs/Aliens/Carps/magic.rsi
state: mouth
shader: unshaded
- type: ConditionalSpawner
prototypes:
- MobCarpMagicExpeditions

- type: entity
id: SpawnMobCarpHoloExpeditions
name: holocarp spawner
parent: MarkerBase
suffix: AI, Hostile
components:
- type: Sprite
layers:
- state: red
- state: ai
- sprite: _NF/Mobs/Aliens/Carps/holo.rsi
state: alive
- sprite: _NF/Mobs/Aliens/Carps/holo.rsi
state: mouth
shader: unshaded
- type: ConditionalSpawner
prototypes:
- MobCarpHoloExpeditions

- type: entity
id: SpawnMobSharkExpeditions
name: magicarp spawner
parent: MarkerBase
suffix: AI, Hostile
components:
- type: Sprite
layers:
- state: red
- state: ai
- sprite: Mobs/Aliens/Carps/sharkminnow.rsi
state: alive
- sprite: Mobs/Aliens/Carps/sharkminnow.rsi
state: mouth
shader: unshaded
- type: ConditionalSpawner
prototypes:
- MobSharkExpeditions

- type: entity
id: SpawnMobSnakeExpeditions
name: snake spawner
parent: MarkerBase
suffix: AI, Hostile
components:
- type: Sprite
layers:
- state: red
- state: ai
- sprite: _NF/Mobs/Aliens/snake.rsi
state: alive
- sprite: _NF/Mobs/Aliens/snake.rsi
state: mouth
shader: unshaded
- type: ConditionalSpawner
prototypes:
- MobSnakeExpeditions
Original file line number Diff line number Diff line change
@@ -1,25 +1,14 @@
# BASE
- type: entity
id: BaseMobCarpExpeditions
name: carp
parent:
- MobNonHumanHostileBase
- MobHumanoidHostileAISimpleMelee
- NFMobRestrictions
id: BaseMobCarpExpeditions
name: carp
description: A variant of the common space carp, evolved to "swim" through gravity. Equally dangerous.
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
Expand All @@ -36,7 +25,6 @@
spawned:
- id: FoodMeatFish
amount: 2
- type: MobState
- type: MobThresholds # Base value to fall back to
thresholds:
0: Alive
Expand All @@ -45,8 +33,6 @@
speedModifierThresholds:
30: 0.7
40: 0.5
- type: Stamina
critThreshold: 100
- type: DamageStateVisuals
states:
Alive:
Expand All @@ -60,7 +46,7 @@
fix1:
shape:
!type:PhysShapeCircle
radius: 0.40 # Lowered the value, to allow them to fit through the airlocks
radius: 0.35 # Lowered the value, to allow them to fit through the airlocks
density: 100
mask:
- FlyingMobMask
Expand All @@ -71,7 +57,6 @@
- Carp
- DoorBumpOpener
- type: MeleeWeapon
altDisarm: false
angle: 0
animation: WeaponArcBite
soundHit:
Expand All @@ -86,8 +71,8 @@

# VARIATIONS
- type: entity
parent: BaseMobCarpExpeditions
id: MobCarpExpeditions
parent: BaseMobCarpExpeditions
components:
- type: Sprite
layers:
Expand All @@ -104,9 +89,9 @@
mouth: ""

- type: entity
parent: BaseMobCarpExpeditions
id: MobCarpMagicExpeditions
name: magicarp
parent: BaseMobCarpExpeditions
description: A lesser version of spaceproof giant carp believed to have magic powers. Contrary to popular belief, does not possess magical abilities.
components:
- type: Sprite
Expand All @@ -115,9 +100,9 @@
proto: guardian

- type: entity
parent: BaseMobCarpExpeditions
id: MobCarpHoloExpeditions
name: holocarp
parent: BaseMobCarpExpeditions
description: Carp made out of holographic energies. Sadly for you, it is very much real.
components:
- type: Sprite
Expand All @@ -138,9 +123,9 @@
proto: robot

- type: entity
parent: BaseMobCarpExpeditions
id: MobCarpRainbowExpeditions
name: rainbow carp
parent: BaseMobCarpExpeditions
description: |-
"Wow such a shiny fishie!" you might say. Reasonable, but these are deadly nonetheless.
components:
Expand All @@ -151,9 +136,9 @@
layers: [ 0 ]

- type: entity
parent: BaseMobCarpExpeditions
id: MobSharkExpeditions
name: sharkminnow
parent: BaseMobCarpExpeditions
description: A dangerous shark from the blackness of endless space, who loves to drink blood.
components:
- type: Sprite
Expand Down Expand Up @@ -185,4 +170,57 @@
damage:
types:
Slash: 7
Bloodloss: 5
Bloodloss: 7

# Snake
- type: entity
id: MobSnakeExpeditions
name: snake
parent: BaseMobCarpExpeditions
description: A small but menacing poisonous snake, distant relative of purple snake from Kepler-283c.
components:
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 100
mask:
- SmallMobMask
layer:
- SmallMobLayer # Should allow snakes to pass under the tables
- type: Sprite
drawdepth: SmallMobs
sprite: _NF/Mobs/Aliens/snake.rsi
- type: RandomSprite
available:
- enum.DamageStateVisualLayers.Base:
alive: Rainbow
enum.DamageStateVisualLayers.BaseUnshaded:
mouth: ""
- type: Butcherable
spawned:
- id: FoodMeatSnake
amount: 4
- type: MeleeWeapon
angle: 0
animation: WeaponArcBite
damage:
types:
Piercing: 3
Slash: 3
Structural: 20
- type: SolutionContainerManager
solutions:
melee:
reagents:
- ReagentId: Toxin
Quantity: 50
- type: MeleeChemicalInjector
solution: melee
- type: SolutionTransfer
maxTransferAmount: 1
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepSnake
Loading

0 comments on commit eb421b9

Please sign in to comment.