diff --git a/code/game/gamemodes/mutiny/mutiny_hooks.dm b/code/game/gamemodes/mutiny/mutiny_hooks.dm
index 14766e520ec..f87ab7c1919 100644
--- a/code/game/gamemodes/mutiny/mutiny_hooks.dm
+++ b/code/game/gamemodes/mutiny/mutiny_hooks.dm
@@ -12,7 +12,7 @@
mode.update_icon(H.mind)
return 1
-/hook/harvest_podman/proc/update_icon(mob/living/carbon/primitive/diona/D)
+/hook/harvest_podman/proc/update_icon(mob/living/simple_animal/diona/D)
var/datum/game_mode/mutiny/mode = get_mutiny_mode()
if (!mode) return 1
diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm
index eb3a2a89fc1..9c19f780199 100644
--- a/code/modules/hydroponics/seed.dm
+++ b/code/modules/hydroponics/seed.dm
@@ -734,7 +734,7 @@
product = new /obj/item/weapon/reagent_containers/food/snacks/grown(get_turf(user),name)
if(get_trait(TRAIT_PRODUCT_COLOUR))
if(modular_icon == 1)
- if(!has_mob_product || (has_mob_product && has_mob_product != /mob/living/carbon/primitive/diona))
+ if(!has_mob_product || (has_mob_product && has_mob_product != /mob/living/simple_animal/diona))
product.color = get_trait(TRAIT_PRODUCT_COLOUR)
if(istype(product,/obj/item/weapon/reagent_containers/food))
var/obj/item/weapon/reagent_containers/food/food = product
diff --git a/code/modules/hydroponics/seed_datums.dm b/code/modules/hydroponics/seed_datums.dm
index 919b2e5cbbc..ff24279989b 100644
--- a/code/modules/hydroponics/seed_datums.dm
+++ b/code/modules/hydroponics/seed_datums.dm
@@ -1184,7 +1184,7 @@
seed_noun = "nodes"
display_name = "replicant pods"
can_self_harvest = 1
- has_mob_product = /mob/living/carbon/primitive/diona
+ has_mob_product = /mob/living/simple_animal/diona
/datum/seed/diona/New()
..()
diff --git a/code/modules/hydroponics/seed_mobs.dm b/code/modules/hydroponics/seed_mobs.dm
index d00baff79d7..b7fd3b4fdfd 100644
--- a/code/modules/hydroponics/seed_mobs.dm
+++ b/code/modules/hydroponics/seed_mobs.dm
@@ -69,7 +69,7 @@
host << "\green You awaken slowly, stirring into sluggish motion as the air caresses you."
// This is a hack, replace with some kind of species blurb proc.
- if(istype(host,/mob/living/carbon/primitive/diona))
+ if(istype(host,/mob/living/simple_animal/diona))
host << "You are [host], one of a race of drifting interstellar plantlike creatures that sometimes share their seeds with human traders."
host << "Too much darkness will send you into shock and starve you, but light will help you heal."
diff --git a/code/modules/hydroponics/trays/tray.dm b/code/modules/hydroponics/trays/tray.dm
index 077ad9ce444..76ede0d9d2d 100644
--- a/code/modules/hydroponics/trays/tray.dm
+++ b/code/modules/hydroponics/trays/tray.dm
@@ -140,8 +140,8 @@
return ..()
/obj/machinery/portable_atmospherics/hydroponics/proc/attack_generic(var/mob/user)
- if(istype(user,/mob/living/carbon/primitive/diona))
- var/mob/living/carbon/primitive/diona/nymph = user
+ if(istype(user,/mob/living/simple_animal/diona))
+ var/mob/living/simple_animal/diona/nymph = user
if(nymph.stat == DEAD || nymph.paralysis || nymph.weakened || nymph.stunned || nymph.restrained())
return
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 538a1dbbf50..d0bdd400068 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -190,7 +190,7 @@
//These only pertain to common. Languages are handled by mob/say_understands()
if (!speaking)
- if (istype(other, /mob/living/carbon/primitive/diona))
+ if (istype(other, /mob/living/simple_animal/diona))
if(other.languages.len >= 2) //They've sucked down some blood and can speak common now.
return 1
if (istype(other, /mob/living/silicon))
diff --git a/code/modules/mob/living/carbon/human/species/station.dm b/code/modules/mob/living/carbon/human/species/station.dm
index a5729c0f8ac..01f4c13a549 100644
--- a/code/modules/mob/living/carbon/human/species/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station.dm
@@ -395,7 +395,7 @@
)
/datum/species/diona/can_understand(var/mob/other)
- var/mob/living/carbon/primitive/diona/D = other
+ var/mob/living/simple_animal/diona/D = other
if(istype(D))
return 1
return 0
@@ -408,14 +408,14 @@
/* //overpowered and dumb as hell; they get cloning back, though.
/datum/species/diona/handle_death(var/mob/living/carbon/human/H)
- var/mob/living/carbon/primitive/diona/S = new(get_turf(H))
+ var/mob/living/simple_animal/diona/S = new(get_turf(H))
if(H.mind)
H.mind.transfer_to(S)
else
S.key = H.key
- for(var/mob/living/carbon/primitive/diona/D in H.contents)
+ for(var/mob/living/simple_animal/diona/D in H.contents)
if(D.client)
D.loc = H.loc
else
diff --git a/code/modules/mob/living/carbon/primitive/emote.dm b/code/modules/mob/living/carbon/primitive/emote.dm
deleted file mode 100644
index 970c4664afc..00000000000
--- a/code/modules/mob/living/carbon/primitive/emote.dm
+++ /dev/null
@@ -1,182 +0,0 @@
-/mob/living/carbon/primitive/emote(var/act,var/m_type=1,var/message = null)
-
- var/param = null
- if (findtext(act, "-", 1, null))
- var/t1 = findtext(act, "-", 1, null)
- param = copytext(act, t1 + 1, length(act) + 1)
- act = copytext(act, 1, t1)
-
- if(findtext(act,"s",-1) && !findtext(act,"_",-2))//Removes ending s's unless they are prefixed with a '_'
- act = copytext(act,1,length(act))
-
- var/muzzled = is_muzzled()
-
- //Emote Cooldown System (it's so simple!)
- // proc/handle_emote_CD() located in [code\modules\mob\emote.dm]
- var/on_CD = 0
- switch(act)
- //Cooldown-inducing emotes
- if("chirp")
- if(istype(src,/mob/living/carbon/primitive/diona)) //Only Diona Nymphs can chirp
- on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm
- else //Everyone else fails, skip the emote attempt
- return
- if("flip")
- on_CD = handle_emote_CD() //proc located in code\modules\mob\emote.dm
- //Everything else, including typos of the above emotes
- else
- on_CD = 0 //If it doesn't induce the cooldown, we won't check for the cooldown
-
- if(on_CD == 1) // Check if we need to suppress the emote attempt.
- return // Suppress emote, you're still cooling off.
- //--FalseIncarnate
-
- switch(act)
- if ("me")
- if(silent)
- return
- if (src.client)
- if (client.prefs.muted & MUTE_IC)
- src << "\red You cannot send IC messages (muted)."
- return
- if (src.client.handle_spam_prevention(message,MUTE_IC))
- return
- if (stat)
- return
- if(!(message))
- return
- return custom_emote(m_type, message)
-
-
- if ("custom")
- return custom_emote(m_type, message)
-
- if ("chirp")
- message = "The [src.name] chirps!"
- playsound(src.loc, 'sound/misc/nymphchirp.ogg', 50, 0)
- m_type = 2
- if("sign")
- if (!src.restrained())
- message = text("The [src.name] signs[].", (text2num(param) ? text(" the number []", text2num(param)) : null))
- m_type = 1
- if("scratch")
- if (!src.restrained())
- message = "The [src.name] scratches."
- m_type = 1
- if("whimper")
- if (!muzzled)
- message = "The [src.name] whimpers."
- m_type = 2
- if("roar")
- if (!muzzled)
- message = "The [src.name] roars."
- m_type = 2
- if("tail")
- message = "The [src.name] waves his tail."
- m_type = 1
- if("gasp")
- message = "The [src.name] gasps."
- m_type = 2
- if("shiver")
- message = "The [src.name] shivers."
- m_type = 2
- if("drool")
- message = "The [src.name] drools."
- m_type = 1
- if("paw")
- if (!src.restrained())
- message = "The [src.name] flails his paw."
- m_type = 1
- if("scretch")
- if (!muzzled)
- message = "The [src.name] scretches."
- m_type = 2
- if("choke")
- message = "The [src.name] chokes."
- m_type = 2
- if("moan")
- message = "The [src.name] moans!"
- m_type = 2
- if("nod")
- message = "The [src.name] nods his head."
- m_type = 1
- if("sit")
- message = "The [src.name] sits down."
- m_type = 1
- if("sway")
- message = "The [src.name] sways around dizzily."
- m_type = 1
- if("sulk")
- message = "The [src.name] sulks down sadly."
- m_type = 1
- if("twitch")
- message = "The [src.name] twitches violently."
- m_type = 1
- if("dance")
- if (!src.restrained())
- message = "The [src.name] dances around happily."
- m_type = 1
- if("roll")
- if (!src.restrained())
- message = "The [src.name] rolls."
- m_type = 1
- if("shake")
- message = "The [src.name] shakes his head."
- m_type = 1
- if("gnarl")
- if (!muzzled)
- message = "The [src.name] gnarls and shows his teeth.."
- m_type = 2
- if("jump")
- message = "The [src.name] jumps!"
- m_type = 1
- if("collapse")
- Paralyse(2)
- message = "[src.name] collapses!"
- m_type = 2
- if("deathgasp")
- message = "The [src.name] lets out a faint chimper as it collapses and stops moving..."
- m_type = 1
- if ("flip")
- m_type = 1
- if (!src.restrained())
- var/M = null
- if (param)
- for (var/mob/A in view(1, null))
- if (param == A.name)
- M = A
- break
- if (M == src)
- M = null
- if (M)
- if(src.lying || src.weakened)
- message = "[src] flops and flails around on the floor."
- else
- message = "[src] flips in [M]'s general direction."
- src.SpinAnimation(5,1)
- else
- if(src.lying || src.weakened)
- message = "[src] flops and flails around on the floor."
- else
- message = "[src] does a flip!"
- src.SpinAnimation(5,1)
- if("help")
- var/text = "choke, "
- if(istype(src,/mob/living/carbon/primitive/diona))
- text += "chirp, "
- text += "flip, collapse, dance, deathgasp, drool, gasp, shiver, gnarl, jump, paw, moan, nod, roar, roll, scratch,\nscretch, shake, sign-#, sit, sulk, sway, tail, twitch, whimper"
- src << text
- else
- src << text("Invalid Emote: []", act)
- if ((message && src.stat == 0))
- if(src.client)
- log_emote("[name]/[key] : [message]")
- if (m_type & 1)
- for(var/mob/O in viewers(src, null))
- O.show_message(message, m_type)
- //Foreach goto(703)
- else
- for(var/mob/O in hearers(src, null))
- O.show_message(message, m_type)
- //Foreach goto(746)
- return
\ No newline at end of file
diff --git a/code/modules/mob/living/carbon/primitive/dionaold.dm b/code/modules/mob/living/simple_animal/friendly/diona.dm
similarity index 53%
rename from code/modules/mob/living/carbon/primitive/dionaold.dm
rename to code/modules/mob/living/simple_animal/friendly/diona.dm
index c5a7b5a5b70..9ab2e3ff866 100644
--- a/code/modules/mob/living/carbon/primitive/dionaold.dm
+++ b/code/modules/mob/living/simple_animal/friendly/diona.dm
@@ -3,57 +3,70 @@
*/
//Mob defines.
-/mob/living/carbon/primitive/diona
+/mob/living/simple_animal/diona
name = "diona nymph"
- voice_name = "diona nymph"
- speak_emote = list("chirrups")
icon = 'icons/mob/monkey.dmi'
icon_state = "nymph1"
+ pass_flags = PASSTABLE
+ small = 1
+ ventcrawler = 2
+
+ maxHealth = 50
+ health = 50
+
+ voice_name = "diona nymph"
+ speak_emote = list("chirrups")
+ emote_hear = list("chirrups")
+ emote_see = list("chirrups")
+
+ response_help = "pets"
+ response_disarm = "pushes"
+ response_harm = "kicks"
+
+ melee_damage_lower = 5
+ melee_damage_upper = 8
+ attacktext = "bites"
+ attacksound = 'sound/weapons/bite.ogg'
+
+ speed = 0
+ stop_automated_movement = 0
+ turns_per_move = 4
+ status_flags = 0
+
var/list/donors = list()
var/ready_evolve = 0
- ventcrawler = 1
- var/environment_smash = 0 // This is a sloppy way to solve attack_animal runtimes. Stupid nymphs...
holder_type = /obj/item/weapon/holder/diona
-/mob/living/carbon/primitive/diona/New()
-
+/mob/living/simple_animal/diona/New()
..()
- gender = NEUTER
- //greaterform = "Diona"
+ if(name == initial(name)) //To stop Pun-Pun becoming generic.
+ name = "[name] ([rand(1, 1000)])"
+ real_name = name
+
add_language("Rootspeak")
+ src.verbs += /mob/living/simple_animal/diona/proc/merge
-/mob/living/carbon/primitive/diona/attack_hand(mob/living/carbon/human/M as mob)
-
+/mob/living/simple_animal/diona/attack_hand(mob/living/carbon/human/M as mob)
//Let people pick the little buggers up.
if(M.a_intent == "help")
if(M.species && M.species.name == "Diona")
M << "You feel your being twine with that of [src] as it merges with your biomass."
src << "You feel your being twine with that of [M] as you merge with its biomass."
- src.verbs += /mob/living/carbon/primitive/diona/proc/split
- src.verbs -= /mob/living/carbon/primitive/diona/proc/merge
+ src.verbs += /mob/living/simple_animal/diona/proc/split
+ src.verbs -= /mob/living/simple_animal/diona/proc/merge
src.forceMove(M)
else
get_scooped(M)
..()
-/mob/living/carbon/primitive/diona/New()
-
- ..()
- gender = NEUTER
- //greaterform = "Diona"
- add_language("Rootspeak")
- src.verbs += /mob/living/carbon/primitive/diona/proc/merge
-
-
-/mob/living/carbon/primitive/diona/proc/merge()
-
+/mob/living/simple_animal/diona/proc/merge()
set category = "Diona"
set name = "Merge with gestalt"
set desc = "Merge with another diona."
if(istype(src.loc,/mob/living/carbon))
- src.verbs -= /mob/living/carbon/primitive/diona/proc/merge
+ src.verbs -= /mob/living/simple_animal/diona/proc/merge
return
var/list/choices = list()
@@ -76,19 +89,18 @@
src << "You feel your being twine with that of [M] as you merge with its biomass."
src.loc = M
- src.verbs += /mob/living/carbon/primitive/diona/proc/split
- src.verbs -= /mob/living/carbon/primitive/diona/proc/merge
+ src.verbs += /mob/living/simple_animal/diona/proc/split
+ src.verbs -= /mob/living/simple_animal/diona/proc/merge
else
return
-/mob/living/carbon/primitive/diona/proc/split()
-
+/mob/living/simple_animal/diona/proc/split()
set category = "Diona"
set name = "Split from gestalt"
set desc = "Split away from your gestalt as a lone nymph."
if(!(istype(src.loc,/mob/living/carbon)))
- src.verbs -= /mob/living/carbon/primitive/diona/proc/split
+ src.verbs -= /mob/living/simple_animal/diona/proc/split
return
src.loc << "You feel a pang of loss as [src] splits away from your biomass."
@@ -97,8 +109,8 @@
var/mob/living/M = src.loc
src.loc = get_turf(src)
- src.verbs -= /mob/living/carbon/primitive/diona/proc/split
- src.verbs += /mob/living/carbon/primitive/diona/proc/merge
+ src.verbs -= /mob/living/simple_animal/diona/proc/split
+ src.verbs += /mob/living/simple_animal/diona/proc/merge
if(istype(M))
for(var/atom/A in M.contents)
@@ -106,8 +118,7 @@
return
M.status_flags &= ~PASSEMOTES
-/mob/living/carbon/primitive/diona/verb/fertilize_plant()
-
+/mob/living/simple_animal/diona/verb/fertilize_plant()
set category = "Diona"
set name = "Fertilize plant"
set desc = "Turn your food into nutrients for plants."
@@ -123,10 +134,9 @@
src.nutrition -= ((10-target.nutrilevel)*5)
target.nutrilevel = 10
- src.visible_message("\red [src] secretes a trickle of green liquid from its tail, refilling [target]'s nutrient tray.","\red You secrete a trickle of green liquid from your tail, refilling [target]'s nutrient tray.")
-
-/mob/living/carbon/primitive/diona/verb/eat_weeds()
+ src.visible_message("[src] secretes a trickle of green liquid from its tail, refilling [target]'s nutrient tray.","\red You secrete a trickle of green liquid from your tail, refilling [target]'s nutrient tray.")
+/mob/living/simple_animal/diona/verb/eat_weeds()
set category = "Diona"
set name = "Eat Weeds"
set desc = "Clean the weeds out of soil or a hydroponics tray."
@@ -142,24 +152,23 @@
src.nutrition += target.weedlevel * 15
target.weedlevel = 0
- src.visible_message("\red [src] begins rooting through [target], ripping out weeds and eating them noisily.","\red You begin rooting through [target], ripping out weeds and eating them noisily.")
-
-/mob/living/carbon/primitive/diona/verb/evolve()
+ src.visible_message("[src] begins rooting through [target], ripping out weeds and eating them noisily.","You begin rooting through [target], ripping out weeds and eating them noisily.")
+/mob/living/simple_animal/diona/verb/evolve()
set category = "Diona"
set name = "Evolve"
set desc = "Grow to a more complex form."
if(donors.len < 5)
- src << "You need more blood in order to ascend to a new state of consciousness..."
+ src << "You need more blood in order to ascend to a new state of consciousness..."
return
if(nutrition < 500)
- src << "You need to binge on weeds in order to have the energy to grow..."
+ src << "You need to binge on weeds in order to have the energy to grow..."
return
src.split()
- src.visible_message("\red [src] begins to shift and quiver, and erupts in a shower of shed bark as it splits into a tangle of nearly a dozen new dionaea.","\red You begin to shift and quiver, feeling your awareness splinter. All at once, we consume our stored nutrients to surge with growth, splitting into a tangle of at least a dozen new dionaea. We have attained our gestalt form.")
+ src.visible_message("[src] begins to shift and quiver, and erupts in a shower of shed bark as it splits into a tangle of nearly a dozen new dionaea.","You begin to shift and quiver, feeling your awareness splinter. All at once, we consume our stored nutrients to surge with growth, splitting into a tangle of at least a dozen new dionaea. We have attained our gestalt form.")
var/mob/living/carbon/human/diona/adult = new(get_turf(src.loc))
adult.set_species("Diona")
@@ -184,7 +193,7 @@
qdel(src)
-/mob/living/carbon/primitive/diona/verb/steal_blood()
+/mob/living/simple_animal/diona/verb/steal_blood()
set category = "Diona"
set name = "Steal Blood"
set desc = "Take a blood sample from a suitable donor."
@@ -198,14 +207,14 @@
if(!M || !src) return
if(M.species.flags & NO_BLOOD)
- src << "\red That donor has no blood to take."
+ src << "That donor has no blood to take."
return
if(donors.Find(M.real_name))
- src << "\red That donor offers you nothing new."
+ src << "That donor offers you nothing new."
return
- src.visible_message("\red [src] flicks out a feeler and neatly steals a sample of [M]'s blood.","\red You flick out a feeler and neatly steal a sample of [M]'s blood.")
+ src.visible_message("[src] flicks out a feeler and neatly steals a sample of [M]'s blood.","You flick out a feeler and neatly steal a sample of [M]'s blood.")
donors += M.real_name
for(var/datum/language/L in M.languages)
if(!(L.flags & HIVEMIND))
@@ -214,36 +223,37 @@
spawn(25)
update_progression()
-/mob/living/carbon/primitive/diona/proc/update_progression()
-
+/mob/living/simple_animal/diona/proc/update_progression()
if(!donors.len)
return
if(donors.len == 5)
ready_evolve = 1
- src << "\green You feel ready to move on to your next stage of growth."
+ src << "You feel ready to move on to your next stage of growth."
else if(donors.len == 3)
universal_understand = 1
- src << "\green You feel your awareness expand, and realize you know how to understand the creatures around you."
+ src << "You feel your awareness expand, and realize you know how to understand the creatures around you."
else
- src << "\green The blood seeps into your small form, and you draw out the echoes of memories and personality from it, working them into your budding mind."
+ src << "The blood seeps into your small form, and you draw out the echoes of memories and personality from it, working them into your budding mind."
-/mob/living/carbon/primitive/diona/put_in_hands(obj/item/W)
+/mob/living/simple_animal/diona/put_in_hands(obj/item/W)
W.loc = get_turf(src)
W.layer = initial(W.layer)
W.dropped()
-/mob/living/carbon/primitive/diona/put_in_active_hand(obj/item/W)
- src << "\red You don't have any hands!"
+/mob/living/simple_animal/diona/put_in_active_hand(obj/item/W)
+ src << "You don't have any hands!"
return
+
-/mob/living/carbon/primitive/diona/say(var/message)
+/mob/living/simple_animal/diona/say(var/message)
if(client)
if(client.prefs.muted & MUTE_IC)
src << "\red You cannot speak in IC (Muted)."
return
+ var/verb
message = trim_strip_html_properly(message)
if(stat)
@@ -257,5 +267,22 @@
if(copytext(message,1,2) == "*")
return emote(copytext(message,2))
+
+ //parse the language code and consume it
+ var/datum/language/speaking = parse_language(message)
+ if(speaking)
+ message = copytext(message,2+length(speaking.key))
+ else
+ speaking = get_default_language()
- ..(message)
+ var/ending = copytext(message, length(message))
+ if (speaking)
+ // This is broadcast to all mobs with the language,
+ // irrespective of distance or anything else.
+ if(speaking.flags & HIVEMIND)
+ speaking.broadcast(src,trim(message))
+ return
+ //If we've gotten this far, keep going!
+ verb = speaking.get_spoken_verb(ending)
+
+ ..(message,speaking,verb)
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index f6df572bbbe..6196f26a990 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -548,7 +548,7 @@
gib()
return
-/mob/living/simple_animal/say(var/message)
+/mob/living/simple_animal/say(var/message,var/datum/language/speaking,var/verb)
if(stat)
return
@@ -558,11 +558,11 @@
if(stat)
return
- var/verb = "says"
+ verb = "says"
if(speak_emote.len)
verb = pick(speak_emote)
message = capitalize(trim_left(message))
- ..(message, null, verb)
+ ..(message, speaking, verb)
diff --git a/code/modules/mob/mob_grab.dm b/code/modules/mob/mob_grab.dm
index 4257d29b1fb..dc13bd8c00a 100644
--- a/code/modules/mob/mob_grab.dm
+++ b/code/modules/mob/mob_grab.dm
@@ -406,7 +406,7 @@
if(isalien(attacker) && iscarbon(prey)) //Xenomorphs eating carbon mobs
return 1
- if(ishuman(attacker) && attacker.get_species() == "Kidan" && istype(prey,/mob/living/carbon/primitive/diona)) //Kidan eating nymphs
+ if(ishuman(attacker) && attacker.get_species() == "Kidan" && istype(prey,/mob/living/simple_animal/diona)) //Kidan eating nymphs
return 1
if(ishuman(attacker) && attacker.get_species() == "Tajaran" && istype(prey,/mob/living/simple_animal/mouse)) //Tajaran eating mice. Meow!
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index bd2734c5134..fec89e77b98 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -481,7 +481,7 @@
return 1
//Friendly Creatures!
- if(ispath(MP, /mob/living/carbon/primitive/diona) && !jobban_isbanned(src, "Dionaea"))
+ if(ispath(MP, /mob/living/simple_animal/diona) && !jobban_isbanned(src, "Dionaea"))
return 1
//Not in here? Must be untested!
diff --git a/code/modules/organs/organ_alien.dm b/code/modules/organs/organ_alien.dm
index 0031fffead4..82b4c549bb5 100644
--- a/code/modules/organs/organ_alien.dm
+++ b/code/modules/organs/organ_alien.dm
@@ -9,7 +9,7 @@
del(src)
spawn(1) // So it has time to be thrown about by the gib() proc.
- var/mob/living/carbon/primitive/diona/D = new(get_turf(organ))
+ var/mob/living/simple_animal/diona/D = new(get_turf(organ))
diona.request_player(D)
del(organ)
*/
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index c279baaa290..f236200337b 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -98,7 +98,7 @@
qdel(src)
return
- if (!user.IsAdvancedToolUser() || istype(user, /mob/living/carbon/primitive/diona))
+ if (!user.IsAdvancedToolUser() || istype(user, /mob/living/simple_animal/diona))
user << "\red You don't have the dexterity to do this!"
return
if(istype(user, /mob/living))
diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm
index bf1d964c971..63e6304dd55 100644
--- a/code/modules/reagents/newchem/toxins.dm
+++ b/code/modules/reagents/newchem/toxins.dm
@@ -610,8 +610,8 @@ datum/reagent/atrazine/reaction_mob(var/mob/living/M, var/method=TOUCH, var/volu
H.adjustToxLoss(50)
..()
return
- else if(istype(M,/mob/living/carbon/primitive/diona)) //plantmen monkeys (diona) take EVEN MORE damage
- var/mob/living/carbon/primitive/diona/D = M
+ else if(istype(M,/mob/living/simple_animal/diona)) //plantmen monkeys (diona) take EVEN MORE damage
+ var/mob/living/simple_animal/diona/D = M
D.adjustToxLoss(100)
..()
return
diff --git a/paradise.dme b/paradise.dme
index e79ab1d4d08..57f71f0674e 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1355,8 +1355,6 @@
#include "code\modules\mob\living\carbon\metroid\say.dm"
#include "code\modules\mob\living\carbon\metroid\subtypes.dm"
#include "code\modules\mob\living\carbon\metroid\update_icons.dm"
-#include "code\modules\mob\living\carbon\primitive\dionaold.dm"
-#include "code\modules\mob\living\carbon\primitive\emote.dm"
#include "code\modules\mob\living\silicon\death.dm"
#include "code\modules\mob\living\silicon\login.dm"
#include "code\modules\mob\living\silicon\say.dm"
@@ -1425,6 +1423,7 @@
#include "code\modules\mob\living\simple_animal\friendly\corgi_powers.dm"
#include "code\modules\mob\living\simple_animal\friendly\crab.dm"
#include "code\modules\mob\living\simple_animal\friendly\deer.dm"
+#include "code\modules\mob\living\simple_animal\friendly\diona.dm"
#include "code\modules\mob\living\simple_animal\friendly\farm_animals.dm"
#include "code\modules\mob\living\simple_animal\friendly\fox.dm"
#include "code\modules\mob\living\simple_animal\friendly\lizard.dm"