diff --git a/code/game/objects/structures/alien/egg.dm b/code/game/objects/structures/alien/egg.dm
index a9d38c03e0..472fa8b020 100644
--- a/code/game/objects/structures/alien/egg.dm
+++ b/code/game/objects/structures/alien/egg.dm
@@ -20,7 +20,9 @@
if(progress < MAX_PROGRESS)
progress++
if(progress == MAX_PROGRESS)
- src << "todo alert goasts"
+ for(var/mob/M in dead_mob_list)
+ if(istype(M,/mob/dead) && M.client && M.client.prefs && (M.client.prefs.be_special & BE_ALIEN))
+ M << "An alien egg is ready to hatch!" // Todo add a JUMP link.
update_icon()
return
// Max progress, cancel processing.
@@ -36,17 +38,22 @@
/obj/structure/alien/egg/attack_ghost(var/mob/dead/observer/user)
- // Check for bans properly.
- if(jobban_isbanned(user, "Xenomorph"))
- user << "You are banned from playing a Xenomorph."
- return
if(progress == -1) //Egg has been hatched.
return
- else if(progress < MAX_PROGRESS)
+
+ if(progress < MAX_PROGRESS)
user << "\The [src] has not yet matured."
return
+ if(!user.MayRespawn(1))
+ return
+
+ // Check for bans properly.
+ if(jobban_isbanned(user, "Xenomorph"))
+ user << "You are banned from playing a Xenomorph."
+ return
+
var/confirm = alert(user, "Are you sure you want to join as a Xenomorph larva?", "Become Larva", "No", "Yes")
if(!src || confirm != "Yes")
@@ -55,6 +62,10 @@
if(!user || !user.ckey)
return
+ if(progress == -1) //Egg has been hatched.
+ user << "Too slow..."
+ return
+
flick("egg_opening",src)
progress = -1 // No harvesting pls.
sleep(5)