Virile and Macro, Micro traits. Impregnation Chance

More lewd code.
This commit is contained in:
QuoteFox
2021-04-27 16:55:22 +01:00
parent 69af075ab7
commit 68120e2583
8 changed files with 89 additions and 20 deletions
@@ -48,7 +48,7 @@
var/mob/living/carbon/human/H = user.pulling
if(H.breedable && P && H)
dat += "<a href='byond://?src=[REF(src)];impreg=1'>Impregnate [U.pulling] ([clamp(U.impregchance,0,100)]%)</A>"
dat += "(Climax inside another person, knocking them up.)<BR>"
dat += "(Climax inside another person, and attempt to knock them up.)<BR>"
else
dat += "<span class='linkOff'>Climax over</span></A>"
dat += "(Requires a partner)<BR>"
+29 -3
View File
@@ -44,7 +44,7 @@ mob/living/get_effective_size()
if(size_multiplier == previous_size)
return 1
src.update_transform() //WORK DAMN YOU
src.update_mobsize()
src.update_mobsize()
//Going to change the health and speed values too
src.remove_movespeed_modifier(MOVESPEED_ID_SIZE)
src.add_movespeed_modifier(MOVESPEED_ID_SIZE, multiplicative_slowdown = (abs(size_multiplier - 1) * 0.8 ))
@@ -67,7 +67,7 @@ mob/living/get_effective_size()
if(tmob.pulledby == H)
return 0
//Micro is on a table.
var/turf/steppyspot = tmob.loc
for(var/thing in steppyspot.contents)
@@ -91,6 +91,19 @@ mob/living/get_effective_size()
tmob.visible_message("<span class='notice'>[src] carefully slithers around [tmob].</span>", "<span class='notice'>[src]'s huge tail slithers besides you.</span>")
else
tmob.visible_message("<span class='notice'>[src] carefully steps over [tmob].</span>", "<span class='notice'>[src] steps over you carefully.</span>")
//horny traits
if(HAS_TRAIT(src, TRAIT_MICROPHILE))
src.adjustArousalLoss(8)
if (src.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
src.mob_climax(forced_climax=TRUE)
if(HAS_TRAIT(tmob, TRAIT_MACROPHILE))
tmob.adjustArousalLoss(10)
if (tmob.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
tmob.mob_climax(forced_climax=TRUE)
return 1
//Smaller person stepping under a larger person
@@ -149,6 +162,19 @@ mob/living/get_effective_size()
tmob.visible_message("<span class='danger'>[src] mows down [tmob] under their tail!</span>", "<span class='userdanger'>[src] plows their tail over you mercilessly!</span>")
else
tmob.visible_message("<span class='danger'>[src] slams their foot down on [tmob], crushing them!</span>", "<span class='userdanger'>[src] crushes you under their foot!</span>")
//horny traits
if(HAS_TRAIT(src, TRAIT_MICROPHILE))
src.adjustArousalLoss((get_effective_size()/tmob.get_effective_size()*3))
if (src.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
src.mob_climax(forced_climax=TRUE)
if(HAS_TRAIT(tmob, TRAIT_MACROPHILE))
tmob.adjustArousalLoss((get_effective_size()/tmob.get_effective_size()*3))
if (tmob.getArousalLoss() >= 100 && ishuman(tmob) && tmob.has_dna())
tmob.mob_climax(forced_climax=TRUE)
return 1
if(H.a_intent == "grab" && H.canmove && !H.buckled)
@@ -215,7 +241,7 @@ mob/living/get_effective_size()
mob_size = 2 //the default human size
if(size_multiplier > 1)
mob_size = 3
//Proc for instantly grabbing valid size difference. Code optimizations soon(TM)
/*
/mob/living/proc/sizeinteractioncheck(var/mob/living/tmob)