Space Station 13 - Modules - TypesVar Details - Proc Details

movable

Vars

blocks_emissiveEither FALSE, [EMISSIVE_BLOCK_GENERIC], or EMISSIVE_BLOCK_UNIQUE
buckle_lyingBed-like behaviour, forces the mob to lie down if buckle_lying != -1
buckle_offsetThe Pixel_y to offset the buckled mob by
buckle_prevents_pullCan we pull the mob while they're buckled. Currently set to false on every movable
buckle_requires_restraintsRequire people to be handcuffed before being able to buckle. eg: pipes
buckled_mobsLazylist of the mobs buckled to this object.
can_be_unanchoredUsed for icon smoothing. Won't smooth if it ain't anchored and can be unanchored. Only set to true on windows
em_blockInternal holder for emissive blocker object, do not use directly use blocks_emissive
face_while_pullingFace towards the atom while pulling it
max_buckled_mobsThe max amount of mobs that can be buckled to this object. Currently set to 1 on every movable
orbiting_uidUID for the atom which the current atom is orbiting
thought_bubble_imageIcon state for thought bubbles. Normally set by mobs.

Procs

abstract_movemeant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this most of the time you want forceMove()
admin_FreezeCreated here as a base proc. Override as needed for any type of object or mob you want able to be frozen.
can_reachA backwards depth-limited breadth-first-search to see if the target is logically "in" anything adjacent to us.
create_point_bubbleCreate a bubble pointing at a particular icon and icon state. See args for create_point_bubble_from_atom.
create_point_bubble_from_atomCreate a point bubble towards a given item.
create_point_bubble_from_iconsCreate a point bubble towards a given item, from an icon/icon state.
create_point_bubble_from_pathSee above, this uses an uninstantiated path.
deadchat_playsAdds the deadchat_plays component to this atom with simple movement commands.
end_throwcalled after an items throw is ended.
fall_and_crushTip over this atom onto a turf, crushing things in its path.
key_loopKey loop to check for movement keys held and move in the desired direction.
on_crush_thinguseful callback for things that want special behavior on crush
orbitSet an atom to orbit around another one. This atom will follow the base atom's movement and rotate around it.
point_atPoint at an atom
set_glide_sizeThis proc is recursive, and calls itself to constantly set the glide size of an atom/movable
shove_impactcalled when a mob gets shoved into an items turf. false means the mob will be shoved backwards normally, true means the mob will not be moved by the disarm proc.
stop_deadchat_playsEasy way to remove the component when the fun has been played out
stop_orbitStop this atom from orbiting whatever it's orbiting.
tilt_overTip over an atom without too much fuss. This won't cause damage to anything, and just rotates the thing and (optionally) adds the component.
untiltUntilt a tilted object.

Var Details

blocks_emissive

Either FALSE, [EMISSIVE_BLOCK_GENERIC], or EMISSIVE_BLOCK_UNIQUE

buckle_lying

Bed-like behaviour, forces the mob to lie down if buckle_lying != -1

buckle_offset

The Pixel_y to offset the buckled mob by

buckle_prevents_pull

Can we pull the mob while they're buckled. Currently set to false on every movable

buckle_requires_restraints

Require people to be handcuffed before being able to buckle. eg: pipes

buckled_mobs

Lazylist of the mobs buckled to this object.

can_be_unanchored

Used for icon smoothing. Won't smooth if it ain't anchored and can be unanchored. Only set to true on windows

em_block

Internal holder for emissive blocker object, do not use directly use blocks_emissive

face_while_pulling

Face towards the atom while pulling it

max_buckled_mobs

The max amount of mobs that can be buckled to this object. Currently set to 1 on every movable

orbiting_uid

UID for the atom which the current atom is orbiting

thought_bubble_image

Icon state for thought bubbles. Normally set by mobs.

Proc Details

abstract_move

meant for movement with zero side effects. only use for objects that are supposed to move "invisibly" (like camera mobs or ghosts) if you want something to move onto a tile with a beartrap or recycler or tripmine or mouse without that object knowing about it at all, use this most of the time you want forceMove()

admin_Freeze

Created here as a base proc. Override as needed for any type of object or mob you want able to be frozen.

can_reach

A backwards depth-limited breadth-first-search to see if the target is logically "in" anything adjacent to us.

create_point_bubble

Create a bubble pointing at a particular icon and icon state. See args for create_point_bubble_from_atom.

create_point_bubble_from_atom

Create a point bubble towards a given item.

Arguments:

create_point_bubble_from_icons

Create a point bubble towards a given item, from an icon/icon state.

Arguments:

create_point_bubble_from_path

See above, this uses an uninstantiated path.

deadchat_plays

Adds the deadchat_plays component to this atom with simple movement commands.

Returns the component added. Arguments:

end_throw

called after an items throw is ended.

fall_and_crush

Tip over this atom onto a turf, crushing things in its path.

Arguments:

key_loop

Key loop to check for movement keys held and move in the desired direction.

on_crush_thing

useful callback for things that want special behavior on crush

orbit

Set an atom to orbit around another one. This atom will follow the base atom's movement and rotate around it.

orbiter: atom which will be doing the orbiting radius: range to orbit at, radius of the circle formed by orbiting clockwise: whether you orbit clockwise or anti clockwise rotation_speed: how fast to rotate rotation_segments: the resolution of the orbit circle, less = a more block circle, this can be used to produce hexagons (6 segments) triangles (3 segments), and so on, 36 is the best default. pre_rotation: Chooses to rotate src 90 degress towards the orbit dir (clockwise/anticlockwise), useful for things to go "head first" like ghosts lock_in_orbit: Forces src to always be on A's turf, otherwise the orbit cancels when src gets too far away (eg: ghosts) force_move: If true, ghosts will be ForceMoved instead of having their .loc updated directly. orbit_layer: layer that the orbiter should be on. The original layer will be restored on orbit end.

point_at

Point at an atom

Intended to enable and standardise the pointing animation for all atoms

Not intended as a replacement for the mob verb

set_glide_size

This proc is recursive, and calls itself to constantly set the glide size of an atom/movable

shove_impact

called when a mob gets shoved into an items turf. false means the mob will be shoved backwards normally, true means the mob will not be moved by the disarm proc.

stop_deadchat_plays

Easy way to remove the component when the fun has been played out

stop_orbit

Stop this atom from orbiting whatever it's orbiting.

tilt_over

Tip over an atom without too much fuss. This won't cause damage to anything, and just rotates the thing and (optionally) adds the component.

Arguments:

untilt

Untilt a tilted object.