-Changed the CentComm. Report so it longer reports potential antags. It will just say the potential round type instead.

-Added reagent scanning to the detective's scanner. Can be used for scanning dead bodies for leftover poison or scanning drinks to see if they were spiked.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5275 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
giacomand@gmail.com
2012-12-07 08:51:11 +00:00
parent f2c806cb24
commit d0ad3e0570
3 changed files with 70 additions and 22 deletions

View File

@@ -1,13 +1,5 @@
/datum/intercept_text
var/text
var/prob_correct_person_lower = 20
var/prob_correct_person_higher = 80
var/prob_correct_job_lower = 20
var/prob_correct_job_higher = 80
var/prob_correct_prints_lower = 20
var/prob_correct_print_higher = 80
var/prob_correct_objective_lower = 20
var/prob_correct_objective_higher = 80
var/list/org_names_1 = list(
"Blighted",
"Defiled",
@@ -48,7 +40,8 @@
"Booga",
"The Goatee of Wrath",
"Tam Lin",
"Species 3157"
"Species 3157",
"Small Prick"
)
@@ -85,7 +78,9 @@
else
return null
// NOTE: Commentted out was the code which showed the chance of someone being an antag. If you want to re-add it, just uncomment the code.
/*
/datum/intercept_text/proc/pick_mob()
var/list/dudes = list()
for(var/mob/living/carbon/human/man in player_list)
@@ -104,11 +99,13 @@
return num2text(md5(dude.dna.uni_identity))
else
return num2text(md5(num2text(rand(1,10000))))
*/
/datum/intercept_text/proc/build_traitor(datum/mind/correct_person)
var/name_1 = pick(src.org_names_1)
var/name_2 = pick(src.org_names_2)
/*
var/fingerprints
var/traitor_name
var/prob_right_dude = rand(prob_correct_person_lower, prob_correct_person_higher)
@@ -121,8 +118,11 @@
traitor_name = pick_mob()
else
fingerprints = pick_fingerprints()
*/
src.text += "<BR><BR>The <B>[name_1] [name_2]</B> implied an undercover operative was acting on their behalf on the station currently.<BR>"
src.text += "<BR><BR>The <B>[name_1] [name_2]</B> implied an undercover operative was acting on their behalf on the station currently."
src.text += "It would be in your best interests to suspect everybody, as these undercover operatives could have implants which trigger them to have their memories removed until they are needed. He, or she, could even be a high ranking officer."
/*
src.text += "After some investigation, we "
if(traitor_name)
src.text += "are [prob_right_dude]% sure that [traitor_name] may have been involved, and should be closely observed."
@@ -130,11 +130,13 @@
else
src.text += "discovered the following set of fingerprints ([fingerprints]) on sensitive materials, and their owner should be closely observed."
src.text += "However, these could also belong to a current Cent. Com employee, so do not act on this without reason."
*/
/datum/intercept_text/proc/build_cult(datum/mind/correct_person)
var/name_1 = pick(src.org_names_1)
var/name_2 = pick(src.org_names_2)
/*
var/traitor_name
var/traitor_job
var/prob_right_dude = rand(prob_correct_person_lower, prob_correct_person_higher)
@@ -156,19 +158,23 @@
traitor_name = correct_person:current
else
traitor_name = pick_mob()
src.text += "<BR><BR>It has been brought to our attention that the [name_1] [name_2] have stumbled upon some dark secrets. They apparently want to spread the dangerous knowledge on as many stations as they can.<BR>"
*/
src.text += "<BR><BR>It has been brought to our attention that the [name_1] [name_2] have stumbled upon some dark secrets. They apparently want to spread the dangerous knowledge onto as many stations as they can."
src.text += "Watch out for the following: praying to an unfamilar god, preaching the word of \[REDACTED\], sacrifices, magical dark power, living constructs of evil and a portal to the dimension of the underworld."
/*
src.text += "Based on our intelligence, we are [prob_right_job]% sure that if true, someone doing the job of [traitor_job] on your station may have been converted "
src.text += "and instilled with the idea of the flimsiness of the real world, seeking to destroy it. "
if(prob(prob_right_dude))
src.text += "<BR> In addition, we are [prob_right_dude]% sure that [traitor_name] may have also some in to contact with this "
src.text += "organisation."
src.text += "<BR>However, if this information is acted on without substantial evidence, those responsible will face severe repercussions."
*/
/datum/intercept_text/proc/build_rev(datum/mind/correct_person)
var/name_1 = pick(src.org_names_1)
var/name_2 = pick(src.org_names_2)
/*
var/traitor_name
var/traitor_job
var/prob_right_dude = rand(prob_correct_person_lower, prob_correct_person_higher)
@@ -192,14 +198,17 @@
traitor_name = correct_person.current
else
traitor_name = src.pick_mob()
src.text += "<BR><BR>It has been brought to our attention that the [name_1] [name_2] are attempting to stir unrest on one of our stations in your sector. <BR>"
*/
src.text += "<BR><BR>It has been brought to our attention that the [name_1] [name_2] are attempting to stir unrest on one of our stations in your sector."
src.text += "Watch out for suspicious activity among the crew and make sure that all heads of staff report in periodically."
/*
src.text += "Based on our intelligence, we are [prob_right_job]% sure that if true, someone doing the job of [traitor_job] on your station may have been brainwashed "
src.text += "at a recent conference, and their department should be closely monitored for signs of mutiny. "
if(prob(prob_right_dude))
src.text += "<BR> In addition, we are [prob_right_dude]% sure that [traitor_name] may have also some in to contact with this "
src.text += "organisation."
src.text += "<BR>However, if this information is acted on without substantial evidence, those responsible will face severe repercussions."
*/
/datum/intercept_text/proc/build_wizard(datum/mind/correct_person)
@@ -211,7 +220,7 @@
src.text += "Known attributes include: Brown sandals, a large blue hat, a voluptous white beard, and an inclination to cast spells."
/datum/intercept_text/proc/build_nuke(datum/mind/correct_person)
src.text += "<BR><BR>Cent. Com recently recieved a report of a plot to destory one of our stations in your area. We believe the Nuclear Authentication Disc "
src.text += "<BR><BR>Cent. Com recently recieved a report of a plot to destroy one of our stations in your area. We believe the Nuclear Authentication Disc "
src.text += "that is standard issue aboard your vessel may be a target. We recommend removal of this object, and it's storage in a safe "
src.text += "environment. As this may cause panic among the crew, all efforts should be made to keep this information a secret from all but "
src.text += "the most trusted crew-members."
@@ -226,6 +235,7 @@
var/cname = pick(src.changeling_names)
var/orgname1 = pick(src.org_names_1)
var/orgname2 = pick(src.org_names_2)
/*
var/changeling_name
var/changeling_job
var/prob_right_dude = rand(prob_correct_person_lower, prob_correct_person_higher)
@@ -245,9 +255,12 @@
changeling_name = src.pick_mob()
else
changeling_name = src.pick_mob()
*/
src.text += "<BR><BR>We have received a report that a dangerous alien lifeform known only as \"[cname]\" may have infiltrated your crew. "
/*
src.text += "Our intelligence suggests a [prob_right_job]% chance that a [changeling_job] on board your station has been replaced by the alien. "
src.text += "Additionally, the report indicates a [prob_right_dude]% chance that [changeling_name] may have been in contact with the lifeform at a recent social gathering. "
*/
src.text += "These lifeforms are assosciated with the [orgname1] [orgname2] and may be attempting to acquire sensitive materials on their behalf. "
src.text += "Please take care not to alarm the crew, as [cname] may take advantage of a panic situation."
src.text += "Please take care not to alarm the crew, as [cname] may take advantage of a panic situation. Remember, they can be anybody, suspect everybody!"

