From 2a540293fcfa01993431ba3fe5b3a96ec467c1ac Mon Sep 17 00:00:00 2001 From: uraniummeltdown Date: Sun, 23 Apr 2017 21:42:38 +0400 Subject: [PATCH 01/27] removes robocop, paladin, nt default from roundstart ai lawsets --- code/datums/ai_law_sets.dm | 3 --- 1 file changed, 3 deletions(-) diff --git a/code/datums/ai_law_sets.dm b/code/datums/ai_law_sets.dm index 80d7fe7abf5..2184533add6 100644 --- a/code/datums/ai_law_sets.dm +++ b/code/datums/ai_law_sets.dm @@ -27,7 +27,6 @@ /datum/ai_laws/nanotrasen name = "NT Default" selectable = 1 - default = 1 /datum/ai_laws/nanotrasen/New() src.add_inherent_law("Safeguard: Protect your assigned space station to the best of your abilities. It is not something we can easily afford to replace.") @@ -61,7 +60,6 @@ /datum/ai_laws/robocop name = "Robocop" selectable = 1 - default = 1 /datum/ai_laws/robocop/New() add_inherent_law("Serve the public trust.") @@ -74,7 +72,6 @@ name = "P.A.L.A.D.I.N." law_header = "Divine Ordainments" selectable = 1 - default = 1 /datum/ai_laws/paladin/New() add_inherent_law("Never willingly commit an evil act.") From 9a43700e5d4473ecd16de706ef1679fb569b4467 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Fri, 5 May 2017 18:45:37 -0400 Subject: [PATCH 02/27] Makes All Instances of Implanting Use Proper Procs (#7224) --- code/datums/mind.dm | 5 +---- code/datums/outfits/outfit_admin.dm | 12 +++--------- code/game/gamemodes/heist/heist.dm | 3 +-- code/game/jobs/job/job.dm | 6 ++---- code/game/machinery/computer/cloning.dm | 9 +++------ code/game/objects/items/weapons/implants/implant.dm | 4 ++-- code/modules/admin/verbs/one_click_antag.dm | 3 +-- code/modules/admin/verbs/striketeam.dm | 4 +--- code/modules/mob/living/carbon/superheroes.dm | 2 +- code/modules/surgery/implant.dm | 1 - 10 files changed, 15 insertions(+), 34 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index b584cdb92ab..aa80b0fc63e 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -659,16 +659,13 @@ if("remove") for(var/obj/item/weapon/implant/mindshield/I in H.contents) if(I && I.implanted) - I.removed(H) qdel(I) to_chat(H, "Your mindshield implant has been deactivated.") log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield implant") message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield implant") if("add") var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(H) - L.imp_in = H - L.implanted = 1 - H.sec_hud_set_implants() + L.implant(H) log_admin("[key_name(usr)] has given [key_name(current)] a mindshield implant") message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield implant") diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm index 9bc700ebabe..5c11c42930a 100644 --- a/code/datums/outfits/outfit_admin.dm +++ b/code/datums/outfits/outfit_admin.dm @@ -219,9 +219,7 @@ apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Officer"), "Nanotrasen Navy Officer") var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H) - L.imp_in = H - L.implanted = 1 - H.sec_hud_set_implants() + L.implant(H) /datum/outfit/admin/nt_special_ops_officer @@ -330,9 +328,7 @@ apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Captain"), "Nanotrasen Navy Captain") var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H) - L.imp_in = H - L.implanted = 1 - H.sec_hud_set_implants() + L.implant(H) /datum/outfit/admin/nt_diplomat name = "NT Diplomat" @@ -756,9 +752,7 @@ apply_to_card(I, H, get_centcom_access("Emergency Response Team Member"), "Emergency Response Team Member") var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H) - L.imp_in = H - L.implanted = 1 - H.sec_hud_set_implants() + L.implant(H) /datum/outfit/admin/chrono name = "Chrono Legionnaire" diff --git a/code/game/gamemodes/heist/heist.dm b/code/game/gamemodes/heist/heist.dm index 1868222718f..70ebd23912f 100644 --- a/code/game/gamemodes/heist/heist.dm +++ b/code/game/gamemodes/heist/heist.dm @@ -126,8 +126,7 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind' //Now apply cortical stack. var/obj/item/weapon/implant/cortical/I = new(vox) - I.imp_in = vox - I.implanted = 1 + I.implant(vox) cortical_stacks += I vox.equip_vox_raider() diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 4d0b4d51dd3..ec9b8776f80 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -198,9 +198,7 @@ if(implants) for(var/implant_type in implants) var/obj/item/weapon/implant/I = new implant_type(H) - I.imp_in = H - I.implanted = 1 - H.sec_hud_set_implants() + I.implant(H) if(gear_leftovers.len) for(var/datum/gear/G in gear_leftovers) @@ -228,7 +226,7 @@ var/datum/job/J = job_master.GetJobType(jobtype) if(!J) J = job_master.GetJob(H.job) - + var/alt_title if(H.mind) alt_title = H.mind.role_alt_title diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 0d47420edc9..ee307dd84d5 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -413,13 +413,10 @@ R.languages=subject.languages //Add an implant if needed var/obj/item/weapon/implant/health/imp = locate(/obj/item/weapon/implant/health, subject) - if(isnull(imp)) + if(!imp) imp = new /obj/item/weapon/implant/health(subject) - imp.implanted = subject - R.implant = "\ref[imp]" - //Update it if needed - else - R.implant = "\ref[imp]" + imp.implant(subject) + R.implant = "\ref[imp]" if(!isnull(subject.mind)) //Save that mind so traitors can continue traitoring after cloning. R.mind = "\ref[subject.mind]" diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm index 66b4b228b64..8109e8e8b86 100644 --- a/code/game/objects/items/weapons/implants/implant.dm +++ b/code/game/objects/items/weapons/implants/implant.dm @@ -48,7 +48,7 @@ for(var/X in actions) var/datum/action/A = X A.Grant(source) - if(istype(source, /mob/living/carbon/human)) + if(ishuman(source)) var/mob/living/carbon/human/H = source H.sec_hud_set_implants() @@ -66,7 +66,7 @@ var/datum/action/A = X A.Grant(source) - if(istype(source, /mob/living/carbon/human)) + if(ishuman(source)) var/mob/living/carbon/human/H = source H.sec_hud_set_implants() diff --git a/code/modules/admin/verbs/one_click_antag.dm b/code/modules/admin/verbs/one_click_antag.dm index 496c998b623..04f8b29da0c 100644 --- a/code/modules/admin/verbs/one_click_antag.dm +++ b/code/modules/admin/verbs/one_click_antag.dm @@ -485,8 +485,7 @@ client/proc/one_click_antag() //Now apply cortical stack. var/obj/item/weapon/implant/cortical/I = new(new_vox) - I.imp_in = new_vox - I.implanted = 1 + I.implant(new_vox) cortical_stacks += I new_vox.equip_vox_raider() diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index d90c8a50a84..83e8d617210 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -158,9 +158,7 @@ var/global/sent_strike_team = 0 var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(src) - L.imp_in = src - L.implanted = 1 - sec_hud_set_implants() + L.implant(src) var/obj/item/weapon/card/id/W = new(src) W.name = "[real_name]'s ID Card" diff --git a/code/modules/mob/living/carbon/superheroes.dm b/code/modules/mob/living/carbon/superheroes.dm index ce9fe15ae6e..e5a9d73e402 100644 --- a/code/modules/mob/living/carbon/superheroes.dm +++ b/code/modules/mob/living/carbon/superheroes.dm @@ -97,7 +97,7 @@ H.equip_to_slot_or_del(new /obj/item/clothing/head/griffin/(H), slot_head) var/obj/item/weapon/implant/freedom/L = new/obj/item/weapon/implant/freedom(H) - L.implant(H, H) + L.implant(H) /datum/superheroes/lightnian diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index b952ddd0f79..498976c4635 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -291,7 +291,6 @@ user.visible_message("[user] places [I] into [case]!", "You place [I] into [case].") else qdel(I) - //target.sec_hud_set_implants() return 1 else user.visible_message(" [user] could not find anything inside [target]'s [affected.name], and pulls \the [tool] out.", \ From 7a38edb953c924954efdfd01cf3d5b348bfa63c4 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Fri, 5 May 2017 18:48:52 -0400 Subject: [PATCH 03/27] REEEEEEEEEEEEEEEE (#7229) --- code/game/jobs/job/supervisor.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/game/jobs/job/supervisor.dm b/code/game/jobs/job/supervisor.dm index e1b6bfda98e..3cd236881c5 100644 --- a/code/game/jobs/job/supervisor.dm +++ b/code/game/jobs/job/supervisor.dm @@ -191,6 +191,8 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) implants = list(/obj/item/weapon/implant/mindshield) backpack = /obj/item/weapon/storage/backpack/security + satchel = /obj/item/weapon/storage/backpack/satchel_sec + dufflebag = /obj/item/weapon/storage/backpack/duffel/security /datum/job/judge @@ -234,6 +236,9 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) implants = list(/obj/item/weapon/implant/mindshield) + satchel = /obj/item/weapon/storage/backpack/satchel_sec + dufflebag = /obj/item/weapon/storage/backpack/duffel/security + //var/global/lawyer = 0//Checks for another lawyer //This changed clothes on 2nd lawyer, both IA get the same dreds. @@ -270,3 +275,6 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 0) pda = /obj/item/device/pda/lawyer implants = list(/obj/item/weapon/implant/mindshield) + + satchel = /obj/item/weapon/storage/backpack/satchel_sec + dufflebag = /obj/item/weapon/storage/backpack/duffel/security From 503a664ef51929fe6bacc6535fa2686f58e9d657 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 5 May 2017 18:48:53 -0400 Subject: [PATCH 04/27] Automatic changelog generation for PR #7229 [ci skip] --- html/changelogs/AutoChangeLog-pr-7229.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7229.yml diff --git a/html/changelogs/AutoChangeLog-pr-7229.yml b/html/changelogs/AutoChangeLog-pr-7229.yml new file mode 100644 index 00000000000..423518e426d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7229.yml @@ -0,0 +1,4 @@ +author: "Fethas" +delete-after: True +changes: + - tweak: "Magistrate, IAA, and BS will now spawn with the correct color dpet satchal and duffel" From bd05c876130008d6d71ce0bd77c8d1200ad029f3 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Fri, 5 May 2017 19:42:40 -0400 Subject: [PATCH 05/27] Automatic changelog compile, [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 4 ++++ html/changelogs/AutoChangeLog-pr-7229.yml | 4 ---- 3 files changed, 10 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7229.yml diff --git a/html/changelog.html b/html/changelog.html index 2b604dcfcb2..98102af7263 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,12 @@ -->
+

05 May 2017

+

Fethas updated:

+
    +
  • Magistrate, IAA, and BS will now spawn with the correct color dpet satchal and duffel
  • +
+

01 May 2017

Fethas updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 2e77b9947ce..cad82584410 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4601,3 +4601,7 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. Fethas: - rscadd: There will now be an visual indicator to annouce that an incomming shuttle is about yo wreck you. +2017-05-05: + Fethas: + - tweak: Magistrate, IAA, and BS will now spawn with the correct color dpet satchal + and duffel diff --git a/html/changelogs/AutoChangeLog-pr-7229.yml b/html/changelogs/AutoChangeLog-pr-7229.yml deleted file mode 100644 index 423518e426d..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7229.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Fethas" -delete-after: True -changes: - - tweak: "Magistrate, IAA, and BS will now spawn with the correct color dpet satchal and duffel" From 860a50b2e6ac9c38052f4347517f47d1f63a7e7a Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 6 May 2017 16:51:48 -0400 Subject: [PATCH 06/27] tweaks (#7232) --- code/game/gamemodes/cult/cult_objectives.dm | 2 +- code/game/gamemodes/cult/runes.dm | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/code/game/gamemodes/cult/cult_objectives.dm b/code/game/gamemodes/cult/cult_objectives.dm index 4b30bbd37b0..c9e951cf940 100644 --- a/code/game/gamemodes/cult/cult_objectives.dm +++ b/code/game/gamemodes/cult/cult_objectives.dm @@ -21,7 +21,7 @@ if("convert") explanation = "We must increase our influence before we can summon [ticker.mode.cultdat.entity_name], Convert [convert_target] crew members. Take it slowly to avoid raising suspicions." if("bloodspill") - spilltarget = 100 + rand(0,player_list.len * 3) + spilltarget = 70 + rand(0,player_list.len * 3) explanation = "We must prepare this place for [ticker.mode.cultdat.entity_title1]'s coming. Spill blood and gibs over [spilltarget] floor tiles." if("sacrifice") explanation = "We need to sacrifice [sacrifice_target.name], the [sacrifice_target.assigned_role], for his blood is the key that will lead our master to this realm. You will need 3 cultists around a Sacrifice rune to perform the ritual." diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 14fe620cc3c..2ae02d2f773 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -336,7 +336,7 @@ var/list/teleport_runes = list() var/turf/T = get_turf(src) for(var/mob/living/M in T.contents) - if(!iscultist(M) && !ismindshielded(M)) + if(!iscultist(M) && !ismindshielded(M) && ishuman(M)) convertees.Add(M) if(!convertees.len) fail_invoke() @@ -415,6 +415,7 @@ var/list/teleport_runes = list() /obj/effect/rune/sacrifice/proc/sac(var/list/invokers, mob/living/T) var/sacrifice_fulfilled + var/datum/game_mode/cult/cult_mode = ticker.mode if(T) if(istype(T, /mob/living/simple_animal/pet/corgi)) for(var/M in invokers) @@ -428,11 +429,12 @@ var/list/teleport_runes = list() sacrifice_fulfilled = 1 new /obj/effect/overlay/temp/cult/sac(loc) if(ticker && ticker.mode && ticker.mode.name == "cult") - var/datum/game_mode/cult/cult_mode = ticker.mode + cult_mode.harvested++ for(var/M in invokers) if(sacrifice_fulfilled) to_chat(M, "\"Yes! This is the one I desire! You have done well.\"") + cult_mode.additional_phase() else if(ishuman(T) || isrobot(T)) to_chat(M, "\"I accept this sacrifice.\"") From 5a39e84ce15bf84a158780ab39f767058faf3caf Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 16:51:49 -0400 Subject: [PATCH 07/27] Automatic changelog generation for PR #7232 [ci skip] --- html/changelogs/AutoChangeLog-pr-7232.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7232.yml diff --git a/html/changelogs/AutoChangeLog-pr-7232.yml b/html/changelogs/AutoChangeLog-pr-7232.yml new file mode 100644 index 00000000000..1e551fb0820 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7232.yml @@ -0,0 +1,6 @@ +author: "Fethas" +delete-after: True +changes: + - bugfix: "Fixes sacreficed your target not triggering the next objective." + - bugfix: "YOU CAN NOW ONLY CONVERT HUMANS NOT MICE!" + - tweak: "bloodspill tiles changed from base 100 (plus random number based on players) to 70." From 764e8131165bff493380f9e303060f72ecdf8eec Mon Sep 17 00:00:00 2001 From: FlattestGuitar Date: Sat, 6 May 2017 22:58:18 +0200 Subject: [PATCH 08/27] NT rep plasma suit (#7230) --- code/modules/clothing/spacesuits/plasmamen.dm | 10 ++++++++++ .../living/carbon/human/species/plasmaman.dm | 5 ++++- icons/mob/species/plasmaman/helmet.dmi | Bin 35027 -> 36831 bytes icons/mob/species/plasmaman/suit.dmi | Bin 46186 -> 47654 bytes icons/obj/clothing/species/plasmaman/hats.dmi | Bin 18693 -> 19470 bytes .../obj/clothing/species/plasmaman/suits.dmi | Bin 16511 -> 17069 bytes 6 files changed, 14 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/plasmamen.dm b/code/modules/clothing/spacesuits/plasmamen.dm index 324a05614c3..20a14cc4fc5 100644 --- a/code/modules/clothing/spacesuits/plasmamen.dm +++ b/code/modules/clothing/spacesuits/plasmamen.dm @@ -294,6 +294,16 @@ icon_state = "plasmaman_HoS_helmet0" base_state = "plasmaman_HoS_helmet" +//NT REP +/obj/item/clothing/suit/space/eva/plasmaman/nt_rep + name = "plasmaman NT representative suit" + icon_state = "plasmaman_rep" + +/obj/item/clothing/head/helmet/space/eva/plasmaman/nt_rep + name = "plasmaman NT representative helmet" + icon_state = "plasmaman_rep_helmet0" + base_state = "plasmaman_rep_helmet" + //SECURITY /obj/item/clothing/suit/space/eva/plasmaman/security diff --git a/code/modules/mob/living/carbon/human/species/plasmaman.dm b/code/modules/mob/living/carbon/human/species/plasmaman.dm index ae236b1ebd4..2041ca5f3e6 100644 --- a/code/modules/mob/living/carbon/human/species/plasmaman.dm +++ b/code/modules/mob/living/carbon/human/species/plasmaman.dm @@ -84,9 +84,12 @@ if("Captain", "Blueshield") suit=/obj/item/clothing/suit/space/eva/plasmaman/security/captain helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/captain - if("Head of Personnel", "Nanotrasen Representative") + if("Head of Personnel") suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hop helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hop + if("Nanotrasen Representative") + suit = /obj/item/clothing/suit/space/eva/plasmaman/nt_rep + helm = /obj/item/clothing/head/helmet/space/eva/plasmaman/nt_rep if("Medical Doctor","Brig Physician") suit=/obj/item/clothing/suit/space/eva/plasmaman/medical helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical diff --git a/icons/mob/species/plasmaman/helmet.dmi b/icons/mob/species/plasmaman/helmet.dmi index f4771885c778e1b3d26a2d8cb8494fea5c762339..880e1e7c5eb6c7ff75305357567566c23ddf5cab 100644 GIT binary patch delta 17935 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�n{icw?{>Dj$6;$IBzy(c0Cl^7|L|m(FHh~S1zO5qC*e=B zcg~^PjXI09I4LfAFX)<9?bOFgsKhg7

    }W|m-`ecNR+1ksLI!KNhlXcgiTR>MK( zrriHpVf>bJ=WoqOLMcKzhz2Y(ej0&#dyRIMK>EJspiwD5!4Ir|hdq0u^teFA=>7iz Dm$R!^ diff --git a/icons/mob/species/plasmaman/suit.dmi b/icons/mob/species/plasmaman/suit.dmi index 526211ef0ea1e663f09acd38f9cadd685ef8738b..fb428adaadca975a24a782eb8c7c42cdcf9817a8 100644 GIT binary patch delta 9018 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 delta 7538 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 diff --git a/icons/obj/clothing/species/plasmaman/hats.dmi b/icons/obj/clothing/species/plasmaman/hats.dmi index 19bb100595ccbfeb97cc8fa65d153ffb782839ba..f4ec02bef2bb4bb0ed1345735570673ba96c424f 100644 GIT binary patch literal 19470 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 literal 18693 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 wfdk{KtP3W1+cIb%7 diff --git a/icons/obj/clothing/species/plasmaman/suits.dmi b/icons/obj/clothing/species/plasmaman/suits.dmi index b9695f0ff2781f2610e3a4ab9d30efc2361e50c9..86027617d15abcfd487ba57aaeb5bddb757448cd 100644 GIT binary patch literal 17069 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 literal 16511 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 From 73b3ba8b64b6bf412982e4e3ae9d090f54d43e07 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 16:58:19 -0400 Subject: [PATCH 09/27] Automatic changelog generation for PR #7230 [ci skip] --- html/changelogs/AutoChangeLog-pr-7230.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7230.yml diff --git a/html/changelogs/AutoChangeLog-pr-7230.yml b/html/changelogs/AutoChangeLog-pr-7230.yml new file mode 100644 index 00000000000..48ad04db9c5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7230.yml @@ -0,0 +1,4 @@ +author: "LightFire69" +delete-after: True +changes: + - rscadd: "Added a pretty plasmaman suit" From 71dab4acc78564e2e6c9972ad4c3238d0c393d14 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 17:15:34 -0400 Subject: [PATCH 10/27] Automatic changelog compile, [ci skip] --- html/changelog.html | 12 ++++++++++++ html/changelogs/.all_changelog.yml | 8 ++++++++ html/changelogs/AutoChangeLog-pr-7230.yml | 4 ---- html/changelogs/AutoChangeLog-pr-7232.yml | 6 ------ 4 files changed, 20 insertions(+), 10 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7230.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7232.yml diff --git a/html/changelog.html b/html/changelog.html index 98102af7263..ce970cd5044 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,18 @@ -->
    +

    06 May 2017

    +

    Fethas updated:

    +
      +
    • Fixes sacreficed your target not triggering the next objective.
    • +
    • YOU CAN NOW ONLY CONVERT HUMANS NOT MICE!
    • +
    • bloodspill tiles changed from base 100 (plus random number based on players) to 70.
    • +
    +

    LightFire69 updated:

    +
      +
    • Added a pretty plasmaman suit
    • +
    +

    05 May 2017

    Fethas updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index cad82584410..bab7492be92 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4605,3 +4605,11 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. Fethas: - tweak: Magistrate, IAA, and BS will now spawn with the correct color dpet satchal and duffel +2017-05-06: + Fethas: + - bugfix: Fixes sacreficed your target not triggering the next objective. + - bugfix: YOU CAN NOW ONLY CONVERT HUMANS NOT MICE! + - tweak: bloodspill tiles changed from base 100 (plus random number based on players) + to 70. + LightFire69: + - rscadd: Added a pretty plasmaman suit diff --git a/html/changelogs/AutoChangeLog-pr-7230.yml b/html/changelogs/AutoChangeLog-pr-7230.yml deleted file mode 100644 index 48ad04db9c5..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7230.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "LightFire69" -delete-after: True -changes: - - rscadd: "Added a pretty plasmaman suit" diff --git a/html/changelogs/AutoChangeLog-pr-7232.yml b/html/changelogs/AutoChangeLog-pr-7232.yml deleted file mode 100644 index 1e551fb0820..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7232.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Fethas" -delete-after: True -changes: - - bugfix: "Fixes sacreficed your target not triggering the next objective." - - bugfix: "YOU CAN NOW ONLY CONVERT HUMANS NOT MICE!" - - tweak: "bloodspill tiles changed from base 100 (plus random number based on players) to 70." From a662a48794a4e1adb1c27a5eb751dbf5b6dcd69e Mon Sep 17 00:00:00 2001 From: Alffd Date: Sat, 6 May 2017 17:58:32 -0400 Subject: [PATCH 11/27] Don't step on glass (#7223) --- code/game/objects/items/weapons/shards.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm index 0ba245af4e6..70073b38123 100644 --- a/code/game/objects/items/weapons/shards.dm +++ b/code/game/objects/items/weapons/shards.dm @@ -71,7 +71,7 @@ /obj/item/weapon/shard/Crossed(AM as mob|obj) if(isliving(AM)) var/mob/living/M = AM - if(M.incorporeal_move || M.flying)//you are incorporal or flying..no shard stepping! + if(M.incorporeal_move || M.flying || M.throwing)//you are incorporal or flying or being thrown ..no shard stepping! return to_chat(M, "You step on \the [src]!") playsound(src.loc, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds From 9509cf7311ea77aa220b32c238d1784c95ecf9f7 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 17:58:33 -0400 Subject: [PATCH 12/27] Automatic changelog generation for PR #7223 [ci skip] --- html/changelogs/AutoChangeLog-pr-7223.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7223.yml diff --git a/html/changelogs/AutoChangeLog-pr-7223.yml b/html/changelogs/AutoChangeLog-pr-7223.yml new file mode 100644 index 00000000000..97d9a223592 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7223.yml @@ -0,0 +1,4 @@ +author: "Allfd" +delete-after: True +changes: + - tweak: "Thrown mobs will not step on broken glass while being thrown." From 12c4b2933ccbb0f52271532d6af503546d1499ba Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 6 May 2017 18:01:36 -0400 Subject: [PATCH 13/27] Hydro and Bees GC fixes (#7221) * Hydro and Bees GC fixes * more shit --- code/game/objects/items/candle.dm | 4 + code/game/objects/items/robot/robot_parts.dm | 192 ++++++++++-------- .../objects/items/weapons/bee_briefcase.dm | 6 +- code/modules/hydroponics/beekeeping/beebox.dm | 8 +- code/modules/hydroponics/hydroponics.dm | 1 + code/modules/hydroponics/seed_extractor.dm | 10 +- code/modules/hydroponics/seeds.dm | 4 +- .../modules/mob/living/silicon/robot/robot.dm | 60 +++++- .../mob/living/simple_animal/hostile/bees.dm | 30 +-- .../living/simple_animal/hostile/hostile.dm | 25 +-- 10 files changed, 201 insertions(+), 139 deletions(-) diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index f0c3ee84e98..46ee95d119b 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -17,6 +17,10 @@ // No visible message light(show_message = 0) +/obj/item/candle/Destroy() + processing_objects.Remove(src) + return ..() + /obj/item/candle/update_icon() var/i if(wax>150) diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index d99ed06bb6c..ef1589f50b7 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -10,8 +10,7 @@ var/model_info dir = SOUTH - -/obj/item/robot_parts/New(var/newloc, var/model) +/obj/item/robot_parts/New(newloc, model) ..(newloc) if(model_info && model) model_info = model @@ -57,9 +56,13 @@ desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell." icon_state = "chest" part = list("groin","chest") - var/wires = 0.0 + var/wired = FALSE var/obj/item/weapon/stock_parts/cell/cell = null +/obj/item/robot_parts/chest/Destroy() + QDEL_NULL(cell) + return ..() + /obj/item/robot_parts/head name = "head" desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals." @@ -68,6 +71,11 @@ var/obj/item/device/flash/flash1 = null var/obj/item/device/flash/flash2 = null +/obj/item/robot_parts/head/Destroy() + QDEL_NULL(flash1) + QDEL_NULL(flash2) + return ..() + /obj/item/robot_parts/robot_suit name = "endoskeleton" desc = "A complex metal backbone with standard limb sockets and pseudomuscle anchors." @@ -88,89 +96,108 @@ /obj/item/robot_parts/robot_suit/New() ..() - src.updateicon() + updateicon() + +/obj/item/robot_parts/robot_suit/Destroy() + QDEL_NULL(l_arm) + QDEL_NULL(r_arm) + QDEL_NULL(l_leg) + QDEL_NULL(r_leg) + QDEL_NULL(chest) + QDEL_NULL(head) + forced_ai = null + return ..() /obj/item/robot_parts/robot_suit/proc/updateicon() - src.overlays.Cut() - if(src.l_arm) - src.overlays += "l_arm+o" - if(src.r_arm) - src.overlays += "r_arm+o" - if(src.chest) - src.overlays += "chest+o" - if(src.l_leg) - src.overlays += "l_leg+o" - if(src.r_leg) - src.overlays += "r_leg+o" - if(src.head) - src.overlays += "head+o" + overlays.Cut() + if(l_arm) + overlays += "l_arm+o" + if(r_arm) + overlays += "r_arm+o" + if(chest) + overlays += "chest+o" + if(l_leg) + overlays += "l_leg+o" + if(r_leg) + overlays += "r_leg+o" + if(head) + overlays += "head+o" /obj/item/robot_parts/robot_suit/proc/check_completion() - if(src.l_arm && src.r_arm) - if(src.l_leg && src.r_leg) - if(src.chest && src.head) + if(l_arm && r_arm) + if(l_leg && r_leg) + if(chest && head) feedback_inc("cyborg_frames_built",1) return 1 return 0 -/obj/item/robot_parts/robot_suit/attackby(obj/item/W as obj, mob/user as mob, params) +/obj/item/robot_parts/robot_suit/attackby(obj/item/W, mob/user, params) ..() if(istype(W, /obj/item/stack/sheet/metal) && !l_arm && !r_arm && !l_leg && !r_leg && !chest && !head) + var/obj/item/stack/sheet/metal/M = W var/obj/item/weapon/ed209_assembly/B = new /obj/item/weapon/ed209_assembly - B.loc = get_turf(src) + B.forceMove(get_turf(src)) to_chat(user, "You armed the robot frame") - W:use(1) + M.use(1) if(user.get_inactive_hand()==src) user.unEquip(src) user.put_in_inactive_hand(B) qdel(src) if(istype(W, /obj/item/robot_parts/l_leg)) - if(src.l_leg) return + if(l_leg) + return user.drop_item() - W.loc = src - src.l_leg = W - src.updateicon() + W.forceMove(src) + l_leg = W + updateicon() if(istype(W, /obj/item/robot_parts/r_leg)) - if(src.r_leg) return + if(r_leg) + return user.drop_item() - W.loc = src - src.r_leg = W - src.updateicon() + W.forceMove(src) + r_leg = W + updateicon() if(istype(W, /obj/item/robot_parts/l_arm)) - if(src.l_arm) return + if(l_arm) + return user.drop_item() - W.loc = src - src.l_arm = W - src.updateicon() + W.forceMove(src) + l_arm = W + updateicon() if(istype(W, /obj/item/robot_parts/r_arm)) - if(src.r_arm) return + if(r_arm) + return user.drop_item() - W.loc = src - src.r_arm = W - src.updateicon() + W.forceMove(src) + r_arm = W + updateicon() if(istype(W, /obj/item/robot_parts/chest)) - if(src.chest) return - if(W:wires && W:cell) + var/obj/item/robot_parts/chest/CH = W + if(chest) + return + if(CH.wired && CH.cell) user.drop_item() - W.loc = src - src.chest = W - src.updateicon() - else if(!W:wires) + W.forceMove(src) + chest = W + updateicon() + else if(!CH.wired) to_chat(user, "You need to attach wires to it first!") else to_chat(user, "You need to attach a cell to it first!") if(istype(W, /obj/item/robot_parts/head)) - if(src.head) return - if(W:flash2 && W:flash1) + var/obj/item/robot_parts/head/HD = W + if(head) + return + if(HD.flash2 && HD.flash1) user.drop_item() - W.loc = src - src.head = W - src.updateicon() + W.forceMove(src) + head = W + updateicon() else to_chat(user, "You need to attach a flash to it first!") @@ -183,11 +210,11 @@ if(istype(W, /obj/item/device/mmi)) var/obj/item/device/mmi/M = W if(check_completion()) - if(!istype(loc,/turf)) - to_chat(user, "You can't put \the [W] in, the frame has to be standing on the ground to be perfectly precise.") + if(!isturf(loc)) + to_chat(user, "You can't put [M] in, the frame has to be standing on the ground to be perfectly precise.") return if(!M.brainmob) - to_chat(user, "Sticking an empty [W] into the frame would sort of defeat the purpose.") + to_chat(user, "Sticking an empty [M] into the frame would sort of defeat the purpose.") return if(!M.brainmob.key) @@ -202,15 +229,15 @@ ghost_can_reenter = 1 break if(!ghost_can_reenter) - to_chat(user, "\The [W] is completely unresponsive; there's no point.") + to_chat(user, "[M] is completely unresponsive; there's no point.") return if(M.brainmob.stat == DEAD) - to_chat(user, "Sticking a dead [W] into the frame would sort of defeat the purpose.") + to_chat(user, "Sticking a dead [M] into the frame would sort of defeat the purpose.") return if(M.brainmob.mind in ticker.mode.head_revolutionaries) - to_chat(user, "The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [W].") + to_chat(user, "The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept the [M].") return if(jobban_isbanned(M.brainmob, "Cyborg") || jobban_isbanned(M.brainmob,"nonhumandept")) @@ -218,7 +245,8 @@ return var/mob/living/silicon/robot/O = new /mob/living/silicon/robot(get_turf(loc), unfinished = 1) - if(!O) return + if(!O) + return user.drop_item() @@ -257,9 +285,9 @@ O.job = "Cyborg" O.cell = chest.cell - chest.cell.loc = O + chest.cell.forceMove(O) chest.cell = null - W.loc = O//Should fix cybros run time erroring when blown up. It got deleted before, along with the frame. + M.forceMove(O) //Should fix cybros run time erroring when blown up. It got deleted before, along with the frame. // Since we "magically" installed a cell, we also have to update the correct component. if(O.cell) var/datum/robot_component/cell_component = O.components["power cell"] @@ -271,7 +299,8 @@ feedback_inc("cyborg_birth",1) callHook("borgify", list(O)) - src.loc = O + forceMove(O) + O.robot_suit = src if(!locomotion) O.lockcharge = 1 @@ -308,8 +337,8 @@ return if(href_list["Name"]) - var/new_name = reject_bad_name(input(usr, "Enter new designation. Set to blank to reset to default.", "Cyborg Debug", src.created_name),1) - if(!in_range(src, usr) && src.loc != usr) + var/new_name = reject_bad_name(input(usr, "Enter new designation. Set to blank to reset to default.", "Cyborg Debug", created_name),1) + if(!in_range(src, usr) && loc != usr) return if(new_name) created_name = new_name @@ -337,22 +366,22 @@ /obj/item/robot_parts/chest/attackby(obj/item/W as obj, mob/user as mob, params) ..() if(istype(W, /obj/item/weapon/stock_parts/cell)) - if(src.cell) + if(cell) to_chat(user, "You have already inserted a cell!") return else user.drop_item() - W.loc = src - src.cell = W + W.forceMove(src) + cell = W to_chat(user, "You insert the cell!") if(istype(W, /obj/item/stack/cable_coil)) - if(src.wires) + if(wired) to_chat(user, "You have already inserted wire!") return else var/obj/item/stack/cable_coil/coil = W coil.use(1) - src.wires = 1.0 + wired = TRUE to_chat(user, "You insert the wire!") return @@ -362,18 +391,18 @@ if(istype(user,/mob/living/silicon/robot)) to_chat(user, "How do you propose to do that?") return - else if(src.flash1 && src.flash2) + else if(flash1 && flash2) to_chat(user, "You have already inserted the eyes!") return - else if(src.flash1) + else if(flash1) user.drop_item() - W.loc = src - src.flash2 = W + W.forceMove(src) + flash2 = W to_chat(user, "You insert the flash into the eye socket!") else user.drop_item() - W.loc = src - src.flash1 = W + W.forceMove(src) + flash1 = W to_chat(user, "You insert the flash into the eye socket!") else if(istype(W, /obj/item/weapon/stock_parts/manipulator)) to_chat(user, "You install some manipulators and modify the head, creating a functional spider-bot!") @@ -381,15 +410,10 @@ user.drop_item() qdel(W) qdel(src) - return - return -/obj/item/robot_parts/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W,/obj/item/weapon/card/emag)) - if(sabotaged) - to_chat(user, "[src] is already sabotaged!") - else - to_chat(user, "You slide [W] into the dataport on [src] and short out the safeties.") - sabotaged = 1 - return - ..() +/obj/item/robot_parts/emag_act(user) + if(sabotaged) + to_chat(user, "[src] is already sabotaged!") + else + to_chat(user, "You slide the emag into the dataport on [src] and short out the safeties.") + sabotaged = 1 diff --git a/code/game/objects/items/weapons/bee_briefcase.dm b/code/game/objects/items/weapons/bee_briefcase.dm index 7d2b718da82..3252fe4d856 100644 --- a/code/game/objects/items/weapons/bee_briefcase.dm +++ b/code/game/objects/items/weapons/bee_briefcase.dm @@ -18,6 +18,10 @@ var/sound_file = 'sound/misc/briefcase_bees.ogg' var/next_sound = 0 +/obj/item/weapon/bee_briefcase/Destroy() + blood_list.Cut() + return ..() + /obj/item/weapon/bee_briefcase/examine(mob/user) ..() if(loc == user) @@ -70,6 +74,6 @@ //Release up to 5 bees per use. Without using strange reagent, that means two uses. WITH strange reagent, you can get more if you don't release the last bee for(var/bee = min(5, bees_left), bee > 0, bee--) var/mob/living/simple_animal/hostile/poison/bees/syndi/B = new /mob/living/simple_animal/hostile/poison/bees/syndi(null) - B.master_and_friends = blood_list //Doesn't automatically add the person who opens the case, so the bees will attack the user unless they gave their blood + B.master_and_friends = blood_list.Copy() //Doesn't automatically add the person who opens the case, so the bees will attack the user unless they gave their blood B.forceMove(get_turf(user)) //RELEASE THE BEES! bees_left -= 5 diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 18f87a8a45a..7bfa00d35c3 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -51,11 +51,13 @@ /obj/structure/beebox/Destroy() processing_objects.Remove(src) + for(var/mob/living/simple_animal/hostile/poison/bees/B in bees) + B.beehome = null bees.Cut() bees = null - honeycombs.Cut() - honeycombs = null - queen_bee = null + QDEL_LIST(honeycombs) + QDEL_LIST(honey_frames) + QDEL_NULL(queen_bee) return ..() diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 7e7aa825411..7c5297e07c4 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -75,6 +75,7 @@ plant_hud_set_water() /obj/machinery/hydroponics/Destroy() + remove_from_all_data_huds() QDEL_NULL(myseed) return ..() diff --git a/code/modules/hydroponics/seed_extractor.dm b/code/modules/hydroponics/seed_extractor.dm index 379a15a296a..7f2c3587349 100644 --- a/code/modules/hydroponics/seed_extractor.dm +++ b/code/modules/hydroponics/seed_extractor.dm @@ -44,7 +44,7 @@ icon_state = "sextractor" density = 1 anchored = 1 - var/piles = list() + var/list/piles = list() var/max_seeds = 1000 var/seed_multiplier = 1 @@ -56,6 +56,10 @@ component_parts += new /obj/item/weapon/stock_parts/manipulator(null) RefreshParts() +/obj/machinery/seed_extractor/Destroy() + QDEL_LIST(piles) + return ..() + /obj/machinery/seed_extractor/RefreshParts() for(var/obj/item/weapon/stock_parts/matter_bin/B in component_parts) max_seeds = 1000 * B.rating @@ -125,14 +129,14 @@ /obj/machinery/seed_extractor/attack_hand(mob/user) interact(user) - + /obj/machinery/seed_extractor/attack_ghost(mob/user) interact(user) /obj/machinery/seed_extractor/interact(mob/user) if(stat) return 0 - + add_fingerprint(user) user.set_machine(src) diff --git a/code/modules/hydroponics/seeds.dm b/code/modules/hydroponics/seeds.dm index 9aa93f9f92b..ae79eda23d3 100644 --- a/code/modules/hydroponics/seeds.dm +++ b/code/modules/hydroponics/seeds.dm @@ -69,9 +69,7 @@ genes += new /datum/plant_gene/reagent(reag_id, reagents_add[reag_id]) /obj/item/seeds/Destroy() - for(var/thing in genes) - qdel(thing) - genes.Cut() + QDEL_LIST(genes) return ..() /obj/item/seeds/proc/Copy() diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 2b0ded32896..8ab82e7d9ca 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -41,6 +41,7 @@ var/list/robot_verbs_default = list( // Components are basically robot organs. var/list/components = list() + var/obj/item/robot_parts/robot_suit/robot_suit = null //Used for deconstruction to remember what the borg was constructed out of.. var/obj/item/device/mmi/mmi = null var/obj/item/device/pda/silicon/robot/rbPDA = null @@ -255,6 +256,7 @@ var/list/robot_verbs_default = list( QDEL_NULL(module) QDEL_NULL(camera) QDEL_NULL(cell) + QDEL_NULL(robot_suit) return ..() /mob/living/silicon/robot/proc/pick_module() @@ -644,20 +646,13 @@ var/list/robot_verbs_default = list( else if(wiresexposed && wires.IsAllCut()) //Cell is out, wires are exposed, remove MMI, produce damaged chassis, baleet original mob. if(!mmi) - to_chat(user, "\The [src] has no brain to remove.") + to_chat(user, "[src] has no brain to remove.") return - to_chat(user, "You jam the crowbar into the robot and begin levering [mmi].") + to_chat(user, "You jam the crowbar into the robot and begin levering the securing bolts.") if(do_after(user, 30 * W.toolspeed, target = src)) - to_chat(user, "You damage some parts of the chassis, but eventually manage to rip out [mmi]!") - var/obj/item/robot_parts/robot_suit/C = new/obj/item/robot_parts/robot_suit(loc) - C.l_leg = new/obj/item/robot_parts/l_leg(C) - C.r_leg = new/obj/item/robot_parts/r_leg(C) - C.l_arm = new/obj/item/robot_parts/l_arm(C) - C.r_arm = new/obj/item/robot_parts/r_arm(C) - C.updateicon() - new/obj/item/robot_parts/chest(loc) - qdel(src) + user.visible_message("[user] deconstructs [src]!", "You unfasten the securing bolts, and [src] falls to pieces!") + deconstruct() else // Okay we're not removing the cell or an MMI, but maybe something else? var/list/removable_components = list() @@ -1135,6 +1130,49 @@ var/list/robot_verbs_default = list( update_icons() +/mob/living/silicon/robot/proc/deconstruct() + var/turf/T = get_turf(src) + if(robot_suit) + robot_suit.forceMove(T) + robot_suit.l_leg.forceMove(T) + robot_suit.l_leg = null + robot_suit.r_leg.forceMove(T) + robot_suit.r_leg = null + new /obj/item/stack/cable_coil(T, robot_suit.chest.wired) + robot_suit.chest.forceMove(T) + robot_suit.chest.wired = FALSE + robot_suit.chest = null + robot_suit.l_arm.forceMove(T) + robot_suit.l_arm = null + robot_suit.r_arm.forceMove(T) + robot_suit.r_arm = null + robot_suit.head.forceMove(T) + robot_suit.head.flash1.forceMove(T) + robot_suit.head.flash1.burn_out() + robot_suit.head.flash1 = null + robot_suit.head.flash2.forceMove(T) + robot_suit.head.flash2.burn_out() + robot_suit.head.flash2 = null + robot_suit.head = null + robot_suit.updateicon() + else + new /obj/item/robot_parts/robot_suit(T) + new /obj/item/robot_parts/l_leg(T) + new /obj/item/robot_parts/r_leg(T) + new /obj/item/stack/cable_coil(T, 1) + new /obj/item/robot_parts/chest(T) + new /obj/item/robot_parts/l_arm(T) + new /obj/item/robot_parts/r_arm(T) + new /obj/item/robot_parts/head(T) + var/b + for(b=0, b!=2, b++) + var/obj/item/device/flash/F = new /obj/item/device/flash(T) + F.burn_out() + if(cell) //Sanity check. + cell.forceMove(T) + cell = null + qdel(src) + #define BORG_CAMERA_BUFFER 30 /mob/living/silicon/robot/Move(a, b, flag) var/oldLoc = src.loc diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 904762d6c27..ffd354961ef 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -58,15 +58,12 @@ /mob/living/simple_animal/hostile/poison/bees/Destroy() beegent = null + if(beehome) + if(beehome.bees) + beehome.bees.Remove(src) + beehome = null return ..() -/mob/living/simple_animal/hostile/poison/bees/death(gibbed) - beegent = null - ..() - -/mob/living/simple_animal/hostile/poison/bees/examine(mob/user) - ..() - /mob/living/simple_animal/hostile/poison/bees/proc/generate_bee_visuals() overlays.Cut() @@ -137,21 +134,6 @@ /mob/living/simple_animal/hostile/poison/bees/worker //Blank type define in case we need to give them special stuff later, plus organization (currently they are same as base type bee) - -/mob/living/simple_animal/hostile/poison/bees/worker/Destroy() - if(beehome) - if(beehome.bees) - beehome.bees.Remove(src) - beehome = null - return ..() - -/mob/living/simple_animal/hostile/poison/bees/worker/death(gibbed) - if(beehome) - if(beehome.bees) - beehome.bees.Remove(src) - beehome = null - ..() - /mob/living/simple_animal/hostile/poison/bees/worker/examine(mob/user) ..() @@ -313,6 +295,10 @@ beegent = new /datum/reagent/facid() //prepare to die var/list/master_and_friends = list() +/mob/living/simple_animal/hostile/poison/bees/syndi/Destroy() + master_and_friends.Cut() + return ..() + /mob/living/simple_animal/hostile/poison/bees/syndi/assign_reagent(datum/reagent/R) return diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 1df7348a839..911f66a5527 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -30,7 +30,7 @@ var/attack_same = 0 //Set us to 1 to allow us to attack our own faction, or 2, to only ever attack our own faction var/AIStatus = AI_ON //The Status of our AI, can be set to AI_ON (On, usual processing), AI_IDLE (Will not process, but will return to AI_ON if an enemy comes near), AI_OFF (Off, Not processing ever) - + //typecache of things this mob will attack in DestroySurroundings() if it has environment_smash var/list/environment_target_typecache = list( /obj/machinery/door/window, @@ -44,15 +44,16 @@ var/atom/targets_from = null //all range/attack/etc. calculations should be done from this atom, defaults to the mob itself, useful for Vehicles and such var/list/emote_taunt = list() var/taunt_chance = 0 - + /mob/living/simple_animal/hostile/New() ..() if(!targets_from) targets_from = src environment_target_typecache = typecacheof(environment_target_typecache) - + /mob/living/simple_animal/hostile/Destroy() targets_from = null + target = null return ..() /mob/living/simple_animal/hostile/Life() @@ -80,7 +81,7 @@ if(AIShouldSleep(possible_targets)) // we try to acquire a new one AIStatus = AI_IDLE // otherwise we go idle return 1 - + /mob/living/simple_animal/hostile/attacked_by(obj/item/I, mob/living/user) if(stat == CONSCIOUS && !target && AIStatus != AI_OFF && !client && user) FindTarget(list(user), 1) @@ -91,8 +92,8 @@ if(P.firer && get_dist(src, P.firer) <= aggro_vision_range) FindTarget(list(P.firer), 1) Goto(P.starting, move_to_delay, 3) - return ..() - + return ..() + //////////////HOSTILE MOB TARGETTING AND AGGRESSION//////////// @@ -126,7 +127,7 @@ var/Target = PickTarget(.) GiveTarget(Target) return Target //We now have a target - + /mob/living/simple_animal/hostile/proc/PossibleThreats() . = list() for(var/pos_targ in ListTargets()) @@ -176,24 +177,24 @@ if(faction_check && !attack_same) return 0 return 1 - + if(ishuman(the_target)) var/mob/living/carbon/human/H = the_target if(is_type_in_list(src, H.species.ignored_by)) return 0 - + if(istype(the_target, /obj/mecha)) var/obj/mecha/M = the_target if(M.occupant)//Just so we don't attack empty mechs if(CanAttack(M.occupant)) return 1 - + if(istype(the_target, /obj/spacepod)) var/obj/spacepod/S = the_target if(S.pilot) //Just so we don't attack empty pods if(CanAttack(S.pilot)) return 1 - + if(istype(the_target, /obj/machinery/porta_turret)) var/obj/machinery/porta_turret/P = the_target if(P.faction in faction) @@ -292,7 +293,7 @@ /mob/living/simple_animal/hostile/death(gibbed) LoseTarget() ..(gibbed) - + /mob/living/simple_animal/hostile/proc/summon_backup(distance) do_alert_animation(src) playsound(loc, 'sound/machines/chime.ogg', 50, 1, -1) From f3ef0d8c02ec3f42583047828475437697115b11 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 6 May 2017 15:07:36 -0700 Subject: [PATCH 14/27] Fixes carded AIs generating checkTurfVis warnings (#7207) * Fixes carded AIs generating checkTurfVis warnings Fixes bug where carded AIs that click on turfs not visible to any camera generate warnings to admins. No CL as admin-only. * Handles carded AIs better * Fox request --- code/_onclick/ai.dm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index f3ae2fdea48..e969751e1dd 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -33,13 +33,20 @@ if(control_disabled || stat) return - + var/turf/pixel_turf = get_turf_pixel(A) - if(pixel_turf && !cameranet.checkTurfVis(pixel_turf)) - log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(A)])") - message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(A)]))") - send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(A)]))") - return + var/turf_visible + if(pixel_turf) + turf_visible = cameranet.checkTurfVis(pixel_turf) + if(!turf_visible) + if(istype(loc, /obj/item/device/aicard) && (pixel_turf in view(client.view, loc))) + turf_visible = TRUE + else + if(pixel_turf.obscured) + log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)])") + message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(pixel_turf)]))") + send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(pixel_turf)]))") + return var/list/modifiers = params2list(params) if(modifiers["shift"] && modifiers["ctrl"]) From 15eefd3b37ba8472d334d0d53976f43204763af4 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 6 May 2017 18:13:24 -0400 Subject: [PATCH 15/27] Minor Cell Charger Update (#7197) --- code/game/machinery/cell_charger.dm | 161 ++++++++++++++++------------ icons/obj/power.dmi | Bin 22737 -> 22926 bytes 2 files changed, 95 insertions(+), 66 deletions(-) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 69cfd4a6e89..063eb8baa1b 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -10,88 +10,117 @@ power_channel = EQUIP var/obj/item/weapon/stock_parts/cell/charging = null var/chargelevel = -1 - proc - updateicon() - icon_state = "ccharger[charging ? 1 : 0]" - if(charging && !(stat & (BROKEN|NOPOWER)) ) +/obj/machinery/cell_charger/Destroy() + QDEL_NULL(charging) + return ..() - var/newlevel = round(charging.percent() * 4 / 100) -// to_chat(world, "nl: [newlevel]") +/obj/machinery/cell_charger/proc/updateicon() + icon_state = "ccharger[charging ? 1 : 0]" - if(chargelevel != newlevel) + if(charging && !(stat & (BROKEN|NOPOWER))) + var/newlevel = round(charging.percent() * 4 / 100) - overlays.Cut() - overlays += "ccharger-o[newlevel]" + if(chargelevel != newlevel) + chargelevel = newlevel - chargelevel = newlevel - else - overlays.Cut() - examine(mob/user) - if(..(user, 5)) - to_chat(user, "There's [charging ? "a" : "no"] cell in the charger.") - if(charging) - to_chat(user, "Current charge: [charging.charge]") + overlays.Cut() + overlays += "ccharger-o[newlevel]" - attackby(obj/item/weapon/W, mob/user, params) + else + overlays.Cut() + +/obj/machinery/cell_charger/examine(mob/user) + ..() + to_chat(user, "There's [charging ? "a" : "no"] cell in the charger.") + if(charging) + to_chat(user, "Current charge: [round(charging.percent(), 1)]%") + +/obj/machinery/cell_charger/attackby(obj/item/weapon/W, mob/user, params) + if(istype(W, /obj/item/weapon/stock_parts/cell)) if(stat & BROKEN) + to_chat(user, "[src] is broken!") + return + if(!anchored) + to_chat(user, "[src] isn't attached to the ground!") return - - if(istype(W, /obj/item/weapon/stock_parts/cell) && anchored) - if(charging) - to_chat(user, "There is already a cell in the charger.") - return - else - var/area/a = loc.loc // Gets our locations location, like a dream within a dream - if(!isarea(a)) - return - if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power! - to_chat(user, "The [name] blinks red as you try to insert the cell!") - return - - user.drop_item() - W.loc = src - charging = W - user.visible_message("[user] inserts a cell into the charger.", "You insert a cell into the charger.") - chargelevel = -1 - updateicon() - else if(istype(W, /obj/item/weapon/wrench)) - if(charging) - to_chat(user, "Remove the cell first!") - return - - anchored = !anchored - to_chat(user, "You [anchored ? "attach" : "detach"] the cell charger [anchored ? "to" : "from"] the ground") - playsound(get_turf(src), W.usesound, 75, 1) - - attack_hand(mob/user) if(charging) - usr.put_in_hands(charging) - charging.add_fingerprint(user) - charging.updateicon() + to_chat(user, "There is already a cell in the charger!") + return + else + var/area/a = loc.loc // Gets our locations location, like a dream within a dream + if(!isarea(a)) + return + if(a.power_equip == 0) // There's no APC in this area, don't try to cheat power! + to_chat(user, "[src] blinks red as you try to insert the cell!") + return + if(!user.drop_item()) + return - src.charging = null - user.visible_message("[user] removes the cell from the charger.", "You remove the cell from the charger.") + W.forceMove(src) + charging = W + user.visible_message("[user] inserts a cell into the charger.", "You insert a cell into the charger.") chargelevel = -1 updateicon() + else if(iswrench(W)) + if(charging) + to_chat(user, "Remove the cell first!") + return - attack_ai(mob/user) + anchored = !anchored + to_chat(user, "You [anchored ? "attach" : "detach"] the cell charger [anchored ? "to" : "from"] the ground") + playsound(src.loc, W.usesound, 75, 1) + else + return ..() + + +/obj/machinery/cell_charger/proc/removecell() + charging.updateicon() + charging = null + chargelevel = -1 + updateicon() + +/obj/machinery/cell_charger/attack_hand(mob/user) + if(!charging) return - emp_act(severity) - if(stat & (BROKEN|NOPOWER)) - return - if(charging) - charging.emp_act(severity) - ..(severity) + user.put_in_hands(charging) + charging.add_fingerprint(user) + + user.visible_message("[user] removes [charging] from [src].", "You remove [charging] from [src].") + + removecell() + +/obj/machinery/cell_charger/attack_tk(mob/user) + if(!charging) + return + + charging.forceMove(loc) + to_chat(user, "You telekinetically remove [charging] from [src].") + + removecell() + +/obj/machinery/cell_charger/attack_ai(mob/user) + return + +/obj/machinery/cell_charger/emp_act(severity) + if(stat & (BROKEN|NOPOWER)) + return + + if(charging) + charging.emp_act(severity) + + ..(severity) - process() -// to_chat(world, "ccpt [charging] [stat]") - if(!charging || (stat & (BROKEN|NOPOWER)) || !anchored) - return +/obj/machinery/cell_charger/process() + if(!charging || !anchored || (stat & (BROKEN|NOPOWER))) + return - use_power(200) //this used to use CELLRATE, but CELLRATE is fucking awful. feel free to fix this properly! - charging.give(175) //inefficiency. + if(charging.percent() >= 100) + return - updateicon() + use_power(200) //this used to use CELLRATE, but CELLRATE is fucking awful. feel free to fix this properly! + charging.give(175) //inefficiency. + + updateicon() \ No newline at end of file diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index e9de23533ed99839b2c783349cd0c74e900a64fb..32d86ddf66eebcf4458112ad716c5e88a5c8a166 100644 GIT binary patch literal 22926 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%0Adxwzm&33o0=Johvpe9AD?S zI#qSeWWpKx$4IuJ{qT>TU5OGeDB+9_wU2};{;iw3&!bSz2F|orWwz!1gT4>G(Bq`v zp|C#uf4l;oL3R5AxM<;4u1ZYBv>JEExw?8gPN2d$4P#>~q-DaBcC)*^b6-P4Th6D=aZtF!)r{!MR)Qi!60DdFB)yVQEYU&!sby zY-t5G*zH)bza3nRPmQ>pJ#1U>%rqH=zzQwArERGovjau|N3uID)SxZG^}&tf+^sw_ z02>2*`tm1lo91TF^O1sLP29ylCk~I?47eZ0ASEDUD%onk>=L>x8Xx))G`vslJ+6$7hI(_5KqVd6$4gGZ&=qOXi%Lm2R zwbD6I{gP~nAT~_xdWfG;`kA*;Pg5vTw=v=NRc1;&||R-RidNKd{!Cq zDF^L>BZI`{@p=n7F~VAe>QK;Y(dB!Dsz!0K?Hmo*{etUwIB|y|rTE)WvG0o@v56QS z%HHI1IP6$jtlzU!RN>s5n_ko_moX{asUZf2rqzGLIJr}lN=e_XA>=R&UBhfwUiczjnHJC_N-ExT{bd<#9t#c@5k$o%KNyZ9@*OZLr zpF$cAG$6mv$;hld+&)UnSF3IjMX93a>h}ujl8=x|NY=v#o(1>+ zJg^JEmx3S1NgFx;V91P7NF`y@VK*WeRgP`)Rf|CrPVV@N$I6w@MrzErP*?agiPG){Zq9M>76XKW~$S8juj=( z?T=fzRh0kDO{ZH^+$GGjmimNE&u@ed_-jzheNdPdt}FpiVbL?OjYX*4D=;tp|4lCc zH@V|K&Y0bLN0#(in`a+ojNzyih=a|mE{@ENKbw&yH&xT7!@x>PrUdT6o0ov#YcI3w zAqw=(cy{F8ifwS7QlknuB5~8T)wrn);^_5$21)By0`@X&kg@szJNbjZ7hqC+7UqDV zlq|$Q*mQY)_KSedt|VY#-21EaKw4b zIFLnJe@pLZ*k{rJNWl%s*6jYW$LvRlNBCvLmS!R(8KuDDcoNP<@z9r_U7f|#*+5)Tt(THn28@VQ@*h_g-*tuPC zf1RND`bkh`MQMy3t8TN{p3In7t2|QdCD@l7Vu?a*?vDgpoMmDZliB6Kp&LZ#`Q`VQ z2)KSgGL0zRS=WNPNIJkNWtZfcy!ny_QGw)v+!g@dtFu&$hp)1YDr>Wp*Gb z8`3_1UiSjxZhE&9^zOVpheCoF+rvu4R_sZb1O=bmj2Z*2GHUJ=yPHAC2@-Ouw3Q3u zgAI(=sd0oNry^w2eSuMh7Dh%(t6HwWHwO6XzDTJ-jXmZ!cMgVtAkt|aCnz+!)a6v4 z$$S#^26jH^67X3vGS^e|iQI$50Val%O2@rE<(puDaBRWC@c{p%E_gD5Q6Bbot{C|2 k-%VNnkNx_OO&AL*dn8I+DC^rV;Ij<5YzjB2HuAXtUnr%EivR!s literal 22737 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 N%Vu___=~>D{{dt=U+n+@ From 3423a191b58d7efbb4be51e66e51766321b11f7d Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 18:25:36 -0400 Subject: [PATCH 16/27] Automatic changelog compile, [ci skip] --- html/changelog.html | 4 ++++ html/changelogs/.all_changelog.yml | 2 ++ html/changelogs/AutoChangeLog-pr-7223.yml | 4 ---- 3 files changed, 6 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7223.yml diff --git a/html/changelog.html b/html/changelog.html index ce970cd5044..5be4e205e5f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,10 @@ -->

      06 May 2017

      +

      Allfd updated:

      +
        +
      • Thrown mobs will not step on broken glass while being thrown.
      • +

      Fethas updated:

      • Fixes sacreficed your target not triggering the next objective.
      • diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index bab7492be92..37fd2df4118 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4606,6 +4606,8 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - tweak: Magistrate, IAA, and BS will now spawn with the correct color dpet satchal and duffel 2017-05-06: + Allfd: + - tweak: Thrown mobs will not step on broken glass while being thrown. Fethas: - bugfix: Fixes sacreficed your target not triggering the next objective. - bugfix: YOU CAN NOW ONLY CONVERT HUMANS NOT MICE! diff --git a/html/changelogs/AutoChangeLog-pr-7223.yml b/html/changelogs/AutoChangeLog-pr-7223.yml deleted file mode 100644 index 97d9a223592..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7223.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Allfd" -delete-after: True -changes: - - tweak: "Thrown mobs will not step on broken glass while being thrown." From 8d4cc7b6452d943873c5553a9409088fd383618e Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 6 May 2017 18:26:45 -0400 Subject: [PATCH 17/27] Organ and Autopsy Qdel Fixes and Minor Organ Tweaks (#7201) * Organ and Autopsy Qdel Fixes * organ tweaks * tweaks --- code/__HELPERS/qdel.dm | 2 +- .../gamemodes/changeling/powers/revive.dm | 18 ++--- code/game/objects/items/devices/autopsy.dm | 10 ++- code/modules/surgery/organs/organ.dm | 8 +++ code/modules/surgery/organs/organ_external.dm | 10 ++- code/modules/surgery/organs/organ_internal.dm | 33 ++-------- code/modules/surgery/organs/subtypes/misc.dm | 66 ------------------- code/modules/surgery/organs/subtypes/vox.dm | 13 ++++ paradise.dme | 1 - 9 files changed, 54 insertions(+), 107 deletions(-) delete mode 100644 code/modules/surgery/organs/subtypes/misc.dm diff --git a/code/__HELPERS/qdel.dm b/code/__HELPERS/qdel.dm index 2aea6de0dd7..8171dd66427 100644 --- a/code/__HELPERS/qdel.dm +++ b/code/__HELPERS/qdel.dm @@ -2,4 +2,4 @@ #define QDEL_NULL(item) if(item) { qdel(item); item = null } #define QDEL_LIST(L) if(L) { for(var/I in L) qdel(I); L.Cut(); } #define QDEL_LIST_ASSOC(L) if(L) { for(var/I in L) { qdel(L[I]); qdel(I); } L.Cut(); } -#define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qel(L[I]); L.Cut(); } +#define QDEL_LIST_ASSOC_VAL(L) if(L) { for(var/I in L) qdel(L[I]); L.Cut(); } diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm index 892c89fdd3a..5fd98986332 100644 --- a/code/game/gamemodes/changeling/powers/revive.dm +++ b/code/game/gamemodes/changeling/powers/revive.dm @@ -37,27 +37,27 @@ // isn't, but I don't want to remove it, just in case. for(var/organ_name in H.bodyparts_by_name) var/obj/item/organ/external/O = H.bodyparts_by_name[organ_name] - if(!O) continue + if(!O) + continue for(var/obj/item/weapon/shard/shrapnel/s in O.implants) - if(istype(s)) - O.implants -= s - H.contents -= s - qdel(s) + O.implants -= s + H.contents -= s + qdel(s) O.brute_dam = 0 O.burn_dam = 0 O.damage_state = "00" O.germ_level = 0 - O.hidden = null + QDEL_NULL(O.hidden) O.number_wounds = 0 O.open = 0 O.perma_injury = 0 O.status = 0 - O.trace_chemicals = list() - O.wounds = list() + O.trace_chemicals.Cut() + QDEL_LIST(O.wounds) O.wound_update_accuracy = 1 for(var/obj/item/organ/internal/IO in H.internal_organs) IO.damage = 0 - IO.trace_chemicals = list() + IO.trace_chemicals.Cut() H.updatehealth() to_chat(user, "We have regenerated.") diff --git a/code/game/objects/items/devices/autopsy.dm b/code/game/objects/items/devices/autopsy.dm index 7ebf13e538b..2839715d7d7 100644 --- a/code/game/objects/items/devices/autopsy.dm +++ b/code/game/objects/items/devices/autopsy.dm @@ -7,16 +7,24 @@ w_class = WEIGHT_CLASS_TINY origin_tech = "materials=1;biotech=1" var/list/datum/autopsy_data_scanner/wdata = list() - var/list/datum/autopsy_data_scanner/chemtraces = list() + var/list/chemtraces = list() var/target_name = null var/timeofdeath = null +/obj/item/weapon/autopsy_scanner/Destroy() + QDEL_LIST_ASSOC_VAL(wdata) + return ..() + /datum/autopsy_data_scanner var/weapon = null // this is the DEFINITE weapon type that was used var/list/organs_scanned = list() // this maps a number of scanned organs to // the wounds to those organs with this data's weapon type var/organ_names = "" +/datum/autopsy_data_scanner/Destroy() + QDEL_LIST_ASSOC_VAL(organs_scanned) + return ..() + /datum/autopsy_data var/weapon = null var/pretend_weapon = null diff --git a/code/modules/surgery/organs/organ.dm b/code/modules/surgery/organs/organ.dm index dd0c9655384..1af9e92b233 100644 --- a/code/modules/surgery/organs/organ.dm +++ b/code/modules/surgery/organs/organ.dm @@ -32,6 +32,14 @@ var/list/organ_cache = list() var/sterile = 0 //can the organ be infected by germs? var/tough = 0 //can organ be easily damaged? +/obj/item/organ/Destroy() + processing_objects.Remove(src) + if(owner) + remove(owner, 1) + QDEL_LIST_ASSOC_VAL(autopsy_data) + QDEL_NULL(dna) + return ..() + /obj/item/organ/proc/update_health() return diff --git a/code/modules/surgery/organs/organ_external.dm b/code/modules/surgery/organs/organ_external.dm index 10f50cceaea..fa955c8ea98 100644 --- a/code/modules/surgery/organs/organ_external.dm +++ b/code/modules/surgery/organs/organ_external.dm @@ -71,11 +71,11 @@ /obj/item/organ/external/necrotize(update_sprite=TRUE) if(status & (ORGAN_ROBOT|ORGAN_DEAD)) return - to_chat(owner, "You can't feel your [name] anymore...") status |= ORGAN_DEAD if(dead_icon) icon_state = dead_icon if(owner) + to_chat(owner, "You can't feel your [name] anymore...") owner.update_body(update_sprite) owner.bad_external_organs |= src if(vital) @@ -85,6 +85,8 @@ if(parent && parent.children) parent.children -= src + parent = null + if(internal_organs) for(var/obj/item/organ/internal/O in internal_organs) internal_organs -= O @@ -102,6 +104,12 @@ deltimer(wound_cleanup_timer) wound_cleanup_timer = null + QDEL_LIST(wounds) + + QDEL_LIST(implants) + + QDEL_NULL(hidden) + return ..() /obj/item/organ/external/attackby(obj/item/weapon/W as obj, mob/user as mob) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 6c775862373..7bea9c480af 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -15,11 +15,6 @@ if(istype(holder)) insert(holder) -/obj/item/organ/internal/Destroy() - if(owner) - remove(owner, 1) - return ..() - /obj/item/organ/internal/proc/insert(mob/living/carbon/M, special = 0, var/dont_remove_slot = 0) if(!iscarbon(M) || owner == M) return @@ -120,12 +115,6 @@ reagents.add_reagent("nutriment", 5) - -/obj/item/organ/internal/Destroy() - if(owner) - remove(owner, 1) - return ..() - /obj/item/organ/internal/attack(mob/living/carbon/M, mob/user) if(M == user && ishuman(user)) var/mob/living/carbon/human/H = user @@ -296,21 +285,18 @@ // . = ..() -/obj/item/organ/internal/lungs/process() +/obj/item/organ/internal/lungs/on_life() ..() - - if(!owner) - return if(germ_level > INFECTION_LEVEL_ONE) if(prob(5)) owner.emote("cough") //respitory tract infection if(is_bruised()) if(prob(2)) - spawn owner.custom_emote(1, "coughs up blood!") + owner.custom_emote(1, "coughs up blood!") owner.drip(10) if(prob(4)) - spawn owner.custom_emote(1, "gasps for air!") + owner.custom_emote(1, "gasps for air!") owner.AdjustLoseBreath(5) /obj/item/organ/internal/kidneys @@ -321,13 +307,8 @@ parent_organ = "groin" slot = "kidneys" -/obj/item/organ/internal/kidneys/process() - +/obj/item/organ/internal/kidneys/on_life() ..() - - if(!owner) - return - // Coffee is really bad for you with busted kidneys. // This should probably be expanded in some way, but fucked if I know // what else kidneys can process in our reagent list. @@ -439,12 +420,8 @@ slot = "liver" var/alcohol_intensity = 1 -/obj/item/organ/internal/liver/process() +/obj/item/organ/internal/liver/on_life() ..() - - if(!owner) - return - if(germ_level > INFECTION_LEVEL_ONE) if(prob(1)) to_chat(owner, " Your skin itches.") diff --git a/code/modules/surgery/organs/subtypes/misc.dm b/code/modules/surgery/organs/subtypes/misc.dm deleted file mode 100644 index be76fa907dc..00000000000 --- a/code/modules/surgery/organs/subtypes/misc.dm +++ /dev/null @@ -1,66 +0,0 @@ -//CORTICAL BORER ORGANS. -/obj/item/organ/internal/borer - name = "cortical borer" - icon = 'icons/obj/objects.dmi' - icon_state = "borer" - parent_organ = "head" - organ_tag = "brain" - slot = "borer" - vital = 1 - -/obj/item/organ/internal/borer/process() - - // Borer husks regenerate health, feel no pain, and are resistant to stuns and brainloss. - for(var/chem in list("saline", "sailcylic", "meth", "mannitol")) - if(owner.reagents.get_reagent_amount(chem) < 3) - owner.reagents.add_reagent(chem, 5) - - // They're also super gross and ooze ichor. - if(prob(5)) - var/mob/living/carbon/human/H = owner - if(!istype(H)) - return - - var/datum/reagent/blood/B = locate(/datum/reagent/blood) in H.vessel.reagent_list - blood_splatter(H,B,1) - var/obj/effect/decal/cleanable/blood/splatter/goo = locate() in get_turf(owner) - if(goo) - goo.name = "husk ichor" - goo.desc = "It's thick and stinks of decay." - goo.basecolor = "#412464" - goo.update_icon() - -/obj/item/organ/internal/borer/remove(var/mob/living/user) - - ..() - - var/mob/living/simple_animal/borer/B = owner.has_brain_worms() - if(B) - B.leave_host() - B.ckey = owner.ckey - - spawn(0) - qdel(src) - return null - -//VOX ORGANS. -/obj/item/organ/internal/stack - name = "cortical stack" - icon_state = "brain-prosthetic" - parent_organ = "head" - organ_tag = "stack" - slot = "vox_stack" - robotic = 2 - vital = 1 - var/backup_time = 0 - var/datum/mind/backup - -/obj/item/organ/internal/stack/process() - if(owner && owner.stat != 2 && !is_broken()) - backup_time = world.time - if(owner.mind) backup = owner.mind - -/obj/item/organ/internal/stack/vox - name = "vox cortical stack" - -/obj/item/organ/internal/stack/vox/stack diff --git a/code/modules/surgery/organs/subtypes/vox.dm b/code/modules/surgery/organs/subtypes/vox.dm index f0b94e2963e..bb56c41030d 100644 --- a/code/modules/surgery/organs/subtypes/vox.dm +++ b/code/modules/surgery/organs/subtypes/vox.dm @@ -1,3 +1,16 @@ /obj/item/organ/internal/liver/vox alcohol_intensity = 1.6 species = "Vox" + + +/obj/item/organ/internal/stack + name = "cortical stack" + icon_state = "brain-prosthetic" + parent_organ = "head" + organ_tag = "stack" + slot = "vox_stack" + robotic = 2 + vital = 1 + +/obj/item/organ/internal/stack/vox + name = "vox cortical stack" \ No newline at end of file diff --git a/paradise.dme b/paradise.dme index 5d94ed67f86..ffe53541474 100644 --- a/paradise.dme +++ b/paradise.dme @@ -2185,7 +2185,6 @@ #include "code\modules\surgery\organs\subtypes\grey.dm" #include "code\modules\surgery\organs\subtypes\kidan.dm" #include "code\modules\surgery\organs\subtypes\machine.dm" -#include "code\modules\surgery\organs\subtypes\misc.dm" #include "code\modules\surgery\organs\subtypes\nucleation.dm" #include "code\modules\surgery\organs\subtypes\shadow.dm" #include "code\modules\surgery\organs\subtypes\skrell.dm" From e7f612eda0b3356b5a4fd5e329c07d96af4538a1 Mon Sep 17 00:00:00 2001 From: Aurorablade Date: Sat, 6 May 2017 18:44:59 -0400 Subject: [PATCH 18/27] Adds Tajaran Veil Clothing Racial Item (#7225) * Initial commit Squashed * hideeyes * false changes * coverseyes --- .../preference/loadout/loadout_racial.dm | 40 ++++++++++++++++ code/modules/clothing/glasses/glasses.dm | 44 +++++++++++++++++- code/modules/clothing/glasses/hud.dm | 27 ++++++++++- icons/mob/eyes.dmi | Bin 14431 -> 15918 bytes icons/obj/clothing/glasses.dmi | Bin 10996 -> 11909 bytes paradise.dme | 1 + 6 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 code/modules/client/preference/loadout/loadout_racial.dm diff --git a/code/modules/client/preference/loadout/loadout_racial.dm b/code/modules/client/preference/loadout/loadout_racial.dm new file mode 100644 index 00000000000..e9d89a31d34 --- /dev/null +++ b/code/modules/client/preference/loadout/loadout_racial.dm @@ -0,0 +1,40 @@ +/datum/gear/racial + sort_category = "Racial" + subtype_path = /datum/gear/racial + cost = 2 + + +/datum/gear/racial/tajciv + display_name = "embroidered veil" + description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races." + path = /obj/item/clothing/glasses/tajblind + +/datum/gear/racial/tajsec + display_name = "sleek veil" + description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built security HUD." + path = /obj/item/clothing/glasses/hud/security/tajblind + allowed_roles = list("Head of Security", "Warden", "Security Officer", "Security Pod Pilot", "Internal Affairs Agent", "Magistrate") + +/datum/gear/racial/tajmed + display_name = "lightweight veil" + description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built medical HUD." + path = /obj/item/clothing/glasses/hud/health/tajblind + allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Psychiatrist", "Paramedic", "Virologist", "Brig Physician") + +/datum/gear/racial/tajsci + display_name = "hi-tech veil" + description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races." + path = /obj/item/clothing/glasses/tajblind/sci + allowed_roles = list("Scientist", "Research Director", "Robotocist") + +/datum/gear/racial/tajeng + display_name = "industrial veil" + description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races." + path = /obj/item/clothing/glasses/tajblind/eng + allowed_roles = list("Chief Engineer", "Station Engineer", "Mechanic", "Life Support Specialist") + +/datum/gear/racial/tajcargo + display_name = "khaki veil" + description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. It is light and comfy!" + path = /obj/item/clothing/glasses/tajblind/cargo + allowed_roles = list("Quartermaster","Cargo Technician", "Miner") \ No newline at end of file diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 9fe951a7dc7..febc8d5b306 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -495,4 +495,46 @@ else to_chat(user, "The eye winks at you and vanishes into the abyss, you feel really unlucky.") qdel(src) - ..() \ No newline at end of file + ..() + +/obj/item/clothing/glasses/tajblind + name = "embroidered veil" + desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes." + icon_state = "tajblind" + item_state = "tajblind" + flags_cover = GLASSESCOVERSEYES + actions_types = list(/datum/action/item_action/toggle) + up = 0 + tint = 0 + +/obj/item/clothing/glasses/tajblind/eng + name = "industrial veil" + icon_state = "tajblind_engi" + item_state = "tajblind_engi" + +/obj/item/clothing/glasses/tajblind/sci + name = "hi-tech veil" + icon_state = "tajblind_sci" + item_state = "tajblind_sci" + +/obj/item/clothing/glasses/tajblind/cargo + name = "khaki veil" + icon_state = "tajblind_cargo" + item_state = "tajblind_cargo" + +/obj/item/clothing/glasses/tajblind/attack_self() + toggle_veil() + +/obj/item/clothing/glasses/proc/toggle_veil() + if(usr.canmove && !usr.incapacitated()) + if(up) + up = !up + tint = initial(tint) + to_chat(usr, "You activate [src], allowing you to see.") + else + up = !up + tint = 3 + to_chat(usr, "You deactivate [src], obscuring your vision.") + var/mob/living/carbon/user = usr + user.update_tint() + user.update_inv_glasses() \ No newline at end of file diff --git a/code/modules/clothing/glasses/hud.dm b/code/modules/clothing/glasses/hud.dm index 18d9b26361f..38fd0d38ace 100644 --- a/code/modules/clothing/glasses/hud.dm +++ b/code/modules/clothing/glasses/hud.dm @@ -9,6 +9,7 @@ /obj/item/clothing/glasses/hud/equipped(mob/living/carbon/human/user, slot) + ..() if(HUDType && slot == slot_glasses) var/datum/atom_hud/H = huds[HUDType] H.add_hud_to(user) @@ -133,4 +134,28 @@ item_state = "glasses" darkness_view = 8 invis_view = SEE_INVISIBLE_MINIMUM //don't render darkness while wearing these - prescription_upgradable = 0 \ No newline at end of file + prescription_upgradable = 0 + +/obj/item/clothing/glasses/hud/security/tajblind + name = "sleek veil" + desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes. This one has an in-built security HUD." + icon_state = "tajblind_sec" + item_state = "tajblind_sec" + flags_cover = GLASSESCOVERSEYES + actions_types = list(/datum/action/item_action/toggle) + up = 0 + +/obj/item/clothing/glasses/hud/security/tajblind/attack_self() + toggle_veil() + +/obj/item/clothing/glasses/hud/health/tajblind + name = "lightweight veil" + desc = "An Ahdominian made veil that allows the user to see while obscuring their eyes. This one has an installed medical HUD." + icon_state = "tajblind_med" + item_state = "tajblind_med" + flags_cover = GLASSESCOVERSEYES + actions_types = list(/datum/action/item_action/toggle) + up = 0 + +/obj/item/clothing/glasses/hud/health/tajblind/attack_self() + toggle_veil() \ No newline at end of file diff --git a/icons/mob/eyes.dmi b/icons/mob/eyes.dmi index fdf13394f208426bf381e66d094e2199d62ddfb5..d516d5f198396d1f94cd062fd22c0d76c6f79bf0 100644 GIT binary patch literal 15918 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 ATmS$7 diff --git a/paradise.dme b/paradise.dme index ffe53541474..90e484bf1e4 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1143,6 +1143,7 @@ #include "code\modules\client\preference\loadout\loadout_donor.dm" #include "code\modules\client\preference\loadout\loadout_general.dm" #include "code\modules\client\preference\loadout\loadout_hat.dm" +#include "code\modules\client\preference\loadout\loadout_racial.dm" #include "code\modules\client\preference\loadout\loadout_shoes.dm" #include "code\modules\client\preference\loadout\loadout_suit.dm" #include "code\modules\client\preference\loadout\loadout_uniform.dm" From 8715a264c78dc082912658a5b654b652b3913c02 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 18:45:00 -0400 Subject: [PATCH 19/27] Automatic changelog generation for PR #7225 [ci skip] --- html/changelogs/AutoChangeLog-pr-7225.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7225.yml diff --git a/html/changelogs/AutoChangeLog-pr-7225.yml b/html/changelogs/AutoChangeLog-pr-7225.yml new file mode 100644 index 00000000000..17ff54092ca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7225.yml @@ -0,0 +1,5 @@ +author: "Fethas" +delete-after: True +changes: + - rscadd: "Adds Tajaran veils as a loadout options" + - rscadd: "Racial loadout tab" From acaffe3b85d7b3974f9060c399cd683203b44ba5 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 19:09:17 -0400 Subject: [PATCH 20/27] Automatic changelog generation for PR #7178 [ci skip] --- html/changelogs/AutoChangeLog-pr-7178.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7178.yml diff --git a/html/changelogs/AutoChangeLog-pr-7178.yml b/html/changelogs/AutoChangeLog-pr-7178.yml new file mode 100644 index 00000000000..e17cd3c064c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7178.yml @@ -0,0 +1,4 @@ +author: "uraniummeltdown" +delete-after: True +changes: + - rscdel: "Removed Robocop, Paladin, NT Default as roundstart lawsets." From 3278af5799a5aad85a4b2d3afaa0b723caf31f2d Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sat, 6 May 2017 19:35:36 -0400 Subject: [PATCH 21/27] Automatic changelog compile, [ci skip] --- html/changelog.html | 6 ++++++ html/changelogs/.all_changelog.yml | 4 ++++ html/changelogs/AutoChangeLog-pr-7178.yml | 4 ---- html/changelogs/AutoChangeLog-pr-7225.yml | 5 ----- 4 files changed, 10 insertions(+), 9 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7178.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7225.yml diff --git a/html/changelog.html b/html/changelog.html index 5be4e205e5f..c8e2dd6bb27 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -65,11 +65,17 @@

      • Fixes sacreficed your target not triggering the next objective.
      • YOU CAN NOW ONLY CONVERT HUMANS NOT MICE!
      • bloodspill tiles changed from base 100 (plus random number based on players) to 70.
      • +
      • Adds Tajaran veils as a loadout options
      • +
      • Racial loadout tab

      LightFire69 updated:

      • Added a pretty plasmaman suit
      +

      uraniummeltdown updated:

      +
        +
      • Removed Robocop, Paladin, NT Default as roundstart lawsets.
      • +

      05 May 2017

      Fethas updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 37fd2df4118..33140b09251 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4613,5 +4613,9 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: YOU CAN NOW ONLY CONVERT HUMANS NOT MICE! - tweak: bloodspill tiles changed from base 100 (plus random number based on players) to 70. + - rscadd: Adds Tajaran veils as a loadout options + - rscadd: Racial loadout tab LightFire69: - rscadd: Added a pretty plasmaman suit + uraniummeltdown: + - rscdel: Removed Robocop, Paladin, NT Default as roundstart lawsets. diff --git a/html/changelogs/AutoChangeLog-pr-7178.yml b/html/changelogs/AutoChangeLog-pr-7178.yml deleted file mode 100644 index e17cd3c064c..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7178.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "uraniummeltdown" -delete-after: True -changes: - - rscdel: "Removed Robocop, Paladin, NT Default as roundstart lawsets." diff --git a/html/changelogs/AutoChangeLog-pr-7225.yml b/html/changelogs/AutoChangeLog-pr-7225.yml deleted file mode 100644 index 17ff54092ca..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7225.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Fethas" -delete-after: True -changes: - - rscadd: "Adds Tajaran veils as a loadout options" - - rscadd: "Racial loadout tab" From 6c8a20a825dd3eaace9247d4f75d00eb848d4e81 Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sat, 6 May 2017 23:41:59 -0700 Subject: [PATCH 22/27] Radios no longer double-dip initialize 4noraisin --- code/game/objects/items/devices/radio/radio.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index b48f21a60cd..7145bd88bb7 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -66,8 +66,6 @@ var/global/list/default_medbay_channels = list( /obj/item/device/radio/New() ..() wires = new(src) - if(radio_controller) - initialize() internal_channels = default_internal_channels.Copy() global_radios |= src From 7fd86096af439cc84e6a5e55d5f438f78ff38d6a Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sun, 7 May 2017 02:48:18 -0400 Subject: [PATCH 23/27] More GC and Performance Fixes (#7248) --- code/game/machinery/alarm.dm | 8 +++++- code/game/machinery/firealarm.dm | 15 ----------- .../security_levels/security levels.dm | 26 +++++++++---------- 3 files changed, 20 insertions(+), 29 deletions(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index e4cb0028408..b5612389def 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -213,6 +213,10 @@ radio_controller.remove_object(src, frequency) air_alarm_repository.update_cache(src) QDEL_NULL(wires) + if(alarm_area && alarm_area.master_air_alarm == src) + alarm_area.master_air_alarm = null + elect_master(exclude_self = 1) + alarm_area = null return ..() /obj/machinery/alarm/proc/first_run() @@ -236,8 +240,10 @@ return alarm_area.master_air_alarm && !(alarm_area.master_air_alarm.stat & (NOPOWER|BROKEN)) -/obj/machinery/alarm/proc/elect_master() +/obj/machinery/alarm/proc/elect_master(exclude_self = 0) //Why is this an alarm and not area proc? for(var/obj/machinery/alarm/AA in alarm_area) + if(exclude_self && AA == src) + continue if(!(AA.stat & (NOPOWER|BROKEN))) alarm_area.master_air_alarm = AA return 1 diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 586b45f0a13..da85a864214 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -19,13 +19,6 @@ FIRE ALARM var/last_process = 0 var/wiresexposed = 0 var/buildstage = 2 // 2 = complete, 1 = no wires, 0 = circuit gone - var/area/master_area - -/obj/machinery/firealarm/New() - var/area/A = get_area_master(src) - if(!istype(A, /area)) - return - master_area = A /obj/machinery/firealarm/update_icon() @@ -294,14 +287,6 @@ Just a object used in constructing fire alarms idle_power_usage = 2 active_power_usage = 6 - var/area/master_area - -/obj/machinery/partyalarm/New() - var/area/A = get_area_master(src) - if(!( istype(A, /area) )) - return - master_area=A - /obj/machinery/partyalarm/attack_hand(mob/user) if((user.stat && !isobserver(user)) || stat & (NOPOWER|BROKEN)) return diff --git a/code/modules/security_levels/security levels.dm b/code/modules/security_levels/security levels.dm index 0d25330177c..42bfb39b4eb 100644 --- a/code/modules/security_levels/security levels.dm +++ b/code/modules/security_levels/security levels.dm @@ -34,9 +34,9 @@ post_status("alert", "outline") - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(is_station_contact(FA.z)) - FA.overlays = list() + FA.overlays.Cut() FA.overlays += image('icons/obj/monitors.dmi', "overlay_green") if(SEC_LEVEL_BLUE) @@ -48,9 +48,9 @@ post_status("alert", "outline") - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(is_station_contact(FA.z)) - FA.overlays = list() + FA.overlays.Cut() FA.overlays += image('icons/obj/monitors.dmi', "overlay_blue") if(SEC_LEVEL_RED) @@ -60,16 +60,16 @@ security_announcement_down.Announce("The station's self-destruct mechanism has been deactivated, but there is still an immediate and serious threat to the station. Security may have weapons unholstered at all times. Random searches are allowed and advised.","Attention! Code Red!") security_level = SEC_LEVEL_RED - var/obj/machinery/door/airlock/highsecurity/red/R = locate(/obj/machinery/door/airlock/highsecurity/red) in world + var/obj/machinery/door/airlock/highsecurity/red/R = locate(/obj/machinery/door/airlock/highsecurity/red) in airlocks if(R && is_station_level(R.z)) R.locked = 0 R.update_icon() post_status("alert", "redalert") - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(is_station_contact(FA.z)) - FA.overlays = list() + FA.overlays.Cut() FA.overlays += image('icons/obj/monitors.dmi', "overlay_red") if(SEC_LEVEL_GAMMA) @@ -91,9 +91,9 @@ post_status("alert", "gammaalert") - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(is_station_contact(FA.z)) - FA.overlays = list() + FA.overlays.Cut() FA.overlays += image('icons/obj/monitors.dmi', "overlay_gamma") FA.update_icon() @@ -103,9 +103,9 @@ post_status("alert", "epsilonalert") - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(is_station_contact(FA.z)) - FA.overlays = list() + FA.overlays.Cut() FA.overlays += image('icons/obj/monitors.dmi', "overlay_epsilon") if(SEC_LEVEL_DELTA) @@ -114,9 +114,9 @@ post_status("alert", "deltaalert") - for(var/obj/machinery/firealarm/FA in world) + for(var/obj/machinery/firealarm/FA in machines) if(is_station_contact(FA.z)) - FA.overlays = list() + FA.overlays.Cut() FA.overlays += image('icons/obj/monitors.dmi', "overlay_delta") else From acf9d1efcb8878600811cb1c68772ce78b72902a Mon Sep 17 00:00:00 2001 From: Twinmold93 Date: Sun, 7 May 2017 02:08:37 -0500 Subject: [PATCH 24/27] Fixes Deep-Fried Grabs and Display Case Grabs (#7240) * Fixes Grab's on Lethal Kitchen Fixes the issue that I didn't have in testing. Fixes #7239 :cl: Twinmold Fix: No longer able to cook grabs. /:cl: * Fixes Display Case Fixes #7212 * Changes Display Case to use ABSTRACT So you can't put Ei'Nath into the case... Also, you already can't put things like that in the deep fryer/other kitchen equipment, so that's good. --- code/game/objects/structures/displaycase.dm | 3 +++ code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm | 2 +- code/modules/food_and_drinks/kitchen_machinery/grill_new.dm | 2 +- code/modules/food_and_drinks/kitchen_machinery/oven_new.dm | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm index 9ecf82a54fb..72638ff0943 100644 --- a/code/game/objects/structures/displaycase.dm +++ b/code/game/objects/structures/displaycase.dm @@ -256,6 +256,9 @@ var/global/list/captain_display_cases = list() new /obj/machinery/constructable_frame/machine_frame(T) qdel(src) return + if(W.flags & ABSTRACT) + to_chat(user, "You can't put this into the case.") + return if(user.a_intent == I_HARM) if(locked && !destroyed) src.health -= W.force diff --git a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm index 1781479ec6c..5862de7d6ca 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/deep_fryer.dm @@ -61,7 +61,7 @@ head.disfigure("burn") add_logs(user, G.affecting, "deep-fried", addition="'s face") qdel(G) //Removes the grip so the person MIGHT have a small chance to run the fuck away and to prevent rapid dunks. - return 1 + return 0 return 0 diff --git a/code/modules/food_and_drinks/kitchen_machinery/grill_new.dm b/code/modules/food_and_drinks/kitchen_machinery/grill_new.dm index d63971dcc30..1a1dd34196d 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/grill_new.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/grill_new.dm @@ -57,5 +57,5 @@ C.adjustFireLoss(30) add_logs(user, G.affecting, "burned", src) qdel(G) //Removes the grip to prevent rapid sears and give you a chance to run - return 1 + return 0 return 0 \ No newline at end of file diff --git a/code/modules/food_and_drinks/kitchen_machinery/oven_new.dm b/code/modules/food_and_drinks/kitchen_machinery/oven_new.dm index bd850288bc4..5c1ed4ac6df 100644 --- a/code/modules/food_and_drinks/kitchen_machinery/oven_new.dm +++ b/code/modules/food_and_drinks/kitchen_machinery/oven_new.dm @@ -63,5 +63,5 @@ C.Weaken(2) add_logs(user, G.affecting, "smashed", addition="'s head on [src]") qdel(G) //Removes the grip to prevent rapid bashes. With the weaken, you PROBABLY can't run unless they are slow to grab you again... - return 1 + return 0 return 0 From 01755751092f0acc2a133e67e0186920d0796f67 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 7 May 2017 03:08:38 -0400 Subject: [PATCH 25/27] Automatic changelog generation for PR #7240 [ci skip] --- html/changelogs/AutoChangeLog-pr-7240.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7240.yml diff --git a/html/changelogs/AutoChangeLog-pr-7240.yml b/html/changelogs/AutoChangeLog-pr-7240.yml new file mode 100644 index 00000000000..fe5de462452 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7240.yml @@ -0,0 +1,5 @@ +author: "Twinmold" +delete-after: True +changes: + - bugfix: "No longer able to put grabs into kitchen equipment (deep-fried grab)." + - bugfix: "No longer able to put grabs inside of display cases." From 6e4166c5d773177482f6aa5bf10fa2ddae799696 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Sun, 7 May 2017 03:36:27 -0400 Subject: [PATCH 26/27] Automatic changelog compile, [ci skip] --- html/changelog.html | 7 +++++++ html/changelogs/.all_changelog.yml | 4 ++++ html/changelogs/AutoChangeLog-pr-7240.yml | 5 ----- 3 files changed, 11 insertions(+), 5 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7240.yml diff --git a/html/changelog.html b/html/changelog.html index c8e2dd6bb27..56f7dd73502 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,13 @@ -->
      +

      07 May 2017

      +

      Twinmold updated:

      +
        +
      • No longer able to put grabs into kitchen equipment (deep-fried grab).
      • +
      • No longer able to put grabs inside of display cases.
      • +
      +

      06 May 2017

      Allfd updated:

        diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 33140b09251..e29fcc2c872 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -4619,3 +4619,7 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - rscadd: Added a pretty plasmaman suit uraniummeltdown: - rscdel: Removed Robocop, Paladin, NT Default as roundstart lawsets. +2017-05-07: + Twinmold: + - bugfix: No longer able to put grabs into kitchen equipment (deep-fried grab). + - bugfix: No longer able to put grabs inside of display cases. diff --git a/html/changelogs/AutoChangeLog-pr-7240.yml b/html/changelogs/AutoChangeLog-pr-7240.yml deleted file mode 100644 index fe5de462452..00000000000 --- a/html/changelogs/AutoChangeLog-pr-7240.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Twinmold" -delete-after: True -changes: - - bugfix: "No longer able to put grabs into kitchen equipment (deep-fried grab)." - - bugfix: "No longer able to put grabs inside of display cases." From 4c13e98a89c1b986b23d7fdd8f991b0398ef6e1e Mon Sep 17 00:00:00 2001 From: Crazylemon64 Date: Sun, 7 May 2017 02:06:27 -0700 Subject: [PATCH 27/27] Patched the awkward period between pre-game and the round start not having init --- code/game/atoms_movable.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index b8673b497d5..7dd8d0c5be8 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -26,7 +26,7 @@ // If you're wondering what goofery this is, this is for things that need the environment // around them set up - like `air_update_turf` and the like - if((ticker && ticker.current_state == GAME_STATE_PLAYING)) + if((ticker && ticker.current_state >= GAME_STATE_SETTING_UP)) attempt_init() /atom/movable/Destroy() @@ -231,7 +231,7 @@ if(isobj(A)) if(A.density && !A.throwpass) // **TODO: Better behaviour for windows which are dense, but shouldn't always stop movement src.throw_impact(A,speed) - + /atom/movable/proc/throw_at_fast(atom/target, range, speed, thrower, no_spin) set waitfor = 0 throw_at(target, range, speed, thrower, no_spin)