This commit is contained in:
Fermi
2019-04-28 08:54:04 +01:00
parent d0607ee85c
commit 4a94d550a3
4 changed files with 64 additions and 46 deletions
@@ -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("<span class='boldnotice'>[M]'s chest suddenly bursts forth, ripping their clothes off!'</span>")
owner.visible_message("<span class='boldnotice'>[H]'s chest suddenly bursts forth, ripping their clothes off!'</span>")
to_chat(owner, "<span class='warning'>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..!</b></span>")
//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, "<span class='warning'>Your enormous breasts are way to large to fit anything over!</b></span>")
//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, "<span class='warning'>Your indulgent busom is so substantial, it's affecting your movements!</b></span>")
to_chat(H, "<span class='warning'>Your indulgent busom is so substantial, it's affecting your movements!</b></span>")
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")
@@ -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, "<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(owner, "<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
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, "<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>")
else if (breast_values[size] < breast_values[prev_size])
to_chat(owner, "<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 = 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, "<span class='warning'>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!.</b></span>")
else if (size < prev_size)
else if (round(size) < round(prev_size))
to_chat(owner, "<span class='warning'>Your breasts do something crazy that the big Fermis in the sky didn't account for.</b></span>")
//breasts.icon_state = "breasts_[shape]_[size]_0_FRONT"
@@ -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)
@@ -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, "<span class='warning'>Your breasts begin to strain against your clothes tightly!</b></span>")
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("<span class='boldnotice'>[M] suddenly looks more feminine!</span>", "<span class='boldwarning'>You suddenly feel more feminine!</span>")
if(P)
P.length -= 0.1
P.length = P.length - 0.1
if (P.length <= 0.1)
to_chat(M, "<span class='warning'>You feel your penis shink, disappearing from your loins, leaving a strange smoothness in your pants.</b></span>")
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, "<span class='warning'>Your cock begin to strain against your clothes tightly!</b></span>")
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("<span class='boldnotice'>[M] suddenly looks more masculine!</span>", "<span class='boldwarning'>You suddenly feel more masculine!</span>")
@@ -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