From 037d800e349f9f9691a8b23d4ca91fa3e1db02c9 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 24 Mar 2018 05:37:49 -0700 Subject: [PATCH 1/4] performant arousal --- modular_citadel/code/modules/arousal/arousal.dm | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 584acc6eb6..5ffb6dc5cf 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -33,7 +33,7 @@ /mob/living/carbon/handle_arousal() - if(canbearoused && dna) + if(canbearoused && dna && client) var/datum/species/S S = dna.species if(S && SSmobs.times_fired%36==2 && getArousalLoss() < max_arousal)//Totally stolen from breathing code. Do this every 36 ticks. @@ -47,13 +47,14 @@ amt_nude++ if(getorganslot("vagina")) amt_nude++ - var/mob/living/M - var/watchers = 0 - for(M in view(world.view, src)) - if(M.client && !M.stat && !M.eye_blind && (locate(src) in viewers(world.view,M))) - watchers++ - if(watchers && amt_nude) - adjustArousalLoss((amt_nude * watchers) + S.arousal_gain_rate) + if(amt_nude) + var/mob/living/M + var/watchers = 0 + for(M in view(world.view, src)) + if(M.client && !M.stat && !M.eye_blind && (locate(src) in viewers(world.view,M))) + watchers++ + if(watchers) + adjustArousalLoss((amt_nude * watchers) + S.arousal_gain_rate) /mob/living/proc/getArousalLoss() From bef056c034e5a9088dec98c0fd87ee88787744dd Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 24 Mar 2018 05:39:35 -0700 Subject: [PATCH 2/4] why did we have that there --- modular_citadel/code/modules/arousal/arousal.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 5ffb6dc5cf..7d25499c7c 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -33,12 +33,12 @@ /mob/living/carbon/handle_arousal() - if(canbearoused && dna && client) + if(canbearoused && dna) var/datum/species/S S = dna.species - if(S && SSmobs.times_fired%36==2 && getArousalLoss() < max_arousal)//Totally stolen from breathing code. Do this every 36 ticks. + if(S && !(SSmobs.times_fired % 36) && getArousalLoss() < max_arousal)//Totally stolen from breathing code. Do this every 36 ticks. adjustArousalLoss(arousal_rate * S.arousal_gain_rate) - if(dna.features["exhibitionist"]) + if(dna.features["exhibitionist"] && client) var/amt_nude = 0 if(is_chest_exposed() && (gender == FEMALE || getorganslot("breasts"))) amt_nude++ From c73d2763e59c1fe54db282ebbf09522b30895603 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 24 Mar 2018 05:52:08 -0700 Subject: [PATCH 3/4] Update arousal.dm --- modular_citadel/code/modules/arousal/arousal.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 7d25499c7c..0e818ea0b5 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -48,9 +48,8 @@ if(getorganslot("vagina")) amt_nude++ if(amt_nude) - var/mob/living/M var/watchers = 0 - for(M in view(world.view, src)) + for(var/mob/living/M in view(world.view, src)) if(M.client && !M.stat && !M.eye_blind && (locate(src) in viewers(world.view,M))) watchers++ if(watchers) From 2cd98340de032090f67c1b74d02a37166e8a9526 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 24 Mar 2018 06:08:58 -0700 Subject: [PATCH 4/4] typed --- modular_citadel/code/modules/arousal/arousal.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modular_citadel/code/modules/arousal/arousal.dm b/modular_citadel/code/modules/arousal/arousal.dm index 0e818ea0b5..fa8f3f6ae1 100644 --- a/modular_citadel/code/modules/arousal/arousal.dm +++ b/modular_citadel/code/modules/arousal/arousal.dm @@ -49,7 +49,10 @@ amt_nude++ if(amt_nude) var/watchers = 0 - for(var/mob/living/M in view(world.view, src)) + for(var/mob/_M in view(world.view, src)) + var/mob/living/M = _M + if(!istype(M)) + continue if(M.client && !M.stat && !M.eye_blind && (locate(src) in viewers(world.view,M))) watchers++ if(watchers)