Merge pull request #201 from Alphas00/master
XWG Cap, Water Sponge pool, Blueberry plant, Blueberry Juices merge, Dumbbell and Treadmill, Blueberry decal
@@ -13,7 +13,7 @@
|
||||
threshold_desc = list(
|
||||
"Stage Speed" = "Increases the rate of liquid production.",
|
||||
)
|
||||
var/datum/reagent/infection_reagent = /datum/reagent/berry_juice_infection
|
||||
var/datum/reagent/infection_reagent = /datum/reagent/blueberry_juice
|
||||
|
||||
/datum/symptom/berry/Start(datum/disease/advance/A)
|
||||
if(!..())
|
||||
@@ -35,52 +35,13 @@
|
||||
if(prob(base_message_chance))
|
||||
to_chat(M, "<span class='warning'>[pick("You feel oddly full...", "Your stomach churns...", "You hear a gurgle...", "You taste berries...")]</span>")
|
||||
else
|
||||
to_chat(M, "<span class='warning'><i>[pick("A deep slosh comes from inside you...", "Your mind feels so light...", "You think blue really suits you...", "Your skin feels so tight...")]</i></span>")
|
||||
to_chat(M, "<span class='warning'><i>[pick("A deep slosh comes from inside you...", "Your mind feels light...", "You think blue really suits you...", "Your skin feels so tight...")]</i></span>")
|
||||
M.reagents.add_reagent(infection_reagent, max(A.totalStageSpeed(), 1))
|
||||
|
||||
/datum/reagent/berry_juice_infection
|
||||
name = "Blueberry Juice"
|
||||
description = "Totally infectious."
|
||||
reagent_state = LIQUID
|
||||
metabolization_rate = 0.25 * REAGENTS_METABOLISM
|
||||
color = "#0004ff"
|
||||
var/picked_color
|
||||
var/list/random_color_list = list("#0058db","#5d00c7","#0004ff","#0057e7")
|
||||
taste_description = "blueberry pie"
|
||||
var/no_mob_color = FALSE
|
||||
value = 10 //it sells. Make that berry factory
|
||||
|
||||
/datum/reagent/berry_juice_infection/on_mob_add(mob/living/L, amount)
|
||||
if(iscarbon(L))
|
||||
var/mob/living/carbon/affected_mob = L
|
||||
if(affected_mob?.client && !(affected_mob?.client?.prefs?.blueberry_inflation))
|
||||
affected_mob.reagents.remove_reagent(/datum/reagent/berry_juice_infection, volume)
|
||||
return
|
||||
picked_color = pick(random_color_list)
|
||||
affected_mob.hider_add(src)
|
||||
else
|
||||
L.reagents.remove_reagent(/datum/reagent/berry_juice_infection, volume)
|
||||
..()
|
||||
|
||||
/datum/reagent/berry_juice_infection/on_mob_life(mob/living/carbon/M)
|
||||
if(M?.client && !(M?.client?.prefs?.blueberry_inflation))
|
||||
M.reagents.remove_reagent(/datum/reagent/berry_juice_infection, volume)
|
||||
return
|
||||
if(!no_mob_color)
|
||||
M.add_atom_colour(picked_color, WASHABLE_COLOUR_PRIORITY)
|
||||
M.adjust_fatness(1, FATTENING_TYPE_CHEM)
|
||||
..()
|
||||
|
||||
/datum/reagent/berry_juice_infection/on_mob_delete(mob/living/L)
|
||||
if(!iscarbon(L))
|
||||
return
|
||||
var/mob/living/carbon/C = L
|
||||
C.hider_remove(src)
|
||||
|
||||
/obj/item/reagent_containers/glass/attack(mob/M, mob/user, obj/target)
|
||||
if(M.reagents.get_reagent_amount(/datum/reagent/berry_juice_infection) > 0 && (reagents.total_volume + min(amount_per_transfer_from_this, 10)) <= volume)
|
||||
reagents.add_reagent(/datum/reagent/berry_juice_infection, min(10, amount_per_transfer_from_this))
|
||||
M.reagents.remove_reagent(/datum/reagent/berry_juice_infection, min(10, amount_per_transfer_from_this))
|
||||
if(M.reagents.get_reagent_amount(/datum/reagent/blueberry_juice) > 0 && (reagents.total_volume + min(amount_per_transfer_from_this, 10)) <= volume)
|
||||
reagents.add_reagent(/datum/reagent/blueberry_juice, min(10, amount_per_transfer_from_this))
|
||||
M.reagents.remove_reagent(/datum/reagent/blueberry_juice, min(10, amount_per_transfer_from_this))
|
||||
if(M != user)
|
||||
to_chat(user, "<span class='warning'>You juice [M.name]...</span>")
|
||||
to_chat(M, "<span class='warning'>[user.name] juices you...</span>")
|
||||
@@ -88,10 +49,22 @@
|
||||
to_chat(user, "<span class='warning'>You get some juice out of you...</span>")
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/effect/decal/cleanable/juice
|
||||
name = "berry juice"
|
||||
desc = "It's blue and smells enticingly sweet."
|
||||
icon = 'GainStation13/icons/turf/berry_decal.dmi'
|
||||
icon_state = "floor1"
|
||||
random_icon_states = list("floor1", "floor2", "floor3", "floor4", "floor5", "floor6", "floor7")
|
||||
blood_state = BLOOD_STATE_JUICE
|
||||
bloodiness = BLOOD_AMOUNT_PER_DECAL
|
||||
|
||||
/datum/reagent/berry_juice_infection/proc/fat_hide()
|
||||
return (3 * (volume * volume))/50
|
||||
/obj/effect/decal/cleanable/juice/Initialize()
|
||||
. = ..()
|
||||
reagents.add_reagent(/datum/reagent/blueberry_juice = 5)
|
||||
|
||||
/obj/effect/decal/cleanable/juice/streak
|
||||
random_icon_states = list("streak1", "streak2", "streak3", "streak4", "streak5")
|
||||
|
||||
//extreme variant, for admin or item purposes
|
||||
/datum/symptom/berry/extreme
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
GLOBAL_LIST_INIT(uncapped_resize_areas, list(/area/bridge, /area/crew_quarters))
|
||||
|
||||
/mob/living/carbon
|
||||
//Due to the changes needed to create the system to hide fatness, here's some notes:
|
||||
// -If you are making a mob simply gain or lose weight, use adjust_fatness. Try to not touch the variables directly unless you know 'em well
|
||||
@@ -44,10 +46,7 @@
|
||||
|
||||
fatness = fatness_real //Make their current fatness their real fatness
|
||||
|
||||
hiders_apply() //Check and apply hiders
|
||||
|
||||
if(client?.prefs?.weight_gain_extreme)
|
||||
xwg_resize()
|
||||
hiders_apply() //Check and apply hiders, XWG is there too
|
||||
|
||||
return TRUE
|
||||
|
||||
@@ -136,13 +135,20 @@
|
||||
if(client?.prefs?.max_weight) //Check their prefs
|
||||
fatness_over = min(fatness_over, (client?.prefs?.max_weight - 1)) //And make sure it's not above their preferred max
|
||||
fatness = fatness_real + fatness_over //Then, make their current fatness the sum of their real plus/minus the calculated amount
|
||||
if(client?.prefs?.weight_gain_extreme)
|
||||
xwg_resize()
|
||||
if(client?.prefs?.weight_gain_extreme)
|
||||
xwg_resize()
|
||||
|
||||
/mob/living/carbon/human/handle_breathing(times_fired)
|
||||
. = ..()
|
||||
hiders_apply()
|
||||
|
||||
/mob/living/carbon/proc/xwg_resize()
|
||||
var/xwg_size = sqrt(fatness/FATNESS_LEVEL_BLOB)
|
||||
xwg_size = min(xwg_size, RESIZE_HUGE)
|
||||
xwg_size = min(xwg_size, RESIZE_MACRO)
|
||||
xwg_size = max(xwg_size, custom_body_size*0.01)
|
||||
if(xwg_size > RESIZE_BIG) //check if the size needs capping otherwise don't bother searching the list
|
||||
if(!is_type_in_list(get_area(src), GLOB.uncapped_resize_areas)) //if the area is not int the uncapped whitelist and new size is over the cap
|
||||
xwg_size = RESIZE_BIG
|
||||
resize(xwg_size)
|
||||
|
||||
/proc/get_fatness_level_name(fatness_amount)
|
||||
@@ -166,7 +172,3 @@
|
||||
return "Immobile"
|
||||
|
||||
return "Blob"
|
||||
|
||||
/mob/living/carbon/human/handle_breathing(times_fired)
|
||||
. = ..()
|
||||
hiders_apply()
|
||||
|
||||
@@ -42,12 +42,13 @@
|
||||
L.reagents.add_reagent(/datum/reagent/water, 3)
|
||||
|
||||
/mob/living/carbon/proc/water_check(datum/gas_mixture/breath)
|
||||
var/breath_gases = breath.gases
|
||||
if(breath_gases[/datum/gas/water_vapor])
|
||||
if(HAS_TRAIT(src, TRAIT_WATER_SPONGE))
|
||||
var/H2O_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/water_vapor])
|
||||
reagents.add_reagent(/datum/reagent/water, H2O_pp/10)
|
||||
breath_gases[/datum/gas/water_vapor] -= H2O_pp
|
||||
if(HAS_TRAIT(src, TRAIT_WATER_SPONGE))
|
||||
if(breath.gases)
|
||||
var/breath_gases = breath.gases
|
||||
if(breath_gases[/datum/gas/water_vapor])
|
||||
var/H2O_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/water_vapor])
|
||||
reagents.add_reagent(/datum/reagent/water, H2O_pp/10)
|
||||
breath_gases[/datum/gas/water_vapor] -= H2O_pp
|
||||
|
||||
/obj/structure/sink
|
||||
var/mob/living/attached
|
||||
@@ -82,3 +83,10 @@
|
||||
visible_message("[attached] is detached from [src]")
|
||||
attached = null
|
||||
return
|
||||
|
||||
/obj/machinery/pool/controller/process_reagents()
|
||||
for(var/turf/open/pool/W in linked_turfs)
|
||||
for(var/mob/living/carbon/human/swimee in W)
|
||||
if(HAS_TRAIT(swimee, TRAIT_WATER_SPONGE))
|
||||
swimee.reagents.add_reagent(/datum/reagent/water, 5)
|
||||
..()
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
/obj/item/dumbbell
|
||||
desc = "A weighty dumbbell, perfect for arm exercise!"
|
||||
name = "dumbbell"
|
||||
icon = 'GainStation13/icons/obj/dumbbell.dmi'
|
||||
icon_state = "pen"
|
||||
item_state = "pen"
|
||||
throwforce = 20
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
materials = list(MAT_METAL=10)
|
||||
pressure_resistance = 2
|
||||
var/reps = 0
|
||||
var/using = FALSE
|
||||
|
||||
/obj/item/dumbbell/dropped(mob/user, silent)
|
||||
reps = 0
|
||||
. = ..()
|
||||
|
||||
/obj/item/dumbbell/attack_self(mob/user)
|
||||
. = ..()
|
||||
if(!using)
|
||||
using = TRUE
|
||||
visible_message("<span>[user] does a rep with the [src]. YEEEEEAH!!!</span>")
|
||||
if(do_after(usr, CLICK_CD_RESIST-reps, 0, usr, 1))
|
||||
if(iscarbon(user))
|
||||
var/mob/living/carbon/U = user
|
||||
U.adjust_fatness(-10, FATTENING_TYPE_WEIGHT_LOSS)
|
||||
if(reps < 16)
|
||||
reps += 0.4
|
||||
else
|
||||
visible_message("<span>[user] couldn't complete the rep. YOU'LL GET IT NEXT TIME CHAMP!!!</span>")
|
||||
using = FALSE
|
||||
|
||||
/obj/machinery/conveyor/treadmill
|
||||
name = "treadmill"
|
||||
desc = "A treadmil, for losing weight!"
|
||||
|
||||
/obj/machinery/conveyor/treadmill/convey(list/affecting)
|
||||
var/turf/T = get_step(src, movedir)
|
||||
if(length(T.contents) > 150)
|
||||
return
|
||||
for(var/atom/movable/A in affecting)
|
||||
if((A.loc == loc) && A.has_gravity())
|
||||
A.ConveyorMove(movedir)
|
||||
if(iscarbon(A))
|
||||
var/mob/living/carbon/C = A
|
||||
C.adjust_fatness(-10, FATTENING_TYPE_WEIGHT_LOSS)
|
||||
|
||||
/obj/machinery/conveyor/treadmill/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I, /obj/item/crowbar))
|
||||
user.visible_message("<span class='notice'>[user] struggles to pry up \the [src] with \the [I].</span>", \
|
||||
"<span class='notice'>You struggle to pry up \the [src] with \the [I].</span>")
|
||||
if(I.use_tool(src, user, 40, volume=40))
|
||||
if(!(stat & BROKEN))
|
||||
var/obj/item/conveyor_construct/treadmill/C = new/obj/item/conveyor_construct/treadmill(src.loc)
|
||||
C.id = id
|
||||
transfer_fingerprints_to(C)
|
||||
to_chat(user, "<span class='notice'>You remove the conveyor belt.</span>")
|
||||
qdel(src)
|
||||
|
||||
else if(istype(I, /obj/item/wrench))
|
||||
if(!(stat & BROKEN))
|
||||
I.play_tool_sound(src)
|
||||
setDir(turn(dir,-45))
|
||||
update_move_direction()
|
||||
to_chat(user, "<span class='notice'>You rotate [src].</span>")
|
||||
|
||||
else if(istype(I, /obj/item/screwdriver))
|
||||
if(!(stat & BROKEN))
|
||||
verted = verted * -1
|
||||
update_move_direction()
|
||||
to_chat(user, "<span class='notice'>You reverse [src]'s direction.</span>")
|
||||
|
||||
else if(user.a_intent != INTENT_HARM)
|
||||
user.transferItemToLoc(I, drop_location())
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/conveyor_construct/treadmill
|
||||
icon = 'icons/obj/recycling.dmi'
|
||||
icon_state = "conveyor_construct"
|
||||
name = "treadmill assembly"
|
||||
desc = "A treadmill assembly."
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
id = "" //inherited by the belt
|
||||
|
||||
/obj/item/conveyor_construct/afterattack(atom/A, mob/user, proximity, click_parameters)
|
||||
SEND_SIGNAL(src, COMSIG_ITEM_AFTERATTACK, A, user, proximity, click_parameters)
|
||||
SEND_SIGNAL(user, COMSIG_MOB_ITEM_AFTERATTACK, A, user, proximity, click_parameters)
|
||||
if(!proximity || user.stat || !isfloorturf(A) || istype(A, /area/shuttle))
|
||||
return
|
||||
var/cdir = get_dir(A, user)
|
||||
if(A == user.loc)
|
||||
to_chat(user, "<span class='notice'>You cannot place a conveyor belt under yourself.</span>")
|
||||
return
|
||||
var/obj/machinery/conveyor/treadmill/C = new/obj/machinery/conveyor/treadmill(A, cdir, id)
|
||||
transfer_fingerprints_to(C)
|
||||
qdel(src)
|
||||
|
||||
/datum/design/dumbbell
|
||||
name = "Dumbbell"
|
||||
id = "dumbbell"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 2000)
|
||||
build_path = /obj/item/dumbbell
|
||||
category = list("initial", "Tools")
|
||||
|
||||
/datum/design/treadmill
|
||||
name = "Treadmill"
|
||||
id = "treadmill"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 5000)
|
||||
build_path = /obj/item/conveyor_construct/treadmill
|
||||
category = list("initial", "Construction")
|
||||
@@ -0,0 +1,25 @@
|
||||
/obj/item/seeds/berry/blueberry
|
||||
name = "pack of blueberry seeds"
|
||||
desc = "These seeds grow into blueberry bushes."
|
||||
icon_state = "seed-blueberry"
|
||||
species = "blueberry"
|
||||
plantname = "Blueberry Bush"
|
||||
product = /obj/item/reagent_containers/food/snacks/grown/berries/blueberry
|
||||
mutatelist = list()
|
||||
reagents_add = list(/datum/reagent/blueberry_juice = 0.1)
|
||||
potency = 1
|
||||
yield = 1
|
||||
production = 10
|
||||
rarity = 30
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/berries/blueberry
|
||||
seed = /obj/item/seeds/berry/blueberry
|
||||
name = "bunch of blueberries"
|
||||
desc = "Taste so good, you might turn blue!"
|
||||
icon_state = "blueberrypile"
|
||||
filling_color = "#5d00c7"
|
||||
foodtype = FRUIT
|
||||
juice_results = list(/datum/reagent/blueberry_juice = 20)
|
||||
tastes = list("blueberry" = 1)
|
||||
distill_reagent = null
|
||||
wine_power = 50
|
||||
@@ -99,18 +99,48 @@
|
||||
|
||||
/datum/reagent/blueberry_juice
|
||||
name = "Blueberry Juice"
|
||||
description = "Non-infectious. Hopefully."
|
||||
description = "Totally infectious."
|
||||
reagent_state = LIQUID
|
||||
metabolization_rate = 0.25 * REAGENTS_METABOLISM
|
||||
color = "#0004ff"
|
||||
var/picked_color
|
||||
var/list/random_color_list = list("#0058db","#5d00c7","#0004ff","#0057e7")
|
||||
taste_description = "blueberry pie"
|
||||
var/no_mob_color = FALSE
|
||||
value = 10 //it sells. Make that berry factory
|
||||
|
||||
/datum/reagent/blueberry_juice/on_mob_life(mob/living/carbon/M)
|
||||
if(M?.client && !(M?.client?.prefs?.blueberry_inflation))
|
||||
M.reagents.remove_reagent(/datum/reagent/blueberry_juice, volume)
|
||||
return
|
||||
if(!no_mob_color)
|
||||
M.add_atom_colour(pick(random_color_list), WASHABLE_COLOUR_PRIORITY)
|
||||
M.add_atom_colour(picked_color, WASHABLE_COLOUR_PRIORITY)
|
||||
M.adjust_fatness(1, FATTENING_TYPE_CHEM)
|
||||
if(prob(2))
|
||||
new /obj/effect/decal/cleanable/juice(M.loc)
|
||||
playsound(M.loc, 'sound/effects/splat.ogg',rand(10,50), 1)
|
||||
..()
|
||||
|
||||
/datum/reagent/blueberry_juice/on_mob_add(mob/living/L, amount)
|
||||
if(iscarbon(L))
|
||||
var/mob/living/carbon/affected_mob = L
|
||||
if(affected_mob?.client && !(affected_mob?.client?.prefs?.blueberry_inflation))
|
||||
affected_mob.reagents.remove_reagent(/datum/reagent/blueberry_juice, volume)
|
||||
return
|
||||
picked_color = pick(random_color_list)
|
||||
affected_mob.hider_add(src)
|
||||
else
|
||||
L.reagents.remove_reagent(/datum/reagent/blueberry_juice, volume)
|
||||
..()
|
||||
|
||||
/datum/reagent/blueberry_juice/on_mob_delete(mob/living/L)
|
||||
if(!iscarbon(L))
|
||||
return
|
||||
var/mob/living/carbon/C = L
|
||||
C.hider_remove(src)
|
||||
|
||||
/datum/reagent/blueberry_juice/proc/fat_hide()
|
||||
return (124 * (volume * volume))/1000 //123'840 600% size, about 56'000 400% size, calc was: (3 * (volume * volume))/50
|
||||
|
||||
// /obj/item/reagent_containers/food/snacks/meat/steak/troll
|
||||
// name = "Troll steak"
|
||||
|
||||
@@ -46,7 +46,8 @@
|
||||
icon_state = "gum_wrapped"
|
||||
desc = "Doesn't cause anything more than some discoloration... probably."
|
||||
trash = /obj/item/trash/blueberry_gum
|
||||
list_reagents = list(/datum/reagent/blueberry_juice = 0.5)
|
||||
list_reagents = list(/datum/reagent/blueberry_juice = 50)
|
||||
bitesize = 5
|
||||
filling_color = "#001aff"
|
||||
tastes = list("blueberry gum" = 1)
|
||||
foodtype = FRUIT
|
||||
|
||||
|
After Width: | Height: | Size: 292 B |
|
After Width: | Height: | Size: 2.6 KiB |
@@ -161,6 +161,7 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
|
||||
#define BLOOD_STATE_OIL "oil"
|
||||
#define BLOOD_STATE_NOT_BLOODY "no blood whatsoever"
|
||||
#define BLOOD_AMOUNT_PER_DECAL 20
|
||||
#define BLOOD_STATE_JUICE "juice"
|
||||
|
||||
//Blood Decal Colors
|
||||
#define BLOOD_COLOR_HUMAN "#dc0000"
|
||||
@@ -171,6 +172,7 @@ GLOBAL_LIST_EMPTY(bloody_footprints_cache)
|
||||
#define BLOOD_COLOR_LIZARD "#db004D"
|
||||
#define BLOOD_COLOR_UNIVERSAL "#db3300"
|
||||
#define BLOOD_COLOR_BUG "#a37c0f"
|
||||
#define BLOOD_COLOR_JUICE "#0004ff"
|
||||
|
||||
|
||||
//suit sensors: sensor_mode defines
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
/obj/effect/decal/cleanable/blood/update_icon()
|
||||
color = blood_DNA_to_color()
|
||||
if(blood_state == BLOOD_STATE_JUICE)
|
||||
color = BLOOD_COLOR_JUICE
|
||||
|
||||
/obj/effect/decal/cleanable/blood/old
|
||||
name = "dried blood"
|
||||
|
||||
@@ -895,7 +895,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=balls_fluid;task=input'>Honey</a>"
|
||||
if(/datum/reagent/consumable/nutriment)
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=balls_fluid;task=input'>Nutriment</a>"
|
||||
if(/datum/reagent/berry_juice_infection)
|
||||
if(/datum/reagent/blueberry_juice)
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=balls_fluid;task=input'>Berry Juice</a>"
|
||||
else
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=balls_fluid;task=input'>Nothing?</a>"
|
||||
@@ -946,7 +946,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=breasts_fluid;task=input'>Strawberry Milk</a>"
|
||||
if(/datum/reagent/consumable/nutriment)
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=breasts_fluid;task=input'>Nutriment</a>"
|
||||
if(/datum/reagent/berry_juice_infection)
|
||||
if(/datum/reagent/blueberry_juice)
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=balls_fluid;task=input'>Berry Juice</a>"
|
||||
else
|
||||
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=breasts_fluid;task=input'>Nothing?</a>"
|
||||
@@ -2398,7 +2398,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if("Nutriment")
|
||||
features["balls_fluid"] = /datum/reagent/consumable/nutriment
|
||||
if("Berry Juice")
|
||||
features["balls_fluid"] = /datum/reagent/berry_juice_infection
|
||||
features["balls_fluid"] = /datum/reagent/blueberry_juice
|
||||
|
||||
if("egg_size")
|
||||
var/new_size
|
||||
@@ -2447,7 +2447,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
if("Nutriment")
|
||||
features["breasts_fluid"] = /datum/reagent/consumable/nutriment
|
||||
if("Berry Juice")
|
||||
features["breasts_fluid"] = /datum/reagent/berry_juice_infection
|
||||
features["breasts_fluid"] = /datum/reagent/blueberry_juice
|
||||
|
||||
if("breasts_color")
|
||||
var/new_breasts_color = input(user, "Breast Color:", "Character Preference", "#"+features["breasts_color"]) as color|null
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
icon_grow = "berry-grow" // Uses one growth icons set for all the subtypes
|
||||
icon_dead = "berry-dead" // Same for the dead icon
|
||||
genes = list(/datum/plant_gene/trait/repeated_harvest)
|
||||
mutatelist = list(/obj/item/seeds/berry/glow, /obj/item/seeds/berry/poison)
|
||||
mutatelist = list(/obj/item/seeds/berry/glow, /obj/item/seeds/berry/poison, /obj/item/seeds/berry/blueberry)
|
||||
reagents_add = list(/datum/reagent/consumable/nutriment/vitamin = 0.04, /datum/reagent/consumable/nutriment = 0.1)
|
||||
|
||||
/obj/item/reagent_containers/food/snacks/grown/berries
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
@@ -3112,6 +3112,8 @@
|
||||
#include "GainStation13\code\modules\food_and_drinks\recipes_bigpizza.dm"
|
||||
#include "GainStation13\code\modules\food_and_drinks\objects\candy_flora.dm"
|
||||
#include "GainStation13\code\modules\food_and_drinks\recipes\recipes_ported.dm"
|
||||
#include "GainStation13\code\modules\gym\gym.dm"
|
||||
#include "GainStation13\code\modules\hydroponics\grown\berries.dm"
|
||||
#include "GainStation13\code\modules\mob\living\emote.dm"
|
||||
#include "GainStation13\code\modules\mob\living\emote_modular.dm"
|
||||
#include "GainStation13\code\modules\mob\living\emote_ported.dm"
|
||||
|
||||