mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2025-12-30 19:41:56 +00:00
* canUseTopic now uses TRUE/FALSE instead of defines that just say TRUE The most idiotic thing I've seen is canUseTopic's defines, they literally just define TRUE, you can use it however you want, it doesn't matter, it just means TRUE. You can mix and match the args and it will set that arg to true, despite the name. It's so idiotic I decided to remove it, so now I can reclaim a little bit of my sanity.
53 lines
1.7 KiB
Plaintext
53 lines
1.7 KiB
Plaintext
/obj/structure/sacrificealtar
|
|
name = "sacrificial altar"
|
|
desc = "An altar designed to perform blood sacrifice for a deity. Alt-click it to sacrifice a buckled creature."
|
|
icon = 'icons/obj/hand_of_god_structures.dmi'
|
|
icon_state = "sacrificealtar"
|
|
anchored = TRUE
|
|
density = FALSE
|
|
can_buckle = 1
|
|
|
|
/obj/structure/sacrificealtar/AltClick(mob/living/user)
|
|
..()
|
|
if(!istype(user) || !user.canUseTopic(src, be_close = TRUE))
|
|
return
|
|
if(!has_buckled_mobs())
|
|
return
|
|
var/mob/living/L = locate() in buckled_mobs
|
|
if(!L)
|
|
return
|
|
to_chat(user, span_notice("Invoking the sacred ritual, you sacrifice [L]."))
|
|
L.gib()
|
|
message_admins("[ADMIN_LOOKUPFLW(user)] has sacrificed [key_name_admin(L)] on the sacrificial altar at [AREACOORD(src)].")
|
|
|
|
/obj/structure/healingfountain
|
|
name = "healing fountain"
|
|
desc = "A fountain containing the waters of life."
|
|
icon = 'icons/obj/hand_of_god_structures.dmi'
|
|
icon_state = "fountain"
|
|
anchored = TRUE
|
|
density = TRUE
|
|
var/time_between_uses = 1800
|
|
var/last_process = 0
|
|
|
|
/obj/structure/healingfountain/attack_hand(mob/living/user, list/modifiers)
|
|
. = ..()
|
|
if(.)
|
|
return
|
|
if(last_process + time_between_uses > world.time)
|
|
to_chat(user, span_notice("The fountain appears to be empty."))
|
|
return
|
|
last_process = world.time
|
|
to_chat(user, span_notice("The water feels warm and soothing as you touch it. The fountain immediately dries up shortly afterwards."))
|
|
user.reagents.add_reagent(/datum/reagent/medicine/omnizine/godblood,20)
|
|
update_appearance()
|
|
addtimer(CALLBACK(src, /atom/.proc/update_appearance), time_between_uses)
|
|
|
|
|
|
/obj/structure/healingfountain/update_icon_state()
|
|
if(last_process + time_between_uses > world.time)
|
|
icon_state = "fountain"
|
|
else
|
|
icon_state = "fountain-red"
|
|
return ..()
|