Skip to content

Commit

Permalink
I'll dance dance dance with my hands hands hands
Browse files Browse the repository at this point in the history
  • Loading branch information
Comicao1 committed Feb 21, 2023
1 parent ccf4480 commit a6c9245
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 41 deletions.
79 changes: 42 additions & 37 deletions modular_splurt/code/modules/surgery/organs/augments_internal.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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()
..()
Expand All @@ -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()
Expand All @@ -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
Expand All @@ -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

36 changes: 32 additions & 4 deletions tgui/packages/tgui/interfaces/Condenser.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,45 @@ export const Condenser = (props, context) => {
onClick={() => act('condenser')} />
</LabeledList.Item>

<LabeledList.Item label="Maximum Size">
<LabeledList.Item label="Maximum Size Penis">
<NumberInput
animated
value={parseFloat(data.wanted_size)}
value={parseFloat(data.wanted_size_p)}
unit="inches"
width="75px"
minValue={0}
maxValue={30}
step={10}
onChange={(e, value) => act('size', {
size: value,
onChange={(e, value) => act('size_p', {
size_p: value,
})} />
</LabeledList.Item>

<LabeledList.Item label="Maximum Size Testicles">
<NumberInput
animated
value={parseFloat(data.wanted_size_t)}
unit="inches"
width="75px"
minValue={0}
maxValue={5}
step={10}
onChange={(e, value) => act('size_t', {
size_t: value,
})} />
</LabeledList.Item>

<LabeledList.Item label="Maximum Size Breasts">
<NumberInput
animated
value={parseFloat(data.wanted_size_b)}
unit="inches"
width="75px"
minValue={0}
maxValue={30}
step={10}
onChange={(e, value) => act('size_b', {
size_b: value,
})} />
</LabeledList.Item>

Expand Down

0 comments on commit a6c9245

Please sign in to comment.