Space Station 13 - Modules - TypesVar Details - Proc Details

Basic Mob

Basic mobs are a modern replacement for the simple_animal/"simple mob" system. Rather than deep type trees with overrides for AI, basic mobs rely on their AI controllers for the majority of their behavior.

It is also intended that as little implementation as possible be part of the basic mob definition directly; rather, as much behavior as possible should be delegated to components and elements, such as /datum/element/atmos_requirements for handling reacting to atmosphere, and /datum/element/body_temperature for handling changes in body temperature.

Migrating simple mobs to basic mobs is an incremental effort; and refactors should be considered before making large changes to existing simple mob code.

Vars

armor_penetration_flatFlat armour reduction, occurs after percentage armour penetration.
armor_penetration_percentagePercentage armour reduction, happens before flat armour reduction.
atmos_requirementsLeaving something at 0 means it's off - has no maximum.
attack_soundSound played when the critter attacks.
attack_verb_continuousBasic mob's own attacks verbs, Attacking verb in present continuous tense.
attack_verb_simpleAttacking verb in present simple tense.
attacked_soundSound played when the critter is attacked.
can_be_on_fireCan this mob ignite?
casing_typeWhat casing type is the projectile?
damage_coeff1 for full damage, 0 for none, -1 for 1:1 heal from that source.
death_messageThe message displayed on death
death_soundThe sound played on death
environment_smashWhat can this mob break?
fire_damageHow much fire damage does a mob take?
force_thresholdMinimum force required to deal any damage
friendly_verb_continuousAttacking, but without damage, verb in present continuous tense.
friendly_verb_simpleAttacking, but without damage, verb in present simple tense.
gold_core_spawnableIf the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood
harm_intent_damageThe amount of damage done to the mob when hand-attacked on harm intent.
icon_deadIcon when the animal is dead.
icon_gibWe only try to show a gibbing animation if this exists.
icon_livingIcon to use when the animal is alive.
icon_restingIcon when the animal is resting
is_rangedDoes this type do range attacks?
lootLoot this mob drops on death.
master_commanderHolding var for determining who own/controls a sentient simple animal (for sentience potions).
maximum_survivable_temperatureMaximal body temperature without receiving damage
melee_attack_cooldown_maxUpper bound for melee attack cooldown
melee_attack_cooldown_minLower bound for melee attack cooldown
melee_damage_lowerLower bound of damage done by unarmed melee attacks.
melee_damage_typeDamage type of a simple mob's melee attack, should it do damage.
melee_damage_upperUpper bound of damage done by unarmed melee attacks.
minimum_survivable_temperatureMinimal body temperature without receiving damage
nestCompatibility with mob spawners
obj_damageHow much damage this simple animal does to objects, if any
projectile_soundWhat sound does it make when firing?
projectile_typeWhat projectile do we shoot?
ranged_burst_countHow many shots in a burst?
ranged_burst_intervalHow fast do we fire between shots in a burst?
ranged_cooldownTime between bursts
response_disarm_continuousDisarm-intent verb in present continuous tense.
response_disarm_simpleDisarm-intent verb in present simple tense.
response_harm_continuousHarm-intent verb in present continuous tense.
response_harm_simpleHarm-intent verb in present simple tense.
response_help_continuousWhen someone interacts with the simple animal. Help-intent verb in present continuous tense.
response_help_simpleHelp-intent verb in present simple tense.
sentience_typeSentience type, for slime potions
speedHigher speed is slower, negative speed is faster
step_typeFootsteps
unintelligble_phrasesWhat is heard by mobs who cannot understand this one when speaking. This doesn't feel like it belongs here but say code and language code is a mess to untangle so maybe it can move somewhere later.
unsuitable_atmos_damageThis damage is taken when atmos doesn't fit all the requirements above. Set to 0 to avoid adding the atmos_requirements element.
unsuitable_cold_damageThis damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the body_temp_sensitive element.
unsuitable_heat_damageThis damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the body_temp_sensitive element.

