Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into Ghommie-cit156
This commit is contained in:
@@ -12,6 +12,9 @@
|
||||
masturbation_verb = "massage"
|
||||
orgasm_verb = "leaking"
|
||||
fluid_transfer_factor = 0.5
|
||||
var/breast_values = list ("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5, "f" = 6, "g" = 7, "h" = 8, "i" = 9, "j" = 10, "k" = 11, "l" = 12, "m" = 13, "n" = 14, "o" = 15, "huge" = 16, "flat" = 0)
|
||||
var/cached_size //for enlargement SHOULD BE A NUMBER
|
||||
var/prev_size //For flavour texts SHOULD BE A LETTER
|
||||
|
||||
/obj/item/organ/genital/breasts/update_appearance()
|
||||
. = ..()
|
||||
@@ -25,10 +28,15 @@
|
||||
desc = "You see three sets of breasts, running from their chest to their belly."
|
||||
else
|
||||
desc = "You see some breasts, they seem to be quite exotic."
|
||||
if (size)
|
||||
desc += " You estimate that they're [uppertext(size)]-cups."
|
||||
else
|
||||
desc += " You wouldn't measure them in cup sizes."
|
||||
if(cached_size > 16)
|
||||
desc = "You see [pick("some serious honkers", "a real set of badonkers", "some dobonhonkeros", "massive dohoonkabhankoloos", "two big old tonhongerekoogers", "a couple of giant bonkhonagahoogs", "a pair of humongous hungolomghnonoloughongous")]. Their volume is way beyond cupsize now, measuring in about [round(cached_size)]cm in diameter."
|
||||
else if (!isnum(size))
|
||||
if (size == "flat")
|
||||
desc += " They're very small and flatchested, however."
|
||||
else
|
||||
desc += " You estimate that they're [uppertext(size)]-cups."
|
||||
//string = "breasts_[lowertext(shape)]_[size]-s"
|
||||
|
||||
if(CHECK_BITFIELD(genital_flags, GENITAL_FUID_PRODUCTION) && aroused_state)
|
||||
desc += " They're leaking [fluid_id]."
|
||||
var/string
|
||||
@@ -45,6 +53,47 @@
|
||||
var/mob/living/carbon/human/H = owner
|
||||
icon_state = sanitize_text(string)
|
||||
H.update_genitals()
|
||||
icon_state = sanitize_text(string)
|
||||
|
||||
//Allows breasts to grow and change size, with sprite changes too.
|
||||
//maximum wah
|
||||
//Comical sizes slow you down in movement and actions.
|
||||
//Rediculous sizes makes you more cumbersome.
|
||||
//this is far too lewd wah
|
||||
|
||||
/obj/item/organ/genital/breasts/update_size()//wah
|
||||
if(cached_size == size)
|
||||
return
|
||||
if(cached_size < 0)//I don't actually know what round() does to negative numbers, so to be safe!!fixed
|
||||
if(owner)
|
||||
to_chat(owner, "<span class='warning'>You feel your breasts shrinking away from your body as your chest flattens out.</b></span>")
|
||||
QDEL_IN(src, 1)
|
||||
var/enlargement = FALSE
|
||||
switch(cached_size)
|
||||
if(0 to 0.99) //If flatchested
|
||||
size = "flat"
|
||||
if(16 to INFINITY) //if Rediculous
|
||||
size = "huge"
|
||||
enlargement = TRUE
|
||||
if(owner && !enlargement)
|
||||
if(!owner.has_status_effect(/datum/status_effect/chem/breast_enlarger))
|
||||
owner.apply_status_effect(/datum/status_effect/chem/breast_enlarger)
|
||||
size = breast_values[round(cached_size)]
|
||||
|
||||
if(round(cached_size) < 16)//Because byond doesn't count from 0, I have to do this.
|
||||
if(isnum(prev_size))
|
||||
prev_size = breast_values[prev_size]
|
||||
if(owner)
|
||||
var/mob/living/carbon/human/H = owner
|
||||
if (breast_values[size] > breast_values[prev_size])
|
||||
to_chat(H, "<span class='warning'>Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.</b></span>")
|
||||
H.dna.species.handle_genitals(src)
|
||||
else if (breast_values[size] > 0.5)
|
||||
to_chat(H, "<span class='warning'>Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "contracts into")] a [uppertext(size)]-cup.</b></span>")
|
||||
H.dna.species.handle_genitals(src)
|
||||
prev_size = size
|
||||
else
|
||||
size = "huge"
|
||||
|
||||
/obj/item/organ/genital/breasts/get_features(mob/living/carbon/human/H)
|
||||
var/datum/dna/D = H.dna
|
||||
@@ -55,3 +104,15 @@
|
||||
size = D.features["breasts_size"]
|
||||
shape = D.features["breasts_shape"]
|
||||
fluid_id = D.features["breasts_fluid"]
|
||||
if(!isnum(size))
|
||||
if(size == "flat")
|
||||
cached_size = 0
|
||||
prev_size = 0
|
||||
else if (cached_size == "huge")
|
||||
prev_size = "huge"
|
||||
else
|
||||
cached_size = breast_values[size]
|
||||
prev_size = size
|
||||
else
|
||||
cached_size = size
|
||||
prev_size = size
|
||||
|
||||
@@ -10,30 +10,60 @@
|
||||
fluid_transfer_factor = 0.5
|
||||
size = 2 //arbitrary value derived from length and girth for sprites.
|
||||
layer_index = PENIS_LAYER_INDEX
|
||||
var/length = 6 //inches
|
||||
var/length = 6 //inches
|
||||
var/prev_length = 6 //really should be renamed to prev_length
|
||||
var/cached_length //used to detect a change in length
|
||||
var/girth = 0
|
||||
var/girth = 4.38
|
||||
var/girth_ratio = COCK_GIRTH_RATIO_DEF //0.73; check citadel_defines.dm
|
||||
var/knot_girth_ratio = KNOT_GIRTH_RATIO_DEF
|
||||
var/list/knotted_types = list("knotted", "barbed, knotted")
|
||||
|
||||
/obj/item/organ/genital/penis/update_size()
|
||||
if(length == cached_length)
|
||||
if(cached_length == length)
|
||||
return
|
||||
if(cached_length < 0)//I don't actually know what round() does to negative numbers, so to be safe!!
|
||||
if(owner)
|
||||
to_chat(owner, "<span class='warning'>You feel your tallywacker shrinking away from your body as your groin flattens out!</b></span>")
|
||||
QDEL_IN(src, 1)
|
||||
if(linked_organ)
|
||||
QDEL_IN(linked_organ, 1)
|
||||
return
|
||||
var/new_size
|
||||
switch(length)
|
||||
if(-INFINITY to 6)
|
||||
var/enlargement = FALSE
|
||||
switch(round(cached_length))
|
||||
if(0 to 6.99) //If modest size
|
||||
new_size = 1
|
||||
if(6 to 12)
|
||||
new_size = 2
|
||||
if(12 to INFINITY)
|
||||
new_size = 3 //no new sprites for anything larger yet.
|
||||
girth = (length * girth_ratio)
|
||||
cached_length = length
|
||||
if(7 to 10.99) //If large
|
||||
size = 2
|
||||
if(11 to 19.99) //If massive
|
||||
size = 3
|
||||
if(20 to 34.99) //If massive and due for large effects
|
||||
size = 3
|
||||
enlargement = TRUE
|
||||
if(35 to INFINITY) //If comical
|
||||
size = 4 //no new sprites for anything larger yet
|
||||
enlargement = TRUE
|
||||
length = cached_length
|
||||
if(owner)
|
||||
var/status_effect = owner.has_status_effect(/datum/status_effect/chem/penis_enlarger)
|
||||
if(enlargement && !status_effect)
|
||||
owner.apply_status_effect(/datum/status_effect/chem/penis_enlarger)
|
||||
else if(status_effect)
|
||||
owner.remove_status_effect(/datum/status_effect/chem/penis_enlarger)
|
||||
if(linked_organ)
|
||||
linked_organ.update_size(new_size - size)
|
||||
size = new_size
|
||||
|
||||
if(owner)
|
||||
if (round(length) > round(prev_length))
|
||||
to_chat(owner, "<span class='warning'>Your [pick(GLOB.gentlemans_organ_names)] [pick("swells up to", "flourishes into", "expands into", "bursts forth into", "grows eagerly into", "amplifys into")] a [uppertext(round(length))] inch penis.</b></span>")
|
||||
else if ((round(length) < round(prev_length)) && (length > 0.5))
|
||||
to_chat(owner, "<span class='warning'>Your [pick(GLOB.gentlemans_organ_names)] [pick("shrinks down to", "decreases into", "diminishes into", "deflates into", "shrivels regretfully into", "contracts into")] a [uppertext(round(length))] inch penis.</b></span>")
|
||||
prev_length = length
|
||||
icon_state = sanitize_text("penis_[shape]_[size]")
|
||||
girth = (length * girth_ratio)//Is it just me or is this ludicous, why not make it exponentially decay?
|
||||
|
||||
|
||||
/obj/item/organ/genital/penis/update_appearance()
|
||||
. = ..()
|
||||
var/string
|
||||
@@ -63,3 +93,5 @@
|
||||
length = D.features["cock_length"]
|
||||
girth_ratio = D.features["cock_girth_ratio"]
|
||||
shape = D.features["cock_shape"]
|
||||
prev_length = length
|
||||
cached_length = length
|
||||
|
||||
Reference in New Issue
Block a user