From 6a99ca5e01bbbb67b2f0cd2e66a048d91ed08ab0 Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Thu, 30 Jun 2016 01:15:29 -0700 Subject: [PATCH 01/12] balance --- code/game/gamemodes/miniantags/hades/hades.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/gamemodes/miniantags/hades/hades.dm b/code/game/gamemodes/miniantags/hades/hades.dm index c76bf4189af..d0212f465a8 100644 --- a/code/game/gamemodes/miniantags/hades/hades.dm +++ b/code/game/gamemodes/miniantags/hades/hades.dm @@ -745,6 +745,9 @@ // no absorbing super strong creatures unless they're dead user << "Such power.. Slay this [M] so that I may partake of its being." return + if(M.stat) + user << "[M] is still too tightly bound to the mortal world! You must either kill or knock them unconscious to sacrafice them." + return user << "I accept your offering." absorbedHP += M.maxHealth if(!M.ckey) From 1495446864b445269a24c2cdaa1878bde42ba049 Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Thu, 30 Jun 2016 01:17:32 -0700 Subject: [PATCH 02/12] woops --- code/game/gamemodes/miniantags/hades/hades.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/miniantags/hades/hades.dm b/code/game/gamemodes/miniantags/hades/hades.dm index d0212f465a8..4dcd980aa44 100644 --- a/code/game/gamemodes/miniantags/hades/hades.dm +++ b/code/game/gamemodes/miniantags/hades/hades.dm @@ -745,7 +745,7 @@ // no absorbing super strong creatures unless they're dead user << "Such power.. Slay this [M] so that I may partake of its being." return - if(M.stat) + if(!M.stat) user << "[M] is still too tightly bound to the mortal world! You must either kill or knock them unconscious to sacrafice them." return user << "I accept your offering." From 822fc4ebbbd96c21117156c80f35987422f7666b Mon Sep 17 00:00:00 2001 From: kevinz000 Date: Thu, 30 Jun 2016 01:19:37 -0700 Subject: [PATCH 03/12] spelling-and-grammer --- code/game/gamemodes/miniantags/hades/hades.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/miniantags/hades/hades.dm b/code/game/gamemodes/miniantags/hades/hades.dm index 4dcd980aa44..1a8e77c50a6 100644 --- a/code/game/gamemodes/miniantags/hades/hades.dm +++ b/code/game/gamemodes/miniantags/hades/hades.dm @@ -746,7 +746,7 @@ user << "Such power.. Slay this [M] so that I may partake of its being." return if(!M.stat) - user << "[M] is still too tightly bound to the mortal world! You must either kill or knock them unconscious to sacrafice them." + user << "[M] is still too tightly bound to the mortal world! You must either kill or knock them unconscious to sacrifice them." return user << "I accept your offering." absorbedHP += M.maxHealth From ed67b868aa6382e4691cfc734342a84bc8203834 Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Thu, 30 Jun 2016 07:56:49 -0400 Subject: [PATCH 04/12] Hierophant Messages now support arbitrary span classes and titles --- code/game/gamemodes/clock_cult/clock_cult.dm | 12 ------------ .../game/gamemodes/clock_cult/clock_machines.dm | 2 +- .../game/gamemodes/clock_cult/clock_unsorted.dm | 17 +++++++++++++++++ .../friendly/drone/extra_drone_types.dm | 2 +- interface/stylesheet.dm | 9 +++++++-- 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm index 39a4b0f547a..98cf12af642 100644 --- a/code/game/gamemodes/clock_cult/clock_cult.dm +++ b/code/game/gamemodes/clock_cult/clock_cult.dm @@ -139,18 +139,6 @@ This file's folder contains: S.show_laws() return 1 -/proc/send_hierophant_message(mob/user, message, large) - if(!user || !message || !ticker || !ticker.mode) - return 0 - var/parsed_message = "Servant [user.name == user.real_name ? user.name : "[user.real_name] (as [user.name])"]: \"[message]\"" - for(var/M in mob_list) - if(isobserver(M)) - var/link = FOLLOW_LINK(M, user) - M << "[link] [parsed_message]" - else if(is_servant_of_ratvar(M)) - M << parsed_message - return 1 - /////////////// // GAME MODE // /////////////// diff --git a/code/game/gamemodes/clock_cult/clock_machines.dm b/code/game/gamemodes/clock_cult/clock_machines.dm index f9410a65285..dc6dab82a8f 100644 --- a/code/game/gamemodes/clock_cult/clock_machines.dm +++ b/code/game/gamemodes/clock_cult/clock_machines.dm @@ -561,7 +561,7 @@ user << "The obelisk lacks the power to broadcast!" return clockwork_say(user, "Uvrebcunag Oebnqpnfg, npgvingr!") - send_hierophant_message(user, input, 1) + send_hierophant_message(user, input, "big_brass", "large_brass") if("Spatial Gateway") if(gateway_active) user << "The obelisk is already sustaining a gateway!" diff --git a/code/game/gamemodes/clock_cult/clock_unsorted.dm b/code/game/gamemodes/clock_cult/clock_unsorted.dm index e0f7cf68ddf..aa8c32e5853 100644 --- a/code/game/gamemodes/clock_cult/clock_unsorted.dm +++ b/code/game/gamemodes/clock_cult/clock_unsorted.dm @@ -1,3 +1,20 @@ +//sends messages via hierophant +/proc/send_hierophant_message(mob/user, message, name_span, message_span, user_title = "Servant") + if(!user || !message || !ticker || !ticker.mode) + return 0 + if(!name_span) + name_span = "heavy_brass" + if(!message_span) + message_span = "brass" + var/parsed_message = "[user_title ? "[user_title] ":""][findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: \"[message]\"" + for(var/M in mob_list) + if(isobserver(M)) + var/link = FOLLOW_LINK(M, user) + M << "[link] [parsed_message]" + else if(is_servant_of_ratvar(M)) + M << parsed_message + return 1 + //Function Call action: Calls forth a Ratvarian spear. /datum/action/innate/function_call name = "Function Call" diff --git a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm index 6d5b42bfd17..8a5478dedcb 100644 --- a/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm +++ b/code/modules/mob/living/simple_animal/friendly/drone/extra_drone_types.dm @@ -138,4 +138,4 @@ return //we don't get hacked or give a shit about it /mob/living/simple_animal/drone/cogscarab/drone_chat(msg) - send_hierophant_message(src, msg) //HIEROPHANT DRONES + send_hierophant_message(src, msg, "heavy_alloy") //HIEROPHANT DRONES diff --git a/interface/stylesheet.dm b/interface/stylesheet.dm index 7f5f9799010..f0d121f97dc 100644 --- a/interface/stylesheet.dm +++ b/interface/stylesheet.dm @@ -93,14 +93,19 @@ h1.alert, h2.alert {color: #000000;} .alloy {color: #42474D;} .heavy_alloy {color: #42474D; font-weight: bold; font-style: italic;} .large_alloy {color: #42474D; font-size: 3;} +.nezbere_large {color: #42474D; font-size: 3; font-weight: bold; font-style: italic;} .nezbere {color: #42474D; font-weight: bold; font-style: italic;} .nezbere_small {color: #42474D;} +.sevtug_large {color: #AF0AAF; font-size: 3; font-weight: bold; font-style: italic;} .sevtug {color: #AF0AAF; font-weight: bold; font-style: italic;} .sevtug_small {color: #AF0AAF;} +.inathneq_large {color: #1E8CE1; font-size: 3; font-weight: bold; font-style: italic;} .inathneq {color: #1E8CE1; font-weight: bold; font-style: italic;} .inathneq_small {color: #1E8CE1;} -.nzcrentr {color: #BE8700; font-weight: bold; font-style: italic;} -.nzcrentr_small {color: #BE8700;} +.nzcrentr_large {color: #DAAA18; font-size: 3; font-weight: bold; font-style: italic;} +.nzcrentr {color: #DAAA18; font-weight: bold; font-style: italic;} +.nzcrentr_small {color: #DAAA18;} +.neovgre_large {color: #6E001A; font-size: 3; font-weight: bold; font-style: italic;} .neovgre {color: #6E001A; font-weight: bold; font-style: italic;} .neovgre_small {color: #6E001A;} From 36367775c36a1e80243fe0f9e65490b3043cb3b5 Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Thu, 30 Jun 2016 07:58:34 -0400 Subject: [PATCH 05/12] that's smarter/the same --- code/game/gamemodes/clock_cult/clock_unsorted.dm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_unsorted.dm b/code/game/gamemodes/clock_cult/clock_unsorted.dm index aa8c32e5853..6336dc6efbc 100644 --- a/code/game/gamemodes/clock_cult/clock_unsorted.dm +++ b/code/game/gamemodes/clock_cult/clock_unsorted.dm @@ -1,11 +1,7 @@ //sends messages via hierophant -/proc/send_hierophant_message(mob/user, message, name_span, message_span, user_title = "Servant") +/proc/send_hierophant_message(mob/user, message, name_span = "heavy_brass", message_span = "brass", user_title = "Servant") if(!user || !message || !ticker || !ticker.mode) return 0 - if(!name_span) - name_span = "heavy_brass" - if(!message_span) - message_span = "brass" var/parsed_message = "[user_title ? "[user_title] ":""][findtextEx(user.name, user.real_name) ? user.name : "[user.real_name] (as [user.name])"]: \"[message]\"" for(var/M in mob_list) if(isobserver(M)) From 8b8a10410f3d3e0e49131faee3f6881d42954011 Mon Sep 17 00:00:00 2001 From: Jack Edge Date: Wed, 29 Jun 2016 14:59:33 +0100 Subject: [PATCH 06/12] Removes zombie shuttle ripples The qdel timer was interacting weirdly with the pool. This makes it stop. Fixes #19021 --- code/game/objects/effects/overlays.dm | 4 +++- code/game/pooling/pool.dm | 8 ++++++-- code/modules/shuttle/ripple.dm | 1 + code/modules/shuttle/shuttle.dm | 19 ++++++++++--------- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm index 55123f67dfb..e8106c5f095 100644 --- a/code/game/objects/effects/overlays.dm +++ b/code/game/objects/effects/overlays.dm @@ -26,9 +26,11 @@ mouse_opacity = 0 var/duration = 10 //in deciseconds var/randomdir = TRUE + var/timerid /obj/effect/overlay/temp/Destroy() ..() + deltimer(timerid) return QDEL_HINT_PUTINPOOL /obj/effect/overlay/temp/New() @@ -37,7 +39,7 @@ setDir(pick(cardinal)) flick("[icon_state]", src) //Because we might be pulling it from a pool, flick whatever icon it uses so it starts at the start of the icon's animation. - QDEL_IN(src, duration) + timerid = QDEL_IN(src, duration) /obj/effect/overlay/temp/bloodsplatter icon = 'icons/effects/blood.dmi' diff --git a/code/game/pooling/pool.dm b/code/game/pooling/pool.dm index 338d8be84fd..ebbcebeb959 100644 --- a/code/game/pooling/pool.dm +++ b/code/game/pooling/pool.dm @@ -62,6 +62,8 @@ var/global/list/GlobalPool = list() var/datum/pooled = pop(GlobalPool[get_type]) if(pooled) + pooled.gc_destroyed = null + var/atom/movable/AM if(istype(pooled, /atom/movable)) AM = pooled @@ -91,12 +93,14 @@ var/global/list/GlobalPool = list() GlobalPool[diver.type] |= diver - if (destroy) + if(destroy) diver.Destroy() + diver.gc_destroyed = 1 + diver.ResetVars() -var/list/exclude = list("animate_movement", "contents", "loc", "locs", "parent_type", "vars", "verbs", "type") +var/list/exclude = list("animate_movement", "contents", "loc", "locs", "parent_type", "vars", "verbs", "type", "gc_destroyed") var/list/pooledvariables = list() //thanks to clusterfack @ /vg/station for these two procs /datum/proc/createVariables() diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index fd6568c1435..5b7611d0728 100644 --- a/code/modules/shuttle/ripple.dm +++ b/code/modules/shuttle/ripple.dm @@ -8,6 +8,7 @@ anchored = TRUE density = FALSE layer = RIPPLE_LAYER + mouse_opacity = 1 alpha = 0 duration = 3 * SHUTTLE_RIPPLE_TIME diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index 42971320ff6..82e7b5009df 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -298,10 +298,8 @@ /obj/docking_port/mobile/proc/cancel() if(mode != SHUTTLE_CALL) return - if(ripples.len) - for(var/i in ripples) - qdel(i) - ripples.Cut() + + remove_ripples() timer = world.time - timeLeft(1) mode = SHUTTLE_RECALL @@ -376,6 +374,11 @@ for(var/t in turfs) ripples += PoolOrNew(/obj/effect/overlay/temp/ripple, t) +/obj/docking_port/mobile/proc/remove_ripples() + for(var/R in ripples) + qdel(R) + ripples.Cut() + /obj/docking_port/mobile/proc/ripple_area(obj/docking_port/stationary/S1) var/list/L0 = return_ordered_turfs(x, y, z, dir, areaInstance) var/list/L1 = return_ordered_turfs(S1.x, S1.y, S1.z, S1.dir) @@ -441,14 +444,12 @@ for(var/turf/T0 in L0) A0.contents += T0 + + remove_ripples() + //move or squish anything in the way ship at destination roadkill(L0, L1, S1.dir) - // Removes ripples - for(var/i in ripples) - qdel(i) - ripples.Cut() - for(var/i in 1 to L0.len) var/turf/T0 = L0[i] if(!T0) From 15ff72a168cd4ca91203088111f9dab683882d60 Mon Sep 17 00:00:00 2001 From: Joan Lung Date: Fri, 1 Jul 2016 11:54:52 -0400 Subject: [PATCH 07/12] Tweaks scripture component costs, invoke times, and requirements (#19053) * Tweaks scripture component costs, invoke times, and requirements * placement --- .../gamemodes/clock_cult/clock_scripture.dm | 98 +++++++++---------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/code/game/gamemodes/clock_cult/clock_scripture.dm b/code/game/gamemodes/clock_cult/clock_scripture.dm index 5b966d37d0f..a8002c92653 100644 --- a/code/game/gamemodes/clock_cult/clock_scripture.dm +++ b/code/game/gamemodes/clock_cult/clock_scripture.dm @@ -204,7 +204,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed desc = "Forms a visor that, when worn, will grant the ability to form a flame in your hand that can be activated at an area to smite it, stunning and damaging the nonfaithful. \ Cultists of Nar-Sie will be set on fire, though they will be stunned for half the time." invocations = list("Tenag zr gur synzrf-bs Ratvar!") - channel_time = 0 + channel_time = 10 required_components = list("belligerent_eye" = 2) consumed_components = list("belligerent_eye" = 1) whispered = TRUE @@ -293,7 +293,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed /datum/clockwork_scripture/guvax //Guvax: Converts anyone adjacent to the invoker after completion. - descname = "Area Convert" + descname = "Melee Area Convert" name = "Guvax" desc = "Enlists all nearby living unshielded creatures into servitude to Ratvar. Also purges holy water from nearby servants." invocations = list("Rayvtugra guvf urngura!", "Nyy ner vafrpgf orsber Ratvar!", "Chetr nyy hageh'guf naq ubabe Ratvar.") @@ -359,7 +359,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed /datum/clockwork_scripture/replicant //Replicant: Creates a new clockwork slab. Doesn't use create_object because of its unique behavior. - descname = "New Slab" + descname = "New Clockwork Slab" name = "Replicant" desc = "Creates a new clockwork slab." invocations = list("Z`rgny, orpbzr terngre!") @@ -382,7 +382,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Tinkerer's Cache" desc = "Forms a cache that can store an infinite amount of components. All caches are linked and will provide components to slabs." invocations = list("Ohv’yqva...", "...n qvfcra’fre!") - channel_time = 40 + channel_time = 50 required_components = list("replicant_alloy" = 2) consumed_components = list("replicant_alloy" = 1) object_path = /obj/structure/clockwork/cache @@ -399,7 +399,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Wraith Spectacles" desc = "Fabricates a pair of glasses that provides true sight but quickly damage vision, eventually causing blindness if worn for too long." invocations = list("Y'vsg gur fpnyrf sebz zl rl-rf.") - channel_time = 0 + channel_time = 10 required_components = list("hierophant_ansible" = 1) whispered = TRUE object_path = /obj/item/clothing/glasses/wraith_spectacles @@ -433,8 +433,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Ocular Warden" desc = "Forms an automatic short-range turret that deals low sustained damage to the unenlightened in its range." invocations = list("Thne’qvnaf...", "...bs gur Ratvar...", "...qrs’raq!") - channel_time = 150 - required_components = list("belligerent_eye" = 1, "replicant_alloy" = 1) + channel_time = 120 + required_components = list("belligerent_eye" = 2, "replicant_alloy" = 1) consumed_components = list("belligerent_eye" = 1, "replicant_alloy" = 1) object_path = /obj/structure/clockwork/ocular_warden creator_message = "You form an ocular warden, which will focus its searing gaze upon nearby unenlightened." @@ -457,8 +457,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed chant_invocations = list("Qenj punetr gb guv’f furyy!") chant_amount = 30 chant_interval = 10 - required_components = list("belligerent_eye" = 1, "hierophant_ansible" = 1) - consumed_components = list("belligerent_eye" = 1, "hierophant_ansible" = 1) + required_components = list("guvax_capacitor" = 1, "hierophant_ansible" = 2) + consumed_components = list("guvax_capacitor" = 1, "hierophant_ansible" = 1) usage_tip = "If standing on a Sigil of Transmission, will transfer power to it. Augumented limbs will also be healed unless above a very high threshhold." tier = SCRIPTURE_SCRIPT var/total_power_drained = 0 @@ -541,9 +541,9 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed descname = "Necessary, Converts Objects" name = "Clockwork Proselytizer" desc = "Forms a device that, when used on certain objects, converts them into their Ratvarian equivalents. It requires replicant alloys to function." - invocations = list("Jvgu guv’f qrivpr, uvf cerfrapr funyy or znqr xabja.") - channel_time = 0 - required_components = list("guvax_capacitor" = 1, "replicant_alloy" = 1) + invocations = list("Jvgu guv’f qrivpr...", "...uvf cerfrapr funyy or znqr xabja.") + channel_time = 20 + required_components = list("guvax_capacitor" = 1, "replicant_alloy" = 2) consumed_components = list("guvax_capacitor" = 1, "replicant_alloy" = 1) whispered = TRUE object_path = /obj/item/clockwork/clockwork_proselytizer/preloaded @@ -560,8 +560,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed It grows faster to invoke with more nearby servants." invocations = list("Fuvryq zr...", "...jvgu gur sentzragf...", "...bs Ratvar!") channel_time = 110 //effectively 100 because it counts the invoker - required_components = list("vanguard_cogwheel" = 1, "hierophant_ansible" = 1) - consumed_components = list("vanguard_cogwheel" = 1, "hierophant_ansible" = 1) + required_components = list("vanguard_cogwheel" = 2, "replicant_alloy" = 1) + consumed_components = list("vanguard_cogwheel" = 1, "replicant_alloy" = 1) usage_tip = "Before using, advise adjacent allies to remove their helmets, external suits, gloves, and shoes." tier = SCRIPTURE_SCRIPT multiple_invokers_used = TRUE @@ -594,8 +594,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed It will vanish five minutes after being called." invocations = list("Tenag zr...", "...gur zvtug-bs oenff!") channel_time = 20 - required_components = list("vanguard_cogwheel" = 1, "replicant_alloy" = 1) - consumed_components = list("vanguard_cogwheel" = 1, "replicant_alloy" = 1) + required_components = list("replicant_alloy" = 2, "hierophant_ansible" = 1) + consumed_components = list("replicant_alloy" = 1, "hierophant_ansible" = 1) whispered = TRUE usage_tip = "You can impale human targets with the spear by pulling them, then attacking. Throwing the spear at a mob will do massive damage, but break the spear." tier = SCRIPTURE_SCRIPT @@ -621,8 +621,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed Each servant assisting in the invocation adds one additional use and four additional seconds to the gateway's uses and duration." invocations = list("Gryrcbegre...", "...pbzva evtug-hc!") channel_time = 80 - required_components = list("replicant_alloy" = 1, "hierophant_ansible" = 1) - consumed_components = list("replicant_alloy" = 1, "hierophant_ansible" = 1) + required_components = list("vanguard_cogwheel" = 1, "hierophant_ansible" = 2) + consumed_components = list("vanguard_cogwheel" = 1, "hierophant_ansible" = 1) multiple_invokers_used = TRUE multiple_invokers_optional = TRUE usage_tip = "This gateway is strictly one-way and will only allow things through the invoker's portal." @@ -661,10 +661,10 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed descname = "Clockwork Posibrain" name = "Soul Vessel" desc = "Forms an ancient positronic brain with an overriding directive to serve Ratvar." - invocations = list("Ureq'gur fbhyf-bs gur oynf curz-bhf qnzarq!") - channel_time = 0 - required_components = list("replicant_alloy" = 1, "guvax_capacitor" = 1) - consumed_components = list("replicant_alloy" = 1, "guvax_capacitor" = 1) + invocations = list("Ureq'gur fbhyf-bs...", "...gur oynf curz-bhf qnzarq!") + channel_time = 20 + required_components = list("vanguard_cogwheel" = 1, "guvax_capacitor" = 2) + consumed_components = list("vanguard_cogwheel" = 1, "guvax_capacitor" = 1) whispered = TRUE object_path = /obj/item/device/mmi/posibrain/soul_vessel creator_message = "You form a soul vessel, which immediately begins drawing in the damned." @@ -679,8 +679,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed desc = "Creates a small shell fitted for soul vessels. Adding an active soul vessel to it results in a small construct with tools and an inbuilt proselytizer." invocations = list("Pnyy sbegu...", "...gur jbexref-bs Nezbere.") channel_time = 50 - required_components = list("guvax_capacitor" = 1, "hierophant_ansible" = 1) - consumed_components = list("guvax_capacitor" = 1, "hierophant_ansible" = 1) + required_components = list("belligerent_eye" = 2, "hierophant_ansible" = 1) + consumed_components = list("belligerent_eye" = 1, "hierophant_ansible" = 1) object_path = /obj/structure/clockwork/shell/cogscarab creator_message = "You form a cogscarab, a constructor soul vessel receptable." observer_message = "The slab disgorges a puddle of black metal that contracts and forms into a strange shell!" @@ -695,8 +695,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed desc = "Places a luminous sigil that will enslave any valid beings standing on it after a time." invocations = list("Qvivavgl, rayvtugra...", "...gubfr jub gerfcnff urer!") channel_time = 60 - required_components = list("guvax_capacitor" = 2) - consumed_components = list("guvax_capacitor" = 1) + required_components = list("belligerent_eye" = 1, "guvax_capacitor" = 2) + consumed_components = list("belligerent_eye" = 1, "guvax_capacitor" = 1) whispered = TRUE object_path = /obj/effect/clockwork/sigil/submission creator_message = "A luminous sigil appears below you. The next non-servant to cross it will be enslaved after a brief time if they do not move." @@ -715,9 +715,9 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed desc = "Creates a large shell fitted for soul vessels. Adding an active soul vessel to it results in a powerful construct with decent health, notable melee power, \ and exceptional speed, though taking damage will temporarily slow it down." invocations = list("Pnyy sbegu...", "...gur fbyqvref-bs Nezbere.") - channel_time = 50 - required_components = list("belligerent_eye" = 2, "guvax_capacitor" = 1, "replicant_alloy" = 2) - consumed_components = list("belligerent_eye" = 1, "guvax_capacitor" = 1, "replicant_alloy" = 2) + channel_time = 70 + required_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 1, "replicant_alloy" = 3) + consumed_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 1, "replicant_alloy" = 2) object_path = /obj/structure/clockwork/shell/fragment creator_message = "You form an anima fragment, a powerful soul vessel receptable." observer_message = "The slab disgorges a puddle of black metal that expands and forms into a strange shell!" @@ -732,9 +732,9 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed desc = "Places a luminous sigil much like a Sigil of Submission, but it will remain even after successfully converting a non-implanted target. \ It will penetrate mindshield implants once before disappearing." invocations = list("Qvivavgl, rafynir...", "...nyy jub gerfcnff urer!") - channel_time = 100 - required_components = list("belligerent_eye" = 2, "guvax_capacitor" = 2, "hierophant_ansible" = 2) - consumed_components = list("belligerent_eye" = 1, "guvax_capacitor" = 1, "hierophant_ansible" = 1) + channel_time = 70 + required_components = list("belligerent_eye" = 3, "guvax_capacitor" = 1, "hierophant_ansible" = 1) + consumed_components = list("belligerent_eye" = 2, "guvax_capacitor" = 1, "hierophant_ansible" = 1) whispered = TRUE object_path = /obj/effect/clockwork/sigil/submission/accession prevent_path = /obj/effect/clockwork/sigil/submission @@ -750,9 +750,9 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Sigil of Transmission" desc = "Scribes a sigil beneath the invoker which stores power to power clockwork structures." invocations = list("Qvivavgl...", "punetr gur-znpuvarf!") - channel_time = 50 - required_components = list("belligerent_eye" = 2, "replicant_alloy" = 1, "hierophant_ansible" = 2) - consumed_components = list("belligerent_eye" = 1, "replicant_alloy" = 1, "hierophant_ansible" = 2) + channel_time = 70 + required_components = list("vanguard_cogwheel" = 1, "guvax_capacitor" = 1, "hierophant_ansible" = 3) + consumed_components = list("vanguard_cogwheel" = 1, "guvax_capacitor" = 1, "hierophant_ansible" = 2) whispered = TRUE object_path = /obj/effect/clockwork/sigil/transmission creator_message = "A sigil silently appears below you. It will automatically power clockwork structures adjecent to it." @@ -768,8 +768,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed desc = "Scribes a sigil beneath the invoker which drains life from any living non-servants that cross it. Servants that cross it, however, will be healed based on how much it drained from non-servants. \ Dead servants can be revived by this sigil if it has enough stored vitality." invocations = list("Qvivavgl...", "fgrny gur've yvsr...", "sbe guv'f furyy!") - channel_time = 50 - required_components = list("belligerent_eye" = 2, "vanguard_cogwheel" = 2, "hierophant_ansible" = 1) + channel_time = 70 + required_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 3, "hierophant_ansible" = 1) consumed_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 2, "hierophant_ansible" = 1) whispered = TRUE object_path = /obj/effect/clockwork/sigil/vitality @@ -788,7 +788,7 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed and will gain Fatigue at an increasing rate as they grow farther away. At maximum Fatigue, the marauder is forced to return to you and will be unable to manifest until its Fatigue is at zero." invocations = list("Pnyy sbegu...", "Sevtug'f jvyy, gur zvaq znqr fjbeq-naq-fuvryq.") channel_time = 100 - required_components = list("belligerent_eye" = 2, "vanguard_cogwheel" = 1, "guvax_capacitor" = 2) + required_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 1, "guvax_capacitor" = 3) consumed_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 1, "guvax_capacitor" = 2) usage_tip = "Marauders are useful as personal bodyguards and frontline warriors, although they do little damage." tier = SCRIPTURE_APPLICATION @@ -849,8 +849,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Interdiction Lens" desc = "Creates a clockwork totem that sabotages nearby machinery and funnels drained power into nearby Sigils of Transmission." invocations = list("Znl guvf gbgrz...", "...fuebhq gur snyfr fhaf!") - channel_time = 60 - required_components = list("belligerent_eye" = 1, "replicant_alloy" = 3, "hierophant_ansible" = 1) + channel_time = 80 + required_components = list("belligerent_eye" = 1, "replicant_alloy" = 4, "hierophant_ansible" = 1) consumed_components = list("belligerent_eye" = 1, "replicant_alloy" = 3, "hierophant_ansible" = 1) object_path = /obj/structure/clockwork/powered/interdiction_lens creator_message = "You form an interdiction lens, which disrupts cameras and radios and drains power." @@ -868,8 +868,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Mending Motor" desc = "Creates a mechanized prism that will rapidly repair damage to clockwork creatures, converted cyborgs, and clockwork structures. Requires replicant alloy or power to function." invocations = list("Znl guvf cevfz...", "...zraq bhe qragf naq fpengpurf!") - channel_time = 60 - required_components = list("vanguard_cogwheel" = 3, "guvax_capacitor" = 1, "replicant_alloy" = 1) + channel_time = 80 + required_components = list("vanguard_cogwheel" = 4, "guvax_capacitor" = 1, "replicant_alloy" = 1) consumed_components = list("vanguard_cogwheel" = 3, "guvax_capacitor" = 1, "replicant_alloy" = 1) object_path = /obj/structure/clockwork/powered/mending_motor/prefilled creator_message = "You form a mending motor, which will consume power or replicant alloy to mend the wounds of mechanized servants." @@ -887,8 +887,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Clockwork Obelisk" desc = "Creates a clockwork obelisk that can broadcast messages over the Hierophant Network or open a Spatial Gateway to any living servant or clockwork obelisk." invocations = list("Znl guvf boryvfx...", "...gnxr hf gb nyy cynprf!") - channel_time = 60 - required_components = list("vanguard_cogwheel" = 1, "replicant_alloy" = 1, "hierophant_ansible" = 3) + channel_time = 80 + required_components = list("vanguard_cogwheel" = 1, "replicant_alloy" = 1, "hierophant_ansible" = 4) consumed_components = list("vanguard_cogwheel" = 1, "replicant_alloy" = 1, "hierophant_ansible" = 3) object_path = /obj/structure/clockwork/powered/clockwork_obelisk creator_message = "You form a clockwork obelisk which can broadcast messages or produce Spatial Gateways." @@ -906,8 +906,8 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Mania Motor" desc = "Creates a mania motor which will cause brain damage and hallucinations in nearby non-servant humans. It will also try to convert humans directly adjecent to the motor." invocations = list("Znl guvf genafzvggre...", "...oernx gur jvyy bs nyy jub bccbfr hf!") - channel_time = 60 - required_components = list("guvax_capacitor" = 3, "replicant_alloy" = 1, "hierophant_ansible" = 1) + channel_time = 80 + required_components = list("guvax_capacitor" = 4, "replicant_alloy" = 1, "hierophant_ansible" = 1) consumed_components = list("guvax_capacitor" = 3, "replicant_alloy" = 1, "hierophant_ansible" = 1) object_path = /obj/structure/clockwork/powered/mania_motor creator_message = "You form a mania motor which will cause brain damage and hallucinations in nearby humans while active." @@ -925,9 +925,9 @@ Judgement: 10 servants, 100 CV, and any existing AIs are converted or destroyed name = "Tinkerer's Daemon" desc = "Forms a daemon shell that can be attached to a tinkerer's cache to add new components at a healthy rate. It will only function if it is outnumbered by servants in a ratio of 5:1." invocations = list("Pbaf'gehpg Ratvar cnegf...", "...gun'g lrg ubyq terngarff!") - channel_time = 40 - required_components = list("vanguard_cogwheel" = 2, "belligerent_eye" = 2, "guvax_capacitor" = 2, "replicant_alloy" = 2, "hierophant_ansible" = 2) - consumed_components = list("vanguard_cogwheel" = 1, "belligerent_eye" = 1, "guvax_capacitor" = 1, "replicant_alloy" = 1, "hierophant_ansible" = 1) + channel_time = 80 + required_components = list("belligerent_eye" = 3, "vanguard_cogwheel" = 3, "guvax_capacitor" = 3, "replicant_alloy" = 3, "hierophant_ansible" = 3) + consumed_components = list("belligerent_eye" = 1, "vanguard_cogwheel" = 1, "guvax_capacitor" = 1, "replicant_alloy" = 1, "hierophant_ansible" = 1) object_path = /obj/item/clockwork/daemon_shell creator_message = "You form a daemon shell. Attach it to a tinkerer's cache to increase its rate of production." usage_tip = "Vital to your success!" From f3f3f55ec875bbaea774c71acb00560a979d0bff Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Fri, 1 Jul 2016 15:54:53 +0000 Subject: [PATCH 08/12] Automatic changelog generation for PR #19053 [ci skip] --- html/changelogs/AutoChangeLog-pr-19053.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-19053.yml diff --git a/html/changelogs/AutoChangeLog-pr-19053.yml b/html/changelogs/AutoChangeLog-pr-19053.yml new file mode 100644 index 00000000000..e0fc44bb682 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-19053.yml @@ -0,0 +1,5 @@ +author: "Joan" +delete-after: True +changes: + - experiment: "Script and Application scripture have had their component costs and requirements tweaked to reduce overuse of certain components." + - wip: "Invoke times for a few scriptures that were instant are now very short instead." From 5df0bbc33fd05104552c80854e16a97739058d4e Mon Sep 17 00:00:00 2001 From: sybil-tgstation13 Date: Fri, 1 Jul 2016 16:54:23 +0000 Subject: [PATCH 09/12] Automatic changelog compile, [ci skip] --- html/changelog.html | 158 +++++++-------------- html/changelogs/.all_changelog.yml | 52 +++++++ html/changelogs/AutoChangeLog-pr-18965.yml | 4 - html/changelogs/AutoChangeLog-pr-18976.yml | 4 - html/changelogs/AutoChangeLog-pr-18986.yml | 6 - html/changelogs/AutoChangeLog-pr-18991.yml | 5 - html/changelogs/AutoChangeLog-pr-18997.yml | 4 - html/changelogs/AutoChangeLog-pr-19004.yml | 4 - html/changelogs/AutoChangeLog-pr-19006.yml | 4 - html/changelogs/AutoChangeLog-pr-19008.yml | 7 - html/changelogs/AutoChangeLog-pr-19009.yml | 4 - html/changelogs/AutoChangeLog-pr-19016.yml | 4 - html/changelogs/AutoChangeLog-pr-19018.yml | 4 - html/changelogs/AutoChangeLog-pr-19019.yml | 4 - html/changelogs/AutoChangeLog-pr-19020.yml | 4 - html/changelogs/AutoChangeLog-pr-19023.yml | 5 - html/changelogs/AutoChangeLog-pr-19029.yml | 4 - html/changelogs/AutoChangeLog-pr-19045.yml | 4 - html/changelogs/AutoChangeLog-pr-19049.yml | 6 - html/changelogs/AutoChangeLog-pr-19053.yml | 5 - html/changelogs/AutoChangeLog-pr-19060.yml | 4 - 21 files changed, 106 insertions(+), 190 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-18965.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-18976.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-18986.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-18991.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-18997.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19004.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19006.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19008.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19009.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19016.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19018.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19019.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19020.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19023.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19029.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19045.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19049.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19053.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-19060.yml diff --git a/html/changelog.html b/html/changelog.html index 960b2183a45..c131b2c3357 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,60 @@ -->
+

