Files
Timothy TeakettleandGitHub beac640d90 adds the aquatic trait (#6969)
## About The Pull Request
underwater vore ability that is just fluff and a way to go
semi-invisible and faster in water
you're also as fast as an akula in water (this doesn't stack with akula)

## Why It's Good For The Game
granodd asked for it and i can't see why not

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: adds the aquatic trait
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2025-01-21 05:25:13 -08:00

204 lines
6.4 KiB
Plaintext

/datum/modifier/trait
flags = MODIFIER_GENETIC // We want traits to persist if the person gets cloned.
/datum/modifier/trait/flimsy
name = "flimsy"
desc = "You're more fragile than most, and have less of an ability to endure harm."
on_created_text = "<span class='warning'>You feel rather weak.</span>"
on_expired_text = "<span class='notice'>You feel your strength returning to you.</span>"
max_health_percent = 0.8
/datum/modifier/trait/frail
name = "frail"
desc = "Your body is very fragile, and has even less of an ability to endure harm."
on_created_text = "<span class='warning'>You feel really weak.</span>"
on_expired_text = "<span class='notice'>You feel your strength returning to you.</span>"
max_health_percent = 0.6
/datum/modifier/trait/weak
name = "weak"
desc = "A lack of physical strength causes a diminshed capability in close quarters combat"
outgoing_melee_damage_percent = 0.8
/datum/modifier/trait/wimpy
name = "wimpy"
desc = "An extreme lack of physical strength causes greatly diminished capability in close quarters combat."
outgoing_melee_damage_percent = 0.6
/datum/modifier/trait/haemophilia
name = "haemophilia"
desc = "You bleed much faster than average."
bleeding_rate_percent = 3.0
/datum/modifier/trait/inaccurate
name = "Inaccurate"
desc = "You're rather inexperienced with guns, you've never used one in your life, or you're just really rusty. \
Regardless, you find it quite difficult to land shots where you wanted them to go."
accuracy = -15
accuracy_dispersion = 1
/datum/modifier/trait/high_metabolism
name = "High Metabolsim"
desc = "Your body's metabolism is faster than average."
metabolism_percent = 2.0
incoming_healing_percent = 1.4
/datum/modifier/trait/low_metabolism
name = "Low Metabolism"
desc = "Your body's metabolism is slower than average."
metabolism_percent = 0.5
incoming_healing_percent = 0.6
/datum/modifier/trait/taller
name = "Taller"
desc = "Your body is taller than average."
icon_scale_x_percent = 1
icon_scale_y_percent = 1.09
/datum/modifier/trait/tall
name = "Tall"
desc = "Your body is a bit taller than average."
icon_scale_x_percent = 1
icon_scale_y_percent = 1.05
/datum/modifier/trait/short
name = "Short"
desc = "Your body is a bit shorter than average."
icon_scale_x_percent = 1
icon_scale_y_percent = 0.95
/datum/modifier/trait/shorter
name = "Shorter"
desc = "You are shorter than average."
icon_scale_x_percent = 1
icon_scale_y_percent = 0.915
/datum/modifier/trait/fat
name = "Overweight"
desc = "You are heavier than average."
metabolism_percent = 1.2
icon_scale_x_percent = 1.054
icon_scale_y_percent = 1
slowdown = 1.1
max_health_percent = 1.05
/datum/modifier/trait/obese
name = "Obese"
desc = "You are much heavier than average."
metabolism_percent = 1.4
icon_scale_x_percent = 1.095
icon_scale_y_percent = 1
slowdown = 1.2
max_health_percent = 1.10
/datum/modifier/trait/thin
name = "Thin"
desc = "You are skinnier than average."
metabolism_percent = 0.8
icon_scale_x_percent = 0.945
icon_scale_y_percent = 1
max_health_percent = 0.95
outgoing_melee_damage_percent = 0.95
/datum/modifier/trait/thinner
name = "Very Thin"
desc = "You are much skinnier than average."
metabolism_percent = 0.6
icon_scale_x_percent = 0.905
icon_scale_y_percent = 1
max_health_percent = 0.90
outgoing_melee_damage_percent = 0.9
/datum/modifier/trait/colorblind_protanopia
name = "Protanopia"
desc = "You have a form of red-green colorblindness. You cannot see reds, and have trouble distinguishing them from yellows and greens."
client_color = MATRIX_Protanopia
wire_colors_replace = PROTANOPIA_COLOR_REPLACE
/datum/modifier/trait/colorblind_deuteranopia
name = "Deuteranopia"
desc = "You have a form of red-green colorblindness. You cannot see greens, and have trouble distinguishing them from yellows and reds."
client_color = MATRIX_Deuteranopia
wire_colors_replace = DEUTERANOPIA_COLOR_REPLACE
/datum/modifier/trait/colorblind_tritanopia
name = "Tritanopia"
desc = "You have a form of blue-yellow colorblindness. You have trouble distinguishing between blues, greens, and yellows, and see blues and violets as dim."
client_color = MATRIX_Tritanopia
wire_colors_replace = TRITANOPIA_COLOR_REPLACE
/datum/modifier/trait/colorblind_taj
name = "Colorblind - Blue-red"
desc = "You are colorblind. You have a minor issue with blue colors and have difficulty recognizing them from red colors."
client_color = MATRIX_Taj_Colorblind
wire_colors_replace = TRITANOPIA_COLOR_REPLACE
/datum/modifier/trait/colorblind_vulp
name = "Colorblind - Red-green"
desc = "You are colorblind. You have a severe issue with green colors and have difficulty recognizing them from red colors."
client_color = MATRIX_Vulp_Colorblind
wire_colors_replace = PROTANOPIA_COLOR_REPLACE
/datum/modifier/trait/colorblind_monochrome
name = "Monochromacy"
desc = "You are fully colorblind. Your condition is rare, but you can see no colors at all."
client_color = MATRIX_Monochromia
wire_colors_replace = GREYSCALE_COLOR_REPLACE
/datum/modifier/trait/underwater_stealth
name = "underwater stealth"
desc = "You are currently underwater, rendering it more difficult to see you and enabling you to move quicker, thanks to your aquatic nature."
on_created_text = "<span class='warning'>You sink under the water.</span>"
on_expired_text = "<span class='notice'>You come out from the water.</span>"
stacks = MODIFIER_STACK_FORBID
slowdown = -1.0 //A bit faster when actually submerged fully in water, as you're not waddling through it.
siemens_coefficient = 1.5 //You are, however, underwater. Getting shocked will hurt.
outgoing_melee_damage_percent = 0.75 //You are swinging a sword under water...Good luck.
accuracy = -50 //You're underwater. Good luck shooting a gun. (Makes shots as if you were 3.33 tiles further.)
evasion = 30 //You're underwater and a bit harder to hit.
/datum/modifier/trait/underwater_stealth/on_applied()
holder.alpha = 50
return
/datum/modifier/trait/underwater_stealth/on_expire()
holder.alpha = 255
return
/datum/modifier/trait/underwater_stealth/tick()
if(holder.stat == DEAD)
expire(silent = TRUE) //If you're dead you float to the top.
if(istype(holder.loc, /turf/simulated/floor/water))
var/turf/simulated/floor/water/water_floor = holder.loc
if(water_floor.depth < 1) //You're not in deep enough water anymore.
expire(silent = FALSE)
if(water_floor.depth > 1)
holder.alpha = 50
else
holder.alpha = 65
else
expire(silent = FALSE)