Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lizardconomy #16917

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions code/modules/ruins/ashwalkers/ashshack.dm
@@ -0,0 +1,5 @@
// Everyone loves mysterious shopkeepers, amirite?

/obj/structure/ashshack
name = "ash shack"
desc = "A ruined looking building made out of rotten wood. Despite its material, it seems very structurally sound."
55 changes: 55 additions & 0 deletions code/modules/ruins/ashwalkers/ashwalker.dm
@@ -0,0 +1,55 @@
/mob/living/simple_animal/hostile/spawner/ash_walker
name = "ash walker nest"
desc = "A nest built around a necropolis tendril. The eggs seem to grow unnaturally fast..."
icon = 'icons/mob/nest.dmi'
icon_state = "ash_walker_nest"
icon_living = "ash_walker_nest"
health = 200
maxHealth = 200
loot = list(/obj/effect/gibspawner, /obj/item/device/assembly/signaler/anomaly)
del_on_death = 1
var/meat_counter

/mob/living/simple_animal/hostile/spawner/ash_walker/Life()
..()
if(!stat)
consume()
spawn_mob()

/mob/living/simple_animal/hostile/spawner/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'>Tendrils reach out from \the [src.name] pulling [H] in! Blood seeps over the eggs as [H] is devoured.</span>")
playsound(get_turf(src),'sound/magic/Demon_consume.ogg', 100, 1)
meat_counter ++
H.gib()

/mob/living/simple_animal/hostile/spawner/ash_walker/spawn_mob()
if(meat_counter >= 2)
new /obj/effect/mob_spawn/human/ash_walker(get_step(src.loc, SOUTH))
visible_message("<span class='danger'>An egg is ready to hatch!</span>")
meat_counter -= 2

/obj/effect/mob_spawn/human/ash_walker
name = "ash walker egg"
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "large_egg"
mob_species = /datum/species/lizard
helmet = /obj/item/clothing/head/helmet/gladiator
uniform = /obj/item/clothing/under/gladiator
roundstart = FALSE
death = FALSE
anchored = 0
density = 0
flavour_text = {"<B>You are an Ash Walker. Your tribe worships <span class='danger'>the necropolis</span>. The wastes are sacred ground, it's monsters a blessed bounty. You have seen lights in the distance though, the arrival of outsiders seeking to destroy the land. Fresh sacrifices.</B>"}

/obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn)
new_spawn.real_name = random_unique_lizard_name(gender)
new_spawn << "Drag corpses to your nest to feed the young, and spawn more Ash Walkers. Bring glory to the tribe!"
if(ishuman(new_spawn))
var/mob/living/carbon/human/H = new_spawn
H.dna.species.specflags |= NOBREATH
H.dna.species.specflags |= NOGUNS



55 changes: 1 addition & 54 deletions code/modules/ruins/lavaland_ruin_code.dm
Expand Up @@ -166,60 +166,7 @@

///Ash Walkers

/mob/living/simple_animal/hostile/spawner/ash_walker
name = "ash walker nest"
desc = "A nest built around a necropolis tendril. The eggs seem to grow unnaturally fast..."
icon = 'icons/mob/nest.dmi'
icon_state = "ash_walker_nest"
icon_living = "ash_walker_nest"
health = 200
maxHealth = 200
loot = list(/obj/effect/gibspawner, /obj/item/device/assembly/signaler/anomaly)
del_on_death = 1
var/meat_counter

/mob/living/simple_animal/hostile/spawner/ash_walker/Life()
..()
if(!stat)
consume()
spawn_mob()

/mob/living/simple_animal/hostile/spawner/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'>Tendrils reach out from \the [src.name] pulling [H] in! Blood seeps over the eggs as [H] is devoured.</span>")
playsound(get_turf(src),'sound/magic/Demon_consume.ogg', 100, 1)
meat_counter ++
H.gib()

/mob/living/simple_animal/hostile/spawner/ash_walker/spawn_mob()
if(meat_counter >= 2)
new /obj/effect/mob_spawn/human/ash_walker(get_step(src.loc, SOUTH))
visible_message("<span class='danger'>An egg is ready to hatch!</span>")
meat_counter -= 2

/obj/effect/mob_spawn/human/ash_walker
name = "ash walker egg"
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "large_egg"
mob_species = /datum/species/lizard
helmet = /obj/item/clothing/head/helmet/gladiator
uniform = /obj/item/clothing/under/gladiator
roundstart = FALSE
death = FALSE
anchored = 0
density = 0
flavour_text = {"<B>You are an Ash Walker. Your tribe worships <span class='danger'>the necropolis</span>. The wastes are sacred ground, it's monsters a blessed bounty. You have seen lights in the distance though, the arrival of outsiders seeking to destroy the land. Fresh sacrifices.</B>"}

/obj/effect/mob_spawn/human/ash_walker/special(mob/living/new_spawn)
new_spawn.real_name = random_unique_lizard_name(gender)
new_spawn << "Drag corpses to your nest to feed the young, and spawn more Ash Walkers. Bring glory to the tribe!"
if(ishuman(new_spawn))
var/mob/living/carbon/human/H = new_spawn
H.dna.species.specflags |= NOBREATH
H.dna.species.specflags |= NOGUNS


// Moved to ashwalkers/ashwalker.dm

//Wishgranter Exile

Expand Down
2 changes: 2 additions & 0 deletions tgstation.dme
Expand Up @@ -1612,6 +1612,8 @@
#include "code\modules\research\xenobiology\xenobiology.dm"
#include "code\modules\ruins\lavaland_ruin_code.dm"
#include "code\modules\ruins\ruin_areas.dm"
#include "code\modules\ruins\ashwalkers\ashshack.dm"
#include "code\modules\ruins\ashwalkers\ashwalker.dm"
#include "code\modules\security levels\keycard authentication.dm"
#include "code\modules\security levels\security levels.dm"
#include "code\modules\shuttle\assault_pod.dm"
Expand Down