From 4a94d550a34f7bb05a1dc86b454c6ef500e283ee Mon Sep 17 00:00:00 2001 From: Fermi Date: Sun, 28 Apr 2019 08:54:04 +0100 Subject: [PATCH] Midfix --- .../code/datums/status_effects/chems.dm | 34 +++++++------ .../code/modules/arousal/organs/breasts.dm | 48 ++++++++++--------- .../code/modules/arousal/organs/penis.dm | 2 +- .../chemistry/reagents/fermi_reagents.dm | 26 ++++++---- 4 files changed, 64 insertions(+), 46 deletions(-) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index baaa0da0c2..f91aad7009 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -38,31 +38,36 @@ id = "BElarger" var/list/items = list() -/datum/status_effect/chem/BElarger/on_apply(mob/living/carbon/M)//Removes clothes, they're too small to contain you. You belong to space now. +//mob/living/carbon/M = M tried, no dice +//owner, tried, no dice +/datum/status_effect/chem/BElarger/on_apply(mob/living/carbon/human/H)//Removes clothes, they're too small to contain you. You belong to space now. message_admins("BElarge started!") - var/mob/living/carbon/human/H = M - var/items = M.get_contents() - for(W in items) + //var/mob/living/carbon/human/H = M + var/items = H.get_contents() + for(var/obj/item/W in items) if(W == H.w_uniform || W == H.wear_suit) - M.dropItemToGround(W, TRUE) + owner.dropItemToGround(W, TRUE) message_admins("Dropping [W]") playsound(owner.loc, 'sound/items/poster_ripped.ogg', 50, 1) //items |= owner.get_equipped_items(TRUE) - owner.visible_message("[M]'s chest suddenly bursts forth, ripping their clothes off!'") + owner.visible_message("[H]'s chest suddenly bursts forth, ripping their clothes off!'") to_chat(owner, "Your clothes give, ripping into peices under the strain of your swelling breasts! Unless you manage to reduce the size of your breasts, there's no way you're going to be able to put anything on over these melons..!") //owner.dropItemToGround(owner.wear_suit) //owner.dropItemToGround(owner.w_uniform) + return ..() -/datum/status_effect/chem/BElarger/tick(mob/living/carbon/M)//If you try to wear clothes, you fail. Slows you down if you're comically huge +/datum/status_effect/chem/BElarger/tick(mob/living/carbon/human/H)//If you try to wear clothes, you fail. Slows you down if you're comically huge message_admins("BElarge tick!") - var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts") - var/mob/living/carbon/human/H = M - message_admins("M: [M]") + var/mob/living/carbon/human/o = owner + var/obj/item/organ/genital/breasts/B = H.getorganslot("breasts") + //var/mob/living/carbon/human/H = M + message_admins("M: [H]") message_admins("H: [H]") message_admins("owner: [owner]") - for(var/obj/item/W in H) - if(W == H.w_uniform || W == H.wear_suit) - H.dropItemToGround(W) + var/items = o.get_contents() + for(var/obj/item/W in items) + if(W == o.w_uniform || W == o.wear_suit) + o.dropItemToGround(W) //items |= owner.get_equipped_items(TRUE) to_chat(owner, "Your enormous breasts are way to large to fit anything over!") //owner.dropItemToGround(owner.wear_suit) @@ -74,9 +79,10 @@ owner.next_move_modifier = 1 if(10 to INFINITY) if (!(B.breast_sizes[B.prev_size] == B.size)) - to_chat(M, "Your indulgent busom is so substantial, it's affecting your movements!") + to_chat(H, "Your indulgent busom is so substantial, it's affecting your movements!") owner.add_movespeed_modifier("megamilk", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = (round(B.cached_size) - 8)) owner.next_move_modifier = (round(B.cached_size) - 8) + ..() /datum/status_effect/chem/BElarger/on_remove(mob/living/carbon/M) owner.remove_movespeed_modifier("megamilk") diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index d945436817..7a7b43cbaa 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -11,6 +11,7 @@ var/prev_size = 3//For flavour texts var/breast_sizes = list ("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "huge", "flat") 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/statuscheck = FALSE fluid_id = "milk" var/amount = 2 producing = TRUE @@ -50,7 +51,7 @@ else desc = "You see some breasts, they seem to be quite exotic." if(isnum(size)) - desc = "You see [pick("some serious honkers", "a real set of badonkers", "some dobonhonkeros", "massive dohoonkabhankoloos", "big old tonhongerekoogers", "giant bonkhonagahoogs", "humongous hungolomghnonoloughongous")]. Their volume is way beyond cupsize now, measuring in about [size]cm in diameter." + 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 [size]cm in diameter." else if (!isnum(size)) if (size == "flat") desc += " They're very small and flatchested, however." @@ -75,7 +76,7 @@ //Should I turn someone with meter wide... assets into a blob? //this is far too lewd wah /obj/item/organ/genital/breasts/update_size()//wah - var/mob/living/carbon/human/H = owner + //var/mob/living/carbon/human/H = owner message_admins("Breast size at start: [size], [cached_size], [owner]") //var/sprite_accessory/breasts = mob/living/carbon/M if(cached_size < 0)//I don't actually know what round() does to negative numbers, so to be safe!! @@ -85,42 +86,45 @@ switch(round(cached_size)) if(0) size = "flat" - //if(H.has_status_effect(/datum/status_effect/chem/BElarger)) - H.remove_status_effect(/datum/status_effect/chem/BElarger) + if(statuscheck == TRUE) + message_admins("Attempting to remove.") + owner.remove_status_effect(/datum/status_effect/chem/BElarger) + statuscheck = FALSE if(1 to 8) size = breast_sizes[round(cached_size)] - //if(H.has_status_effect(/datum/status_effect/chem/BElarger)) - H.remove_status_effect(/datum/status_effect/chem/BElarger) + if(statuscheck == TRUE) + message_admins("Attempting to remove.") + owner.remove_status_effect(/datum/status_effect/chem/BElarger) + statuscheck = FALSE if(9 to 15) size = breast_sizes[round(cached_size)] - if(!H.has_status_effect(/datum/status_effect/chem/BElarger)) - H.apply_status_effect(/datum/status_effect/chem/BElarger) - message_admins("Attempting to apply.") + if(statuscheck == FALSE) + message_admins("Attempting to apply.") + owner.apply_status_effect(/datum/status_effect/chem/BElarger) + statuscheck = TRUE + if(16 to INFINITY) size = cached_size - + message_admins("Breast size: [size], [cached_size], [owner]") if(round(cached_size) < 16)//Because byond doesn't count from 0, I have to do this. if (prev_size == 0) prev_size = "flat" - message_admins("Breast size: [size], [cached_size], [owner]") if(size == 0)//Bloody byond with it's counting from 1 size = "flat" - message_admins("[prev_size] vs [breast_values[size]]") - message_admins("breast_values[size] vs [breast_values[prev_size]]") - if (breast_values[size] > breast_values[prev_size]) - to_chat(owner, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.") - //prev_size = cached_size - else if (breast_values[size] < breast_values[prev_size]) - to_chat(owner, "Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "shrivels into")] a [uppertext(size)]-cup.") - //prev_size = cached_size + message_admins("1. [prev_size] vs [breast_values[size]]") + message_admins("2. [breast_values[size]] vs [breast_values[prev_size]]") + if (breast_values[size] > breast_values[prev_size]) + to_chat(owner, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.") + else if (breast_values[size] < breast_values[prev_size]) + to_chat(owner, "Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "shrivels into")] a [uppertext(size)]-cup.") prev_size = size icon_state = "breasts_[shape]_[size]" - H.update_body() + owner.update_body() else if(!isnum(prev_size)) prev_size = breast_values[prev_size] - if(size > prev_size) + if(round(size) > round(prev_size)) to_chat(owner, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a hefty [uppertext(size)]cm diameter bosom, taking both of your hands to hold!.") - else if (size < prev_size) + else if (round(size) < round(prev_size)) to_chat(owner, "Your breasts do something crazy that the big Fermis in the sky didn't account for.") //breasts.icon_state = "breasts_[shape]_[size]_0_FRONT" diff --git a/modular_citadel/code/modules/arousal/organs/penis.dm b/modular_citadel/code/modules/arousal/organs/penis.dm index 82bc2c61d8..2665bfe449 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -48,7 +48,7 @@ color = "#[skintone2hex(H.skin_tone)]" else color = "#[owner.dna.features["cock_color"]]" - owner.update_body() + //owner.update_body() /obj/item/organ/genital/penis/update_link() if(owner) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm index 30c555776d..f4334f3230 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -433,6 +433,7 @@ overdose_threshold = 12 metabolization_rate = 0.5 var/mob/living/carbon/human/H + var/target = get_bodypart(BODY_ZONE_CHEST) @@ -466,12 +467,12 @@ if (B.cached_size >= 8.5 && B.cached_size < 9) to_chat(M, "Your breasts begin to strain against your clothes tightly!") M.adjustOxyLoss(10, 0) - M.adjustBruteLoss(2, 0) + M.apply_damage(5, BRUTE, target) B.update() ..() -/datum/reagent/fermi/BElarger/overdose_start(mob/living/carbon/M) //Turns you into a female if male and ODing, doesn't touch nonbinary and object genders. +/datum/reagent/fermi/BElarger/overdose_process(mob/living/carbon/M) //Turns you into a female if male and ODing, doesn't touch nonbinary and object genders. var/obj/item/organ/genital/penis/P = M.getorganslot("penis") var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") @@ -483,7 +484,7 @@ M.visible_message("[M] suddenly looks more feminine!", "You suddenly feel more feminine!") if(P) - P.length -= 0.1 + P.length = P.length - 0.1 if (P.length <= 0.1) to_chat(M, "You feel your penis shink, disappearing from your loins, leaving a strange smoothness in your pants.") P.Remove(P) @@ -492,7 +493,6 @@ else if (P.length > 7) M.add_movespeed_modifier("hugedick", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = (P.length - 10.1))//Via la liberation M.next_move_modifier -= 0.1 - H.dna.species.no_equip = list(SLOT_WEAR_SUIT, SLOT_W_UNIFORM) else M.remove_status_effect(/datum/status_effect/chem/PElarger) P.update() @@ -514,6 +514,7 @@ taste_description = "a salty and sticky substance." overdose_threshold = 12 metabolization_rate = 0.5 + var/target get_bodypart(BODY_ZONE_CHEST) //var/mob/living/carbon/M //var/mob/living/carbon/human/species/S /* @@ -552,24 +553,24 @@ else P.length = P.length + 0.1 if (P.length > 9) - M.apply_status_effect(/datum/status_effect/chem/BElarger) + M.apply_status_effect(/datum/status_effect/chem/PElarger) M.add_movespeed_modifier("hugedick", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = (P.length - 10.1)) M.next_move_modifier += 0.1 else if (P.length > 8.5) to_chat(M, "Your cock begin to strain against your clothes tightly!") - M.adjustBruteLoss(5, 0) + M.apply_damage(5, BRUTE, target) P.update_appearance() message_admins("P size: [P.length]") ..() -/datum/reagent/fermi/PElarger/overdose_start(mob/living/carbon/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders. +/datum/reagent/fermi/PElarger/overdose_process(mob/living/carbon/M) //Turns you into a male if female and ODing, doesn't touch nonbinary and object genders. var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts") var/obj/item/organ/genital/testicles/T = M.getorganslot("testicles") var/obj/item/organ/genital/vagina/V = M.getorganslot("vagina") var/obj/item/organ/genital/womb/W = M.getorganslot("womb") - + message_admins("PE Breast status: [B]") if(M.gender == FEMALE) M.gender = MALE M.visible_message("[M] suddenly looks more masculine!", "You suddenly feel more masculine!") @@ -589,7 +590,14 @@ ..() - +/datum/reagent/fermi/Astral // Gives you the ability to astral project for a moment! + name = "Astrogen" + id = "PElarger" + description = "A volatile collodial mixture derived from various masculine solutions that encourages a larger gentleman's package via a potent testosterone mix." //The toxic masculinity thing is a joke because I thought it would be funny to include it in the reagents, but I don't think many would find it funny? + color = "#H60584" // rgb: 96, 0, 255 + taste_description = "a salty and sticky substance." + overdose_threshold = 12 + metabolization_rate = 0.5