lol one ctrl f change

This commit is contained in:
Molti
2024-09-28 00:14:45 -05:00
parent afee6677a2
commit 95e28f5221
80 changed files with 197 additions and 200 deletions

View File

@@ -199,6 +199,9 @@
/// Checks if the given mob is infected.
#define IS_INFECTED(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/zombie))
/// Checks if the given mob is infected.
#define IS_CLOCK_CULTIST(mob) (mob?.mind?.has_antag_datum(/datum/antagonist/clockcult))
// Antag resource defines
#define ANTAG_RESOURCE_DARKSPAWN "psi"
#define ANTAG_RESOURCE_VAMPIRE "blood"

View File

@@ -1066,7 +1066,7 @@ GLOBAL_DATUM_INIT(dview_mob, /mob/dview, new)
/proc/servants_and_ghosts()
. = list()
for(var/V in GLOB.player_list)
if(is_servant_of_ratvar(V) || isobserver(V))
if(IS_CLOCK_CULTIST(V) || isobserver(V))
. += V
#define VARSET_LIST_CALLBACK(target, var_name, var_value) CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(___callbackvarset), ##target, ##var_name, ##var_value)

View File

@@ -474,7 +474,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
var/servants = 0
var/list/textlist = list()
for(var/mob/living/L in GLOB.alive_mob_list)
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
servants++
var/datum/antagonist/clockcult/C = mob_viewer.mind.has_antag_datum(/datum/antagonist/clockcult,TRUE)
if(C && C.clock_team)

View File

@@ -4,7 +4,7 @@
buttontooltipstyle = "clockcult"
/datum/action/item_action/clock/IsAvailable(feedback = FALSE)
if(!is_servant_of_ratvar(owner))
if(!IS_CLOCK_CULTIST(owner))
return FALSE
return ..()

View File

@@ -437,7 +437,7 @@
var/datum/antagonist/rev/converter = creator.mind.has_antag_datum(/datum/antagonist/rev,TRUE)
converter.add_revolutionary(src,FALSE)
else if(is_servant_of_ratvar(creator))
else if(IS_CLOCK_CULTIST(creator))
add_servant_of_ratvar(current)
else if(IS_NUKE_OP(creator))

View File

@@ -376,7 +376,7 @@
/datum/status_effect/belligerent/proc/do_movement_toggle(force_damage)
var/number_legs = owner.get_num_legs(FALSE)
if(iscarbon(owner) && !is_servant_of_ratvar(owner) && !owner.can_block_magic(charge_cost = 0) && number_legs)
if(iscarbon(owner) && !IS_CLOCK_CULTIST(owner) && !owner.can_block_magic(charge_cost = 0) && number_legs)
if(force_damage || owner.m_intent != MOVE_INTENT_WALK)
if(GLOB.ratvar_awakens)
owner.Paralyze(20)
@@ -427,7 +427,7 @@
return ..()
/datum/status_effect/maniamotor/tick()
var/is_servant = is_servant_of_ratvar(owner)
var/is_servant = IS_CLOCK_CULTIST(owner)
var/span_part = severity > 50 ? "" : "_small" //let's save like one check
if(QDELETED(motor))
if(!is_servant)

View File

@@ -43,12 +43,6 @@ Credit where due:
///////////
// PROCS //
///////////
/proc/is_servant_of_ratvar(mob/M)
if(!istype(M))
return FALSE
return M?.mind?.has_antag_datum(/datum/antagonist/clockcult)
/proc/is_eligible_servant(mob/M)
if(!istype(M))
return FALSE
@@ -352,7 +346,7 @@ Credit where due:
/obj/item/paper/servant_primer/examine(mob/user)
. = ..()
if(!is_servant_of_ratvar(user) && !isobserver(user))
if(!IS_CLOCK_CULTIST(user) && !isobserver(user))
. += span_danger("You can't understand any of the words on [src].")
/obj/item/paper/servant_primer/infirmarypaper

View File

@@ -22,7 +22,7 @@
return FALSE
else
return FALSE
if(HAS_TRAIT(M, TRAIT_MINDSHIELD) || issilicon(M) || isbot(M) || isdrone(M) || ismouse(M) || is_servant_of_ratvar(M) || !M.client)
if(HAS_TRAIT(M, TRAIT_MINDSHIELD) || issilicon(M) || isbot(M) || isdrone(M) || ismouse(M) || IS_CLOCK_CULTIST(M) || !M.client)
return FALSE //can't convert machines, shielded, braindead, mice, or ratvar's dogs
return TRUE

View File

@@ -362,7 +362,7 @@
eyeobj.icon_state = "generic_camera"
/obj/machinery/computer/camera_advanced/ratvar/can_use(mob/living/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_warning("[src]'s keys are in a language foreign to you, and you don't understand anything on its screen."))
return
if(clockwork_ark_active())

View File

@@ -590,7 +590,7 @@
open()
/obj/machinery/door/airlock/clockwork/canAIControl(mob/user)
return (is_servant_of_ratvar(user) && !isAllPowerCut())
return (IS_CLOCK_CULTIST(user) && !isAllPowerCut())
/obj/machinery/door/airlock/clockwork/ratvar_act()
return 0
@@ -608,7 +608,7 @@
return ..()
/obj/machinery/door/airlock/clockwork/allowed(mob/M)
if(is_servant_of_ratvar(M))
if(IS_CLOCK_CULTIST(M))
return 1
return 0

View File

@@ -441,7 +441,7 @@
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 8)
/obj/machinery/door/window/clockwork/allowed(mob/M)
if(is_servant_of_ratvar(M))
if(IS_CLOCK_CULTIST(M))
return 1
return 0

View File

@@ -453,7 +453,7 @@
/obj/mecha/ratvar_act()
if((GLOB.ratvar_awakens || GLOB.clockwork_gateway_activated) && occupant)
if(is_servant_of_ratvar(occupant)) //reward the minion that got a mech by repairing it
if(IS_CLOCK_CULTIST(occupant)) //reward the minion that got a mech by repairing it
full_repair(TRUE)
else
var/mob/living/L = occupant

View File

@@ -269,7 +269,7 @@
charges--
// Copy and paste of emag checks.
if(is_servant_of_ratvar(cyborg))
if(IS_CLOCK_CULTIST(cyborg))
to_chat(cyborg, "[span_nezbere("\"[text2ratvar("You will serve Engine above all else")]!\"")]\n\
[span_danger("ALERT: Subversion attempt denied.")]")
log_game("[key_name(user)] attempted to cmag cyborg [key_name(cyborg)], but they serve only Ratvar.")

View File