01 July 2016

+

Flavo updated:

+
    +
  • fixed a bug where lights would not update.
  • +
+

Joan updated:

+
    +
  • Clockwork Slabs now use an action button to communicate instead of the "Report" option in the menu after using a slab.
  • +
  • Clockwork Slabs now fit in pockets, the belt slot, or in the suit storage slot(if wearing clockwork armor), where they can be used as hands-free communication.
  • +
  • Clockwork items with action buttons have a new, clockwork-y background.
  • +
  • Judicial Visors now tell the user how many targets the Judicial Blast struck.
  • +
  • Judicial Markers now have sounds when appearing and exploding.
  • +
  • Wet turfs should remain that way for slightly longer than 5 seconds now.
  • +
  • Drones and Swarmers should now sound more robotic.
  • +
  • Ratvarian Spears will stun cyborgs and cultists for twice as long when thrown; on cyborgs, this should be long enough to use Guvax on them.
  • +
  • Removed the Justicar's Gavel application scripture.
  • +
  • Vitality Matrices will drain and heal 50% faster, and the base cost to revive is 20% lower; 20, from 25.
  • +
  • Vitality Matrices will not revive or heal corpses unless they can grab the ghost of the corpse, and will immediately grab the ghost when reviving.
  • +
  • Swarmers consuming swarmer shells now refunds the swarmer the entire cost of the shell instead of 2% of the shell's cost.
  • +
  • Application scriptures require at least 75 CV, from 50.
  • +
  • Revenant scriptures require at least 4 Caches, from 3, and at least 150 CV, from 100.
  • +
  • Judgement scripture requires at least 12 servants, from 10, 5 Caches, from 3, and at least 250 CV, from 100.
  • +
  • Script and Application scripture have had their component costs and requirements tweaked to reduce overuse of certain components.
  • +
  • Invoke times for a few scriptures that were instant are now very short instead.
  • +
