mirror of
https://github.com/quotefox/Hyper-Station-13.git
synced 2026-08-23 12:46:17 +01:00
pregnancy test cleanup + condensing climax stat checks
This commit is contained in:
@@ -1647,7 +1647,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
)
|
||||
if (target.canbearoused)
|
||||
target.adjustArousalLoss(5)
|
||||
if (target.getArousalLoss() >= 100 && ishuman(target) && HAS_TRAIT(target, TRAIT_MASO) && target.has_dna())
|
||||
if (target.can_climax() && HAS_TRAIT(target, TRAIT_MASO))
|
||||
target.mob_climax(forced_climax=TRUE)
|
||||
if (!HAS_TRAIT(target, TRAIT_NYMPHO))
|
||||
stop_wagging_tail(target)
|
||||
@@ -2005,7 +2005,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
||||
H.update_damage_overlays()
|
||||
if(HAS_TRAIT(H, TRAIT_MASO))
|
||||
H.adjustArousalLoss(damage * brutemod * H.physiology.brute_mod)
|
||||
if (H.getArousalLoss() >= 100 && ishuman(H) && H.has_dna())
|
||||
if (H.can_climax())
|
||||
H.mob_climax(forced_climax=TRUE)
|
||||
|
||||
else//no bodypart, we deal damage with a more general method.
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
var/mob/living/carbon/human/B = src
|
||||
if(HAS_TRAIT(B, TRAIT_CHOKE_SLUT))
|
||||
B.adjustArousalLoss(7)
|
||||
if (B.getArousalLoss() >= 100 && ishuman(B) && B.has_dna())
|
||||
if (B.can_climax())
|
||||
B.mob_climax(forced_climax=TRUE)
|
||||
else
|
||||
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "suffocation", /datum/mood_event/suffocation)
|
||||
|
||||
@@ -282,13 +282,13 @@
|
||||
. = ..()
|
||||
if(.)
|
||||
return
|
||||
if(chalice_taken == 1)
|
||||
if(chalice_taken)
|
||||
to_chat(user, "<i>You hear a voice in your head... <b>\"My chalice has already been taken, dear. I cannot give you another...\"</i></b>")
|
||||
return
|
||||
if(user.getArousalLoss() < 100)
|
||||
to_chat(user, "<i>You hear a voice in your head... <b>\"You are not horny enough to receive my blessing, dear~\"</i></b>")
|
||||
return
|
||||
if (ishuman(user) && user.has_dna())
|
||||
if (user.can_climax(0))
|
||||
user.mob_climax(forced_climax=TRUE)
|
||||
to_chat(user, "<i>You hear a voice in your head... <b>\"You are worth of my blessing dear~\"</i></b>")
|
||||
to_chat(user, "<span class='userdanger'>You feel overpowering pleasure surge through your entire body.</span>")
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
C.do_jitter_animation()
|
||||
C.adjustArousalLoss(20) //make the target more aroused.
|
||||
if (C.getArousalLoss() >= 100 && ishuman(C) && C.has_dna())
|
||||
if (C.can_climax())
|
||||
C.mob_climax(forced_climax=TRUE) //make them cum if they are over the edge.
|
||||
|
||||
return
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
var/results = "null"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
|
||||
/obj/item/pregnancytest/attack_self(mob/user)
|
||||
if(QDELETED(src))
|
||||
return
|
||||
@@ -16,29 +15,25 @@
|
||||
return
|
||||
if(isAI(user))
|
||||
return
|
||||
if(user.stat > 0)//unconscious or dead
|
||||
if(user.stat > CONSCIOUS)//unconscious or dead
|
||||
return
|
||||
if(status == 1)
|
||||
return //Already been used once, pregnancy tests only work once.
|
||||
test(user)
|
||||
Test(user)
|
||||
|
||||
/obj/item/pregnancytest/proc/force(mob/living/user)
|
||||
//Force it negative
|
||||
icon_state = "negative"
|
||||
name = "[results] pregnancy test"
|
||||
status = 1
|
||||
to_chat(user, "<span class='notice'>You use the pregnancy test, the display reads negative!</span>")
|
||||
|
||||
|
||||
/obj/item/pregnancytest/proc/test(mob/living/user)
|
||||
/obj/item/pregnancytest/proc/Test(mob/living/user)
|
||||
if(status)
|
||||
return
|
||||
var/_result = FALSE
|
||||
var/obj/item/organ/genital/womb/W = user.getorganslot("womb")
|
||||
if(!W)
|
||||
return
|
||||
if(W.pregnant == 1)
|
||||
results = "positive"
|
||||
icon_state = "positive"
|
||||
name = "[results] pregnancy test"
|
||||
status = 1
|
||||
to_chat(user, "<span class='notice'>You use the pregnancy test, the display reads positive!</span>")
|
||||
else
|
||||
force(user)
|
||||
return // no reason to waste the single-use on them
|
||||
if(W.pregnant)
|
||||
_result = TRUE
|
||||
UpdateResult(user, _result)
|
||||
|
||||
/obj/item/pregnancytest/proc/UpdateResult(mob/living/user, _result)
|
||||
var/result_text = _result ? "positive" : "negative"
|
||||
results = result_text
|
||||
icon_state = result_text
|
||||
name = "[results] preganancy test"
|
||||
status = TRUE
|
||||
to_chat(user, "<span class='notice'>You use the pregnancy test, the display reads [results]!</span>")
|
||||
@@ -132,13 +132,13 @@ Code:
|
||||
if(2) //med, can make you cum
|
||||
to_chat(U, "<span class='love'>You feel intense pleasure surge through your [G.name]</span>")
|
||||
U.do_jitter_animation()
|
||||
if (U.getArousalLoss() >= 100 && ishuman(U) && U.has_dna())
|
||||
if (U.can_climax())
|
||||
U.mob_climax(forced_climax=TRUE)
|
||||
if(3) //high, makes you stun
|
||||
to_chat(U, "<span class='userdanger'>You feel overpowering pleasure surge through your [G.name]</span>")
|
||||
U.Jitter(3)
|
||||
U.Stun(30)
|
||||
if (U.getArousalLoss() >= 100 && ishuman(U) && U.has_dna())
|
||||
if (U.can_climax())
|
||||
U.mob_climax(forced_climax=TRUE)
|
||||
if(prob(50))
|
||||
U.emote("moan")
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
if(ismob(M) && M.canbearoused && arousal_gain != 0)
|
||||
var/orgasm = FALSE
|
||||
if(arousal_gain > 0)
|
||||
if(M.getArousalLoss() >= 100 && ishuman(M) && M.has_dna())
|
||||
if(M.can_climax())
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/orgasm_message = pick("A sharp pulse of electricity pushes you to orgasm!", "You feel a jolt of electricity force you into orgasm!")
|
||||
H.visible_message("<span class='warning'>\The [assembly] electrodes shock [H]!</span>", "<span class='warning'>[orgasm_message]</span>")
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
|
||||
/datum/reagent/drug/aphrodisiacplus/overdose_process(mob/living/M)
|
||||
if(M && M.canbearoused && !(M.client?.prefs.cit_toggles & NO_APHRO) && prob(33))
|
||||
if(prob(5) && M.getArousalLoss() >= 100 && ishuman(M) && M.has_dna())
|
||||
if(prob(5) && M.can_climax())
|
||||
if(prob(5)) //Less spam
|
||||
to_chat(M, "<span class='love'>Your libido is going haywire!</span>")
|
||||
if(M.min_arousal < 50)
|
||||
|
||||
Reference in New Issue
Block a user