This commit is contained in:
Kara
2023-08-26 23:14:57 -07:00
committed by GitHub
parent d40f478fc6
commit 70e0520a2c
12 changed files with 282 additions and 2 deletions

View File

@@ -0,0 +1,149 @@
- type: entity
name: watcher
id: MobWatcherBase
parent: SimpleSpaceMobBase
abstract: true
description: It's like its staring right through you.
components:
- type: NpcFactionMember
factions:
- SimpleHostile
- 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: MovementAlwaysTouching
- type: NoSlip
- 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: entity
id: MobWatcherLavaland
parent: MobWatcherBase
components:
- type: Sprite
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: base
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: unshaded
shader: unshaded
color: red
- type: PointLight
radius: 1.5
energy: 0.5
color: red
- type: entity
id: MobWatcherIcewing
parent: MobWatcherBase
name: icewing 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: entity
id: MobWatcherMagmawing
parent: MobWatcherBase
name: magmawing 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: ProjectileBatteryAmmoProvider
proto: WatcherBoltMagmawing
fireCost: 50
- type: entity
id: MobWatcherPride
parent: MobWatcherBase
name: pride watcher
suffix: ADMEME
description: This rare subspecies only appears in June.
components:
- type: Sprite
layers:
- map: [ "enum.DamageStateVisualLayers.Base" ]
state: base
- map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
state: unshaded
shader: unshaded
- type: PointLight
radius: 1.5
energy: 1
- type: RgbLightController
layers: [ 1 ]

View File

@@ -34,6 +34,25 @@
tags:
- HideContextMenu
- type: entity
id: BulletImpactEffectOrangeDisabler
noSpawn: true
components:
- type: TimedDespawn
lifetime: 0.2
- type: Sprite
drawdepth: Effects
layers:
- shader: unshaded
map: ["enum.EffectLayers.Unshaded"]
sprite: Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi
state: impact_laser_greyscale
color: orangered
- type: EffectVisuals
- type: Tag
tags:
- HideContextMenu
- type: entity
id: BulletImpactEffectKinetic
noSpawn: true

View File

@@ -278,7 +278,6 @@
noSpawn: true
components:
- type: Sprite
color: "#ffff33"
sprite: Structures/Power/Generation/Singularity/emitter.rsi
layers:
- state: projectile
@@ -307,6 +306,65 @@
- type: TimedDespawn
lifetime: 3
- type: entity
name: watcher bolt
id: WatcherBolt
parent: BaseBullet
noSpawn: true
components:
- type: FlyBySound
sound:
collection: EnergyMiss
params:
volume: 5
- type: Sprite
sprite: Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi
layers:
- state: omnilaser
shader: unshaded
- type: Ammo
muzzleFlash: null
- type: Physics
- type: Fixtures
fixtures:
projectile:
shape:
!type:PhysShapeAabb
bounds: "-0.2,-0.2,0.2,0.2"
hard: false
mask:
- Opaque
fly-by: *flybyfixture
- type: StaminaDamageOnCollide
damage: 40
- type: Projectile
# soundHit: Waiting on serv3
impactEffect: BulletImpactEffectDisabler
damage:
types:
Cold: 10
- type: TimedDespawn
lifetime: 3
- type: entity
name: magmawing watcher bolt
id: WatcherBoltMagmawing
parent: BaseBullet
noSpawn: true
components:
- type: Sprite
sprite: Objects/Weapons/Guns/Projectiles/projectiles_tg.rsi
layers:
- state: omnilaser_greyscale
shader: unshaded
color: orangered
- type: Projectile
# soundHit: Waiting on serv3
impactEffect: BulletImpactEffectOrangeDisabler
damage:
types:
Heat: 10
- type: entity
id: BulletKinetic
name: kinetic bolt
@@ -450,7 +508,7 @@
shader: unshaded
- type: AnomalousParticle
particleType: Zeta
- type: entity
parent: AnomalousParticleZeta
id: AnomalousParticleZetaStrong

View File

@@ -3,6 +3,21 @@
proto: MobLizard
groupCount: 5
- type: biomeMarkerLayer
id: WatchersLavaland
proto: MobWatcherLavaland
groupCount: 3
- type: biomeMarkerLayer
id: WatchersIcewing
proto: MobWatcherIcewing
groupCount: 3
- type: biomeMarkerLayer
id: WatchersMagmawing
proto: MobWatcherMagmawing
groupCount: 3
# TODO: Needs to be more robust
- type: biomeMarkerLayer
id: Xenos