Watchers (#19367)
This commit is contained in:
149
Resources/Prototypes/Entities/Mobs/NPCs/lavaland.yml
Normal file
149
Resources/Prototypes/Entities/Mobs/NPCs/lavaland.yml
Normal 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 ]
|
||||||
@@ -34,6 +34,25 @@
|
|||||||
tags:
|
tags:
|
||||||
- HideContextMenu
|
- 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
|
- type: entity
|
||||||
id: BulletImpactEffectKinetic
|
id: BulletImpactEffectKinetic
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
|
|||||||
@@ -278,7 +278,6 @@
|
|||||||
noSpawn: true
|
noSpawn: true
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
color: "#ffff33"
|
|
||||||
sprite: Structures/Power/Generation/Singularity/emitter.rsi
|
sprite: Structures/Power/Generation/Singularity/emitter.rsi
|
||||||
layers:
|
layers:
|
||||||
- state: projectile
|
- state: projectile
|
||||||
@@ -307,6 +306,65 @@
|
|||||||
- type: TimedDespawn
|
- type: TimedDespawn
|
||||||
lifetime: 3
|
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
|
- type: entity
|
||||||
id: BulletKinetic
|
id: BulletKinetic
|
||||||
name: kinetic bolt
|
name: kinetic bolt
|
||||||
@@ -450,7 +508,7 @@
|
|||||||
shader: unshaded
|
shader: unshaded
|
||||||
- type: AnomalousParticle
|
- type: AnomalousParticle
|
||||||
particleType: Zeta
|
particleType: Zeta
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
parent: AnomalousParticleZeta
|
parent: AnomalousParticleZeta
|
||||||
id: AnomalousParticleZetaStrong
|
id: AnomalousParticleZetaStrong
|
||||||
|
|||||||
@@ -3,6 +3,21 @@
|
|||||||
proto: MobLizard
|
proto: MobLizard
|
||||||
groupCount: 5
|
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
|
# TODO: Needs to be more robust
|
||||||
- type: biomeMarkerLayer
|
- type: biomeMarkerLayer
|
||||||
id: Xenos
|
id: Xenos
|
||||||
|
|||||||
BIN
Resources/Textures/Mobs/Aliens/Lavaland/watcher.rsi/base.png
Normal file
BIN
Resources/Textures/Mobs/Aliens/Lavaland/watcher.rsi/base.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 715 B |
BIN
Resources/Textures/Mobs/Aliens/Lavaland/watcher.rsi/dead.png
Normal file
BIN
Resources/Textures/Mobs/Aliens/Lavaland/watcher.rsi/dead.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 466 B |
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"version": 1,
|
||||||
|
"license": "CC-BY-SA-3.0",
|
||||||
|
"copyright": "Taken from Citadel Station 13 at https://github.com/Citadel-Station-13/Citadel-Station-13/blob/a36c4fd163b1f36a3aaf766e32183ccb6304a561/icons/mob/lavaland/watcher.dmi. Cut into layers/modified by mirrorcult for SS14",
|
||||||
|
"size": {
|
||||||
|
"x": 54,
|
||||||
|
"y": 32
|
||||||
|
},
|
||||||
|
"states": [
|
||||||
|
{
|
||||||
|
"name": "base",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "unshaded",
|
||||||
|
"directions": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dead"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dead-unshaded"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
Resources/Textures/Mobs/Aliens/Lavaland/watcher.rsi/unshaded.png
Normal file
BIN
Resources/Textures/Mobs/Aliens/Lavaland/watcher.rsi/unshaded.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 951 B |
@@ -10,6 +10,9 @@
|
|||||||
{
|
{
|
||||||
"name": "omnilaser"
|
"name": "omnilaser"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "omnilaser_greyscale"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "impact_bullet",
|
"name": "impact_bullet",
|
||||||
"delays": [
|
"delays": [
|
||||||
@@ -32,6 +35,17 @@
|
|||||||
0.05
|
0.05
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "impact_laser_greyscale",
|
||||||
|
"delays": [
|
||||||
|
[
|
||||||
|
0.05,
|
||||||
|
0.05,
|
||||||
|
0.05,
|
||||||
|
0.05
|
||||||
|
]
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 333 B |
Reference in New Issue
Block a user