diff --git a/code/game/dna/genes/monkey.dm b/code/game/dna/genes/monkey.dm
index cfae77b2350..0c3f5702e7d 100644
--- a/code/game/dna/genes/monkey.dm
+++ b/code/game/dna/genes/monkey.dm
@@ -11,9 +11,13 @@
if(!istype(H,/mob/living/carbon/human))
// testing("Cannot monkey-ify [M], type is [M.type].")
return
+ if(issmall(H)) // Already a monkey
+ return
for(var/obj/item/W in H)
if (W==H.w_uniform) // will be torn
continue
+ if(istype(W,/obj/item/organ))
+ continue
H.unEquip(W)
H.regenerate_icons()
H.canmove = 0
@@ -57,6 +61,8 @@
for(var/obj/item/W in H)
if (W==H.w_uniform) // will be torn
continue
+ if(istype(W,/obj/item/organ))
+ continue
H.unEquip(W)
H.regenerate_icons()
H.canmove = 0
diff --git a/code/game/machinery/kitchen/monkeyrecycler.dm b/code/game/machinery/kitchen/monkeyrecycler.dm
index 699f52ca5c0..c84c86791f1 100644
--- a/code/game/machinery/kitchen/monkeyrecycler.dm
+++ b/code/game/machinery/kitchen/monkeyrecycler.dm
@@ -18,19 +18,21 @@
if (istype(O, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = O
var/grabbed = G.affecting
- if(istype(grabbed, /mob/living/carbon/human/monkey))
- var/mob/living/carbon/human/monkey/target = grabbed
- if(target.stat == 0)
- user << "\red The monkey is struggling far too much to put it in the recycler."
+ if(istype(grabbed, /mob/living/carbon/human))
+ var/mob/living/carbon/human/target = grabbed
+ if(issmall(target))
+ if(target.stat == 0)
+ user << "\red The monkey is struggling far too much to put it in the recycler."
+ else
+ user.drop_item()
+ del(target)
+ user << "\blue You stuff the monkey in the machine."
+ playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1)
+ use_power(500)
+ src.grinded++
+ user << "\blue The machine now has [grinded] monkeys worth of material stored."
else
- user.drop_item()
- del(target)
- user << "\blue You stuff the monkey in the machine."
- playsound(src.loc, 'sound/machines/juicer.ogg', 50, 1)
- use_power(500)
- src.grinded++
- user << "\blue The machine now has [grinded] monkeys worth of material stored."
-
+ user << "\red The machine only accepts monkeys!"
else
user << "\red The machine only accepts monkeys!"
return
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index caa4fc870c6..79e45f39cee 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -535,25 +535,28 @@
var/dat = {"
[name]
+
Back: [(back && !(back.flags & ABSTRACT)) ? back : "Nothing"] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : "")]
Head(Mask): [(wear_mask && !(wear_mask.flags & ABSTRACT)) ? wear_mask : "Nothing"]
Left Hand: [(l_hand && !(l_hand.flags & ABSTRACT)) ? l_hand : "Nothing"]
-
Right Hand: [(r_hand && !(r_hand.flags&ABSTRACT)) ? r_hand : "Nothing"]
-
Gloves: [(gloves && !(gloves.flags & ABSTRACT)) ? gloves : "Nothing"]
-
Eyes: [(glasses && !(glasses.flags & ABSTRACT)) ? glasses : "Nothing"]
-
Left Ear: [(l_ear && !(l_ear.flags & ABSTRACT)) ? l_ear : "Nothing"]
-
Right Ear: [(r_ear && !(r_ear.flags & ABSTRACT)) ? r_ear : "Nothing"]
-
Head: [(head && !(head.flags & ABSTRACT)) ? head : "Nothing"]
-
Shoes: [(shoes && !(shoes.flags & ABSTRACT)) ? shoes : "Nothing"]
-
Belt: [(belt && !(belt.flags & ABSTRACT)) ? belt : "Nothing"] [((istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : "")]
-
Uniform: [(w_uniform && !(w_uniform.flags & ABSTRACT)) ? w_uniform : "Nothing"] [(suit) ? ((suit.has_sensor == 1) ? text(" Sensors", src) : "") :]
-
(Exo)Suit: [(wear_suit && !(wear_suit.flags & ABSTRACT)) ? wear_suit : "Nothing"]
-
Back: [(back && !(back.flags & ABSTRACT)) ? back : "Nothing"] [((istype(wear_mask, /obj/item/clothing/mask) && istype(back, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : "")]
-
ID: [(wear_id && !(wear_id.flags & ABSTRACT)) ? wear_id : "Nothing"]
-
PDA: [(wear_pda && !(wear_pda.flags & ABSTRACT)) ? wear_pda : "Nothing"]
-
Suit Storage: [(s_store && !(s_store.flags & ABSTRACT)) ? s_store : "Nothing"]
-
Left Pocket ([(l_store && !(l_store.flags & ABSTRACT)) ? (pickpocket ? l_store.name : "Full") : "Empty"])
-
Right Pocket ([(r_store && !(r_store.flags & ABSTRACT)) ? (pickpocket ? r_store.name : "Full") : "Empty"])
-
Empty Both Pockets
+
Right Hand: [(r_hand && !(r_hand.flags&ABSTRACT)) ? r_hand : "Nothing"]"}
+ if(!issmall(src))
+ dat += {"
+
Gloves: [(gloves && !(gloves.flags & ABSTRACT)) ? gloves : "Nothing"]
+
Eyes: [(glasses && !(glasses.flags & ABSTRACT)) ? glasses : "Nothing"]
+
Left Ear: [(l_ear && !(l_ear.flags & ABSTRACT)) ? l_ear : "Nothing"]
+
Right Ear: [(r_ear && !(r_ear.flags & ABSTRACT)) ? r_ear : "Nothing"]
+
Head: [(head && !(head.flags & ABSTRACT)) ? head : "Nothing"]
+
Shoes: [(shoes && !(shoes.flags & ABSTRACT)) ? shoes : "Nothing"]
+
Belt: [(belt && !(belt.flags & ABSTRACT)) ? belt : "Nothing"] [((istype(wear_mask, /obj/item/clothing/mask) && istype(belt, /obj/item/weapon/tank) && !( internal )) ? text(" Set Internal", src) : "")]
+
Uniform: [(w_uniform && !(w_uniform.flags & ABSTRACT)) ? w_uniform : "Nothing"] [(suit) ? ((suit.has_sensor == 1) ? text(" Sensors", src) : "") :]
+
(Exo)Suit: [(wear_suit && !(wear_suit.flags & ABSTRACT)) ? wear_suit : "Nothing"]
+
ID: [(wear_id && !(wear_id.flags & ABSTRACT)) ? wear_id : "Nothing"]
+
PDA: [(wear_pda && !(wear_pda.flags & ABSTRACT)) ? wear_pda : "Nothing"]
+
Suit Storage: [(s_store && !(s_store.flags & ABSTRACT)) ? s_store : "Nothing"]
+
Left Pocket ([(l_store && !(l_store.flags & ABSTRACT)) ? (pickpocket ? l_store.name : "Full") : "Empty"])
+
Right Pocket ([(r_store && !(r_store.flags & ABSTRACT)) ? (pickpocket ? r_store.name : "Full") : "Empty"])
+
Empty Both Pockets"}
+ dat += {"
[(handcuffed ? text("Handcuffed") : text("Not Handcuffed"))]
[(legcuffed ? text("Legcuffed") : text(""))]
[(suit) ? ((suit.accessories.len) ? text("
Remove Accessory", src) : "") :]
diff --git a/code/modules/mob/living/carbon/human/species/monkey.dm b/code/modules/mob/living/carbon/human/species/monkey.dm
index 08268e38994..58990646823 100644
--- a/code/modules/mob/living/carbon/human/species/monkey.dm
+++ b/code/modules/mob/living/carbon/human/species/monkey.dm
@@ -45,6 +45,9 @@ datum/species/monkey/get_random_name(var/gender)
H.name = H.real_name
..()
+/datum/species/monkey/handle_dna(var/mob/living/carbon/human/H)
+ H.dna.SetSEState(MONKEYBLOCK,1)
+
/datum/species/monkey/tajaran
name = "Farwa"
diff --git a/code/modules/mob/living/carbon/primitive/dionaold.dm b/code/modules/mob/living/carbon/primitive/dionaold.dm
index 9024e4e49a4..4bd28529e47 100644
--- a/code/modules/mob/living/carbon/primitive/dionaold.dm
+++ b/code/modules/mob/living/carbon/primitive/dionaold.dm
@@ -7,6 +7,7 @@
name = "diona nymph"
voice_name = "diona nymph"
speak_emote = list("chirrups")
+ icon = 'icons/mob/monkey.dmi'
icon_state = "nymph1"
var/list/donors = list()
var/ready_evolve = 0