@@ -24,7 +24,7 @@
/obj/item/radio/intercom/ratvar/attackby(obj/item/I, mob/living/user, params)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
to_chat(user, span_danger("[src] is fastened to the wall with [is_servant_of_ratvar(user) ? "replicant alloy" : "some material you've never seen"], and can't be removed."))
to_chat(user, span_danger("[src] is fastened to the wall with [IS_CLOCK_CULTIST(user) ? "replicant alloy" : "some material you've never seen"], and can't be removed."))
return //no unfastening!
. = ..()

View File

@@ -704,7 +704,7 @@ GLOBAL_LIST_INIT(brass_recipes, list ( \
qdel(src)
/obj/item/stack/tile/brass/attack_self(mob/living/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_danger("[src] seems far too fragile and rigid to build with.")) //haha that's because it's actually replicant alloy you DUMMY
return
..()
@@ -753,7 +753,7 @@ GLOBAL_LIST_INIT(bronze_recipes, list ( \
tableVariant = /obj/structure/table/bronze
/obj/item/stack/tile/bronze/attack_self(mob/living/user)
if(is_servant_of_ratvar(user)) //still lets them build with it, just gives a message
if(IS_CLOCK_CULTIST(user)) //still lets them build with it, just gives a message
to_chat(user, span_danger("Wha... what is this cheap imitation crap? This isn't brass at all!"))
..()

View File

@@ -517,7 +517,7 @@
/turf/open/indestructible/clock_spawn_room/proc/port_servants()
. = FALSE
for(var/mob/living/L in src)
if(is_servant_of_ratvar(L) && L.stat != DEAD)
if(IS_CLOCK_CULTIST(L) && L.stat != DEAD)
. = TRUE
L.forceMove(get_turf(pick(GLOB.servant_spawns)))
visible_message(span_warning("[L] vanishes in a flash of red!"))

View File

@@ -208,7 +208,7 @@
if(L.stat == DEAD)
continue
. = 1
if(!is_servant_of_ratvar(L) || !L.toxloss)
if(!IS_CLOCK_CULTIST(L) || !L.toxloss)
continue
var/image/I = new('icons/effects/effects.dmi', src, "heal", ABOVE_MOB_LAYER) //fake a healing glow for servants
@@ -218,7 +218,7 @@
I.pixel_y = rand(-9, 0)
var/list/viewing = list()
for(var/mob/M in viewers(src))
if(M.client && (is_servant_of_ratvar(M) || isobserver(M) || M.stat == DEAD))
if(M.client && (IS_CLOCK_CULTIST(M) || isobserver(M) || M.stat == DEAD))
viewing += M.client
flick_overlay_global(I, viewing, 8)
L.adjustToxLoss(-3, TRUE, TRUE)

View File

@@ -20,7 +20,7 @@
continue
if(!brain.current || brain.current.stat == DEAD)
continue
if(IS_HERETIC(brain.current) || IS_BLOODSUCKER(brain.current) || iscultist(brain.current) || is_servant_of_ratvar(brain.current) || IS_WIZARD(brain.current))
if(IS_HERETIC(brain.current) || IS_BLOODSUCKER(brain.current) || iscultist(brain.current) || IS_CLOCK_CULTIST(brain.current) || IS_WIZARD(brain.current))
monsters += brain
if(brain.has_antag_datum(/datum/antagonist/changeling))
monsters += brain

View File

@@ -19,7 +19,7 @@
return ..()
/obj/effect/clockwork/examine(mob/user)
if((is_servant_of_ratvar(user) || isobserver(user)) && clockwork_desc)
if((IS_CLOCK_CULTIST(user) || isobserver(user)) && clockwork_desc)
desc = clockwork_desc
. = ..()
desc = initial(desc)

View File

@@ -54,18 +54,18 @@
/obj/effect/clockwork/city_of_cogs_rift/proc/beckon(atom/movable/AM)
var/turf/T = get_turf(pick(GLOB.city_of_cogs_spawns))
if(ismob(AM) && is_servant_of_ratvar(AM))
if(ismob(AM) && IS_CLOCK_CULTIST(AM))
T = GLOB.ark_of_the_clockwork_justiciar ? get_step(GLOB.ark_of_the_clockwork_justiciar, SOUTH) : get_turf(pick(GLOB.servant_spawns))
else // Handle mechas and such
var/list/target_contents = AM.get_all_contents() + AM
for(var/mob/living/L in target_contents)
if(is_servant_of_ratvar(L) && L.stat != DEAD) // Having a living cultist in your inventory sends you to the cultist spawn
if(IS_CLOCK_CULTIST(L) && L.stat != DEAD) // Having a living cultist in your inventory sends you to the cultist spawn
T = GLOB.ark_of_the_clockwork_justiciar ? get_step(GLOB.ark_of_the_clockwork_justiciar, SOUTH) : get_turf(pick(GLOB.servant_spawns))
break
AM.visible_message(span_danger("[AM] passes through [src]!"), null, null, null, AM)
AM.forceMove(T)
AM.visible_message(span_danger("[AM] materializes from the air!"), \
span_boldannounce("You pass through [src] and appear [is_servant_of_ratvar(AM) ? "back at the City of Cogs" : "somewhere unfamiliar. Looks like it was a one-way trip.."]."))
span_boldannounce("You pass through [src] and appear [IS_CLOCK_CULTIST(AM) ? "back at the City of Cogs" : "somewhere unfamiliar. Looks like it was a one-way trip.."]."))
do_sparks(5, TRUE, src)
do_sparks(5, TRUE, AM)
if(isliving(AM))

View File

@@ -23,7 +23,7 @@
/obj/effect/clockwork/sigil/attackby(obj/item/I, mob/living/user, params)
if(I.force)
if(is_servant_of_ratvar(user) && !user.combat_mode)
if(IS_CLOCK_CULTIST(user) && !user.combat_mode)
return ..()
user.visible_message(span_warning("[user] scatters [src] with [I]!"), span_danger("You scatter [src] with [I]!"))
qdel(src)
@@ -36,7 +36,7 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/effect/clockwork/sigil/attack_hand(mob/user)
if(iscarbon(user) && !user.stat)
if(is_servant_of_ratvar(user) && !user.combat_mode)
if(IS_CLOCK_CULTIST(user) && !user.combat_mode)
return ..()
user.visible_message(span_warning("[user] stamps out [src]!"), span_danger("You stomp on [src], scattering it into thousands of particles."))
qdel(src)
@@ -51,7 +51,7 @@
if(isliving(AM))
var/mob/living/L = AM
if(L.stat <= stat_affected)
if((!is_servant_of_ratvar(L) || (affects_servants && is_servant_of_ratvar(L))) && (L.mind || L.has_status_effect(STATUS_EFFECT_SIGILMARK)) && !isdrone(L))
if((!IS_CLOCK_CULTIST(L) || (affects_servants && IS_CLOCK_CULTIST(L))) && (L.mind || L.has_status_effect(STATUS_EFFECT_SIGILMARK)) && !isdrone(L))
var/atom/I = L.can_block_magic((check_antimagic ? MAGIC_RESISTANCE : NONE))
if(I)
if(isitem(I))
@@ -81,7 +81,7 @@
/obj/effect/clockwork/sigil/transgression/sigil_effects(mob/living/L)
var/target_flashed = L.flash_act()
for(var/mob/living/M in viewers(5, src))
if(!is_servant_of_ratvar(M) && M != L)
if(!IS_CLOCK_CULTIST(M) && M != L)
M.flash_act()
if(iscultist(L))
to_chat(L, "[span_heavy_brass("\"Watch your step, wretch.\"")]")
@@ -121,7 +121,7 @@
if(locate(/obj/effect/clockwork/sigil/transgression) in T)
has_sigil = TRUE
for(var/mob/living/M in range(3, src))
if(is_servant_of_ratvar(M) && !M.stat)
if(IS_CLOCK_CULTIST(M) && !M.stat)
has_servant = TRUE
if(!has_sigil && !has_servant)
visible_message(span_danger("[src] strains into a gentle violet color, but quietly fades..."))
@@ -162,12 +162,12 @@
if(iscarbon(L))
var/mob/living/carbon/C = L
C.silent += 5
var/message = "[sigil_name] in [get_area(src)] [span_sevtug("[is_servant_of_ratvar(L) ? "successfully converted" : "failed to convert"]")]"
var/message = "[sigil_name] in [get_area(src)] [span_sevtug("[IS_CLOCK_CULTIST(L) ? "successfully converted" : "failed to convert"]")]"
for(var/M in GLOB.mob_list)
if(isobserver(M))
var/link = FOLLOW_LINK(M, L)
to_chat(M, "[link] [span_heavy_brass("[message] [L.real_name]!")]")
else if(is_servant_of_ratvar(M))
else if(IS_CLOCK_CULTIST(M))
if(M == L)
to_chat(M, "[span_heavy_brass("[message] you!")]")
else
@@ -203,7 +203,7 @@
/obj/effect/clockwork/sigil/transmission/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
var/structure_number = 0
for(var/obj/structure/destructible/clockwork/powered/P in range(SIGIL_ACCESS_RANGE, src))
structure_number++
@@ -213,7 +213,7 @@
. += span_brass("You can recharge from the [sigil_name] by crossing it.")
/obj/effect/clockwork/sigil/transmission/sigil_effects(mob/living/L)
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
if(iscyborg(L))
charge_cyborg(L)
else if(get_clockwork_power())
@@ -287,7 +287,7 @@
/obj/effect/clockwork/sigil/vitality/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += "<span class='[GLOB.clockwork_vitality ? "inathneq_small":"alloy"]'>It has access to <b>[GLOB.ratvar_awakens ? "INFINITE":GLOB.clockwork_vitality]</b> units of vitality.</span>"
if(GLOB.ratvar_awakens)
. += "[span_inathneq_small("It can revive Servants at no cost!")]"
@@ -295,19 +295,19 @@
. += span_inathneq_small("It can revive Servants at a cost of <b>[revive_cost]</b> vitality.")
/obj/effect/clockwork/sigil/vitality/sigil_effects(mob/living/L)
if((is_servant_of_ratvar(L) && L.suiciding) || sigil_active)
if((IS_CLOCK_CULTIST(L) && L.suiciding) || sigil_active)
return
animate(src, alpha = 255, time = 1 SECONDS, flags = ANIMATION_END_NOW) //we may have a previous animation going. finish it first, then do this one without delay.
sleep(1 SECONDS)
//as long as they're still on the sigil and are either not a servant or they're a servant AND it has remaining vitality
var/consumed_vitality
while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src) && !L.buckled)
while(L && (!IS_CLOCK_CULTIST(L) || (IS_CLOCK_CULTIST(L) && (GLOB.ratvar_awakens || GLOB.clockwork_vitality))) && get_turf(L) == get_turf(src) && !L.buckled)
sigil_active = TRUE
if(animation_number >= 4)
new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src))
animation_number = 0
animation_number++
if(!is_servant_of_ratvar(L))
if(!IS_CLOCK_CULTIST(L))
var/vitality_drained = 0
if(L.stat == DEAD && !consumed_vitality)
consumed_vitality = TRUE //Prevent the target from being consumed multiple times

View File

@@ -21,12 +21,12 @@
. = ..()
var/list/target_contents = M.get_all_contents() + M
for(var/mob/living/L in target_contents)
if(is_servant_of_ratvar(L) && get_dir(M, src) != dir && L.stat != DEAD) //Unless we're on the side the arrow is pointing directly away from, no-go
if(IS_CLOCK_CULTIST(L) && get_dir(M, src) != dir && L.stat != DEAD) //Unless we're on the side the arrow is pointing directly away from, no-go
to_chat(L, span_danger("The space beyond here can't be accessed by you or other servants."))
return FALSE
if(isitem(M))
var/obj/item/I = M
if(is_servant_of_ratvar(I.thrownby)) //nice try!
if(IS_CLOCK_CULTIST(I.thrownby)) //nice try!
return FALSE
return TRUE

View File

@@ -54,7 +54,7 @@
/obj/effect/clockwork/spatial_gateway/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += span_brass("It has [uses] use\s remaining.")
//ATTACK GHOST IGNORING PARENT RETURN VALUE
@@ -179,7 +179,7 @@
possible_targets[avoid_assoc_duplicate_keys("[locname] [O.name]", teleportnames)] = O
for(var/mob/living/L in GLOB.alive_mob_list)
if(!L.stat && is_servant_of_ratvar(L) && !L.Adjacent(invoker) && !is_away_level(L.z)) //People right next to the invoker can't be portaled to, for obvious reasons
if(!L.stat && IS_CLOCK_CULTIST(L) && !L.Adjacent(invoker) && !is_away_level(L.z)) //People right next to the invoker can't be portaled to, for obvious reasons
possible_targets[avoid_assoc_duplicate_keys("[L.name] ([L.real_name])", teleportnames)] = L
if(!possible_targets.len)
@@ -187,14 +187,14 @@
return FALSE
var/input_target_key = input(invoker, "Choose a target to form a rift to.", "Spatial Gateway") as null|anything in possible_targets
var/atom/movable/target = possible_targets[input_target_key]
if(!src || !input_target_key || !invoker || !invoker.canUseTopic(src, !issilicon(invoker)) || !is_servant_of_ratvar(invoker) || (isitem(src) && invoker.get_active_held_item() != src) || !invoker.can_speak_vocal())
if(!src || !input_target_key || !invoker || !invoker.canUseTopic(src, !issilicon(invoker)) || !IS_CLOCK_CULTIST(invoker) || (isitem(src) && invoker.get_active_held_item() != src) || !invoker.can_speak_vocal())
return FALSE //if any of the involved things no longer exist, the invoker is stunned, too far away to use the object, or does not serve ratvar, or if the object is an item and not in the mob's active hand, fail
if(!target) //if we have no target, but did have a key, let them retry
to_chat(invoker, span_warning("That target no longer exists!"))
return procure_gateway(invoker, time_duration, gateway_uses, two_way)
if(isliving(target))
var/mob/living/L = target
if(!is_servant_of_ratvar(L))
if(!IS_CLOCK_CULTIST(L))
to_chat(invoker, span_warning("That target is no longer a Servant!"))
return procure_gateway(invoker, time_duration, gateway_uses, two_way)
if(L.stat != CONSCIOUS)

View File

@@ -41,13 +41,13 @@
update_appearance(UPDATE_ICON)
/mob/living/silicon/robot/power_drain(clockcult_user)
if((!clockcult_user || !is_servant_of_ratvar(src)) && cell && cell.charge)
if((!clockcult_user || !IS_CLOCK_CULTIST(src)) && cell && cell.charge)
. = min(cell.charge, MIN_CLOCKCULT_POWER*4)
cell.use(.)
spark_system.start()
/obj/mecha/power_drain(clockcult_user)
if((!clockcult_user || (occupant && !is_servant_of_ratvar(occupant))) && cell && cell.charge)
if((!clockcult_user || (occupant && !IS_CLOCK_CULTIST(occupant))) && cell && cell.charge)
. = min(cell.charge, MIN_CLOCKCULT_POWER*4)
cell.use(.)
spark_system.start()

View File

@@ -9,7 +9,7 @@
to_chat(M, "[link] [message]")
else
to_chat(M, message)
else if(is_servant_of_ratvar(M))
else if(IS_CLOCK_CULTIST(M))
to_chat(M, message)
return TRUE
@@ -36,7 +36,7 @@
var/span_for_message = "brass"
/datum/action/innate/hierophant/IsAvailable(feedback = FALSE)
if(!is_servant_of_ratvar(owner))
if(!IS_CLOCK_CULTIST(owner))
return FALSE
return ..()

View File

@@ -18,7 +18,7 @@
if(.[i] != previous_states[i])
update_slab_info()
for(var/mob/M in GLOB.player_list)
if(is_servant_of_ratvar(M) || isobserver(M))
if(IS_CLOCK_CULTIST(M) || isobserver(M))
M.playsound_local(M, 'sound/magic/clockwork/scripture_tier_up.ogg', 50, FALSE, pressure_affected = FALSE)
/proc/update_slab_info(obj/item/clockwork/slab/set_slab)
@@ -50,4 +50,4 @@
GLOB.clockwork_construction_value = max(0, GLOB.clockwork_construction_value + amount)
/proc/can_recite_scripture(mob/living/L, can_potentially)
return (is_servant_of_ratvar(L) && (can_potentially || (L.stat == CONSCIOUS && (L.can_speak_vocal() || L?.mind?.miming))) && (GLOB.ratvar_awakens || (ishuman(L) || issilicon(L))))
return (IS_CLOCK_CULTIST(L) && (can_potentially || (L.stat == CONSCIOUS && (L.can_speak_vocal() || L?.mind?.miming))) && (GLOB.ratvar_awakens || (ishuman(L) || issilicon(L))))

View File

@@ -41,7 +41,7 @@
if(iscarbon(clicked_on) && clicked_on.Adjacent(caller))
var/mob/living/carbon/L = clicked_on
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
to_chat(caller, span_neovgre("\"[L.p_theyre(TRUE)] a servant.\""))
return FALSE
else if(L.stat)
@@ -96,7 +96,7 @@
if(isliving(clicked_on) && (clicked_on in view(7, get_turf(caller))))
var/mob/living/L = clicked_on
if(!is_servant_of_ratvar(L))
if(!IS_CLOCK_CULTIST(L))
to_chat(caller, span_inathneq("\"[L] does not yet serve Ratvar.\""))
return TRUE
if(L.stat == DEAD)
@@ -181,7 +181,7 @@
/obj/projectile/kindle/on_hit(atom/clicked_on, blocked = FALSE)
if(isliving(clicked_on))
var/mob/living/L = clicked_on
if(is_servant_of_ratvar(L) || L.stat || L.has_status_effect(STATUS_EFFECT_KINDLE))
if(IS_CLOCK_CULTIST(L) || L.stat || L.has_status_effect(STATUS_EFFECT_KINDLE))
return BULLET_ACT_HIT
var/atom/O = L.can_block_magic()
playsound(L, 'sound/magic/fireball.ogg', 50, TRUE, frequency = 1.25)
@@ -215,7 +215,7 @@
if(isliving(clicked_on) && (clicked_on in view(7, get_turf(caller))))
var/mob/living/L = clicked_on
if(!is_servant_of_ratvar(L))
if(!IS_CLOCK_CULTIST(L))
to_chat(caller, span_inathneq("\"[L] does not yet serve Ratvar.\""))
return FALSE
if(L.stat == DEAD)
@@ -229,7 +229,7 @@
if(L == caller)
for(var/mob/living/LT in spiral_range(7, T))
if(LT.stat == DEAD || !is_servant_of_ratvar(LT) || LT == caller || !(LT in view(7, get_turf(caller))) || \
if(LT.stat == DEAD || !IS_CLOCK_CULTIST(LT) || LT == caller || !(LT in view(7, get_turf(caller))) || \
(islist(LT.stun_absorption) && LT.stun_absorption["vanguard"] && LT.stun_absorption["vanguard"]["end_time"] > world.time))
continue
L = LT

View File

@@ -18,7 +18,7 @@
return ..()
/obj/item/clockwork/examine(mob/user)
if((is_servant_of_ratvar(user) || isobserver(user)) && clockwork_desc)
if((IS_CLOCK_CULTIST(user) || isobserver(user)) && clockwork_desc)
desc = clockwork_desc
. = ..()
desc = initial(desc)

View File

@@ -11,11 +11,11 @@
/obj/item/clockwork/component/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += "<span class='[get_component_span(component_id)]'>You can activate this in your hand to break it down for power.</span>"
/obj/item/clockwork/component/attack_self(mob/living/user)
if(is_servant_of_ratvar(user))
if(IS_CLOCK_CULTIST(user))
user.visible_message(span_notice("[user] crushes [src] in [user.p_their()] hand!"), \
span_alloy("You crush [src], capturing its escaping energy for use as power."))
playsound(user, 'sound/effects/pop_expl.ogg', 50, TRUE)
@@ -31,7 +31,7 @@
var/obj/item/stack/ore/slag/wrath = new /obj/item/stack/ore/slag
qdel(src)
user.put_in_active_hand(wrath)
if(is_servant_of_ratvar(user) && prob(20))
if(IS_CLOCK_CULTIST(user) && prob(20))
var/pickedmessage = pick(servant_of_ratvar_messages)
to_chat(user, "<span class='[message_span]'>[servant_of_ratvar_messages[pickedmessage] ? "[text2ratvar(pickedmessage)]" : pickedmessage]</span>")
@@ -182,7 +182,7 @@
/obj/item/clockwork/alloy_shards/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += span_brass("Can be consumed by a replica fabricator as a source of power.")
/obj/item/clockwork/alloy_shards/proc/replace_name_desc()

View File

@@ -13,7 +13,7 @@
var/obj/item/clockwork/weapon/weapon
/datum/action/innate/call_weapon/IsAvailable(feedback = FALSE)
if(!is_servant_of_ratvar(owner))
if(!IS_CLOCK_CULTIST(owner))
qdel(src)
return
if(cooldown > world.time)

View File

@@ -16,6 +16,6 @@
/obj/item/clockwork/weapon/brass_battlehammer/attack(mob/living/target, mob/living/carbon/human/user)
. = ..()
if(!is_servant_of_ratvar(target))
if(!IS_CLOCK_CULTIST(target))
var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src)))
target.throw_at(throw_target, 1, 4)

