@@ -21,10 +21,6 @@
|
||||
can_climax = TRUE
|
||||
fluid_transfer_factor = 0.5
|
||||
|
||||
/obj/item/organ/genital/breasts/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent(fluid_id, fluid_max_volume)
|
||||
|
||||
/obj/item/organ/genital/breasts/on_life()
|
||||
if(QDELETED(src))
|
||||
return
|
||||
@@ -32,6 +28,14 @@
|
||||
return
|
||||
reagents.maximum_volume = fluid_max_volume
|
||||
if(fluid_id && producing)
|
||||
if(reagents.total_volume == 0) // Apparently, 0.015 gets rounded down to zero and no reagents are created if we don't start it with 0.1 in the tank.
|
||||
fluid_rate = 0.1
|
||||
else
|
||||
fluid_rate = CUM_RATE
|
||||
if(reagents.total_volume >= 5)
|
||||
fluid_mult = 0.5
|
||||
else
|
||||
fluid_mult = 1
|
||||
generate_milk()
|
||||
|
||||
/obj/item/organ/genital/breasts/proc/generate_milk()
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
var/fluid_transfer_factor = 0.0 //How much would a partner get in them if they climax using this?
|
||||
var/size = 2 //can vary between num or text, just used in icon_state strings
|
||||
var/fluid_id = null
|
||||
var/fluid_max_volume = 50
|
||||
var/fluid_max_volume = 15
|
||||
var/fluid_efficiency = 1
|
||||
var/fluid_rate = 1
|
||||
var/fluid_mult = 1
|
||||
|
||||
@@ -16,14 +16,18 @@
|
||||
can_climax = TRUE
|
||||
var/sent_full_message = TRUE //defaults to 1 since they're full to start
|
||||
|
||||
/obj/item/organ/genital/testicles/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent(fluid_id, fluid_max_volume)
|
||||
|
||||
/obj/item/organ/genital/testicles/on_life()
|
||||
if(QDELETED(src))
|
||||
return
|
||||
if(reagents && producing)
|
||||
if(reagents.total_volume == 0) // Apparently, 0.015 gets rounded down to zero and no reagents are created if we don't start it with 0.1 in the tank.
|
||||
fluid_rate = 0.1
|
||||
else
|
||||
fluid_rate = CUM_RATE
|
||||
if(reagents.total_volume >= 5)
|
||||
fluid_mult = 0.5
|
||||
else
|
||||
fluid_mult = 1
|
||||
generate_cum()
|
||||
|
||||
/obj/item/organ/genital/testicles/proc/generate_cum()
|
||||
|
||||
@@ -9,14 +9,18 @@
|
||||
fluid_id = "femcum"
|
||||
producing = TRUE
|
||||
|
||||
/obj/item/organ/genital/womb/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent(fluid_id, fluid_max_volume)
|
||||
|
||||
/obj/item/organ/genital/womb/on_life()
|
||||
if(QDELETED(src))
|
||||
return
|
||||
if(reagents && producing)
|
||||
if(reagents.total_volume == 0) // Apparently, 0.015 gets rounded down to zero and no reagents are created if we don't start it with 0.1 in the tank.
|
||||
fluid_rate = 0.1
|
||||
else
|
||||
fluid_rate = CUM_RATE
|
||||
if(reagents.total_volume >= 5)
|
||||
fluid_mult = 0.5
|
||||
else
|
||||
fluid_mult = 1
|
||||
generate_femcum()
|
||||
|
||||
/obj/item/organ/genital/womb/proc/generate_femcum()
|
||||
|
||||
@@ -185,22 +185,6 @@
|
||||
emote_type = EMOTE_AUDIBLE
|
||||
restraint_check = TRUE
|
||||
|
||||
|
||||
|
||||
/datum/emote/living/dab/run_emote(mob/living/user, params)
|
||||
if (ishuman(user))
|
||||
var/def_zone = BODY_ZONE_CHEST
|
||||
var/luck = (rand(1,100))
|
||||
if(luck >= 65)
|
||||
user.adjustStaminaLoss(70)
|
||||
if(luck >= 80)
|
||||
def_zone = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)
|
||||
user.apply_damage(20, BRUTE, def_zone)
|
||||
if(luck >= 95)
|
||||
user.adjustBrainLoss(100)
|
||||
. = ..()
|
||||
|
||||
|
||||
/datum/emote/living/mothsqueak
|
||||
key = "msqueak"
|
||||
key_third_person = "lets out a tiny squeak"
|
||||
|
||||
@@ -80,21 +80,23 @@
|
||||
else
|
||||
target.Move(target_shove_turf, shove_dir)
|
||||
if(get_turf(target) == target_oldturf)
|
||||
var/thoushallnotpass = FALSE
|
||||
for(var/obj/O in target_shove_turf)
|
||||
if(O.density)
|
||||
shove_blocked = TRUE
|
||||
if(target_shove_turf.density)
|
||||
shove_blocked = TRUE
|
||||
else
|
||||
var/thoushallnotpass = FALSE
|
||||
for(var/obj/O in target_shove_turf)
|
||||
if(istype(O, /obj/structure/table))
|
||||
target_table = O
|
||||
else
|
||||
else if(!O.CanPass(src, target_shove_turf))
|
||||
shove_blocked = TRUE
|
||||
thoushallnotpass = TRUE
|
||||
if(thoushallnotpass)
|
||||
target_table = null
|
||||
if(thoushallnotpass)
|
||||
target_table = null
|
||||
|
||||
if(target.is_shove_knockdown_blocked())
|
||||
return
|
||||
|
||||
if(shove_blocked)
|
||||
if(shove_blocked || target_table)
|
||||
var/directional_blocked = FALSE
|
||||
if(shove_dir in GLOB.cardinals) //Directional checks to make sure that we're not shoving through a windoor or something like that
|
||||
var/target_turf = get_turf(target)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
data = list("donor"=null,"viruses"=null,"donor_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null)
|
||||
reagent_state = LIQUID
|
||||
color = "#FFFFFF" // rgb: 255, 255, 255
|
||||
can_synth = FALSE
|
||||
nutriment_factor = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
/datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume)
|
||||
@@ -19,7 +20,6 @@
|
||||
var/obj/effect/decal/cleanable/semen/S = locate() in T
|
||||
if(!S)
|
||||
S = new(T)
|
||||
S.reagents.add_reagent("semen", reac_volume)
|
||||
if(data["blood_DNA"])
|
||||
S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
|
||||
|
||||
@@ -50,6 +50,7 @@
|
||||
data = list("donor"=null,"viruses"=null,"donor_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null)
|
||||
reagent_state = LIQUID
|
||||
color = "#AAAAAA77"
|
||||
can_synth = FALSE
|
||||
nutriment_factor = 0.5 * REAGENTS_METABOLISM
|
||||
|
||||
/obj/effect/decal/cleanable/femcum
|
||||
@@ -82,7 +83,6 @@
|
||||
var/obj/effect/decal/cleanable/femcum/S = locate() in T
|
||||
if(!S)
|
||||
S = new(T)
|
||||
S.reagents.add_reagent("femcum", reac_volume)
|
||||
if(data["blood_DNA"])
|
||||
S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user