Merge remote-tracking branch 'citadel/master' into mobility_flags
This commit is contained in:
@@ -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>")
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user