From 92e3754bfb190474d45c7043ea80655b8f51dc8f Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 7 Jun 2017 03:06:26 -0500 Subject: [PATCH 1/6] Renamed Volt Void to Volt Blaster and removed it consuming and scaling with power --- .../clock_helpers/slab_abilities.dm | 19 ++-------- .../clock_cult/clock_items/clockwork_slab.dm | 2 +- .../clock_items/clockwork_slab.dm.rej | 15 ++++++++ .../clock_scriptures/scripture_cyborg.dm | 6 --- .../clock_scriptures/scripture_scripts.dm | 37 ++++--------------- .../effects/temporary_visuals/clockcult.dm | 12 ++---- 6 files changed, 30 insertions(+), 61 deletions(-) create mode 100644 code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm.rej diff --git a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm index ccf7aead44..00fb4e6e48 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm @@ -159,22 +159,9 @@ successful = TRUE ranged_ability_user.visible_message("[ranged_ability_user] fires a ray of energy at [target]!", "You fire a volt ray at [target].") playsound(ranged_ability_user, 'sound/effects/light_flicker.ogg', 50, 1) - var/turf/targetturf = get_turf(target) - var/obj/structure/destructible/clockwork/powered/volt_checker/VC = new/obj/structure/destructible/clockwork/powered/volt_checker(get_turf(ranged_ability_user)) - var/multiplier = 1 - var/usable_power = min(Floor(VC.total_accessable_power() * 0.2, MIN_CLOCKCULT_POWER), 1000) - if(VC.try_use_power(usable_power)) - multiplier += (usable_power * 0.001) //should be a multiplier of 2 at maximum power usage - if(iscyborg(ranged_ability_user)) - var/mob/living/silicon/robot/C = ranged_ability_user - if(C.cell) - var/prev_power = usable_power //we don't want to increase the multiplier past 2 - usable_power = min(Floor(C.cell.charge * 0.2, MIN_CLOCKCULT_POWER), 1000) - prev_power - if(usable_power > 0 && C.cell.use(usable_power)) - multiplier += (usable_power * 0.001) - qdel(VC) - new/obj/effect/temp_visual/ratvar/volt_hit/true(targetturf, ranged_ability_user, multiplier) - add_logs(ranged_ability_user, targetturf, "fired a volt ray") + T = get_turf(target) + new/obj/effect/temp_visual/ratvar/volt_hit(T, ranged_ability_user) + add_logs(ranged_ability_user, T, "fired a volt ray") remove_ranged_ability() return TRUE diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm index 8b3aa01533..3f92bfa42a 100644 --- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm +++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm @@ -80,7 +80,7 @@ /datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/fellowship_armory, /datum/clockwork_scripture/create_object/clockwork_obelisk) /obj/item/clockwork/slab/cyborg/miner //three scriptures, plus a spear and xray vision - quickbound = list(/datum/clockwork_scripture/ranged_ability/linked_vanguard, /datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/channeled/volt_void/cyborg) + quickbound = list(/datum/clockwork_scripture/ranged_ability/linked_vanguard, /datum/clockwork_scripture/spatial_gateway, /datum/clockwork_scripture/channeled/volt_blaster) /obj/item/clockwork/slab/cyborg/access_display(mob/living/user) if(!GLOB.ratvar_awakens) diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm.rej b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm.rej new file mode 100644 index 0000000000..872e6ccccb --- /dev/null +++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm.rej @@ -0,0 +1,15 @@ +diff a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm (rejected hunks) +@@ -59,11 +59,11 @@ + + /obj/item/clockwork/slab/cyborg/security //four scriptures, plus a spear + quickbound = list(/datum/clockwork_scripture/channeled/belligerent, /datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/channeled/taunting_tirade, \ +- /datum/clockwork_scripture/channeled/volt_void/cyborg) ++ /datum/clockwork_scripture/channeled/volt_blaster) + + /obj/item/clockwork/slab/cyborg/peacekeeper //four scriptures, plus a spear + quickbound = list(/datum/clockwork_scripture/channeled/belligerent, /datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/channeled/taunting_tirade, \ +- /datum/clockwork_scripture/channeled/volt_void/cyborg) ++ /datum/clockwork_scripture/channeled/volt_blaster) + + /obj/item/clockwork/slab/cyborg/janitor //five scriptures, plus a fabricator + quickbound = list(/datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transgression, \ diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm index db5260a8a0..2989857f0d 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_cyborg.dm @@ -44,9 +44,3 @@ Left-click a target to place a Judicial Marker!\n\ Click your slab to cancel." timeout_time = 50 - -//Volt Void, but with a different quickbind desc -/datum/clockwork_scripture/channeled/volt_void/cyborg - quickbind_desc = "Allows you to fire energy rays at target locations using your own power. Failing to fire causes backlash.
Maximum 4 chants." - tier = SCRIPTURE_PERIPHERAL - quickbind = FALSE diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm index 9efb9a8eb2..ce45193f98 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm @@ -347,27 +347,27 @@ return slab.procure_gateway(invoker, duration, portal_uses) -//Volt Void: Channeled for up to five times over ten seconds to fire up to five rays of energy at target locations. -/datum/clockwork_scripture/channeled/volt_void +//Volt Blaster: Channeled for up to five times over ten seconds to fire up to five rays of energy at target locations. +/datum/clockwork_scripture/channeled/volt_blaster descname = "Channeled, Targeted Energy Blasts" - name = "Volt Void" //Alternative name: "On all levels but physical, I am a power sink" - desc = "Allows you to fire energy rays at target locations; more power consumed causes more damage. Channeled every fifth of a second for a maximum of ten seconds." + name = "Volt Blaster" + desc = "Allows you to fire five energy rays at target locations. Channeled every fourth of a second for a maximum of ten seconds." channel_time = 30 invocations = list("Amperage...", "...grant me your power!") chant_invocations = list("Use charge to kill!", "Slay with power!", "Hunt with energy!") - chant_amount = 4 - chant_interval = 5 + chant_amount = 5 + chant_interval = 4 consumed_components = list(GEIS_CAPACITOR = 1, HIEROPHANT_ANSIBLE = 2) usage_tip = "Though it requires you to stand still, this scripture can do massive damage." tier = SCRIPTURE_SCRIPT primary_component = HIEROPHANT_ANSIBLE sort_priority = 10 quickbind = TRUE - quickbind_desc = "Allows you to fire energy rays at target locations. Failing to fire causes backlash.
Maximum 4 chants." + quickbind_desc = "Allows you to fire energy rays at target locations.
Maximum 5 chants." var/static/list/nzcrentr_insults = list("You're not very good at aiming.", "You hunt badly.", "What a waste of energy.", "Almost funny to watch.", "Boss says \"Click something, you idiot!\".", "Stop wasting components if you can't aim.") -/datum/clockwork_scripture/channeled/volt_void/chant_effects(chant_number) +/datum/clockwork_scripture/channeled/volt_blaster/chant_effects(chant_number) slab.busy = null var/datum/clockwork_scripture/ranged_ability/volt_ray/ray = new ray.slab = slab @@ -375,24 +375,6 @@ var/turf/T = get_turf(invoker) if(!ray.run_scripture() && slab && invoker) if(can_recite() && T == get_turf(invoker)) - if(!GLOB.ratvar_awakens) - var/obj/structure/destructible/clockwork/powered/volt_checker/VC = new/obj/structure/destructible/clockwork/powered/volt_checker(get_turf(invoker)) - var/multiplier = 0.5 - var/usable_power = min(Floor(VC.total_accessable_power() * 0.2, MIN_CLOCKCULT_POWER), 1000) - if(VC.try_use_power(usable_power)) - multiplier += (usable_power * 0.0005) //at maximum power, should be 1 multiplier - qdel(VC) - if(iscyborg(invoker)) - var/mob/living/silicon/robot/C = invoker - if(C.cell) - var/prev_power = usable_power //we don't want to increase the multiplier past 1 - usable_power = min(Floor(C.cell.charge * 0.2, MIN_CLOCKCULT_POWER), 1000) - prev_power - if(usable_power > 0 && C.cell.use(usable_power)) - multiplier += (usable_power * 0.0005) - var/obj/effect/temp_visual/ratvar/volt_hit/VH = new /obj/effect/temp_visual/ratvar/volt_hit(get_turf(invoker), null, multiplier) - invoker.visible_message("[invoker] is struck by [invoker.p_their()] own [VH.name]!", "You're struck by your own [VH.name]!") - invoker.adjustFireLoss(VH.damage) //you have to fail all five blasts to die to this - playsound(invoker, 'sound/machines/defib_zap.ogg', VH.damage, 1, -1) to_chat(invoker, "\"[text2ratvar(pick(nzcrentr_insults))]\"") else return FALSE @@ -410,6 +392,3 @@ ranged_message = "You charge the clockwork slab with shocking might.\n\ Left-click a target to fire, quickly!" timeout_time = 20 - -/obj/structure/destructible/clockwork/powered/volt_checker - invisibility = INVISIBILITY_ABSTRACT diff --git a/code/game/objects/effects/temporary_visuals/clockcult.dm b/code/game/objects/effects/temporary_visuals/clockcult.dm index 1eae2a3c64..d68008260c 100644 --- a/code/game/objects/effects/temporary_visuals/clockcult.dm +++ b/code/game/objects/effects/temporary_visuals/clockcult.dm @@ -81,21 +81,15 @@ /obj/effect/temp_visual/ratvar/volt_hit name = "volt blast" layer = ABOVE_MOB_LAYER - duration = 5 + duration = 8 icon_state = "volt_hit" light_range = 1.5 light_power = 2 light_color = LIGHT_COLOR_ORANGE var/mob/user - var/damage = 20 + var/damage = 25 -/obj/effect/temp_visual/ratvar/volt_hit/Initialize(mapload, caster, multiplier) - if(multiplier) - damage *= multiplier - duration = max(round(damage * 0.2), 1) - . = ..() - -/obj/effect/temp_visual/ratvar/volt_hit/true/Initialize(mapload, caster, multiplier) +/obj/effect/temp_visual/ratvar/volt_hit/Initialize(mapload, caster) . = ..() user = caster if(user) From 694bf7a641e95299cc9893010e23b0ce843be1dd Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 3 Jul 2017 14:09:59 -0500 Subject: [PATCH 2/6] Update clockwork_slab.dm --- code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm index 3f92bfa42a..35f3ea9f30 100644 --- a/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm +++ b/code/game/gamemodes/clock_cult/clock_items/clockwork_slab.dm @@ -65,11 +65,11 @@ /obj/item/clockwork/slab/cyborg/security //four scriptures, plus a spear quickbound = list(/datum/clockwork_scripture/channeled/belligerent, /datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/channeled/taunting_tirade, \ - /datum/clockwork_scripture/channeled/volt_void/cyborg) + /datum/clockwork_scripture/channeled/volt_blaster) /obj/item/clockwork/slab/cyborg/peacekeeper //four scriptures, plus a spear quickbound = list(/datum/clockwork_scripture/channeled/belligerent, /datum/clockwork_scripture/ranged_ability/judicial_marker, /datum/clockwork_scripture/channeled/taunting_tirade, \ - /datum/clockwork_scripture/channeled/volt_void/cyborg) + /datum/clockwork_scripture/channeled/volt_blaster) /obj/item/clockwork/slab/cyborg/janitor //five scriptures, plus a proselytizer quickbound = list(/datum/clockwork_scripture/create_object/replicant, /datum/clockwork_scripture/create_object/sigil_of_transgression, \ From 21ef6c18b3cf167a04adb4d7fec95619415d9e41 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 3 Jul 2017 17:14:27 -0500 Subject: [PATCH 3/6] Fixes pods not counting as escape --- code/modules/shuttle/shuttle.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 3a38b1818d..96ab93180b 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -847,8 +847,8 @@ /obj/docking_port/mobile/pod/on_emergency_dock() if(launch_status == ENDGAME_LAUNCHED) dock(SSshuttle.getDock("[id]_away")) //Escape pods dock at centcomm - launch_status = SHUTTLE_ENDGAME - + mode = SHUTTLE_ENDGAME + /obj/docking_port/mobile/emergency/on_emergency_dock() return From f02411ad9e82c871356926b3ab99752fcb8b03c5 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 3 Jul 2017 17:14:38 -0500 Subject: [PATCH 4/6] [s] Makes cookie alert private (#1865) --- code/modules/goonchat/browserOutput.dm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/code/modules/goonchat/browserOutput.dm b/code/modules/goonchat/browserOutput.dm index 191da98ea1..aa5c69e079 100644 --- a/code/modules/goonchat/browserOutput.dm +++ b/code/modules/goonchat/browserOutput.dm @@ -98,10 +98,10 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic messageQueue = null sendClientData() - + //do not convert to to_chat() owner << {"If you can see this, update byond."} - + pingLoop() /datum/chatOutput/proc/showChat() @@ -152,7 +152,7 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic if (found.len > 0) //TODO: add a new evasion ban for the CURRENT client details, using the matched row details message_admins("[key_name(src.owner)] has a cookie from a banned account! (Matched: [found["ckey"]], [found["ip"]], [found["compid"]])") - log_admin("[key_name(src.owner)] has a cookie from a banned account! (Matched: [found["ckey"]], [found["ip"]], [found["compid"]])") + log_admin_private("[key_name(owner)] has a cookie from a banned account! (Matched: [found["ckey"]], [found["ip"]], [found["compid"]])") cookieSent = TRUE @@ -243,17 +243,17 @@ GLOBAL_DATUM_INIT(iconCache, /savefile, new("data/iconCache.sav")) //Cache of ic message = replacetext(message, "\proper", "") message = replacetext(message, "\n", "
") message = replacetext(message, "\t", "[GLOB.TAB][GLOB.TAB]") - + for(var/I in targets) //Grab us a client if possible var/client/C = grab_client(I) - + if (!C) continue - + //Send it to the old style output window. C << original_message - + if(!C.chatOutput || C.chatOutput.broken) // A player who hasn't updated his skin file. continue From 6e2bd5fef5bbadcc3719babb2c78f4abb2dbad62 Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Mon, 3 Jul 2017 15:45:19 -0700 Subject: [PATCH 5/6] Update click.dm --- code/_onclick/click.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 5b26067725..4a5993047f 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -325,6 +325,8 @@ /mob/living/carbon/human/CtrlClick(mob/user) if(ishuman(user) && Adjacent(user)) + if(world.time < user.next_move) + return var/mob/living/carbon/human/H = user H.dna.species.grab(H, src, H.mind.martial_art) H.changeNext_move(CLICK_CD_MELEE) @@ -465,4 +467,4 @@ view = -1 else view = 1 - add_view_range(view) \ No newline at end of file + add_view_range(view) From 2ccef9e851196552ee56e1ed0121b9a7b2b9fea0 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Mon, 3 Jul 2017 17:46:38 -0500 Subject: [PATCH 6/6] Automatic changelog generation for PR #1447 [ci skip] --- html/changelogs/AutoChangeLog-pr-1447.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1447.yml diff --git a/html/changelogs/AutoChangeLog-pr-1447.yml b/html/changelogs/AutoChangeLog-pr-1447.yml new file mode 100644 index 0000000000..8b31000e90 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1447.yml @@ -0,0 +1,6 @@ +author: "Joan" +delete-after: True +changes: + - spellcheck: "Renamed Volt Void to Volt Blaster." + - tweak: "Volt Blaster does not consume power when firing and does not cause backlash if you don't fire. +balance: Volt Blaster does 25 damage, from 20-40 depending on power, and has 5 shots, from 4, over its duration."