Add hivebots (#37275)
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
123
Resources/Prototypes/Entities/Mobs/NPCs/hivebot.yml
Normal file
@@ -0,0 +1,123 @@
|
||||
# Base hivebot
|
||||
- type: entity
|
||||
parent: [ BaseSimpleMob, MobCombat, MobRobotic ]
|
||||
id: MobHivebot
|
||||
name: hivebot
|
||||
description: Agitating, mechanized pests.
|
||||
components:
|
||||
- type: Sprite
|
||||
drawdepth: Mobs
|
||||
sprite: Mobs/Aliens/hivebot.rsi
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: basic_attack
|
||||
- type: HTN
|
||||
rootTask:
|
||||
task: SimpleHostileCompound
|
||||
blackboard:
|
||||
NavSmash: !type:Bool
|
||||
true
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- SimpleHostile
|
||||
- type: Fixtures
|
||||
fixtures:
|
||||
fix1:
|
||||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 0.50
|
||||
density: 80
|
||||
mask:
|
||||
- MobMask
|
||||
layer:
|
||||
- MobLayer
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
20: Dead
|
||||
stateAlertDict:
|
||||
Alive: BorgHealth
|
||||
Dead: BorgDead
|
||||
showOverlays: false
|
||||
- type: SlowOnDamage
|
||||
speedModifierThresholds:
|
||||
10: 0.7
|
||||
- type: MeleeWeapon
|
||||
altDisarm: false
|
||||
angle: 0
|
||||
soundHit:
|
||||
path: /Audio/Weapons/bladeslice.ogg
|
||||
animation: WeaponArcClaw
|
||||
damage:
|
||||
types:
|
||||
Slash: 6 # Pretty whatever on their own, but their strength is in numbers
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
- Unimplantable
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed: 1.5
|
||||
baseSprintSpeed: 2.5
|
||||
# Doesn't seem to work for some reason?
|
||||
# - type: PointLight
|
||||
# radius: 1.0
|
||||
# energy: 1
|
||||
# castShadows: false
|
||||
# color: "#bc5858"
|
||||
- type: RotationVisuals
|
||||
horizontalRotation: 90
|
||||
- type: Speech
|
||||
speechVerb: Robotic
|
||||
speechSounds: Borg
|
||||
|
||||
- type: entity
|
||||
parent: MobHivebot
|
||||
id: MobHivebotRanged
|
||||
name: hivebot
|
||||
suffix: Ranged
|
||||
description: Agitating, mechanized pests. This one has a gun.
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: ranged_attack
|
||||
- type: HTN
|
||||
rootTask:
|
||||
task: SimpleRangedHostileCompound
|
||||
- type: RechargeBasicEntityAmmo
|
||||
rechargeCooldown: 0.50
|
||||
- type: BasicEntityAmmoProvider
|
||||
proto: BulletHivebot
|
||||
capacity: 1
|
||||
count: 1
|
||||
- type: Gun
|
||||
fireRate: 0.50
|
||||
useKey: false
|
||||
selectedMode: FullAuto
|
||||
availableModes:
|
||||
- FullAuto
|
||||
soundGunshot: /Audio/Weapons/Guns/Gunshots/smg.ogg
|
||||
- type: MovementSpeedModifier #Slower then normal to make them easier to hit
|
||||
baseWalkSpeed: 1
|
||||
baseSprintSpeed: 2
|
||||
|
||||
- type: entity
|
||||
parent: MobHivebotRanged
|
||||
id: MobHivebotStrong
|
||||
name: strong hivebot
|
||||
description: Agitating, mechanized pests. This one looks much stronger then normal.
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
- map: [ "enum.DamageStateVisualLayers.Base" ]
|
||||
state: strong_attack
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
60: Dead
|
||||
- type: MovementSpeedModifier #Even slower then the ranged variant, to make them even easier to hit
|
||||
baseWalkSpeed: 0.75
|
||||
baseSprintSpeed: 1.75
|
||||
- type: SlowOnDamage
|
||||
speedModifierThresholds:
|
||||
25: 0.7
|
||||
@@ -1,17 +1,67 @@
|
||||
# Used for generic robotic entities (like Hivelords)
|
||||
- type: entity
|
||||
save: false
|
||||
abstract: true
|
||||
parent: BaseMob
|
||||
id: MobSiliconBase
|
||||
id: MobRobotic
|
||||
components:
|
||||
- type: Reactive
|
||||
groups:
|
||||
Acidic: [Touch]
|
||||
- type: Damageable
|
||||
damageContainer: Inorganic
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed : 3
|
||||
baseSprintSpeed : 4
|
||||
- type: MovedByPressure
|
||||
- type: Physics
|
||||
bodyType: KinematicController # Same for all inheritors
|
||||
- type: StatusEffects
|
||||
allowed:
|
||||
- Stun
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- Electrocution
|
||||
- type: Repairable
|
||||
doAfterDelay: 8
|
||||
fuelCost: 15
|
||||
- type: Pullable
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
- SiliconEmotes
|
||||
- Unimplantable
|
||||
- type: MobState
|
||||
allowedStates:
|
||||
- Alive
|
||||
- Dead
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
120: Dead
|
||||
stateAlertDict:
|
||||
Alive: BorgHealth
|
||||
Dead: BorgDead
|
||||
showOverlays: false
|
||||
- type: Speech
|
||||
speechVerb: Robotic
|
||||
speechSounds: Borg
|
||||
- type: TypingIndicator
|
||||
proto: robot
|
||||
- type: Vocal
|
||||
sounds:
|
||||
Unsexed: UnisexSilicon
|
||||
- type: Emoting
|
||||
- type: ZombieImmune
|
||||
- type: ProtectedFromStepTriggers
|
||||
- type: NoSlip
|
||||
- type: Insulated
|
||||
|
||||
# Used for bots
|
||||
- type: entity
|
||||
save: false
|
||||
abstract: true
|
||||
parent: MobRobotic
|
||||
id: MobSiliconBase
|
||||
components:
|
||||
- type: NpcFactionMember
|
||||
factions:
|
||||
- SimpleNeutral
|
||||
@@ -30,40 +80,11 @@
|
||||
- Heat
|
||||
- Shock
|
||||
locPrefix: silicon
|
||||
- type: MovedByPressure
|
||||
- type: Physics
|
||||
bodyType: KinematicController # Same for all inheritors
|
||||
- type: StatusEffects
|
||||
allowed:
|
||||
- Stun
|
||||
- KnockedDown
|
||||
- SlowedDown
|
||||
- Stutter
|
||||
- Electrocution
|
||||
- type: NameIdentifier
|
||||
group: Silicon
|
||||
- type: Repairable
|
||||
doAfterDelay: 8
|
||||
fuelCost: 15
|
||||
- type: Pullable
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
- SiliconEmotes
|
||||
- Bot
|
||||
- Unimplantable
|
||||
- type: MobState
|
||||
allowedStates:
|
||||
- Alive
|
||||
- Dead
|
||||
- type: MobThresholds
|
||||
thresholds:
|
||||
0: Alive
|
||||
120: Dead
|
||||
stateAlertDict:
|
||||
Alive: BorgHealth
|
||||
Dead: BorgDead
|
||||
showOverlays: false
|
||||
- type: MovementSpeedModifier
|
||||
baseWalkSpeed : 3
|
||||
baseSprintSpeed : 4
|
||||
- type: Stamina
|
||||
critThreshold: 120
|
||||
- type: Destructible
|
||||
@@ -79,24 +100,20 @@
|
||||
behaviors:
|
||||
- !type:DoActsBehavior
|
||||
acts: [ "Destruction" ]
|
||||
- type: Body
|
||||
prototype: Bot
|
||||
- type: GuideHelp
|
||||
guides:
|
||||
- Robotics
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
- SiliconEmotes
|
||||
- Bot
|
||||
- Unimplantable
|
||||
- type: Body
|
||||
prototype: Bot
|
||||
- type: Speech
|
||||
speechVerb: Robotic
|
||||
speechSounds: Pai #couldn't decide if this should be borg or pai sounds so I flipped a coin.
|
||||
- type: TypingIndicator
|
||||
proto: robot
|
||||
- type: Vocal
|
||||
sounds:
|
||||
Unsexed: UnisexSilicon
|
||||
- type: Emoting
|
||||
- type: ZombieImmune
|
||||
- type: ProtectedFromStepTriggers
|
||||
- type: NoSlip
|
||||
- type: Insulated
|
||||
|
||||
- type: entity
|
||||
parent: MobSiliconBase
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
- BaseMob
|
||||
- MobDamageable
|
||||
- MobPolymorphable
|
||||
- MobAtmosExposed
|
||||
id: BaseSimpleMob
|
||||
suffix: AI
|
||||
abstract: true
|
||||
@@ -40,6 +39,7 @@
|
||||
abstract: true
|
||||
parent:
|
||||
- BaseSimpleMob
|
||||
- MobAtmosExposed
|
||||
- MobCombat
|
||||
- MobBloodstream
|
||||
- MobFlammable
|
||||
|
||||
@@ -979,6 +979,17 @@
|
||||
- type: Appearance
|
||||
- type: VaporVisuals
|
||||
|
||||
- type: entity
|
||||
id: BulletHivebot
|
||||
name: hivebot bullet
|
||||
parent: BaseBullet
|
||||
categories: [ HideSpawnMenu ]
|
||||
components:
|
||||
- type: Projectile
|
||||
damage:
|
||||
types:
|
||||
Piercing: 10
|
||||
|
||||
- type: entity
|
||||
id: BulletCannonBall
|
||||
name: cannonball
|
||||
|
||||
BIN
Resources/Textures/Mobs/Aliens/hivebot.rsi/EngBot.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
Resources/Textures/Mobs/Aliens/hivebot.rsi/basic.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
Resources/Textures/Mobs/Aliens/hivebot.rsi/basic_attack.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
81
Resources/Textures/Mobs/Aliens/hivebot.rsi/meta.json
Normal file
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"version": 1,
|
||||
"license": "CC-BY-SA-3.0",
|
||||
"copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/6665eec76c98a4f3f89bebcd10b34b47dcc0b8ae",
|
||||
"size": {
|
||||
"x": 32,
|
||||
"y": 32
|
||||
},
|
||||
"states": [
|
||||
{
|
||||
"name": "basic",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
0.3,
|
||||
0.3,
|
||||
0.6
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "basic_attack",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ranged",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
0.3,
|
||||
0.3,
|
||||
0.6
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "ranged_attack",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "strong",
|
||||
"delays": [
|
||||
[
|
||||
0.3,
|
||||
0.3,
|
||||
0.3,
|
||||
0.6
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "strong_attack",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
0.1,
|
||||
0.1,
|
||||
0.2
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "EngBot",
|
||||
"directions": 4
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
Resources/Textures/Mobs/Aliens/hivebot.rsi/ranged.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
Resources/Textures/Mobs/Aliens/hivebot.rsi/ranged_attack.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
Resources/Textures/Mobs/Aliens/hivebot.rsi/strong.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
Resources/Textures/Mobs/Aliens/hivebot.rsi/strong_attack.png
Normal file
|
After Width: | Height: | Size: 2.0 KiB |