diff --git a/code/__defines/color.dm b/code/__defines/color.dm index 7cadaa822f5..9b095344f5b 100644 --- a/code/__defines/color.dm +++ b/code/__defines/color.dm @@ -82,6 +82,10 @@ #define COLOR_DIAMOND "#d8d4ea" #define COLOR_TCFL "#849bc1" #define COLOR_RIPLEY "#ffbc37" +#define COLOR_CULT "#402821" +#define COLOR_CULT_REINFORCED "#8f3329" +#define COLOR_CULT_DOOR "#402821" + //Color defines used by the assembly detailer. #define COLOR_ASSEMBLY_BLACK "#545454" diff --git a/code/game/gamemodes/cult/cultify/obj.dm b/code/game/gamemodes/cult/cultify/obj.dm index 1dac326d067..cbc0825cb67 100644 --- a/code/game/gamemodes/cult/cultify/obj.dm +++ b/code/game/gamemodes/cult/cultify/obj.dm @@ -11,22 +11,22 @@ return /obj/item/device/flashlight/lamp/cultify() - new /obj/structure/cult/pylon(loc) + new /obj/structure/cult/pylon(get_turf(src)) ..() /obj/item/stack/material/wood/cultify() return /obj/item/book/cultify() - new /obj/item/book/tome(loc) + new /obj/item/book/tome(get_turf(src)) ..() /obj/item/material/sword/cultify() - new /obj/item/melee/cultblade(loc) + new /obj/item/melee/cultblade(get_turf(src)) ..() /obj/item/storage/backpack/cultify() - new /obj/item/storage/backpack/cultpack(loc) + new /obj/item/storage/backpack/cultpack(get_turf(src)) ..() /obj/item/storage/backpack/cultpack/cultify() @@ -42,7 +42,7 @@ /obj/structure/cult/tome ) var/I = pick(random_structure) - new I(loc) + new I(get_turf(src)) ..() /obj/machinery/atmospherics/cultify() @@ -51,29 +51,31 @@ density = 0 /obj/machinery/cooker/cultify() - new /obj/structure/cult/talisman(loc) + new /obj/structure/cult/talisman(get_turf(src)) qdel(src) /obj/machinery/computer/cultify() - new /obj/structure/cult/tome(loc) + new /obj/structure/cult/tome(get_turf(src)) qdel(src) -/obj/machinery/door/airlock/external/cultify() - new /obj/structure/simple_door/wood(loc) - ..() - /obj/machinery/door/cultify() - if(invisibility != INVISIBILITY_MAXIMUM) - invisibility = INVISIBILITY_MAXIMUM - density = 0 - anim(target = src, a_icon = 'icons/effects/effects.dmi', a_icon_state = "breakdoor", sleeptime = 10) - qdel(src) + new /obj/structure/simple_door/cult(get_turf(src)) + qdel(src) + +/obj/machinery/door/airlock/cultify() + if(secured_wires) + return + new /obj/structure/simple_door/cult(get_turf(src)) + qdel(src) + +/obj/machinery/door/airlock/lift/cultify() + return /obj/machinery/door/firedoor/cultify() qdel(src) /obj/machinery/light/cultify() - new /obj/structure/cult/pylon(loc) + new /obj/structure/cult/pylon(get_turf(src)) qdel(src) /obj/machinery/mech_sensor/cultify() @@ -84,11 +86,11 @@ src.invisibility = INVISIBILITY_MAXIMUM /obj/machinery/vending/cultify() - new /obj/structure/cult/forge(loc) + new /obj/structure/cult/forge(get_turf(src)) qdel(src) /obj/structure/bed/chair/cultify() - var/obj/structure/bed/chair/wood/wings/I = new(loc) + var/obj/structure/bed/chair/wood/wings/I = new(get_turf(src)) I.dir = dir ..() @@ -106,10 +108,10 @@ return /obj/structure/simple_door/cultify() - new /obj/structure/simple_door/wood(loc) + new /obj/structure/simple_door/cult(get_turf(src)) ..() -/obj/structure/simple_door/wood/cultify() +/obj/structure/simple_door/cult/cultify() return /obj/singularity/cultify() @@ -118,7 +120,7 @@ qdel(src) /obj/structure/shuttle/engine/heater/cultify() - new /obj/structure/cult/pylon(loc) + new /obj/structure/cult/pylon(get_turf(src)) ..() /obj/structure/shuttle/engine/propulsion/cultify() @@ -128,12 +130,17 @@ ..() /obj/structure/table/cultify() - // Make it a wood-reinforced wooden table. - // There are cult materials available, but it'd make the table non-deconstructable with how holotables work. - // Could possibly use a new material var for holographic-ness? - material = get_material_by_name("wood") - reinforced = get_material_by_name("wood") + if(material == "cult" || reinforced == "cult") + return + material = get_material_by_name("cult") + reinforced = get_material_by_name("cult") update_desc() update_connections(1) update_icon() update_material() + +/obj/structure/table/holotable/cultify() + return + +/obj/structure/window/cult/cultify() + return \ No newline at end of file diff --git a/code/game/gamemodes/cult/cultify/turf.dm b/code/game/gamemodes/cult/cultify/turf.dm index 4b9d2e23826..771ef68c38f 100644 --- a/code/game/gamemodes/cult/cultify/turf.dm +++ b/code/game/gamemodes/cult/cultify/turf.dm @@ -9,6 +9,9 @@ /turf/simulated/wall/cultify() cultify_wall() +/turf/simulated/wall/r_wall/cultify() + ChangeTurf(/turf/simulated/wall/cult_reinforced) + /turf/simulated/wall/cult/cultify() return diff --git a/code/game/objects/structures/simple_doors.dm b/code/game/objects/structures/simple_doors.dm index a72f8044ea9..514291c093c 100644 --- a/code/game/objects/structures/simple_doors.dm +++ b/code/game/objects/structures/simple_doors.dm @@ -82,6 +82,11 @@ /obj/structure/simple_door/attack_hand(mob/user as mob) return TryToSwitchState(user) +/obj/structure/simple_door/attack_generic(mob/user) + if(istype(user, /mob/living/simple_animal/construct)) // don't know of any other attack_generic smart enough to open doors + TryToSwitchState(user) + return + /obj/structure/simple_door/CanPass(atom/movable/mover, turf/target, height=0, air_group=0) if(air_group) return 0 if(istype(mover, /obj/effect/beam)) @@ -101,6 +106,8 @@ var/mob/living/carbon/C = M if(!C.handcuffed) SwitchState(user) + else if(istype(M, /mob/living/simple_animal/construct)) + SwitchState(M) /obj/structure/simple_door/proc/SwitchState(mob/user) if(state) @@ -240,3 +247,7 @@ /obj/structure/simple_door/resin/New(var/newloc,var/material_name) ..(newloc, "resin") + +/obj/structure/simple_door/cult/New(var/newloc, var/material_name) + ..(newloc, "cult") + color = COLOR_CULT_DOOR // looks better than the standard cult colours \ No newline at end of file diff --git a/code/game/turfs/simulated/wall_types.dm b/code/game/turfs/simulated/wall_types.dm index 11043d0ee01..1094baf8ab1 100644 --- a/code/game/turfs/simulated/wall_types.dm +++ b/code/game/turfs/simulated/wall_types.dm @@ -10,11 +10,11 @@ appearance_flags = NO_CLIENT_COLOR /turf/simulated/wall/cult/Initialize(mapload) - . = ..(mapload,"cult") + . = ..(mapload, "cult") desc = "Hideous images dance beneath the surface." /turf/simulated/wall/cult_reinforced/Initialize(mapload) - . = ..(mapload,"cult","cult2") + . = ..(mapload, "cult", "cult_reinforced") desc = "Hideous images dance beneath the surface." /turf/unsimulated/wall/cult diff --git a/code/modules/materials/materials.dm b/code/modules/materials/materials.dm index 95de6bad2cd..4afec3f614b 100644 --- a/code/modules/materials/materials.dm +++ b/code/modules/materials/materials.dm @@ -790,10 +790,12 @@ var/list/name_to_material /material/cult name = "cult" - display_name = "disturbing stone" + display_name = "daemon stone" icon_base = "cult" - icon_colour = "#402821" + icon_colour = COLOR_CULT icon_reinf = "reinf_cult" + dooropen_noise = 'sound/effects/doorcreaky.ogg' + door_icon_base = "resin" shard_type = SHARD_STONE_PIECE sheet_singular_name = "brick" sheet_plural_name = "bricks" @@ -805,7 +807,8 @@ var/list/name_to_material new /obj/effect/decal/cleanable/blood(target) /material/cult/reinf - name = "cult2" + name = "cult_reinforced" + icon_colour = COLOR_CULT_REINFORCED display_name = "human remains" /material/cult/reinf/place_dismantled_product(var/turf/target) diff --git a/code/modules/spells/aoe_turf/conjure/construct_spells/create_wall.dm b/code/modules/spells/aoe_turf/conjure/construct_spells/create_wall.dm index 36d0d2682d4..92c46cab438 100644 --- a/code/modules/spells/aoe_turf/conjure/construct_spells/create_wall.dm +++ b/code/modules/spells/aoe_turf/conjure/construct_spells/create_wall.dm @@ -27,4 +27,4 @@ range = 0 cast_delay = 50 - summon_type = list(/turf/simulated/wall/r_wall) \ No newline at end of file + summon_type = list(/turf/simulated/wall/cult_reinforced) \ No newline at end of file diff --git a/code/modules/spells/aoe_turf/conjure/construct_spells/cultify_area.dm b/code/modules/spells/aoe_turf/conjure/construct_spells/cultify_area.dm index af293ae8188..8c5343c85fe 100644 --- a/code/modules/spells/aoe_turf/conjure/construct_spells/cultify_area.dm +++ b/code/modules/spells/aoe_turf/conjure/construct_spells/cultify_area.dm @@ -19,4 +19,12 @@ /spell/aoe_turf/cultify_area/cast(list/targets, mob/user) for(var/turf/target in targets) target.cultify() + for(var/obj/machinery/door/door in target) + door.cultify() + for(var/obj/structure/simple_door/s_door in target) + s_door.cultify() + for(var/obj/structure/table/table in target) + table.cultify() + for(var/obj/structure/grille/grille in target) + grille.cultify() return \ No newline at end of file diff --git a/html/changelogs/geeves-cult_r_wall.yml b/html/changelogs/geeves-cult_r_wall.yml new file mode 100644 index 00000000000..f64ee72f1d4 --- /dev/null +++ b/html/changelogs/geeves-cult_r_wall.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Cultifying an area now cultifies the table and airlocks as well, with some high security exceptions." \ No newline at end of file diff --git a/icons/obj/tables.dmi b/icons/obj/tables.dmi index 7cea8a3bf04..2c9361a7d17 100644 Binary files a/icons/obj/tables.dmi and b/icons/obj/tables.dmi differ