From 9cc2096ea1f1ca1ec2cfdda7faace01698a5ce87 Mon Sep 17 00:00:00 2001
From: 81Denton <32391752+81Denton@users.noreply.github.com>
Date: Thu, 27 Dec 2018 21:35:50 +0100
Subject: [PATCH] Add netherworld portal interaction for zombies and skeletons
(#42082)
---
code/__DEFINES/is_helpers.dm | 1 +
.../living/simple_animal/hostile/netherworld.dm | 15 +++++++++++++--
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm
index 14ca277a239..600fc8eb266 100644
--- a/code/__DEFINES/is_helpers.dm
+++ b/code/__DEFINES/is_helpers.dm
@@ -65,6 +65,7 @@ GLOBAL_LIST_INIT(turfs_without_ground, typecacheof(list(
#define isslimeperson(A) (is_species(A, /datum/species/jelly/slime))
#define isluminescent(A) (is_species(A, /datum/species/jelly/luminescent))
#define iszombie(A) (is_species(A, /datum/species/zombie))
+#define isskeleton(A) (is_species(A, /datum/species/skeleton))
#define ismoth(A) (is_species(A, /datum/species/moth))
#define ishumanbasic(A) (is_species(A, /datum/species/human))
#define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) )
diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
index ccdc0d97e92..496f2f0250e 100644
--- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm
+++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
@@ -66,7 +66,7 @@
/obj/structure/spawner/nether
name = "netherworld link"
- desc = "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea."
+ desc = null //see examine()
icon_state = "nether"
max_integrity = 50
spawn_time = 600 //1 minute
@@ -80,9 +80,20 @@
.=..()
START_PROCESSING(SSprocessing, src)
+/obj/structure/spawner/nether/examine(mob/user)
+ ..()
+ if(isskeleton(user) || iszombie(user))
+ to_chat(user, "A direct link to another dimension full of creatures very happy to see you. You can see your house from here!")
+ else
+ to_chat(user, "A direct link to another dimension full of creatures not very happy to see you. Entering the link would be a very bad idea.")
+
/obj/structure/spawner/nether/attack_hand(mob/user)
+ . = ..()
+ if(isskeleton(user) || iszombie(user))
+ to_chat(user, "You don't feel like going home yet...")
+ else
user.visible_message("[user] is violently pulled into the link!", \
- "Touching the portal, you are quickly pulled through into a world of unimaginable horror!")
+ "Touching the portal, you are quickly pulled through into a world of unimaginable horror!")
contents.Add(user)
/obj/structure/spawner/nether/process()