Merge pull request #11002 from BlackMajor/walkerbois

Makes the Ash Walker camp a static spawn in lavaland.
This commit is contained in:
kevinz000
2020-02-15 11:47:58 -07:00
committed by GitHub
3 changed files with 2116 additions and 645 deletions
File diff suppressed because it is too large Load Diff
@@ -51,14 +51,17 @@
move_resist = MOVE_FORCE_NORMAL
density = FALSE
short_desc = "You are an ash walker. Your tribe worships the Necropolis."
flavour_text = "The wastes are sacred ground, its monsters a blessed bounty. You would never leave its sacred ground. \
You have seen lights in the distance... they foreshadow the arrival of outsiders that seek to tear apart the Necropolis and its domain. \
Fresh sacrifices for your nest."
flavour_text = "The wastes are sacred ground, its monsters a blessed bounty. You would never willingly leave your homeland behind. \
You have seen lights in the distance... they foreshadow the arrival of outsiders to your domain. \
Ensure your nest remains protected at all costs."
assignedrole = "Ash Walker"
/obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn)
new_spawn.real_name = random_unique_lizard_name(gender)
to_chat(new_spawn, "<b>Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!</b>")
if(is_mining_level(z))
to_chat(new_spawn, "<b>Drag the corpses of men and beasts to your nest. It will absorb them to create more of your kind. Glory to the Necropolis!</b>")
else
to_chat(new_spawn, "<span class='userdanger'>You have been born outside of your natural home! Whether you decide to return home, or make due with your new home is your own decision.</span>")
new_spawn.grant_language(/datum/language/draconic)
var/datum/language_holder/holder = new_spawn.get_language_holder()
@@ -22,6 +22,8 @@
var/static/mutable_appearance/dais_overlay
var/obj/structure/opacity_blocker/sight_blocker
var/sight_blocker_distance = 1
var/uses
var/ashwalker_only = FALSE
/obj/structure/necropolis_gate/Initialize()
. = ..()
@@ -87,9 +89,13 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/structure/necropolis_gate/attack_hand(mob/user)
if(locked)
if(locked || uses == 0)
to_chat(user, "<span class='boldannounce'>It's [open ? "stuck open":"locked"].</span>")
return
if(ashwalker_only)
if(!(user.mind.assigned_role == "Ash Walker"))
to_chat(user, "<span class='boldannounce'>The gate screeches in an incoherant language!</span>")
return
toggle_the_gate(user)
return ..()
@@ -131,12 +137,18 @@
density = FALSE
sleep(5)
open = TRUE
if(uses && uses > 0)
uses -= 1
changing_openness = FALSE
return TRUE
/obj/structure/necropolis_gate/locked
locked = TRUE
/obj/structure/necropolis_gate/ashwalker
uses = 1
ashwalker_only = TRUE
GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
/obj/structure/necropolis_gate/legion_gate
desc = "A tremendous, impossibly large gateway, set into a massive tower of stone."