This commit is contained in:
Fermi
2019-04-28 00:53:30 +01:00
parent ba84ef600b
commit f9ead7eadb
3 changed files with 83 additions and 74 deletions
@@ -39,7 +39,7 @@
var/list/items = list()
/datum/status_effect/chem/BElarger/on_apply(mob/living/carbon/M)
var/mob/living/carbon/human/H
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)
@@ -49,31 +49,47 @@
M.dropItemToGround(H.w_uniform)
/datum/status_effect/chem/BElarger/tick(mob/living/carbon/M)
var/mob/living/carbon/human/H
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, "<span class='warning'>Your enormous breasts are way to large to fit anything over!</b></span>")
M.dropItemToGround(H.wear_suit)
M.dropItemToGround(H.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
if(10 to INFINITY)
if (!(B.breast_sizes[B.prev_size] == B.size))
to_chat(M, "<span class='warning'>Your indulgent busom is so substantial, it's affecting your movements!</b></span>")
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)
/datum/status_effect/chem/BElarger/on_remove(mob/living/carbon/M)
M.remove_movespeed_modifier("megamilk")
M.next_move_modifier = 1
/datum/status_effect/chem/PElarger
id = "PElarger"
var/list/items = list()
//var/list/items = list()
/datum/status_effect/chem/PElarger/on_apply(mob/living/carbon/M)
var/mob/living/carbon/human/H
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)
//items |= M.get_equipped_items(TRUE)
M.visible_message("<span class='boldnotice'>[M]'s penis suddenly bursts forth, ripping their clothes off!'</span>")
to_chat(M, "<span class='warning'>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..!</b></span>")
M.dropItemToGround(H.wear_suit)
M.dropItemToGround(H.w_uniform)
/datum/status_effect/chem/PElarger/tick(mob/living/carbon/M)
var/mob/living/carbon/human/H
var/mob/living/carbon/human/H = M
if(H.w_uniform || H.wear_suit)
items |= M.get_equipped_items(TRUE)
//items |= M.get_equipped_items(TRUE)
to_chat(M, "<span class='warning'>Your enormous package is way to large to fit anything over!</b></span>")
M.dropItemToGround(H.wear_suit)
M.dropItemToGround(H.w_uniform)
@@ -7,6 +7,10 @@
slot = "breasts"
w_class = 3
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_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
producing = TRUE
@@ -19,6 +23,7 @@
/obj/item/organ/genital/breasts/Initialize()
. = ..()
reagents.add_reagent(fluid_id, fluid_max_volume)
prev_size = size
/obj/item/organ/genital/breasts/on_life()
if(QDELETED(src))
@@ -44,12 +49,12 @@
desc = "You see a pair of breasts."
else
desc = "You see some breasts, they seem to be quite exotic."
if (size <= 7)
if (size == "huge")
desc += " You estimate that they're [uppertext(size)]-cups."
else if (size > 7)
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
desc += " You wouldn't measure them in cup sizes."
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
// desc += " You wouldn't measure them in cup sizes."
if(producing && aroused_state)
desc += " They're leaking [fluid_id]."
if(owner)
@@ -59,3 +64,32 @@
color = "#[skintone2hex(H.skin_tone)]"
else
color = "#[owner.dna.features["breasts_color"]]"
/obj/item/organ/genital/breasts/update_size(mob/living/carbon/M)
switch(round(cached_size))
if(0)
size = "flat"
if(!M.has_status_effect(/datum/status_effect/chem/BElarger))
owner.remove_status_effect(/datum/status_effect/chem/BElarger)
if(1 to 8)
size = breast_sizes[round(cached_size)]
if(!M.has_status_effect(/datum/status_effect/chem/BElarger))
owner.remove_status_effect(/datum/status_effect/chem/BElarger)
if(9 to 15)
size = breast_sizes[round(cached_size)]
if(M.has_status_effect(/datum/status_effect/chem/BElarger))
owner.apply_status_effect(/datum/status_effect/chem/BElarger)
if(16 to INFINITY)
size = "huge"
if (!(breast_sizes[prev_size] == size))
if (breast_values[size] > breast_values[prev_size])
to_chat(M, "<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>")
prev_size = cached_size
else if (breast_values[size] > breast_values[prev_size])
to_chat(M, "<span class='warning'>Your breasts [pick("shrink down to", "decrease into", "diminish into", "deflate into", "shrivel regretfully into", "shrivels into")] a [uppertext(size)]-cup.</b></span>")
prev_size = cached_size
if(cached_size < 0)
var/obj/item/organ/genital/breasts/B = M.getorganslot("breasts")
to_chat(M, "<span class='warning'>You feel your breasts shrinking away from your body as your chest flattens out.</b></span>")
B.Remove(M)
@@ -86,7 +86,7 @@
do_sparks(5,FALSE,src)
do_teleport(M, get_turf(M), 10, asoundin = 'sound/effects/phasein.ogg')
do_sparks(5,FALSE,src)
holder.remove_reagent("eigenstate", 0.5, FALSE)//So you're not stuck for 10 minutes teleporting
holder.remove_reagent(src.id, 0.5)//So you're not stuck for 10 minutes teleporting
..() //loop function
@@ -283,7 +283,7 @@
M.nutrition = 150
reaction_mob(SM, )
holder.remove_reagent("SDGF", 999)
holder.remove_reagent(src.id, 999)
//BALANCE: should I make them a pacifist, or give them some cellular damage or weaknesses?
//after_success(user, SM)
@@ -328,7 +328,7 @@
to_chat(M, "<span class='notice'>Your body splits away from the cell clone of yourself, leaving you with a drained and hollow feeling inside.</span>")
M.apply_status_effect(/datum/status_effect/chem/SGDF)
if(87 to INFINITY)
holder.remove_reagent("SGDF", 1)//removes SGDF on completion.
holder.remove_reagent(src.id, 1)//removes SGDF on completion.
message_admins("Purging SGDF [volume]")
message_admins("Growth nucleation occuring (SDGF), step [current_cycle] of 77")
@@ -402,7 +402,7 @@
ZI.real_name = M.real_name//Give your offspring a big old kiss.
ZI.name = M.real_name
//ZI.updateappearance(mutcolor_update=1)
M.reagents.remove_reagent("SDZF", 20)
holder.remove_reagent(src.id, 20)
else
to_chat(M, "<span class='notice'>The pentetic acid seems to have stopped the decay for now, clumping up the cells into a horrifying tumour.</span>")
if(87 to INFINITY)//purges chemical fast, producing a "slime" for each one. Said slime is weak to fire.
@@ -413,7 +413,7 @@
S.real_name = "Living teratoma"
S.rabid = 1
//S.updateappearance(mutcolor_update=1)
M.reagents.remove_reagent("SDZF", 20)
holder.remove_reagent(src.id, 20)
M.adjustToxLoss(10, 0)
to_chat(M, "<span class='warning'>A large glob of the tumour suddenly splits itself from your body. You feel grossed out and slimey...</span>")
message_admins("Growth nucleation occuring (SDGF), step [current_cycle] of 20")
@@ -422,6 +422,7 @@
//breast englargement
//Honestly the most requested chems
//I'm not a very kinky person, sorry if it's not great
//I tried to make it interesting..!!
/datum/reagent/fermi/BElarger
name = "Sucubus milk"
@@ -461,50 +462,19 @@
nB.color = "#[M.dna.features["breasts_color"]]"
else
nB.color = skintone2hex(H.skin_tone)
nB.size = "a"
nB.size = "flat"
nB.cached_size = 0
to_chat(M, "<span class='warning'>Your chest feels warm, tingling with newfound sensitivity.</b></span>")
M.reagents.remove_reagent(src.id, 5)
else //If they have them, increase size. If size is comically big, limit movement and rip clothes.
message_admins("Breast size: [B.size], [holder]")
if(B.size == "a")
B.size = "b"
to_chat(M, "<span class='warning'>You feel your breasts grow to a modest size.</b></span>")
M.reagents.remove_reagent(src.id, 5)
sleep(500)
else if(B.size == "b")
B.size = "c"
to_chat(M, "<span class='warning'>Your breasts swell up to a substancial size.</b></span>")
M.reagents.remove_reagent(src.id, 5)
sleep(500)
else if(B.size == "c")
B.size = "d"
to_chat(M, "<span class='warning'>Your breasts flourish into a full pair.</b></span>")
M.reagents.remove_reagent(src.id, 5)
sleep(500)
else if(B.size == "d")
B.size = "e"
to_chat(M, "<span class='warning'>Your breasts expand into a large voluptuous pair!</b></span>")
M.reagents.remove_reagent(src.id, 5)
sleep(500)
else if(B.size == "e")
B.size = 7
to_chat(M, "<span class='warning'>Your breasts burst forth into [pick("some serious honkers", "a real set of badonkers", "some dobonhonkeros", "massive dohoonkabhankoloos", "big old tonhongerekoogers", "giant bonkhonagahoogs", "humongous hungolomghnonoloughongous")].</b></span>")
M.reagents.remove_reagent(src.id, 5)
sleep(500)
if(B.size >= 7)
B.size = B.size + 0.1
if (B.size > 9)
//M.adjustOxyLoss((-50, 0)
M.apply_status_effect(/datum/status_effect/chem/BElarger)
M.add_movespeed_modifier("megamilk", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = (B.size - 8.1))
M.next_move_modifier += 0.1
else if (B.size > 8.5)
to_chat(M, "<span class='warning'>Your breasts begin to strain against your clothes tightly!</b></span>")
M.adjustOxyLoss(10, 0)
M.adjustBruteLoss(2, 0)
sleep(500)
//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)
to_chat(M, "<span class='warning'>Your breasts begin to strain against your clothes tightly!</b></span>")
M.adjustOxyLoss(10, 0)
M.adjustBruteLoss(2, 0)
B.update_appearance()
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.
@@ -611,23 +581,12 @@
M.visible_message("<span class='boldnotice'>[M] suddenly looks more masculine!</span>", "<span class='boldwarning'>You suddenly feel more masculine!</span>")
if(B)
B.size -= 0.1
if (B.size < 0.1)
to_chat(M, "<span class='warning'>You feel your breasts shrinking away from your body as your chest flattens out.</b></span>")
B.Remove(M)
else if (B.size >= 9)
M.add_movespeed_modifier("megamilk", TRUE, 100, NONE, override = TRUE, multiplicative_slowdown = (B.size - 8.1))//Via la liberation
M.next_move_modifier -= 0.1
H.dna.species.no_equip = list(SLOT_WEAR_SUIT, SLOT_W_UNIFORM)
if(V)
V.Remove(M)
if(W)
W.Remove(M)
B.update_appearance()
else
M.remove_status_effect(/datum/status_effect/chem/BElarger)
B.cached_size = B.cached_size - B.cached_size
B.update()
if(V)
V.Remove(M)
if(W)
W.Remove(M)
if(!T)
var/obj/item/organ/genital/testicles/nT = new
nT.Insert(M)