From 1a672019212d7cae487d0c338d561dba62d15d23 Mon Sep 17 00:00:00 2001 From: Ragolution Date: Sun, 12 Jul 2020 20:03:50 -0400 Subject: [PATCH 01/20] Adds new icon for Bluespace Jar --- icons/obj/pet_carrier.dmi | Bin 2365 -> 3718 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/pet_carrier.dmi b/icons/obj/pet_carrier.dmi index b3c11be98fa024a850dfdaee74125e74934bd0a0..b02f9d6ce4deb272866982f36dbd8aa0ce48aab2 100644 GIT binary patch literal 3718 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 Date: Wed, 15 Jul 2020 13:32:56 -0500 Subject: [PATCH 02/20] Fixes seeing real name in OOC Notes --- code/datums/elements/flavor_text.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/datums/elements/flavor_text.dm b/code/datums/elements/flavor_text.dm index 92251861ed..3562345d26 100644 --- a/code/datums/elements/flavor_text.dm +++ b/code/datums/elements/flavor_text.dm @@ -82,9 +82,10 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code return if(href_list["show_flavor"]) var/atom/target = locate(href_list["show_flavor"]) + var/mob/living/L = target var/text = texts_by_atom[target] if(text) - usr << browse("[target.name][replacetext(texts_by_atom[target], "\n", "
")]
", "window=[target.name];size=500x200") + usr << browse("[isliving(target) ? L.get_visible_name() : target.name][replacetext(texts_by_atom[target], "\n", "
")]
", "window=[isliving(target) ? L.get_visible_name() : target.name];size=500x200") onclose(usr, "[target.name]") return TRUE From 74a1396928ec281dc9a491745c3c42c1b5c3b360 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 15 Jul 2020 16:48:58 -0500 Subject: [PATCH 03/20] Automatic changelog generation for PR #12783 [ci skip] --- html/changelogs/AutoChangeLog-pr-12783.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12783.yml diff --git a/html/changelogs/AutoChangeLog-pr-12783.yml b/html/changelogs/AutoChangeLog-pr-12783.yml new file mode 100644 index 0000000000..b9641493c6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12783.yml @@ -0,0 +1,4 @@ +author: "Sneakyrat6" +delete-after: True +changes: + - bugfix: "Fixes being able to meta people real name with OOC Notes" From a7e2668effe4d777d2444a0435c71d9428e07051 Mon Sep 17 00:00:00 2001 From: Timothy Teakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Wed, 15 Jul 2020 23:50:39 +0100 Subject: [PATCH 04/20] funniest --- code/modules/mob/living/simple_animal/pickle.dm | 7 +++++++ tgstation.dme | 3 +-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 code/modules/mob/living/simple_animal/pickle.dm diff --git a/code/modules/mob/living/simple_animal/pickle.dm b/code/modules/mob/living/simple_animal/pickle.dm new file mode 100644 index 0000000000..ded183b2bd --- /dev/null +++ b/code/modules/mob/living/simple_animal/pickle.dm @@ -0,0 +1,7 @@ +//funniest shit i've ever seen + +/mob/living/simple_animal/pickle + name = "pickle" + desc = "funniest shit i've ever seen" + health = 100 + maxHealth = 100 diff --git a/tgstation.dme b/tgstation.dme index 1641b4f9a7..deeb938e44 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -123,7 +123,6 @@ #include "code\__DEFINES\_flags\item_flags.dm" #include "code\__DEFINES\_flags\obj_flags.dm" #include "code\__DEFINES\admin\keybindings.dm" -#include "code\__DEFINES\chemistry\reactions.dm" #include "code\__DEFINES\combat\attack_types.dm" #include "code\__DEFINES\combat\block.dm" #include "code\__DEFINES\combat\block_parry.dm" @@ -269,7 +268,6 @@ #include "code\controllers\configuration\entries\game_options.dm" #include "code\controllers\configuration\entries\general.dm" #include "code\controllers\configuration\entries\plushies.dm" -#include "code\controllers\configuration\entries\policy.dm" #include "code\controllers\subsystem\acid.dm" #include "code\controllers\subsystem\adjacent_air.dm" #include "code\controllers\subsystem\air.dm" @@ -2542,6 +2540,7 @@ #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\damage_procs.dm" #include "code\modules\mob\living\simple_animal\parrot.dm" +#include "code\modules\mob\living\simple_animal\pickle.dm" #include "code\modules\mob\living\simple_animal\shade.dm" #include "code\modules\mob\living\simple_animal\simple_animal.dm" #include "code\modules\mob\living\simple_animal\simple_animal_vr.dm" From 6fbd7914f51910aee2db5232b09f5caffae596d8 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 15 Jul 2020 16:58:44 -0700 Subject: [PATCH 05/20] stuff --- code/__DEFINES/vv.dm | 7 ++ .../atmospherics/gasmixtures/gas_mixture.dm | 67 ++++++++++++++++++- 2 files changed, 72 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/vv.dm b/code/__DEFINES/vv.dm index 889e1bb1c0..101330cc8b 100644 --- a/code/__DEFINES/vv.dm +++ b/code/__DEFINES/vv.dm @@ -76,6 +76,13 @@ #define VV_HK_ADDCOMPONENT "addcomponent" #define VV_HK_MODIFY_TRAITS "modtraits" +// /datum/gas_mixture +#define VV_HK_SET_MOLES "set_moles" +#define VV_HK_EMPTY "empty" +#define VV_HK_SET_TEMPERATURE "set_temp" +#define VV_HK_PARSE_GASSTRING "parse_gasstring" +#define VV_HK_SET_VOLUME "set_volume" + // /atom #define VV_HK_MODIFY_TRANSFORM "atom_transform" #define VV_HK_ADD_REAGENT "addreagent" diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 43e54dc2c7..36b1461f8f 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -16,6 +16,8 @@ GLOBAL_LIST_INIT(meta_gas_dangers, meta_gas_danger_list()) GLOBAL_LIST_INIT(meta_gas_ids, meta_gas_id_list()) GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) /datum/gas_mixture + /// Never ever set this variable, hooked into vv_get_var for view variables viewing. + var/gas_list_view_only var/initial_volume = CELL_VOLUME //liters var/list/reaction_results var/list/analyzer_results //used for analyzer feedback - not initialized until its used @@ -29,9 +31,70 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) reaction_results = new /datum/gas_mixture/vv_edit_var(var_name, var_value) - if(var_name == "_extools_pointer_gasmixture") + if(var_name == NAMEOF(src, _extools_pointer_gasmixture)) return FALSE // please no. segfaults bad. + if(var_name == NAMEOF(src, gas_list_view_only)) + return FALSE return ..() + +/datum/gas_mixture/vv_get_var(var_name) + . = ..() + if(var_name == NAMEOF(gas_list_view_only)) + var/list/dummy = get_gases + return debug_variables("gases (READ ONLY)", dummy, 0, src) + +/datum/gas_mixture/vv_get_dropdown() + . = ..() + VV_DROPDOWN_OPTION(VV_HK_PARSE_GASSTRING, "Parse Gas String") + VV_DROPDOWN_OPTION(VV_HK_EMPTY, "Empty") + VV_DROPDOWN_OPTION(VV_HK_SET_MOLES, "Set Moles") + VV_DROPDOWN_OPTION(VV_HK_SET_TEMPERATURE, "Set Temperature") + VV_DROPDOWN_OPTION(VV_HK_SET_VOLUME, "Set Volume") + +/datum/gas_mixture/vv_do_topic(list/href_list) + . = ..() + if(!.) + return + if(href_list[VV_HK_PARSE_GASSTRING]) + var/gasstring = input(usr, "Input Gas String (WARNING: Advanced. Don't use this unless you know how these work.", "Gas String Parse") as text|null + if(!istext(gasstring)) + return + log_admin("[key_name(usr)] modified gas mixture [REF(src)]: Set to gas string [gasstring].") + message_admins("[key_name(usr)] modified gas mixture [REF(src)]: Set to gas string [gasstring].") + parse_gas_string(gasstring) + if(href_list[VV_HK_EMPTY]) + log_admin("[key_name(usr)] emptied gas mixture [REF(src)].") + message_admins("[key_name(usr)] emptied gas mixture [REF(src)].") + clear() + if(href_list[VV_HK_SET_MOLES]) + var/list/gases = return_gases() + var/gastype = input(usr, "What kind of gas?", "Set Gas") as anything|null in subtypesof(/datum/gas) + if(!ispath(gastype, /datum/gas)) + return + var/amount = input(usr, "Input amount", "Set Gas", gases[gastype] || 0) as num|null + if(!isnum(amount)) + return + amount = max(0, amount) + log_admin("[key_name(usr)] modified gas mixture [REF(src)]: Set gas type [gastype] to [amount] moles.") + message_admins("[key_name(usr)] modified gas mixture [REF(src)]: Set gas type [gastype] to [amount] moles.") + set_moles(gas_type, amount) + if(href_list[VV_HK_SET_TEMPERATURE]) + var/temp = input(usr, "Set the temperature of this mixture to?", "Set Temperature", return_temperature()) as num|null + if(!isnum(temp)) + return + temp = max(2.7, temp) + log_admin("[key_name(usr)] modified gas mixture [REF(src)]: Changed temperature to [temp].") + message_admins("[key_name(usr)] modified gas mixture [REF(src)]: Changed temperature to [temp].") + set_temperature(temp) + if(href_list[VV_HK_SET_VOLUME]) + var/volume = input(usr, "Set the volume of this mixture to?", "Set Volume", return_volume()) as num|null + if(!isnum(volume)) + return + volume = max(0, volume) + log_admin("[key_name(usr)] modified gas mixture [REF(src)]: Changed volume to [volume].") + message_admins("[key_name(usr)] modified gas mixture [REF(src)]: Changed volume to [volume].") + set_volume(volume) + /* /datum/gas_mixture/Del() __gasmixture_unregister() @@ -169,7 +232,7 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) set_moles(path, text2num(gas[id])) archive() return 1 - + /datum/gas_mixture/react(datum/holder) . = NO_REACTION if(!total_moles()) From 96fb3cad8f3fc4873548dc312ca1f2e9767c6e17 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 15 Jul 2020 17:00:17 -0700 Subject: [PATCH 06/20] ok --- code/modules/atmospherics/gasmixtures/gas_mixture.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 36b1461f8f..e7f73d9e05 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -39,7 +39,7 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) /datum/gas_mixture/vv_get_var(var_name) . = ..() - if(var_name == NAMEOF(gas_list_view_only)) + if(var_name == NAMEOF(src, gas_list_view_only)) var/list/dummy = get_gases return debug_variables("gases (READ ONLY)", dummy, 0, src) @@ -68,7 +68,7 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) clear() if(href_list[VV_HK_SET_MOLES]) var/list/gases = return_gases() - var/gastype = input(usr, "What kind of gas?", "Set Gas") as anything|null in subtypesof(/datum/gas) + var/gastype = input(usr, "What kind of gas?", "Set Gas") as null|anything in subtypesof(/datum/gas) if(!ispath(gastype, /datum/gas)) return var/amount = input(usr, "Input amount", "Set Gas", gases[gastype] || 0) as num|null From dba5855929e74dc3436588a0167d27cd6cd9210e Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 15 Jul 2020 17:01:22 -0700 Subject: [PATCH 07/20] epic --- code/modules/atmospherics/gasmixtures/gas_mixture.dm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index e7f73d9e05..bc8f8ba722 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -40,8 +40,7 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) /datum/gas_mixture/vv_get_var(var_name) . = ..() if(var_name == NAMEOF(src, gas_list_view_only)) - var/list/dummy = get_gases - return debug_variables("gases (READ ONLY)", dummy, 0, src) + return debug_variable("gases (READ ONLY)", get_gases(), 0, src) /datum/gas_mixture/vv_get_dropdown() . = ..() @@ -67,7 +66,7 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) message_admins("[key_name(usr)] emptied gas mixture [REF(src)].") clear() if(href_list[VV_HK_SET_MOLES]) - var/list/gases = return_gases() + var/list/gases = get_gases() var/gastype = input(usr, "What kind of gas?", "Set Gas") as null|anything in subtypesof(/datum/gas) if(!ispath(gastype, /datum/gas)) return @@ -77,7 +76,7 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) amount = max(0, amount) log_admin("[key_name(usr)] modified gas mixture [REF(src)]: Set gas type [gastype] to [amount] moles.") message_admins("[key_name(usr)] modified gas mixture [REF(src)]: Set gas type [gastype] to [amount] moles.") - set_moles(gas_type, amount) + set_moles(gastype, amount) if(href_list[VV_HK_SET_TEMPERATURE]) var/temp = input(usr, "Set the temperature of this mixture to?", "Set Temperature", return_temperature()) as num|null if(!isnum(temp)) From b279c82bb2fe76b7f84d5f1946fec7877ca7b3fe Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 15 Jul 2020 17:10:08 -0700 Subject: [PATCH 08/20] whew --- code/modules/atmospherics/gasmixtures/gas_mixture.dm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index bc8f8ba722..1c8cf0436e 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -40,7 +40,10 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) /datum/gas_mixture/vv_get_var(var_name) . = ..() if(var_name == NAMEOF(src, gas_list_view_only)) - return debug_variable("gases (READ ONLY)", get_gases(), 0, src) + var/list/dummy = get_gases() + for(var/gas in dummy) + dummy[gas] = get_moles(gas) + return debug_variable("gases (READ ONLY)", dummy, 0, src) /datum/gas_mixture/vv_get_dropdown() . = ..() @@ -67,6 +70,8 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) clear() if(href_list[VV_HK_SET_MOLES]) var/list/gases = get_gases() + for(var/gas in gases) + gases[gas] = get_moles(gas) var/gastype = input(usr, "What kind of gas?", "Set Gas") as null|anything in subtypesof(/datum/gas) if(!ispath(gastype, /datum/gas)) return From 885f5e1e64c6f0df871643c6b60472f18ac7debc Mon Sep 17 00:00:00 2001 From: Changelogs Date: Thu, 16 Jul 2020 00:10:29 +0000 Subject: [PATCH 09/20] Automatic changelog compile [ci skip] --- html/changelog.html | 16 ++++++++++++++++ html/changelogs/.all_changelog.yml | 11 +++++++++++ html/changelogs/AutoChangeLog-pr-12738.yml | 5 ----- html/changelogs/AutoChangeLog-pr-12774.yml | 4 ---- html/changelogs/AutoChangeLog-pr-12782.yml | 4 ---- html/changelogs/AutoChangeLog-pr-12783.yml | 4 ---- 6 files changed, 27 insertions(+), 17 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-12738.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12774.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12782.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-12783.yml diff --git a/html/changelog.html b/html/changelog.html index e5b5c98aa1..ccfb04740f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,22 @@ -->
+

16 July 2020

+

DeltaFire15 updated:

+
    +
  • Fixes a zeolite runtime caused by a missing check.
  • +
+

Sneakyrat6 updated:

+
    +
  • Fixes being able to meta people real name with OOC Notes
  • +
+

timothyteakettle updated:

+
    +
  • travelling traders from another dimension can now visit the station in search of something specific, and reward you for giving it to them
  • +
  • small error with pet carrier logic fixed and also making sure simple mobs are catered for properly inside bluespace jars
  • +
  • fixes coin related issue
  • +
+

15 July 2020

Sonic121x updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index dd0a479114..662e458972 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -26361,3 +26361,14 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. 2020-07-15: Sonic121x: - bugfix: Paramedic jumpsuit +2020-07-16: + DeltaFire15: + - bugfix: Fixes a zeolite runtime caused by a missing check. + Sneakyrat6: + - bugfix: Fixes being able to meta people real name with OOC Notes + timothyteakettle: + - rscadd: travelling traders from another dimension can now visit the station in + search of something specific, and reward you for giving it to them + - bugfix: small error with pet carrier logic fixed and also making sure simple mobs + are catered for properly inside bluespace jars + - bugfix: fixes coin related issue diff --git a/html/changelogs/AutoChangeLog-pr-12738.yml b/html/changelogs/AutoChangeLog-pr-12738.yml deleted file mode 100644 index 883e4a10ac..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12738.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - rscadd: "travelling traders from another dimension can now visit the station in search of something specific, and reward you for giving it to them" - - bugfix: "small error with pet carrier logic fixed and also making sure simple mobs are catered for properly inside bluespace jars" diff --git a/html/changelogs/AutoChangeLog-pr-12774.yml b/html/changelogs/AutoChangeLog-pr-12774.yml deleted file mode 100644 index 85373e1b9a..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12774.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "DeltaFire15" -delete-after: True -changes: - - bugfix: "Fixes a zeolite runtime caused by a missing check." diff --git a/html/changelogs/AutoChangeLog-pr-12782.yml b/html/changelogs/AutoChangeLog-pr-12782.yml deleted file mode 100644 index 07200e4345..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12782.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "timothyteakettle" -delete-after: True -changes: - - bugfix: "fixes coin related issue" diff --git a/html/changelogs/AutoChangeLog-pr-12783.yml b/html/changelogs/AutoChangeLog-pr-12783.yml deleted file mode 100644 index b9641493c6..0000000000 --- a/html/changelogs/AutoChangeLog-pr-12783.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Sneakyrat6" -delete-after: True -changes: - - bugfix: "Fixes being able to meta people real name with OOC Notes" From 7f9571f23989fe21e5d1ea2e0a3c4accfcba3bef Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Wed, 15 Jul 2020 17:17:09 -0700 Subject: [PATCH 10/20] ok --- code/modules/atmospherics/gasmixtures/gas_mixture.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 1c8cf0436e..7af823e8a9 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -47,6 +47,7 @@ GLOBAL_LIST_INIT(meta_gas_fusions, meta_gas_fusion_list()) /datum/gas_mixture/vv_get_dropdown() . = ..() + VV_DROPDOWN_OPTION("", "---") VV_DROPDOWN_OPTION(VV_HK_PARSE_GASSTRING, "Parse Gas String") VV_DROPDOWN_OPTION(VV_HK_EMPTY, "Empty") VV_DROPDOWN_OPTION(VV_HK_SET_MOLES, "Set Moles") From 03bd806c7387097f1b7282eb9faa8cf247d0eb1f Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Thu, 16 Jul 2020 02:51:07 +0100 Subject: [PATCH 11/20] pickle --- code/__DEFINES/admin.dm | 1 + code/modules/admin/verbs/randomverbs.dm | 6 +++-- .../mob/living/simple_animal/pickle.dm | 24 +++++++++++++++++- code/modules/mob/transform_procs.dm | 17 +++++++++++++ .../projectiles/ammunition/energy/special.dm | 7 ++++- .../projectiles/guns/energy/special.dm | 8 ++++++ .../projectiles/projectile/energy/misc.dm | 10 ++++++++ code/modules/projectiles/projectile/magic.dm | 3 ++- icons/mob/32x64.dmi | Bin 3779 -> 4777 bytes tgstation.dme | 2 ++ 10 files changed, 73 insertions(+), 5 deletions(-) diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index e8e75c132a..054a8e36eb 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -74,6 +74,7 @@ #define ADMIN_PUNISHMENT_MAZING "Puzzle" #define ADMIN_PUNISHMENT_PIE "Cream Pie" #define ADMIN_PUNISHMENT_CUSTOM_PIE "Custom Cream Pie" +#define ADMIN_PUNISHMENT_PICKLE "Pickle-ify" #define AHELP_ACTIVE 1 #define AHELP_CLOSED 2 diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index d335cfb171..0cdf29b305 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1276,7 +1276,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits if(!check_rights(R_ADMIN) || !check_rights(R_FUN)) return - var/list/punishment_list = list(ADMIN_PUNISHMENT_PIE, ADMIN_PUNISHMENT_CUSTOM_PIE, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_SUPPLYPOD_QUICK, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING, ADMIN_PUNISHMENT_ROD) + var/list/punishment_list = list(ADMIN_PUNISHMENT_PIE, ADMIN_PUNISHMENT_CUSTOM_PIE, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_SUPPLYPOD_QUICK, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING, ADMIN_PUNISHMENT_ROD, ADMIN_PUNISHMENT_PICKLE) var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list @@ -1341,7 +1341,7 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits if(ADMIN_PUNISHMENT_PIE) var/obj/item/reagent_containers/food/snacks/pie/cream/nostun/creamy = new(get_turf(target)) creamy.splat(target) - if (ADMIN_PUNISHMENT_CUSTOM_PIE) + if(ADMIN_PUNISHMENT_CUSTOM_PIE) var/obj/item/reagent_containers/food/snacks/pie/cream/nostun/A = new() if(!A.reagents) var/amount = input(usr, "Specify the reagent size of [A]", "Set Reagent Size", 50) as num|null @@ -1354,6 +1354,8 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits if(amount) A.reagents.add_reagent(chosen_id, amount) A.splat(target) + if(ADMIN_PUNISHMENT_PICKLE) + target.turn_into_pickle() punish_log(target, punishment) diff --git a/code/modules/mob/living/simple_animal/pickle.dm b/code/modules/mob/living/simple_animal/pickle.dm index ded183b2bd..e7da388fb3 100644 --- a/code/modules/mob/living/simple_animal/pickle.dm +++ b/code/modules/mob/living/simple_animal/pickle.dm @@ -2,6 +2,28 @@ /mob/living/simple_animal/pickle name = "pickle" - desc = "funniest shit i've ever seen" + desc = "It's a pickle. It might just be the funniest thing you have ever seen." health = 100 maxHealth = 100 + icon = 'icons/mob/32x64.dmi' + icon_state = "pickle" + del_on_death = TRUE + deathmessage = "The pickle implodes into its own existential dread and disappears!" + friendly_verb_continous = "tickles" + friendly_verb_simple = "tickle" + var/mob/living/original_body + +/mob/living/simple_animal/pickle/UnarmedAttack(atom/A) + ..() //we want the tickle emote to go before the laugh + if(ismob(A)) + var/mob/laugher = A + laugher.emote("laugh") + +/mob/living/simple_animal/pickle/Destroy(force, kill_body = TRUE) + if(original_body) + if(kill_body) + original_body.adjustOrganLoss(ORGAN_SLOT_BRAIN, 200) //to be fair, you have to have a very high iq to understand- + original_body.forceMove(get_turf(src)) + if(mind) + mind.transfer_to(original_body) + ..() diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 5fd94c8a89..8f86f8edc4 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -581,3 +581,20 @@ . = new_mob qdel(src) + +/mob/living/proc/turn_into_pickle() + //if they're already a pickle, turn them back instead + if(istype(src, /mob/living/simple_animal/pickle)) + qdel(src, FALSE) //this means the body inside the pickle will be dropped without killing it + else + //make a new pickle on the tile and move their mind into it if possible + var/mob/living/simple_animal/pickle/new_pickle = new /mob/living/simple_animal/pickle(get_turf(src)) + new_pickle.original_body = src + if(mind) + mind.transfer_to(new_pickle) + //give them their old access if any + var/obj/item/card/id/mob_access_card = get_idcard() + if(mob_access_card) + new_pickle.access_card = mob_access_card + //move old body inside the pickle for safekeeping (when they die, we'll return the corpse because we're nice) + src.forceMove(new_pickle) diff --git a/code/modules/projectiles/ammunition/energy/special.dm b/code/modules/projectiles/ammunition/energy/special.dm index 994b0f7f01..ab180cb629 100644 --- a/code/modules/projectiles/ammunition/energy/special.dm +++ b/code/modules/projectiles/ammunition/energy/special.dm @@ -75,4 +75,9 @@ /obj/item/ammo_casing/energy/shrink projectile_type = /obj/item/projectile/beam/shrink select_name = "shrink ray" - e_cost = 200 \ No newline at end of file + e_cost = 200 + +/obj/item/ammo_casing/energy/pickle //ammo for an adminspawn gun + projectile_type = /obj/item/projectile/energy/pickle + select_name = "pickle ray" + e_cost = 0 \ No newline at end of file diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index b55e26b6a3..6489920b98 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -329,3 +329,11 @@ add_overlay("emitter_carbine_empty") else add_overlay("emitter_carbine") + +//the pickle ray +/obj/item/gun/energy/pickle_gun + name = "pickle ray" + desc = "funniest shit i've ever seen" + icon_state = "decloner" + no_pin_required = TRUE + ammo_type = list(/obj/item/ammo_casing/energy/pickle) \ No newline at end of file diff --git a/code/modules/projectiles/projectile/energy/misc.dm b/code/modules/projectiles/projectile/energy/misc.dm index d5346b954d..bfa15e9ef8 100644 --- a/code/modules/projectiles/projectile/energy/misc.dm +++ b/code/modules/projectiles/projectile/energy/misc.dm @@ -13,3 +13,13 @@ damage_type = TOX knockdown = 100 range = 7 + +/obj/item/projectile/energy/pickle //projectile for adminspawn only gun + name = "pickle-izing beam" + icon_state = "declone" + +/obj/item/projectile/energy/pickle/on_hit(atom/target) + //we don't care if they blocked it, they're turning into a pickle + if(isliving(target)) + var/mob/living/living_target = target + living_target.turn_into_pickle() //yes this is a real proc diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 7ef52aef25..c9ca4e9ba3 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -207,7 +207,8 @@ /mob/living/simple_animal/pet/fox, /mob/living/simple_animal/butterfly, /mob/living/simple_animal/pet/cat/cak, - /mob/living/simple_animal/chick) + /mob/living/simple_animal/chick, + /mob/living/simple_animal/pickle) new_mob = new path(M.loc) if("humanoid") diff --git a/icons/mob/32x64.dmi b/icons/mob/32x64.dmi index 32b25ba739343e7c109f6bd0377fd35e8fc23d48..79a4c8a7fd867e19258cfc2233eb4003f2a98928 100644 GIT binary patch delta 4670 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 Date: Thu, 16 Jul 2020 02:54:31 +0100 Subject: [PATCH 12/20] i can't spell --- code/modules/mob/living/simple_animal/pickle.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/pickle.dm b/code/modules/mob/living/simple_animal/pickle.dm index e7da388fb3..09365fa7e2 100644 --- a/code/modules/mob/living/simple_animal/pickle.dm +++ b/code/modules/mob/living/simple_animal/pickle.dm @@ -9,7 +9,7 @@ icon_state = "pickle" del_on_death = TRUE deathmessage = "The pickle implodes into its own existential dread and disappears!" - friendly_verb_continous = "tickles" + friendly_verb_continuous = "tickles" friendly_verb_simple = "tickle" var/mob/living/original_body From a99256b3b1a39c659db930a92c0071792bd36482 Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Wed, 15 Jul 2020 23:56:26 -0500 Subject: [PATCH 13/20] Automatic changelog generation for PR #12791 [ci skip] --- html/changelogs/AutoChangeLog-pr-12791.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12791.yml diff --git a/html/changelogs/AutoChangeLog-pr-12791.yml b/html/changelogs/AutoChangeLog-pr-12791.yml new file mode 100644 index 0000000000..740e2b2c28 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12791.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - rscadd: "recent culinary and scientific advancements have brought forth new pickle related technologies" From 2afab07b4adf03de27355f730e84ca995d993e73 Mon Sep 17 00:00:00 2001 From: Letter N <24603524+LetterN@users.noreply.github.com> Date: Thu, 16 Jul 2020 20:05:37 +0800 Subject: [PATCH 14/20] https://github.com/tgstation/tgstation/pull/52255 --- .../controllers/configuration/config_entry.dm | 6 +++--- code/controllers/subsystem.dm | 6 +++--- code/controllers/subsystem/blackbox.dm | 4 ++-- code/controllers/subsystem/title.dm | 4 ++-- code/game/atoms.dm | 2 +- code/game/atoms_movable.dm | 8 ++++---- code/game/machinery/doors/airlock.dm | 2 +- code/game/machinery/status_display.dm | 2 +- code/game/objects/items/cards_ids.dm | 2 +- code/game/objects/objs.dm | 6 +----- code/game/turfs/closed.dm | 2 +- code/modules/client/client_procs.dm | 8 ++++---- code/modules/lighting/lighting_area.dm | 4 ++-- code/modules/lighting/lighting_atom.dm | 6 +++--- code/modules/mob/dead/observer/observer.dm | 8 ++++---- code/modules/mob/living/living.dm | 19 +++++++++---------- code/modules/movespeed/_movespeed_modifier.dm | 4 ++++ code/modules/power/cell.dm | 2 +- code/modules/projectiles/guns/energy.dm | 2 +- code/modules/projectiles/guns/magic.dm | 4 ++-- code/modules/recycling/conveyor2.dm | 4 ++-- code/modules/shuttle/arrivals.dm | 2 +- 22 files changed, 53 insertions(+), 54 deletions(-) diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index 7e8b1c8f38..259082a6ba 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -83,7 +83,7 @@ var/auto_trim = TRUE /datum/config_entry/string/vv_edit_var(var_name, var_value) - return var_name != "auto_trim" && ..() + return var_name != NAMEOF(src, auto_trim) && ..() /datum/config_entry/string/ValidateAndSet(str_val, during_load) if(!VASProcCallGuard(str_val)) @@ -110,7 +110,7 @@ return FALSE /datum/config_entry/number/vv_edit_var(var_name, var_value) - var/static/list/banned_edits = list("max_val", "min_val", "integer") + var/static/list/banned_edits = list(NAMEOF(src, max_val), NAMEOF(src, min_val), NAMEOF(src, integer)) return !(var_name in banned_edits) && ..() /datum/config_entry/flag @@ -216,7 +216,7 @@ return FALSE /datum/config_entry/keyed_list/vv_edit_var(var_name, var_value) - return var_name != "splitter" && ..() + return var_name != NAMEOF(src, splitter) && ..() /datum/config_entry/keyed_list/proc/preprocess_key(key) return key diff --git a/code/controllers/subsystem.dm b/code/controllers/subsystem.dm index a16de2ba4c..4ee3a01956 100644 --- a/code/controllers/subsystem.dm +++ b/code/controllers/subsystem.dm @@ -210,10 +210,10 @@ /datum/controller/subsystem/vv_edit_var(var_name, var_value) switch (var_name) - if ("can_fire") + if (NAMEOF(src, can_fire)) //this is so the subsystem doesn't rapid fire to make up missed ticks causing more lag if (var_value) next_fire = world.time + wait - if ("queued_priority") //editing this breaks things. - return 0 + if (NAMEOF(src, queued_priority)) //editing this breaks things. + return FALSE . = ..() diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index d6991a40b4..dc1f246e3d 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -60,9 +60,9 @@ SUBSYSTEM_DEF(blackbox) /datum/controller/subsystem/blackbox/vv_edit_var(var_name, var_value) switch(var_name) - if("feedback") + if(NAMEOF(src, feedback)) return FALSE - if("sealed") + if(NAMEOF(src, sealed)) if(var_value) return Seal() return FALSE diff --git a/code/controllers/subsystem/title.dm b/code/controllers/subsystem/title.dm index b19cf47693..bd843f959d 100644 --- a/code/controllers/subsystem/title.dm +++ b/code/controllers/subsystem/title.dm @@ -47,7 +47,7 @@ SUBSYSTEM_DEF(title) . = ..() if(.) switch(var_name) - if("icon") + if(NAMEOF(src, icon)) if(splash_turf) splash_turf.icon = icon @@ -66,4 +66,4 @@ SUBSYSTEM_DEF(title) icon = SStitle.icon splash_turf = SStitle.splash_turf file_path = SStitle.file_path - previous_icon = SStitle.previous_icon \ No newline at end of file + previous_icon = SStitle.previous_icon diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 5d29ef1598..47c1e37979 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -741,7 +741,7 @@ flags_1 |= ADMIN_SPAWNED_1 . = ..() switch(var_name) - if("color") + if(NAMEOF(src, color)) add_atom_colour(color, ADMIN_COLOUR_PRIORITY) /atom/vv_get_dropdown() diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 9736f473e8..0238529195 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -120,25 +120,25 @@ if((var_name in careful_edits) && (var_value % world.icon_size) != 0) return FALSE switch(var_name) - if("x") + if(NAMEOF(src, x)) var/turf/T = locate(var_value, y, z) if(T) forceMove(T) return TRUE return FALSE - if("y") + if(NAMEOF(src, y)) var/turf/T = locate(x, var_value, z) if(T) forceMove(T) return TRUE return FALSE - if("z") + if(NAMEOF(src, z)) var/turf/T = locate(x, y, var_value) if(T) forceMove(T) return TRUE return FALSE - if("loc") + if(NAMEOF(src, loc)) if(istype(var_value, /atom)) forceMove(var_value) return TRUE diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 8959cd8cc9..68f5c8de08 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -188,7 +188,7 @@ /obj/machinery/door/airlock/vv_edit_var(var_name) . = ..() switch (var_name) - if ("cyclelinkeddir") + if (NAMEOF(src, cyclelinkeddir)) cyclelinkairlock() /obj/machinery/door/airlock/check_access_ntnet(datum/netdata/data) diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 3bb67e2a1c..8937106601 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -287,7 +287,7 @@ if(!.) return switch(var_name) - if("shuttle_id") + if(NAMEOF(src, shuttle_id)) update() /obj/machinery/status_display/shuttle/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock, idnum, override) diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index db82093f0b..5b1b86b9e4 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -224,7 +224,7 @@ . = ..() if(.) switch(var_name) - if("assignment","registered_name") + if(NAMEOF(src, assignment),NAMEOF(src, registered_name)) //,NAMEOF(src, registered_age)) update_label() /obj/item/card/id/attack_self(mob/user) diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index ba3eba9bd3..fb3b1535ed 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -37,13 +37,9 @@ if("anchored") setAnchored(vval) return TRUE - if("obj_flags") + if(NAMEOF(src, obj_flags)) if ((obj_flags & DANGEROUS_POSSESSION) && !(vval & DANGEROUS_POSSESSION)) return FALSE - if("control_object") - var/obj/O = vval - if(istype(O) && (O.obj_flags & DANGEROUS_POSSESSION)) - return FALSE return ..() /obj/Initialize() diff --git a/code/game/turfs/closed.dm b/code/game/turfs/closed.dm index 65b487bd05..b78826b23b 100644 --- a/code/game/turfs/closed.dm +++ b/code/game/turfs/closed.dm @@ -83,7 +83,7 @@ . = ..() if(.) switch(var_name) - if("icon") + if(NAMEOF(src, icon)) SStitle.icon = icon /turf/closed/indestructible/riveted diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 8ae002dd2f..0d98fcecd6 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -891,13 +891,13 @@ GLOBAL_LIST_EMPTY(external_rsc_urls) /client/vv_edit_var(var_name, var_value) switch (var_name) - if ("holder") + if (NAMEOF(src, holder)) return FALSE - if ("ckey") + if (NAMEOF(src, ckey)) return FALSE - if ("key") + if (NAMEOF(src, key)) return FALSE - if("view") + if(NAMEOF(src, view)) change_view(var_value) return TRUE . = ..() diff --git a/code/modules/lighting/lighting_area.dm b/code/modules/lighting/lighting_area.dm index 58e9a4337a..7e54456483 100644 --- a/code/modules/lighting/lighting_area.dm +++ b/code/modules/lighting/lighting_area.dm @@ -24,7 +24,7 @@ /area/vv_edit_var(var_name, var_value) switch(var_name) - if("dynamic_lighting") + if(NAMEOF(src, dynamic_lighting)) set_dynamic_lighting(var_value) return TRUE - return ..() \ No newline at end of file + return ..() diff --git a/code/modules/lighting/lighting_atom.dm b/code/modules/lighting/lighting_atom.dm index 779dd9c3ea..71702bef12 100644 --- a/code/modules/lighting/lighting_atom.dm +++ b/code/modules/lighting/lighting_atom.dm @@ -89,17 +89,17 @@ /atom/vv_edit_var(var_name, var_value) switch (var_name) - if ("light_range") + if (NAMEOF(src, light_range)) set_light(l_range=var_value) datum_flags |= DF_VAR_EDITED return TRUE - if ("light_power") + if (NAMEOF(src, light_power)) set_light(l_power=var_value) datum_flags |= DF_VAR_EDITED return TRUE - if ("light_color") + if (NAMEOF(src, light_color)) set_light(l_color=var_value) datum_flags |= DF_VAR_EDITED return TRUE diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 397af1b9d0..d10616d9eb 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -837,13 +837,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/vv_edit_var(var_name, var_value) . = ..() switch(var_name) - if("icon") + if(NAMEOF(src, icon)) ghostimage_default.icon = icon ghostimage_simple.icon = icon - if("icon_state") + if(NAMEOF(src, icon_state)) ghostimage_default.icon_state = icon_state ghostimage_simple.icon_state = icon_state - if("fun_verbs") + if(NAMEOF(src, fun_verbs)) if(fun_verbs) verbs += /mob/dead/observer/verb/boo verbs += /mob/dead/observer/verb/possess @@ -925,7 +925,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp /mob/dead/observer/vv_edit_var(var_name, var_value) . = ..() - if(var_name == "invisibility") + if(var_name == NAMEOF(src, invisibility)) set_invisibility(invisibility) // updates light /proc/set_observer_default_invisibility(amount, message=null) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index c7ed6e743d..892518d6ba 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1196,30 +1196,29 @@ /mob/living/vv_edit_var(var_name, var_value) switch(var_name) - if ("maxHealth") + if (NAMEOF(src, maxHealth)) if (!isnum(var_value) || var_value <= 0) return FALSE - if("stat") + if(NAMEOF(src, stat)) if((stat == DEAD) && (var_value < DEAD))//Bringing the dead back to life GLOB.dead_mob_list -= src GLOB.alive_mob_list += src if((stat < DEAD) && (var_value == DEAD))//Kill he GLOB.alive_mob_list -= src GLOB.dead_mob_list += src + if(NAMEOF(src, health)) //this doesn't work. gotta use procs instead. + return FALSE . = ..() switch(var_name) - if("eye_blind") + if(NAMEOF(src, eye_blind)) set_blindness(var_value) - if("eye_damage") - var/obj/item/organ/eyes/E = getorganslot(ORGAN_SLOT_EYES) - E?.setOrganDamage(var_value) - if("eye_blurry") + if(NAMEOF(src, eye_blurry)) set_blurriness(var_value) - if("maxHealth") + if(NAMEOF(src, maxHealth)) updatehealth() - if("resize") + if(NAMEOF(src, resize)) update_transform() - if("lighting_alpha") + if(NAMEOF(src, lighting_alpha)) sync_lighting_plane_alpha() /mob/living/proc/do_adrenaline( diff --git a/code/modules/movespeed/_movespeed_modifier.dm b/code/modules/movespeed/_movespeed_modifier.dm index 0976f4d067..a338919c4b 100644 --- a/code/modules/movespeed/_movespeed_modifier.dm +++ b/code/modules/movespeed/_movespeed_modifier.dm @@ -144,6 +144,10 @@ GLOBAL_LIST_EMPTY(movespeed_modification_cache) /// Handles the special case of editing the movement var /mob/vv_edit_var(var_name, var_value) + if(var_name == NAMEOF(src, control_object)) + var/obj/O = var_name + if(!istype(O) || (O.obj_flags & DANGEROUS_POSSESSION)) + return FALSE var/slowdown_edit = (var_name == NAMEOF(src, cached_multiplicative_slowdown)) var/diff if(slowdown_edit && isnum(cached_multiplicative_slowdown) && isnum(var_value)) diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index c788b9b033..ba6311a94d 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -45,7 +45,7 @@ /obj/item/stock_parts/cell/vv_edit_var(var_name, var_value) switch(var_name) - if("self_recharge") + if(NAMEOF(src, self_recharge)) if(var_value) START_PROCESSING(SSobj, src) else diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 8f9e364302..c2b821dfcf 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -290,7 +290,7 @@ /obj/item/gun/energy/vv_edit_var(var_name, var_value) switch(var_name) - if("selfcharge") + if(NAMEOF(src, selfcharge)) if(var_value) START_PROCESSING(SSobj, src) else diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 0c8a9deaf8..ebc4a2f2a4 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -83,6 +83,6 @@ /obj/item/gun/magic/vv_edit_var(var_name, var_value) . = ..() - switch (var_name) - if ("charges") + switch(var_name) + if(NAMEOF(src, charges)) recharge_newshot() diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index cadd9ba04f..f66d687a92 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -68,7 +68,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) . = ..() /obj/machinery/conveyor/vv_edit_var(var_name, var_value) - if (var_name == "id") + if (var_name == NAMEOF(src, id)) // if "id" is varedited, update our list membership LAZYREMOVE(GLOB.conveyors_by_id[id], src) . = ..() @@ -243,7 +243,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id) . = ..() /obj/machinery/conveyor_switch/vv_edit_var(var_name, var_value) - if (var_name == "id") + if (var_name == NAMEOF(src, id)) // if "id" is varedited, update our list membership LAZYREMOVE(GLOB.conveyors_by_id[id], src) . = ..() diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm index 190db2c362..8322c6cdd8 100644 --- a/code/modules/shuttle/arrivals.dm +++ b/code/modules/shuttle/arrivals.dm @@ -201,6 +201,6 @@ /obj/docking_port/mobile/arrivals/vv_edit_var(var_name, var_value) switch(var_name) - if("perma_docked") + if(NAMEOF(src, perma_docked)) SSblackbox.record_feedback("nested tally", "admin_secrets_fun_used", 1, list("arrivals shuttle", "[var_value ? "stopped" : "started"]")) return ..() From 9575c52b13f5fc7212cc3fd468cb62d11c950248 Mon Sep 17 00:00:00 2001 From: Letter N <24603524+LetterN@users.noreply.github.com> Date: Thu, 16 Jul 2020 20:21:39 +0800 Subject: [PATCH 15/20] https://github.com/tgstation/tgstation/pull/52059 - the forgotten part --- code/modules/mining/mint.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mining/mint.dm b/code/modules/mining/mint.dm index 84c6c416b7..f8e34d8fd7 100644 --- a/code/modules/mining/mint.dm +++ b/code/modules/mining/mint.dm @@ -123,3 +123,5 @@ bag_to_use = new(src) //make a new bag if we can't find or use the old one. unload_mineral(bag_to_use) //just forcemove memes. O.forceMove(bag_to_use) //don't bother sending the signal, the new bag is empty and all that. + + SSblackbox.record_feedback("amount", "coins_minted", 1) From 8083efd1ad238a2a4a7e74d96fd47f1c9cdcf580 Mon Sep 17 00:00:00 2001 From: Letter N <24603524+LetterN@users.noreply.github.com> Date: Thu, 16 Jul 2020 20:29:56 +0800 Subject: [PATCH 16/20] https://github.com/tgstation/tgstation/pull/51864 --- code/modules/paperwork/folders.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm index a599ec9deb..c32afab342 100644 --- a/code/modules/paperwork/folders.dm +++ b/code/modules/paperwork/folders.dm @@ -50,6 +50,14 @@ name = "folder - '[inputvalue]'" +/obj/item/folder/Destroy() + for(var/obj/important_thing in contents) + if(!(important_thing.resistance_flags & INDESTRUCTIBLE)) + continue + important_thing.forceMove(drop_location()) //don't destroy round critical content such as objective documents. + return ..() + + /obj/item/folder/attack_self(mob/user) var/dat = "[name]" From abd0ac089d93c6cfd7ac6ef520d7661e27863d4f Mon Sep 17 00:00:00 2001 From: Letter N <24603524+LetterN@users.noreply.github.com> Date: Thu, 16 Jul 2020 20:36:08 +0800 Subject: [PATCH 17/20] https://github.com/tgstation/tgstation/pull/51687 --- code/modules/antagonists/swarmer/swarmer.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/swarmer/swarmer.dm b/code/modules/antagonists/swarmer/swarmer.dm index d0e36394ab..e559313aff 100644 --- a/code/modules/antagonists/swarmer/swarmer.dm +++ b/code/modules/antagonists/swarmer/swarmer.dm @@ -399,13 +399,13 @@ return FALSE /obj/structure/lattice/catwalk/swarmer_act(mob/living/simple_animal/hostile/swarmer/S) - . = ..() var/turf/here = get_turf(src) for(var/A in here.contents) var/obj/structure/cable/C = A if(istype(C)) to_chat(S, "Disrupting the power grid would bring no benefit to us. Aborting.") return FALSE + return ..() /obj/item/deactivated_swarmer/IntegrateAmount() return 50 From 819ca634569bba635b1637f86079a045d2ace84c Mon Sep 17 00:00:00 2001 From: Letter N <24603524+LetterN@users.noreply.github.com> Date: Thu, 16 Jul 2020 20:42:02 +0800 Subject: [PATCH 18/20] https://github.com/tgstation/tgstation/pull/51679 - pickup_item missing --- code/datums/components/material_container.dm | 2 +- code/modules/mining/machine_processing.dm | 2 ++ code/modules/mining/machine_redemption.dm | 2 ++ code/modules/mining/machine_stacking.dm | 4 ++++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm index 51dc4ee8f7..7adc634621 100644 --- a/code/datums/components/material_container.dm +++ b/code/datums/components/material_container.dm @@ -105,7 +105,7 @@ /// Proc specifically for inserting items, returns the amount of materials entered. /datum/component/material_container/proc/insert_item(obj/item/I, var/multiplier = 1, stack_amt) - if(!I) + if(QDELETED(I)) return FALSE multiplier = CEILING(multiplier, 0.01) diff --git a/code/modules/mining/machine_processing.dm b/code/modules/mining/machine_processing.dm index 512fa8f3e4..940ee089e5 100644 --- a/code/modules/mining/machine_processing.dm +++ b/code/modules/mining/machine_processing.dm @@ -98,6 +98,8 @@ process_ore(AM) /obj/machinery/mineral/processing_unit/proc/process_ore(obj/item/stack/ore/O) + if(QDELETED(O)) + return var/datum/component/material_container/materials = GetComponent(/datum/component/material_container) var/material_amount = materials.get_item_material_amount(O) if(!materials.has_space(material_amount)) diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm index a7b7a84b27..8a6193ec0c 100644 --- a/code/modules/mining/machine_redemption.dm +++ b/code/modules/mining/machine_redemption.dm @@ -57,6 +57,8 @@ . += "The status display reads: Smelting [ore_multiplier] sheet(s) per piece of ore.
    Reward point generation at [point_upgrade*100]%.
    Ore pickup speed at [ore_pickup_rate].
    " /obj/machinery/mineral/ore_redemption/proc/smelt_ore(obj/item/stack/ore/O) + if(QDELETED(O)) + return var/datum/component/material_container/mat_container = materials.mat_container if (!mat_container) return diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm index 5a83955bce..a5ff27e75e 100644 --- a/code/modules/mining/machine_stacking.dm +++ b/code/modules/mining/machine_stacking.dm @@ -92,6 +92,8 @@ return ..() /obj/machinery/mineral/stacking_machine/HasProximity(atom/movable/AM) + if(QDELETED(AM)) + return if(istype(AM, /obj/item/stack/sheet) && AM.loc == get_step(src, input_dir)) process_sheet(AM) @@ -104,6 +106,8 @@ return TRUE /obj/machinery/mineral/stacking_machine/proc/process_sheet(obj/item/stack/sheet/inp) + if(QDELETED(inp)) + return var/key = inp.merge_type var/obj/item/stack/sheet/storage = stack_list[key] if(!storage) //It's the first of this sheet added From 7eab0263bac6861d248916c37a59414496284174 Mon Sep 17 00:00:00 2001 From: Letter N <24603524+LetterN@users.noreply.github.com> Date: Thu, 16 Jul 2020 20:51:25 +0800 Subject: [PATCH 19/20] https://github.com/tgstation/tgstation/pull/51213 --- code/modules/admin/verbs/adminpm.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index bbd6b55e4f..68b9a8e341 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -55,7 +55,7 @@ if(AH) message_admins("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.") - var/msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as message|null + var/msg = stripped_multiline_input(src,"Message:", "Private message to [key_name(C, 0, 0)]") if (!msg) message_admins("[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.") return @@ -87,10 +87,10 @@ if(irc) - if(!ircreplyamount) //to prevent people from spamming irc + if(!ircreplyamount) //to prevent people from spamming irc/discord return if(!msg) - msg = input(src,"Message:", "Private message to Administrator") as text|null + msg = stripped_multiline_input(src,"Message:", "Private message to Administrator") if(!msg) return @@ -112,7 +112,7 @@ //get message text, limit it's length.and clean/escape html if(!msg) - msg = input(src,"Message:", "Private message to [key_name(recipient, 0, 0)]") as message|null + msg = stripped_multiline_input(src,"Message:", "Private message to [key_name(recipient, 0, 0)]") msg = trim(msg) if(!msg) return @@ -191,7 +191,7 @@ spawn() //so we don't hold the caller proc up var/sender = src var/sendername = key - var/reply = input(recipient, msg,"Admin PM from-[sendername]", "") as text|null //show message and await a reply + var/reply = stripped_multiline_input(recipient, msg,"Admin PM from-[sendername]", "") //show message and await a reply if(recipient && reply) if(sender) recipient.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them From d9ceab6553391f89481d520e0ce750f1eeb185fa Mon Sep 17 00:00:00 2001 From: CitadelStationBot Date: Thu, 16 Jul 2020 11:33:01 -0500 Subject: [PATCH 20/20] Automatic changelog generation for PR #12798 [ci skip] --- html/changelogs/AutoChangeLog-pr-12798.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-12798.yml diff --git a/html/changelogs/AutoChangeLog-pr-12798.yml b/html/changelogs/AutoChangeLog-pr-12798.yml new file mode 100644 index 0000000000..4c44d33b4c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-12798.yml @@ -0,0 +1,10 @@ +author: "ShizCalev, Fikou" +delete-after: True +changes: + - bugfix: "Added some sanity checking for varedit values." + - bugfix: "Fixed an exploit involving coins and mints that could crash the server." + - bugfix: "Fixed an exploit that would allow you to destroy round-critical / indestructible items with folders." + - bugfix: "Swarmers can no longer cut power lines by deconstructing catwalks underneath them." + - bugfix: "Fixed a scenario that allowed infinite resource generation via ore machines." + - bugfix: "you can no longer inject html in ahelps" + - admin: "you cant either, jannies"