Files
Bubberstation/code/modules/movespeed/modifiers/mobs.dm
Jacquerel 99869cef92 You can transplant xenomorph tails onto people (#89618)
## About The Pull Request

This PR allows you to extract tail organs from xenomorphs and surgically
attach xenomorph tails to people.
(Despite being a carbon the xenomorph sprite is not built out of
component overlays so this technically does not remove the tail from its
corpse sorry).

Having a xenomorph tail makes you better at tackling, changes your
tackle verb to "pounce" like if you are a felinid, and also gives you
the parkour benefits of the Freerunning quirk.

![image](https://github.com/user-attachments/assets/6eb0f825-4f23-4a22-aa4d-03cc1cbd676a)
You can also surgically attach a xenomorph _queen_'s tail to someone.
This arguably is a bad idea because it makes you slower (it's much too
heavy) but it does give you access to the queen's tail spin attack
(after which you will fall over if you aren't inhumanly strong). Also
more importantly, it is comically large.

## Why It's Good For The Game

Look I'm racking my brain but this one really mostly comes down to "it's
funny to do this".
But let's pretend that it also increases the depth and complexity of the
sandbox and promotes interesting interactions between crewmembers or
something like that.

Ideally sometimes in the future we will either decide that xenomorphs
are not carbons (is it purely because they have organs?) or decide that
they _are_ carbons and build them accordingly. In the latter case this
will have been a useful addition.

## Changelog

🆑
add: You can transplant xenomorph tails onto people.
/🆑
2025-03-01 22:53:14 +11:00

186 lines
4.7 KiB
Plaintext

/datum/movespeed_modifier/obesity
// large weight slows even if flying and floating
multiplicative_slowdown = 1.5
/datum/movespeed_modifier/monkey_reagent_speedmod
variable = TRUE
/datum/movespeed_modifier/monkey_health_speedmod
variable = TRUE
/datum/movespeed_modifier/monkey_temperature_speedmod
variable = TRUE
/datum/movespeed_modifier/hunger
movetypes = GROUND|FLYING
variable = TRUE
/datum/movespeed_modifier/golem_hunger
variable = TRUE
/datum/movespeed_modifier/slaughter
multiplicative_slowdown = -1
/datum/movespeed_modifier/resonance
multiplicative_slowdown = 0.75
/datum/movespeed_modifier/damage_slowdown
blacklisted_movetypes = FLOATING|FLYING
variable = TRUE
/datum/movespeed_modifier/damage_slowdown_flying
movetypes = FLYING
variable = TRUE
/// Movespeed modifier applied by worn equipment.
/datum/movespeed_modifier/equipment_speedmod
variable = TRUE
blacklisted_movetypes = FLOATING
/// Movespeed modifier applied by immutably slow worn equipment. Should never be ignored, because that's the point.
/datum/movespeed_modifier/equipment_speedmod/immutable
/datum/movespeed_modifier/grab_slowdown
id = MOVESPEED_ID_MOB_GRAB_STATE
blacklisted_movetypes = FLOATING
/datum/movespeed_modifier/grab_slowdown/aggressive
multiplicative_slowdown = 3
/datum/movespeed_modifier/grab_slowdown/neck
multiplicative_slowdown = 6
/datum/movespeed_modifier/grab_slowdown/kill
multiplicative_slowdown = 9
/datum/movespeed_modifier/config_walk_run
multiplicative_slowdown = 1
id = MOVESPEED_ID_MOB_WALK_RUN
flags = IGNORE_NOSLOW
/datum/movespeed_modifier/config_walk_run/proc/sync()
/datum/movespeed_modifier/config_walk_run/walk/sync()
var/mod = CONFIG_GET(number/movedelay/walk_delay)
multiplicative_slowdown = isnum(mod)? mod : initial(multiplicative_slowdown)
/datum/movespeed_modifier/config_walk_run/run/sync()
var/mod = CONFIG_GET(number/movedelay/run_delay)
multiplicative_slowdown = isnum(mod)? mod : initial(multiplicative_slowdown)
/datum/movespeed_modifier/turf_slowdown
movetypes = GROUND
blacklisted_movetypes = (FLYING|FLOATING)
variable = TRUE
/datum/movespeed_modifier/bulky_drag
variable = TRUE
blacklisted_movetypes = FLOATING
/datum/movespeed_modifier/cold
blacklisted_movetypes = FLOATING
variable = TRUE
/datum/movespeed_modifier/staggered
multiplicative_slowdown = STAGGERED_SLOWDOWN_STRENGTH
/datum/movespeed_modifier/human_carry
multiplicative_slowdown = HUMAN_CARRY_SLOWDOWN
blacklisted_movetypes = FLOATING
/datum/movespeed_modifier/limbless
variable = TRUE
movetypes = GROUND
blacklisted_movetypes = FLOATING|FLYING
flags = IGNORE_NOSLOW
/datum/movespeed_modifier/simplemob_varspeed
variable = TRUE
flags = IGNORE_NOSLOW
/datum/movespeed_modifier/fast_web
multiplicative_slowdown = 0.2
/datum/movespeed_modifier/young_web
multiplicative_slowdown = 0.5
/datum/movespeed_modifier/spiderling_web
multiplicative_slowdown = 0.7
/datum/movespeed_modifier/average_web
multiplicative_slowdown = 1.2
/datum/movespeed_modifier/below_average_web
multiplicative_slowdown = 2.5
/datum/movespeed_modifier/slow_web
multiplicative_slowdown = 5
/datum/movespeed_modifier/viper_defensive
multiplicative_slowdown = 1.5
/datum/movespeed_modifier/gravity
blacklisted_movetypes = FLOATING
variable = TRUE
flags = IGNORE_NOSLOW
/datum/movespeed_modifier/carbon_softcrit
multiplicative_slowdown = SOFTCRIT_ADD_SLOWDOWN
flags = IGNORE_NOSLOW
/datum/movespeed_modifier/carbon_crawling
multiplicative_slowdown = CRAWLING_ADD_SLOWDOWN
flags = IGNORE_NOSLOW
/datum/movespeed_modifier/mob_config_speedmod
variable = TRUE
flags = IGNORE_NOSLOW
/datum/movespeed_modifier/metabolicboost
multiplicative_slowdown = -1.5
/datum/movespeed_modifier/dragon_rage
multiplicative_slowdown = -0.5
/datum/movespeed_modifier/dragon_depression
multiplicative_slowdown = 5
/datum/movespeed_modifier/morph_disguised
multiplicative_slowdown = -1
/datum/movespeed_modifier/auto_wash
multiplicative_slowdown = 3
/datum/movespeed_modifier/player_spider_modifier
variable = TRUE
/datum/movespeed_modifier/health_scaling_speed_buff
variable = TRUE
/datum/movespeed_modifier/alien_speed
variable = TRUE
/datum/movespeed_modifier/grown_killer_tomato
variable = TRUE
/datum/movespeed_modifier/goliath_mount
multiplicative_slowdown = -26
/datum/movespeed_modifier/settler
multiplicative_slowdown = 0.2
blacklisted_movetypes = FLOATING|FLYING
/datum/movespeed_modifier/basilisk_overheat
multiplicative_slowdown = -18
/datum/movespeed_modifier/magic_ties
multiplicative_slowdown = 0.5
///speed bonus given by the fish tail organ when inside water.
/datum/movespeed_modifier/fish_on_water
blacklisted_movetypes = MOVETYPES_NOT_TOUCHING_GROUND
multiplicative_slowdown = - /turf/open/water::slowdown
/datum/movespeed_modifier/tail_dragger
multiplicative_slowdown = 4