View File

@@ -18,7 +18,7 @@
/obj/item/clockwork/weapon/brass_sword/attack(mob/living/target, mob/living/carbon/human/user)
. = ..()
if(world.time > emp_cooldown && !is_servant_of_ratvar(target))
if(world.time > emp_cooldown && !IS_CLOCK_CULTIST(target))
target.emp_act(emp_severity)
emp_cooldown = world.time + cooldown_duration
addtimer(CALLBACK(src, PROC_REF(send_message)), cooldown_duration)

View File

@@ -29,14 +29,14 @@
/obj/item/clockwork/weapon/ratvarian_spear/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += span_inathneq_small("Attacks on living non-Servants will generate <b>[bonus_burn]</b> units of vitality.")
if(!iscyborg(user))
. += span_brass("Throwing the spear will do massive damage, break the spear, and knock down the target.")
/obj/item/clockwork/weapon/ratvarian_spear/attack(mob/living/target, mob/living/carbon/human/user)
. = ..()
if(!QDELETED(target) && target.stat != DEAD && !target.can_block_magic(charge_cost = 0) && !is_servant_of_ratvar(target)) //we do bonus damage on attacks unless they're a servant, have a null rod, or are dead
if(!QDELETED(target) && target.stat != DEAD && !target.can_block_magic(charge_cost = 0) && !IS_CLOCK_CULTIST(target)) //we do bonus damage on attacks unless they're a servant, have a null rod, or are dead
var/bonus_damage = bonus_burn //normally a total of 20 damage, 30 with ratvar
if(issilicon(target))
target.visible_message(span_warning("[target] shudders violently at [src]'s touch!"), span_userdanger("ERROR: Temperature rising!"))
@@ -50,7 +50,7 @@
var/turf/T = get_turf(hit_atom)
if(isliving(hit_atom))
var/mob/living/L = hit_atom
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
if(L.put_in_active_hand(src))
L.visible_message(span_warning("[L] catches [src] out of the air!"))
else

View File