View File

@@ -1,5 +1,6 @@
//CONTAINS: Detective's Scanner
// TODO: Split everything into easy to manage procs.
/obj/item/device/detective_scanner
name = "Scanner"
@@ -38,27 +39,37 @@
scanning = 1
spawn(0)
var/scanned_something = 0
var/found_something = 0
user << "<span class='notice'>You scan [M]. The scanner is analysing the results...</span>"
add_log(null, "<B>[time2text(world.time + 432000, "hh:mm:ss")] - [M]</B>")
// Fingerprints
if(ishuman(M))
if (istype(M.dna, /datum/dna) && !M.gloves)
sleep(30)
add_log(user, "<span class='info'><B>Prints:</B></span>")
add_log(user, "[md5(M.dna.uni_identity)]")
scanned_something = 1
found_something = 1
// Blood
if ( !M.blood_DNA || !M.blood_DNA.len )
if(M.blood_DNA)
del(M.blood_DNA)
else
sleep(30)
add_log(user, "<span class='info'><B>Blood:</B></span>")
scanned_something = 1
found_something = 1
for(var/blood in M.blood_DNA)
add_log(user, "Type: <font color='red'>[M.blood_DNA[blood]]</font> DNA: <font color='red'>[blood]</font>")
if(!scanned_something)
//Reagents
if(M.reagents && M.reagents.reagent_list.len)
sleep(30)
add_log(user, "<span class='info'><B>Reagents:</B></span>")
for(var/datum/reagent/R in M.reagents.reagent_list)
add_log(user, "Reagent: <font color='red'>[R.name]</font> Volume: <font color='red'>[R.volume]</font>")
found_something = 1
if(!found_something)
add_log(null, "<I># No forensic traces found #</I>")
user.visible_message("\The [user] scans \the [M] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\
"<span class='notice'>Unable to locate any fingerprints, materials, fibers, or blood on [M]!</span>",\
@@ -86,6 +97,7 @@
spawn(0)
var/found_something = 0
user << "<span class='notice'>You scan [A]. The scanner is analysing the results...</span>"
add_log(null, "<B>[time2text(world.time + 432000, "hh:mm:ss")] - [capitalize(A.name)]</B>")
//PRINTS
@@ -105,6 +117,7 @@
add_log(user, "<span class='info'><B>Prints:</B></span>")
for(var/i in completed_prints)
add_log(user, "[i]")
found_something = 1
//FIBERS
if(A.suit_fibers && A.suit_fibers.len)
@@ -112,6 +125,7 @@
add_log(user, "<span class='info'><B>Fibers:</B></span>")
for(var/fiber in A.suit_fibers)
add_log(user, "[fiber]")
found_something = 1
//Blood
if (A.blood_DNA && A.blood_DNA.len)
@@ -119,9 +133,18 @@
add_log(user, "<span class='info'><B>Blood:</B></span>")
for(var/blood in A.blood_DNA)
add_log(user, "Type: <font color='red'>[A.blood_DNA[blood]]</font> DNA: <font color='red'>[blood]</font>")
found_something = 1
//Reagents
if(A.reagents && A.reagents.reagent_list.len)
sleep(30)
add_log(user, "<span class='info'><B>Reagents:</B></span>")
for(var/datum/reagent/R in A.reagents.reagent_list)
add_log(user, "Reagent: <font color='red'>[R.name]</font> Volume: <font color='red'>[R.volume]</font>")
found_something = 1
//General
if ((!A.fingerprints || !A.fingerprints.len) && (!A.suit_fibers || !A.suit_fibers.len) && (!A.blood_DNA || !A.blood_DNA.len))
if (!found_something)
add_log(null, "<I># No forensic traces found #</I>")
user.visible_message("\The [user] scans \the [A] with \a [src], the air around [user.gender == MALE ? "him" : "her"] humming[prob(70) ? " gently." : "."]" ,\
"<span class='notice'>Unable to locate any fingerprints, materials, fibers, or blood on [A]!</span>",\

View File

@@ -48,6 +48,14 @@ Stuff which is in development and not yet visible to players or just code relate
should be listed in the changelog upon commit tho. Thanks. -->
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
<div class="commit sansserif">
<h2 class="date">07 December 2012</h2>
<h3 class="author">Giacom updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">The detective's scanner was upgraded, it can now scan for reagents in items and living beings. Potential uses include, scanning dead bodies for leftover poison or scanning items to see if they have been spiked.</li>
<li class="tweak">The CentComm. Report has been changed so it no longer names potential antagonists. It will just announce the potential round type instead.</li>
</ul>
<div class="commit sansserif">
<h2 class="date">05 December 2012</h2>
<h3 class="author">Cheridan updated:</h3>
@@ -60,6 +68,10 @@ should be listed in the changelog upon commit tho. Thanks. -->
<li class="tweak">Merged Mining and Cargo radio channels into the Supply Radio. To use the supply channel, use :u</li>
<li class="tweak">Mining Dock remapped to be more compact and closer to cargo.</li>
</ul>
<h3 class="author">Giacom updated:</h3>
<ul class="changes bgimages16">
<li class="rscadd">The wizard's fireball spell is once again dumbfire. It will fire in the direction of the wizard instead of having to choose from a list of targets and then home in on them.</li>
</ul>
</div>
<div class="commit sansserif">