diff --git a/code/game/objects/structures/flora/flora.dm b/code/game/objects/structures/flora/flora.dm
index b4bad46142..cc5c5b510f 100644
--- a/code/game/objects/structures/flora/flora.dm
+++ b/code/game/objects/structures/flora/flora.dm
@@ -235,7 +235,7 @@
/obj/structure/flora/pottedplant/attackby(obj/item/I, mob/user)
if(issilicon(user))
return // Don't try to put modules in here, you're a borg. TODO: Inventory refactor to not be ass.
-
+
if(stored_item)
to_chat(user, "[I] won't fit in. There already appears to be something in here...")
return
@@ -494,3 +494,47 @@
/obj/structure/flora/sif/tendrils/get_harvestable_desc()
return "\The [src] seems to be growing over something."
+
+/datum/category_item/catalogue/flora/frostbelle
+ name = "Sivian Flora - Frostbelle"
+ desc = "A rare plant native to Sif, with very peculiar growing requirements. Rarely seen outside of their original habitat,\
+ or the homes of the wealthy, the plant's unique vein structure is actually used to carry the plant's reproductive material \
+ to forming buds, the petals of which secrete the luminescent sap containing the pollen at the time of blooming. Certain \
+ horticulturists have found ways of halting this process prior to the secretion of the sap, leaving the flower's petals \
+ bright, at the cost of making that bud sterile."
+ value = CATALOGUER_REWARD_HARD
+
+/obj/structure/flora/sif/frostbelle
+ name = "gnarly shrub"
+ desc = "A stocky plant with fins bearing luminescent veins along its branches."
+ icon_state = "grass"
+ randomize_size = TRUE
+ catalogue_data = list(/datum/category_item/catalogue/flora/frostbelle)
+
+ harvest_tool = /obj/item/weapon/material/knife
+ max_harvests = 2
+ min_harvests = -4
+ harvest_loot = list(
+ /obj/item/weapon/reagent_containers/food/snacks/frostbelle = 1
+ )
+
+ var/variantnum = null
+
+/obj/structure/flora/sif/frostbelle/Initialize()
+ . = ..()
+
+ variantnum = rand(1,3)
+
+ update_icon()
+
+/obj/structure/flora/sif/frostbelle/update_icon()
+ ..()
+
+ if(max_harvests > 0 && harvest_count < max_harvests)
+ icon_state = "[initial(icon_state)][variantnum]"
+
+ else
+ icon_state = initial(icon_state)
+
+/obj/structure/flora/sif/frostbelle/get_harvestable_desc()
+ return "\The [src] seems to be budding."
diff --git a/code/game/turfs/simulated/outdoors/grass.dm b/code/game/turfs/simulated/outdoors/grass.dm
index 87d3d5192b..a234c66f8c 100644
--- a/code/game/turfs/simulated/outdoors/grass.dm
+++ b/code/game/turfs/simulated/outdoors/grass.dm
@@ -90,5 +90,10 @@ var/list/grass_types = list(
icon_state = "grass_sif_dark0"
edge_blending_priority = 5
tree_chance = 4
- grass_chance = 0
+ grass_chance = 1
+ grass_types = list(
+ /obj/structure/flora/sif/frostbelle = 1,
+ /obj/structure/flora/sif/eyes = 5,
+ /obj/structure/flora/sif/tendrils = 30
+ )
diff --git a/code/modules/food/food/snacks.dm b/code/modules/food/food/snacks.dm
index ad30c244f2..f5ca36f229 100644
--- a/code/modules/food/food/snacks.dm
+++ b/code/modules/food/food/snacks.dm
@@ -4039,6 +4039,40 @@
/obj/item/weapon/reagent_containers/food/snacks/rawsunflower/Initialize()
. = ..()
+/obj/item/weapon/reagent_containers/food/snacks/frostbelle
+ name = "frostbelle bud"
+ desc = "A frostbelle flower from Sif. Its petals shimmer with an inner light."
+ icon = 'icons/obj/food_ingredients.dmi'
+ icon_state = "frostbelle"
+ bitesize = 1
+ nutriment_amt = 1
+ nutriment_desc = list("another world" = 2)
+ catalogue_data = list(/datum/category_item/catalogue/flora/frostbelle)
+ filling_color = "#5dadcf"
+
+/obj/item/weapon/reagent_containers/food/snacks/frostbelle/Initialize()
+ . = ..()
+ set_light(1, 1, "#5dadcf")
+
+ reagents.add_reagent("oxycodone", 1)
+ reagents.add_reagent("sifsap", 5)
+ reagents.add_reagent("space_drugs", 5)
+
+/obj/item/weapon/reagent_containers/food/snacks/bellefritter
+ name = "frostbelle fritters"
+ desc = "Frostbelles, prepared traditionally."
+ icon = 'icons/obj/food_syn.dmi'
+ icon_state = "bellefritter"
+ filling_color = "#5dadcf"
+ center_of_mass = list("x"=16, "y"=12)
+ do_coating_prefix = 0
+
+/obj/item/weapon/reagent_containers/food/snacks/bellefritter/Initialize()
+ . = ..()
+ reagents.add_reagent("batter", 10)
+ reagents.add_reagent("sugar", 5)
+ bitesize = 2
+
/obj/item/weapon/reagent_containers/food/snacks/roastedsunflower
name = "sunflower seeds"
desc = "Sunflower seeds!"
diff --git a/code/modules/food/recipes_fryer.dm b/code/modules/food/recipes_fryer.dm
index a5a3fee6e7..1d739ec69d 100644
--- a/code/modules/food/recipes_fryer.dm
+++ b/code/modules/food/recipes_fryer.dm
@@ -27,6 +27,11 @@
reagent_mix = RECIPE_REAGENT_REPLACE //Simplify end product
result = /obj/item/weapon/reagent_containers/food/snacks/risottoballs
+/datum/recipe/bellefritter
+ appliance = FRYER
+ reagents = list("sugar" = 5, "batter" = 10)
+ items = list(/obj/item/weapon/reagent_containers/food/snacks/frostbelle)
+ result = /obj/item/weapon/reagent_containers/food/snacks/bellefritter
//Meaty Recipes
//====================
@@ -93,7 +98,7 @@
)
result = /obj/item/weapon/reagent_containers/food/snacks/donut/jelly
result_quantity = 2
-
+
/datum/recipe/jellydonut/poisonberry
reagents = list("poisonberryjuice" = 5, "sugar" = 5)
items = list(
diff --git a/icons/obj/flora/sifflora.dmi b/icons/obj/flora/sifflora.dmi
index 654ca02db9..ae29d4c0f4 100644
Binary files a/icons/obj/flora/sifflora.dmi and b/icons/obj/flora/sifflora.dmi differ
diff --git a/icons/obj/food_ingredients.dmi b/icons/obj/food_ingredients.dmi
index 0dd553ec94..4795180c2f 100644
Binary files a/icons/obj/food_ingredients.dmi and b/icons/obj/food_ingredients.dmi differ
diff --git a/icons/obj/food_syn.dmi b/icons/obj/food_syn.dmi
index 1104d4ddbf..f186b53089 100644
Binary files a/icons/obj/food_syn.dmi and b/icons/obj/food_syn.dmi differ