@@ -38,7 +38,7 @@
/obj/item/clothing/head/helmet/clockwork/equipped(mob/living/user, slot)
..()
if(slot == ITEM_SLOT_HEAD && !is_servant_of_ratvar(user))
if(slot == ITEM_SLOT_HEAD && !IS_CLOCK_CULTIST(user))
if(!iscultist(user))
to_chat(user, "[span_heavy_brass("\"Now now, this is for my servants, not you.\"")]")
user.visible_message(span_warning("As [user] puts [src] on, it flickers off [user.p_their()] head!"), span_warning("The helmet flickers off your head, leaving only nausea!"))
@@ -54,7 +54,7 @@
addtimer(CALLBACK(user, TYPE_PROC_REF(/mob/living, dropItemToGround), src, TRUE), 1) //equipped happens before putting stuff on(but not before picking items up), 1). thus, we need to wait for it to be on before forcing it off.
/obj/item/clothing/head/helmet/clockwork/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE)
if(equipper && !is_servant_of_ratvar(equipper))
if(equipper && !IS_CLOCK_CULTIST(equipper))
return 0
return ..()
@@ -98,13 +98,13 @@
min_cold_protection_temperature = initial(min_cold_protection_temperature)
/obj/item/clothing/suit/armor/clockwork/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE)
if(equipper && !is_servant_of_ratvar(equipper))
if(equipper && !IS_CLOCK_CULTIST(equipper))
return 0
return ..()
/obj/item/clothing/suit/armor/clockwork/equipped(mob/living/user, slot)
..()
if(slot == ITEM_SLOT_OCLOTHING && !is_servant_of_ratvar(user))
if(slot == ITEM_SLOT_OCLOTHING && !IS_CLOCK_CULTIST(user))
if(!iscultist(user))
to_chat(user, "[span_heavy_brass("\"Now now, this is for my servants, not you.\"")]")
user.visible_message(span_warning("As [user] puts [src] on, it flickers off [user.p_their()] body!"), span_warning("The cuirass flickers off your body, leaving only nausea!"))
@@ -161,13 +161,13 @@
min_cold_protection_temperature = initial(min_cold_protection_temperature)
/obj/item/clothing/gloves/clockwork/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE)
if(equipper && !is_servant_of_ratvar(equipper))
if(equipper && !IS_CLOCK_CULTIST(equipper))
return 0
return ..()
/obj/item/clothing/gloves/clockwork/equipped(mob/living/user, slot)
..()
if(slot == ITEM_SLOT_GLOVES && !is_servant_of_ratvar(user))
if(slot == ITEM_SLOT_GLOVES && !IS_CLOCK_CULTIST(user))
if(!iscultist(user))
to_chat(user, "[span_heavy_brass("\"Now now, this is for my servants, not you.\"")]")
user.visible_message(span_warning("As [user] puts [src] on, it flickers off [user.p_their()] arms!"), span_warning("The gauntlets flicker off your arms, leaving only nausea!"))
@@ -211,13 +211,13 @@
clothing_flags &= ~NOSLIP
/obj/item/clothing/shoes/clockwork/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE)
if(equipper && !is_servant_of_ratvar(equipper))
if(equipper && !IS_CLOCK_CULTIST(equipper))
return 0
return ..()
/obj/item/clothing/shoes/clockwork/equipped(mob/living/user, slot)
..()
if(slot == ITEM_SLOT_FEET && !is_servant_of_ratvar(user))
if(slot == ITEM_SLOT_FEET && !IS_CLOCK_CULTIST(user))
if(!iscultist(user))
to_chat(user, "[span_heavy_brass("\"Now now, this is for my servants, not you.\"")]")
user.visible_message(span_warning("As [user] puts [src] on, it flickers off [user.p_their()] feet!"), span_warning("The treads flicker off your feet, leaving only nausea!"))

View File

