|
|
|
@@ -17,6 +17,7 @@
|
|
|
|
|
var/faction = null
|
|
|
|
|
var/permanent = FALSE //If true, the spawner will not disappear upon running out of uses.
|
|
|
|
|
var/random = FALSE //Don't set a name or gender, just go random
|
|
|
|
|
var/antagonist_type
|
|
|
|
|
var/objectives = null
|
|
|
|
|
var/uses = 1 //how many times can we spawn from it. set to -1 for infinite.
|
|
|
|
|
var/brute_damage = 0
|
|
|
|
@@ -43,9 +44,8 @@
|
|
|
|
|
return
|
|
|
|
|
if(isobserver(user))
|
|
|
|
|
var/mob/dead/observer/O = user
|
|
|
|
|
if(!O.can_reenter_round)
|
|
|
|
|
to_chat(user, "<span class='warning'>You are unable to reenter the round.</span>")
|
|
|
|
|
return
|
|
|
|
|
if(!O.can_reenter_round())
|
|
|
|
|
return FALSE
|
|
|
|
|
var/ghost_role = alert(latejoinercalling ? "Latejoin as [mob_name]? (This is a ghost role, and as such, it's very likely to be off-station.)" : "Become [mob_name]? (Warning, You can no longer be cloned!)",,"Yes","No")
|
|
|
|
|
if(ghost_role == "No" || !loc)
|
|
|
|
|
return
|
|
|
|
@@ -111,9 +111,16 @@
|
|
|
|
|
if(show_flavour)
|
|
|
|
|
to_chat(M, "[flavour_text]")
|
|
|
|
|
var/datum/mind/MM = M.mind
|
|
|
|
|
var/datum/antagonist/A
|
|
|
|
|
if(antagonist_type)
|
|
|
|
|
A = MM.add_antag_datum(antagonist_type)
|
|
|
|
|
if(objectives)
|
|
|
|
|
if(!A)
|
|
|
|
|
A = MM.add_antag_datum(/datum/antagonist/custom)
|
|
|
|
|
for(var/objective in objectives)
|
|
|
|
|
MM.objectives += new/datum/objective(objective)
|
|
|
|
|
var/datum/objective/O = new/datum/objective(objective)
|
|
|
|
|
O.owner = MM
|
|
|
|
|
A.objectives += O
|
|
|
|
|
if(assignedrole)
|
|
|
|
|
M.mind.assigned_role = assignedrole
|
|
|
|
|
special(M, name)
|
|
|
|
@@ -249,7 +256,7 @@
|
|
|
|
|
|
|
|
|
|
//Non-human spawners
|
|
|
|
|
|
|
|
|
|
/obj/effect/mob_spawn/AICorpse/create() //Creates a corrupted AI
|
|
|
|
|
/obj/effect/mob_spawn/AICorpse/create(ckey, name) //Creates a corrupted AI
|
|
|
|
|
var/A = locate(/mob/living/silicon/ai) in loc
|
|
|
|
|
if(A)
|
|
|
|
|
return
|
|
|
|
@@ -269,7 +276,7 @@
|
|
|
|
|
/obj/effect/mob_spawn/slime/equip(mob/living/simple_animal/slime/S)
|
|
|
|
|
S.colour = mobcolour
|
|
|
|
|
|
|
|
|
|
/obj/effect/mob_spawn/human/facehugger/create() //Creates a squashed facehugger
|
|
|
|
|
/obj/effect/mob_spawn/human/facehugger/create(ckey, name) //Creates a squashed facehugger
|
|
|
|
|
var/obj/item/clothing/mask/facehugger/O = new(src.loc) //variable O is a new facehugger at the location of the landmark
|
|
|
|
|
O.name = src.name
|
|
|
|
|
O.Die() //call the facehugger's death proc
|
|
|
|
@@ -587,3 +594,57 @@
|
|
|
|
|
shoes = /obj/item/clothing/shoes/sneakers/black
|
|
|
|
|
suit = /obj/item/clothing/suit/armor/vest
|
|
|
|
|
glasses = /obj/item/clothing/glasses/sunglasses/reagent
|
|
|
|
|
|
|
|
|
|
/obj/effect/mob_spawn/human/lavaknight
|
|
|
|
|
name = "odd cryogenics pod"
|
|
|
|
|
desc = "A humming cryo pod. You can barely recognise a faint glow underneath the built up ice. The machine is attempting to wake up its occupant."
|
|
|
|
|
mob_name = "a displaced knight from another dimension"
|
|
|
|
|
icon = 'icons/obj/machines/sleeper.dmi'
|
|
|
|
|
icon_state = "sleeper"
|
|
|
|
|
roundstart = FALSE
|
|
|
|
|
id_job = "Knight"
|
|
|
|
|
job_description = "Cydonian Knight"
|
|
|
|
|
death = FALSE
|
|
|
|
|
random = TRUE
|
|
|
|
|
outfit = /datum/outfit/lavaknight
|
|
|
|
|
mob_species = /datum/species/human
|
|
|
|
|
flavour_text = "<font size=3><b>Y</b></font><b>ou are a knight who conveniently has some form of retrograde amnesia. \
|
|
|
|
|
You cannot remember where you came from. However, a few things remain burnt into your mind, most prominently a vow to never harm another sapient being under any circumstances unless it is hellbent on ending your life. \
|
|
|
|
|
Remember: hostile creatures and such are fair game for attacking, but <span class='danger'>under no circumstances are you to attack anything capable of thought and/or speech</span> unless it has made it its life's calling to chase you to the ends of the earth."
|
|
|
|
|
assignedrole = "Cydonian Knight"
|
|
|
|
|
|
|
|
|
|
/obj/effect/mob_spawn/human/lavaknight/special(mob/living/new_spawn)
|
|
|
|
|
if(ishuman(new_spawn))
|
|
|
|
|
var/mob/living/carbon/human/H = new_spawn
|
|
|
|
|
H.dna.features["mam_ears"] = "Cat, Big" //cat people
|
|
|
|
|
H.dna.features["mcolor"] = H.hair_color
|
|
|
|
|
H.update_body()
|
|
|
|
|
|
|
|
|
|
/obj/effect/mob_spawn/human/lavaknight/Destroy()
|
|
|
|
|
new/obj/structure/showcase/machinery/oldpod/used(drop_location())
|
|
|
|
|
return ..()
|
|
|
|
|
|
|
|
|
|
/datum/outfit/lavaknight
|
|
|
|
|
name = "Cydonian Knight"
|
|
|
|
|
uniform = /obj/item/clothing/under/assistantformal
|
|
|
|
|
mask = /obj/item/clothing/mask/breath
|
|
|
|
|
shoes = /obj/item/clothing/shoes/sneakers/black
|
|
|
|
|
r_pocket = /obj/item/melee/transforming/energy/sword/cx
|
|
|
|
|
suit = /obj/item/clothing/suit/space/hardsuit/lavaknight
|
|
|
|
|
suit_store = /obj/item/tank/internals/oxygen
|
|
|
|
|
id = /obj/item/card/id/knight/blue
|
|
|
|
|
|
|
|
|
|
/obj/effect/mob_spawn/human/lavaknight/captain
|
|
|
|
|
name = "odd gilded cryogenics pod"
|
|
|
|
|
desc = "A humming cryo pod that appears to be gilded. You can barely recognise a faint glow underneath the built up ice. The machine is attempting to wake up its occupant."
|
|
|
|
|
flavour_text = "<font size=3><b>Y</b></font><b>ou are a knight who conveniently has some form of retrograde amnesia. \
|
|
|
|
|
You cannot remember where you came from. However, a few things remain burnt into your mind, most prominently a vow to never harm another sapient being under any circumstances unless it is hellbent on ending your life. \
|
|
|
|
|
Remember: hostile creatures and such are fair game for attacking, but <span class='danger'>under no circumstances are you to attack anything capable of thought and/or speech</span> unless it has made it its life's calling to chase you to the ends of the earth. \
|
|
|
|
|
You feel a natural instict to lead, and as such, you should strive to lead your comrades to safety, and hopefully home. You also feel a burning determination to uphold your vow, as well as your fellow comrade's."
|
|
|
|
|
outfit = /datum/outfit/lavaknight/captain
|
|
|
|
|
id_job = "Knight Captain"
|
|
|
|
|
|
|
|
|
|
/datum/outfit/lavaknight/captain
|
|
|
|
|
name ="Cydonian Knight Captain"
|
|
|
|
|
l_pocket = /obj/item/twohanded/dualsaber/hypereutactic
|
|
|
|
|
id = /obj/item/card/id/knight/captain
|
|
|
|
|