Invisible whistler (#941)

* invisible whistler

* Parts

* spike

* flavor

* flavor

* filter

* sprite

* demiplan
This commit is contained in:
Nim
2025-02-27 13:02:30 +02:00
committed by GitHub
parent 5524e029f4
commit 15d9657139
20 changed files with 314 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ cp14-modifier-dyno = prehistoric fauna
cp14-modifier-mole = predatory moles
cp14-modifier-rabbits = rabbits
cp14-modifier-boars = wild boars
cp14-modifier-invisible-whistler = invisible whistlers
cp14-modifier-chasm = bottomless chasms
cp14-modifier-air-lily = air lilies
cp14-modifier-time-limit-10 = temporary disintegration (10 minutes)

View File

@@ -6,6 +6,7 @@ cp14-flavor-base-bitterly = bitter
cp14-flavor-base-sweetly = sweet
cp14-flavor-base-stinging = stinging
cp14-flavor-base-magic = magical
cp14-flavor-base-very-sweet = very sweet
# Complex

View File

@@ -30,3 +30,6 @@ cp14-reagent-desc-lumi-shroom = A faintly shimmering slurry extracted from lumig
cp14-reagent-name-wild-sage-sap = Wild sage juice
cp14-reagent-desc-wild-sage-sap = Juice of a ubiquitous medicinal plant, not bad at healing physical injuries, and inducing coughing.
cp14-reagent-name-sleepy-poison = Sleepy poison
cp14-reagent-desc-sleepy-poison = A poison secreted by dangerous magical monsters to quickly put their victim to sleep.

View File

@@ -17,6 +17,7 @@ cp14-modifier-dyno = доисторической фауны
cp14-modifier-mole = хищных кротов
cp14-modifier-rabbits = кроликов
cp14-modifier-boars = диких кабанов
cp14-modifier-invisible-whistler = невидимых свистунов
cp14-modifier-chasm = бездонных пропастей
cp14-modifier-air-lily = воздушных лилий
cp14-modifier-time-limit-10 = временного распада (10 минут)

View File

@@ -6,6 +6,7 @@ cp14-flavor-base-bitterly = горько
cp14-flavor-base-sweetly = сладко
cp14-flavor-base-stinging = жгущее
cp14-flavor-base-magic = волшебно
cp14-flavor-base-very-sweet = очень сладко
# Complex

View File

@@ -30,3 +30,6 @@ cp14-reagent-desc-lumi-shroom = Слабо мерцающая жижа, добы
cp14-reagent-name-wild-sage-sap = Сок дикого шалфея
cp14-reagent-desc-wild-sage-sap = Сок вездерастущего лечебного растения, неплохо заживляющий физические травмы, и вызывающий откашливание.
cp14-reagent-name-sleepy-poison = Сонный яд
cp14-reagent-desc-sleepy-poison = Яд, выделяемый опасными магическими монстрами, чтобы быстро усыпить свою жертву.

View File

@@ -156,3 +156,19 @@
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterMosquito
- type: entity
name: invisible whistler spawner
id: CP14SpawnMobMonsterInvisibleWhistler
parent: MarkerBase
categories: [ ForkFiltered ]
components:
- type: Sprite
layers:
- sprite: Markers/cross.rsi
state: green
- sprite: _CP14/Mobs/Monster/invisible_whistler.rsi
state: live
- type: ConditionalSpawner
prototypes:
- CP14MobMonsterInvisibleWhistler

View File

@@ -0,0 +1,117 @@
- type: entity
id: CP14MobMonsterInvisibleWhistler
parent: SimpleMobBase
name: invisible whistler
description: A monster invisible to the ordinary eye, adoring to devour victims consumed by fear and misunderstanding.
categories: [ ForkFiltered ]
components:
- type: HTN
rootTask:
task: SimpleRangedHostileCompound
blackboard:
NavSmash: !type:Bool
true
VisionRadius: !type:Single
14
AggroVisionRadius: !type:Single
12
- type: NpcFactionMember
factions:
- CP14Monster
- type: Sprite
drawdepth: Mobs
layers:
- map: ["enum.DamageStateVisualLayers.Base"]
sprite: _CP14/Mobs/Monster/invisible_whistler.rsi #Temporary monster sprite, you need your own
state: live
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.35
density: 300
mask:
- MobMask
layer:
- MobLayer
- type: ReplacementAccent
accent: xeno
- type: CombatMode
- type: MeleeWeapon
angle: 0
animation: WeaponArcBite
damage:
types:
Piercing: 6
Structural: 3
- type: Damageable
damageContainer: Biological
- type: Appearance
- type: Body
prototype: Animal
- type: MobThresholds
thresholds:
0: Alive
40: Dead
- type: SlowOnDamage
speedModifierThresholds:
35: 0.8
- type: Stamina
critThreshold: 200
- type: MovementSpeedModifier
baseWalkSpeed: 2.8
baseSprintSpeed: 2.8
- type: DamageStateVisuals
states:
Alive:
Base: live
Dead:
Base: dead
- type: Butcherable
spawned:
- id: CP14FoodMeatMole
amount: 3
- id: CP14PartsMonsterGlands
amount: 1
prob: 0.7
- type: Bloodstream
bloodMaxVolume: 200
bloodReagent: CP14Blood
- type: Grammar
attributes:
gender: epicene
- type: BasicEntityAmmoProvider
proto: CP14SpikeWhistle
capacity: 1
count: 1
- type: RechargeBasicEntityAmmo
showExamineText: false
rechargeSound: null
rechargeCooldown: 0.25
- type: Gun
fireRate: 0.3
useKey: false
showExamineText: false
selectedMode: FullAuto
availableModes:
- FullAuto
soundGunshot:
collection: Whistles
- type: Stealth
enabledOnDeath: false
maxVisibility: 1.2
- type: StealthOnMove
passiveVisibilityRate: -0.40
movementVisibilityRate: 0.10
- type: CP14MagicCasterSlowdown
- type: CP14MagicEnergyContainer
magicAlert: CP14MagicEnergy
maxEnergy: 50
energy: 50
- type: CP14MagicEnergyDraw
energy: 2
delay: 4
- type: Tag
tags:
- CP14Mosquito

View File

@@ -0,0 +1,29 @@
- type: entity
parent: FoodInjectableBase
id: CP14PartsMonsterGlands
name: venom glands
description: The venom glands of a dangerous monster, maybe there's something left in them.
categories: [ ForkFiltered ]
components:
- type: FlavorProfile
flavors:
- meaty
- minty
- type: Food
forceFeedDelay: 1
transferAmount: null
- type: BadFood
- type: Sprite
sprite: _CP14/Objects/Misc/venom_glands.rsi
state: glands
- type: Item
size: Tiny
- type: SolutionContainerManager
solutions:
food:
maxVol: 15
reagents:
- ReagentId: CP14SleepyPoison
Quantity: 15
- type: Extractable
grindableSolutionName: food

View File

@@ -0,0 +1,48 @@
- type: entity
parent: Dart
id: CP14SpikeWhistle
name: spike
description: Organically spiked with an unknown liquid inside.
categories: [ ForkFiltered ]
components:
- type: Sprite
sprite: _CP14/Objects/Weapons/Ranged/Projectiles/spike.rsi
state: spike
- type: DamageOtherOnHit
damage:
types:
Piercing: 2
- type: SolutionContainerManager
solutions:
melee:
maxVol: 4
reagents:
- ReagentId: CP14SleepyPoison
Quantity: 4
- type: SolutionInjectOnEmbed
transferAmount: 4
blockSlots: NONE
solution: melee
- type: SolutionTransfer
maxTransferAmount: 4
- type: TimedDespawn
lifetime: 20
- type: Ammo
muzzleFlash: null
- type: Destructible
thresholds:
- trigger:
!type:DamageTrigger
damage: 30
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- trigger:
!type:DamageTrigger
damage: 20
behaviors:
- !type:PlaySoundBehavior
sound:
collection: GlassBreak
- !type:DoActsBehavior
acts: [ "Destruction" ]

View File

@@ -35,6 +35,11 @@
flavorType: Base
description: cp14-flavor-base-salt
- type: flavor
id: CP14VerySweet
flavorType: Base
description: cp14-flavor-base-very-sweet
# Complex
- type: flavor

View File

@@ -114,4 +114,20 @@
entity: CP14MobIceSpectre
count: 6
minGroupSize: 1
maxGroupSize: 2
maxGroupSize: 2
- type: cp14DemiplaneModifier
id: EnemyInvisibleWhistler
tiers:
- 2
name: cp14-modifier-invisible-whistler
categories:
Danger: 0.4
requiredTags:
- CP14DemiplaneUnderground
layers:
- !type:OreDunGen
entity: CP14MobMonsterInvisibleWhistler
count: 2
minGroupSize: 1
maxGroupSize: 2

View File

@@ -0,0 +1,26 @@
# Poison
- type: reagent
id: CP14SleepyPoison
group: CP14Biological
name: cp14-reagent-name-sleepy-poison
desc: cp14-reagent-desc-sleepy-poison
flavor: CP14VerySweet
color: "#6bb4bf"
physicalDesc: reagent-physical-desc-powdery
metabolisms:
Narcotic:
effects:
- !type:Emote
emote: Yawn
showInChat: true
probability: 0.2
- !type:GenericStatusEffect
conditions:
- !type:ReagentThreshold
reagent: CP14SleepyPoison
min: 8
key: ForcedSleep
component: ForcedSleeping
refresh: false
type: Add

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@@ -0,0 +1,18 @@
{
"version": 1,
"size": {
"x": 48,
"y": 48
},
"license": "All right reserved",
"copyright": "Created by Nimfar11 (github)",
"states": [
{
"name": "live",
"directions": 4
},
{
"name": "dead"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 B

View File

@@ -0,0 +1,14 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "All right reserved",
"copyright": "Created by Nimfar11",
"states": [
{
"name": "glands"
}
]
}

View File

@@ -0,0 +1,14 @@
{
"version": 1,
"size": {
"x": 32,
"y": 32
},
"license": "All right reserved",
"copyright": "Created by Nimfar11",
"states": [
{
"name": "spike"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B