From a6c9245a2f951533f9c219cf6c119eeeb6a14344 Mon Sep 17 00:00:00 2001 From: Comicao1 <33708588+Comicao1@users.noreply.github.com> Date: Mon, 20 Feb 2023 23:15:03 -0300 Subject: [PATCH] I'll dance dance dance with my hands hands hands --- .../surgery/organs/augments_internal.dm | 79 ++++++++++--------- tgui/packages/tgui/interfaces/Condenser.js | 36 ++++++++- 2 files changed, 74 insertions(+), 41 deletions(-) diff --git a/modular_splurt/code/modules/surgery/organs/augments_internal.dm b/modular_splurt/code/modules/surgery/organs/augments_internal.dm index 5be61c00732c..0607480fcda1 100644 --- a/modular_splurt/code/modules/surgery/organs/augments_internal.dm +++ b/modular_splurt/code/modules/surgery/organs/augments_internal.dm @@ -9,7 +9,9 @@ actions_types = list(/datum/action/item_action/organ_action/toggle) var/datum/condenser_implant/condenser/condenser var/on = 0 - var/wanted_size = 30 + var/wanted_size_p = 30 + var/wanted_size_t = 5 + var/wanted_size_b = 30 /obj/item/organ/cyberimp/brain/condenser/New() ..() @@ -20,9 +22,11 @@ /datum/condenser_implant/condenser var/obj/item/organ/cyberimp/brain/condenser/FATHER = null + var/mob/living/carbon/human/HH = null /datum/condenser_implant/condenser/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) + HH = user if(!ui) ui = new(user, src, "Condenser", "Condenser") ui.open() @@ -41,16 +45,21 @@ if("condenser") FATHER.on = !FATHER.on . = TRUE - if("size") - var/sent_value = params["size"] - FATHER.wanted_size = sent_value + if("size_p") + var/sent_value = params["size_p"] + FATHER.wanted_size_p = sent_value + . = TRUE + if("size_t") + var/sent_value = params["size_t"] + FATHER.wanted_size_t = sent_value + . = TRUE + if("size_b") + var/sent_value = params["size_b"] + FATHER.wanted_size_b = sent_value . = TRUE -/datum/condenser_implant/condenser/ui_data(mob/user) - if(!ishuman(user)) - return - var/list/data = list() - var/mob/living/carbon/human/H = user + + var/mob/living/carbon/human/H = HH var/obj/item/organ/genital/penis/P = null var/obj/item/organ/genital/testicles/T = null var/obj/item/organ/genital/breasts/B = null @@ -62,41 +71,37 @@ for(var/obj/item/organ/genital/breasts/BB in H.internal_organs) B = BB - - data["on"] = FATHER.on - data["wanted_size"] = FATHER.wanted_size if(FATHER.on) if(P) - P.length = max(FATHER.wanted_size, 1) + var/tamanho = FATHER.wanted_size_p-P.length + P.modify_size(tamanho) if(T) - T.size = clamp(FATHER.wanted_size, BALLS_SIZE_MIN, BALLS_SIZE_MAX) + var/tamanho = FATHER.wanted_size_t-T.size + T.modify_size(tamanho) if(B) - B.cached_size = max(FATHER.wanted_size, 1) + var/tamanho = FATHER.wanted_size_b-B.cached_size + B.modify_size(tamanho) else if(P) - P.length = initial(P.prev_length) + var/tamanho = P.prev_length-P.length + P.modify_size(tamanho) + if(T) + var/tamanho = initial(T.size)-T.size + T.modify_size(tamanho) if(B) - B.cached_size = max(FATHER.wanted_size, 1) - - if(P) - if(P.length != P.prev_length) - P.update() - P.update_size() - P.get_features(user) - P.prev_length = P.length - - if(T) - T.get_features(user) - T.update_appearance() - T.update_size() - - if(B) - if(B.cached_size != B.prev_size) - B.update() - B.update_size() - B.get_features(user) - else - B.prev_size = B.cached_size + var/tamanho = B.prev_size-B.cached_size + B.modify_size(tamanho) + +/datum/condenser_implant/condenser/ui_data(mob/user) + if(!ishuman(user)) + return + var/list/data = list() + + data["on"] = FATHER.on + data["wanted_size_p"] = FATHER.wanted_size_p + data["wanted_size_t"] = FATHER.wanted_size_t + data["wanted_size_b"] = FATHER.wanted_size_b + return data diff --git a/tgui/packages/tgui/interfaces/Condenser.js b/tgui/packages/tgui/interfaces/Condenser.js index 5a878997898a..0ab86258a009 100644 --- a/tgui/packages/tgui/interfaces/Condenser.js +++ b/tgui/packages/tgui/interfaces/Condenser.js @@ -19,17 +19,45 @@ export const Condenser = (props, context) => { onClick={() => act('condenser')} /> - + act('size', { - size: value, + onChange={(e, value) => act('size_p', { + size_p: value, + })} /> + + + + act('size_t', { + size_t: value, + })} /> + + + + act('size_b', { + size_b: value, })} />