Procs

valid_respawn_target_forReturn whether or not ghosts can take over this mob via "Respawn as NPC"

Var Details

armor_penetration_flat

Flat armour reduction, occurs after percentage armour penetration.

armor_penetration_percentage

Percentage armour reduction, happens before flat armour reduction.

atmos_requirements

Leaving something at 0 means it's off - has no maximum.

attack_sound

Sound played when the critter attacks.

attack_verb_continuous

Basic mob's own attacks verbs, Attacking verb in present continuous tense.

attack_verb_simple

Attacking verb in present simple tense.

attacked_sound

Sound played when the critter is attacked.

can_be_on_fire

Can this mob ignite?

casing_type

What casing type is the projectile?

damage_coeff

1 for full damage, 0 for none, -1 for 1:1 heal from that source.

death_message

The message displayed on death

death_sound

The sound played on death

environment_smash

What can this mob break?

fire_damage

How much fire damage does a mob take?

force_threshold

Minimum force required to deal any damage

friendly_verb_continuous

Attacking, but without damage, verb in present continuous tense.

friendly_verb_simple

Attacking, but without damage, verb in present simple tense.

gold_core_spawnable

If the mob can be spawned with a gold slime core. HOSTILE_SPAWN are spawned with plasma, FRIENDLY_SPAWN are spawned with blood

harm_intent_damage

The amount of damage done to the mob when hand-attacked on harm intent.

icon_dead

Icon when the animal is dead.

icon_gib

We only try to show a gibbing animation if this exists.

icon_living

Icon to use when the animal is alive.

icon_resting

Icon when the animal is resting

is_ranged

Does this type do range attacks?

loot

Loot this mob drops on death.

master_commander

Holding var for determining who own/controls a sentient simple animal (for sentience potions).

maximum_survivable_temperature

Maximal body temperature without receiving damage

melee_attack_cooldown_max

Upper bound for melee attack cooldown

melee_attack_cooldown_min

Lower bound for melee attack cooldown

melee_damage_lower

Lower bound of damage done by unarmed melee attacks.

melee_damage_type

Damage type of a simple mob's melee attack, should it do damage.

melee_damage_upper

Upper bound of damage done by unarmed melee attacks.

minimum_survivable_temperature

Minimal body temperature without receiving damage

nest

Compatibility with mob spawners

obj_damage

How much damage this simple animal does to objects, if any

projectile_sound

What sound does it make when firing?

projectile_type

What projectile do we shoot?

ranged_burst_count

How many shots in a burst?

ranged_burst_interval

How fast do we fire between shots in a burst?

ranged_cooldown

Time between bursts

response_disarm_continuous

Disarm-intent verb in present continuous tense.

response_disarm_simple

Disarm-intent verb in present simple tense.

response_harm_continuous

Harm-intent verb in present continuous tense.

response_harm_simple

Harm-intent verb in present simple tense.

response_help_continuous

When someone interacts with the simple animal. Help-intent verb in present continuous tense.

response_help_simple

Help-intent verb in present simple tense.

sentience_type

Sentience type, for slime potions

speed

Higher speed is slower, negative speed is faster

step_type

Footsteps

unintelligble_phrases

What is heard by mobs who cannot understand this one when speaking. This doesn't feel like it belongs here but say code and language code is a mess to untangle so maybe it can move somewhere later.

unsuitable_atmos_damage

This damage is taken when atmos doesn't fit all the requirements above. Set to 0 to avoid adding the atmos_requirements element.

unsuitable_cold_damage

This damage is taken when the body temp is too cold. Set both this and unsuitable_heat_damage to 0 to avoid adding the body_temp_sensitive element.

unsuitable_heat_damage

This damage is taken when the body temp is too hot. Set both this and unsuitable_cold_damage to 0 to avoid adding the body_temp_sensitive element.

Proc Details

valid_respawn_target_for

Return whether or not ghosts can take over this mob via "Respawn as NPC"