From 12eb5e9b1791fb2fa8e32603ef714c584e879090 Mon Sep 17 00:00:00 2001 From: Fermi Date: Tue, 28 May 2019 23:35:50 +0100 Subject: [PATCH] ARGH --- .../code/datums/status_effects/chems.dm | 4 +-- .../code/modules/arousal/organs/breasts.dm | 10 ++---- .../code/modules/arousal/organs/genitals.dm | 15 +++++--- .../chemistry/reagents/fermi_reagents.dm | 36 ++++--------------- 4 files changed, 22 insertions(+), 43 deletions(-) diff --git a/modular_citadel/code/datums/status_effects/chems.dm b/modular_citadel/code/datums/status_effects/chems.dm index cfb46d5b5e..f235851686 100644 --- a/modular_citadel/code/datums/status_effects/chems.dm +++ b/modular_citadel/code/datums/status_effects/chems.dm @@ -82,7 +82,7 @@ to_chat(owner, "Your enormous breasts are way too large to fit anything over them!") if (B.size == "huge") if(prob(2)) - to_chat(H, "Your back is feeling a little sore.") + to_chat(owner, "Your back is feeling a little sore.") var/target = o.get_bodypart(BODY_ZONE_CHEST) o.apply_damage(0.1, BRUTE, target) if(!B.cached_size == B.breast_values[B.prev_size]) @@ -104,7 +104,7 @@ if (!(B.breast_sizes[B.prev_size] == B.size)) to_chat(H, "Your indulgent busom is so substantial, it's affecting your movements!") if(prob(5)) - to_chat(H, "Your back is feeling a little sore.") + to_chat(owner, "Your back is feeling a little sore.") ..() /datum/status_effect/chem/BElarger/on_remove(mob/living/carbon/M) diff --git a/modular_citadel/code/modules/arousal/organs/breasts.dm b/modular_citadel/code/modules/arousal/organs/breasts.dm index 4d1793fb25..6d1a49a66b 100644 --- a/modular_citadel/code/modules/arousal/organs/breasts.dm +++ b/modular_citadel/code/modules/arousal/organs/breasts.dm @@ -6,8 +6,8 @@ zone = "chest" slot = "breasts" w_class = 3 - size = BREASTS_SIZE_DEF //SHOULD BE A LETTER, starts as a number...??? - var/cached_size = null//for enlargement SHOULD BE A NUMBER + size = "c" //SHOULD BE A LETTER, starts as a number...??? + var/cached_size = BREASTS_SIZE_DEF //for enlargement SHOULD BE A NUMBER var/prev_size //For flavour texts SHOULD BE A LETTER 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) @@ -24,12 +24,6 @@ /obj/item/organ/genital/breasts/Initialize() . = ..() reagents.add_reagent(fluid_id, fluid_max_volume) - //prev_size = size - //cached_size = breast_values[size] - /* This breaks the character creation sceen. for some reason sizes are set to numbers there. - if (cached_size == "c")//fix for a weird bug that has something to do with how they're set up on the character create screen. - cached_size = 3 - */ /obj/item/organ/genital/breasts/on_life() if(QDELETED(src)) diff --git a/modular_citadel/code/modules/arousal/organs/genitals.dm b/modular_citadel/code/modules/arousal/organs/genitals.dm index 3fce3cacd0..45cfb6303e 100644 --- a/modular_citadel/code/modules/arousal/organs/genitals.dm +++ b/modular_citadel/code/modules/arousal/organs/genitals.dm @@ -211,8 +211,12 @@ B.color = "#[dna.features["breasts_color"]]" B.size = dna.features["breasts_size"] B.prev_size = B.size + message_admins("B.size[B.size]") if (!B.size == "huge") - B.cached_size = B.breast_values[B.size] + if(isnum(B.size)) + B.cached_size = B.size + else + B.cached_size = B.breast_values[B.size] B.shape = dna.features["breasts_shape"] B.fluid_id = dna.features["breasts_fluid"] B.update() @@ -288,11 +292,15 @@ for(var/obj/item/organ/O in internal_organs) if(istype(O, /obj/item/organ/genital)) organCheck = TRUE + if(/obj/item/organ/genital/penis) + if(!dna.features["has_cock"] == 1) + dna.features["has_cock"] = 1//Goddamnit get in there. if (organCheck == FALSE) if(ishuman(src) && dna.species.id == "human") dna.features["genitals_use_skintone"] = TRUE dna.species.use_skintones = TRUE - return + + /* I can't get this to work. if(MUTCOLORS) if(src.dna.species.fixed_mut_color) dna.features["cock_color"] = "#[src.dna.species.fixed_mut_color]" @@ -301,6 +309,7 @@ //So people who haven't set stuff up don't get rainbow surprises. dna.features["cock_color"] = "#[dna.features["mcolor"]]" dna.features["breasts_color"] = "#[dna.features["mcolor"]]" + */ return /datum/species/proc/handle_genitals(mob/living/carbon/human/H)//more like handle sadness @@ -341,8 +350,6 @@ S = GLOB.vagina_shapes_list[G.shape] if(/obj/item/organ/genital/breasts) S = GLOB.breasts_shapes_list[G.shape] - //var/temp_aroused_state = 0//Breasts don't have aroused_states, there's literally no difference in the spite. When someone touched up/edits the code for their implementation, remove this and change temp_aroused_state to aroused_state - //if(size == "huge") 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 9cf2c1fa1b..3950297212 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/fermi_reagents.dm @@ -136,7 +136,6 @@ if(purity > 0.75) //Teleports you home if it's pure enough do_sparks(5,FALSE,M) do_teleport(M, location_created, 0, asoundin = 'sound/effects/phasein.ogg') - //M.forceMove(location_created) //Teleports to creation location do_sparks(5,FALSE,M) if(prob(20)) do_sparks(5,FALSE,M) @@ -330,12 +329,8 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING if(LAZYLEN(candies) && src.playerClone == FALSE) //If there's candidates, clone the person and put them in there! message_admins("Ghost candidate found! [candies] is becoming a clone of [M]! Hee~!! Exciting!!") to_chat(M, "The cells reach a critical micelle concentration, nucleating rapidly within your body!") - //var/typepath = owner.type - //clone = new typepath(owner.loc) var/typepath = M.type var/mob/living/carbon/human/fermi_Gclone = new typepath(M.loc) - //var/mob/living/carbon/SM = owner - //var/mob/living/carbon/M = M var/mob/living/carbon/human/SM = fermi_Gclone if(istype(SM) && istype(M)) SM.real_name = M.real_name @@ -352,7 +347,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING ZI.Remove(M) ZI.Insert(SM) - //SM.sentience_act() to_chat(SM, "You feel a strange sensation building in your mind as you realise there's two of you, before you get a chance to think about it, you suddenly split from your old body, and find yourself face to face with yourself, or rather, your original self.") to_chat(SM, "While you find your newfound existence strange, you share the same memories as [M.real_name]. [pick("However, You find yourself indifferent to the goals you previously had, and take more interest in your newfound independence, but still have an indescribable care for the safety of your original", "Your mind has not deviated from the tasks you set out to do, and now that there's two of you the tasks should be much easier.")]") to_chat(M, "You feel a strange sensation building in your mind as you realise there's two of you, before you get a chance to think about it, you suddenly split from your old body, and find yourself face to face with yourself.") @@ -370,7 +364,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING //Really hacky way to deal with this stupid problem I have, and heal the clone. I think around 30u will make a healthy clone. SM.reagents.add_reagent("SDGFheal", volume) - M.reagents.remove_reagent(src.id, src.vol) + M.reagents.remove_reagent(src.id, src.volume) //Give the new clone an idea of their character //SHOULD print last 5 messages said by the original to the clones chatbox @@ -387,8 +381,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING return //BALANCE: should I make them a pacifist, or give them some cellular damage or weaknesses? - //after_success(user, SM) - //qdel(src) else if(src.playerClone == FALSE) //No candidates leads to two outcomes; if there's already a braincless clone, it heals the user, as well as being a rare souce of clone healing (thematic!). src.unitCheck = TRUE @@ -458,17 +450,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING M.next_move_modifier = 1 if (M.nutrition < 1500) M.nutrition += 500 -//If the reaction explodes -/* -/datum/reagent/fermi/SDGF/FermiExplode(turf/open/T)//Spawns an angery teratoma!! Spooky..! be careful!! TODO: Add teratoma slime subspecies - //var/mob/living/simple_animal/slime/S = new(get_turf(location_created),"grey") - var/mob/living/simple_animal/slime/S = new(T,"grey")//should work, in theory - S.damage_coeff = list(BRUTE = 0.9 , BURN = 2, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)//I dunno how slimes work cause fire is burny - S.name = "Living teratoma" - S.real_name = "Living teratoma"//horrifying!! - S.rabid = 1//Make them an angery boi, grr grr - to_chat("The cells clump up into a horrifying tumour.") -*/ //Unobtainable, used in clone spawn. /datum/reagent/fermi/SDGFheal @@ -527,7 +508,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING M.nutrition = 20000 //https://www.youtube.com/watch?v=Bj_YLenOlZI if(75 to 85) M.adjustToxLoss(1, 0)// the warning! - if(86) + if(86)//mean clone time! if (!M.reagents.has_reagent("pen_acid"))//Counterplay is pent.) message_admins("(non-infectious) Zombie spawned at [M.loc], produced by impure chem, wah!") M.nutrition = startHunger - 500//YOU BEST BE RUNNING AWAY AFTER THIS YOU BADDIE @@ -541,7 +522,7 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING ZI.real_name = M.real_name//Give your offspring a big old kiss. ZI.name = M.real_name ZI.desc = "[M]'s clone, gone horribly wrong." - //ZI.updateappearance(mutcolor_update=1) + M.reagents.remove_reagent(src.id, 20) else//easier to deal with to_chat(M, "The pentetic acid seems to have stopped the decay for now, clumping up the cells into a horrifying tumour!") @@ -622,7 +603,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING var/sizeConv = list("a" = 1, "b" = 2, "c" = 3, "d" = 4, "e" = 5) B.prev_size = B.size B.cached_size = sizeConv[B.size] - //message_admins("init B size: [B.size], prev: [B.prev_size], cache = [B.cached_size], raw: [sizeConv[B.size]]") //if this runtimes it's cause someone's breasts are too big! /datum/reagent/fermi/BElarger/on_mob_life(mob/living/carbon/M) //Increases breast size if(!ishuman(M))//Just in case @@ -718,7 +698,6 @@ IMPORTANT FACTORS TO CONSIDER WHILE BALANCING ImpureChem = "PEsmaller" //If you make an inpure chem, it stalls growth InverseChemVal = 0.3 InverseChem = "PEsmaller" //At really impure vols, it just becomes 100% inverse - //var/mob/living/carbon/human/H /datum/reagent/fermi/PElarger/on_mob_add(mob/living/carbon/M) . = ..() @@ -841,13 +820,12 @@ Buginess level: works as intended - except teleport makes sparks for some reason var/antiGenetics = 255 var/sleepytime = 0 InverseChemVal = 0.25 - //var/Svol = volume /datum/reagent/fermi/astral/on_mob_life(mob/living/M) // Gives you the ability to astral project for a moment! - //M.alpha = 255//Reset addiction - //antiGenetics = 255// DOesn't work for some reason? + M.alpha = 255//Reset addiction + antiGenetics = 255// DOesn't work for some reason? switch(current_cycle) - if(2)//Require a minimum + if(0)//Require a minimum origin = M if (G == null) G = new(get_turf(M.loc)) @@ -869,7 +847,7 @@ Buginess level: works as intended - except teleport makes sparks for some reason if(prob(50)) to_chat(G, "The high conentration of Astrogen in your blood causes you to lapse your concentration for a moment, bringing your projection back to yourself!") do_teleport(G, M.loc) - M.reagents.remove_reagent(src.id, current_cycle/2, FALSE) + M.reagents.remove_reagent(src.id, current_cycle-1, FALSE) ..() /datum/reagent/fermi/astral/on_mob_delete(mob/living/carbon/M)