One day it'll work and everything will be great

This commit is contained in:
Fermi
2019-04-28 03:42:10 +01:00
parent f8495ae96a
commit ab317d95aa
4 changed files with 87 additions and 68 deletions
@@ -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("<span class='boldnotice'>[M]'s chest 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 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>")
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("<span class='boldnotice'>[M]'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)
/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, "<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)
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, "<span class='warning'>Your enormous breasts are way to large to fit anything over!</b></span>")
//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, "<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)
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("<span class='boldnotice'>[M]'s penis suddenly bursts forth, ripping their clothes off!'</span>")
owner.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)
//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, "<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)
to_chat(owner, "<span class='warning'>Your enormous package is way to large to fit anything over!</b></span>")
//owner.dropItemToGround(owner.wear_suit)
//owner.dropItemToGround(owner.w_uniform)
/*Doesn't work
@@ -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, "<span class='warning'>You feel your breasts shrinking away from your body as your chest flattens out.</b></span>")
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, "<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>")
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(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>")
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
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)
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"
@@ -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)
@@ -405,13 +405,13 @@
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.
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, "<span class='warning'>Your chest feels warm, tingling with newfound sensitivity.</b></span>")
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, "<span class='warning'>Your breasts begin to strain against your clothes tightly!</b></span>")
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("<span class='boldnotice'>[M] suddenly looks more masculine!</span>", "<span class='boldwarning'>You suddenly feel more masculine!</span>")
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)