@@ -38,7 +38,7 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/item/clockwork/slab/debug/attack_hand(mob/living/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
add_servant_of_ratvar(user)
return ..()
@@ -129,7 +129,7 @@
/obj/item/clockwork/slab/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
if(LAZYLEN(quickbound))
for(var/i in 1 to quickbound.len)
if(!quickbound[i])
@@ -155,7 +155,7 @@
user.apply_damage(5, BURN, BODY_ZONE_L_ARM)
user.apply_damage(5, BURN, BODY_ZONE_R_ARM)
return 0
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_warning("The information on [src]'s display shifts rapidly. After a moment, your head begins to pound, and you tear your eyes away."))
user.adjust_confusion(5 SECONDS)
user.adjust_dizzy(5 SECONDS)
@@ -169,12 +169,12 @@
access_display(user)
/obj/item/clockwork/slab/AltClick(mob/living/user)
if(is_servant_of_ratvar(user) && linking && user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
if(IS_CLOCK_CULTIST(user) && linking && user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
linking = null
to_chat(user, span_notice("Object link canceled."))
/obj/item/clockwork/slab/proc/access_display(mob/living/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
return FALSE
ui_interact(user)
return TRUE
@@ -518,7 +518,7 @@
actions_to_elim = actions
else
var/mob/living/user = mob_override || loc
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
return
actions_to_elim = user.actions
for(var/datum/action/item_action/clock/quickbind/existing_binds in actions_to_elim)

View File

@@ -38,7 +38,7 @@
if(blaster.owner)
blaster.unset_click_ability(blaster.owner)
return 0
if(is_servant_of_ratvar(user))
if(IS_CLOCK_CULTIST(user))
update_status(TRUE)
else
update_status(FALSE)
@@ -60,7 +60,7 @@
blaster.unset_click_ability(user)
/obj/item/clothing/glasses/judicial_visor/attack_self(mob/user)
if(is_servant_of_ratvar(user) && src == user.get_item_by_slot(ITEM_SLOT_EYES))
if(IS_CLOCK_CULTIST(user) && src == user.get_item_by_slot(ITEM_SLOT_EYES))
blaster.Trigger()
/obj/item/clothing/glasses/judicial_visor/proc/update_status(change_to)
@@ -74,7 +74,7 @@
icon_state = "judicial_visor_[active]"
L.update_mob_action_buttons()
L.update_inv_glasses()
if(!is_servant_of_ratvar(L) || L.stat)
if(!IS_CLOCK_CULTIST(L) || L.stat)
return 0
switch(active)
if(TRUE)
@@ -113,7 +113,7 @@
visor = Target
/datum/action/cooldown/judicial_visor/IsAvailable(feedback = FALSE)
if(!is_servant_of_ratvar(owner))
if(!IS_CLOCK_CULTIST(owner))
return FALSE
if(visor.recharging)
return FALSE
@@ -189,7 +189,7 @@
playsound(src, 'sound/effects/explosion_distant.ogg', 100, 1, 1, 1)
set_light(0)
for(var/mob/living/L in range(1, src))
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
continue
var/atom/I = L.can_block_magic()
if(I)

View File

@@ -45,7 +45,7 @@
/obj/item/clockwork/replica_fabricator/examine(mob/living/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += {"[span_brass("Can be used to replace walls, floors, tables, windows, windoors, and airlocks with Clockwork variants.")]\n
[span_brass("Can construct Clockwork Walls on Clockwork Floors and deconstruct Clockwork Walls to Clockwork Floors.")]"}
if(uses_power)
@@ -56,7 +56,7 @@
<span class='alloy'>It has access to <b>[DisplayEnergy(get_clockwork_power())]</b> of power.</span>"}
/obj/item/clockwork/replica_fabricator/attack_self(mob/living/user)
if(is_servant_of_ratvar(user))
if(IS_CLOCK_CULTIST(user))
if(uses_power)
if(!get_clockwork_power(POWER_WALL_TOTAL))
to_chat(user, span_warning("[src] requires <b>[DisplayEnergy(POWER_WALL_TOTAL)]</b> of power to produce brass sheets!"))
@@ -67,7 +67,7 @@
to_chat(user, span_brass("You use [get_clockwork_power() ? "some":"all"] of [src]'s power to produce <b>5</b> brass sheets. It now has access to <b>[DisplayEnergy(get_clockwork_power())]</b> of power."))
/obj/item/clockwork/replica_fabricator/pre_attack(atom/target, mob/living/user, params)
if(!target || !user || !is_servant_of_ratvar(user) || istype(target, /obj/item/storage))
if(!target || !user || !IS_CLOCK_CULTIST(user) || istype(target, /obj/item/storage))
return FALSE
return fabricate(target, user)
@@ -188,7 +188,7 @@
return FALSE
if(isliving(target)) //standard checks for if we can affect the target
var/mob/living/L = target
if(!is_servant_of_ratvar(L))
if(!IS_CLOCK_CULTIST(L))
if(!silent)
to_chat(user, span_warning("[L] does not serve Ratvar!"))
return FALSE

View File

@@ -38,7 +38,7 @@
return ..()
/obj/item/mmi/posibrain/soul_vessel/examine(mob/user)
if((is_servant_of_ratvar(user) || isobserver(user)) && clockwork_desc)
if((IS_CLOCK_CULTIST(user) || isobserver(user)) && clockwork_desc)
desc = clockwork_desc
. = ..()
desc = initial(desc)
@@ -49,13 +49,13 @@
add_servant_of_ratvar(brainmob, TRUE)
/obj/item/mmi/posibrain/soul_vessel/attack_self(mob/living/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_warning("You fiddle around with [src], to no avail."))
return FALSE
..()
/obj/item/mmi/posibrain/soul_vessel/attack(mob/living/target, mob/living/carbon/human/user)
if(!is_servant_of_ratvar(user) || !ishuman(target))
if(!IS_CLOCK_CULTIST(user) || !ishuman(target))
..()
return
if(QDELETED(brainmob))
@@ -63,7 +63,7 @@
if(brainmob.key)
to_chat(user, span_nezbere("\"This vessel is filled, friend. Provide it with a body.\""))
return
if(is_servant_of_ratvar(target))
if(IS_CLOCK_CULTIST(target))
to_chat(user, span_nezbere("\"It would be more wise to revive your allies, friend.\""))
return
if(target.suiciding)

View File

@@ -37,7 +37,7 @@
return
if(blind_cultist(H))
return
if(is_servant_of_ratvar(H))
if(IS_CLOCK_CULTIST(H))
to_chat(H, "[span_heavy_brass("You push the spectacles down, and all is revealed to you.[GLOB.ratvar_awakens ? "" : " Your eyes begin to itch - you cannot do this for long."]")]")
var/datum/status_effect/wraith_spectacles/WS = H.has_status_effect(STATUS_EFFECT_WRAITHSPECS)
if(WS)
@@ -61,7 +61,7 @@
tint = 0
vision_flags = NONE
if(!up)
if(is_servant_of_ratvar(loc))
if(IS_CLOCK_CULTIST(loc))
vision_flags = SEE_MOBS | SEE_TURFS | SEE_OBJS
else
tint = 3
@@ -79,7 +79,7 @@
if(blind_cultist(user)) //Cultists instantly go blind
return
set_vision_vars(TRUE)
if(is_servant_of_ratvar(user))
if(IS_CLOCK_CULTIST(user))
to_chat(user, "[span_heavy_brass("As you put on the spectacles, all is revealed to you.[GLOB.ratvar_awakens || GLOB.ratvar_approaches ? "" : " Your eyes begin to itch - you cannot do this for long."]")]")
var/datum/status_effect/wraith_spectacles/WS = user.has_status_effect(STATUS_EFFECT_WRAITHSPECS)
if(WS)

View File

@@ -103,7 +103,7 @@
/mob/camera/eminence/Hear(message, atom/movable/speaker, datum/language/message_language, raw_message, radio_freq, list/spans, message_mode)
. = ..()
if(is_reebe(z) || is_servant_of_ratvar(speaker) || GLOB.ratvar_approaches || GLOB.ratvar_awakens) //Away from Reebe, the Eminence can't hear anything
if(is_reebe(z) || IS_CLOCK_CULTIST(speaker) || GLOB.ratvar_approaches || GLOB.ratvar_awakens) //Away from Reebe, the Eminence can't hear anything
to_chat(src, message)
return
to_chat(src, "<i>[speaker] says something, but you can't understand any of it...</i>")

View File

@@ -277,7 +277,7 @@ GLOBAL_LIST_INIT(scripture_states,scripture_states_init_value()) //list of clock
if(G && !G.active && combat_construct && is_reebe(invoker.z) && !confirmed) //Putting marauders on the base during the prep phase is a bad idea mmkay
if(alert(invoker, "This is a combat construct, and you cannot easily get it to the station. Are you sure you want to make one here?", "Construct Alert", "Yes", "Cancel") == "Cancel")
return
if(!is_servant_of_ratvar(invoker) || !invoker.canUseTopic(slab))
if(!IS_CLOCK_CULTIST(invoker) || !invoker.canUseTopic(slab))
return
confirmed = TRUE
return TRUE

View File

@@ -25,7 +25,7 @@
/datum/clockwork_scripture/ranged_ability/linked_vanguard/scripture_effects()
if(GLOB.ratvar_awakens) //hey, ratvar's up! give everybody stun immunity.
for(var/mob/living/L in view(7, get_turf(invoker)))
if(L.stat != DEAD && is_servant_of_ratvar(L))
if(L.stat != DEAD && IS_CLOCK_CULTIST(L))
L.apply_status_effect(STATUS_EFFECT_VANGUARD)
CHECK_TICK
return TRUE

View File

@@ -138,7 +138,7 @@
/datum/clockwork_scripture/vanguard/scripture_effects()
if(GLOB.ratvar_awakens)
for(var/mob/living/L in view(7, get_turf(invoker)))
if(L.stat != DEAD && is_servant_of_ratvar(L))
if(L.stat != DEAD && IS_CLOCK_CULTIST(L))
L.apply_status_effect(STATUS_EFFECT_VANGUARD)
CHECK_TICK
else

View File

@@ -163,7 +163,7 @@
/obj/item/clothing/shoes/magboots)) //replace this only if ratvar is up
/datum/action/innate/clockwork_armaments/IsAvailable(feedback = FALSE)
if(!is_servant_of_ratvar(owner))
if(!IS_CLOCK_CULTIST(owner))
qdel(src)
return
if(cooldown > world.time)
@@ -250,7 +250,7 @@
return FALSE
var/other_servants = 0
for(var/mob/living/L in GLOB.alive_mob_list)
if(is_servant_of_ratvar(L) && !L.stat && L != invoker)
if(IS_CLOCK_CULTIST(L) && !L.stat && L != invoker)
other_servants++
for(var/obj/structure/destructible/clockwork/powered/clockwork_obelisk/O in GLOB.all_clockwork_objects)
if(O.anchored)
@@ -264,7 +264,7 @@
var/portal_uses = 0
var/duration = 0
for(var/mob/living/L in range(1, invoker))
if(!L.stat && is_servant_of_ratvar(L))
if(!L.stat && IS_CLOCK_CULTIST(L))
portal_uses++
duration += 40 //4 seconds
if(GLOB.ratvar_awakens)

View File

@@ -40,19 +40,19 @@
addtimer(CALLBACK(src, /atom/proc/update_atom_colour), 0.8 SECONDS)
/obj/structure/destructible/clockwork/examine(mob/user)
var/can_see_clockwork = is_servant_of_ratvar(user) || isobserver(user)
var/can_see_clockwork = IS_CLOCK_CULTIST(user) || isobserver(user)
if(can_see_clockwork && clockwork_desc)
desc = clockwork_desc
. = ..()
desc = initial(desc)
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
var/heavily_damaged = (atom_integrity < max_integrity * 0.5)
. += "<span class='[heavily_damaged ? "alloy":"brass"]'>[p_they(TRUE)] [p_are()] at <b>[atom_integrity]/[max_integrity]</b> integrity[heavily_damaged ? "!":"."]</span>"
if(unanchored_icon)
. += span_notice("[src] is [anchored ? "":"not "]secured to the floor.")
/obj/structure/destructible/clockwork/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0)
if(is_servant_of_ratvar(user) && immune_to_servant_attacks)
if(IS_CLOCK_CULTIST(user) && immune_to_servant_attacks)
return FALSE
return ..()
@@ -60,12 +60,12 @@
return 20
/obj/structure/destructible/clockwork/attack_generic(mob/user, damage_amount = 0, damage_type = BRUTE, damage_flag = 0, sound_effect = 1)
if(is_servant_of_ratvar(user) && immune_to_servant_attacks)
if(IS_CLOCK_CULTIST(user) && immune_to_servant_attacks)
return FALSE
return ..()
/obj/structure/destructible/clockwork/mech_melee_attack(obj/mecha/M, punch_force, equip_allowed = TRUE)
if(M.occupant && is_servant_of_ratvar(M.occupant) && immune_to_servant_attacks)
if(M.occupant && IS_CLOCK_CULTIST(M.occupant) && immune_to_servant_attacks)
return FALSE
return ..()
@@ -76,25 +76,25 @@
. = round(., 0.01)
/obj/structure/destructible/clockwork/attack_ai(mob/user)
if(is_servant_of_ratvar(user))
if(IS_CLOCK_CULTIST(user))
return attack_hand(user)
/obj/structure/destructible/clockwork/attack_animal(mob/living/simple_animal/M)
if(is_servant_of_ratvar(M))
if(IS_CLOCK_CULTIST(M))
attack_hand(M)
return FALSE
else
return ..()
/obj/structure/destructible/clockwork/attackby(obj/item/I, mob/user, params)
if(is_servant_of_ratvar(user) && I.tool_behaviour == TOOL_WRENCH && unanchored_icon)
if(IS_CLOCK_CULTIST(user) && I.tool_behaviour == TOOL_WRENCH && unanchored_icon)
if(default_unfasten_wrench(user, I, 50) == SUCCESSFUL_UNFASTEN)
update_anchored(user)
return 1
return ..()
/obj/structure/destructible/clockwork/attacked_by(obj/item/I, mob/living/user)
if(is_servant_of_ratvar(user) && immune_to_servant_attacks)
if(IS_CLOCK_CULTIST(user) && immune_to_servant_attacks)
return FALSE
return ..()
@@ -148,7 +148,7 @@
/obj/structure/destructible/clockwork/powered/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
if(!can_access_clockwork_power(src))
. += span_alloy("It has no access to the power network! Create a sigil of transmission nearby.")
else
@@ -172,7 +172,7 @@
/obj/structure/destructible/clockwork/powered/proc/toggle(fast_process, mob/living/user)
if(user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
return FALSE
if(!anchored && !active)
to_chat(user, span_warning("[src] needs to be secured to the floor before it can be activated!"))

View File

@@ -17,7 +17,7 @@
/obj/structure/destructible/clockwork/trap/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += "It's wired to:"
if(!wired_to.len)
. += "Nothing."
@@ -28,7 +28,7 @@
. += "[O] ([distance == 0 ? "same tile" : "[distance] tiles [dir2text(get_dir(src, O))]"])"
/obj/structure/destructible/clockwork/trap/wrench_act(mob/living/user, obj/item/I)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
return ..()
to_chat(user, span_notice("You break down the delicate components of [src] into brass."))
I.play_tool_sound(src)
@@ -37,7 +37,7 @@
return TRUE
/obj/structure/destructible/clockwork/trap/attackby(obj/item/I, mob/living/user, params)
if(istype(I, /obj/item/clockwork/slab) && is_servant_of_ratvar(user))
if(istype(I, /obj/item/clockwork/slab) && IS_CLOCK_CULTIST(user))
var/obj/item/clockwork/slab/F = I
if(!F.linking)
to_chat(user, span_notice("Beginning link. Alt-click the slab to cancel, or use it on another trap object to link the two."))
@@ -57,7 +57,7 @@
..()
/obj/structure/destructible/clockwork/trap/wirecutter_act(mob/living/user, obj/item/I)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
return
if(!wired_to.len)
to_chat(user, span_warning("[src] has no connections!"))
@@ -88,4 +88,4 @@
/obj/structure/destructible/clockwork/trap/trigger/attack_eminence(mob/camera/eminence/user, params)
visible_message(span_danger("[src] clunks as it's activated remotely."))
to_chat(user, span_brass("You activate [src]."))
activate()
activate()

View File

@@ -55,7 +55,7 @@
for(var/V in GLOB.player_list)
var/mob/M = V
var/turf/T = get_turf(M)
if((T && T.z == z) || is_servant_of_ratvar(M) || isobserver(M))
if((T && T.z == z) || IS_CLOCK_CULTIST(M) || isobserver(M))
M.playsound_local(M, 'sound/machines/clockcult/ark_scream.ogg', 100, FALSE, pressure_affected = FALSE)
hierophant_message("<span class='big boldwarning'>The Ark is taking damage!</span>")
last_scream = world.time + ARK_SCREAM_COOLDOWN
@@ -82,7 +82,7 @@
hierophant_message("<span class='bold large_brass'>The Ark is activating! You will be transported there soon!</span>")
for(var/mob/M in GLOB.player_list)
var/turf/T = get_turf(M)
if(is_servant_of_ratvar(M) || isobserver(M) || (T && T.z == z))
if(IS_CLOCK_CULTIST(M) || isobserver(M) || (T && T.z == z))
M.playsound_local(M, 'sound/magic/clockwork/ark_activation_sequence.ogg', 30, FALSE, pressure_affected = FALSE)
addtimer(CALLBACK(src, PROC_REF(let_slip_the_dogs)), 300)
@@ -193,7 +193,7 @@
sound_to_playing_players(volume = 25, channel = CHANNEL_JUSTICIAR_ARK, S = sound('sound/effects/clockcult_gateway_disrupted.ogg'))
for(var/mob/M in GLOB.player_list)
var/turf/T = get_turf(M)
if((T && T.z == z) || is_servant_of_ratvar(M))
if((T && T.z == z) || IS_CLOCK_CULTIST(M))
M.playsound_local(M, 'sound/machines/clockcult/ark_deathrattle.ogg', 50, FALSE, pressure_affected = FALSE)
make_glow()
glow.icon_state = "clockwork_gateway_disrupted"
@@ -240,7 +240,7 @@
icon_state = "spatial_gateway" //cheat wildly by pretending to have an icon
..()
icon_state = initial(icon_state)
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
if(!active)
to_chat(user, span_big("<b>Time until the Ark's activation:</b> [DisplayTimeText(get_arrival_time())]"))
else
@@ -303,7 +303,7 @@
for(var/V in GLOB.player_list)
var/mob/M = V
var/turf/T = get_turf(M)
if(is_servant_of_ratvar(M) && (!T || T.z != z))
if(IS_CLOCK_CULTIST(M) && (!T || T.z != z))
M.forceMove(get_step(src, SOUTH))
M.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash)
M.clear_fullscreen("flash", 5)

View File

@@ -22,7 +22,7 @@
/obj/structure/destructible/clockwork/powered/clockwork_obelisk/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += span_nzcrentr_small("It requires <b>[DisplayEnergy(hierophant_cost)]</b> to broadcast over the Hierophant Network, and <b>[DisplayEnergy(gateway_cost)]</b> to open a Spatial Gateway.")
/obj/structure/destructible/clockwork/powered/clockwork_obelisk/can_be_unfasten_wrench(mob/user, silent)
@@ -45,7 +45,7 @@
. = ..()
if(.)
return
if(!is_servant_of_ratvar(user) || !can_access_clockwork_power(src, hierophant_cost) || !anchored)
if(!IS_CLOCK_CULTIST(user) || !can_access_clockwork_power(src, hierophant_cost) || !anchored)
to_chat(user, span_warning("You place your hand on [src], but it doesn't react."))
return
var/choice = alert(user,"You place your hand on [src]...",,"Hierophant Broadcast","Spatial Gateway","Cancel")
@@ -58,7 +58,7 @@
to_chat(user, span_warning("You cannot speak through [src]!"))
return
var/input = stripped_input(usr, "Please choose a message to send over the Hierophant Network.", "Hierophant Broadcast", "")
if(!is_servant_of_ratvar(user) || !input || !user.canUseTopic(src, !issilicon(user)))
if(!IS_CLOCK_CULTIST(user) || !input || !user.canUseTopic(src, !issilicon(user)))
return
if(!anchored)
to_chat(user, span_warning("[src] is no longer secured!"))

View File

@@ -15,7 +15,7 @@
. = ..()
if(.)
return
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_notice("You can tell how powerful [src] is; you know better than to touch it."))
return
if(kingmaking)
@@ -39,7 +39,7 @@
nomination(user)
/obj/structure/destructible/clockwork/eminence_spire/attack_drone(mob/living/simple_animal/drone/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
..()
else
to_chat(user, span_warning("You feel the omniscient gaze turn into a puzzled frown. Perhaps you should just stick to building."))
@@ -71,7 +71,7 @@
/obj/structure/destructible/clockwork/eminence_spire/proc/nomination(mob/living/nominee) //A user is nominating themselves or ghosts to become Eminence
var/nomination_choice = alert(nominee, "Who would you like to nominate?", "Eminence Nomination", "Nominate Yourself", "Nominate Ghosts", "Cancel")
if(!is_servant_of_ratvar(nominee) || !nominee.canUseTopic(src) || eminence_nominee)
if(!IS_CLOCK_CULTIST(nominee) || !nominee.canUseTopic(src) || eminence_nominee)
return
switch(nomination_choice)
if("Cancel")
@@ -87,7 +87,7 @@
selection_timer = addtimer(CALLBACK(src, PROC_REF(kingmaker)), 300, TIMER_STOPPABLE)
/obj/structure/destructible/clockwork/eminence_spire/proc/objection(mob/living/wright)
if(alert(wright, "Object to the selection of [eminence_nominee] as Eminence?", "Objection!", "Object", "Cancel") == "Cancel" || !is_servant_of_ratvar(wright) || !wright.canUseTopic(src) || !eminence_nominee)
if(alert(wright, "Object to the selection of [eminence_nominee] as Eminence?", "Objection!", "Object", "Cancel") == "Cancel" || !IS_CLOCK_CULTIST(wright) || !wright.canUseTopic(src) || !eminence_nominee)
return
hierophant_message(span_brass("<b>[wright] objects to the nomination of [eminence_nominee]!</b> The eminence spire has been reset."))
for(var/mob/M in servants_and_ghosts())
@@ -96,7 +96,7 @@
deltimer(selection_timer)
/obj/structure/destructible/clockwork/eminence_spire/proc/cancelation(mob/living/cold_feet)
if(alert(cold_feet, "Cancel your nomination?", "Cancel Nomination", "Withdraw Nomination", "Cancel") == "Cancel" || !is_servant_of_ratvar(cold_feet) || !cold_feet.canUseTopic(src) || !eminence_nominee)
if(alert(cold_feet, "Cancel your nomination?", "Cancel Nomination", "Withdraw Nomination", "Cancel") == "Cancel" || !IS_CLOCK_CULTIST(cold_feet) || !cold_feet.canUseTopic(src) || !eminence_nominee)
return
hierophant_message(span_brass("<b>[eminence_nominee] has withdrawn their nomination!</b> The eminence spire has been reset."))
for(var/mob/M in servants_and_ghosts())

View File

@@ -40,7 +40,7 @@
if(!time_remaining)
hierophant_message("<span class='bold sevtug_small'>[src] has lost its power, and can no longer be activated.</span>")
for(var/mob/M in GLOB.player_list)
if(isobserver(M) || is_servant_of_ratvar(M))
if(isobserver(M) || IS_CLOCK_CULTIST(M))
M.playsound_local(M, 'sound/magic/blind.ogg', 50, FALSE)
available = FALSE
icon_state = "interdiction_lens_unwrenched"
@@ -48,7 +48,7 @@
/obj/structure/destructible/clockwork/heralds_beacon/examine(mob/user)
. = ..()
if(isobserver(user) || is_servant_of_ratvar(user))
if(isobserver(user) || IS_CLOCK_CULTIST(user))
if(!available)
if(!GLOB.ratvar_approaches)
. += "<span class='bold alloy'>It can no longer be activated.</span>"
@@ -62,7 +62,7 @@
. = ..()
if(.)
return
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_notice("You can tell how powerful [src] is; you know better than to touch it."))
return
if(!available)
@@ -75,7 +75,7 @@
var/voting = !(user.key in voters)
if(alert(user, "[voting ? "Cast a" : "Undo your"] vote to activate the beacon?", "Herald's Beacon", "Change Vote", "Cancel") == "Cancel")
return
if(!user.canUseTopic(src) || !is_servant_of_ratvar(user) || !available)
if(!user.canUseTopic(src) || !IS_CLOCK_CULTIST(user) || !available)
return
if(voting)
if(user.key in voters)
@@ -89,7 +89,7 @@
message_admins("[ADMIN_LOOKUPFLW(user)] has [voting ? "voted" : "undone their vote"] to activate [src]! [ADMIN_JMP(user)]")
hierophant_message(span_brass("<b>[user.real_name]</b> has [voting ? "voted" : "undone their vote"] to activate [src]! The beacon needs [votes_left] more votes to activate."))
for(var/mob/M in GLOB.player_list)
if(isobserver(M) || is_servant_of_ratvar(M))
if(isobserver(M) || IS_CLOCK_CULTIST(M))
M.playsound_local(M, 'sound/magic/clockwork/fellowship_armory.ogg', 50, FALSE)
if(!votes_left)
herald_the_justiciar()
@@ -109,7 +109,7 @@
C.update_values()
to_chat(C, C.empower_string)
for(var/mob/living/carbon/human/H in GLOB.alive_mob_list)
if(is_servant_of_ratvar(H))
if(IS_CLOCK_CULTIST(H))
to_chat(H, "<span class='bold alloy'>The beacon's power warps your body into a clockwork form! You are now immune to many hazards, and your body is more robust against damage!</span>")
H.set_species(/datum/species/golem/clockwork/no_scrap)
var/obj/structure/destructible/clockwork/massive/celestial_gateway/G = GLOB.ark_of_the_clockwork_justiciar

View File

@@ -18,7 +18,7 @@
/obj/structure/destructible/clockwork/powered/mania_motor/examine(mob/user)
. = ..()
if(is_servant_of_ratvar(user) || isobserver(user))
if(IS_CLOCK_CULTIST(user) || isobserver(user))
. += span_sevtug_small("It requires <b>[DisplayEnergy(mania_cost)]</b> to run.")
/obj/structure/destructible/clockwork/powered/mania_motor/forced_disable(bad_effects)
@@ -34,7 +34,7 @@
. = ..()
if(.)
return
if(user.canUseTopic(src, !issilicon(user), NO_DEXTERITY) && is_servant_of_ratvar(user))
if(user.canUseTopic(src, !issilicon(user), NO_DEXTERITY) && IS_CLOCK_CULTIST(user))
if(!can_access_clockwork_power(src, mania_cost))
to_chat(user, span_warning("[src] needs more power to function!"))
return 0
@@ -53,7 +53,7 @@
return
var/efficiency = get_efficiency_mod()
for(var/mob/living/carbon/human/H in viewers(7, src))
if(is_servant_of_ratvar(H))
if(IS_CLOCK_CULTIST(H))
continue
var/list/effects = H.has_status_effect_list(STATUS_EFFECT_MANIAMOTOR)
var/datum/status_effect/maniamotor/M

View File

@@ -109,7 +109,7 @@
/obj/structure/destructible/clockwork/ocular_warden/proc/acquire_nearby_targets()
. = list()
for(var/mob/living/L in viewers(sight_range, src)) //Doesn't attack the blind
if(is_servant_of_ratvar(L) || (HAS_TRAIT(L, TRAIT_BLIND)) || L.can_block_magic(MAGIC_RESISTANCE_HOLY|MAGIC_RESISTANCE_MIND))
if(IS_CLOCK_CULTIST(L) || (HAS_TRAIT(L, TRAIT_BLIND)) || L.can_block_magic(MAGIC_RESISTANCE_HOLY|MAGIC_RESISTANCE_MIND))
continue
var/obj/item/storage/book/bible/B = L.bible_check()
if(B)
@@ -143,7 +143,7 @@
var/list/viewcache = list()
for(var/N in GLOB.mechas_list)
var/obj/mecha/M = N
if(get_dist(M, src) <= sight_range && M.occupant && !is_servant_of_ratvar(M.occupant))
if(get_dist(M, src) <= sight_range && M.occupant && !IS_CLOCK_CULTIST(M.occupant))
if(!length(viewcache))
for (var/obj/Z in view(sight_range, src))
viewcache += Z

View File

@@ -72,7 +72,7 @@
var/dir_to_step_in = pick(GLOB.cardinals)
var/list/meals = list()
for(var/mob/living/L in GLOB.alive_mob_list) //we want to know who's alive so we don't lose and retarget a single person
if(L.z == z && !is_servant_of_ratvar(L) && L.mind)
if(L.z == z && !IS_CLOCK_CULTIST(L) && L.mind)
meals += L
if(GLOB.cult_narsie && GLOB.cult_narsie.z == z)
meals = list(GLOB.cult_narsie) //if you're in the way, handy for him, but ratvar only cares about Nar'sie!
@@ -89,7 +89,7 @@
L.playsound_local(prey, 'sound/effects/ratvar_reveal.ogg', 100, FALSE, pressure_affected = FALSE)
else
if((!istype(prey, /obj/singularity/narsie) && prob(10) && LAZYLEN(meals) > 1) || prey.z != z || !(prey in meals))
if(is_servant_of_ratvar(prey))
if(IS_CLOCK_CULTIST(prey))
to_chat(prey, "<span class='heavy_brass'><font size=5>\"Serve me well.\"</font></span>\n\
[span_big_brass("You feel great joy as your god turns His eye to another heretic...")]")
else

View File

@@ -85,7 +85,7 @@
return
var/mob_nearby = FALSE
for(var/mob/living/M in view(2, get_turf(src)))
if(is_servant_of_ratvar(M))
if(IS_CLOCK_CULTIST(M))
mob_nearby = TRUE
break
if(mob_nearby && !mobs_in_range)

View File

@@ -53,7 +53,7 @@
return ..()
/obj/structure/destructible/clockwork/taunting_trail/proc/affect_mob(mob/living/L)
if(istype(L) && !is_servant_of_ratvar(L))
if(istype(L) && !IS_CLOCK_CULTIST(L))
if(!L.can_block_magic(charge_cost = 0))
L.adjust_confusion_up_to(15 SECONDS, 50 SECONDS)
L.adjust_dizzy_up_to(15 SECONDS, 50 SECONDS)

View File

@@ -23,7 +23,7 @@
AddElement(/datum/element/connect_loc, loc_connections)
/obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/proc/on_entered(datum/source, atom/movable/AM, ...)
if(isliving(AM) && !is_servant_of_ratvar(AM))
if(isliving(AM) && !IS_CLOCK_CULTIST(AM))
var/mob/living/L = AM
if(L.stat || L.m_intent == MOVE_INTENT_WALK || !(L.mobility_flags & MOBILITY_STAND))
return

View File

@@ -10,7 +10,7 @@
. = ..()
if(.)
return
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
return
if(!(datum_flags & DF_ISPROCESSING))
START_PROCESSING(SSprocessing, src)

View File

@@ -67,7 +67,7 @@
if(issilicon(current))
if(iscyborg(current) && !silent)
var/mob/living/silicon/robot/R = current
if(R.connected_ai && !is_servant_of_ratvar(R.connected_ai))
if(R.connected_ai && !IS_CLOCK_CULTIST(R.connected_ai))
to_chat(R, "<span class='boldwarning'>You have been desynced from your master AI.<br>\
In addition, your onboard camera is no longer active and you have gained additional equipment, including a limited clockwork slab.</span>")
else

View File

@@ -453,7 +453,7 @@
var/mob/living/carbon/C = L
C.cultslurring += 10
C.adjust_jitter(15 SECONDS)
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
L.adjustBruteLoss(30)
else if(cult.cult_risen)
to_chat(user, span_cultitalic("In a dull flash of red, [L] falls to the ground!"))
@@ -468,7 +468,7 @@
C.adjust_stutter(7 SECONDS)
C.cultslurring += 7
C.adjust_jitter(7 SECONDS)
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
L.adjustBruteLoss(20)
else
to_chat(user, span_cultitalic("In a brilliant flash of red, [L] falls to the ground!"))
@@ -483,7 +483,7 @@
C.adjust_stutter(15 SECONDS)
C.cultslurring += 15
C.adjust_jitter(15 SECONDS)
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
L.adjustBruteLoss(15)
else
target.visible_message("<span class='warning'>[target] winces slightly as a red flash eminates from [user]'s hand</span>", \

View File

@@ -80,7 +80,7 @@
/obj/item/melee/cultblade/pickup(mob/living/user)
..()
if(!iscultist(user))
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_cultlarge("\"I wouldn't advise that.\""))
else
to_chat(user, span_cultlarge("\"One of Ratvar's toys is trying to play with things [user.p_they()] shouldn't. Cute.\""))
@@ -149,7 +149,7 @@
/obj/item/melee/cult_bastard/pickup(mob/living/user)
. = ..()
if(!iscultist(user))
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_cultlarge("\"I wouldn't advise that.\""))
force = 5
return
@@ -399,7 +399,7 @@
/obj/item/clothing/suit/hooded/cultrobes/cult_shield/equipped(mob/living/user, slot)
..()
if(!iscultist(user))
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_cultlarge("\"I wouldn't advise that.\""))
to_chat(user, span_warning("An overwhelming sense of nausea overpowers you!"))
user.dropItemToGround(src, TRUE)
@@ -467,7 +467,7 @@
/obj/item/clothing/suit/hooded/cultrobes/berserker/equipped(mob/living/user, slot)
..()
if(!iscultist(user))
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_cultlarge("\"I wouldn't advise that.\""))
to_chat(user, span_warning("An overwhelming sense of nausea overpowers you!"))
user.dropItemToGround(src, TRUE)
@@ -721,7 +721,7 @@ GLOBAL_VAR_INIT(curselimit, 0)
if(.)
return
if(!L.can_block_magic())
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
L.Paralyze(20)
else
L.Paralyze(10)
@@ -1012,7 +1012,7 @@ GLOBAL_VAR_INIT(curselimit, 0)
if(L.buckled)
L.buckled.unbuckle_mob(L)
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
L.Knockdown(60)
else
L.Knockdown(30)

