From 7bed0d5c87667eb74691740bd9d917c62936e98b Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sat, 7 Mar 2020 01:57:15 +0100 Subject: [PATCH 1/9] Of runtimes and null. --- code/game/objects/items/storage/boxes.dm | 2 +- code/modules/clothing/shoes/magboots.dm | 5 ++++- code/modules/mob/living/silicon/pai/pai.dm | 10 +++++----- code/modules/vore/eating/living.dm | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index 01a4f03108..489704dbd5 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -1333,7 +1333,7 @@ /obj/item/storage/box/beakers/bluespace=1,\ /obj/item/storage/box/beakers/variety=1,\ /obj/item/storage/box/material=1,\ - /obj/item/storage/belt/medical/surgery_belt_adv + /obj/item/storage/belt/medical/surgery_belt_adv=1 ) generate_items_inside(items_inside, src) diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm index 59747d59ba..b854ad8f9b 100644 --- a/code/modules/clothing/shoes/magboots.dm +++ b/code/modules/clothing/shoes/magboots.dm @@ -56,7 +56,10 @@ /obj/item/clothing/shoes/magboots/advance/debug /obj/item/clothing/shoes/magboots/advance/debug/Initialize() - attack_self(src) + . = ..() + var/mob/living/L = loc + if(istype(L)) + attack_self(L) /obj/item/clothing/shoes/magboots/paramedic desc = "A pair of magboots decked in colors matching the equipment of an emergency medical technician." diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index a65c1d24ac..3e30f26854 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -302,11 +302,11 @@ /obj/item/paicard/attackby(obj/item/W, mob/user, params) ..() user.set_machine(src) - if(pai.encryptmod == TRUE) - if(W.tool_behaviour == TOOL_SCREWDRIVER) - pai.radio.attackby(W, user, params) - else if(istype(W, /obj/item/encryptionkey)) - pai.radio.attackby(W, user, params) + var/encryption_key_stuff = W.tool_behaviour == TOOL_SCREWDRIVER || istype(W, /obj/item/encryptionkey) + if(!encryption_key_stuff) + return + if(pai?.encryptmod) + pai.radio.attackby(W, user, params) else to_chat(user, "Encryption Key ports not configured.") diff --git a/code/modules/vore/eating/living.dm b/code/modules/vore/eating/living.dm index 5f280fb04d..2ab6a59c0a 100644 --- a/code/modules/vore/eating/living.dm +++ b/code/modules/vore/eating/living.dm @@ -158,7 +158,7 @@ swallow_time = istype(prey, /mob/living/carbon/human) ? belly.human_prey_swallow_time : belly.nonhuman_prey_swallow_time //Timer and progress bar - if(!do_after(user, swallow_time, prey)) + if(!do_after(user, swallow_time, TRUE, prey)) return FALSE // Prey escaped (or user disabled) before timer expired. if(!prey.Adjacent(user)) //double check'd just in case they moved during the timer and the do_mob didn't fail for whatever reason From e23e478c0623e22a94958a6b220bb2de276c7329 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 02:43:35 +0100 Subject: [PATCH 2/9] mOre rUntIMeS --- code/game/objects/items.dm | 4 ++-- code/modules/antagonists/bloodsucker/powers/lunge.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index fd6ae1bb43..f941daf749 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -373,11 +373,11 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) for(var/X in actions) var/datum/action/A = X A.Remove(user) - if(item_flags & DROPDEL) - qdel(src) item_flags &= ~IN_INVENTORY SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user) user.update_equipment_speed_mods() + if(item_flags & DROPDEL) + qdel(src) // called just as an item is picked up (loc is not yet changed) /obj/item/proc/pickup(mob/user) diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index cc9363bbaf..f6dfc8ba72 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -59,7 +59,7 @@ var/do_knockdown = !is_A_facing_B(target,owner) || owner.alpha <= 0 || istype(owner.loc, /obj/structure/closet) // CAUSES: Target has their back to me, I'm invisible, or I'm in a Closet // Step One: Heatseek toward Target's Turf - addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS) + addtimer(CALLBACK(GLOBAL_PROC, .proc/_walk, owner, 0), 2 SECONDS) target.playsound_local(get_turf(owner), 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // target-only telegraphing owner.playsound_local(owner, 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // audio feedback to the user if(do_mob(owner, owner, 7, TRUE, TRUE)) From 10c8dbbb6e8e579915d8bf8e2eb2ab5f4c8fb42f Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 02:47:38 +0100 Subject: [PATCH 3/9] hOLd oN --- code/game/objects/items.dm | 4 ++-- code/modules/mob/living/carbon/carbon.dm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index f941daf749..fd6ae1bb43 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -373,11 +373,11 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) for(var/X in actions) var/datum/action/A = X A.Remove(user) + if(item_flags & DROPDEL) + qdel(src) item_flags &= ~IN_INVENTORY SEND_SIGNAL(src, COMSIG_ITEM_DROPPED,user) user.update_equipment_speed_mods() - if(item_flags & DROPDEL) - qdel(src) // called just as an item is picked up (loc is not yet changed) /obj/item/proc/pickup(mob/user) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index ff2f894dab..0b87af4eb1 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -420,7 +420,7 @@ return if(I == legcuffed) legcuffed.forceMove(drop_location()) - legcuffed.dropped() + legcuffed.dropped(src) legcuffed = null update_inv_legcuffed() return From 57ba56d3bcb1758b46765ec16be1d0ad76408220 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 14:09:59 +0100 Subject: [PATCH 4/9] Update handcuffs.dm --- code/game/objects/items/handcuffs.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index ee25cbb985..ea7d57255f 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -283,6 +283,7 @@ if(!C.legcuffed && C.get_num_legs(FALSE) >= 2) //beartrap can't cuff your leg if there's already a beartrap or legcuffs, or you don't have two legs. C.legcuffed = src forceMove(C) + C.update_equipment_speed_mods() C.update_inv_legcuffed() SSblackbox.record_feedback("tally", "handcuffs", 1, type) else if(isanimal(L)) From 4a61dc7b723226617cc0292994654789c4a29bad Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 14:10:34 +0100 Subject: [PATCH 5/9] tgstation PR #48189 by Yenwodyah --- code/modules/mob/living/carbon/carbon.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 0b87af4eb1..32e3696bc5 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -412,16 +412,16 @@ else if(I == handcuffed) handcuffed.forceMove(drop_location()) - handcuffed.dropped(src) handcuffed = null + I.dropped(src) if(buckled && buckled.buckle_requires_restraints) buckled.unbuckle_mob(src) update_handcuffed() return if(I == legcuffed) legcuffed.forceMove(drop_location()) - legcuffed.dropped(src) legcuffed = null + I.dropped(src) update_inv_legcuffed() return else From a0e5f1651e84fdd8d289878f2deaeb2b3aedc86f Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 14:49:43 +0100 Subject: [PATCH 6/9] Update pai_shell.dm --- code/modules/mob/living/silicon/pai/pai_shell.dm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index 7de983229e..4e9cb4acd6 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -76,6 +76,7 @@ var/list/choices = list("Preset - Basic", "Preset - Dynamic") if(CONFIG_GET(flag/pai_custom_holoforms)) choices += "Custom" + var/old_chassis = chassis var/choicetype = input(src, "What type of chassis do you want to use?") as null|anything in choices if(!choicetype) return FALSE @@ -95,10 +96,11 @@ dynamic_chassis = choice resist_a_rest(FALSE, TRUE) update_icon() - current_mob_holder?.Detach(src) - current_mob_holder = null + if(possible_chassis[old_chassis]) + var/datum/element/mob_holder/M = GetElement(/datum/element/mob_holder, old_chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD) + M.Detach(src) if(possible_chassis[chassis]) - current_mob_holder = AddElement(/datum/element/mob_holder, chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD) + AddElement(/datum/element/mob_holder, chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD) to_chat(src, "You switch your holochassis projection composite to [chassis]") /mob/living/silicon/pai/lay_down() From 8f6677326d27ffce0cc218a8bce299bb356c8a1b Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 14:51:41 +0100 Subject: [PATCH 7/9] Update pai.dm --- code/modules/mob/living/silicon/pai/pai.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 3e30f26854..243b4e0469 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -12,7 +12,6 @@ layer = BELOW_MOB_LAYER var/obj/item/instrument/piano_synth/internal_instrument silicon_privileges = PRIVILEDGES_PAI - var/datum/element/mob_holder/current_mob_holder //because only a few of their chassis can be actually held. var/network = "ss13" var/obj/machinery/camera/current = null @@ -141,6 +140,8 @@ AL.Grant(src) ALM.Grant(src) emitter_next_use = world.time + 10 SECONDS + if(possible_chassis[chassis]) + AddElement(/datum/element/mob_holder, chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD) /mob/living/silicon/pai/Life() if(hacking) From 7ad2c6dce04a66b5e4bbda5ec2d6cecdfeb48d43 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 14:55:15 +0100 Subject: [PATCH 8/9] Update pai.dm --- code/modules/mob/living/silicon/pai/pai.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm index 243b4e0469..26fa3b505d 100644 --- a/code/modules/mob/living/silicon/pai/pai.dm +++ b/code/modules/mob/living/silicon/pai/pai.dm @@ -140,6 +140,9 @@ AL.Grant(src) ALM.Grant(src) emitter_next_use = world.time + 10 SECONDS + +/mob/living/silicon/pai/ComponentInitialize() + . = ..() if(possible_chassis[chassis]) AddElement(/datum/element/mob_holder, chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD) From 3c066aa77151a32572d7a2468d8cbfee169aca96 Mon Sep 17 00:00:00 2001 From: Ghom <42542238+Ghommie@users.noreply.github.com> Date: Sun, 8 Mar 2020 15:46:38 +0100 Subject: [PATCH 9/9] Update pai_shell.dm --- code/modules/mob/living/silicon/pai/pai_shell.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm index 4e9cb4acd6..c6710141f9 100644 --- a/code/modules/mob/living/silicon/pai/pai_shell.dm +++ b/code/modules/mob/living/silicon/pai/pai_shell.dm @@ -97,7 +97,7 @@ resist_a_rest(FALSE, TRUE) update_icon() if(possible_chassis[old_chassis]) - var/datum/element/mob_holder/M = GetElement(/datum/element/mob_holder, old_chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD) + var/datum/element/mob_holder/M = SSdcs.GetElement(/datum/element/mob_holder, old_chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD) M.Detach(src) if(possible_chassis[chassis]) AddElement(/datum/element/mob_holder, chassis, 'icons/mob/pai_item_head.dmi', 'icons/mob/pai_item_rh.dmi', 'icons/mob/pai_item_lh.dmi', ITEM_SLOT_HEAD)