+

Kor updated:

+
    +
  • Holoparasites are no longer in the uplink
  • +
+

NikNak updated:

+
    +
  • Showcases are now movable and deconstructable. Wrench them to unanchor and then screwdriver and crowbar to deconstruct.
  • +
+

Papa Bones updated:

+
    +
  • Security now has energy bolas available to them in their vending machines, check them out!
  • +
+

bobdobbington updated:

+
    +
  • Added skub to the AutoDrobe as a premium item.
  • +
+

coiax updated:

+
    +
  • The CTF arena regenerates every round, and the blue team now shoot blue lasers.
  • +
  • Adds some descriptions to alien surgery tools
  • +
  • The agent vest can be locked and unlocked (toggling the NODROP flag)
  • +
  • An abductor team can spend data points to purchase an agent vest (note that only abductor agents are trained in their use)
  • +
  • The nuke disk reappears on the station in far more random locations, but tends to re-materialise in safe pressurised areas that aren't on fire.
  • +
+

name: Lzimann updated:

+
    +
  • Mulebots with pAI cards no longer stun people
  • +
+

29 June 2016

Joan updated:

    @@ -1178,110 +1232,6 @@
    • Nanotrasen has released Cards Against Spess! Visit your local library for a copy. Warning: may cause breakage of the fourth wall.
    - -

    29 April 2016

    -

    Bawhoppen updated:

    -
      -
    • Several lesser-used uplink's TC cost have been rebalanced.
    • -
    • Steckhin down from 9TC to 7TC.
    • -
    • Tactical medkit down from 9TC to 4TC.
    • -
    • Syndicate magboots from 3TC to 2TC.
    • -
    • Powersinks down from 10TC to 6TC.
    • -
    • Stealth rad-laser down from 5TC to 3TC.
    • -
    • Bundles have been updated accordingly.
    • -
    -

    Incoming5643 updated:

    -
      -
    • The staff/wand of door creation can now also be used to open airlock doors.
    • -
    • Doors spawned by the staff/wand now start open. Keep this in mind the next time you try to turn every wall on the escape shuttle into a door.
    • -
    -

    Robustin updated:

    -
      -
    • The Teleport Other, Veil, Imbue, Reveal, Disguise, Blood Drain, Timestop, Stun, Deafen, Blind, Armaments, Construct Shell and Summon Tome runes are gone.
    • -
    • Disguise, Veil/Reveal, Construct Shell and Armaments are now talismans. The Construction talisman requires 25 sheets of metal.
    • -
    • Cultists will now receive a warning when attempting to use emergency communion or create the Nar-Sie rune
    • -
    • Cultists can now create talismans with a super-simple Talisman-Creation rune. It takes about 10 seconds to invoke and will present a menu of all the talisman choices available. Its as simple as tossing the paper on, clicking the rune, and selecting your talisman.
    • -
    • Cultists now have a proc, "How to Play" that will give a basic explanation of how to succeed as a cultist.
    • -
    • The new Talisman of Horror is a stealthy talisman that will cause hallucinations in the victim. Great for undermining security without having to commit to murder them in middle of the hall.
    • -
    • Creating the Summon Nar-Sie rune does takes slightly less time, but now adds a 3x3 square of red barrier shields (60hp each) to prevent the rune-scriber from being bumped by other idiots. This works in conjunction with the rune's warning to give crew a chance to stop the summoning. Manifest ghost has a weaker 1x1 shield to prevent bumps as well.
    • -
    • Talismans are now color-coded by their effect so you can easily organize and deploy talismans.
    • -
    • You can now make colored paper in the washing machine using crayons or stamps, honk.
    • -
    • The Electromagnetic Disruption rune will now scale with the number of cultists invoking the rune. **A full 9-cultist invocation will EMP the entire station!**
    • -
    • Armaments will now give the recipient a new cult bola.
    • -
    • The new Talisman of Shackling will apply handcuffs directly to the victim. These cuffs will disappear when removed.
    • -
    • Cult slur is a little less potent so victims might be able to squeeze in a coherent word or two if you let them keep jabbering on the radio, stun talismans now have less of a health cost and the stun is back to 10 seconds, from 9.
    • -
    • Rune and Talisman names now give a much clearer idea of what they do.
    • -
    • The following changes are courtesy of ChangelingRain
    • -
    • The Teleport rune now allows cultists to select which rune to teleport to, and teleports everything on it.
    • -
    • Veil and Reveal are merged into Talisman of Veiling. Veiling has two uses, the first use will hide and the second use will reveal.
    • -
    • New icons for the cult bola
    • -
    • You can now attack fellow cultists with a Talisman of Arming to arm them with robes and a sword.
    • -
    • You can now only place one rune per tile.
    • -
    • Ghosts are notified when a new manifest rune is created.
    • -
    -

    TechnoAlchemisto updated:

    -
      -
    • Sinew can now be fashioned into restraints.
    • -
    -

    coiax updated:

    -
      -
    • Internals Crate now contains breath masks and small tanks.
    • -
    • Metal foam grenade box crate added for 1000 points
    • -
    • Added two Engineering Mesons to Engineering Gear Crate
    • -
    • Engineering Gear now costs 1300
    • -
    • Breach Shield Generator Crate added for 2500 points
    • -
    • Grounding Rod Crate added for 1700 points
    • -
    • PACMAN Generator Crate added for 2500
    • -
    • Defibrillator Crate added for 2500
    • -
    • Added more helmets to the Laser Tag Crate.
    • -
    • Nanotrasen Customs report that some wide band suppliers have been providing "alternative" firing pins. Nanotrasen reminds all crewmembers that contraband is contraband.
    • -
    • Contraband crates now appear visually similar to legitimate crates.
    • -
    • The cargo shuttle's normal transit time has been restored.
    • -
    -

    nullbear updated:

    -
      -
    • Adds a preference option, allowing players to toggle whether recipes with no matching components should be hidden.
    • -
    - -

    28 April 2016

    -

    Bawhoppen updated:

    -
      -
    • Sandbags are no longer tablecrafted. Now you just put in sand (or ash) by hand to make them.
    • -
    • Miners and Engis now get boxes of empty sandbags in their lockers. Miners also get a few premade aswell.
    • -
    • You can now break sandstone down into normal sand.
    • -
    -

    Joan updated:

    -
      -
    • Attacking a blob with an analyzer will tell you what its chemical does, its health, and a small fact about the blob analyzed.
    • -
    • NERFS:
    • -
    • Zombifying Feelers does less toxin damage.
    • -
    • Adaptive Nexuses does slightly less brute damage.
    • -
    • Replicating Foam does slightly less brute damage.
    • -
    • Blob Sorium does slightly less brute damage.
    • -
    • Blob Dark Matter does slightly less brute damage.
    • -
    • Cyrogenic Liquid injects slightly less frost oil and ice and does slightly less stamina damage.
    • -
    • Pressurized Slime does less brute, oxygen, and stamina damage, and extinguishes objects and people on turfs it wets.
    • -
    • Blob core strong blobs no longer give points when removed.
    • -
    • PROBABLY BUFFS:
    • -
    • Flammable Goo now does slightly more burn damage and applies more firestacks, but applies fire to blob tiles that don't share its chemical.
    • -
    • Energized Fibers does slightly more burn damage, slightly less stamina damage, and now takes damage from EMPs.
    • -
    • BUFFS:
    • -
    • Boiling Oil does slightly more burn damage and applies more firestacks.
    • -
    • Reactive Gelatin does slightly more damage on average.
    • -
    • Penetrating Spines now also ignores bio resistance in addition to armor.
    • -
    • Hallucinogenic Nectar causes more hallucinations.
    • -
    • Normal strong blobs now refund 4 points when removed, from 2.
    • -
    • Charger holoparasites now play a sound when hitting a target, as well as shaking the target's camera.
    • -
    -

    PKPenguin321 updated:

    -
      -
    • The warden's locker now contains krav maga gloves.
    • -
    -

    TechnoAlchemisto updated:

    -
      -
    • You can now craft skull helmets from bones.
    • -
    • Syndicate bombs are now harder to detect
    • -
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 4295c3c1c48..ff286f6dab7 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -5902,3 +5902,55 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: Slimepeople swapping consciousness between bodies is now visible to onlookers - bugfix: The AI malfunction "Hostile Lockdown" power now restores the station doors to normal after 90 seconds, rather than keeping everything shut forever. +2016-07-01: + Flavo: + - bugfix: fixed a bug where lights would not update. + Joan: + - rscadd: Clockwork Slabs now use an action button to communicate instead of the + "Report" option in the menu after using a slab. + - tweak: Clockwork Slabs now fit in pockets, the belt slot, or in the suit storage + slot(if wearing clockwork armor), where they can be used as hands-free communication. + - imageadd: Clockwork items with action buttons have a new, clockwork-y background. + - rscadd: Judicial Visors now tell the user how many targets the Judicial Blast + struck. + - soundadd: Judicial Markers now have sounds when appearing and exploding. + - tweak: Wet turfs should remain that way for slightly longer than 5 seconds now. + - rscadd: Drones and Swarmers should now sound more robotic. + - tweak: Ratvarian Spears will stun cyborgs and cultists for twice as long when + thrown; on cyborgs, this should be long enough to use Guvax on them. + - rscdel: Removed the Justicar's Gavel application scripture. + - tweak: Vitality Matrices will drain and heal 50% faster, and the base cost to + revive is 20% lower; 20, from 25. + - rscadd: Vitality Matrices will not revive or heal corpses unless they can grab + the ghost of the corpse, and will immediately grab the ghost when reviving. + - rscadd: Swarmers consuming swarmer shells now refunds the swarmer the entire cost + of the shell instead of 2% of the shell's cost. + - experiment: Application scriptures require at least 75 CV, from 50. + - experiment: Revenant scriptures require at least 4 Caches, from 3, and at least + 150 CV, from 100. + - experiment: Judgement scripture requires at least 12 servants, from 10, 5 Caches, + from 3, and at least 250 CV, from 100. + - experiment: Script and Application scripture have had their component costs and + requirements tweaked to reduce overuse of certain components. + - wip: Invoke times for a few scriptures that were instant are now very short instead. + Kor: + - rscdel: Holoparasites are no longer in the uplink + NikNak: + - tweak: Showcases are now movable and deconstructable. Wrench them to unanchor + and then screwdriver and crowbar to deconstruct. + Papa Bones: + - tweak: Security now has energy bolas available to them in their vending machines, + check them out! + bobdobbington: + - rscadd: Added skub to the AutoDrobe as a premium item. + coiax: + - rscadd: The CTF arena regenerates every round, and the blue team now shoot blue + lasers. + - rscadd: Adds some descriptions to alien surgery tools + - rscadd: The agent vest can be locked and unlocked (toggling the NODROP flag) + - rscadd: An abductor team can spend data points to purchase an agent vest (note + that only abductor agents are trained in their use) + - rscadd: The nuke disk reappears on the station in far more random locations, but + tends to re-materialise in safe pressurised areas that aren't on fire. + 'name: Lzimann': + - tweak: Mulebots with pAI cards no longer stun people diff --git a/html/changelogs/AutoChangeLog-pr-18965.yml b/html/changelogs/AutoChangeLog-pr-18965.yml deleted file mode 100644 index bbe21c8b8cb..00000000000 --- a/html/changelogs/AutoChangeLog-pr-18965.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "name: Lzimann" -delete-after: True -changes: - - tweak: "Mulebots with pAI cards no longer stun people" diff --git a/html/changelogs/AutoChangeLog-pr-18976.yml b/html/changelogs/AutoChangeLog-pr-18976.yml deleted file mode 100644 index b1a04a67b7b..00000000000 --- a/html/changelogs/AutoChangeLog-pr-18976.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Kor" -delete-after: True -changes: - - rscdel: "Holoparasites are no longer in the uplink" diff --git a/html/changelogs/AutoChangeLog-pr-18986.yml b/html/changelogs/AutoChangeLog-pr-18986.yml deleted file mode 100644 index 9d52f8cc8d8..00000000000 --- a/html/changelogs/AutoChangeLog-pr-18986.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscadd: "Clockwork Slabs now use an action button to communicate instead of the \"Report\" option in the menu after using a slab." - - tweak: "Clockwork Slabs now fit in pockets, the belt slot, or in the suit storage slot(if wearing clockwork armor), where they can be used as hands-free communication." - - imageadd: "Clockwork items with action buttons have a new, clockwork-y background." diff --git a/html/changelogs/AutoChangeLog-pr-18991.yml b/html/changelogs/AutoChangeLog-pr-18991.yml deleted file mode 100644 index 0c3df30ea9c..00000000000 --- a/html/changelogs/AutoChangeLog-pr-18991.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscadd: "Judicial Visors now tell the user how many targets the Judicial Blast struck." - - soundadd: "Judicial Markers now have sounds when appearing and exploding." diff --git a/html/changelogs/AutoChangeLog-pr-18997.yml b/html/changelogs/AutoChangeLog-pr-18997.yml deleted file mode 100644 index cf7752b69f0..00000000000 --- a/html/changelogs/AutoChangeLog-pr-18997.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Wet turfs should remain that way for slightly longer than 5 seconds now." diff --git a/html/changelogs/AutoChangeLog-pr-19004.yml b/html/changelogs/AutoChangeLog-pr-19004.yml deleted file mode 100644 index 9d59dc8689c..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19004.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "coiax" -delete-after: True -changes: - - rscadd: "The CTF arena regenerates every round, and the blue team now shoot blue lasers." diff --git a/html/changelogs/AutoChangeLog-pr-19006.yml b/html/changelogs/AutoChangeLog-pr-19006.yml deleted file mode 100644 index 6db60ea9c25..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19006.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Papa Bones" -delete-after: True -changes: - - tweak: "Security now has energy bolas available to them in their vending machines, check them out!" diff --git a/html/changelogs/AutoChangeLog-pr-19008.yml b/html/changelogs/AutoChangeLog-pr-19008.yml deleted file mode 100644 index 00b988c8113..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19008.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "coiax" -delete-after: True -changes: - - rscadd: "Adds some descriptions to alien surgery tools" - - rscadd: "The agent vest can be locked and unlocked (toggling the NODROP flag)" - - rscadd: "An abductor team can spend data points to purchase an agent vest (note -that only abductor agents are trained in their use)" diff --git a/html/changelogs/AutoChangeLog-pr-19009.yml b/html/changelogs/AutoChangeLog-pr-19009.yml deleted file mode 100644 index 6072f562b40..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19009.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "bobdobbington" -delete-after: True -changes: - - rscadd: "Added skub to the AutoDrobe as a premium item." diff --git a/html/changelogs/AutoChangeLog-pr-19016.yml b/html/changelogs/AutoChangeLog-pr-19016.yml deleted file mode 100644 index 515f055384a..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19016.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscadd: "Drones and Swarmers should now sound more robotic." diff --git a/html/changelogs/AutoChangeLog-pr-19018.yml b/html/changelogs/AutoChangeLog-pr-19018.yml deleted file mode 100644 index 91d071c80ad..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19018.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Ratvarian Spears will stun cyborgs and cultists for twice as long when thrown; on cyborgs, this should be long enough to use Guvax on them." diff --git a/html/changelogs/AutoChangeLog-pr-19019.yml b/html/changelogs/AutoChangeLog-pr-19019.yml deleted file mode 100644 index 276cbe60af9..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19019.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "coiax" -delete-after: True -changes: - - rscadd: "The nuke disk reappears on the station in far more random locations, but tends to re-materialise in safe pressurised areas that aren't on fire." diff --git a/html/changelogs/AutoChangeLog-pr-19020.yml b/html/changelogs/AutoChangeLog-pr-19020.yml deleted file mode 100644 index 5fca07252d0..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19020.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscdel: "Removed the Justicar's Gavel application scripture." diff --git a/html/changelogs/AutoChangeLog-pr-19023.yml b/html/changelogs/AutoChangeLog-pr-19023.yml deleted file mode 100644 index 104a2d2a4b8..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19023.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - tweak: "Vitality Matrices will drain and heal 50% faster, and the base cost to revive is 20% lower; 20, from 25." - - rscadd: "Vitality Matrices will not revive or heal corpses unless they can grab the ghost of the corpse, and will immediately grab the ghost when reviving." diff --git a/html/changelogs/AutoChangeLog-pr-19029.yml b/html/changelogs/AutoChangeLog-pr-19029.yml deleted file mode 100644 index 72f67125617..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19029.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - rscadd: "Swarmers consuming swarmer shells now refunds the swarmer the entire cost of the shell instead of 2% of the shell's cost." diff --git a/html/changelogs/AutoChangeLog-pr-19045.yml b/html/changelogs/AutoChangeLog-pr-19045.yml deleted file mode 100644 index edba91271e1..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19045.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "NikNak" -delete-after: True -changes: - - tweak: "Showcases are now movable and deconstructable. Wrench them to unanchor and then screwdriver and crowbar to deconstruct." diff --git a/html/changelogs/AutoChangeLog-pr-19049.yml b/html/changelogs/AutoChangeLog-pr-19049.yml deleted file mode 100644 index 1c73b8ab97a..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19049.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - experiment: "Application scriptures require at least 75 CV, from 50." - - experiment: "Revenant scriptures require at least 4 Caches, from 3, and at least 150 CV, from 100." - - experiment: "Judgement scripture requires at least 12 servants, from 10, 5 Caches, from 3, and at least 250 CV, from 100." diff --git a/html/changelogs/AutoChangeLog-pr-19053.yml b/html/changelogs/AutoChangeLog-pr-19053.yml deleted file mode 100644 index e0fc44bb682..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19053.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Joan" -delete-after: True -changes: - - experiment: "Script and Application scripture have had their component costs and requirements tweaked to reduce overuse of certain components." - - wip: "Invoke times for a few scriptures that were instant are now very short instead." diff --git a/html/changelogs/AutoChangeLog-pr-19060.yml b/html/changelogs/AutoChangeLog-pr-19060.yml deleted file mode 100644 index f8f7cb2d0ff..00000000000 --- a/html/changelogs/AutoChangeLog-pr-19060.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Flavo" -delete-after: True -changes: - - bugfix: "fixed a bug where lights would not update." From 706a4f344b981fec900688deeaa89702009983b1 Mon Sep 17 00:00:00 2001 From: MMMiracles Date: Fri, 1 Jul 2016 22:40:22 -0400 Subject: [PATCH 10/12] Adds the Power Fist (#19013) The power-fist is a semi-port of hippiestation's power-fist. Sprites are from hippiestation. The power fist is a metallic gauntlet with a built-in piston-ram that uses an external tank as its gas source. A wrench can be used to dial up the piston's valve and make the gauntlet hit harder and farther in exchange for more gas used. A full large-tank will get exactly 4 level-3 punches in before needing to replace the external tank. This thing is incredibly lethal for taking out singular targets at a time but very poor against crowds as odds are you're going to exhaust your supply before fending off everyone. The TC price might be too low/high, I don't know yet until people play around with it in an actual round. All I know is punching pun-pun half-way down the escape hall in a single hit is fun. --- code/game/objects/items/weapons/melee/misc.dm | 2 +- code/game/objects/items/weapons/powerfist.dm | 94 ++++++++++++++++++ code/modules/uplink/uplink_item.dm | 9 ++ icons/mob/inhands/items_lefthand.dmi | Bin 119076 -> 119577 bytes icons/mob/inhands/items_righthand.dmi | Bin 116933 -> 117180 bytes icons/obj/weapons.dmi | Bin 51816 -> 52044 bytes tgstation.dme | 1 + 7 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 code/game/objects/items/weapons/powerfist.dm diff --git a/code/game/objects/items/weapons/melee/misc.dm b/code/game/objects/items/weapons/melee/misc.dm index 82687066ff4..8a523373b85 100644 --- a/code/game/objects/items/weapons/melee/misc.dm +++ b/code/game/objects/items/weapons/melee/misc.dm @@ -217,4 +217,4 @@ T.CalculateAdjacentTurfs() /obj/item/weapon/melee/supermatter_sword/add_blood(list/blood_dna) - return 0 + return 0 \ No newline at end of file diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm new file mode 100644 index 00000000000..e28e16c8880 --- /dev/null +++ b/code/game/objects/items/weapons/powerfist.dm @@ -0,0 +1,94 @@ +/obj/item/weapon/melee/powerfist + name = "power-fist" + desc = "A metal gauntlet with a piston-powered ram ontop for that extra 'ompfh' in your punch." + icon_state = "powerfist" + item_state = "powerfist" + flags = CONDUCT + attack_verb = list("whacked", "fisted", "power-punched") + force = 12 + throwforce = 10 + throw_range = 7 + w_class = 3 + origin_tech = "combat=5;powerstorage=3;syndicate=3" + var/click_delay = 1.5 + var/fisto_setting = 1 + var/gasperfist = 3 + var/obj/item/weapon/tank/internals/tank = null //Tank used for the gauntlet's piston-ram. + + +/obj/item/weapon/melee/powerfist/examine(mob/user) + ..() + if(!in_range(user, src)) + user << "You'll need to get closer to see any more." + return + if(tank) + user << "\icon [tank] It has \the [tank] mounted onto it." + + +/obj/item/weapon/melee/powerfist/attackby(obj/item/weapon/W, mob/user, params) + if(istype(W, /obj/item/weapon/tank/internals)) + if(!tank) + var/obj/item/weapon/tank/internals/IT = W + if(IT.volume <= 3) + user << "\The [IT] is too small for \the [src]." + return + updateTank(W, 0, user) + else if(istype(W, /obj/item/weapon/wrench)) + switch(fisto_setting) + if(1) + fisto_setting = 2 + if(2) + fisto_setting = 3 + if(3) + fisto_setting = 1 + playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) + user << "You tweak \the [src]'s piston valve to [fisto_setting]." + else if(istype(W, /obj/item/weapon/screwdriver)) + if(tank) + updateTank(tank, 1, user) + + +/obj/item/weapon/melee/powerfist/proc/updateTank(obj/item/weapon/tank/internals/thetank, removing = 0, mob/living/carbon/human/user) + if(removing) + if(!tank) + user << "\The [src] currently has no tank attached to it." + return + user << "You detach \the [thetank] from \the [src]." + tank.forceMove(get_turf(user)) + user.put_in_hands(tank) + tank = null + if(!removing) + if(tank) + user << "\The [src] already has a tank." + return + if(!user.unEquip(thetank)) + return + user << "You hook \the [thetank] up to \the [src]." + tank = thetank + thetank.forceMove(src) + + +/obj/item/weapon/melee/powerfist/attack(mob/living/target, mob/living/user) + if(!tank) + user << "\The [src] can't operate without a source of gas!" + return + if(tank && !tank.air_contents.remove(gasperfist * fisto_setting)) + user << "\The [src]'s piston-ram lets out a weak hiss, it needs more gas!" + playsound(loc, 'sound/effects/refill.ogg', 50, 1) + return + target.apply_damage(force * fisto_setting, BRUTE) + target.visible_message("[user]'s powerfist lets out a loud hiss as they punch [target.name]!", \ + "You cry out in pain as [user]'s punch flings you backwards!") + PoolOrNew(/obj/effect/kinetic_blast, target.loc) + playsound(loc, 'sound/weapons/resonator_blast.ogg', 50, 1) + playsound(loc, 'sound/weapons/genhit2.ogg', 50, 1) + + var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src))) + spawn(1) + target.throw_at(throw_target, 5 * fisto_setting, 0.2) + + add_logs(user, target, "power fisted", src) + + user.changeNext_move(CLICK_CD_MELEE * click_delay) + + return \ No newline at end of file diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index 3e3ddd681fd..343eab844da 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -233,6 +233,15 @@ var/list/uplink_items = list() // Global list so we only initialize this once. item = /obj/item/weapon/melee/energy/sword/saber cost = 8 +/datum/uplink_item/dangerous/powerfist + name = "Power Fist" + desc = "The power-fist is a metal gauntlet with a built-in piston-ram powered by an external gas supply.\ + Upon hitting a target, the piston-ram will extend foward to make contact for some serious damage. \ + Using a wrench on the piston valve will allow you to tweak the amount of gas used per punch to \ + deal extra damage and hit targets further. Use a screwdriver to take out any attached tanks." + item = /obj/item/weapon/melee/powerfist + cost = 8 + /datum/uplink_item/dangerous/emp name = "EMP Grenades and Implanter Kit" desc = "A box that contains two EMP grenades and an EMP implant. Useful to disrupt communication, \ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index e9dc8d9500f7e7c4581c4411c193fc75ab7b666e..7328ffcbf3dfb3935fe9bbcda822dead45d64489 100644 GIT binary patch delta 17947 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 boBA delta 17575 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 yYa&kuzUp delta 13322 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 DM*6g2 delta 10298 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 Nv!>Q21*fk){(q;>BbopJ diff --git a/tgstation.dme b/tgstation.dme index 08d85f01e14..8cc6a56bc43 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -663,6 +663,7 @@ #include "code\game\objects\items\weapons\paint.dm" #include "code\game\objects\items\weapons\paiwire.dm" #include "code\game\objects\items\weapons\pneumaticCannon.dm" +#include "code\game\objects\items\weapons\powerfist.dm" #include "code\game\objects\items\weapons\RCD.dm" #include "code\game\objects\items\weapons\RPD.dm" #include "code\game\objects\items\weapons\RSF.dm" From 1b7ca6540b44f40f93a0582ab345c08aa3ee5670 Mon Sep 17 00:00:00 2001 From: tgstation-server Date: Sat, 2 Jul 2016 02:40:24 +0000 Subject: [PATCH 11/12] Automatic changelog generation for PR #19013 [ci skip] --- html/changelogs/AutoChangeLog-pr-19013.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-19013.yml diff --git a/html/changelogs/AutoChangeLog-pr-19013.yml b/html/changelogs/AutoChangeLog-pr-19013.yml new file mode 100644 index 00000000000..e063ed74def --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-19013.yml @@ -0,0 +1,4 @@ +author: "MMMiracles" +delete-after: True +changes: + - rscadd: "Added the power fist, a gauntlet with a piston-powered ram attached to the top for traitors to punch people across the station. Punch people into walls for added fun." From 5dde284841c1ca068de717f8e915febb74bfa462 Mon Sep 17 00:00:00 2001 From: Incoming5643 Date: Fri, 1 Jul 2016 21:41:18 -0500 Subject: [PATCH 12/12] The tooltip for the voting action button will give the question (#19052) I see people saying that they often miss the actual question, even if they see the action button later. This should make the action button more actionable. --- code/controllers/subsystem/voting.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/controllers/subsystem/voting.dm b/code/controllers/subsystem/voting.dm index 56bc7b62660..164de5d5521 100644 --- a/code/controllers/subsystem/voting.dm +++ b/code/controllers/subsystem/voting.dm @@ -192,6 +192,8 @@ var/datum/subsystem/vote/SSvote for(var/c in clients) var/client/C = c var/datum/action/vote/V = new + if(question) + V.name = "Vote: [question]" V.Grant(C.mob) generated_actions += V return 1 @@ -305,4 +307,4 @@ var/datum/subsystem/vote/SSvote Remove(owner) /datum/action/vote/IsAvailable() - return 1 \ No newline at end of file + return 1