View File

@@ -237,7 +237,7 @@ structure_check() searches for nearby cultist structures required for the invoca
var/oldcolor = color
color = RUNE_COLOR_DARKRED
var/mob/living/L = pick(myriad_targets)
var/is_clock = is_servant_of_ratvar(L)
var/is_clock = IS_CLOCK_CULTIST(L)
var/mob/living/F = invokers[1]
var/datum/antagonist/cult/C = F.mind.has_antag_datum(/datum/antagonist/cult,TRUE)
@@ -853,7 +853,7 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0)
to_chat(L, span_userdanger("[I] suddenly burns hotly before returning to normal!"))
continue
to_chat(L, span_cultlarge("Your blood boils in your veins!"))
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
to_chat(L, span_userdanger("You feel an unholy darkness dimming the Justiciar's light!"))
animate(src, color = "#FCB56D", time = 0.4 SECONDS)
sleep(0.4 SECONDS)
@@ -880,7 +880,7 @@ GLOBAL_VAR_INIT(narsie_summon_count, 0)
if(L.can_block_magic(charge_cost = 0))
continue
L.take_overall_damage(0, tick_damage*multiplier) //yogs: only burn damage since these like all runes can be placed and activated near freely
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
L.adjustStaminaLoss(tick_damage*multiplier*1.5)
L.clear_stamina_regen()

