diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 5e672fb13c8..a5a299d068c 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -8,9 +8,21 @@ /obj/structure/cult/examine(mob/user) ..() + user << "\The [src] is [anchored ? "":"not "]secured to the floor." if(iscultist(user) && cooldowntime > world.time) user << "The magic in [src] is weak, it will be ready to use again in [getETA()]." +/obj/structure/cult/attackby(obj/I, mob/user, params) + if(istype(I, /obj/item/weapon/tome) && iscultist(user)) + anchored = !anchored + user << "You [anchored ? "":"un"]secure \the [src] [anchored ? "to":"from"] the floor." + if(!anchored) + icon_state = "[initial(icon_state)]_off" + else + icon_state = initial(icon_state) + else + return ..() + /obj/structure/cult/proc/getETA() var/time = (cooldowntime - world.time)/600 var/eta = "[round(time, 1)] minutes" @@ -28,6 +40,9 @@ if(!iscultist(user)) user << "You're pretty sure you know exactly what this is used for and you can't seem to touch it." return + if(!anchored) + user << "You need to anchor [src] to the floor with a tome first." + return if(cooldowntime > world.time) user << "The magic in [src] is weak, it will be ready to use again in [getETA()]." return @@ -40,7 +55,7 @@ pickedtype = /obj/item/clothing/glasses/night/cultblind if("Flask of Unholy Water") pickedtype = /obj/item/weapon/reagent_containers/food/drinks/bottle/unholywater - if(pickedtype && Adjacent(user) && src && !qdeleted(src) && !user.incapacitated() && cooldowntime <= world.time) + if(src && !qdeleted(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) cooldowntime = world.time + 2400 var/obj/item/N = new pickedtype(get_turf(src)) user << "You kneel before the altar and your faith is rewarded with an [N]!" @@ -56,6 +71,9 @@ if(!iscultist(user)) user << "The heat radiating from [src] pushes you back." return + if(!anchored) + user << "You need to anchor [src] to the floor with a tome first." + return if(cooldowntime > world.time) user << "The magic in [src] is weak, it will be ready to use again in [getETA()]." return @@ -68,7 +86,7 @@ pickedtype = /obj/item/clothing/suit/hooded/cultrobes/berserker if("Nar-Sien Hardsuit") pickedtype = /obj/item/clothing/suit/space/hardsuit/cult - if(pickedtype && Adjacent(user) && src && !qdeleted(src) && !user.incapacitated() && cooldowntime <= world.time) + if(src && !qdeleted(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) cooldowntime = world.time + 2400 var/obj/item/N = new pickedtype(get_turf(src)) user << "You work the forge as dark knowledge guides your hands, creating [N]!" @@ -133,6 +151,9 @@ if(!iscultist(user)) user << "All of these books seem to be gibberish." return + if(!anchored) + user << "You need to anchor [src] to the floor with a tome first." + return if(cooldowntime > world.time) user << "The magic in [src] is weak, it will be ready to use again in [getETA()]." return @@ -145,7 +166,7 @@ pickedtype = /obj/item/device/shuttle_curse if("Veil Shifter") pickedtype = /obj/item/device/cult_shift - if(pickedtype && Adjacent(user) && src && !qdeleted(src) && !user.incapacitated() && cooldowntime <= world.time) + if(src && !qdeleted(src) && anchored && pickedtype && Adjacent(user) && !user.incapacitated() && iscultist(user) && cooldowntime <= world.time) cooldowntime = world.time + 2400 var/obj/item/N = new pickedtype(get_turf(src)) user << "You summon [N] from the archives!" diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index 06b82c79c54..de7f5cb0a92 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -17,6 +17,7 @@ This file contains the arcane tome files. ..() if(iscultist(user) || user.stat == DEAD) user << "The scriptures of the Geometer. Allows the scribing of runes and access to the knowledge archives of the cult of Nar-Sie." + user << "Striking a cult structure will unanchor or reanchor it." user << "Striking another cultist with it will purge holy water from them." user << "Striking a noncultist, however, will sear their flesh." diff --git a/icons/obj/cult.dmi b/icons/obj/cult.dmi index 4b28d871c3e..137773d15b6 100644 Binary files a/icons/obj/cult.dmi and b/icons/obj/cult.dmi differ