diff --git a/hyperstation/code/modules/arousal/arousalhud.dm b/hyperstation/code/modules/arousal/arousalhud.dm index 802f43c90..264735710 100644 --- a/hyperstation/code/modules/arousal/arousalhud.dm +++ b/hyperstation/code/modules/arousal/arousalhud.dm @@ -140,7 +140,7 @@ T.toggle_visibility(picked_visibility) if(href_list["masturbate"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //requires 33% arousal. H.solomasturbate() return else @@ -148,7 +148,7 @@ return if(href_list["container"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //requires 33% arousal. H.cumcontainer() return else @@ -156,7 +156,7 @@ return if(href_list["clothesplosion"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //Requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //Requires 33% arousal. H.clothesplosion() return else @@ -164,7 +164,7 @@ return if(href_list["climaxself"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //requires 33% arousal. H.climaxself() return else @@ -172,7 +172,7 @@ return if(href_list["climax"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //requires 33% arousal. H.climaxalone(FALSE) return else @@ -180,7 +180,7 @@ return if(href_list["climaxover"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //requires 33% arousal. H.climaxover(usr.pulling) return else @@ -188,7 +188,7 @@ return if(href_list["climaxwith"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //requires 33% arousal. H.climaxwith(usr.pulling) return else @@ -196,7 +196,7 @@ return if(href_list["impreg"]) - if (H.arousalloss >= (H.max_arousal / 100) * 33) //requires 33% arousal. + if (H.arousalloss >= H.isPercentAroused(33)) //requires 33% arousal. H.impregwith(usr.pulling) return else diff --git a/hyperstation/icons/obj/genitals/butt.dmi b/hyperstation/icons/obj/genitals/butt.dmi index 55f746287..186dfffbd 100644 Binary files a/hyperstation/icons/obj/genitals/butt.dmi and b/hyperstation/icons/obj/genitals/butt.dmi differ diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 34e2dbbe9..7bd960a09 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -62,7 +62,6 @@ /mob/living/proc/handle_arousal() - /mob/living/carbon/handle_arousal() if(canbearoused && dna) var/datum/species/S @@ -110,6 +109,9 @@ if(updating_arousal) updatearousal() +/** + * despite the name of this, it actually returns a number between 0 and 100 + */ /mob/living/proc/getPercentAroused() var/percentage = ((100 / max_arousal) * arousalloss) return percentage @@ -127,7 +129,6 @@ /mob/living/carbon/updatearousal() . = ..() - for(var/obj/item/organ/genital/G in internal_organs) if(istype(G)) var/datum/sprite_accessory/S @@ -142,7 +143,7 @@ S = GLOB.breasts_shapes_list[G.shape] if(S?.alt_aroused) G.aroused_state = isPercentAroused(G.aroused_amount) - if(getArousalLoss() >= ((max_arousal / 100) * 33)) + if(getArousalLoss() >= isPercentAroused(33)) G.aroused_state = TRUE else G.aroused_state = FALSE @@ -166,41 +167,13 @@ return FALSE else if(hud_used.arousal) - if(stat == DEAD) - hud_used.arousal.icon_state = "arousal0" - return TRUE - if(getArousalLoss() == max_arousal) - hud_used.arousal.icon_state = "arousal100" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 90)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal90" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 80)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal80" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 70)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal70" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 60)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal60" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 50)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal50" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 40)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal40" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 30)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal30" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 20)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal10" - return TRUE - if(getArousalLoss() >= (max_arousal / 100) * 10)//M O D U L A R , W O W - hud_used.arousal.icon_state = "arousal10" - return TRUE - else - hud_used.arousal.icon_state = "arousal0" + var/arousal_state = "arousal0" + if(!stat == DEAD) + var/arousal_percent = getPercentAroused() + var/arousal_rounded = FLOOR(arousal_percent, 10) + arousal_state = "arousal[arousal_rounded]" + hud_used.arousal.icon_state = arousal_state + return TRUE /obj/screen/arousal name = "arousal" @@ -227,12 +200,12 @@ if(mb_cd_timer <= world.time) //start the cooldown even if it fails mb_cd_timer = world.time + mb_cd_length - if(getArousalLoss() >= ((max_arousal / 100) * 33))//33% arousal or greater required + if(getArousalLoss() >= isPercentAroused(33))//33% arousal or greater required src.visible_message("[src] starts masturbating!", \ - "You start masturbating.") + "You start masturbating.") if(do_after(src, 30, target = src)) src.visible_message("[src] relieves [p_them()]self!", \ - "You have relieved yourself.") + "You have relieved yourself.") SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "orgasm", /datum/mood_event/orgasm) setArousalLoss(min_arousal) else