Mole and small hydra (#527)

* mobs

* fix sprite

* fix f
This commit is contained in:
Nim
2024-11-03 18:39:33 +02:00
committed by GitHub
parent 53df2848c4
commit 98854c01d7
17 changed files with 435 additions and 44 deletions

View File

@@ -1,3 +1,5 @@
# Undead
- type: entity
name: walking dead spawner
id: CP14SpawnMobUndeadZombie
@@ -14,6 +16,8 @@
prototypes:
- CP14MobUndeadZombie
# Animal
- type: entity
name: rabbit spawner
id: CP14SpawnMobRabbit
@@ -30,22 +34,6 @@
prototypes:
- CP14MobRabbit
- type: entity
name: yumkaraptor spawner
id: CP14SpawnMobDinoYumkaraptor
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Animals/dino.rsi
state: dino
- type: ConditionalSpawner
prototypes:
- CP14MobDinoYumkaraptor
- type: entity
name: pig spawner
id: CP14SpawnMobPig
@@ -77,3 +65,55 @@
- type: ConditionalSpawner
prototypes:
- CP14MobBoar
# Dino
- type: entity
name: yumkaraptor spawner
id: CP14SpawnMobDinoYumkaraptor
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Animals/dino.rsi
state: live
- type: ConditionalSpawner
prototypes:
- CP14MobDinoYumkaraptor
- type: entity
name: small hydra spawner
id: CP14SpawnMobDinoSmallHydra
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Animals/hydra.rsi
state: live
- type: ConditionalSpawner
prototypes:
- CP14MobDinoSmallHydra
# Monster
- type: entity
name: predatory mole spawner
id: CP14SpawnMobMonsterMole
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Monster/mole.rsi
state: live
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterMole

View File

@@ -68,6 +68,7 @@
amount: 1
- type: Bloodstream
bloodMaxVolume: 50
bloodReagent: CP14Blood
- type: InteractionPopup
successChance: 0.5
interactSuccessString: cp14-petting-success-rabbit
@@ -145,6 +146,7 @@
amount: 5
- type: Bloodstream
bloodMaxVolume: 150
bloodReagent: CP14Blood
- type: Grammar
attributes:
gender: epicene

View File

@@ -1,6 +1,43 @@
- type: entity
id: CP14MobDino
parent: SimpleMobBase
name: dino
abstract: true
components:
- type: NpcFactionMember
factions:
- CP14AggressiveAnimals
- type: Sprite
drawdepth: Mobs
- type: ReplacementAccent
accent: xeno
- type: Damageable
damageContainer: Biological
damageModifierSet: CP14Dinosaur
- type: Appearance
- type: Body
prototype: Animal
- type: CombatMode
- type: Stamina
critThreshold: 200
- type: Grammar
attributes:
gender: epicene
- type: DamageStateVisuals
states:
Alive:
Base: live
Dead:
Base: dead
- type: Bloodstream
bloodReagent: CP14Blood
- type: Tag
tags:
- FootstepSound
- type: entity
id: CP14MobDinoYumkaraptor
parent: SimpleMobBase
parent: CP14MobDino
name: yumkaraptor
description: A large scaly lizard, an obvious predator that liked to snack on meat.
categories: [ ForkFiltered ]
@@ -13,15 +50,15 @@
true
NavSmash: !type:Bool
true
- type: NpcFactionMember
factions:
- CP14AggressiveAnimals
VisionRadius: !type:Single
10
AggroVisionRadius: !type:Single
10
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
sprite: _CP14/Mobs/Animals/dino.rsi
state: dino
state: live
- type: Fixtures
fixtures:
fix1:
@@ -33,14 +70,6 @@
- MobMask
layer:
- MobLayer
- type: ReplacementAccent
accent: xeno
- type: Damageable
damageContainer: Biological
damageModifierSet: CP14Dinosaur
- type: Appearance
- type: Body
prototype: Animal
- type: MobThresholds
thresholds:
0: Alive
@@ -48,9 +77,6 @@
- type: SlowOnDamage
speedModifierThresholds:
55: 0.6
- type: Stamina
critThreshold: 200
- type: CombatMode
- type: MeleeWeapon
angle: 0
animation: WeaponArcBite
@@ -64,21 +90,12 @@
baseSprintSpeed: 6
acceleration: 16.0
- type: Climbing
- type: DamageStateVisuals
states:
Alive:
Base: dino
Dead:
Base: dino_dead
- type: Butcherable
spawned:
- id: CP14FoodMeatLamb # to replace the dino meat
amount: 5
- type: Bloodstream
bloodMaxVolume: 200
- type: Grammar
attributes:
gender: epicene
- type: SpamEmitSound
minInterval: 20
maxInterval: 40
@@ -89,3 +106,64 @@
variation: 0.125
- type: SoundWhileAlive
- type: FloorOcclusion
- type: entity
id: CP14MobDinoSmallHydra
parent: CP14MobDino
name: small hydra
description: The small two-headed lizard, despite its size, can be quite dangerous.
categories: [ ForkFiltered ]
components:
- type: HTN
rootTask:
task: SimpleHostileCompound
blackboard:
NavSmash: !type:Bool
true
VisionRadius: !type:Single
10
AggroVisionRadius: !type:Single
10
- type: Sprite
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
sprite: _CP14/Mobs/Animals/hydra.rsi
state: live
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 100
mask:
- MobMask
layer:
- MobLayer
- type: MobThresholds
thresholds:
0: Alive
35: Dead
- type: SlowOnDamage
speedModifierThresholds:
25: 0.6
- type: MeleeWeapon
angle: 0
attackRate: 0.8
animation: WeaponArcBite
damage:
types:
Slash: 2
Piercing: 2
Structural: 1
- type: MovementSpeedModifier
baseWalkSpeed: 4
baseSprintSpeed: 5
acceleration: 16.0
- type: Butcherable
spawned:
- id: CP14FoodMeatLamb # to replace the dino meat
amount: 2
- type: Bloodstream
bloodMaxVolume: 100
- type: SoundWhileAlive

View File

@@ -0,0 +1,135 @@
- type: entity
id: CP14MobMonsterMole
parent: SimpleMobBase
name: predatory mole
description: Hunts in the dark and loves the taste of meat and blood in its mouth.
categories: [ ForkFiltered ]
components:
- type: HTN
rootTask:
task: CP14MonsterCompound
blackboard:
NavSmash: !type:Bool
true
VisionRadius: !type:Single
10
AggroVisionRadius: !type:Single
8
- type: NpcFactionMember
factions:
- CP14Monster
- type: NPCUseActionOnTarget
actionId: CP14ActionMoleSpellSubterraneanLeap
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
sprite: _CP14/Mobs/Monster/mole.rsi
state: live
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 300
mask:
- MobMask
layer:
- MobLayer
- type: ReplacementAccent
accent: xeno
- type: Damageable
damageContainer: Biological
- type: Appearance
- type: Body
prototype: Animal
- type: MobThresholds
thresholds:
0: Alive
80: Dead
- type: SlowOnDamage
speedModifierThresholds:
70: 0.8
- type: Stamina
critThreshold: 200
- type: CombatMode
- type: MeleeWeapon
angle: 0
animation: WeaponArcBite
damage:
types:
Slash: 2
Blunt: 4
Piercing: 4
Structural: 3
- type: MovementSpeedModifier
baseWalkSpeed: 4
baseSprintSpeed: 4
- type: DamageStateVisuals
states:
Alive:
Base: live
Dead:
Base: dead
- type: Butcherable
spawned:
- id: CP14FoodMeatLamb # to replace the other meat
amount: 4
- type: Bloodstream
bloodMaxVolume: 200
bloodReagent: CP14Blood
- type: Grammar
attributes:
gender: epicene
- type: CP14MagicEnergyContainer
magicAlert: CP14MagicEnergy
maxEnergy: 100
energy: 100
- type: CP14MagicEnergyDraw
energy: 2
delay: 4
- type: Tag
tags:
- FootstepSound
- type: entity
id: CP14ActionMoleSpellSubterraneanLeap
name: Subterranean leap
description: Make a subterranean leap, quickly approaching the victim.
components:
- type: CP14MagicEffect
manaCost: 5
telegraphyEffects:
- !type:CP14SpellSpawnEntityOnTarget
spawns:
- CP14ImpactEffectDigging
effects:
- !type:CP14SpellCasterTeleport
- type: CP14MagicEffectCastingVisual
proto: CP14ImpactEffectDigging
- type: EntityWorldTargetAction
useDelay: 5
range: 10
checkCanAccess: false
itemIconStyle: BigAction
sound: !type:SoundPathSpecifier
path: /Audio/Magic/rumble.ogg
icon:
sprite: _CP14/Effects/Magic/spells_icons_monster.rsi
state: subterranean_leap
event: !type:CP14DelayedEntityWorldTargetActionEvent
delay: 1
hidden: true
breakOnMove: false
raiseOnUser: true
- type: entity
id: CP14ImpactEffectDigging
parent: CP14BaseMagicImpact
categories: [ HideSpawnMenu ]
components:
- type: Sprite
sprite: _CP14/Effects/dirt.rsi
layers:
- state: dirt1

View File

@@ -0,0 +1,75 @@
- type: htnCompound
id: CP14MonsterCompound
branches:
- tasks:
- !type:HTNCompoundTask
task: CP14MonsterMeleeCombatPrecondition
- tasks:
- !type:HTNCompoundTask
task: IdleCompound
- type: htnCompound
id: CP14MonsterMeleeCombatPrecondition
branches:
- preconditions:
- !type:BuckledPrecondition
isBuckled: true
tasks:
- !type:HTNPrimitiveTask
operator: !type:UnbuckleOperator
shutdownState: TaskFinished
- preconditions:
- !type:InContainerPrecondition
isInContainer: true
tasks:
- !type:HTNCompoundTask
task: EscapeCompound
- preconditions:
- !type:PulledPrecondition
isPulled: true
tasks:
- !type:HTNPrimitiveTask
operator: !type:UnPullOperator
shutdownState: TaskFinished
- tasks:
- !type:HTNPrimitiveTask
operator: !type:UtilityOperator
proto: NearbyMeleeTargets
- !type:HTNCompoundTask
task: CP14MonsterAttackTargetCompound
- type: htnCompound
id: CP14MonsterAttackTargetCompound
branches:
- preconditions:
- !type:KeyExistsPrecondition
key: Target
tasks:
- !type:HTNPrimitiveTask
operator: !type:MoveToOperator
shutdownState: PlanFinished
pathfindInPlanning: true
removeKeyOnFinish: false
targetKey: TargetCoordinates
pathfindKey: TargetPathfind
rangeKey: MeleeRange
- !type:HTNPrimitiveTask
operator: !type:JukeOperator
jukeType: AdjacentTile
- !type:HTNPrimitiveTask
operator: !type:MeleeOperator
targetKey: Target
preconditions:
- !type:KeyExistsPrecondition
key: Target
- !type:TargetInRangePrecondition
targetKey: Target
rangeKey: MeleeRange
services:
- !type:UtilityService
id: MeleeService
proto: NearbyMeleeTargets
key: Target

View File

@@ -4,6 +4,7 @@
- CP14AggressiveAnimals
- CP14Undead
- CP14HostileEveryone
- CP14Monster
- type: npcFaction
id: CP14HostileEveryone
@@ -12,6 +13,7 @@
- CP14Undead
- CP14PeacefulAnimals
- CP14AggressiveAnimals
- CP14Monster
- type: npcFaction
id: CP14Undead
@@ -30,3 +32,12 @@
- CP14Adventurers
- CP14Undead
- CP14PeacefulAnimals
- CP14Monster
- type: npcFaction
id: CP14Monster
hostile:
- CP14Adventurers
- CP14HostileEveryone
- CP14AggressiveAnimals
- CP14PeacefulAnimals

View File

@@ -0,0 +1,14 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "CLA",
"copyright": "Created by Nimfar11 (github)",
"states": [
{
"name": "subterranean_leap"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 950 B

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -10,12 +10,12 @@
"states":
[
{
"name": "dino",
"name": "live",
"directions": 4
},
{
"name": "dino_dead",
"name": "dead",
"directions": 1
}
]

Binary file not shown.

After

Width:  |  Height:  |  Size: 944 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,18 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"license": "CLA",
"copyright": "Created by jaraten (github/discord)",
"states": [
{
"name": "live",
"directions": 4
},
{
"name": "dead"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,18 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"license": "CLA",
"copyright": "Created by jaraten (github/discord)",
"states": [
{
"name": "live",
"directions": 4
},
{
"name": "dead"
}
]
}