Slip behaviour component 
Add this component to an object to make it a slippery object, slippery objects make mobs that cross them fall over. Items with this component that get picked up may give their parent mob the slip behaviour.
Here is a simple example of adding the component behaviour to an object.area
AddComponent(/datum/component/slippery, 80, 0, (NO_SLIP_WHEN_WALKING | SLIDE))
This adds slippery behaviour to the parent atom, with a 80 decisecond (~8 seconds) weaken The lube flags control how the slip behaves, in this case, the mob wont slip if it's in walking mode (NO_SLIP_WHEN_WALKING) and if they do slip, they will slide a few tiles (SLIDE)
This component has configurable behaviours, see the Initialize proc for the argument listing.
Vars | |
can_slip_callback | Optional callback allowing you to define custom conditions for slipping |
---|---|
default_connections | What we give to connect_loc by default, makes slippable mobs moving over us slip |
lube_flags | Flags for how slippery the parent is. See [__DEFINES/mobs.dm] |
on_slip_callback | Optional call back that is called when a mob slips on this component |
slip_tiles | The amount of tiles someone will be moved after slip |
weaken_time | How long the slip keeps the crossing mob weakened |
Procs | |
Initialize | Initialize the slippery component behaviour |
Slip | The proc that does the sliping. Invokes the slip callback we have set. |
Var Details
can_slip_callback 
Optional callback allowing you to define custom conditions for slipping
default_connections 
What we give to connect_loc by default, makes slippable mobs moving over us slip
lube_flags 
Flags for how slippery the parent is. See [__DEFINES/mobs.dm]
on_slip_callback 
Optional call back that is called when a mob slips on this component
slip_tiles 
The amount of tiles someone will be moved after slip
weaken_time 
How long the slip keeps the crossing mob weakened
Proc Details
Initialize
Initialize the slippery component behaviour
When applied to any atom in the game this will apply slipping behaviours to that atom
Arguments:
- weaken - Length of time the weaken applies (Deciseconds)
- lube_flags - Controls the slip behaviour, they are listed starting here
- datum/callback/on_slip_callback - Callback to define further custom controls on when slipping is applied
- datum/callback/on_slip_callback - Callback to add custom behaviours as the crossing mob is slipped
Slip
The proc that does the sliping. Invokes the slip callback we have set.
Arguments
- source - the source of the signal
- arrived - the atom/movable that is being slipped.