From d8b874fc25e942355c8063463dc69a1fd57c8287 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Sun, 19 Jul 2015 09:18:34 -0500 Subject: [PATCH 1/3] Golem Logging Gives golems the name of their master in an objective so it can be easily checked by admins when they start punching people to death or by the golem itself when it forgets after wandering off. Adds a warning to admins when traitors start creating golems. Logs who creates golems. Requested by Ausops --- code/modules/research/xenobiology/xenobiology.dm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index e91fa523046..5ae3cca7d44 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -410,7 +410,7 @@ var/mob/living/carbon/human/G = new /mob/living/carbon/human if(prob(50)) G.gender = "female" hardset_dna(G, null, null, null, null, /datum/species/golem/adamantine) - + G.set_cloned_appearance() G.real_name = text("Adamantine Golem ([rand(1, 1000)])") G.dna.species.auto_equip(G) @@ -418,6 +418,14 @@ G.key = ghost.key G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost." qdel(src) + var/datum/objective/protect/new_objective = new /datum/objective/protect + new_objective.owner = G:mind + new_objective:target = usr:mind + G.mind.objectives += new_objective + new_objective.explanation_text = "Protect [usr.real_name], your master." + if(usr.mind.special_role) + message_admins("[G.real_name] has been summoned by [usr.real_name], an antagonist.") + log_game("[G.real_name] ([G.key]) was made a golem by [usr.real_name]([usr.key]).") From aa69941ba8e3d6cab015569873e9d2c6bd2b6e21 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Mon, 20 Jul 2015 06:13:28 -0500 Subject: [PATCH 2/3] Removes use of objectives, replaces with notes --- code/modules/research/xenobiology/xenobiology.dm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 5ae3cca7d44..d311aba5e49 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -418,11 +418,7 @@ G.key = ghost.key G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost." qdel(src) - var/datum/objective/protect/new_objective = new /datum/objective/protect - new_objective.owner = G:mind - new_objective:target = usr:mind - G.mind.objectives += new_objective - new_objective.explanation_text = "Protect [usr.real_name], your master." + G.mind.store_memory("Serve [usr.real_name], your creator.") if(usr.mind.special_role) message_admins("[G.real_name] has been summoned by [usr.real_name], an antagonist.") log_game("[G.real_name] ([G.key]) was made a golem by [usr.real_name]([usr.key]).") From 99bfeb75b5292f6795af1b00b1f33e4646072434 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Tue, 21 Jul 2015 12:17:46 -0500 Subject: [PATCH 3/3] Replaces usr with user --- code/modules/research/xenobiology/xenobiology.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index d311aba5e49..63ea9a0a6d3 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -417,11 +417,11 @@ G.loc = src.loc G.key = ghost.key G << "You are an adamantine golem. You move slowly, but are highly resistant to heat and cold as well as blunt trauma. You are unable to wear clothes, but can still use most tools. Serve [user], and assist them in completing their goals at any cost." + G.mind.store_memory("Serve [user.real_name], your creator.") + if(user.mind.special_role) + message_admins("[G.real_name] has been summoned by [user.real_name], an antagonist.") + log_game("[G.real_name] ([G.key]) was made a golem by [user.real_name]([user.key]).") qdel(src) - G.mind.store_memory("Serve [usr.real_name], your creator.") - if(usr.mind.special_role) - message_admins("[G.real_name] has been summoned by [usr.real_name], an antagonist.") - log_game("[G.real_name] ([G.key]) was made a golem by [usr.real_name]([usr.key]).")