From 2b104a76983384fe553763e85e36cac6ef5b56e5 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 15 Nov 2019 18:40:45 +0100 Subject: [PATCH 1/2] Ports "Fixes MMIs not being able to use mecha equipment" --- code/game/mecha/medical/odysseus.dm | 11 +++++++++-- code/modules/mob/living/brain/brain.dm | 21 +++++++++++++++++---- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index b6a4ac2390..9f22f65ee8 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -17,8 +17,15 @@ hud.add_hud_to(H) /obj/mecha/medical/odysseus/go_out() - if(ishuman(occupant)) + if(isliving(occupant)) var/mob/living/carbon/human/H = occupant var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] - hud.remove_hud_from(H) + hud.remove_hud_from(L) ..() + +/obj/mecha/medical/odysseus/mmi_moved_inside(obj/item/mmi/mmi_as_oc, mob/user) + . = ..() + if(.) + var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] + var/mob/living/brain/B = mmi_as_oc.brainmob + hud.add_hud_to(B) diff --git a/code/modules/mob/living/brain/brain.dm b/code/modules/mob/living/brain/brain.dm index 1b2944c1f6..37dd7b6a31 100644 --- a/code/modules/mob/living/brain/brain.dm +++ b/code/modules/mob/living/brain/brain.dm @@ -5,6 +5,7 @@ var/datum/dna/stored/stored_dna // dna var for brain. Used to store dna, brain dna is not considered like actual dna, brain.has_dna() returns FALSE. stat = DEAD //we start dead by default see_invisible = SEE_INVISIBLE_LIVING + possible_a_intents = list(INTENT_HELP, INTENT_HARM) //for mechas speech_span = SPAN_ROBOT /mob/living/brain/Initialize() @@ -72,10 +73,9 @@ /mob/living/brain/ClickOn(atom/A, params) ..() - if(istype(loc, /obj/item/mmi)) - var/obj/item/mmi/MMI = loc - var/obj/mecha/M = MMI.mecha - if((src == MMI.brainmob) && istype(M)) + if(container) + var/obj/mecha/M = container.mecha + if(istype(M)) return M.click_action(A,src,params) /mob/living/brain/forceMove(atom/destination) @@ -90,3 +90,16 @@ doMove(destination) else CRASH("Brainmob without a container [src] attempted to move to [destination].") + +/mob/living/brain/update_mouse_pointer() + if (!client) + return + client.mouse_pointer_icon = initial(client.mouse_pointer_icon) + if(!container) + return + if (container.mecha) + var/obj/mecha/M = container.mecha + if(M.mouse_pointer) + client.mouse_pointer_icon = M.mouse_pointer + if (client && ranged_ability && ranged_ability.ranged_mousepointer) + client.mouse_pointer_icon = ranged_ability.ranged_mousepointer From 78c967fa205663a0edab1ed4bc2e100316b8d3e5 Mon Sep 17 00:00:00 2001 From: Ghommie <42542238+Ghommie@users.noreply.github.com> Date: Fri, 15 Nov 2019 18:42:04 +0100 Subject: [PATCH 2/2] A --- code/game/mecha/medical/odysseus.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm index 9f22f65ee8..360ac51444 100644 --- a/code/game/mecha/medical/odysseus.dm +++ b/code/game/mecha/medical/odysseus.dm @@ -18,7 +18,7 @@ /obj/mecha/medical/odysseus/go_out() if(isliving(occupant)) - var/mob/living/carbon/human/H = occupant + var/mob/living/carbon/human/L = occupant var/datum/atom_hud/hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] hud.remove_hud_from(L) ..()