diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 87bf13cca894..d31124bf811a 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -293,3 +293,5 @@ GLOBAL_LIST_INIT(book_types, typecacheof(list( #define isprojectilespell(thing) (istype(thing, /datum/action/cooldown/spell/pointed/projectile)) #define is_multi_tile_object(atom) (atom.bound_width > world.icon_size || atom.bound_height > world.icon_size) + +#define isartifact(thing) (istype(thing, /obj/structure/artifact) || istype(thing, /obj/item/melee/artifact) || istype(thing, /obj/item/gun/magic/artifact) || istype(thing, /obj/item/stock_parts/cell/artifact)) diff --git a/code/__HELPERS/radiation.dm b/code/__HELPERS/radiation.dm index 6aba8388e0cb..65d32e786029 100644 --- a/code/__HELPERS/radiation.dm +++ b/code/__HELPERS/radiation.dm @@ -42,7 +42,7 @@ if(should_rad_act) for(var/obj/collector in range(5, source)) - if(!istype(collector, /obj/machinery/power/rad_collector)) + if(!istype(collector, /obj/machinery/power/rad_collector) && !isartifact(collector)) continue collector.rad_act(intensity) diff --git a/code/modules/events/artifact_spawn.dm b/code/modules/events/artifact_spawn.dm index b2a299ea1a91..4f011fbeb2c1 100644 --- a/code/modules/events/artifact_spawn.dm +++ b/code/modules/events/artifact_spawn.dm @@ -20,16 +20,6 @@ if(!spawn_location?.resolve()) return kill() -/datum/round_event_control/random_artifact/can_spawn_event(players_amt, allow_magic = FALSE, fake_check = FALSE) - . = ..() - if(!.) - return - //just in case - if(!length(GLOB.generic_event_spawns)) - return FALSE - else - return - /datum/round_event/random_artifact/start() var/marker = spawn_location.resolve() if(!marker) diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 5b98e527332b..0508e3b1f880 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -167,7 +167,7 @@ dissipate(seconds_per_tick) radiation_pulse(src, 4, intensity = min(5000, (energy * 4.5) + 1000), should_rad_act = FALSE) for(var/obj/collector in range(5, src)) - if(!istype(collector, /obj/machinery/power/rad_collector) && !istype(collector, /obj/structure/artifact) && !istype(collector, /obj/item/melee/artifact) && !istype(collector, /obj/item/gun/magic/artifact) && !istype(collector, /obj/item/stock_parts/cell/artifact)) + if(!istype(collector, /obj/machinery/power/rad_collector) && !isartifact(collector)) continue collector.rad_act(intensity = min(2500, (energy * 2) + 500)) check_energy() diff --git a/monkestation/code/modules/art_sci_overrides/activators/range.dm b/monkestation/code/modules/art_sci_overrides/activators/range.dm index ed561f4ba8a8..dd946af80fbe 100644 --- a/monkestation/code/modules/art_sci_overrides/activators/range.dm +++ b/monkestation/code/modules/art_sci_overrides/activators/range.dm @@ -1,3 +1,6 @@ +//range artifacts require stimuli to fall within a range between amount and upper range +// hint range and hint chance are added onto range to see if something we should pull a hint for the user + /datum/artifact_activator/range name = "Generic Range Trigger" //the upper range of the weapon basically between amount, and upper_range diff --git a/monkestation/code/modules/art_sci_overrides/activators/touch.dm b/monkestation/code/modules/art_sci_overrides/activators/touch.dm index f4d781c2da3a..4cdee177fd24 100644 --- a/monkestation/code/modules/art_sci_overrides/activators/touch.dm +++ b/monkestation/code/modules/art_sci_overrides/activators/touch.dm @@ -1,3 +1,5 @@ +//touch artifacts are just if something comes into contact without a range IE if someone touches an artifact + /datum/artifact_activator/touch name = "Generic Contact Trigger" required_stimuli = STIMULUS_DATA | STIMULUS_CARBON_TOUCH | STIMULUS_SILICON_TOUCH