mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-01-28 09:52:38 +00:00
- Changes Water Breather to Aquatic with a slew of new features. - Gives Akula and Skrell Aquatic by default. Lets Xenochimera choose Aquatic as a neutral trait. AQUATIC: - Gives the person the water_breather variable - Allows the person to move in water better. (No slowdown in shallow, 1/2 slowdown in deep) - Gives two new commands that can be used. Command #1: "Dive under water / Resurface" - Allows the user to dive under water, making them harder to see (still somewhat visible and able to be clicked, however) and enabling usage of the next command. - Gives them a speed boost (1.5) when fully submerged, meaning they can move in shallow water faster than normal and deep water at 2.5 slowdown instead of 4 slowdown w/ the water_speed variable alone. - Makes them 1.5x weaker to shocks while using this (due to being fully submerged). This, combined with being weaker to shocks when coated with water makes them much weaker to shocks. - Makes them 25% weaker with melee weapons when underwater. Swinging a tool in water is difficult! - Makes them have a -50 accuracy penalty when firing guns under water. (I did want to make it so you could not fire guns at all, but that framework did not exist.) - Makes them have a 30 evasion buff. This means they have a slightly better chance of evading shots, but if they get hit with a taser they're going down in a single shot. - Upon stepping out of the water, all the above perks/debuffs immediately cease. - Command can also be used to resurface, which also stops the above. Command #2: "Devour From Water" - After the user is fully submerged, allows the user to select a target that is also in the water (only in the water/on water turf such as a beach shoreline) - The target is alerted something is circling around them. - After 5 seconds, the target is eaten by whatever selected belly the predator has selected.
33 lines
1.4 KiB
Plaintext
33 lines
1.4 KiB
Plaintext
/datum/modifier/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.5 //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/underwater_stealth/on_applied()
|
|
holder.alpha = 50
|
|
return
|
|
|
|
/datum/modifier/underwater_stealth/on_expire()
|
|
holder.alpha = 255
|
|
return
|
|
|
|
/datum/modifier/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)
|
|
else
|
|
expire(silent = FALSE) |