View File

@@ -742,7 +742,7 @@
/mob/living/simple_animal/horror/proc/assume_control()
if(!victim || !src || controlling || victim.stat == DEAD)
return
if(is_servant_of_ratvar(victim) || iscultist(victim))
if(IS_CLOCK_CULTIST(victim) || iscultist(victim))
to_chat(src, span_warning("[victim]'s mind seems to be blocked by some unknown force!"))
bonding = FALSE
return

View File

@@ -134,7 +134,7 @@
var/datum/mind/brain = monster.owner
if(brain == owner || !brain)
continue
if(IS_HERETIC(brain.current) || IS_BLOODSUCKER(brain.current) || iscultist(brain.current) || is_servant_of_ratvar(brain.current) || IS_WIZARD(brain.current))
if(IS_HERETIC(brain.current) || IS_BLOODSUCKER(brain.current) || iscultist(brain.current) || IS_CLOCK_CULTIST(brain.current) || IS_WIZARD(brain.current))
monsters += brain
if(brain.has_antag_datum(/datum/antagonist/changeling))
monsters += brain

View File

@@ -42,7 +42,7 @@
if(!all_carbons.mind)
continue
var/datum/mind/carbon_minds = all_carbons.mind
if(IS_HERETIC(all_carbons) || IS_BLOODSUCKER(all_carbons) || iscultist(all_carbons) || is_servant_of_ratvar(all_carbons) || IS_WIZARD(all_carbons))
if(IS_HERETIC(all_carbons) || IS_BLOODSUCKER(all_carbons) || iscultist(all_carbons) || IS_CLOCK_CULTIST(all_carbons) || IS_WIZARD(all_carbons))
monsters += carbon_minds
if(carbon_minds.has_antag_datum(/datum/antagonist/changeling))
monsters += carbon_minds

View File

@@ -752,7 +752,7 @@
RegisterSignal(H, COMSIG_MOB_SAY, PROC_REF(handle_speech))
/datum/species/golem/clockwork/on_species_loss(mob/living/carbon/human/H)
if(!is_servant_of_ratvar(H))
if(!IS_CLOCK_CULTIST(H))
H.faction -= "ratvar"
UnregisterSignal(H, COMSIG_MOB_SAY)
. = ..()

View File

@@ -414,7 +414,7 @@
if(status_flags & GODMODE || QDELETED(src))
return
if(is_servant_of_ratvar(src) && !stat)
if(IS_CLOCK_CULTIST(src) && !stat)
to_chat(src, span_userdanger("You resist Nar'sie's influence... but not all of it. <i>Run!</i>"))
adjustBruteLoss(35)
if(src && reagents)
@@ -446,7 +446,7 @@
/mob/living/ratvar_act()
if(status_flags & GODMODE)
return
if(stat != DEAD && !is_servant_of_ratvar(src))
if(stat != DEAD && !IS_CLOCK_CULTIST(src))
to_chat(src, span_userdanger("A blinding light boils you alive! <i>Run!</i>"))
adjust_fire_stacks(20)
ignite_mob()

View File

@@ -197,7 +197,7 @@ GLOBAL_VAR_INIT(announcing_vox, 0)
#endif
/mob/living/silicon/ai/could_speak_language(datum/language/dt)
if(is_servant_of_ratvar(src))
if(IS_CLOCK_CULTIST(src))
// Ratvarian AIs can only speak Ratvarian
. = ispath(dt, /datum/language/ratvar)
else

View File

