Adds teleportation sickness to bluespace gene plants and bluespace crystals (#18218)

* Adds teleportsick to bluespace genes and bluespace crystals

* Update code/datums/status_effects/debuffs.dm

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>

* named stuff

* changes order

* Update code/datums/status_effects/debuffs.dm

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2022-07-07 11:32:47 -05:00
committed by GitHub
co-authored by Charlie SteelSlayer
parent 1d0e3dde0f
commit c0802f2b90
5 changed files with 37 additions and 2 deletions
+2
View File
@@ -66,6 +66,8 @@
#define STATUS_EFFECT_SAWBLEED /datum/status_effect/saw_bleed //if the bleed builds up enough, takes a ton of damage
#define STATUS_EFFECT_TELEPORTSICK /datum/status_effect/teleport_sickness //increasing debuffs as you rapidly teleport.
#define STATUS_EFFECT_PACIFIED /datum/status_effect/pacifism //forces the pacifism trait
//#define STATUS_EFFECT_NECROPOLIS_CURSE /datum/status_effect/necropolis_curse
//#define CURSE_BLINDING 1 //makes the edges of the target's screen obscured
+29
View File
@@ -137,6 +137,35 @@
else
new /obj/effect/temp_visual/bleed(get_turf(owner))
/datum/status_effect/teleport_sickness
id = "teleportation sickness"
duration = 30 SECONDS
status_type = STATUS_EFFECT_REFRESH
alert_type = /obj/screen/alert/status_effect/teleport_sickness
var/teleports = 1
/obj/screen/alert/status_effect/teleport_sickness
name = "Teleportation sickness"
desc = "You feel like you are going to throw up with all this teleporting."
icon_state = "bluespace"
/datum/status_effect/teleport_sickness/refresh()
. = ..()
if(ishuman(owner))
var/mob/living/carbon/human/M = owner
teleports++
if(teleports < 3)
return
if(teleports < 6)
to_chat(M, "<span class='warning'>You feel a bit sick!</span>")
M.vomit(lost_nutrition = 15, blood = 0, stun = 0, distance = 0, message = 1)
M.Weaken(2 SECONDS)
else
to_chat(M, "<span class='danger'>You feel really sick!</span>")
M.adjustBruteLoss(rand(0, teleports * 2))
M.vomit(lost_nutrition = 30, blood = 0, stun = 0, distance = 0, message = 1)
M.Weaken(6 SECONDS)
/datum/status_effect/pacifism
id = "pacifism_debuff"
alert_type = null
+5 -2
View File
@@ -307,10 +307,12 @@
/datum/plant_gene/trait/teleport/on_squash(obj/item/reagent_containers/food/snacks/grown/G, atom/target)
if(isliving(target))
var/mob/living/L = target
var/teleport_radius = max(round(G.seed.potency / 10), 1)
var/turf/T = get_turf(target)
var/turf/T = get_turf(L)
new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect...
do_teleport(target, T, teleport_radius)
do_teleport(L, T, teleport_radius)
L.apply_status_effect(STATUS_EFFECT_TELEPORTSICK)
/datum/plant_gene/trait/teleport/on_slip(obj/item/reagent_containers/food/snacks/grown/G, mob/living/carbon/C)
var/teleport_radius = max(round(G.seed.potency / 10), 1)
@@ -319,6 +321,7 @@
to_chat(C, "<span class='warning'>You slip through spacetime!</span>")
if(prob(50))
do_teleport(G, T, teleport_radius)
C.apply_status_effect(STATUS_EFFECT_TELEPORTSICK)
else
new /obj/effect/decal/cleanable/molten_object(T) //Leave a pile of goo behind for dramatic effect...
qdel(G)
+1
View File
@@ -30,6 +30,7 @@
qdel(src)
return
do_teleport(L, get_turf(L), blink_range, asoundin = 'sound/effects/phasein.ogg')
L.apply_status_effect(STATUS_EFFECT_TELEPORTSICK)
/obj/item/stack/ore/bluespace_crystal/throw_impact(atom/hit_atom)
..()
Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

After

Width:  |  Height:  |  Size: 60 KiB