tweaked artifact extraction, artifacts

Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
Cael_Aislinn
2013-02-19 02:27:46 +10:00
parent 31bf502e65
commit 040cf2f8d5
7 changed files with 129 additions and 28 deletions
@@ -25,8 +25,9 @@ obj/machinery/anomaly/fourier_transform/ScanResults()
var/accuracy = GetResultSpecifity(scanned_sample, carrier)
var/distance = scanned_sample.artifact_distance
if(distance > 0)
if(accuracy > 0.6)
distance += (2 * rand() - 1) * distance * 0.01
if(prob(accuracy))
distance += (2 * rand() - 1) * distance * 0.05
accuracy = 0.95 + 0.05 * (2 * rand() - 1)
else
var/offset = 1 - accuracy
distance += (2 * rand() - 1) * distance * offset
@@ -2,8 +2,8 @@
obj/machinery/anomaly/hyperspectral
name = "Hyperspectral Imager"
desc = "A specialised, complex analysis machine."
icon = 'icons/obj/computer.dmi'
icon_state = "rdcomp"
//icon = 'icons/obj/computer.dmi'
//icon_state = "rdcomp"
obj/machinery/anomaly/hyperspectral/ScanResults()
var/results = "The scan was inconclusive. Check sample integrity and carrier consistency."
@@ -32,7 +32,13 @@ obj/machinery/anomaly/hyperspectral/ScanResults()
results += "<img src=\"http://i.imgur.com/1qCae.jpg\"></img><br>"
else
results += "<img src=\"http://i.imgur.com/9T9nc.jpg\"></img><br>"
if(scanned_sample.artifact_id && prob(specifity * 100))
results += "Anomalous exotic energy signature detected: [scanned_sample.artifact_id]."
results += "<br>"
if(scanned_sample.artifact_id)
results += "Detected energy signatures [100 * (1 - specifity)]% consistent with standard background readings.<br>"
if(prob( (specifity + 0.5 * (1 - specifity)) * 100))
results += "Anomalous exotic energy signature isolated: <font color='red'><b>[scanned_sample.artifact_id].</b></font>"
else
results += "Detected energy signatures [95 + 5 * (2 * rand() - 1) * (1 - specifity)]% consistent with standard background readings."
return results
@@ -10,7 +10,7 @@
/datum/artifact_find/New()
artifact_detect_range = rand(5,300)
artifact_id = "[pick("kappa","sigma","antaeres","beta","omicron","iota","upsilon","omega","gamma","delta","tau","alpha")]-[rand(100,999)]"
artifact_id = "[pick("kappa","sigma","antaeres","beta","omicron","iota","epsilon","omega","gamma","delta","tau","alpha")]-[rand(100,999)]"
artifact_find_type = pick(\
5;/obj/machinery/power/supermatter,\
@@ -23,7 +23,7 @@
100;/obj/mecha/working/hoverpod,\
100;/obj/machinery/replicator,\
150;/obj/structure/crystal,\
500;/obj/machinery/artifact)
1000;/obj/machinery/artifact)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Boulders - sometimes turn up after excavating turf - excavate further to try and find large xenoarch finds
@@ -1,9 +1,9 @@
/obj/mecha/working/hoverpod
name = "hover pod"
icon = 'icons/obj/vehicles.dmi'
icon_state = "engineering_pod"
desc = "Stubby and round, it has a human sized access hatch on the top."
wreckage = /obj/effect/decal/mecha_wreckage/hoverpod
//duplicate of parent proc, but without space drifting
/obj/mecha/working/hoverpod/dyndomove(direction)
@@ -50,3 +50,18 @@
if(result)
playsound(src,'sound/machines/hiss.ogg',40,1)
return result
/obj/effect/decal/mecha_wreckage/hoverpod
name = "Hover pod wreckage"
icon_state = "engineering_pod-broken"
/*New()
..()
var/list/parts = list(
for(var/i=0;i<2;i++)
if(!isemptylist(parts) && prob(40))
var/part = pick(parts)
welder_salvage += part
parts -= part
return*/
@@ -27,7 +27,7 @@
user.visible_message("\blue [user] scans [A], the air around them humming gently.")
if(istype(A,/turf/simulated/mineral))
var/turf/simulated/mineral/M = A
if(M.excavation_minerals.len || M.finds.len)
if(M.excavation_minerals.len || M.finds.len || M.artifact_find)
//create a new scanlog entry
var/datum/depth_scan/D = new()
@@ -79,8 +79,8 @@
if(current)
dat += "Time: [current.time]<br>"
dat += "Coords: [current.coords]<br>"
dat += "Anomaly depth: [current.depth]<br>"
dat += "Clearance: [current.clearance]<br>"
dat += "Anomaly depth: [current.depth] cm<br>"
dat += "Clearance above anomaly depth: [current.clearance] cm<br>"
dat += "Dissonance spread: [current.dissonance_spread]<br>"
dat += "<A href='?src=\ref[src];clear=[current.record_index]'>clear entry</a><br>"
else
@@ -18,7 +18,7 @@
#define TRIGGER_CO2 11
#define TRIGGER_NITRO 12
#define MAX_TRIGGER 12
/*
//sleeping gas appears to be bugged, currently
var/list/valid_primary_effect_types = list(\
/datum/artifact_effect/cellcharge,\
@@ -55,6 +55,7 @@ var/list/valid_secondary_effect_types = list(\
/datum/artifact_effect/sleepy,\
/datum/artifact_effect/stun,\
/datum/artifact_effect/teleport)
*/
/obj/machinery/artifact
name = "alien artifact"
@@ -71,12 +72,12 @@ var/list/valid_secondary_effect_types = list(\
..()
//setup primary effect - these are the main ones (mixed)
var/effecttype = pick(valid_primary_effect_types)
var/effecttype = pick(typesof(/datum/artifact_effect) - /datum/artifact_effect)
my_effect = new effecttype(src)
//75% chance to have a secondary stealthy (and mostly bad) effect
if(prob(75))
effecttype = pick(valid_secondary_effect_types)
effecttype = pick(typesof(/datum/artifact_effect) - /datum/artifact_effect)
secondary_effect = new effecttype(src)
if(prob(75))
secondary_effect.ToggleActivate(0)