Try and fix mob prototypes (#19859)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using Content.Server.Administration.Logs;
|
using Content.Server.Administration.Logs;
|
||||||
|
using Content.Server.Clothing.Components;
|
||||||
using Content.Server.DeviceNetwork;
|
using Content.Server.DeviceNetwork;
|
||||||
using Content.Server.DeviceNetwork.Systems;
|
using Content.Server.DeviceNetwork.Systems;
|
||||||
using Content.Server.Ghost;
|
using Content.Server.Ghost;
|
||||||
@@ -22,6 +23,7 @@ using Content.Shared.DoAfter;
|
|||||||
using Content.Server.Emp;
|
using Content.Server.Emp;
|
||||||
using Content.Server.DeviceLinking.Events;
|
using Content.Server.DeviceLinking.Events;
|
||||||
using Content.Server.DeviceLinking.Systems;
|
using Content.Server.DeviceLinking.Systems;
|
||||||
|
using Content.Shared.Inventory;
|
||||||
|
|
||||||
namespace Content.Server.Light.EntitySystems
|
namespace Content.Server.Light.EntitySystems
|
||||||
{
|
{
|
||||||
@@ -43,6 +45,7 @@ namespace Content.Server.Light.EntitySystems
|
|||||||
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
[Dependency] private readonly SharedAudioSystem _audio = default!;
|
||||||
[Dependency] private readonly PointLightSystem _pointLight = default!;
|
[Dependency] private readonly PointLightSystem _pointLight = default!;
|
||||||
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
[Dependency] private readonly SharedAppearanceSystem _appearance = default!;
|
||||||
|
[Dependency] private readonly InventorySystem _inventory = default!;
|
||||||
|
|
||||||
private static readonly TimeSpan ThunkDelay = TimeSpan.FromSeconds(2);
|
private static readonly TimeSpan ThunkDelay = TimeSpan.FromSeconds(2);
|
||||||
public const string LightBulbContainer = "light_bulb";
|
public const string LightBulbContainer = "light_bulb";
|
||||||
@@ -105,11 +108,15 @@ namespace Content.Server.Light.EntitySystems
|
|||||||
|
|
||||||
// check if it's possible to apply burn damage to user
|
// check if it's possible to apply burn damage to user
|
||||||
var userUid = args.User;
|
var userUid = args.User;
|
||||||
if (EntityManager.TryGetComponent(userUid, out HeatResistanceComponent? heatResist) &&
|
if (EntityManager.TryGetComponent(bulbUid.Value, out LightBulbComponent? lightBulb))
|
||||||
EntityManager.TryGetComponent(bulbUid.Value, out LightBulbComponent? lightBulb))
|
|
||||||
{
|
{
|
||||||
// get users heat resistance
|
// get users heat resistance
|
||||||
var res = heatResist.GetHeatResistance();
|
var res = int.MinValue;
|
||||||
|
if (_inventory.TryGetSlotEntity(userUid, "gloves", out var slotEntity) &&
|
||||||
|
TryComp<GloveHeatResistanceComponent>(slotEntity, out var gloves))
|
||||||
|
{
|
||||||
|
res = gloves.HeatResistance;
|
||||||
|
}
|
||||||
|
|
||||||
// check heat resistance against user
|
// check heat resistance against user
|
||||||
var burnedHand = light.CurrentLit && res < lightBulb.BurningTemperature;
|
var burnedHand = light.CurrentLit && res < lightBulb.BurningTemperature;
|
||||||
|
|||||||
@@ -1,21 +0,0 @@
|
|||||||
using Content.Server.Clothing.Components;
|
|
||||||
using Content.Shared.Inventory;
|
|
||||||
|
|
||||||
namespace Content.Server.Temperature.Components
|
|
||||||
{
|
|
||||||
[RegisterComponent]
|
|
||||||
public sealed partial class HeatResistanceComponent : Component
|
|
||||||
{
|
|
||||||
public int GetHeatResistance()
|
|
||||||
{
|
|
||||||
// TODO: When making into system: Any animal that touches bulb that has no
|
|
||||||
// InventoryComponent but still would have default heat resistance in the future (maybe)
|
|
||||||
if (EntitySystem.Get<InventorySystem>().TryGetSlotEntity(Owner, "gloves", out var slotEntity) &&
|
|
||||||
IoCManager.Resolve<IEntityManager>().TryGetComponent<GloveHeatResistanceComponent>(slotEntity, out var gloves))
|
|
||||||
{
|
|
||||||
return gloves.HeatResistance;
|
|
||||||
}
|
|
||||||
return int.MinValue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -34,7 +34,6 @@
|
|||||||
density: 80
|
density: 80
|
||||||
mask:
|
mask:
|
||||||
- GhostImpassable
|
- GhostImpassable
|
||||||
- type: HeatResistance
|
|
||||||
- type: MovementIgnoreGravity
|
- type: MovementIgnoreGravity
|
||||||
- type: Damageable
|
- type: Damageable
|
||||||
damageContainer: Biological
|
damageContainer: Biological
|
||||||
|
|||||||
@@ -1,98 +1,22 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
|
parent:
|
||||||
|
- BaseMob
|
||||||
|
- MobDamageable
|
||||||
|
- MobAtmosExposed
|
||||||
id: BaseSimpleMob
|
id: BaseSimpleMob
|
||||||
suffix: AI
|
suffix: AI
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
- type: LagCompensation
|
|
||||||
- type: Tag
|
|
||||||
tags:
|
|
||||||
- DoorBumpOpener
|
|
||||||
- type: Reactive
|
- type: Reactive
|
||||||
groups:
|
groups:
|
||||||
Flammable: [Touch]
|
Flammable: [Touch]
|
||||||
Extinguish: [Touch]
|
Extinguish: [Touch]
|
||||||
Acidic: [Touch, Ingestion]
|
Acidic: [Touch, Ingestion]
|
||||||
- type: InputMover
|
- type: Internals
|
||||||
- type: MobMover
|
|
||||||
- type: Input
|
|
||||||
context: "human"
|
|
||||||
- type: MovementSpeedModifier
|
- type: MovementSpeedModifier
|
||||||
baseWalkSpeed : 4
|
baseWalkSpeed : 4
|
||||||
baseSprintSpeed : 4
|
baseSprintSpeed : 4
|
||||||
- type: HealthExaminable
|
|
||||||
examinableTypes:
|
|
||||||
- Blunt
|
|
||||||
- Slash
|
|
||||||
- Piercing
|
|
||||||
- Heat
|
|
||||||
- Shock
|
|
||||||
- type: MovedByPressure
|
|
||||||
- type: DamageOnHighSpeedImpact
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Blunt: 5
|
|
||||||
soundHit:
|
|
||||||
path: /Audio/Effects/hit_kick.ogg
|
|
||||||
- type: Sprite
|
|
||||||
noRot: true
|
|
||||||
drawdepth: Mobs
|
|
||||||
- type: Clickable
|
|
||||||
- type: InteractionOutline
|
|
||||||
- type: Physics
|
|
||||||
bodyType: KinematicController # Same for all inheritors
|
|
||||||
- type: Fixtures
|
|
||||||
fixtures:
|
|
||||||
fix1:
|
|
||||||
shape:
|
|
||||||
# Circles, cuz rotation of rectangles looks very bad
|
|
||||||
!type:PhysShapeCircle
|
|
||||||
radius: 0.35
|
|
||||||
density: 50
|
|
||||||
mask:
|
|
||||||
- MobMask
|
|
||||||
layer:
|
|
||||||
- MobLayer
|
|
||||||
- type: Damageable
|
|
||||||
damageContainer: Biological
|
|
||||||
- type: RadiationReceiver
|
|
||||||
- type: AtmosExposed
|
|
||||||
- type: Temperature
|
|
||||||
heatDamageThreshold: 360
|
|
||||||
coldDamageThreshold: 0
|
|
||||||
currentTemperature: 310.15
|
|
||||||
coldDamage:
|
|
||||||
types:
|
|
||||||
Cold : 0.1 #per second, scales with temperature & other constants
|
|
||||||
specificHeat: 42
|
|
||||||
heatDamage:
|
|
||||||
types:
|
|
||||||
Heat : 0.1 #per second, scales with temperature & other constants
|
|
||||||
- type: MobState
|
|
||||||
- type: Deathgasp
|
|
||||||
- type: MobStateActions
|
|
||||||
actions:
|
|
||||||
Critical:
|
|
||||||
- ActionCritSuccumb
|
|
||||||
- ActionCritFakeDeath
|
|
||||||
- ActionCritLastWords
|
|
||||||
- type: MobThresholds
|
|
||||||
thresholds:
|
|
||||||
0: Alive
|
|
||||||
50: Critical
|
|
||||||
100: Dead
|
|
||||||
- type: Stamina
|
|
||||||
- type: Destructible
|
|
||||||
thresholds:
|
|
||||||
- trigger:
|
|
||||||
!type:DamageTypeTrigger
|
|
||||||
damageType: Blunt
|
|
||||||
damage: 400
|
|
||||||
behaviors:
|
|
||||||
- !type:GibBehavior { }
|
|
||||||
- type: HeatResistance
|
|
||||||
- type: Internals
|
|
||||||
- type: StatusIcon
|
|
||||||
- type: StatusEffects
|
- type: StatusEffects
|
||||||
allowed:
|
allowed:
|
||||||
- SlowedDown
|
- SlowedDown
|
||||||
@@ -101,25 +25,19 @@
|
|||||||
- ForcedSleep
|
- ForcedSleep
|
||||||
- TemporaryBlindness
|
- TemporaryBlindness
|
||||||
- Pacified
|
- Pacified
|
||||||
- type: InjectableSolution
|
|
||||||
solution: chemicals
|
|
||||||
- type: Examiner
|
|
||||||
- type: Appearance
|
|
||||||
- type: RotationVisuals
|
|
||||||
defaultRotation: 0
|
|
||||||
horizontalRotation: 0
|
|
||||||
- type: Actions
|
|
||||||
- type: DoAfter
|
|
||||||
- type: Polymorphable
|
|
||||||
- type: Pullable
|
|
||||||
- type: Buckle
|
- type: Buckle
|
||||||
- type: StandingState
|
- type: StandingState
|
||||||
- type: Alerts
|
- type: Tag
|
||||||
|
tags:
|
||||||
|
- DoorBumpOpener
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
|
||||||
abstract: true
|
abstract: true
|
||||||
parent: BaseSimpleMob
|
parent:
|
||||||
|
- BaseSimpleMob
|
||||||
|
- MobCombat
|
||||||
|
- MobBloodstream
|
||||||
|
- MobFlammable
|
||||||
id: SimpleSpaceMobBase # Mob without barotrauma, freezing and asphyxiation (for space carps!?)
|
id: SimpleSpaceMobBase # Mob without barotrauma, freezing and asphyxiation (for space carps!?)
|
||||||
suffix: AI
|
suffix: AI
|
||||||
components:
|
components:
|
||||||
@@ -129,35 +47,11 @@
|
|||||||
- type: HTN
|
- type: HTN
|
||||||
rootTask:
|
rootTask:
|
||||||
task: IdleCompound
|
task: IdleCompound
|
||||||
- type: SolutionContainerManager
|
|
||||||
- type: Bloodstream
|
|
||||||
bloodlossDamage:
|
|
||||||
types:
|
|
||||||
Bloodloss:
|
|
||||||
1
|
|
||||||
bloodlossHealDamage:
|
|
||||||
types:
|
|
||||||
Bloodloss:
|
|
||||||
-1
|
|
||||||
- type: CombatMode
|
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
hidden: true
|
|
||||||
angle: 0
|
angle: 0
|
||||||
animation: WeaponArcBite
|
animation: WeaponArcBite
|
||||||
damage:
|
|
||||||
groups:
|
|
||||||
Brute: 5
|
|
||||||
- type: Body
|
- type: Body
|
||||||
prototype: Animal
|
prototype: Animal
|
||||||
- type: Flammable
|
|
||||||
fireSpread: true
|
|
||||||
canResistFire: true
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Heat: 1 #per second, scales with number of fire 'stacks'
|
|
||||||
- type: FireVisuals
|
|
||||||
sprite: Mobs/Effects/onfire.rsi
|
|
||||||
normalState: Generic_mob_burning
|
|
||||||
- type: Climbing
|
- type: Climbing
|
||||||
- type: Flashable
|
- type: Flashable
|
||||||
- type: NameIdentifier
|
- type: NameIdentifier
|
||||||
@@ -171,14 +65,14 @@
|
|||||||
- type: Perishable
|
- type: Perishable
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
parent:
|
||||||
abstract: true
|
- MobRespirator
|
||||||
|
- MobAtmosStandard
|
||||||
|
- SimpleSpaceMobBase
|
||||||
id: SimpleMobBase # for air breathers
|
id: SimpleMobBase # for air breathers
|
||||||
parent: SimpleSpaceMobBase
|
|
||||||
suffix: AI
|
suffix: AI
|
||||||
|
abstract: true
|
||||||
components:
|
components:
|
||||||
- type: InputMover
|
|
||||||
- type: MobMover
|
|
||||||
- type: Hunger
|
- type: Hunger
|
||||||
thresholds: # only animals and rats are derived from this prototype so let's override it here and in rats' proto
|
thresholds: # only animals and rats are derived from this prototype so let's override it here and in rats' proto
|
||||||
Overfed: 100
|
Overfed: 100
|
||||||
@@ -195,10 +89,6 @@
|
|||||||
Parched: 50
|
Parched: 50
|
||||||
Dead: 0
|
Dead: 0
|
||||||
baseDecayRate: 0.04
|
baseDecayRate: 0.04
|
||||||
- type: Barotrauma
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Blunt: 0.15 #per second, scales with pressure and other constants.
|
|
||||||
- type: StatusEffects
|
- type: StatusEffects
|
||||||
allowed:
|
allowed:
|
||||||
- Stun
|
- Stun
|
||||||
@@ -210,32 +100,6 @@
|
|||||||
- TemporaryBlindness
|
- TemporaryBlindness
|
||||||
- Pacified
|
- Pacified
|
||||||
- StaminaModifier
|
- StaminaModifier
|
||||||
- type: ThermalRegulator
|
|
||||||
metabolismHeat: 800
|
|
||||||
radiatedHeat: 100
|
|
||||||
implicitHeatRegulation: 250
|
|
||||||
sweatHeatRegulation: 500
|
|
||||||
shiveringHeatRegulation: 500
|
|
||||||
normalBodyTemperature: 310.15
|
|
||||||
thermalRegulationTemperatureThreshold: 25
|
|
||||||
- type: Respirator
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Asphyxiation: 2
|
|
||||||
damageRecovery:
|
|
||||||
types:
|
|
||||||
Asphyxiation: -1.0
|
|
||||||
- type: Temperature
|
|
||||||
heatDamageThreshold: 360
|
|
||||||
coldDamageThreshold: 260
|
|
||||||
currentTemperature: 310.15
|
|
||||||
specificHeat: 42
|
|
||||||
coldDamage:
|
|
||||||
types:
|
|
||||||
Cold : 1 #per second, scales with temperature & other constants
|
|
||||||
heatDamage:
|
|
||||||
types:
|
|
||||||
Heat : 1 #per second, scales with temperature & other constants
|
|
||||||
- type: Bloodstream
|
- type: Bloodstream
|
||||||
bloodMaxVolume: 150
|
bloodMaxVolume: 150
|
||||||
- type: MobPrice
|
- type: MobPrice
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
parent: MobObserver
|
parent: MobObserver
|
||||||
save: false
|
|
||||||
id: AdminObserver
|
id: AdminObserver
|
||||||
name: admin observer
|
name: admin observer
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
@@ -18,10 +17,7 @@
|
|||||||
canInteract: true
|
canInteract: true
|
||||||
- type: Hands
|
- type: Hands
|
||||||
- type: Puller
|
- type: Puller
|
||||||
- type: DoAfter
|
|
||||||
- type: CombatMode
|
- type: CombatMode
|
||||||
- type: Actions
|
|
||||||
- type: InputMover
|
|
||||||
- type: Physics
|
- type: Physics
|
||||||
ignorePaused: true
|
ignorePaused: true
|
||||||
bodyType: Kinematic
|
bodyType: Kinematic
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McWeb
|
name: Urist McWeb
|
||||||
parent: [BaseMobArachnid, BaseMob]
|
parent: BaseMobArachnid
|
||||||
id: MobArachnid
|
id: MobArachnid
|
||||||
components:
|
components:
|
||||||
- type: Respirator
|
- type: Respirator
|
||||||
|
|||||||
@@ -1,35 +0,0 @@
|
|||||||
- type: entity
|
|
||||||
save: false
|
|
||||||
name: BaseMob
|
|
||||||
id: BaseMob
|
|
||||||
abstract: true
|
|
||||||
components:
|
|
||||||
- type: CombatMode
|
|
||||||
canDisarm: true
|
|
||||||
- type: InteractionPopup
|
|
||||||
successChance: 1
|
|
||||||
interactSuccessString: hugging-success-generic
|
|
||||||
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
|
|
||||||
messagePerceivedByOthers: hugging-success-generic-others
|
|
||||||
- type: MindContainer
|
|
||||||
showExamineInfo: true
|
|
||||||
- type: Input
|
|
||||||
context: "human"
|
|
||||||
- type: MobMover
|
|
||||||
- type: InputMover
|
|
||||||
- type: Respirator
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Asphyxiation: 1.0
|
|
||||||
damageRecovery:
|
|
||||||
types:
|
|
||||||
Asphyxiation: -1.0
|
|
||||||
- type: Alerts
|
|
||||||
- type: Actions
|
|
||||||
- type: Eye
|
|
||||||
- type: CameraRecoil
|
|
||||||
- type: Examiner
|
|
||||||
- type: CanHostGuardian
|
|
||||||
- type: NpcFactionMember
|
|
||||||
factions:
|
|
||||||
- NanoTrasen
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McPlants
|
name: Urist McPlants
|
||||||
parent: [BaseMobDiona, BaseMob]
|
parent: BaseMobDiona
|
||||||
id: MobDiona
|
id: MobDiona
|
||||||
components:
|
components:
|
||||||
- type: Respirator
|
- type: Respirator
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McHands The Dwarf
|
name: Urist McHands The Dwarf
|
||||||
parent: [BaseMobDwarf, BaseMob]
|
parent: BaseMobDwarf
|
||||||
id: MobDwarf
|
id: MobDwarf
|
||||||
@@ -72,7 +72,6 @@
|
|||||||
- type: MobState
|
- type: MobState
|
||||||
allowedStates:
|
allowedStates:
|
||||||
- Alive
|
- Alive
|
||||||
- type: HeatResistance
|
|
||||||
- type: CombatMode
|
- type: CombatMode
|
||||||
- type: Internals
|
- type: Internals
|
||||||
- type: Examiner
|
- type: Examiner
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McHands
|
name: Urist McHands
|
||||||
parent: [BaseMobHuman, BaseMob]
|
parent: BaseMobHuman
|
||||||
id: MobHuman
|
id: MobHuman
|
||||||
|
|
||||||
#Syndie
|
#Syndie
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McFluff
|
name: Urist McFluff
|
||||||
parent: [BaseMobMoth, BaseMob]
|
parent: BaseMobMoth
|
||||||
id: MobMoth
|
id: MobMoth
|
||||||
@@ -1,15 +1,20 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
|
parent: BaseMob
|
||||||
id: MobObserver
|
id: MobObserver
|
||||||
name: observer
|
name: observer
|
||||||
noSpawn: true
|
|
||||||
save: false
|
|
||||||
description: Boo!
|
description: Boo!
|
||||||
|
noSpawn: true
|
||||||
components:
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
overrideContainerOcclusion: true # Ghosts always show up regardless of where they're contained.
|
||||||
|
drawdepth: Ghosts
|
||||||
|
sprite: Mobs/Ghosts/ghost_human.rsi
|
||||||
|
color: "#fff8"
|
||||||
|
layers:
|
||||||
|
- state: animated
|
||||||
|
shader: unshaded
|
||||||
- type: ContentEye
|
- type: ContentEye
|
||||||
maxZoom: 1.44,1.44
|
maxZoom: 1.44,1.44
|
||||||
- type: MindContainer
|
|
||||||
- type: Clickable
|
|
||||||
- type: InteractionOutline
|
|
||||||
- type: Fixtures
|
- type: Fixtures
|
||||||
fixtures:
|
fixtures:
|
||||||
fix1:
|
fix1:
|
||||||
@@ -19,8 +24,6 @@
|
|||||||
density: 15
|
density: 15
|
||||||
mask:
|
mask:
|
||||||
- GhostImpassable
|
- GhostImpassable
|
||||||
- type: InputMover
|
|
||||||
- type: Appearance
|
|
||||||
- type: Eye
|
- type: Eye
|
||||||
drawFov: false
|
drawFov: false
|
||||||
- type: Input
|
- type: Input
|
||||||
@@ -28,6 +31,10 @@
|
|||||||
- type: Examiner
|
- type: Examiner
|
||||||
skipChecks: true
|
skipChecks: true
|
||||||
- type: Ghost
|
- type: Ghost
|
||||||
|
- type: MovementSpeedModifier
|
||||||
|
baseSprintSpeed: 12
|
||||||
|
baseWalkSpeed: 8
|
||||||
|
- type: MovementIgnoreGravity
|
||||||
- type: IntrinsicRadioReceiver
|
- type: IntrinsicRadioReceiver
|
||||||
- type: ActiveRadio
|
- type: ActiveRadio
|
||||||
channels:
|
channels:
|
||||||
@@ -43,20 +50,6 @@
|
|||||||
- Supply
|
- Supply
|
||||||
- Syndicate
|
- Syndicate
|
||||||
globalReceive: true
|
globalReceive: true
|
||||||
- type: Sprite
|
|
||||||
overrideContainerOcclusion: true # Ghosts always show up regardless of where they're contained.
|
|
||||||
noRot: true
|
|
||||||
drawdepth: Ghosts
|
|
||||||
sprite: Mobs/Ghosts/ghost_human.rsi
|
|
||||||
state: animated
|
|
||||||
color: "#fff8"
|
|
||||||
layers:
|
|
||||||
- state: animated
|
|
||||||
shader: unshaded
|
|
||||||
- type: MovementSpeedModifier
|
|
||||||
baseSprintSpeed: 12
|
|
||||||
baseWalkSpeed: 8
|
|
||||||
- type: MovementIgnoreGravity
|
|
||||||
- type: Physics
|
- type: Physics
|
||||||
bodyType: KinematicController
|
bodyType: KinematicController
|
||||||
bodyStatus: InAir
|
bodyStatus: InAir
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urisst' Mzhand
|
name: Urisst' Mzhand
|
||||||
parent: [BaseMobReptilian, BaseMob]
|
parent: BaseMobReptilian
|
||||||
id: MobReptilian
|
id: MobReptilian
|
||||||
|
|
||||||
#Weh
|
#Weh
|
||||||
|
|||||||
@@ -8,8 +8,6 @@
|
|||||||
interactSuccessString: hugging-success-generic
|
interactSuccessString: hugging-success-generic
|
||||||
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
|
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
|
||||||
messagePerceivedByOthers: hugging-success-generic-others
|
messagePerceivedByOthers: hugging-success-generic-others
|
||||||
- type: MindContainer
|
|
||||||
showExamineInfo: true
|
|
||||||
- type: Input
|
- type: Input
|
||||||
context: "human"
|
context: "human"
|
||||||
- type: MobMover
|
- type: MobMover
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
parent: [BaseMobSlimePerson, BaseMob]
|
parent: BaseMobSlimePerson
|
||||||
id: MobSlimePerson
|
id: MobSlimePerson
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Vox
|
name: Vox
|
||||||
parent: [BaseMobVox, BaseMob]
|
parent: BaseMobVox
|
||||||
id: MobVox
|
id: MobVox
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McWebs
|
name: Urist McWebs
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobArachnid
|
id: BaseMobArachnid
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
soundHit:
|
soundHit:
|
||||||
collection: AlienClaw
|
collection: AlienClaw
|
||||||
damage:
|
damage:
|
||||||
types: # Realisically this is more like 5 slash. You can figure out the logistics if slash is better than blunt/pierce yourself.
|
types: # Realisically this is more like 5 slash
|
||||||
Slash: 4
|
Slash: 4
|
||||||
# Fun
|
# Fun
|
||||||
- type: Sericulture
|
- type: Sericulture
|
||||||
@@ -46,10 +46,10 @@
|
|||||||
damageOverlayGroups:
|
damageOverlayGroups:
|
||||||
Brute:
|
Brute:
|
||||||
sprite: Mobs/Effects/brute_damage.rsi
|
sprite: Mobs/Effects/brute_damage.rsi
|
||||||
color: "#162581" # Why so blue?
|
color: "#162581"
|
||||||
- type: Speech
|
- type: Speech
|
||||||
speechVerb: Arachnid
|
speechVerb: Arachnid
|
||||||
speechSounds: Arachnid # TODO: Abuse my mic more. Do that in a later PR.
|
speechSounds: Arachnid
|
||||||
- type: Vocal
|
- type: Vocal
|
||||||
sounds:
|
sounds:
|
||||||
Male: UnisexArachnid
|
Male: UnisexArachnid
|
||||||
@@ -111,12 +111,9 @@
|
|||||||
visible: false
|
visible: false
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
parent: BaseSpeciesDummy
|
||||||
name: Urist McFluff
|
|
||||||
parent: MobHumanDummy
|
|
||||||
id: MobArachnidDummy
|
id: MobArachnidDummy
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
description: A dummy arachnid meant to be used in character setup. # Hey! It's not dumb :(
|
|
||||||
components:
|
components:
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: Arachnid
|
species: Arachnid
|
||||||
|
|||||||
@@ -1,100 +1,13 @@
|
|||||||
# Anything human specific (e.g. UI, input) goes under MobHuman
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McHands
|
parent:
|
||||||
id: BaseMobOrganic
|
- BaseMob
|
||||||
noSpawn: true
|
- MobDamageable
|
||||||
|
- MobCombat
|
||||||
|
id: BaseMobSpecies
|
||||||
|
abstract: true
|
||||||
components:
|
components:
|
||||||
- type: FloorOcclusion
|
|
||||||
- type: LagCompensation
|
|
||||||
- type: RangedDamageSound
|
|
||||||
soundGroups:
|
|
||||||
Brute:
|
|
||||||
collection:
|
|
||||||
MeatBulletImpact
|
|
||||||
soundTypes:
|
|
||||||
Heat:
|
|
||||||
collection:
|
|
||||||
MeatLaserImpact
|
|
||||||
- type: Tag
|
|
||||||
tags:
|
|
||||||
- CanPilot
|
|
||||||
- FootstepSound
|
|
||||||
- DoorBumpOpener
|
|
||||||
- type: Reactive
|
|
||||||
groups:
|
|
||||||
Flammable: [ Touch ]
|
|
||||||
Extinguish: [ Touch ]
|
|
||||||
Acidic: [Touch, Ingestion]
|
|
||||||
reactions:
|
|
||||||
- reagents: [Water, SpaceCleaner]
|
|
||||||
methods: [Touch]
|
|
||||||
effects:
|
|
||||||
- !type:WashCreamPieReaction
|
|
||||||
- type: Flashable
|
|
||||||
- type: Polymorphable
|
|
||||||
- type: Identity
|
|
||||||
- type: Hands
|
|
||||||
- type: MovementSpeedModifier
|
|
||||||
- type: MovedByPressure
|
|
||||||
- type: Barotrauma
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Blunt: 0.35 #per second, scales with pressure and other constants.
|
|
||||||
- type: DamageOnHighSpeedImpact
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Blunt: 5
|
|
||||||
soundHit:
|
|
||||||
path: /Audio/Effects/hit_kick.ogg
|
|
||||||
# Organs
|
|
||||||
- type: InjectableSolution
|
|
||||||
solution: chemicals
|
|
||||||
- type: IdExaminable
|
|
||||||
- type: HealthExaminable
|
|
||||||
examinableTypes:
|
|
||||||
- Blunt
|
|
||||||
- Slash
|
|
||||||
- Piercing
|
|
||||||
- Heat
|
|
||||||
- Shock
|
|
||||||
- type: Bloodstream
|
|
||||||
bloodlossDamage:
|
|
||||||
types:
|
|
||||||
Bloodloss:
|
|
||||||
1
|
|
||||||
bloodlossHealDamage:
|
|
||||||
types:
|
|
||||||
Bloodloss:
|
|
||||||
-1
|
|
||||||
- type: Stamina
|
|
||||||
- type: StatusIcon
|
|
||||||
- type: StatusEffects
|
|
||||||
allowed:
|
|
||||||
- Stun
|
|
||||||
- KnockedDown
|
|
||||||
- SlowedDown
|
|
||||||
- Stutter
|
|
||||||
- SeeingRainbows
|
|
||||||
- Electrocution
|
|
||||||
- Drunk
|
|
||||||
- SlurredSpeech
|
|
||||||
- RatvarianLanguage
|
|
||||||
- PressureImmunity
|
|
||||||
- Muted
|
|
||||||
- ForcedSleep
|
|
||||||
- TemporaryBlindness
|
|
||||||
- Pacified
|
|
||||||
- StaminaModifier
|
|
||||||
- type: Blindable
|
|
||||||
# Other
|
|
||||||
- type: Inventory
|
|
||||||
- type: InventorySlots
|
|
||||||
- type: Clickable
|
|
||||||
- type: InteractionOutline
|
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
noRot: true
|
|
||||||
drawdepth: Mobs
|
|
||||||
layers:
|
layers:
|
||||||
- map: [ "enum.HumanoidVisualLayers.Chest" ]
|
- map: [ "enum.HumanoidVisualLayers.Chest" ]
|
||||||
- map: [ "enum.HumanoidVisualLayers.Head" ]
|
- map: [ "enum.HumanoidVisualLayers.Head" ]
|
||||||
@@ -146,84 +59,6 @@
|
|||||||
sprite: "Effects/creampie.rsi"
|
sprite: "Effects/creampie.rsi"
|
||||||
state: "creampie_human"
|
state: "creampie_human"
|
||||||
visible: false
|
visible: false
|
||||||
- type: Physics
|
|
||||||
bodyType: KinematicController
|
|
||||||
- type: Reflect
|
|
||||||
enabled: false
|
|
||||||
reflectProb: 0
|
|
||||||
- type: Fixtures
|
|
||||||
fixtures: # TODO: This needs a second fixture just for mob collisions.
|
|
||||||
fix1:
|
|
||||||
shape:
|
|
||||||
!type:PhysShapeCircle
|
|
||||||
radius: 0.35
|
|
||||||
density: 185
|
|
||||||
restitution: 0.0
|
|
||||||
mask:
|
|
||||||
- MobMask
|
|
||||||
layer:
|
|
||||||
- MobLayer
|
|
||||||
- type: AtmosExposed
|
|
||||||
- type: Flammable
|
|
||||||
fireSpread: true
|
|
||||||
canResistFire: true
|
|
||||||
damage:
|
|
||||||
types:
|
|
||||||
Heat: 1 #per second, scales with number of fire 'stacks'
|
|
||||||
- type: Temperature
|
|
||||||
heatDamageThreshold: 360
|
|
||||||
coldDamageThreshold: 260
|
|
||||||
currentTemperature: 310.15
|
|
||||||
specificHeat: 42
|
|
||||||
coldDamage:
|
|
||||||
types:
|
|
||||||
Cold: 0.1 #per second, scales with temperature & other constants
|
|
||||||
heatDamage:
|
|
||||||
types:
|
|
||||||
Heat: 0.1 #per second, scales with temperature & other constants
|
|
||||||
- type: HumanoidAppearance
|
|
||||||
species: Human
|
|
||||||
- type: Body
|
|
||||||
prototype: Human
|
|
||||||
requiredLegs: 2
|
|
||||||
- type: Damageable
|
|
||||||
damageContainer: Biological
|
|
||||||
- type: RadiationReceiver
|
|
||||||
- type: ThermalRegulator
|
|
||||||
metabolismHeat: 800
|
|
||||||
radiatedHeat: 100
|
|
||||||
implicitHeatRegulation: 500
|
|
||||||
sweatHeatRegulation: 2000
|
|
||||||
shiveringHeatRegulation: 2000
|
|
||||||
normalBodyTemperature: 310.15
|
|
||||||
thermalRegulationTemperatureThreshold: 25
|
|
||||||
- type: Internals
|
|
||||||
- type: MobState
|
|
||||||
- type: Deathgasp
|
|
||||||
- type: MobStateActions
|
|
||||||
actions:
|
|
||||||
Critical:
|
|
||||||
- ActionCritSuccumb
|
|
||||||
- ActionCritFakeDeath
|
|
||||||
- ActionCritLastWords
|
|
||||||
- type: MobThresholds
|
|
||||||
thresholds:
|
|
||||||
0: Alive
|
|
||||||
100: Critical
|
|
||||||
200: Dead
|
|
||||||
- type: Destructible
|
|
||||||
thresholds:
|
|
||||||
- trigger:
|
|
||||||
!type:DamageTypeTrigger
|
|
||||||
damageType: Blunt
|
|
||||||
damage: 400
|
|
||||||
behaviors:
|
|
||||||
- !type:GibBehavior { }
|
|
||||||
- type: SlowOnDamage
|
|
||||||
speedModifierThresholds:
|
|
||||||
60: 0.7
|
|
||||||
80: 0.5
|
|
||||||
- type: HeatResistance
|
|
||||||
- type: DamageVisuals
|
- type: DamageVisuals
|
||||||
thresholds: [ 20, 40, 100 ]
|
thresholds: [ 20, 40, 100 ]
|
||||||
targetLayers:
|
targetLayers:
|
||||||
@@ -239,7 +74,6 @@
|
|||||||
color: "#FF0000"
|
color: "#FF0000"
|
||||||
Burn:
|
Burn:
|
||||||
sprite: Mobs/Effects/burn_damage.rsi
|
sprite: Mobs/Effects/burn_damage.rsi
|
||||||
- type: Appearance
|
|
||||||
- type: GenericVisualizer
|
- type: GenericVisualizer
|
||||||
visuals:
|
visuals:
|
||||||
enum.CreamPiedVisuals.Creamed:
|
enum.CreamPiedVisuals.Creamed:
|
||||||
@@ -247,14 +81,76 @@
|
|||||||
True: {visible: true}
|
True: {visible: true}
|
||||||
False: {visible: false}
|
False: {visible: false}
|
||||||
- type: RotationVisuals
|
- type: RotationVisuals
|
||||||
|
defaultRotation: 90
|
||||||
|
horizontalRotation: 90
|
||||||
|
- type: HumanoidAppearance
|
||||||
|
species: Human
|
||||||
|
- type: SlowOnDamage
|
||||||
|
speedModifierThresholds:
|
||||||
|
60: 0.7
|
||||||
|
80: 0.5
|
||||||
|
- type: Fixtures
|
||||||
|
fixtures: # TODO: This needs a second fixture just for mob collisions.
|
||||||
|
fix1:
|
||||||
|
shape:
|
||||||
|
!type:PhysShapeCircle
|
||||||
|
radius: 0.35
|
||||||
|
density: 185
|
||||||
|
restitution: 0.0
|
||||||
|
mask:
|
||||||
|
- MobMask
|
||||||
|
layer:
|
||||||
|
- MobLayer
|
||||||
|
- type: FloorOcclusion
|
||||||
|
- type: RangedDamageSound
|
||||||
|
soundGroups:
|
||||||
|
Brute:
|
||||||
|
collection:
|
||||||
|
MeatBulletImpact
|
||||||
|
soundTypes:
|
||||||
|
Heat:
|
||||||
|
collection:
|
||||||
|
MeatLaserImpact
|
||||||
|
- type: Reactive
|
||||||
|
groups:
|
||||||
|
Flammable: [ Touch ]
|
||||||
|
Extinguish: [ Touch ]
|
||||||
|
Acidic: [Touch, Ingestion]
|
||||||
|
reactions:
|
||||||
|
- reagents: [Water, SpaceCleaner]
|
||||||
|
methods: [Touch]
|
||||||
|
effects:
|
||||||
|
- !type:WashCreamPieReaction
|
||||||
|
- type: StatusEffects
|
||||||
|
allowed:
|
||||||
|
- Stun
|
||||||
|
- KnockedDown
|
||||||
|
- SlowedDown
|
||||||
|
- Stutter
|
||||||
|
- SeeingRainbows
|
||||||
|
- Electrocution
|
||||||
|
- Drunk
|
||||||
|
- SlurredSpeech
|
||||||
|
- RatvarianLanguage
|
||||||
|
- PressureImmunity
|
||||||
|
- Muted
|
||||||
|
- ForcedSleep
|
||||||
|
- TemporaryBlindness
|
||||||
|
- Pacified
|
||||||
|
- StaminaModifier
|
||||||
|
- type: Reflect
|
||||||
|
enabled: false
|
||||||
|
reflectProb: 0
|
||||||
|
- type: Body
|
||||||
|
prototype: Human
|
||||||
|
requiredLegs: 2
|
||||||
|
- type: Identity
|
||||||
|
- type: IdExaminable
|
||||||
|
- type: Hands
|
||||||
|
- type: Internals
|
||||||
|
- type: Inventory
|
||||||
|
- type: InventorySlots
|
||||||
- type: FloatingVisuals
|
- type: FloatingVisuals
|
||||||
- type: FireVisuals
|
|
||||||
sprite: Mobs/Effects/onfire.rsi
|
|
||||||
normalState: Generic_mob_burning
|
|
||||||
alternateState: Standing
|
|
||||||
fireStackAlternateState: 3
|
|
||||||
- type: CombatMode
|
|
||||||
canDisarm: true
|
|
||||||
- type: Climbing
|
- type: Climbing
|
||||||
- type: Cuffable
|
- type: Cuffable
|
||||||
- type: Ensnareable
|
- type: Ensnareable
|
||||||
@@ -262,6 +158,8 @@
|
|||||||
state: icon
|
state: icon
|
||||||
- type: AnimationPlayer
|
- type: AnimationPlayer
|
||||||
- type: Buckle
|
- type: Buckle
|
||||||
|
- type: CombatMode
|
||||||
|
canDisarm: true
|
||||||
- type: MeleeWeapon
|
- type: MeleeWeapon
|
||||||
hidden: true
|
hidden: true
|
||||||
soundHit:
|
soundHit:
|
||||||
@@ -272,8 +170,22 @@
|
|||||||
damage:
|
damage:
|
||||||
types:
|
types:
|
||||||
Blunt: 5
|
Blunt: 5
|
||||||
- type: Pullable
|
- type: SleepEmitSound
|
||||||
- type: DoAfter
|
- type: SSDIndicator
|
||||||
|
- type: StandingState
|
||||||
|
- type: Fingerprint
|
||||||
|
- type: Dna
|
||||||
|
- type: MindContainer
|
||||||
|
showExamineInfo: true
|
||||||
|
- type: InteractionPopup
|
||||||
|
successChance: 1
|
||||||
|
interactSuccessString: hugging-success-generic
|
||||||
|
interactSuccessSound: /Audio/Effects/thudswoosh.ogg
|
||||||
|
messagePerceivedByOthers: hugging-success-generic-others
|
||||||
|
- type: CanHostGuardian
|
||||||
|
- type: NpcFactionMember
|
||||||
|
factions:
|
||||||
|
- NanoTrasen
|
||||||
- type: CreamPied
|
- type: CreamPied
|
||||||
- type: Stripping
|
- type: Stripping
|
||||||
- type: Strippable
|
- type: Strippable
|
||||||
@@ -286,11 +198,6 @@
|
|||||||
- key: enum.StrippingUiKey.Key
|
- key: enum.StrippingUiKey.Key
|
||||||
type: StrippableBoundUserInterface
|
type: StrippableBoundUserInterface
|
||||||
- type: Puller
|
- type: Puller
|
||||||
- type: Butcherable
|
|
||||||
butcheringType: Spike # TODO human.
|
|
||||||
spawned:
|
|
||||||
- id: FoodMeat
|
|
||||||
amount: 5
|
|
||||||
- type: Speech
|
- type: Speech
|
||||||
speechSounds: Alto
|
speechSounds: Alto
|
||||||
- type: Vocal
|
- type: Vocal
|
||||||
@@ -304,22 +211,83 @@
|
|||||||
- type: Grammar
|
- type: Grammar
|
||||||
attributes:
|
attributes:
|
||||||
proper: true
|
proper: true
|
||||||
- type: StandingState
|
|
||||||
- type: Fingerprint
|
|
||||||
- type: Dna
|
|
||||||
- type: MobPrice
|
- type: MobPrice
|
||||||
price: 1500 # Kidnapping a living person and selling them for cred is a good move.
|
price: 1500 # Kidnapping a living person and selling them for cred is a good move.
|
||||||
deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less.
|
deathPenalty: 0.01 # However they really ought to be living and intact, otherwise they're worth 100x less.
|
||||||
- type: ContentEye
|
|
||||||
- type: SleepEmitSound
|
|
||||||
- type: SSDIndicator
|
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McHands
|
parent:
|
||||||
id: BaseMobOrganicDummy
|
- MobBloodstream
|
||||||
|
- MobRespirator
|
||||||
|
- MobAtmosStandard
|
||||||
|
- MobFlammable
|
||||||
|
- BaseMobSpecies
|
||||||
|
id: BaseMobSpeciesOrganic
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Flashable
|
||||||
|
- type: Barotrauma
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Blunt: 0.35 #per second, scales with pressure and other constants.
|
||||||
|
# Organs
|
||||||
|
- type: StatusEffects
|
||||||
|
allowed:
|
||||||
|
- Stun
|
||||||
|
- KnockedDown
|
||||||
|
- SlowedDown
|
||||||
|
- Stutter
|
||||||
|
- SeeingRainbows
|
||||||
|
- Electrocution
|
||||||
|
- Drunk
|
||||||
|
- SlurredSpeech
|
||||||
|
- RatvarianLanguage
|
||||||
|
- PressureImmunity
|
||||||
|
- Muted
|
||||||
|
- ForcedSleep
|
||||||
|
- TemporaryBlindness
|
||||||
|
- Pacified
|
||||||
|
- StaminaModifier
|
||||||
|
- type: Blindable
|
||||||
|
# Other
|
||||||
|
- type: Temperature
|
||||||
|
heatDamageThreshold: 360
|
||||||
|
coldDamageThreshold: 260
|
||||||
|
currentTemperature: 310.15
|
||||||
|
specificHeat: 42
|
||||||
|
coldDamage:
|
||||||
|
types:
|
||||||
|
Cold: 0.1 #per second, scales with temperature & other constants
|
||||||
|
heatDamage:
|
||||||
|
types:
|
||||||
|
Heat: 0.1 #per second, scales with temperature & other constants
|
||||||
|
- type: ThermalRegulator
|
||||||
|
metabolismHeat: 800
|
||||||
|
radiatedHeat: 100
|
||||||
|
implicitHeatRegulation: 500
|
||||||
|
sweatHeatRegulation: 2000
|
||||||
|
shiveringHeatRegulation: 2000
|
||||||
|
normalBodyTemperature: 310.15
|
||||||
|
thermalRegulationTemperatureThreshold: 25
|
||||||
|
- type: Perishable
|
||||||
|
- type: Butcherable
|
||||||
|
butcheringType: Spike # TODO human.
|
||||||
|
spawned:
|
||||||
|
- id: FoodMeat
|
||||||
|
amount: 5
|
||||||
|
- type: Respirator
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Asphyxiation: 1.0
|
||||||
|
damageRecovery:
|
||||||
|
types:
|
||||||
|
Asphyxiation: -1.0
|
||||||
|
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: BaseSpeciesDummy
|
||||||
abstract: true
|
abstract: true
|
||||||
description: A dummy human meant to be used in character setup.
|
|
||||||
components:
|
components:
|
||||||
- type: Hands
|
- type: Hands
|
||||||
- type: Inventory
|
- type: Inventory
|
||||||
@@ -377,33 +345,12 @@
|
|||||||
- map: [ "head" ]
|
- map: [ "head" ]
|
||||||
- map: [ "pocket1" ]
|
- map: [ "pocket1" ]
|
||||||
- map: [ "pocket2" ]
|
- map: [ "pocket2" ]
|
||||||
- type: Physics
|
- type: Appearance
|
||||||
- type: Fixtures
|
|
||||||
fixtures:
|
|
||||||
fix1:
|
|
||||||
shape:
|
|
||||||
!type:PhysShapeAabb
|
|
||||||
bounds: "-0.35,-0.35,0.35,0.35"
|
|
||||||
density: 185
|
|
||||||
restitution: 0.0
|
|
||||||
mask:
|
|
||||||
- MobMask
|
|
||||||
layer:
|
|
||||||
- MobLayer
|
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: Human
|
species: Human
|
||||||
- type: Body
|
- type: Body
|
||||||
prototype: Human
|
prototype: Human
|
||||||
requiredLegs: 2
|
requiredLegs: 2
|
||||||
- type: Appearance
|
|
||||||
- type: Damageable
|
|
||||||
damageContainer: Biological
|
|
||||||
- type: MobState
|
|
||||||
- type: MobThresholds
|
|
||||||
thresholds:
|
|
||||||
0: Alive
|
|
||||||
100: Critical
|
|
||||||
200: Dead
|
|
||||||
- type: UserInterface
|
- type: UserInterface
|
||||||
interfaces:
|
interfaces:
|
||||||
- key: enum.HumanoidMarkingModifierKey.Key # sure, this can go here too
|
- key: enum.HumanoidMarkingModifierKey.Key # sure, this can go here too
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McPlants
|
name: Urist McPlants
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobDiona
|
id: BaseMobDiona
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -87,7 +87,6 @@
|
|||||||
- MobLayer
|
- MobLayer
|
||||||
- type: Inventory
|
- type: Inventory
|
||||||
templateId: diona
|
templateId: diona
|
||||||
- type: InventorySlots
|
|
||||||
- type: MovementSpeedModifier
|
- type: MovementSpeedModifier
|
||||||
baseWalkSpeed : 1.5
|
baseWalkSpeed : 1.5
|
||||||
baseSprintSpeed : 3.5
|
baseSprintSpeed : 3.5
|
||||||
@@ -103,15 +102,11 @@
|
|||||||
- type: IgnoreKudzu
|
- type: IgnoreKudzu
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
parent: BaseSpeciesDummy
|
||||||
name: Urist McHands
|
|
||||||
parent: MobHumanDummy
|
|
||||||
id: MobDionaDummy
|
id: MobDionaDummy
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
description: A dummy diona meant to be used in character setup.
|
|
||||||
components:
|
components:
|
||||||
- type: Inventory
|
- type: Inventory
|
||||||
templateId: diona
|
templateId: diona
|
||||||
- type: InventorySlots
|
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: Diona
|
species: Diona
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McHands The Dwarf
|
name: Urist McHands The Dwarf
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobDwarf
|
id: BaseMobDwarf
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -58,14 +58,9 @@
|
|||||||
- type: Perishable
|
- type: Perishable
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
parent: BaseSpeciesDummy
|
||||||
name: Urist McHands
|
|
||||||
parent: MobHumanDummy
|
|
||||||
id: MobDwarfDummy
|
id: MobDwarfDummy
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
description: A dummy human meant to be used in character setup.
|
|
||||||
components:
|
components:
|
||||||
- type: Sprite
|
- type: Sprite
|
||||||
noRot: true
|
|
||||||
drawdepth: Mobs
|
|
||||||
scale: 1, 0.8
|
scale: 1, 0.8
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# Anything human specific (e.g. UI, input) goes under MobHuman
|
# Anything human specific (e.g. UI, input) goes under MobHuman
|
||||||
- type: entity
|
- type: entity
|
||||||
name: Urist McHands
|
parent: BaseMobSpeciesOrganic
|
||||||
parent: BaseMobOrganic
|
|
||||||
id: BaseMobHuman
|
id: BaseMobHuman
|
||||||
|
name: Urist McHands
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
- type: Hunger
|
- type: Hunger
|
||||||
@@ -22,7 +22,6 @@
|
|||||||
amount: 5
|
amount: 5
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
name: Urist McHands
|
parent: BaseSpeciesDummy
|
||||||
id: MobHumanDummy
|
id: MobHumanDummy
|
||||||
parent: BaseMobOrganicDummy
|
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McFluff
|
name: Urist McFluff
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobMoth
|
id: BaseMobMoth
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -113,12 +113,9 @@
|
|||||||
visible: false
|
visible: false
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
parent: BaseSpeciesDummy
|
||||||
name: Urist McFluff
|
|
||||||
parent: MobHumanDummy
|
|
||||||
id: MobMothDummy
|
id: MobMothDummy
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
description: A dummy moth meant to be used in character setup.
|
|
||||||
components:
|
components:
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: Moth
|
species: Moth
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urisst' Mzhand
|
name: Urisst' Mzhand
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobReptilian
|
id: BaseMobReptilian
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -61,9 +61,7 @@
|
|||||||
- type: Perishable
|
- type: Perishable
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
parent: BaseSpeciesDummy
|
||||||
name: Urist McHands
|
|
||||||
parent: MobHumanDummy
|
|
||||||
id: MobReptilianDummy
|
id: MobReptilianDummy
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
description: A dummy reptilian meant to be used in character setup.
|
description: A dummy reptilian meant to be used in character setup.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
save: false
|
||||||
name: Urist McSkelly
|
name: Urist McSkelly
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobSkeletonPerson
|
id: BaseMobSkeletonPerson
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -70,12 +70,9 @@
|
|||||||
- MobLayer
|
- MobLayer
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
parent: BaseSpeciesDummy
|
||||||
name: Urist McSkelly
|
|
||||||
parent: BaseMobOrganicDummy
|
|
||||||
id: MobSkeletonPersonDummy
|
id: MobSkeletonPersonDummy
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
description: A dummy skeleton meant to be used in character setup.
|
|
||||||
components:
|
components:
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: Skeleton
|
species: Skeleton
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
name: Urist McSlime
|
name: Urist McSlime
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobSlimePerson
|
id: BaseMobSlimePerson
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -76,12 +76,9 @@
|
|||||||
maxSaturation: 15
|
maxSaturation: 15
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
save: false
|
|
||||||
name: Urist McHands
|
|
||||||
parent: MobHumanDummy
|
parent: MobHumanDummy
|
||||||
id: MobSlimePersonDummy
|
id: MobSlimePersonDummy
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
description: A dummy slime meant to be used in character setup.
|
|
||||||
components:
|
components:
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: SlimePerson
|
species: SlimePerson
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
- type: entity
|
- type: entity
|
||||||
parent: BaseMobOrganic
|
parent: BaseMobSpeciesOrganic
|
||||||
id: BaseMobVox
|
id: BaseMobVox
|
||||||
abstract: true
|
abstract: true
|
||||||
components:
|
components:
|
||||||
@@ -109,13 +109,12 @@
|
|||||||
Unsexed: UnisexVox
|
Unsexed: UnisexVox
|
||||||
|
|
||||||
- type: entity
|
- type: entity
|
||||||
|
parent: BaseSpeciesDummy
|
||||||
id: MobVoxDummy
|
id: MobVoxDummy
|
||||||
parent: MobHumanDummy
|
|
||||||
noSpawn: true
|
noSpawn: true
|
||||||
components:
|
components:
|
||||||
- type: HumanoidAppearance
|
- type: HumanoidAppearance
|
||||||
species: Vox
|
species: Vox
|
||||||
- type: Body
|
- type: Body
|
||||||
prototype: Vox
|
prototype: Vox
|
||||||
requiredLegs: 2
|
|
||||||
|
|
||||||
|
|||||||
210
Resources/Prototypes/Entities/Mobs/base.yml
Normal file
210
Resources/Prototypes/Entities/Mobs/base.yml
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
# The progenitor. This should only container the most basic components possible.
|
||||||
|
# Only put things on here if every mob *must* have it. This includes ghosts.
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: BaseMob
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Sprite
|
||||||
|
noRot: true
|
||||||
|
drawdepth: Mobs
|
||||||
|
- type: Physics
|
||||||
|
bodyType: KinematicController
|
||||||
|
- type: Fixtures
|
||||||
|
fixtures:
|
||||||
|
fix1:
|
||||||
|
shape:
|
||||||
|
!type:PhysShapeCircle
|
||||||
|
radius: 0.35
|
||||||
|
density: 50
|
||||||
|
mask:
|
||||||
|
- MobMask
|
||||||
|
layer:
|
||||||
|
- MobLayer
|
||||||
|
- type: Clickable
|
||||||
|
- type: InteractionOutline
|
||||||
|
- type: InputMover
|
||||||
|
- type: Input
|
||||||
|
context: "human"
|
||||||
|
- type: LagCompensation
|
||||||
|
- type: MobMover
|
||||||
|
- type: Actions
|
||||||
|
- type: Alerts
|
||||||
|
- type: Appearance
|
||||||
|
- type: RotationVisuals
|
||||||
|
defaultRotation: 0
|
||||||
|
horizontalRotation: 0
|
||||||
|
- type: DoAfter
|
||||||
|
- type: Examiner
|
||||||
|
- type: Eye
|
||||||
|
- type: ContentEye
|
||||||
|
- type: CameraRecoil
|
||||||
|
- type: MindContainer
|
||||||
|
- type: MovementSpeedModifier
|
||||||
|
- type: Polymorphable
|
||||||
|
- type: StatusIcon
|
||||||
|
|
||||||
|
# Used for mobs that have health and can take damage.
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: MobDamageable
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Damageable
|
||||||
|
damageContainer: Biological
|
||||||
|
- type: Destructible
|
||||||
|
thresholds:
|
||||||
|
- trigger:
|
||||||
|
!type:DamageTypeTrigger
|
||||||
|
damageType: Blunt
|
||||||
|
damage: 400
|
||||||
|
behaviors:
|
||||||
|
- !type:GibBehavior { }
|
||||||
|
- type: RadiationReceiver
|
||||||
|
- type: Stamina
|
||||||
|
- type: MobState
|
||||||
|
- type: MobThresholds
|
||||||
|
thresholds:
|
||||||
|
0: Alive
|
||||||
|
100: Critical
|
||||||
|
200: Dead
|
||||||
|
- type: MobStateActions
|
||||||
|
actions:
|
||||||
|
Critical:
|
||||||
|
- CritSuccumb
|
||||||
|
- CritFakeDeath
|
||||||
|
- CritLastWords
|
||||||
|
- type: Deathgasp
|
||||||
|
- type: HealthExaminable
|
||||||
|
examinableTypes:
|
||||||
|
- Blunt
|
||||||
|
- Slash
|
||||||
|
- Piercing
|
||||||
|
- Heat
|
||||||
|
- Shock
|
||||||
|
- type: DamageOnHighSpeedImpact
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Blunt: 5
|
||||||
|
soundHit:
|
||||||
|
path: /Audio/Effects/hit_kick.ogg
|
||||||
|
- type: Pullable
|
||||||
|
|
||||||
|
# Used for mobs that can enter combat mode and can attack.
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: MobCombat
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: CombatMode
|
||||||
|
- type: MeleeWeapon
|
||||||
|
hidden: true
|
||||||
|
damage:
|
||||||
|
groups:
|
||||||
|
Brute: 5
|
||||||
|
|
||||||
|
# Used for mobs that are affected by atmospherics, pressure, and heat
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: MobAtmosExposed
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: AtmosExposed
|
||||||
|
- type: Temperature
|
||||||
|
heatDamageThreshold: 360
|
||||||
|
coldDamageThreshold: 0
|
||||||
|
currentTemperature: 310.15
|
||||||
|
coldDamage: #per second, scales with temperature & other constants
|
||||||
|
types:
|
||||||
|
Cold : 0.1
|
||||||
|
specificHeat: 42
|
||||||
|
heatDamage: #per second, scales with temperature & other constants
|
||||||
|
types:
|
||||||
|
Heat : 0.1
|
||||||
|
- type: ThermalRegulator
|
||||||
|
metabolismHeat: 800
|
||||||
|
radiatedHeat: 100
|
||||||
|
implicitHeatRegulation: 500
|
||||||
|
sweatHeatRegulation: 2000
|
||||||
|
shiveringHeatRegulation: 2000
|
||||||
|
normalBodyTemperature: 310.15
|
||||||
|
thermalRegulationTemperatureThreshold: 25
|
||||||
|
- type: MovedByPressure
|
||||||
|
|
||||||
|
# Used for mobs that require regular atmospheric conditions.
|
||||||
|
- type: entity
|
||||||
|
parent: MobAtmosExposed
|
||||||
|
id: MobAtmosStandard
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: ThermalRegulator
|
||||||
|
metabolismHeat: 800
|
||||||
|
radiatedHeat: 100
|
||||||
|
implicitHeatRegulation: 250
|
||||||
|
sweatHeatRegulation: 500
|
||||||
|
shiveringHeatRegulation: 500
|
||||||
|
normalBodyTemperature: 310.15
|
||||||
|
thermalRegulationTemperatureThreshold: 25
|
||||||
|
- type: Temperature
|
||||||
|
heatDamageThreshold: 360
|
||||||
|
coldDamageThreshold: 260
|
||||||
|
currentTemperature: 310.15
|
||||||
|
specificHeat: 42
|
||||||
|
coldDamage:
|
||||||
|
types:
|
||||||
|
Cold: 1 #per second, scales with temperature & other constants
|
||||||
|
heatDamage:
|
||||||
|
types:
|
||||||
|
Heat: 1 #per second, scales with temperature & other constants
|
||||||
|
- type: Barotrauma
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Blunt: 0.15 #per second, scales with pressure and other constants.
|
||||||
|
|
||||||
|
# Used for mobs that can be set on fire
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: MobFlammable
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Flammable
|
||||||
|
fireSpread: true
|
||||||
|
canResistFire: true
|
||||||
|
damage: #per second, scales with number of fire 'stacks'
|
||||||
|
types:
|
||||||
|
Heat: 1
|
||||||
|
- type: FireVisuals
|
||||||
|
sprite: Mobs/Effects/onfire.rsi
|
||||||
|
normalState: Generic_mob_burning
|
||||||
|
|
||||||
|
# Used for mobs that need to breathe
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: MobRespirator
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: Internals
|
||||||
|
- type: Respirator
|
||||||
|
damage:
|
||||||
|
types:
|
||||||
|
Asphyxiation: 2
|
||||||
|
damageRecovery:
|
||||||
|
types:
|
||||||
|
Asphyxiation: -1.0
|
||||||
|
|
||||||
|
# Used for mobs that have a bloodstream
|
||||||
|
- type: entity
|
||||||
|
save: false
|
||||||
|
id: MobBloodstream
|
||||||
|
abstract: true
|
||||||
|
components:
|
||||||
|
- type: SolutionContainerManager
|
||||||
|
- type: InjectableSolution
|
||||||
|
solution: chemicals
|
||||||
|
- type: Bloodstream
|
||||||
|
bloodlossDamage:
|
||||||
|
types:
|
||||||
|
Bloodloss: 1
|
||||||
|
bloodlossHealDamage:
|
||||||
|
types:
|
||||||
|
Bloodloss: -1
|
||||||
Reference in New Issue
Block a user