diff --git a/code/datums/spells/wizard.dm b/code/datums/spells/wizard.dm index 64fd3d3d3ac..311be1b3ba9 100644 --- a/code/datums/spells/wizard.dm +++ b/code/datums/spells/wizard.dm @@ -239,11 +239,21 @@ /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser charge_max = 1800 +/obj/effect/proc_holder/spell/aoe_turf/conjure/floor + name = "Floor Construction" + desc = "This spell constructs a cult floor" + school = "conjuration" + charge_max = 20 + clothes_req = 0 + invocation = "none" + invocation_type = "none" + range = 0 + summon_type = list("/turf/simulated/floor/engine/cult") /obj/effect/proc_holder/spell/aoe_turf/conjure/wall name = "Leser Construction" - desc = "This spell constructs a normal metal wall" + desc = "This spell constructs a cult wall" school = "conjuration" charge_max = 100 @@ -251,7 +261,7 @@ invocation = "none" invocation_type = "none" range = 0 - summon_type = list("/turf/simulated/wall") + summon_type = list("/turf/simulated/wall/cult") /obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced name = "Greater Construction" diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm index b1ce7c3e1ae..23580305206 100644 --- a/code/game/gamemodes/wizard/soulstone.dm +++ b/code/game/gamemodes/wizard/soulstone.dm @@ -192,6 +192,7 @@ Z << "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs." Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/construct/lesser(Z) Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/wall(Z) + Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/floor(Z) Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/wall/reinforced(Z) Z.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/soulstone(Z) Z.cancel_camera() diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index 14812f7e9a2..fa9340f0234 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -154,6 +154,58 @@ obj/structure /obj/structure/girder/reinforced icon_state = "reinforced" state = 2 + +/obj/structure/cultgirder + icon= 'cult.dmi' + icon_state= "cultgirder" + anchored = 1 + density = 1 + layer = 2 + + attackby(obj/item/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/wrench)) + playsound(src.loc, 'Ratchet.ogg', 100, 1) + user << "\blue Now disassembling the girder" + if(do_after(user,40)) + user << "\blue You dissasembled the girder!" + new /obj/effect/decal/remains/human(get_turf(src)) + del(src) + + else if(istype(W, /obj/item/weapon/pickaxe/plasmacutter)) + user << "\blue Now slicing apart the girder" + if(do_after(user,30)) + user << "\blue You slice apart the girder!" + new /obj/effect/decal/remains/human(get_turf(src)) + del(src) + + else if(istype(W, /obj/item/weapon/pickaxe/diamonddrill)) + user << "\blue You drill through the girder!" + new /obj/effect/decal/remains/human(get_turf(src)) + del(src) + + blob_act() + if(prob(40)) + del(src) + + + ex_act(severity) + switch(severity) + if(1.0) + del(src) + return + if(2.0) + if (prob(30)) + new /obj/effect/decal/remains/human(loc) + del(src) + return + if(3.0) + if (prob(5)) + new /obj/effect/decal/remains/human(loc) + del(src) + return + else + return + // LATTICE diff --git a/code/game/turf.dm b/code/game/turf.dm index 2243210bb3f..85bbe96774d 100644 --- a/code/game/turf.dm +++ b/code/game/turf.dm @@ -291,8 +291,10 @@ else if(istype(src,/turf/simulated/wall/cult)) if(!devastated) playsound(src.loc, 'Welder.ogg', 100, 1) - new /obj/effect/decal/remains/human(src) + new /obj/effect/decal/cleanable/blood(src) + new /obj/structure/cultgirder(src) else + new /obj/effect/decal/cleanable/blood(src) new /obj/effect/decal/remains/human(src) else diff --git a/icons/obj/cult.dmi b/icons/obj/cult.dmi index 3ca7f6d75fb..7d73fe97be3 100644 Binary files a/icons/obj/cult.dmi and b/icons/obj/cult.dmi differ diff --git a/icons/turf/floors.dmi b/icons/turf/floors.dmi index 02454f667ec..1a5ccbdf533 100644 Binary files a/icons/turf/floors.dmi and b/icons/turf/floors.dmi differ