diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
index b100e73bc7..7a7b928e28 100644
--- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
@@ -760,9 +760,24 @@ datum/status_effect/stabilized/blue/on_remove()
var/mob/living/simple_animal/familiar
/datum/status_effect/stabilized/gold/tick()
+<<<<<<< HEAD
if(!familiar)
familiar = create_random_mob(get_turf(owner.loc), FRIENDLY_SPAWN)
familiar.del_on_death = TRUE
+=======
+ var/obj/item/slimecross/stabilized/gold/linked = linked_extract
+ if(QDELETED(familiar))
+ familiar = new linked.mob_type(get_turf(owner.loc))
+ familiar.name = linked.mob_name
+ familiar.del_on_death = TRUE
+ familiar.copy_known_languages_from(owner, FALSE)
+ if(linked.saved_mind)
+ linked.saved_mind.transfer_to(familiar)
+ familiar.ckey = linked.saved_mind.key
+ else
+ if(familiar.mind)
+ linked.saved_mind = familiar.mind
+>>>>>>> b2e9fe8... Fixes and Upgrades Stabilized Gold Extracts (#38394)
return ..()
/datum/status_effect/stabilized/gold/on_remove()
diff --git a/code/modules/research/xenobiology/crossbreeding/stabilized.dm b/code/modules/research/xenobiology/crossbreeding/stabilized.dm
index aea4f47576..4eec61ade1 100644
--- a/code/modules/research/xenobiology/crossbreeding/stabilized.dm
+++ b/code/modules/research/xenobiology/crossbreeding/stabilized.dm
@@ -96,6 +96,52 @@ Stabilized extracts:
/obj/item/slimecross/stabilized/gold
colour = "gold"
+<<<<<<< HEAD
+=======
+ var/mob_type
+ var/datum/mind/saved_mind
+ var/mob_name = "Familiar"
+
+/obj/item/slimecross/stabilized/gold/proc/generate_mobtype()
+ var/static/list/mob_spawn_pets = list()
+ if(mob_spawn_pets.len <= 0)
+ for(var/T in typesof(/mob/living/simple_animal))
+ var/mob/living/simple_animal/SA = T
+ switch(initial(SA.gold_core_spawnable))
+ if(FRIENDLY_SPAWN)
+ mob_spawn_pets += T
+ mob_type = pick(mob_spawn_pets)
+
+/obj/item/slimecross/stabilized/gold/Initialize()
+ ..()
+ generate_mobtype()
+
+/obj/item/slimecross/stabilized/gold/attack_self(mob/user)
+ var/choice = input(user, "Which do you want to reset?", "Familiar Adjustment") as null|anything in list("Familiar Location", "Familiar Species", "Familiar Sentience", "Familiar Name")
+ if(!user.canUseTopic(src, BE_CLOSE))
+ return
+ if(isliving(user))
+ var/mob/living/L = user
+ if(L.has_status_effect(/datum/status_effect/stabilized/gold))
+ L.remove_status_effect(/datum/status_effect/stabilized/gold)
+ if(choice == "Familiar Location")
+ to_chat(user, "You prod [src], and it shudders slightly.")
+ START_PROCESSING(SSobj, src)
+ if(choice == "Familiar Species")
+ to_chat(user, "You squeeze [src], and a shape seems to shift around inside.")
+ generate_mobtype()
+ START_PROCESSING(SSobj, src)
+ if(choice == "Familiar Sentience")
+ to_chat(user, "You poke [src], and it lets out a glowing pulse.")
+ saved_mind = null
+ START_PROCESSING(SSobj, src)
+ if(choice == "Familiar Name")
+ var/newname = copytext(sanitize(input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name) as null|text),1,MAX_NAME_LEN)
+ if(newname)
+ mob_name = newname
+ to_chat(user, "You speak softly into [src], and it shakes slightly in response.")
+ START_PROCESSING(SSobj, src)
+>>>>>>> b2e9fe8... Fixes and Upgrades Stabilized Gold Extracts (#38394)
/obj/item/slimecross/stabilized/oil
colour = "oil"