diff --git a/code/modules/organs/robolimbs.dm b/code/modules/organs/robolimbs.dm
index 69d14c1dd16..a93f37bd561 100644
--- a/code/modules/organs/robolimbs.dm
+++ b/code/modules/organs/robolimbs.dm
@@ -43,6 +43,7 @@ var/const/standard_monitor_styles = "blank=ipc_blank;\
var/list/monitor_styles //If empty, the model of limbs offers a head compatible with monitors.
var/parts = BP_ALL //Defines what parts said brand can replace on a body.
var/health_hud_intensity = 1 // Intensity modifier for the health GUI indicator.
+ var/suggested_species = "Human" //If it should make the torso a species
/datum/robolimb/unbranded_monitor
company = "Unbranded Monitor"
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
index 2799289f273..6732f4c1925 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Food-Drinks.dm
@@ -41,6 +41,7 @@
/datum/reagent/nutriment/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed)
switch(alien)
+ if(IS_DIONA) return
if(IS_UNATHI) removed *= 0.5
if(issmall(M)) removed *= 2 // Small bodymass, more effect from lower volume.
M.heal_organ_damage(0.5 * removed, 0)
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 3a44da44753..8df309b1b83 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -1895,7 +1895,7 @@
name = "Balloon"
id = "balloon"
result = "balloon"
- required_reagents = list("cream" = 1, "curacao" = 1)
+ required_reagents = list("cream" = 1, "bluecuracao" = 1)
result_amount = 2
/datum/chemical_reaction/drinks/natunabrandy
diff --git a/code/modules/research/prosfab_designs.dm b/code/modules/research/prosfab_designs.dm
index 02a05eb64d9..1323d0a449b 100644
--- a/code/modules/research/prosfab_designs.dm
+++ b/code/modules/research/prosfab_designs.dm
@@ -11,7 +11,11 @@
if(istype(fabricator, /obj/machinery/pros_fabricator))
var/obj/machinery/pros_fabricator/prosfab = fabricator
var/obj/item/organ/O = new build_path(newloc)
- O.species = all_species["Human"]
+ if(prosfab.manufacturer)
+ var/datum/robolimb/manf = all_robolimbs[prosfab.manufacturer]
+ O.species = all_species["[manf.suggested_species]"]
+ else
+ O.species = all_species["Human"]
O.robotize(prosfab.manufacturer)
O.dna = new/datum/dna() //Uuughhhh... why do I have to do this?
O.dna.ResetUI()
@@ -25,7 +29,11 @@
/datum/design/item/prosfab/pros/torso/Fabricate(var/newloc, var/fabricator)
if(istype(fabricator, /obj/machinery/pros_fabricator))
var/obj/machinery/pros_fabricator/prosfab = fabricator
- var/mob/living/carbon/human/H = new(newloc,"Human")
+ var/newspecies = "Human"
+ if(prosfab.manufacturer)
+ var/datum/robolimb/manf = all_robolimbs[prosfab.manufacturer]
+ newspecies = manf.suggested_species
+ var/mob/living/carbon/human/H = new(newloc,newspecies)
H.stat = DEAD
H.gender = gender
for(var/obj/item/organ/external/EO in H.organs)
@@ -35,7 +43,7 @@
EO.remove_rejuv()
for(var/obj/item/organ/external/O in H.organs)
- O.species = all_species["Human"]
+ O.species = all_species[newspecies]
O.robotize(prosfab.manufacturer)
O.dna = new/datum/dna()
O.dna.ResetUI()
diff --git a/code/modules/surgery/limb_reattach.dm b/code/modules/surgery/limb_reattach.dm
index ea5fb320913..0d10b535c32 100644
--- a/code/modules/surgery/limb_reattach.dm
+++ b/code/modules/surgery/limb_reattach.dm
@@ -31,6 +31,9 @@
else if((P.robotic >= ORGAN_ROBOT) && (E.robotic < ORGAN_ROBOT))
user << "Attaching [E] to [P] wouldn't work well."
return 0
+ else if(P.children.len)
+ user << "Something is in the way! You can't attach [E] here!"
+ return 0
else
return 1