From ab317d95aa658e1e8c9f13678a1a1fe3654e07fd Mon Sep 17 00:00:00 2001 From: Fermi Date: Sun, 28 Apr 2019 03:42:10 +0100 Subject: [PATCH] One day it'll work and everything will be great --- .../code/datums/status_effects/chems.dm | 67 +++++++++++-------- .../code/modules/arousal/organs/breasts.dm | 59 +++++++++------- .../code/modules/arousal/organs/penis.dm | 1 + .../chemistry/reagents/fermi_reagents.dm | 28 +++----- 4 files changed, 87 insertions(+), 68 deletions(-) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index 3d5a8a99bb..94df596aef 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -38,38 +38,45 @@ id = "BElarger" var/list/items = list() -/datum/status_effect/chem/BElarger/on_apply(mob/living/carbon/M) +/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. var/mob/living/carbon/human/H = M - if(H.w_uniform || H.wear_suit) - playsound(M.loc, 'sound/items/poster_ripped.ogg', 50, 1) - items |= M.get_equipped_items(TRUE) - M.visible_message("[M]'s chest suddenly bursts forth, ripping their clothes off!'") - to_chat(M, "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..!") - M.dropItemToGround(H.wear_suit) - M.dropItemToGround(H.w_uniform) + for(var/obj/item/W in H) + if(W == H.w_uniform || W == H.wear_suit) + H.dropItemToGround(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!'") + 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) -/datum/status_effect/chem/BElarger/tick(mob/living/carbon/M) +/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 var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts") var/mob/living/carbon/human/H = M - if(H.w_uniform || H.wear_suit) - items |= M.get_equipped_items(TRUE) - to_chat(M, "Your enormous breasts are way to large to fit anything over!") - M.dropItemToGround(H.wear_suit) - M.dropItemToGround(H.w_uniform) + message_admins("M: [M]") + 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) + //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) + //owner.dropItemToGround(owner.w_uniform) switch(round(B.cached_size)) if(9) if (!(B.breast_sizes[B.prev_size] == B.size)) - M.remove_movespeed_modifier("megamilk") - M.next_move_modifier = 1 + owner.remove_movespeed_modifier("megamilk") + 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!") - M.add_movespeed_modifier("megamilk", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = (round(B.cached_size) - 8)) - M.next_move_modifier = (round(B.cached_size) - 8) + 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) - M.remove_movespeed_modifier("megamilk") - M.next_move_modifier = 1 + owner.remove_movespeed_modifier("megamilk") + owner.next_move_modifier = 1 /datum/status_effect/chem/PElarger id = "PElarger" @@ -78,21 +85,25 @@ /datum/status_effect/chem/PElarger/on_apply(mob/living/carbon/M) var/mob/living/carbon/human/H = M - if(H.w_uniform || H.wear_suit) + for(var/obj/item/W in H) + if(W == H.w_uniform || W == H.wear_suit) + H.dropItemToGround(W) playsound(M.loc, 'sound/items/poster_ripped.ogg', 50, 1) //items |= M.get_equipped_items(TRUE) - M.visible_message("[M]'s penis suddenly bursts forth, ripping their clothes off!'") + owner.visible_message("[M]'s penis suddenly bursts forth, ripping their clothes off!'") to_chat(M, "Your clothes give, ripping into peices under the strain of your swelling penis! Unless you manage to reduce the size of your emancipated trouser snake, there's no way you're going to be able to put anything on over this girth..!") - M.dropItemToGround(H.wear_suit) - M.dropItemToGround(H.w_uniform) + //owner.dropItemToGround(owner.wear_suit) + //owner.dropItemToGround(owner.w_uniform) /datum/status_effect/chem/PElarger/tick(mob/living/carbon/M) var/mob/living/carbon/human/H = M - if(H.w_uniform || H.wear_suit) + for(var/obj/item/W in H) + if(W == H.w_uniform || W == H.wear_suit) + H.dropItemToGround(W) //items |= M.get_equipped_items(TRUE) - to_chat(M, "Your enormous package is way to large to fit anything over!") - M.dropItemToGround(H.wear_suit) - M.dropItemToGround(H.w_uniform) + to_chat(owner, "Your enormous package is way to large to fit anything over!") + //owner.dropItemToGround(owner.wear_suit) + //owner.dropItemToGround(owner.w_uniform) /*Doesn't work diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index 6a27a185ba..08378684aa 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -9,7 +9,7 @@ size = BREASTS_SIZE_DEF var/cached_size = 3//for enlargement 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", "flat") + 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) fluid_id = "milk" var/amount = 2 @@ -51,10 +51,13 @@ 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." - else if (!size == "huge") - desc += " You estimate that they're [uppertext(size)]-cups." + 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." else - desc += " They're very small and flatchested, however." + if(producing && aroused_state) desc += " They're leaking [fluid_id]." if(owner) @@ -67,33 +70,43 @@ //Allows breasts to grow and change size, with sprite changes too. -/obj/item/organ/genital/breasts/update_size(mob/living/carbon/M)//wah +//maximum wah +//Comical sizes slow you down in movement and actions. +//Rediculous sizes remove hands. +//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 + 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!! + var/obj/item/organ/genital/breasts/B = owner.getorganslot("breasts") + to_chat(owner, "You feel your breasts shrinking away from your body as your chest flattens out.") + B.Remove(owner) switch(round(cached_size)) if(0) size = "flat" - if(owner.has_status_effect(/datum/status_effect/chem/BElarger)) - owner.remove_status_effect(/datum/status_effect/chem/BElarger) + //if(H.has_status_effect(/datum/status_effect/chem/BElarger)) + H.remove_status_effect(/datum/status_effect/chem/BElarger) if(1 to 8) size = breast_sizes[round(cached_size)] - if(owner.has_status_effect(/datum/status_effect/chem/BElarger)) - owner.remove_status_effect(/datum/status_effect/chem/BElarger) + //if(H.has_status_effect(/datum/status_effect/chem/BElarger)) + H.remove_status_effect(/datum/status_effect/chem/BElarger) if(9 to 15) size = breast_sizes[round(cached_size)] - if(owner.has_status_effect(/datum/status_effect/chem/BElarger)) - owner.apply_status_effect(/datum/status_effect/chem/BElarger) + //if(!H.has_status_effect(/datum/status_effect/chem/BElarger)) + H.apply_status_effect(/datum/status_effect/chem/BElarger) if(16 to INFINITY) - size = "huge" - if (!(breast_sizes[prev_size] == size)) + size = cached_size + message_admins("Breast size: [size], [cached_size], [owner]") + message_admins("[breast_values[prev_size]] vs [breast_values[size]]") + if (!(prev_size == breast_values[size])) if (breast_values[size] > breast_values[prev_size]) - to_chat(M, "Your breasts [pick("swell up to", "flourish into", "expand into", "burst forth into", "grow eagerly into", "amplify into")] a [uppertext(size)]-cup.") + 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(M, "Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "shrivels 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 = cached_size - if(cached_size < 0) - var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts") - to_chat(M, "You feel your breasts shrinking away from your body as your chest flattens out.") - B.Remove(M) - var/S = GLOB.breasts_shapes_list[shape] - var/mutable_appearance/genital_overlay = mutable_appearance(S.icon) - genital_overlay.icon_state = "breasts_[shape]_[size]_0_FRONT" + icon_state = "breasts_[shape]_[size]" + H.update_body() + //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 38e8e44f39..82bc2c61d8 100644 --- a/modular_citadel/code/modules/arousal/organs/penis.dm +++ b/modular_citadel/code/modules/arousal/organs/penis.dm @@ -48,6 +48,7 @@ color = "#[skintone2hex(H.skin_tone)]" else color = "#[owner.dna.features["cock_color"]]" + 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 02641b6cad..30c555776d 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -405,13 +405,13 @@ holder.remove_reagent(src.id, 20) else to_chat(M, "The pentetic acid seems to have stopped the decay for now, clumping up the cells into a horrifying tumour.") - if(87 to INFINITY)//purges chemical fast, producing a "slime" for each one. Said slime is weak to fire. + if(87 to INFINITY)//purges chemical fast, producing a "slime" for each one. Said slime is weak to fire. TODO: turn tumour slime into real variant. M.nutrition -= 100 var/mob/living/simple_animal/slime/S = new(get_turf(M.loc),"grey") S.damage_coeff = list(BRUTE = ((1 / volume)**0.1) , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) S.name = "Living teratoma" - S.real_name = "Living teratoma" - S.rabid = 1 + S.real_name = "Living teratoma"//horrifying!! + S.rabid = 1//Make them an angery boi //S.updateappearance(mutcolor_update=1) holder.remove_reagent(src.id, 20) M.adjustToxLoss(10, 0) @@ -431,17 +431,9 @@ color = "#E60584" // rgb: 96, 0, 255 taste_description = "a milky ice cream like flavour." overdose_threshold = 12 - metabolization_rate = 2 - //var/mob/living/carbon/M + metabolization_rate = 0.5 var/mob/living/carbon/human/H - //var/mob/living/carbon/human/species/S - /* - var/obj/item/organ/genital/breasts/B - var/obj/item/organ/genital/penis/P - var/obj/item/organ/genital/testicles/T - var/obj/item/organ/genital/vagina/V - var/obj/item/organ/genital/womb/W - */ + /datum/reagent/fermi/BElarger/on_mob_life(mob/living/carbon/M) //Increases breast size @@ -464,13 +456,14 @@ nB.color = skintone2hex(H.skin_tone) nB.size = "flat" nB.cached_size = 0 + nB.prev_size = 0 to_chat(M, "Your chest feels warm, tingling with newfound sensitivity.") M.reagents.remove_reagent(src.id, 5) B = nB //If they have them, increase size. If size is comically big, limit movement and rip clothes. message_admins("Breast size: [B.size], [B.cached_size], [holder]") B.cached_size = B.cached_size + 0.1 - if (B.cached_size >= 8 && B.cached_size < 8.5) + 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) @@ -502,6 +495,7 @@ H.dna.species.no_equip = list(SLOT_WEAR_SUIT, SLOT_W_UNIFORM) else M.remove_status_effect(/datum/status_effect/chem/PElarger) + P.update() if(!V) var/obj/item/organ/genital/vagina/nV = new nV.Insert(M) @@ -510,7 +504,6 @@ var/obj/item/organ/genital/womb/nW = new nW.Insert(M) W = nW - P.update() ..() /datum/reagent/fermi/PElarger // Due to popular demand...! @@ -520,7 +513,7 @@ color = "#H60584" // rgb: 96, 0, 255 taste_description = "a salty and sticky substance." overdose_threshold = 12 - metabolization_rate = 0.5 * REAGENTS_METABOLISM + metabolization_rate = 0.5 //var/mob/living/carbon/M //var/mob/living/carbon/human/species/S /* @@ -582,7 +575,8 @@ M.visible_message("[M] suddenly looks more masculine!", "You suddenly feel more masculine!") if(B) - B.cached_size = B.cached_size - B.cached_size + B.cached_size = B.cached_size - 0.1 + message_admins("Breast size: [B.size], [B.cached_size], [holder]") B.update() if(V) V.Remove(M)