Behonker and Clown Spider (ready for merge) (#16678)
This commit is contained in:
11
Resources/Prototypes/Body/Prototypes/behonker.yml
Normal file
11
Resources/Prototypes/Body/Prototypes/behonker.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
- type: body
|
||||
id: Behonker
|
||||
name: "behonker"
|
||||
root: hand 1
|
||||
slots:
|
||||
hand 1:
|
||||
part: LeftArmBorg
|
||||
connections:
|
||||
- hand 2
|
||||
hand 2:
|
||||
part: LeftArmBorg
|
||||
@@ -493,6 +493,23 @@
|
||||
prototypes:
|
||||
- MobMonkeyPunpun
|
||||
|
||||
- type: entity
|
||||
name: behonker Spawner
|
||||
id: SpawnMobBehonker
|
||||
parent: MarkerBase
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- state: green
|
||||
- state: base
|
||||
sprite: Objects/Weapons/Guns/Battery/behonker_eye.rsi
|
||||
- type: ConditionalSpawner
|
||||
prototypes:
|
||||
- MobBehonkerIce
|
||||
- MobBehonkerPyro
|
||||
- MobBehonkerElectrical
|
||||
- MobBehonkerGrav
|
||||
|
||||
- type: entity
|
||||
name: Monkey Spawner
|
||||
id: SpawnMobMonkey
|
||||
|
||||
@@ -1457,6 +1457,64 @@
|
||||
description: ghost-role-information-giant-spider-description
|
||||
- type: GhostTakeoverAvailable
|
||||
|
||||
- type: entity
|
||||
name: clown spider
|
||||
parent: MobGiantSpider
|
||||
id: MobClownSpider
|
||||
description: Combines the two most terrifying things in existence, spiders and clowns.
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
layers:
|
||||
- map: ["enum.DamageStateVisualLayers.Base"]
|
||||
state: clown
|
||||
sprite: Mobs/Animals/clownspider.rsi
|
||||
- type: Faction
|
||||
factions:
|
||||
- Xeno
|
||||
- type: InputMover
|
||||
- type: MobMover
|
||||
- type: HTN
|
||||
rootTask: SimpleHostileCompound
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: MaterialBananium1
|
||||
amount: 1
|
||||
- type: GhostRole
|
||||
makeSentient: true
|
||||
name: ghost-role-information-giant-spider-name
|
||||
description: ghost-role-information-giant-spider-description
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: clown
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
180: Dead
|
||||
- type: Spider
|
||||
webPrototype: SpiderWebClown
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
- FootstepSound
|
||||
- type: MeleeWeapon
|
||||
hidden: true
|
||||
angle: 0
|
||||
animation: WeaponArcBite
|
||||
soundHit:
|
||||
path: /Audio/Effects/bite.ogg
|
||||
damage:
|
||||
types:
|
||||
Piercing: 8
|
||||
Poison: 6
|
||||
- type: FootstepModifier
|
||||
footstepSoundCollection:
|
||||
collection: FootstepClownFast
|
||||
|
||||
- type: entity
|
||||
name: possum
|
||||
parent: SimpleMobBase
|
||||
|
||||
156
Resources/Prototypes/Entities/Mobs/NPCs/behonker.yml
Normal file
156
Resources/Prototypes/Entities/Mobs/NPCs/behonker.yml
Normal file
@@ -0,0 +1,156 @@
|
||||
- type: entity
|
||||
name: behonker
|
||||
parent: SimpleSpaceMobBase
|
||||
id: BaseMobBehonker
|
||||
abstract: true
|
||||
description: A floating demon aspect of the honkmother.
|
||||
components:
|
||||
- type: GhostRole
|
||||
allowMovement: true
|
||||
makeSentient: true
|
||||
name: ghost-role-information-behonker-name
|
||||
description: ghost-role-information-behonker-description
|
||||
- type: GhostTakeoverAvailable
|
||||
- type: HTN
|
||||
rootTask: SimpleHostileCompound
|
||||
- type: Faction
|
||||
factions:
|
||||
- SimpleHostile
|
||||
- type: Speech
|
||||
- type: CombatMode
|
||||
- type: MobMover
|
||||
- type: InputMover
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed: 3
|
||||
baseSprintSpeed: 5
|
||||
weightlessModifier: 1.5
|
||||
- type: Sprite
|
||||
sprite: Mobs/Demons/behonker.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: alive
|
||||
- type: Appearance
|
||||
- type: DamageStateVisuals
|
||||
states:
|
||||
Alive:
|
||||
Base: alive
|
||||
Dead:
|
||||
Base: dead
|
||||
- type: Physics
|
||||
bodyType: KinematicController
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.40
|
||||
density: 100
|
||||
mask:
|
||||
- FlyingMobMask
|
||||
layer:
|
||||
- FlyingMobLayer
|
||||
- type: MobState
|
||||
- type: InnateTool
|
||||
tools:
|
||||
- id: WeaponBehonkerLaser
|
||||
- id: BikeHorn
|
||||
- type: UserInterface
|
||||
interfaces:
|
||||
- key: enum.StrippingUiKey.Key
|
||||
type: StrippableBoundUserInterface
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
450: Critical
|
||||
500: Dead
|
||||
- type: Metabolizer
|
||||
solutionOnBody: false
|
||||
updateFrequency: 0.25
|
||||
metabolizerTypes: [ Dragon ]
|
||||
groups:
|
||||
- id: Medicine
|
||||
- id: Poison
|
||||
- type: MovementAlwaysTouching
|
||||
- type: NoSlip
|
||||
- type: Butcherable
|
||||
spawned:
|
||||
- id: MaterialBananium1
|
||||
amount: 2
|
||||
- type: MeleeWeapon
|
||||
hidden: true
|
||||
soundHit:
|
||||
path: /Audio/Weapons/Xeno/alien_claw_flesh3.ogg
|
||||
damage:
|
||||
types:
|
||||
Piercing: 10
|
||||
Slash: 10
|
||||
- type: Anomaly
|
||||
pulseSound:
|
||||
collection: BananiumHorn
|
||||
params:
|
||||
volume: 5
|
||||
anomalyContactDamage:
|
||||
types:
|
||||
Radiation: 10
|
||||
- type: Input
|
||||
context: "human"
|
||||
- type: Hands
|
||||
showInHands: false
|
||||
- type: Body
|
||||
prototype: Behonker
|
||||
|
||||
- type: entity
|
||||
name: behonker
|
||||
parent: BaseMobBehonker
|
||||
id: MobBehonkerElectrical
|
||||
suffix: "Pyro"
|
||||
components:
|
||||
- type: PyroclasticAnomaly
|
||||
- type: TempAffectingAnomaly
|
||||
tempChangePerSecond: 25
|
||||
hotspotExposeTemperature: 1000
|
||||
- type: GasProducerAnomaly
|
||||
releasedGas: 3
|
||||
releaseOnMaxSeverity: true
|
||||
|
||||
- type: entity
|
||||
name: behonker
|
||||
parent: BaseMobBehonker
|
||||
id: MobBehonkerPyro
|
||||
suffix: "Electrical"
|
||||
components:
|
||||
- type: ElectricityAnomaly
|
||||
- type: Electrified
|
||||
|
||||
- type: entity
|
||||
name: behonker
|
||||
parent: BaseMobBehonker
|
||||
id: MobBehonkerGrav
|
||||
suffix: "Grav"
|
||||
components:
|
||||
- type: GravityAnomaly
|
||||
|
||||
- type: entity
|
||||
name: behonker
|
||||
parent: BaseMobBehonker
|
||||
id: MobBehonkerIce
|
||||
suffix: "Ice"
|
||||
components:
|
||||
- type: Anomaly
|
||||
anomalyContactDamage:
|
||||
types:
|
||||
Cold: 10
|
||||
- type: ExplosionAnomaly
|
||||
supercriticalExplosion: Cryo
|
||||
explosionTotalIntensity: 1000
|
||||
explosionDropoff: 1
|
||||
explosionMaxTileIntensity: 10
|
||||
- type: ProjectileAnomaly
|
||||
projectilePrototype: ProjectileIcicle
|
||||
targetNonSentientChance: 0.1
|
||||
- type: TempAffectingAnomaly
|
||||
tempChangePerSecond: -25
|
||||
hotspotExposeTemperature: -1000
|
||||
- type: GasProducerAnomaly
|
||||
releasedGas: 8 # Frezon. Please replace if there is a better way to specify this
|
||||
releaseOnMaxSeverity: true
|
||||
@@ -22,9 +22,9 @@
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.SpiderWebVisuals.Variant:
|
||||
spiderWebLayer:
|
||||
1: {state: spider_web_1}
|
||||
2: {state: spider_web_2}
|
||||
spiderWebLayer:
|
||||
1: {state: spider_web_1}
|
||||
2: {state: spider_web_2}
|
||||
- type: Clickable
|
||||
- type: Transform
|
||||
anchored: true
|
||||
@@ -73,3 +73,96 @@
|
||||
ignoreWhitelist:
|
||||
components:
|
||||
- IgnoreSpiderWeb
|
||||
|
||||
- type: entity
|
||||
id: SpiderWebClown
|
||||
name: clown spider web
|
||||
description: It's stringy and slippy.
|
||||
placement:
|
||||
mode: SnapgridCenter
|
||||
snap:
|
||||
- Wall
|
||||
components:
|
||||
- type: MeleeSound
|
||||
soundGroups:
|
||||
Brute:
|
||||
path:
|
||||
"/Audio/Weapons/slash.ogg"
|
||||
- type: Sprite
|
||||
sprite: Objects/Misc/spiderweb.rsi
|
||||
layers:
|
||||
- state: spider_web_clown_1
|
||||
map: ["spiderWebLayer"]
|
||||
drawdepth: WallMountedItems
|
||||
netsync: false
|
||||
- type: Appearance
|
||||
- type: GenericVisualizer
|
||||
visuals:
|
||||
enum.SpiderWebVisuals.Variant:
|
||||
spiderWebLayer:
|
||||
1: {state: spider_web_clown_1}
|
||||
2: {state: spider_web_clown_2}
|
||||
- type: Clickable
|
||||
- type: Transform
|
||||
anchored: true
|
||||
- type: Slippery
|
||||
paralyzeTime: 2
|
||||
launchForwardsMultiplier: 1.5
|
||||
- type: StepTrigger
|
||||
intersectRatio: 0.2
|
||||
- type: Physics
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
slips:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.4,-0.3,0.4,0.3"
|
||||
hard: false
|
||||
layer:
|
||||
- SlipLayer
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeAabb
|
||||
bounds: "-0.4,-0.3,0.4,0.3"
|
||||
density: 1000
|
||||
mask:
|
||||
- ItemMask
|
||||
- type: Damageable
|
||||
damageModifierSet: Wood
|
||||
- type: Destructible
|
||||
thresholds:
|
||||
- trigger:
|
||||
!type:DamageTrigger
|
||||
damage: 10
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Temperature
|
||||
heatDamage:
|
||||
types:
|
||||
Heat: 5
|
||||
coldDamage: {}
|
||||
ColdDamageThreshold: 0
|
||||
- type: Flammable
|
||||
fireSpread: true
|
||||
cold:
|
||||
types: {}
|
||||
damage:
|
||||
types:
|
||||
Heat: 1
|
||||
- type: Reactive
|
||||
groups:
|
||||
Flammable: [Touch]
|
||||
Extinguish: [Touch]
|
||||
- type: SpiderWebObject
|
||||
- type: FlavorProfile
|
||||
flavors:
|
||||
- sweet
|
||||
- type: Food
|
||||
delay: 2
|
||||
- type: SolutionContainerManager
|
||||
solutions:
|
||||
food:
|
||||
reagents:
|
||||
- ReagentId: Sugar
|
||||
Quantity: 2
|
||||
|
||||
@@ -427,3 +427,35 @@
|
||||
- type: Appearance
|
||||
- type: StaticPrice
|
||||
price: 63
|
||||
|
||||
|
||||
- type: entity
|
||||
name: Eye of a behonker
|
||||
parent: BaseWeaponBatterySmall
|
||||
id: WeaponBehonkerLaser
|
||||
description: The eye of a behonker, it fires a laser when squeezed.
|
||||
components:
|
||||
- type: Item
|
||||
size: 30
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/Guns/Battery/behonker_eye.rsi
|
||||
layers:
|
||||
- state: base
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- type: Gun
|
||||
fireRate: 1
|
||||
soundGunshot:
|
||||
path: /Audio/Weapons/Guns/Gunshots/laser_clown.ogg
|
||||
- type: HitscanBatteryAmmoProvider
|
||||
proto: RedMediumLaser
|
||||
fireCost: 100
|
||||
- type: BatterySelfRecharger
|
||||
autoRecharge: true
|
||||
autoRechargeRate: 40
|
||||
- type: MagazineVisuals
|
||||
magState: mag
|
||||
steps: 5
|
||||
zeroVisible: true
|
||||
- type: Appearance
|
||||
- type: StaticPrice
|
||||
price: 750
|
||||
|
||||
@@ -277,6 +277,22 @@
|
||||
amount: 4
|
||||
maxAmount: 8
|
||||
|
||||
- type: entity
|
||||
id: SpiderClownSpawn
|
||||
parent: BaseGameRule
|
||||
noSpawn: true
|
||||
components:
|
||||
- type: StationEvent
|
||||
earliestStart: 20
|
||||
minimumPlayers: 15
|
||||
weight: 2
|
||||
duration: 60
|
||||
- type: VentCrittersRule
|
||||
entries:
|
||||
- id: MobClownSpider
|
||||
amount: 4
|
||||
maxAmount: 8
|
||||
|
||||
- type: entity
|
||||
id: ZombieOutbreak
|
||||
parent: BaseGameRule
|
||||
|
||||
@@ -147,3 +147,9 @@
|
||||
id: FootstepBounce
|
||||
files:
|
||||
- /Audio/Effects/Footsteps/bounce.ogg
|
||||
|
||||
- type: soundCollection
|
||||
id: FootstepClownFast
|
||||
files:
|
||||
- /Audio/Effects/Footsteps/clownspiderstep1.ogg
|
||||
- /Audio/Effects/Footsteps/clownspiderstep2.ogg
|
||||
|
||||
Reference in New Issue
Block a user