diff --git a/code/modules/xenoarcheaology/effect.dm b/code/modules/xenoarcheaology/effect.dm index 331e9ecd83..f651ecf229 100644 --- a/code/modules/xenoarcheaology/effect.dm +++ b/code/modules/xenoarcheaology/effect.dm @@ -26,6 +26,12 @@ ..() +/datum/artifact_effect/proc/get_master_holder() // Return the effectmaster's holder, if it is set to an effectmaster. Otherwise, master is the target object. + if(istype(master)) + return master.holder + else + return master + /datum/artifact_effect/New(var/datum/component/artifact_master/newmaster) ..() @@ -61,15 +67,17 @@ //so that other stuff happens first set waitfor = FALSE + var/atom/target = get_master_holder() + if(world.time - last_activation > 1 SECOND) last_activation = world.time if(activated) activated = 0 else activated = 1 - if(reveal_toggle && master.holder) - if(!isliving(master.holder)) - master.holder.update_icon() + if(reveal_toggle && target) + if(!isliving(target)) + target.update_icon() var/display_msg if(activated) display_msg = pick("momentarily glows brightly!","distorts slightly for a moment!","flickers slightly!","vibrates!","shimmers slightly for a moment!") @@ -78,11 +86,11 @@ if(active_effect) if(activated) - master.holder.underlays.Add(active_effect) + target.underlays.Add(active_effect) else - master.holder.underlays.Remove(active_effect) + target.underlays.Remove(active_effect) - var/atom/toplevelholder = master.holder + var/atom/toplevelholder = target while(!istype(toplevelholder.loc, /turf)) toplevelholder = toplevelholder.loc toplevelholder.visible_message("[bicon(toplevelholder)] [toplevelholder] [display_msg]") diff --git a/code/modules/xenoarcheaology/effects/animate_anomaly.dm b/code/modules/xenoarcheaology/effects/animate_anomaly.dm index a7ea238a5d..b75c025d35 100644 --- a/code/modules/xenoarcheaology/effects/animate_anomaly.dm +++ b/code/modules/xenoarcheaology/effects/animate_anomaly.dm @@ -16,22 +16,24 @@ effectrange = max(3, effectrange) /datum/artifact_effect/animate_anomaly/proc/find_target() - if(!target || target.z != master.holder.z || get_dist(target, master.holder) > effectrange) + var/atom/masterholder = get_master_holder() + + if(!target || target.z != masterholder.z || get_dist(target, masterholder) > effectrange) var/mob/living/ClosestMob = null - for(var/mob/living/L in range(effectrange, get_turf(master.holder))) + for(var/mob/living/L in range(effectrange, get_turf(masterholder))) if(!L.mind) continue if(!ClosestMob) ClosestMob = L continue if(!L.stat) - if(get_dist(master.holder, L) < get_dist(master.holder, ClosestMob)) + if(get_dist(masterholder, L) < get_dist(masterholder, ClosestMob)) ClosestMob = L target = ClosestMob /datum/artifact_effect/animate_anomaly/DoEffectTouch(var/mob/living/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/obj/O = holder var/turf/T = get_step_away(O, user) @@ -40,7 +42,7 @@ O.visible_message("\The [holder] lurches away from [user]") /datum/artifact_effect/animate_anomaly/DoEffectAura() - var/obj/O = master.holder + var/obj/O = get_master_holder() find_target() if(!target || !istype(O)) diff --git a/code/modules/xenoarcheaology/effects/badfeeling.dm b/code/modules/xenoarcheaology/effects/badfeeling.dm index c793085262..2a7e480e18 100644 --- a/code/modules/xenoarcheaology/effects/badfeeling.dm +++ b/code/modules/xenoarcheaology/effects/badfeeling.dm @@ -42,7 +42,7 @@ H.dizziness += rand(3,5) /datum/artifact_effect/badfeeling/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/human/H in range(src.effectrange,T)) @@ -57,7 +57,7 @@ return 1 /datum/artifact_effect/badfeeling/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/human/H in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/berserk.dm b/code/modules/xenoarcheaology/effects/berserk.dm index 227f3e63ba..4965747909 100644 --- a/code/modules/xenoarcheaology/effects/berserk.dm +++ b/code/modules/xenoarcheaology/effects/berserk.dm @@ -31,7 +31,7 @@ return TRUE /datum/artifact_effect/berserk/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for(var/mob/living/L in range(src.effectrange,T)) @@ -40,7 +40,7 @@ return TRUE /datum/artifact_effect/berserk/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for(var/mob/living/L in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/cannibal.dm b/code/modules/xenoarcheaology/effects/cannibal.dm index 3165546d56..ad584ccc7c 100644 --- a/code/modules/xenoarcheaology/effects/cannibal.dm +++ b/code/modules/xenoarcheaology/effects/cannibal.dm @@ -44,7 +44,7 @@ H.nutrition = H.nutrition / 1.5 /datum/artifact_effect/cannibalfeeling/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/human/H in range(src.effectrange,T)) @@ -61,7 +61,7 @@ return 1 /datum/artifact_effect/cannibalfeeling/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/human/H in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/cellcharge.dm b/code/modules/xenoarcheaology/effects/cellcharge.dm index 7643440eb5..20dcdf1c85 100644 --- a/code/modules/xenoarcheaology/effects/cellcharge.dm +++ b/code/modules/xenoarcheaology/effects/cellcharge.dm @@ -16,7 +16,7 @@ return 1 /datum/artifact_effect/cellcharge/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) @@ -33,7 +33,7 @@ return 1 /datum/artifact_effect/cellcharge/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) diff --git a/code/modules/xenoarcheaology/effects/celldrain.dm b/code/modules/xenoarcheaology/effects/celldrain.dm index 6d345cfb67..cc4b1b3412 100644 --- a/code/modules/xenoarcheaology/effects/celldrain.dm +++ b/code/modules/xenoarcheaology/effects/celldrain.dm @@ -19,7 +19,7 @@ return 1 /datum/artifact_effect/celldrain/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) @@ -36,7 +36,7 @@ return 1 /datum/artifact_effect/celldrain/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/obj/machinery/power/apc/C in range(200, T)) diff --git a/code/modules/xenoarcheaology/effects/cold.dm b/code/modules/xenoarcheaology/effects/cold.dm index f91c8d8ffd..f20fdf00d5 100644 --- a/code/modules/xenoarcheaology/effects/cold.dm +++ b/code/modules/xenoarcheaology/effects/cold.dm @@ -12,7 +12,7 @@ effect_type = pick(EFFECT_ORGANIC, EFFECT_BLUESPACE, EFFECT_SYNTH) /datum/artifact_effect/cold/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) to_chat(user, "A chill passes up your spine!") var/datum/gas_mixture/env = holder.loc.return_air() @@ -20,7 +20,7 @@ env.temperature = max(env.temperature - rand(5,50), 0) /datum/artifact_effect/cold/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/datum/gas_mixture/env = holder.loc.return_air() if(env && env.temperature > target_temp) diff --git a/code/modules/xenoarcheaology/effects/dnaswitch.dm b/code/modules/xenoarcheaology/effects/dnaswitch.dm index 1903dcb78a..f9d20475f7 100644 --- a/code/modules/xenoarcheaology/effects/dnaswitch.dm +++ b/code/modules/xenoarcheaology/effects/dnaswitch.dm @@ -31,7 +31,7 @@ return 1 /datum/artifact_effect/dnaswitch/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for(var/mob/living/carbon/human/H in range(src.effectrange,T)) @@ -51,7 +51,7 @@ scramble(0, H, weakness * severity) /datum/artifact_effect/dnaswitch/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for(var/mob/living/carbon/human/H in range(200, T)) diff --git a/code/modules/xenoarcheaology/effects/electric_field.dm b/code/modules/xenoarcheaology/effects/electric_field.dm index 41695f016b..1ba181bb45 100644 --- a/code/modules/xenoarcheaology/effects/electric_field.dm +++ b/code/modules/xenoarcheaology/effects/electric_field.dm @@ -6,7 +6,7 @@ effect_color = "#ffff00" /datum/artifact_effect/electric_field/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/list/nearby_mobs = list() for(var/mob/living/L in oview(effectrange, get_turf(holder))) if(L == user) // You're "grounded" when you contact the artifact. @@ -30,7 +30,7 @@ L.electrocute_act(rand(25, 40), holder, 0.75, BP_TORSO) /datum/artifact_effect/electric_field/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/list/nearby_mobs = list() for(var/mob/living/L in oview(effectrange, get_turf(holder))) if(!L.stat) @@ -52,7 +52,7 @@ L.electrocute_act(rand(1, 10), holder, 0.75, BP_TORSO) /datum/artifact_effect/electric_field/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/list/nearby_mobs = list() for(var/mob/living/L in oview(effectrange, get_turf(holder))) if(!L.stat) diff --git a/code/modules/xenoarcheaology/effects/emp.dm b/code/modules/xenoarcheaology/effects/emp.dm index 0aee7933f6..8b9d969a3e 100644 --- a/code/modules/xenoarcheaology/effects/emp.dm +++ b/code/modules/xenoarcheaology/effects/emp.dm @@ -9,7 +9,7 @@ effect = EFFECT_PULSE /datum/artifact_effect/emp/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) empulse(T, effectrange/4, effectrange/3, effectrange/2, effectrange) diff --git a/code/modules/xenoarcheaology/effects/feysight.dm b/code/modules/xenoarcheaology/effects/feysight.dm index 33892b7e64..70bceb7bcc 100644 --- a/code/modules/xenoarcheaology/effects/feysight.dm +++ b/code/modules/xenoarcheaology/effects/feysight.dm @@ -31,7 +31,7 @@ return TRUE /datum/artifact_effect/feysight/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for(var/mob/living/L in range(src.effectrange,T)) @@ -40,7 +40,7 @@ return TRUE /datum/artifact_effect/feysight/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for(var/mob/living/L in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/forcefield.dm b/code/modules/xenoarcheaology/effects/forcefield.dm index e2631d134c..083686457b 100644 --- a/code/modules/xenoarcheaology/effects/forcefield.dm +++ b/code/modules/xenoarcheaology/effects/forcefield.dm @@ -11,7 +11,7 @@ trigger = TRIGGER_TOUCH /datum/artifact_effect/forcefield/ToggleActivate() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() ..() if(created_field.len) for(var/obj/effect/energy_field/F in created_field) @@ -39,7 +39,7 @@ E.adjust_strength(0.25, 0) /datum/artifact_effect/forcefield/UpdateMove() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(created_field.len && holder) var/turf/T = get_turf(holder) while(created_field.len < 16) diff --git a/code/modules/xenoarcheaology/effects/gaia.dm b/code/modules/xenoarcheaology/effects/gaia.dm index 6ef8f2ccda..42869fd556 100644 --- a/code/modules/xenoarcheaology/effects/gaia.dm +++ b/code/modules/xenoarcheaology/effects/gaia.dm @@ -32,7 +32,7 @@ P.update_icon() /datum/artifact_effect/gaia/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() to_chat(user, "You feel the presence of something long forgotten.") for(var/obj/machinery/portable_atmospherics/hydroponics/Tray in view(world.view,get_turf(holder))) age_plantlife(Tray) @@ -47,7 +47,7 @@ age_plantlife(P) /datum/artifact_effect/gaia/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() for(var/obj/machinery/portable_atmospherics/hydroponics/Tray in view(effectrange,holder)) age_plantlife(Tray) if(prob(2)) @@ -61,7 +61,7 @@ age_plantlife(P) /datum/artifact_effect/gaia/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() for(var/obj/machinery/portable_atmospherics/hydroponics/Tray in view(effectrange,holder)) age_plantlife(Tray) if(prob(10)) @@ -75,7 +75,7 @@ age_plantlife(P) /datum/artifact_effect/gaia/process() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() ..() listclearnulls(my_glitterflies) diff --git a/code/modules/xenoarcheaology/effects/gasco2.dm b/code/modules/xenoarcheaology/effects/gasco2.dm index 76336f3266..5543517dac 100644 --- a/code/modules/xenoarcheaology/effects/gasco2.dm +++ b/code/modules/xenoarcheaology/effects/gasco2.dm @@ -9,14 +9,14 @@ effect_type = pick(EFFECT_BLUESPACE, EFFECT_SYNTH) /datum/artifact_effect/gasco2/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) holder_loc.assume_gas("carbon_dioxide", rand(2, 15)) /datum/artifact_effect/gasco2/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) diff --git a/code/modules/xenoarcheaology/effects/gasnitro.dm b/code/modules/xenoarcheaology/effects/gasnitro.dm index fd936c833b..e076ff3aa3 100644 --- a/code/modules/xenoarcheaology/effects/gasnitro.dm +++ b/code/modules/xenoarcheaology/effects/gasnitro.dm @@ -9,14 +9,14 @@ effect_type = pick(EFFECT_BLUESPACE, EFFECT_SYNTH) /datum/artifact_effect/gasnitro/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) holder_loc.assume_gas("nitrogen", rand(2, 15)) /datum/artifact_effect/gasnitro/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) diff --git a/code/modules/xenoarcheaology/effects/gasoxy.dm b/code/modules/xenoarcheaology/effects/gasoxy.dm index 14bb83c328..798154e38a 100644 --- a/code/modules/xenoarcheaology/effects/gasoxy.dm +++ b/code/modules/xenoarcheaology/effects/gasoxy.dm @@ -7,14 +7,14 @@ effect_type = pick(EFFECT_BLUESPACE, EFFECT_SYNTH) /datum/artifact_effect/gasoxy/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) holder_loc.assume_gas("oxygen", rand(2, 15)) /datum/artifact_effect/gasoxy/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) diff --git a/code/modules/xenoarcheaology/effects/gasphoron.dm b/code/modules/xenoarcheaology/effects/gasphoron.dm index 9d26cd78cd..66cdee98c2 100644 --- a/code/modules/xenoarcheaology/effects/gasphoron.dm +++ b/code/modules/xenoarcheaology/effects/gasphoron.dm @@ -9,14 +9,14 @@ effect_type = pick(EFFECT_BLUESPACE, EFFECT_SYNTH) /datum/artifact_effect/gasphoron/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) holder_loc.assume_gas("phoron", rand(2, 15)) /datum/artifact_effect/gasphoron/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) diff --git a/code/modules/xenoarcheaology/effects/gassleeping.dm b/code/modules/xenoarcheaology/effects/gassleeping.dm index c18a15aa89..a77ca5b88d 100644 --- a/code/modules/xenoarcheaology/effects/gassleeping.dm +++ b/code/modules/xenoarcheaology/effects/gassleeping.dm @@ -7,14 +7,14 @@ effect_type = pick(EFFECT_BLUESPACE, EFFECT_SYNTH) /datum/artifact_effect/gassleeping/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) holder_loc.assume_gas("nitrous_oxide", rand(2, 15)) /datum/artifact_effect/gassleeping/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/holder_loc = holder.loc if(istype(holder_loc)) diff --git a/code/modules/xenoarcheaology/effects/goodfeeling.dm b/code/modules/xenoarcheaology/effects/goodfeeling.dm index 4ae5a8f4cd..42b1be7e3a 100644 --- a/code/modules/xenoarcheaology/effects/goodfeeling.dm +++ b/code/modules/xenoarcheaology/effects/goodfeeling.dm @@ -40,7 +40,7 @@ H.dizziness += rand(3,5) /datum/artifact_effect/goodfeeling/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/human/H in range(src.effectrange,T)) @@ -55,7 +55,7 @@ return 1 /datum/artifact_effect/goodfeeling/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/human/H in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/gravitational_waves.dm b/code/modules/xenoarcheaology/effects/gravitational_waves.dm index 9b9b03d812..d34b352ea0 100644 --- a/code/modules/xenoarcheaology/effects/gravitational_waves.dm +++ b/code/modules/xenoarcheaology/effects/gravitational_waves.dm @@ -12,7 +12,7 @@ gravwave(user, effectrange, STAGE_TWO) /datum/artifact_effect/gravity_wave/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/seconds_since_last_pull = max(0, round((last_wave_pull - world.time) / 10)) if(prob(10 + seconds_since_last_pull)) @@ -21,7 +21,7 @@ gravwave(get_turf(holder), effectrange, STAGE_TWO) /datum/artifact_effect/gravity_wave/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() holder.visible_message("\The [holder] distorts as local gravity intensifies, and shifts toward it.") gravwave(get_turf(holder), effectrange, STAGE_TWO) diff --git a/code/modules/xenoarcheaology/effects/heal.dm b/code/modules/xenoarcheaology/effects/heal.dm index 9c6bc1e341..313bbc011e 100644 --- a/code/modules/xenoarcheaology/effects/heal.dm +++ b/code/modules/xenoarcheaology/effects/heal.dm @@ -34,7 +34,7 @@ return 1 /datum/artifact_effect/heal/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() //todo: check over this properly if(holder) var/turf/T = get_turf(holder) @@ -51,7 +51,7 @@ C.updatehealth() /datum/artifact_effect/heal/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() //todo: check over this properly if(holder) var/turf/T = get_turf(holder) diff --git a/code/modules/xenoarcheaology/effects/heat.dm b/code/modules/xenoarcheaology/effects/heat.dm index a9ed5a31e1..0bb3ae1f10 100644 --- a/code/modules/xenoarcheaology/effects/heat.dm +++ b/code/modules/xenoarcheaology/effects/heat.dm @@ -11,7 +11,7 @@ target_temp = rand(300, 600) /datum/artifact_effect/heat/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) to_chat(user, " You feel a wave of heat travel up your spine!") var/datum/gas_mixture/env = holder.loc.return_air() @@ -19,7 +19,7 @@ env.temperature += rand(5,50) /datum/artifact_effect/heat/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/datum/gas_mixture/env = holder.loc.return_air() if(env && env.temperature < target_temp) diff --git a/code/modules/xenoarcheaology/effects/hurt.dm b/code/modules/xenoarcheaology/effects/hurt.dm index d9cc1f043f..a2c8d54163 100644 --- a/code/modules/xenoarcheaology/effects/hurt.dm +++ b/code/modules/xenoarcheaology/effects/hurt.dm @@ -22,7 +22,7 @@ C.weakened += 6 * weakness /datum/artifact_effect/hurt/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/C in range(src.effectrange,T)) @@ -38,7 +38,7 @@ C.updatehealth() /datum/artifact_effect/hurt/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/C in range(effectrange, T)) diff --git a/code/modules/xenoarcheaology/effects/poltergeist.dm b/code/modules/xenoarcheaology/effects/poltergeist.dm index d40540618e..5b270fd38c 100644 --- a/code/modules/xenoarcheaology/effects/poltergeist.dm +++ b/code/modules/xenoarcheaology/effects/poltergeist.dm @@ -22,7 +22,7 @@ throw_at_mob(user, rand(10, 30)) /datum/artifact_effect/poltergeist/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/mob/living/target = null for(var/mob/living/L in oview(get_turf(holder), effectrange)) if(L.stat || !L.mind) @@ -37,7 +37,7 @@ throw_at_mob(target, rand(15, 30)) /datum/artifact_effect/poltergeist/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/mob/living/target = null for(var/mob/living/L in oview(get_turf(holder), effectrange)) if(L.stat || !L.mind) diff --git a/code/modules/xenoarcheaology/effects/radiate.dm b/code/modules/xenoarcheaology/effects/radiate.dm index dd395e9d7b..3e44370889 100644 --- a/code/modules/xenoarcheaology/effects/radiate.dm +++ b/code/modules/xenoarcheaology/effects/radiate.dm @@ -16,13 +16,13 @@ return 1 /datum/artifact_effect/radiate/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) SSradiation.flat_radiate(holder, radiation_amount, src.effectrange) return 1 /datum/artifact_effect/radiate/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) SSradiation.radiate(holder, ((radiation_amount * 25) * (sqrt(src.effectrange)))) //Need to get feedback on this return 1 diff --git a/code/modules/xenoarcheaology/effects/resurrect.dm b/code/modules/xenoarcheaology/effects/resurrect.dm index 746df240d7..0fbb8c6aef 100644 --- a/code/modules/xenoarcheaology/effects/resurrect.dm +++ b/code/modules/xenoarcheaology/effects/resurrect.dm @@ -8,7 +8,7 @@ effect_color = "#ff0000" /datum/artifact_effect/resurrect/proc/steal_life(var/mob/living/target = null) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(!istype(target)) return 0 @@ -20,7 +20,7 @@ return 0 /datum/artifact_effect/resurrect/proc/give_life(var/mob/living/target = null) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(!istype(target)) return @@ -39,7 +39,7 @@ stored_life = 0 /datum/artifact_effect/resurrect/proc/attempt_revive(var/mob/living/L = null) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() spawn() if(istype(L, /mob/living/simple_mob)) var/mob/living/simple_mob/SM = L @@ -76,7 +76,7 @@ holder.visible_message("\The [H]'s eyes open in a flash of light!") /datum/artifact_effect/resurrect/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() for(var/mob/living/L in oview(effectrange, get_turf(holder))) stored_life += 4 * steal_life(L) @@ -87,7 +87,7 @@ break /datum/artifact_effect/resurrect/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() for(var/mob/living/L in oview(effectrange, get_turf(holder))) stored_life += steal_life(L) @@ -98,7 +98,7 @@ break /datum/artifact_effect/resurrect/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() for(var/mob/living/L in oview(effectrange, get_turf(holder))) stored_life += 2 * steal_life(L) diff --git a/code/modules/xenoarcheaology/effects/roboheal.dm b/code/modules/xenoarcheaology/effects/roboheal.dm index c91317d72e..16660029b7 100644 --- a/code/modules/xenoarcheaology/effects/roboheal.dm +++ b/code/modules/xenoarcheaology/effects/roboheal.dm @@ -18,7 +18,7 @@ return 1 /datum/artifact_effect/roboheal/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) @@ -31,7 +31,7 @@ return 1 /datum/artifact_effect/roboheal/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/robohurt.dm b/code/modules/xenoarcheaology/effects/robohurt.dm index 40680b4988..8b93e04ead 100644 --- a/code/modules/xenoarcheaology/effects/robohurt.dm +++ b/code/modules/xenoarcheaology/effects/robohurt.dm @@ -18,7 +18,7 @@ return 1 /datum/artifact_effect/robohurt/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) @@ -31,7 +31,7 @@ return 1 /datum/artifact_effect/robohurt/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/silicon/robot/M in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/sleepy.dm b/code/modules/xenoarcheaology/effects/sleepy.dm index 5a1b1ef62c..244814a1da 100644 --- a/code/modules/xenoarcheaology/effects/sleepy.dm +++ b/code/modules/xenoarcheaology/effects/sleepy.dm @@ -21,7 +21,7 @@ return 1 /datum/artifact_effect/sleepy/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/human/H in range(src.effectrange,T)) @@ -36,7 +36,7 @@ return 1 /datum/artifact_effect/sleepy/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for(var/mob/living/carbon/human/H in range(src.effectrange, T)) diff --git a/code/modules/xenoarcheaology/effects/stun.dm b/code/modules/xenoarcheaology/effects/stun.dm index 63c5f61cda..12ca276b93 100644 --- a/code/modules/xenoarcheaology/effects/stun.dm +++ b/code/modules/xenoarcheaology/effects/stun.dm @@ -17,7 +17,7 @@ C.Stun(rand(1,10) * susceptibility) /datum/artifact_effect/stun/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/C in range(src.effectrange,T)) @@ -32,7 +32,7 @@ to_chat(C, "You feel numb.") /datum/artifact_effect/stun/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/carbon/C in range(src.effectrange,T)) diff --git a/code/modules/xenoarcheaology/effects/teleport.dm b/code/modules/xenoarcheaology/effects/teleport.dm index 947b1f37c3..2c766323db 100644 --- a/code/modules/xenoarcheaology/effects/teleport.dm +++ b/code/modules/xenoarcheaology/effects/teleport.dm @@ -5,7 +5,7 @@ effect_color = "#88ffdb" /datum/artifact_effect/teleport/DoEffectTouch(var/mob/user) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() var/weakness = GetAnomalySusceptibility(user) if(prob(100 * weakness)) to_chat(user, "You are suddenly zapped away elsewhere!") @@ -23,7 +23,7 @@ sparks.start() /datum/artifact_effect/teleport/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/M in range(src.effectrange,T)) @@ -43,7 +43,7 @@ sparks.start() /datum/artifact_effect/teleport/DoEffectPulse() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(holder) var/turf/T = get_turf(holder) for (var/mob/living/M in range(src.effectrange, T)) diff --git a/code/modules/xenoarcheaology/effects/vampire.dm b/code/modules/xenoarcheaology/effects/vampire.dm index 4eca06804d..7c6ed91a5f 100644 --- a/code/modules/xenoarcheaology/effects/vampire.dm +++ b/code/modules/xenoarcheaology/effects/vampire.dm @@ -13,7 +13,7 @@ effect_color = "#ff0000" /datum/artifact_effect/vampire/proc/bloodcall(var/mob/living/carbon/human/M) - var/atom/holder = master.holder + var/atom/holder = get_master_holder() last_bloodcall = world.time if(istype(M)) playsound(holder, pick('sound/hallucinations/wail.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/far_noise.ogg'), 50, 1, -3) @@ -34,10 +34,10 @@ DoEffectAura() /datum/artifact_effect/vampire/DoEffectAura() - var/atom/holder = master.holder + var/atom/holder = get_master_holder() if(nearby_mobs.len) nearby_mobs.Cut() - var/turf/T = get_turf(master.holder) + var/turf/T = get_turf(holder) for(var/mob/living/L in oview(effectrange, T)) if(!L.stat && L.mind) @@ -50,7 +50,7 @@ holder.Beam(M, icon_state = "drainbeam", time = 1 SECOND) if(world.time - last_eat >= eat_interval) - var/obj/effect/decal/cleanable/blood/B = locate() in range(2,master.holder) + var/obj/effect/decal/cleanable/blood/B = locate() in range(2,holder) if(B) last_eat = world.time B.loc = null