Mosquitoes (#593)

* mos

* more fix

* spawner

* balance review

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Ed <edwardxperia2000@gmail.com>
This commit is contained in:
Nim
2024-11-24 14:22:35 +02:00
committed by GitHub
parent dbc2fd689a
commit b72c2bfb7b
13 changed files with 287 additions and 0 deletions

View File

@@ -47,3 +47,13 @@
license: "CC-BY-4.0"
copyright: 'by GreatNate98 of Freesound.org. Cropped and mixed from stereo to mono.'
source: "https://freesound.org/people/GreatNate98/sounds/586547/"
- files: ["swarm.ogg"]
license: "CC0-1.0"
copyright: 'by bruno.auzet of Freesound.org. Cropped and mixed from stereo to mono.'
source: "https://freesound.org/people/bruno.auzet/sounds/578267/"
- files: ["swarm_hit.ogg"]
license: "CC0-1.0"
copyright: 'by egomassive of Freesound.org.'
source: "https://freesound.org/people/egomassive/sounds/536728/"

Binary file not shown.

Binary file not shown.

View File

@@ -35,3 +35,13 @@
Heat: 0.8
Cold: 1.4
Poison: 0.8
- type: damageModifierSet
id: CP14LittleInsects
coefficients:
Blunt: 0.0
Slash: 0.0
Piercing: 0.0
Heat: 1.3
Cold: 0.8
Poison: 0.2

View File

@@ -134,3 +134,19 @@
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterMole
- type: entity
name: bloodworm mosquitoes spawner
id: CP14SpawnMobMonsterMosquito
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Monster/mosquito.rsi
state: mosquitos
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterMosquito

View File

@@ -92,6 +92,7 @@
- type: Tag
tags:
- FootstepSound
- CP14Mosquito
- type: StealTarget
stealGroup: CP14Mole
@@ -140,3 +141,85 @@
sprite: _CP14/Effects/dirt.rsi
layers:
- state: dirt1
- type: entity
id: CP14MobMonsterMosquito
parent: [ SimpleMobBase, FlyingMobBase ]
name: bloodworm mosquitoes
description: A bloodthirsty swarm of small mosquitoes just waiting for a soft flesh for a bloody feast.
categories: [ ForkFiltered ]
components:
- type: HTN
rootTask:
task: CP14ApproachEnemyCompound
blackboard:
VisionRadius: !type:Single
8
AggroVisionRadius: !type:Single
7
- type: NpcFactionMember
factions:
- CP14Monster
- type: Sprite
drawdepth: Mobs
layers:
- sprite: _CP14/Mobs/Monster/mosquito.rsi
state: mosquitos
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.70
density: 5
mask:
- FlyingMobMask
layer:
- FlyingMobLayer
- Opaque
- type: ReplacementAccent
accent: xeno
- type: Damageable
damageContainer: Biological
damageModifierSet: CP14LittleInsects
- type: Appearance
- type: Stamina
critThreshold: 50
- type: DamageContacts
damage:
types:
Piercing: 1
Bloodloss: 1
ignoreWhitelist:
tags:
- CP14Mosquito
- type: SpeedModifierContacts
walkSpeedModifier: 0.9
sprintSpeedModifier: 0.9
ignoreWhitelist:
tags:
- CP14Mosquito
- type: MovementIgnoreGravity
- type: MovementSpeedModifier
baseWalkSpeed: 2
baseSprintSpeed: 2
friction: 0.5
acceleration: 3
- type: AmbientSound
volume: -1
range: 6
sound:
path: /Audio/_CP14/Animals/swarm.ogg
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 50
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- type: MeleeSound
soundGroups:
Burn:
path: /Audio/_CP14/Animals/swarm_hit.ogg

View File

@@ -138,6 +138,9 @@
- type: InventorySlots
- type: ContainerContainer
- type: FloorOcclusion
- type: Tag
tags:
- CP14Mosquito
- type: Inventory
templateId: CP14Partial
femaleDisplacements:

View File

@@ -0,0 +1,63 @@
- type: htnCompound
id: CP14ApproachEnemyCompound
branches:
- tasks:
- !type:HTNCompoundTask
task: CP14ApproachEnemyCombatCompound
- tasks:
- !type:HTNCompoundTask
task: IdleCompound
- type: htnCompound
id: CP14ApproachEnemyCombatCompound
branches:
- tasks:
- !type:HTNPrimitiveTask
operator: !type:UtilityOperator
proto: NearbyMeleeTargets
- !type:HTNCompoundTask
task: CP14ApproachEnemyTargetCompound
- type: htnCompound
id: CP14ApproachEnemyTargetCompound
branches:
- preconditions:
- !type:PulledPrecondition
isPulled: true
tasks:
- !type:HTNPrimitiveTask
operator: !type:UnPullOperator
shutdownState: TaskFinished
- tasks:
- !type:HTNCompoundTask
task: CP14MeleeApproachEnemyTargetCompound
- type: htnCompound
id: CP14MeleeApproachEnemyTargetCompound
branches:
- preconditions:
- !type:KeyExistsPrecondition
key: Target
tasks:
- !type:HTNPrimitiveTask
operator: !type:MoveToOperator
pathfindInPlanning: true
removeKeyOnFinish: false
targetKey: TargetCoordinates
pathfindKey: TargetPathfind
rangeKey: MeleeRange
- !type:HTNPrimitiveTask
operator: !type:InteractWithOperator
targetKey: Target
preconditions:
- !type:KeyExistsPrecondition
key: Target
- !type:TargetInRangePrecondition
targetKey: Target
rangeKey: InteractRange
services:
- !type:UtilityService
id: MeleeService
proto: NearbyMeleeTargets
key: Target

View File

@@ -0,0 +1,64 @@
- type: htnCompound
id: CP14JustAttackingHostileCompound
branches:
- tasks:
- !type:HTNCompoundTask
task: CP14MeleeClingCombatCompound
- tasks:
- !type:HTNCompoundTask
task: IdleCompound
- type: htnCompound
id: CP14MeleeClingCombatCompound
branches:
- tasks:
- !type:HTNPrimitiveTask
operator: !type:UtilityOperator
proto: NearbyMeleeTargets
- !type:HTNCompoundTask
task: CP14BeforeMeleeAttackTargetCompound
- type: htnCompound
id: CP14BeforeMeleeAttackTargetCompound
branches:
- preconditions:
- !type:PulledPrecondition
isPulled: true
tasks:
- !type:HTNPrimitiveTask
operator: !type:UnPullOperator
shutdownState: TaskFinished
- tasks:
- !type:HTNCompoundTask
task: CP14MeleeAttackNotRetreatingTargetCompound
- type: htnCompound
id: CP14MeleeAttackNotRetreatingTargetCompound
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: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

@@ -366,6 +366,19 @@
minGroupSize: 2
maxGroupSize: 3
- type: cp14DemiplaneModifier
id: MonsterMosquito
name: cp14-modifier-dyno
difficulty: 0.5
requiredTags:
- CP14DemiplaneGrass
layers:
- !type:OreDunGen
entity: CP14SpawnMobMonsterMosquito
count: 4
minGroupSize: 2
maxGroupSize: 3
- type: cp14DemiplaneModifier
id: EnemyMole
name: cp14-modifier-mole

View File

@@ -60,3 +60,6 @@
- type: Tag
id: CP14Wheat
- type: Tag
id: CP14Mosquito

View File

@@ -0,0 +1,22 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"license": "CLA",
"copyright": "Created by Nimfar11 (github)",
"states": [
{
"name": "mosquitos",
"delays": [
[
0.1,
0.1,
0.1,
0.1
]
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B