/obj/effect/proc_holder/alien/hide
name = "Hide"
desc = "Allows aliens to hide beneath tables or certain items. Toggled on or off."
plasma_cost = 0
action_icon_state = "alien_hide"
/obj/effect/proc_holder/alien/hide/fire(mob/living/carbon/alien/user)
if(user.stat != CONSCIOUS)
return
if (user.layer != ABOVE_NORMAL_TURF_LAYER)
user.layer = ABOVE_NORMAL_TURF_LAYER
user.visible_message("[user] scurries to the ground!", \
"You are now hiding.")
else
user.layer = MOB_LAYER
user.visible_message("[user] slowly peeks up from the ground...", \
"You stop hiding.")
return 1
/obj/effect/proc_holder/alien/larva_evolve
name = "Evolve"
desc = "Evolve into a higher alien caste."
plasma_cost = 0
action_icon_state = "alien_evolve_larva"
/obj/effect/proc_holder/alien/larva_evolve/fire(mob/living/carbon/alien/user)
if(!islarva(user))
return
var/mob/living/carbon/alien/larva/L = user
if(L.handcuffed || L.legcuffed) // Cuffing larvas ? Eh ?
to_chat(user, "You cannot evolve when you are cuffed.")
return
if(L.amount_grown >= L.max_grown) //TODO ~Carn
to_chat(L, "You are growing into a beautiful alien! It is time to choose a caste.")
to_chat(L, "There are three to choose from:")
to_chat(L, "Hunters are the most agile caste, tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone.")
to_chat(L, "Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters.")
to_chat(L, "Drones are the weakest and slowest of the castes, but can grow into a praetorian and then queen if no queen exists, and are vital to maintaining a hive with their resin secretion abilities.")
var/alien_caste = alert(L, "Please choose which alien caste you shall belong to.",,"Hunter","Sentinel","Drone")
if(user.incapacitated()) //something happened to us while we were choosing.
return
var/mob/living/carbon/alien/humanoid/new_xeno
switch(alien_caste)
if("Hunter")
new_xeno = new /mob/living/carbon/alien/humanoid/hunter(L.loc)
if("Sentinel")
new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(L.loc)
if("Drone")
new_xeno = new /mob/living/carbon/alien/humanoid/drone(L.loc)
L.alien_evolve(new_xeno)
return 0
else
to_chat(user, "You are not fully grown.")
return 0