diff --git a/_maps/RandomRuins/SpaceRuins/clericden.dmm b/_maps/RandomRuins/SpaceRuins/clericden.dmm new file mode 100644 index 00000000000..26db5eaed2b --- /dev/null +++ b/_maps/RandomRuins/SpaceRuins/clericden.dmm @@ -0,0 +1,601 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"a" = ( +/turf/template_noop, +/area/template_noop) +"b" = ( +/turf/closed/mineral/random/no_caves, +/area/ruin/unpowered/no_grav) +"c" = ( +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"d" = ( +/turf/closed/wall, +/area/ruin/unpowered/no_grav) +"e" = ( +/turf/closed/wall/rust, +/area/ruin/unpowered/no_grav) +"f" = ( +/obj/item/stack/rods{ + amount = 2 + }, +/obj/item/shard, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"g" = ( +/obj/structure/grille, +/obj/structure/window/fulltile, +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"h" = ( +/obj/structure/light_prism, +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"i" = ( +/obj/structure/grille/broken, +/obj/structure/barricade/wooden/crude, +/obj/structure/trap/cult, +/obj/effect/decal/cleanable/glass, +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"j" = ( +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"k" = ( +/obj/item/ectoplasm, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"l" = ( +/obj/structure/closet/crate/coffin, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"m" = ( +/turf/open/floor/carpet/royalblack, +/area/ruin/unpowered/no_grav) +"n" = ( +/obj/structure/table/wood/fancy, +/obj/item/reagent_containers/food/drinks/bottle/holywater, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"o" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/unpowered/no_grav) +"p" = ( +/obj/structure/closet/crate/coffin, +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"q" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"r" = ( +/obj/structure/table/wood/fancy, +/obj/item/melee/cleric_mace, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"s" = ( +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/carpet/royalblack, +/area/ruin/unpowered/no_grav) +"t" = ( +/obj/structure/bonfire, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/unpowered/no_grav) +"u" = ( +/turf/open/floor/carpet/royalblue, +/area/ruin/unpowered/no_grav) +"v" = ( +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"w" = ( +/obj/effect/decal/cleanable/blood/splatter, +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/shreds, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"x" = ( +/obj/structure/bonfire, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"y" = ( +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"z" = ( +/obj/effect/decal/cleanable/shreds, +/obj/effect/decal/remains/human, +/obj/item/disk/design_disk/adv/cleric_mace, +/obj/structure/trap/cult, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"A" = ( +/obj/structure/table/wood{ + layer = 3.3 + }, +/turf/open/floor/carpet/royalblack, +/area/ruin/unpowered/no_grav) +"B" = ( +/obj/effect/decal/cleanable/blood/footprints, +/obj/effect/decal/cleanable/blood/tracks, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"C" = ( +/obj/structure/bonfire, +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"D" = ( +/obj/structure/chair/wood{ + dir = 1 + }, +/turf/open/floor/carpet/royalblue, +/area/ruin/unpowered/no_grav) +"E" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet/royalblack, +/area/ruin/unpowered/no_grav) +"F" = ( +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"G" = ( +/obj/item/flashlight/flare/torch, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"H" = ( +/obj/item/paper/fluff/ruins/clericsden/contact, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/unpowered/no_grav) +"I" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/unpowered/no_grav) +"J" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"K" = ( +/obj/structure/grille, +/obj/structure/window/fulltile, +/obj/structure/barricade/wooden/crude, +/turf/open/floor/plating, +/area/ruin/unpowered/no_grav) +"L" = ( +/obj/machinery/door/airlock/wood, +/turf/open/floor/plating{ + icon_state = "panelscorched" + }, +/area/ruin/unpowered/no_grav) +"M" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/machinery/door/airlock/wood, +/turf/open/floor/plasteel/airless/dark, +/area/ruin/unpowered/no_grav) +"N" = ( +/mob/living/simple_animal/hostile/construct/proteon, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"O" = ( +/obj/effect/decal/remains/human, +/obj/structure/trap/cult, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"P" = ( +/obj/effect/decal/cleanable/blood/tracks, +/mob/living/simple_animal/hostile/construct/proteon/hostile, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"Q" = ( +/obj/item/storage/book/bible, +/obj/effect/decal/cleanable/blood, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"R" = ( +/obj/effect/decal/cleanable/blood/tracks, +/obj/structure/trap/cult, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"S" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) +"T" = ( +/obj/effect/decal/cleanable/blood/drip, +/turf/open/floor/carpet, +/area/ruin/unpowered/no_grav) +"U" = ( +/obj/effect/decal/remains/human, +/obj/item/paper/fluff/ruins/clericsden/warning, +/turf/open/floor/plating/asteroid/airless, +/area/ruin/unpowered/no_grav) + +(1,1,1) = {" +a +a +a +a +a +a +a +a +c +b +c +c +c +c +a +a +a +a +"} +(2,1,1) = {" +a +a +a +c +c +c +c +c +c +c +c +b +c +c +b +c +c +a +"} +(3,1,1) = {" +a +c +b +c +c +b +c +b +c +c +b +b +b +c +b +b +b +a +"} +(4,1,1) = {" +a +b +b +b +b +b +b +b +b +b +b +b +b +b +c +b +c +a +"} +(5,1,1) = {" +a +b +d +d +e +d +e +g +d +d +d +d +d +d +e +c +c +a +"} +(6,1,1) = {" +a +b +e +h +l +e +t +j +e +C +F +e +F +I +d +e +b +a +"} +(7,1,1) = {" +a +a +e +o +m +m +u +E +A +D +m +A +D +m +h +e +d +a +"} +(8,1,1) = {" +a +f +i +j +n +q +v +v +v +O +v +v +v +v +T +L +c +c +"} +(9,1,1) = {" +a +b +g +j +r +z +w +y +B +P +B +y +B +R +B +M +U +S +"} +(10,1,1) = {" +a +b +d +F +m +s +u +m +A +D +m +A +D +m +h +d +e +c +"} +(11,1,1) = {" +a +c +e +h +p +d +x +H +e +C +G +e +j +J +e +d +b +b +"} +(12,1,1) = {" +a +a +e +e +d +d +e +K +d +d +d +e +e +d +d +b +b +c +"} +(13,1,1) = {" +a +b +b +b +b +b +b +b +b +b +b +b +c +b +b +b +c +c +"} +(14,1,1) = {" +a +c +b +b +b +c +b +b +c +b +c +Q +b +b +b +c +S +a +"} +(15,1,1) = {" +a +a +c +c +c +c +c +c +N +c +c +c +c +S +c +c +a +a +"} +(16,1,1) = {" +a +a +k +c +b +b +c +c +b +c +c +b +c +b +b +b +a +a +"} +(17,1,1) = {" +a +b +c +b +c +b +b +b +b +b +b +b +b +b +c +a +a +a +"} +(18,1,1) = {" +b +b +b +a +a +c +c +c +c +c +c +c +c +a +a +a +a +a +"} +(19,1,1) = {" +a +b +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +a +"} diff --git a/code/datums/ruins/space.dm b/code/datums/ruins/space.dm index ac2786b1a35..e848ecb7fb3 100644 --- a/code/datums/ruins/space.dm +++ b/code/datums/ruins/space.dm @@ -281,3 +281,9 @@ suffix = "hilbertshoteltestingsite.dmm" name = "Hilbert Research Facility" description = "A research facility of great bluespace discoveries. Long since abandoned, willingly or not..." + +/datum/map_template/ruin/space/clericden + id = "clericden" + suffix = "clericden.dmm" + name = "Cleric's Den" + description = "Once part of a larger monastery, this holy order of long dead clerics practiced far less non-violence than they preached. Appears to have been untouched by looters, however. Odd." \ No newline at end of file diff --git a/code/game/objects/items/melee/misc.dm b/code/game/objects/items/melee/misc.dm index 4243fa60c01..a88288c2d85 100644 --- a/code/game/objects/items/melee/misc.dm +++ b/code/game/objects/items/melee/misc.dm @@ -633,3 +633,29 @@ held_sausage.name = "[target.name]-roasted [held_sausage.name]" held_sausage.desc = "[held_sausage.desc] It has been cooked to perfection on \a [target]." update_icon() + +/obj/item/melee/cleric_mace + name = "cleric mace" + desc = "The grandson of the club, yet the grandfather of the baseball bat. Most notably used by holy orders in days past." + icon = 'icons/obj/items_and_weapons.dmi' + icon_state = "mace_greyscale" + item_state = "mace_greyscale" + lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' + righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' + material_flags = MATERIAL_ADD_PREFIX | MATERIAL_COLOR //Material type changes the prefix as well as the color. + custom_materials = list(/datum/material/iron = 12000) //Defaults to an Iron Mace. + slot_flags = ITEM_SLOT_BELT + force = 14 + w_class = WEIGHT_CLASS_BULKY + throwforce = 8 + block_chance = 10 + armour_penetration = 50 + attack_verb = list("smacked", "struck", "cracked", "beaten") + var/overlay_state = "mace_handle" + var/mutable_appearance/overlay + +/obj/item/melee/cleric_mace/Initialize() + . = ..() + overlay = mutable_appearance(icon, overlay_state) + overlay.appearance_flags = RESET_COLOR + add_overlay(overlay) \ No newline at end of file diff --git a/code/game/objects/structures/traps.dm b/code/game/objects/structures/traps.dm index ffa5a02bd91..7f0a88c916f 100644 --- a/code/game/objects/structures/traps.dm +++ b/code/game/objects/structures/traps.dm @@ -212,3 +212,16 @@ /obj/structure/trap/ward/Initialize() . = ..() QDEL_IN(src, time_between_triggers) + +/obj/structure/trap/cult + name = "unholy trap" + desc = "A trap that rings with unholy energy. You think you hear... chittering?" + icon_state = "trap-cult" + +/obj/structure/trap/cult/trap_effect(mob/living/L) + to_chat(L, "With a crack, the hostile constructs come out of hiding, stunning you!") + L.electrocute_act(10, src, flags = SHOCK_NOGLOVES) // electrocute act does a message. + L.Paralyze(20) + new /mob/living/simple_animal/hostile/construct/proteon/hostile(loc) + new /mob/living/simple_animal/hostile/construct/proteon/hostile(loc) + QDEL_IN(src, 30) \ No newline at end of file diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index 9e55253c24d..dad43fe03b2 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -333,3 +333,12 @@ build_path = /obj/item/ammo_casing/shotgun/dart/noreact category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_MEDICAL + +/datum/design/cleric_mace + name = "Cleric Mace" + desc = "A mace fit for a cleric. Useful for bypassing plate armor, but too bulky for much else." + id = "cleric_mace" + build_type = AUTOLATHE + materials = list(MAT_CATEGORY_RIGID = 12000) + build_path = /obj/item/melee/cleric_mace + category = list("Imported") \ No newline at end of file diff --git a/code/modules/ruins/spaceruin_code/clericsden.dm b/code/modules/ruins/spaceruin_code/clericsden.dm new file mode 100644 index 00000000000..d2fbfccb8d1 --- /dev/null +++ b/code/modules/ruins/spaceruin_code/clericsden.dm @@ -0,0 +1,37 @@ +/////////// cleric's den items. + +//Primary reward: the cleric's mace design disk. +/obj/item/disk/design_disk/adv/cleric_mace + name = "Enshrined Disc of Smiting" + +/obj/item/disk/design_disk/adv/cleric_mace/Initialize() + . = ..() + var/datum/design/cleric_mace/M = new + blueprints[1] = M + +/obj/item/paper/fluff/ruins/clericsden/contact + info = "Father Aurellion, the ritual is complete, and soon our brothers at the bastion will see the error of our ways. After all, a god of clockwork or blood? Preposterous. Only the TRUE GOD should have so much power. Signed, Father Odivallus." + +/obj/item/paper/fluff/ruins/clericsden/warning + info = "FATHER ODIVALLUS DO NOT GO FORWARD WITH THE RITUAL. THE ASTEROID WE'RE ANCHORED TO IS UNSTABLE, YOU WILL DESTROY THE STATION. I HOPE THIS REACHES YOU IN TIME. FATHER AURELLION." + +/mob/living/simple_animal/hostile/construct/proteon + name = "Proteon" + real_name = "Proteon" + desc = "A weaker construct meant to scour ruins for objects of Nar'Sie's affection. Those barbed claws are no joke." + icon_state = "proteon" + icon_living = "proteon" + maxHealth = 35 + health = 35 + melee_damage_lower = 8 + melee_damage_upper = 10 + retreat_distance = 4 //AI proteons will rapidly move in and out of combat to avoid conflict, but will still target and follow you. + attack_verb_continuous = "pinches" + attack_verb_simple = "pinch" + environment_smash = ENVIRONMENT_SMASH_WALLS + attack_sound = 'sound/weapons/punch2.ogg' + playstyle_string = "You are a Proteon. Your abilities in combat are outmatched by most combat constructs, but you are still fast and nimble. Run metal and supplies, and cooperate with your fellow cultists." + +/mob/living/simple_animal/hostile/construct/proteon/hostile //Style of mob spawned by trapped cult runes in the cleric ruin. + AIStatus = AI_ON + environment_smash = ENVIRONMENT_SMASH_STRUCTURES //standard ai construct behavior, breaks things if it wants, but not walls. \ No newline at end of file diff --git a/config/spaceruinblacklist.txt b/config/spaceruinblacklist.txt index c9582a76a61..008c0dfed82 100644 --- a/config/spaceruinblacklist.txt +++ b/config/spaceruinblacklist.txt @@ -13,6 +13,7 @@ #_maps/RandomRuins/SpaceRuins/bigderelict1.dmm #_maps/RandomRuins/SpaceRuins/bus.dmm #_maps/RandomRuins/SpaceRuins/caravanambush.dmm +#_maps/RandomRuins/SpaceRuins/clericden.dmm #_maps/RandomRuins/SpaceRuins/cloning_facility.dmm #_maps/RandomRuins/SpaceRuins/crashedclownship.dmm #_maps/RandomRuins/SpaceRuins/crashedship.dmm diff --git a/icons/mob/inhands/weapons/melee_lefthand.dmi b/icons/mob/inhands/weapons/melee_lefthand.dmi index 50ae2fb1639..b739cf7baee 100644 Binary files a/icons/mob/inhands/weapons/melee_lefthand.dmi and b/icons/mob/inhands/weapons/melee_lefthand.dmi differ diff --git a/icons/mob/inhands/weapons/melee_righthand.dmi b/icons/mob/inhands/weapons/melee_righthand.dmi index afedc0db979..0f16760bf9b 100644 Binary files a/icons/mob/inhands/weapons/melee_righthand.dmi and b/icons/mob/inhands/weapons/melee_righthand.dmi differ diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index caad3016240..58da44f72b0 100644 Binary files a/icons/mob/mob.dmi and b/icons/mob/mob.dmi differ diff --git a/icons/obj/hand_of_god_structures.dmi b/icons/obj/hand_of_god_structures.dmi index 4f18b2e68d4..3f640d4d576 100644 Binary files a/icons/obj/hand_of_god_structures.dmi and b/icons/obj/hand_of_god_structures.dmi differ diff --git a/icons/obj/items_and_weapons.dmi b/icons/obj/items_and_weapons.dmi index 90a8d51cb28..994fff3fbce 100644 Binary files a/icons/obj/items_and_weapons.dmi and b/icons/obj/items_and_weapons.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 5b0e2cedd96..85b96e0134a 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -2682,6 +2682,7 @@ #include "code\modules\ruins\spaceruin_code\asteroid4.dm" #include "code\modules\ruins\spaceruin_code\bigderelict1.dm" #include "code\modules\ruins\spaceruin_code\caravanambush.dm" +#include "code\modules\ruins\spaceruin_code\clericsden.dm" #include "code\modules\ruins\spaceruin_code\cloning_lab.dm" #include "code\modules\ruins\spaceruin_code\crashedclownship.dm" #include "code\modules\ruins\spaceruin_code\crashedship.dm"