@@ -33,7 +33,7 @@
if(cell && cell.charge <= 0)
. += span_warning("Its battery indicator is blinking red!")
if(is_servant_of_ratvar(src) && get_dist(user, src) <= 1 && !stat) //To counter pseudo-stealth by using headlamps
if(IS_CLOCK_CULTIST(src) && get_dist(user, src) <= 1 && !stat) //To counter pseudo-stealth by using headlamps
. += span_warning("Its eyes are glowing a blazing yellow!")
switch(stat)

View File

@@ -714,7 +714,7 @@
eye_lights.color = lamp_color
SET_PLANE_EXPLICIT(eye_lights, ABOVE_LIGHTING_PLANE, src) //glowy eyes
else
eye_lights.icon_state = "[module.special_light_key ? "[module.special_light_key]":"[module.cyborg_base_icon]"]_e[is_servant_of_ratvar(src) ? "_r" : ""]"
eye_lights.icon_state = "[module.special_light_key ? "[module.special_light_key]":"[module.cyborg_base_icon]"]_e[IS_CLOCK_CULTIST(src) ? "_r" : ""]"
eye_lights.color = COLOR_WHITE
SET_PLANE_EXPLICIT(eye_lights, ABOVE_GAME_PLANE, src)
eye_lights.icon = icon

View File

@@ -104,7 +104,7 @@
to_chat(user, span_notice("You emag [src]'s interface."))
emag_cooldown = world.time + 100
if(is_servant_of_ratvar(src))
if(IS_CLOCK_CULTIST(src))
to_chat(src, "[span_nezbere("\"[text2ratvar("You will serve Engine above all else")]!\"")]\n\
[span_danger("ALERT: Subversion attempt denied.")]")
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they serve only Ratvar.")

View File

@@ -203,7 +203,7 @@
if(R.emagged)
for(var/obj/item/I in emag_modules)
add_module(I, FALSE, FALSE)
if(is_servant_of_ratvar(R))
if(IS_CLOCK_CULTIST(R))
for(var/obj/item/I in ratvar_modules)
add_module(I, FALSE, FALSE)
for(var/obj/item/I in added_modules)

View File

@@ -150,7 +150,7 @@
//Cogscarabs being able to be picked up during war
/mob/living/simple_animal/drone/cogscarab/attack_hand(mob/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_warning("[src] wriggles out of your hands! You can't pick it up!"))
return
if(!GLOB.ratvar_approaches)
@@ -180,7 +180,7 @@
..()
/mob/living/simple_animal/drone/cogscarab/try_reactivate(mob/living/user)
if(!is_servant_of_ratvar(user))
if(!IS_CLOCK_CULTIST(user))
to_chat(user, span_warning("You fiddle around with [src] to no avail."))
else
..()

View File

@@ -152,7 +152,7 @@
mind.special_role = null
ventcrawler = initial(ventcrawler)
speed = initial(speed)
if(is_servant_of_ratvar(src))
if(IS_CLOCK_CULTIST(src))
remove_servant_of_ratvar(src, TRUE)
message_admins("[ADMIN_LOOKUPFLW(src)], a hacked drone, was restored to factory defaults!")
update_drone_icon()

View File

@@ -291,7 +291,7 @@
else
. += "The cover is closed."
if(integration_cog && is_servant_of_ratvar(user))
if(integration_cog && IS_CLOCK_CULTIST(user))
. += span_brass("There is an integration cog installed!")
. += span_notice("Right-Click the APC to [ locked ? "unlock" : "lock"] the interface.")
@@ -734,7 +734,7 @@
if (opened==APC_COVER_REMOVED)
opened = APC_COVER_OPENED
update_appearance()
else if(istype(W, /obj/item/clockwork/integration_cog) && is_servant_of_ratvar(user))
else if(istype(W, /obj/item/clockwork/integration_cog) && IS_CLOCK_CULTIST(user))
if(integration_cog)
to_chat(user, span_warning("This APC already has a cog."))
return
@@ -931,7 +931,7 @@
/obj/machinery/power/apc/ui_data(mob/user)
var/list/data = list(
"locked" = locked && !(integration_cog && is_servant_of_ratvar(user)),
"locked" = locked && !(integration_cog && IS_CLOCK_CULTIST(user)),
"failTime" = failure_timer,
"isOperating" = operating,
"externalPower" = main_status,
@@ -1058,7 +1058,7 @@
if("toggle_nightshift")
toggle_nightshift_lights()
. = TRUE
if(!can_use(usr, TRUE) || (locked && !usr.has_unlimited_silicon_privilege && !failure_timer && !(integration_cog && (is_servant_of_ratvar(usr)))))
if(!can_use(usr, TRUE) || (locked && !usr.has_unlimited_silicon_privilege && !failure_timer && !(integration_cog && (IS_CLOCK_CULTIST(usr)))))
return
switch(action)
if("lock")

View File

@@ -2500,7 +2500,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
/datum/reagent/consumable/ethanol/ratvarnac/on_mob_life(mob/living/carbon/M)
M.emote("spin")
if(is_servant_of_ratvar(M))
if(IS_CLOCK_CULTIST(M))
M.heal_overall_damage(0.5, 0.5)
return ..()

View File

@@ -243,7 +243,7 @@
..()
/datum/reagent/water/holywater/reaction_mob(mob/living/M, methods=TOUCH, reac_volume, show_message = TRUE, permeability = 1)
if(is_servant_of_ratvar(M))
if(IS_CLOCK_CULTIST(M))
to_chat(M, span_userdanger("A darkness begins to spread its unholy tendrils through your mind, purging the Justiciar's influence!"))
..()
@@ -269,7 +269,7 @@
M.Unconscious(120)
to_chat(M, "<span class='cultlarge'>[pick("Your blood is your bond - you are nothing without it", "Do not forget your place", \
"All that power, and you still fail?", "If you cannot scour this poison, I shall scour your meager life!")].</span>")
else if(is_servant_of_ratvar(M) && prob(8))
else if(IS_CLOCK_CULTIST(M) && prob(8))
switch(pick("speech", "message", "emote"))
if("speech")
clockwork_say(M, "...[text2ratvar(pick("Engine... your light grows dark...", "Where are you, master?", "He lies rusting in Error...", "Purge all untruths and... and... something..."))]")
@@ -279,10 +279,10 @@
if("emote")
M.visible_message(span_warning("[M] [pick("whimpers quietly", "shivers as though cold", "glances around in paranoia")]."))
if(data["misc"] >= 60) // 30 units, 135 seconds
if(iscultist(M) || is_servant_of_ratvar(M))
if(iscultist(M) || IS_CLOCK_CULTIST(M))
if(iscultist(M))
SSticker.mode.remove_cultist(M.mind, FALSE, TRUE)
else if(is_servant_of_ratvar(M))
else if(IS_CLOCK_CULTIST(M))
remove_servant_of_ratvar(M)
M.remove_status_effect(/datum/status_effect/jitter)
M.remove_status_effect(/datum/status_effect/speech/stutter)

View File

@@ -138,7 +138,7 @@
if(!forced_span)
if(iscultist(user))
span_list = list("narsiesmall")
else if (is_servant_of_ratvar(user))
else if (IS_CLOCK_CULTIST(user))
span_list = list("ratvar")
if(!span_list || !span_list.len)
span_list = list()
@@ -178,7 +178,7 @@
power_multiplier *= 0.5
//Cultists are closer to their gods and are more powerful, but they'll give themselves away
if(iscultist(user) || is_servant_of_ratvar(user) || IS_HERETIC(user))
if(iscultist(user) || IS_CLOCK_CULTIST(user) || IS_HERETIC(user))
power_multiplier *= 2
//Try to check if the speaker specified a name or a job to focus on
@@ -269,17 +269,17 @@
var/mob/living/L = V
if(iscultist(L))
L.heal_overall_damage(10 * power_multiplier, 10 * power_multiplier)
if(is_servant_of_ratvar(L) && ishuman(L))
if(IS_CLOCK_CULTIST(L) && ishuman(L))
var/mob/living/carbon/human/H = L
var/obj/item/bodypart/BP = pick(H.bodyparts)
BP.generic_bleedstacks += 5 * power_multiplier
//HAIL RATVAR
else if(findtext(message, narsian_words) && is_servant_of_ratvar(user))
else if(findtext(message, narsian_words) && IS_CLOCK_CULTIST(user))
cooldown = COOLDOWN_DAMAGE
for(var/V in listeners)
var/mob/living/L = V
if(is_servant_of_ratvar(L))
if(IS_CLOCK_CULTIST(L))
L.heal_overall_damage(10 * power_multiplier, 10 * power_multiplier)
if(iscultist(L))
L.adjust_fire_stacks(1 * power_multiplier)

View File

@@ -131,7 +131,7 @@ export const AiControlPanel = (props, context) => {
{!!ai.being_hijacked && (
<Button color="bad" icon="stop" onClick={() => act("stop_hijack", { target_ai: ai.ref })}>Stop hijacking</Button>
)}
{!!data.is_servant_of_ratvar && !ai.being_cogged && (
{!!data.IS_CLOCK_CULTIST && !ai.being_cogged && (
<Button color="good" tooltip="Requires an integration cog" icon="download" onClick={() => act("start_cog", { target_ai: ai.ref })}>Start integrating</Button>
) }
{!!ai.being_cogged && (

View File

@@ -31,7 +31,7 @@
icon_state = A.icon_state
cut_overlays()
eye_lights.icon = A.icon
eye_lights.icon_state = "[icon_state]_e[is_servant_of_ratvar(src) ? "_r" : ""]"
eye_lights.icon_state = "[icon_state]_e[IS_CLOCK_CULTIST(src) ? "_r" : ""]"
add_overlay(eye_lights)
to_chat(src, span_notice("You have successfully applied the skin: [A.name]"))
special_skin = TRUE
@@ -56,7 +56,7 @@
if (special_skin)
cut_overlays()
icon_state = old_icon
eye_lights.icon_state = "[icon_state]_e[is_servant_of_ratvar(src) ? "_r" : ""]"
eye_lights.icon_state = "[icon_state]_e[IS_CLOCK_CULTIST(src) ? "_r" : ""]"
add_overlay(eye_lights)
if(opened)

View File

@@ -1,7 +1,7 @@
/mob/living/simple_animal/hostile/construct/ratvar_act()
if(status_flags & GODMODE)
return
if(stat != DEAD && !is_servant_of_ratvar(src))
if(stat != DEAD && !IS_CLOCK_CULTIST(src))
to_chat(src, span_userdanger("A blinding light boils you alive! <i>Run!</i>"))
adjustFireLoss(35)
return FALSE