Merge remote-tracking branch 'citadel/master' into mobility_flags

This commit is contained in:
kevinz000
2020-01-19 16:18:12 -07:00
320 changed files with 5694 additions and 2936 deletions

View File

@@ -1,26 +1,31 @@
#define ASH_WALKER_SPAWN_THRESHOLD 2
//The ash walker den consumes corpses or unconscious mobs to create ash walker eggs. For more info on those, check ghost_role_spawners.dm
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker
/obj/structure/lavaland/ash_walker
name = "necropolis tendril nest"
desc = "A vile tendril of corruption. It's surrounded by a nest of rapidly growing eggs..."
icon = 'icons/mob/nest.dmi'
icon_state = "ash_walker_nest"
icon_living = "ash_walker_nest"
icon_dead = "ash_walker_nest"
faction = list("ashwalker")
health = 200
maxHealth = 200
loot = list(/obj/effect/collapse)
move_resist=INFINITY // just killing it tears a massive hole in the ground, let's not move it
anchored = TRUE
density = TRUE
resistance_flags = FIRE_PROOF | LAVA_PROOF
max_integrity = 200
var/faction = list("ashwalker")
var/meat_counter = 6
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker/death()
/obj/structure/lavaland/ash_walker/Initialize()
.=..()
START_PROCESSING(SSprocessing, src)
/obj/structure/lavaland/ash_walker/deconstruct(disassembled)
new /obj/item/assembly/signaler/anomaly (get_step(loc, pick(GLOB.alldirs)))
return ..()
new /obj/effect/collapse(loc)
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker/Life()
/obj/structure/lavaland/ash_walker/process()
consume()
return ..()
spawn_mob()
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker/proc/consume()
/obj/structure/lavaland/ash_walker/proc/consume()
for(var/mob/living/H in view(src, 1)) //Only for corpse right next to/on same tile
if(H.stat)
visible_message("<span class='warning'>Serrated tendrils eagerly pull [H] to [src], tearing the body apart as its blood seeps over the eggs.</span>")
@@ -33,9 +38,9 @@
else
meat_counter++
H.gib()
adjustHealth(-maxHealth * 0.05)//restores 5% hp of tendril
obj_integrity = min(obj_integrity + max_integrity*0.05,max_integrity)//restores 5% hp of tendril
/mob/living/simple_animal/hostile/spawner/lavaland/ash_walker/spawn_mob()
/obj/structure/lavaland/ash_walker/proc/spawn_mob()
if(meat_counter >= ASH_WALKER_SPAWN_THRESHOLD)
new /obj/effect/mob_spawn/human/ash_walker(get_step(loc, pick(GLOB.alldirs)))
visible_message("<span class='danger'>One of the eggs swells to an unnatural size and tumbles free. It's ready to hatch!</span>")

View File

@@ -172,6 +172,15 @@ GLOBAL_VAR_INIT(hhmysteryRoomNumber, 1337)
var/turf/T = locate(_x, _y, _z)
A.forceMove(T)
/obj/item/hilbertshotel/ghostdojo
name = "Infinite Dormitories"
anchored = TRUE
interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND
/obj/item/hilbertshotel/ghostdojo/interact(mob/user)
. = ..()
promptAndCheckIn(user)
//Template Stuff
/datum/map_template/hilbertshotel
name = "Hilbert's Hotel Room"