Adapted watchers (#1129)

* watcher

* co

* sadly
This commit is contained in:
Nim
2025-04-04 17:30:26 +03:00
committed by GitHub
parent b66ee390a6
commit c91a6c3f59
5 changed files with 190 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ cp14-modifier-slime = slimes
cp14-modifier-skeleton = sentient skeletons
cp14-modifier-dyno = prehistoric fauna
cp14-modifier-mole = predatory moles
cp14-modifier-watcher = watchers
cp14-modifier-rabbits = rabbits
cp14-modifier-boars = wild boars
cp14-modifier-invisible-whistler = invisible whistlers

View File

@@ -16,6 +16,7 @@ cp14-modifier-slime = слаймов
cp14-modifier-skeleton = разумные скелеты
cp14-modifier-dyno = доисторической фауны
cp14-modifier-mole = хищных кротов
cp14-modifier-watcher = наблюдателей
cp14-modifier-rabbits = кроликов
cp14-modifier-boars = диких кабанов
cp14-modifier-sheeps = овец

View File

@@ -46,6 +46,18 @@
Cold: 0.8
Poison: 0.2
- type: damageModifierSet
id: CP14WatcherIce
coefficients:
Heat: 1.4
Cold: 0.2
- type: damageModifierSet
id: CP14WatcherFire
coefficients:
Heat: 0.2
Cold: 1.4
# Species
- type: damageModifierSet

View File

@@ -0,0 +1,138 @@
- type: entity
name: watcher
id: CP14MobWatcherBase
parent: [ CP14SimpleMobNoLifeBase, FlyingMobBase ]
abstract: true
description: It's like it's staring right through you.
categories: [ ForkFiltered ]
components:
- type: NpcFactionMember
factions:
- CP14Monster
- type: HTN
rootTask:
task: SimpleRangedHostileCompound
- type: Sprite
drawdepth: Mobs
sprite: Mobs/Aliens/Lavaland/watcher.rsi
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: base
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: unshaded
shader: unshaded
- type: Fixtures
fixtures:
fix1:
shape:
!type:PhysShapeCircle
radius: 0.30
density: 80
mask:
- FlyingMobMask
layer:
- FlyingMobLayer
- type: DamageStateVisuals
states:
Alive:
Base: base
BaseUnshaded: unshaded
Dead:
Base: dead
BaseUnshaded: dead-unshaded
- type: MobThresholds
thresholds:
0: Alive
50: Dead
- type: MovementSpeedModifier
baseWalkSpeed: 5
baseSprintSpeed: 7
- type: ProjectileBatteryAmmoProvider
proto: WatcherBolt
fireCost: 50
- type: BatterySelfRecharger
autoRecharge: true
autoRechargeRate: 50
- type: Battery
maxCharge: 1000
startingCharge: 1000
- type: Gun
fireRate: 0.5
useKey: false
selectedMode: SemiAuto
availableModes:
- SemiAuto
soundGunshot: /Audio/Weapons/Guns/Gunshots/taser2.ogg
- type: CombatMode
- type: InteractionPopup
successChance: 0.3
interactSuccessString: petting-success-slimes
interactFailureString: petting-failure-generic
interactSuccessSound:
path: /Audio/Animals/lizard_happy.ogg
- type: CP14MagicEnergyContainer
magicAlert: CP14MagicEnergy
maxEnergy: 50
energy: 50
- type: CP14MagicEnergyDraw
energy: 2
delay: 4
- type: entity
id: CP14MobWatcherIce
parent: CP14MobWatcherBase
name: ice watcher
components:
- type: Sprite
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: base
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: unshaded
shader: unshaded
color: deepskyblue
- type: PointLight
radius: 1.5
energy: 1
color: deepskyblue
- type: Damageable
damageContainer: CP14Biological
damageModifierSet: CP14WatcherIce
- type: Butcherable
spawned:
- id: CP14FoodMeatMole
amount: 1
- id: CP14ModularInlayQuartzWater
amount: 1
prob: 0.1
- type: entity
id: CP14MobWatcherMagma
parent: CP14MobWatcherBase
name: magma watcher
components:
- type: Sprite
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: base
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: unshaded
shader: unshaded
color: orangered
- type: PointLight
radius: 1.5
energy: 1
color: orangered
- type: Damageable
damageContainer: CP14Biological
damageModifierSet: CP14WatcherFire
- type: ProjectileBatteryAmmoProvider
proto: WatcherBoltMagmawing
fireCost: 50
- type: Butcherable
spawned:
- id: CP14FoodMeatMole
amount: 1
- id: CP14ModularInlayQuartzFire
amount: 1
prob: 0.1

View File

@@ -205,3 +205,41 @@
count: 3
minGroupSize: 4
maxGroupSize: 5
- type: cp14DemiplaneModifier
id: MobWatcherIce
levels:
min: 1
max: 10
name: cp14-modifier-watcher
categories:
Danger: 0.3
requiredTags:
- CP14DemiplaneCold
blacklistTags:
- CP14DemiplaneHot
layers:
- !type:OreDunGen
entity: CP14MobSlimeBase
count: 2
minGroupSize: 2
maxGroupSize: 3
- type: cp14DemiplaneModifier
id: MobWatcherMagma
levels:
min: 1
max: 10
name: cp14-modifier-watcher
categories:
Danger: 0.3
requiredTags:
- CP14DemiplaneHot
blacklistTags:
- CP14DemiplaneCold
layers:
- !type:OreDunGen
entity: CP14MobSlimeBase
count: 2
minGroupSize: 2
maxGroupSize: 3