diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index bc01ac315ed..8a836bb737e 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -193,16 +193,13 @@ var/global/list/datum/stack_recipe/runed_metal_recipes = list ( \ icon = 'icons/obj/items.dmi' sheettype = "runed" +/obj/item/stack/sheet/runed_metal/fifty + amount = 50 + /obj/item/stack/sheet/runed_metal/New(var/loc, var/amount=null) recipes = runed_metal_recipes return ..() -/obj/item/stack/sheet/runed_metal/attack_self(mob/user) - if(!iscultist(user)) - user << "You aren't able to think of anything [src] could build..." - return - ..() - /obj/item/stack/sheet/lessergem name = "lesser gems" desc = "Rare kind of gems which are only gained by blood sacrifice to minor deities. They are needed in crafting powerful objects." diff --git a/code/modules/food&drinks/drinks/drinks/bottle.dm b/code/modules/food&drinks/drinks/drinks/bottle.dm index afd9607f7e1..69061995ba6 100644 --- a/code/modules/food&drinks/drinks/drinks/bottle.dm +++ b/code/modules/food&drinks/drinks/drinks/bottle.dm @@ -201,6 +201,10 @@ icon_state = "holyflask" list_reagents = list("holywater" = 100) +/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/hell + desc = "A flask of holy water...it's been sitting in the Necropolis a while though." + list_reagents = list("hellwater" = 100) + /obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth name = "Goldeneye Vermouth" desc = "Sweet, sweet dryness~" diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index c8a86d9a3f3..9d9344f2153 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -214,4 +214,76 @@ qdel(AM) var/turf/T = get_turf(src) explosion(T, -1, -1, 1, 1) - qdel(src) \ No newline at end of file + qdel(src) + +/obj/structure/closet/crate/necropolis + name = "necropolis chest" + desc = "It's watching you closely." + icon_state = "necrocrate" + +/obj/structure/closet/crate/necropolis/tendril + desc = "It's watching you suspiciously." + +/obj/structure/closet/crate/necropolis/tendril/New() + ..() + var/loot = rand(1,25) //100 different crates with varying chances of spawning + switch(loot) + if(1) + new /obj/item/weapon/bedsheet/cult(src) + if(2) + new /obj/item/clothing/suit/space/cult(src) + new /obj/item/clothing/head/helmet/space/cult(src) + if(3) + new /obj/item/device/soulstone/anybody(src) + if(4) + new /obj/item/weapon/katana/cursed(src) + if(5) + new /obj/item/weapon/dnainjector/xraymut(src) + if(6) + new /obj/item/seeds/kudzu(src) + if(7) + new /obj/item/weapon/pickaxe/diamond(src) + if(8) + new /obj/item/clothing/head/culthood(src) + new /obj/item/clothing/suit/cultrobes(src) + if(9) + new /obj/item/organ/internal/brain/alien(src) + if(10) + new /obj/item/organ/internal/heart/cursed(src) + if(11) + new /obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src) + new /obj/item/weapon/reagent_containers/food/snacks/grown/ambrosia/deus(src) + new /obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src) + new /obj/item/weapon/lighter(src) + if(12) + new /obj/item/weapon/bedsheet/cult(src) + new /obj/item/clothing/head/culthood(src) + new /obj/item/clothing/suit/cultrobes(src) + if(13) + new /obj/item/weapon/sord(src) + if(14) + new /obj/item/weapon/nullrod/claymore/darkblade + if(15) + new /obj/item/weapon/nullrod/armblade(src) + if(16) + new /obj/item/weapon/guardiancreator(src) + if(17) + new /obj/item/stack/sheet/runed_metal/fifty(src) + if(18) + new /obj/item/weapon/kitchen/knife/ritual(src) + if(19) + new /obj/item/weapon/coin/antagtoken(src) + if(20) + new /obj/item/weapon/reagent_containers/food/snacks/burger/spell(src) + if(21) + new /obj/item/weapon/gun/magic/wand(src) + if(22) + new /obj/item/voodoo(src) + if(23) + new /obj/item/weapon/grenade/clusterbuster/inferno(src) + if(24) + new /obj/item/weapon/reagent_containers/food/drinks/bottle/holywater/hell(src) + new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor(src) + if(25) + new /obj/item/weapon/spellbook/oneuse/smoke(src) + diff --git a/code/modules/mining/mine_turfs.dm b/code/modules/mining/mine_turfs.dm index b37b5c8ac6f..a22b9152eb5 100644 --- a/code/modules/mining/mine_turfs.dm +++ b/code/modules/mining/mine_turfs.dm @@ -692,10 +692,14 @@ var/global/list/rockTurfEdgeCache temperature = 300 baseturf = /turf/simulated/chasm/straight_down/lava_land_surface +/turf/simulated/chasm/straight_down/lava_land_surface/drop(atom/movable/AM) + visible_message("[AM] falls into [src]!") + qdel(AM) + /turf/simulated/mineral/volcanic/lava_land_surface environment_type = "basalt" turf_type = /turf/simulated/floor/plating/asteroid/basalt/lava_land_surface - baseturf = /turf/simulated/chasm/straight_down/lava_land_surface + baseturf = /turf/simulated/floor/plating/lava/smooth/lava_land_surface /turf/simulated/mineral/random/volcanic environment_type = "basalt" diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index 26a0a11ee9c..bfd8f4d537c 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -751,9 +751,30 @@ minbodytemp = 0 maxbodytemp = INFINITY layer = MOB_LAYER-0.1 - loot = list(/obj/effect/gibspawner) + loot = list(/obj/effect/collapse, /obj/structure/closet/crate/necropolis/tendril) del_on_death = 1 +/obj/effect/collapse + name = "collapsing necropolis tendril" + desc = "Get clear!" + layer = 2 + icon = 'icons/mob/nest.dmi' + icon_state = "tendril" + +/obj/effect/collapse/New() + ..() + visible_message("The tendril writhes in pain and anger and the earth around it begins to split! Get back!") + visible_message("A chest falls clear of the tendril!") + spawn(50) + for(var/mob/M in range(7,src)) + shake_camera(M, 15, 1) + playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, 1) + visible_message("The tendril collapes!") + for(var/turf/T in range(2,src)) + if(!T.density) + T.ChangeTurf(/turf/simulated/chasm/straight_down/lava_land_surface) + qdel(src) + /mob/living/simple_animal/hostile/spawner/lavaland/goliath mob_type = /mob/living/simple_animal/hostile/asteroid/goliath/beast diff --git a/icons/obj/crates.dmi b/icons/obj/crates.dmi index 2f2180402a4..58574cf453c 100644 Binary files a/icons/obj/crates.dmi and b/icons/obj/crates.dmi differ