From f912b6eae098a738477aaf67a3f59e04b66658ae Mon Sep 17 00:00:00 2001 From: ShizCalev Date: Fri, 24 Nov 2017 05:45:47 -0500 Subject: [PATCH] Fixes Lord Singuloth hungering for more than he should (#33025) --- code/datums/beam.dm | 5 +++++ .../clock_cult/clock_effects/city_of_cogs_rift.dm | 7 +++++++ .../gamemodes/clock_cult/clock_effects/clock_overlay.dm | 5 +++++ .../gamemodes/clock_cult/clock_effects/general_markers.dm | 6 ++++++ .../gamemodes/clock_cult/clock_effects/servant_blocker.dm | 6 ++++++ .../gamemodes/clock_cult/clock_effects/spatial_gateway.dm | 8 ++++++++ .../gamemodes/clock_cult/clock_items/judicial_visor.dm | 6 ++++++ code/game/gamemodes/cult/cult_structures.dm | 6 ++++++ code/game/gamemodes/wizard/artefact.dm | 6 ++++++ code/game/objects/effects/bump_teleporter.dm | 7 +++++++ code/game/objects/effects/countdown.dm | 6 ++++++ code/game/objects/effects/effects.dm | 6 ++++++ code/game/objects/effects/forcefields.dm | 3 +++ code/game/objects/effects/misc.dm | 6 ++++++ code/game/objects/effects/portals.dm | 6 ++++++ code/game/objects/effects/step_triggers.dm | 7 +++++++ code/game/objects/items/chrono_eraser.dm | 3 +++ code/modules/admin/sound_emitter.dm | 3 +++ code/modules/atmospherics/environmental/LINDA_fire.dm | 3 +++ code/modules/clothing/spacesuits/chronosuit.dm | 6 ++++++ code/modules/events/immovable_rod.dm | 6 ++++++ code/modules/flufftext/Hallucination.dm | 6 ++++++ code/modules/mining/fulton.dm | 6 ++++++ code/modules/mining/lavaland/necropolis_chests.dm | 2 +- code/modules/mining/mine_items.dm | 6 ++++++ .../mob/living/simple_animal/guardian/types/ranged.dm | 6 ++++++ .../power/singularity/particle_accelerator/particle.dm | 3 +++ code/modules/projectiles/guns/beam_rifle.dm | 6 ++++++ code/modules/projectiles/projectile/energy.dm | 6 ++++++ code/modules/spells/spell.dm | 6 ++++++ code/modules/spells/spell_types/spacetime_distortion.dm | 6 ++++++ 31 files changed, 169 insertions(+), 1 deletion(-) diff --git a/code/datums/beam.dm b/code/datums/beam.dm index 3276a5f5b90..252a305af27 100644 --- a/code/datums/beam.dm +++ b/code/datums/beam.dm @@ -149,6 +149,11 @@ owner = null return ..() +/obj/effect/ebeam/singularity_pull() + return +/obj/effect/ebeam/singularity_act() + return + /atom/proc/Beam(atom/BeamTarget,icon_state="b_beam",icon='icons/effects/beam.dmi',time=50, maxdistance=10,beam_type=/obj/effect/ebeam,beam_sleep_time = 3) var/datum/beam/newbeam = new(src,BeamTarget,icon,icon_state,time,maxdistance,beam_type,beam_sleep_time) INVOKE_ASYNC(newbeam, /datum/beam/.proc/Start) diff --git a/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm b/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm index e41acb421a6..ab47f1af55d 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/city_of_cogs_rift.dm @@ -10,6 +10,13 @@ light_power = 3 light_color = "#6A4D2F" + +/obj/effect/clockwork/city_of_cogs_rift/singularity_act() + return + +/obj/effect/clockwork/city_of_cogs_rift/singularity_pull() + return + /obj/effect/clockwork/city_of_cogs_rift/Initialize() . = ..() visible_message("The air above [loc] shimmers and pops as a [name] forms there!") diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm index e8cba1a39d2..f3de8d04a81 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/clock_overlay.dm @@ -10,6 +10,11 @@ /obj/effect/clockwork/overlay/ex_act() return FALSE +/obj/effect/clockwork/overlay/singularity_act() + return +/obj/effect/clockwork/overlay/singularity_pull() + return + /obj/effect/clockwork/overlay/singularity_pull(S, current_size) return diff --git a/code/game/gamemodes/clock_cult/clock_effects/general_markers.dm b/code/game/gamemodes/clock_cult/clock_effects/general_markers.dm index a3465fac053..6e6704a68c4 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/general_markers.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/general_markers.dm @@ -11,6 +11,12 @@ animate(src, alpha = 0, time = 10) QDEL_IN(src, 10) +/obj/effect/clockwork/general_marker/singularity_act() + return + +/obj/effect/clockwork/general_marker/singularity_pull() + return + /obj/effect/clockwork/general_marker/inathneq name = "Inath-neq, the Resonant Cogwheel" desc = "A humanoid form blazing with blue fire. It radiates an aura of kindness and caring." diff --git a/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm b/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm index 988c00b2f58..194747cefcd 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/servant_blocker.dm @@ -18,3 +18,9 @@ to_chat(L, "The space beyond here can't be accessed by you or other servants.") return return TRUE + +/obj/effect/clockwork/servant_blocker/singularity_act() + return + +/obj/effect/clockwork/servant_blocker/singularity_pull() + return diff --git a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm index a438f64448c..895c38c94a3 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/spatial_gateway.dm @@ -109,6 +109,14 @@ return TRUE return FALSE + +/obj/effect/clockwork/spatial_gateway/singularity_act() + return + +/obj/effect/clockwork/spatial_gateway/singularity_pull() + return + + /obj/effect/clockwork/spatial_gateway/CollidedWith(atom/movable/AM) ..() if(!QDELETED(AM)) diff --git a/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm b/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm index 51ffdd9e10c..4f6485310bf 100644 --- a/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm +++ b/code/game/gamemodes/clock_cult/clock_items/judicial_visor.dm @@ -162,6 +162,12 @@ user = caster INVOKE_ASYNC(src, .proc/judicialblast) +/obj/effect/clockwork/judicial_marker/singularity_act() + return + +/obj/effect/clockwork/judicial_marker/singularity_pull() + return + /obj/effect/clockwork/judicial_marker/proc/judicialblast() playsound(src, 'sound/magic/magic_missile.ogg', 50, 1, 1, 1) flick("judicial_marker", src) diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 8140dffe53e..89f93841404 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -236,3 +236,9 @@ icon_state = "hole" density = TRUE anchored = TRUE + +/obj/effect/gateway/singularity_act() + return + +/obj/effect/gateway/singularity_pull() + return diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 865734d4d95..9f292b14376 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -66,6 +66,12 @@ else return ..() +/obj/effect/rend/singularity_pull() + return + +/obj/effect/rend/singularity_pull() + return + /obj/item/veilrender/vealrender name = "veal render" desc = "A wicked curved blade of alien origin, recovered from the ruins of a vast farm." diff --git a/code/game/objects/effects/bump_teleporter.dm b/code/game/objects/effects/bump_teleporter.dm index 027959212b5..42f59cc5358 100644 --- a/code/game/objects/effects/bump_teleporter.dm +++ b/code/game/objects/effects/bump_teleporter.dm @@ -19,6 +19,13 @@ LAZYREMOVE(AllTeleporters, src) return ..() + +/obj/effect/bump_teleporter/singularity_act() + return + +/obj/effect/bump_teleporter/singularity_pull() + return + /obj/effect/bump_teleporter/CollidedWith(atom/movable/AM) if(!ismob(AM)) return diff --git a/code/game/objects/effects/countdown.dm b/code/game/objects/effects/countdown.dm index f4b67b7df2b..8448e2a7e7e 100644 --- a/code/game/objects/effects/countdown.dm +++ b/code/game/objects/effects/countdown.dm @@ -154,3 +154,9 @@ else var/time_left = max(0, (A.death_time - world.time) / 10) return round(time_left) + +/obj/effect/countdown/singularity_pull() + return + +/obj/effect/countdown/singularity_act() + return diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm index d5f8e28d2af..2b456b2ed7e 100644 --- a/code/game/objects/effects/effects.dm +++ b/code/game/objects/effects/effects.dm @@ -56,3 +56,9 @@ /obj/effect/abstract/singularity_act() return + +/obj/effect/dummy/singularity_pull() + return + +/obj/effect/dummy/singularity_act() + return diff --git a/code/game/objects/effects/forcefields.dm b/code/game/objects/effects/forcefields.dm index 024fb4b4ea5..edf7b4f5194 100644 --- a/code/game/objects/effects/forcefields.dm +++ b/code/game/objects/effects/forcefields.dm @@ -7,6 +7,9 @@ density = TRUE CanAtmosPass = ATMOS_PASS_DENSITY +/obj/effect/forcefield/singularity_pull() + return + /obj/effect/forcefield/cult desc = "An unholy shield that blocks all attacks." name = "glowing wall" diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm index 0d0fb2cafe4..1178cd43f82 100644 --- a/code/game/objects/effects/misc.dm +++ b/code/game/objects/effects/misc.dm @@ -12,6 +12,12 @@ var/def_zone pass_flags = PASSTABLE +/obj/effect/beam/singularity_act() + return + +/obj/effect/beam/singularity_pull() + return + /obj/effect/spawner name = "object spawner" diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm index 25977dcf21a..8b6bf70588d 100644 --- a/code/game/objects/effects/portals.dm +++ b/code/game/objects/effects/portals.dm @@ -76,6 +76,12 @@ if(isturf(hard_target_override)) hard_target = hard_target_override +/obj/effect/portal/singularity_pull() + return + +/obj/effect/portal/singularity_act() + return + /obj/effect/portal/proc/link_portal(obj/effect/portal/newlink) linked = newlink if(atmos_link) diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm index 597b37cc808..bfed048effc 100644 --- a/code/game/objects/effects/step_triggers.dm +++ b/code/game/objects/effects/step_triggers.dm @@ -20,6 +20,13 @@ return Trigger(H) + +/obj/effect/step_trigger/singularity_act() + return + +/obj/effect/step_trigger/singularity_pull() + return + /* Sends a message to mob when triggered*/ /obj/effect/step_trigger/message diff --git a/code/game/objects/items/chrono_eraser.dm b/code/game/objects/items/chrono_eraser.dm index 6f1ab39013c..d65ef6fc2ab 100644 --- a/code/game/objects/items/chrono_eraser.dm +++ b/code/game/objects/items/chrono_eraser.dm @@ -252,6 +252,9 @@ /obj/effect/chrono_field/singularity_act() return +/obj/effect/chrono_field/singularity_pull() + return + /obj/effect/chrono_field/ex_act() return diff --git a/code/modules/admin/sound_emitter.dm b/code/modules/admin/sound_emitter.dm index 129c6c92c87..b7ec8c36b52 100644 --- a/code/modules/admin/sound_emitter.dm +++ b/code/modules/admin/sound_emitter.dm @@ -30,6 +30,9 @@ /obj/effect/sound_emitter/singularity_act() return +/obj/effect/sound_emitter/singularity_pull() + return + /obj/effect/sound_emitter/examine(mob/user) ..() if(!isobserver(user)) diff --git a/code/modules/atmospherics/environmental/LINDA_fire.dm b/code/modules/atmospherics/environmental/LINDA_fire.dm index ca234308d8d..d0c0979366e 100644 --- a/code/modules/atmospherics/environmental/LINDA_fire.dm +++ b/code/modules/atmospherics/environmental/LINDA_fire.dm @@ -179,6 +179,9 @@ var/mob/living/L = AM L.fire_act(temperature, volume) +/obj/effect/hotspot/singularity_pull() + return + /obj/effect/dummy/fire name = "fire" desc = "OWWWWWW. IT BURNS. Tell a coder if you're seeing this." diff --git a/code/modules/clothing/spacesuits/chronosuit.dm b/code/modules/clothing/spacesuits/chronosuit.dm index c5a4f3a58a3..a2b5a864c48 100644 --- a/code/modules/clothing/spacesuits/chronosuit.dm +++ b/code/modules/clothing/spacesuits/chronosuit.dm @@ -252,6 +252,12 @@ var/obj/screen/chronos_target/target_ui = null var/obj/item/clothing/suit/space/chronos/chronosuit +/obj/effect/chronos_cam/singularity_act() + return + +/obj/effect/chronos_cam/singularity_pull() + return + /obj/effect/chronos_cam/proc/create_target_ui() if(holder && holder.client && chronosuit) if(target_ui) diff --git a/code/modules/events/immovable_rod.dm b/code/modules/events/immovable_rod.dm index 3b0cb1921a7..b933e566be3 100644 --- a/code/modules/events/immovable_rod.dm +++ b/code/modules/events/immovable_rod.dm @@ -68,6 +68,12 @@ In my current plan for it, 'solid' will be defined as anything with density == 1 /obj/effect/immovablerod/ex_act(severity, target) return 0 +/obj/effect/immovablerod/singularity_act() + return + +/obj/effect/immovablerod/singularity_pull() + return + /obj/effect/immovablerod/Collide(atom/clong) if(prob(10)) playsound(src, 'sound/effects/bang.ogg', 50, 1) diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm index 749b98c09ae..866b763fe65 100644 --- a/code/modules/flufftext/Hallucination.dm +++ b/code/modules/flufftext/Hallucination.dm @@ -98,6 +98,12 @@ GLOBAL_LIST_INIT(hallucinations_major, list( var/image_layer = MOB_LAYER var/active = TRUE //qdelery +/obj/effect/hallucination/singularity_pull() + return + +/obj/effect/hallucination/singularity_act() + return + /obj/effect/hallucination/simple/Initialize(mapload, var/mob/living/carbon/T) . = ..() target = T diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index ecbd8a41359..743e84aca4f 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -183,3 +183,9 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) if(L.stat != DEAD) return 1 return 0 + +/obj/effect/extraction_holder/singularity_pull() + return + +/obj/effect/extraction_holder/singularity_pull() + return diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index c1309e50a2c..421c129936f 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -365,7 +365,7 @@ return /obj/effect/immortality_talisman/singularity_pull() - return 0 + return /obj/effect/immortality_talisman/Destroy(force) if(!can_destroy && !force) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index f3553762b93..8d3f62f18d2 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -12,6 +12,12 @@ . = ..() set_light(set_luminosity, set_cap) +/obj/effect/light_emitter/singularity_pull() + return + +/obj/effect/light_emitter/singularity_act() + return + /**********************Miner Lockers**************************/ /obj/structure/closet/wardrobe/miner diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index e3792d40bae..ccec94bea8b 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -117,3 +117,9 @@ var/list/guardians = spawner.summoner.hasparasites() for(var/para in guardians) to_chat(para, "[AM] has crossed surveillance snare, [name].") + +/obj/effect/snare/singularity_act() + return + +/obj/effect/snare/singularity_pull() + return diff --git a/code/modules/power/singularity/particle_accelerator/particle.dm b/code/modules/power/singularity/particle_accelerator/particle.dm index f04c61426bf..2756d879d1d 100644 --- a/code/modules/power/singularity/particle_accelerator/particle.dm +++ b/code/modules/power/singularity/particle_accelerator/particle.dm @@ -51,6 +51,9 @@ /obj/effect/accelerated_particle/ex_act(severity, target) qdel(src) +/obj/effect/accelerated_particle/singularity_pull() + return + /obj/effect/accelerated_particle/proc/toxmob(mob/living/M) M.rad_act(energy*6) diff --git a/code/modules/projectiles/guns/beam_rifle.dm b/code/modules/projectiles/guns/beam_rifle.dm index 276d953bb77..19cd2762884 100644 --- a/code/modules/projectiles/guns/beam_rifle.dm +++ b/code/modules/projectiles/guns/beam_rifle.dm @@ -769,3 +769,9 @@ icon_icon = 'icons/mob/actions/actions_items.dmi' button_icon_state = "zoom_mode" background_icon_state = "bg_tech" + +/obj/effect/projectile_beam/singularity_pull() + return + +/obj/effect/projectile_beam/singularity_act() + return diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 4bf6ea43b18..d19079d5631 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -86,6 +86,12 @@ qdel(src) +/obj/effect/nettingportal/singularity_act() + return + +/obj/effect/nettingportal/singularity_pull() + return + /obj/item/projectile/energy/trap name = "energy snare" diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index f68fe4adce6..316dde05df2 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -38,6 +38,12 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th remove_ranged_ability() return ..() +/obj/effect/proc_holder/singularity_act() + return + +/obj/effect/proc_holder/singularity_pull() + return + /obj/effect/proc_holder/proc/InterceptClickOn(mob/living/caller, params, atom/A) if(caller.ranged_ability != src || ranged_ability_user != caller) //I'm not actually sure how these would trigger, but, uh, safety, I guess? to_chat(caller, "[caller.ranged_ability.name] has been disabled.") diff --git a/code/modules/spells/spell_types/spacetime_distortion.dm b/code/modules/spells/spell_types/spacetime_distortion.dm index 25b170745fc..ed6abe1410d 100644 --- a/code/modules/spells/spell_types/spacetime_distortion.dm +++ b/code/modules/spells/spell_types/spacetime_distortion.dm @@ -73,6 +73,12 @@ var/sound var/walks_left = 50 //prevents the game from hanging in extreme cases (such as minigun fire) +/obj/effect/cross_action/singularity_act() + return + +/obj/effect/cross_action/singularity_pull() + return + /obj/effect/cross_action/spacetime_dist/Initialize(mapload) . = ..() sound = "sound/guitar/[safepick(GLOB.guitar_notes)]"