mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
lol one ctrl f change
This commit is contained in:
@@ -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"
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -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!
|
||||
. = ..()
|
||||
|
||||
|
||||
@@ -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!"))
|
||||
..()
|
||||
|
||||
|
||||
@@ -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!"))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
|
||||
@@ -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))))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!"))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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!"))
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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!"))
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>", \
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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 ..()
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 && (
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user