Merge pull request #9362 from Kelenius/ofResearchAndPrototypes

Updates to science
This commit is contained in:
PsiOmegaDelta
2015-05-25 19:55:01 +02:00
147 changed files with 2431 additions and 3002 deletions
+1 -1
View File
@@ -6,7 +6,7 @@
w_class = 2.0
slot_flags = SLOT_BELT
var/flush = null
origin_tech = "programming=4;materials=4"
origin_tech = list(TECH_DATA = 4, TECH_MATERIAL = 4)
var/mob/living/silicon/ai/carded_ai
@@ -8,7 +8,7 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
origin_tech = "syndicate=4;magnets=4"
origin_tech = list(TECH_ILLEGAL = 4, TECH_MAGNET = 4)
var/can_use = 1
var/obj/effect/dummy/chameleon/active_dummy = null
var/saved_item = /obj/item/weapon/cigbutt
+1 -1
View File
@@ -19,7 +19,7 @@
matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20)
origin_tech = "magnets=1;engineering=1"
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
/obj/item/device/debugger/is_used_on(obj/O, mob/user)
+4 -4
View File
@@ -8,7 +8,7 @@
throw_speed = 4
throw_range = 10
flags = CONDUCT
origin_tech = "magnets=2;combat=1"
origin_tech = list(TECH_MAGNET = 2, TECH_COMBAT = 1)
var/times_used = 0 //Number of times it's been used.
var/broken = 0 //Is the flash burnt out?
@@ -192,9 +192,9 @@
/obj/item/device/flash/synthetic
name = "synthetic flash"
desc = "When a problem arises, SCIENCE is the solution."
icon_state = "sflash"
origin_tech = "magnets=2;combat=1"
var/construction_cost = list(DEFAULT_WALL_MATERIAL=750,"glass"=750)
icon_state = "sflash"
origin_tech = list(TECH_MAGNET = 2, TECH_COMBAT = 1)
var/construction_cost = list(DEFAULT_WALL_MATERIAL=750,"glass"=750)
var/construction_time=100
/obj/item/device/flash/synthetic/attack(mob/living/M as mob, mob/user as mob)
@@ -49,7 +49,7 @@
flags = CONDUCT
slot_flags = SLOT_BELT
origin_tech = "magnets=3;materials=2"
origin_tech = list(TECH_MAGNET = 3, TECH_MATERIAL = 2)
var/max_uses = 20
var/uses = 0
+1 -1
View File
@@ -18,6 +18,6 @@
matter = list(DEFAULT_WALL_MATERIAL = 50,"glass" = 20)
origin_tech = "magnets=1;engineering=1"
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
var/obj/machinery/telecomms/buffer // simple machine buffer for device linkage
var/obj/machinery/clonepod/connecting //same for cryopod linkage
+1 -1
View File
@@ -5,7 +5,7 @@
item_state = "electronic"
w_class = 2.0
slot_flags = SLOT_BELT
origin_tech = "programming=2"
origin_tech = list(TECH_DATA = 2)
var/obj/item/device/radio/radio
var/looking_for_personality = 0
var/mob/living/silicon/pai/pai
+2 -2
View File
@@ -13,7 +13,7 @@
matter = list(DEFAULT_WALL_MATERIAL = 750,"waste" = 750)
origin_tech = "powerstorage=3;syndicate=5"
origin_tech = list(TECH_POWER = 3, TECH_ILLEGAL = 5)
var/drain_rate = 1500000 // amount of power to drain per tick
var/apc_drain_rate = 5000 // Max. amount drained from single APC. In Watts.
var/dissipation_rate = 20000 // Passive dissipation of drained power. In Watts.
@@ -22,7 +22,7 @@
var/mode = 0 // 0 = off, 1=clamped (off), 2=operating
var/drained_this_tick = 0 // This is unfortunately necessary to ensure we process powersinks BEFORE other machinery such as APCs.
var/datum/powernet/PN // Our powernet
var/datum/powernet/PN // Our powernet
var/obj/structure/cable/attached // the attached cable
/obj/item/device/powersink/Destroy()
@@ -4,7 +4,7 @@
icon_state = "beacon"
item_state = "signaler"
var/code = "electronic"
origin_tech = "bluespace=1"
origin_tech = list(TECH_BLUESPACE = 1)
/obj/item/device/radio/beacon/hear_talk()
return
@@ -38,7 +38,7 @@
/obj/item/device/radio/beacon/syndicate
name = "suspicious beacon"
desc = "A label on it reads: <i>Activate to have a singularity beacon teleported to your location</i>."
origin_tech = "bluespace=1;syndicate=7"
origin_tech = list(TECH_BLUESPACE = 1, TECH_ILLEGAL = 7)
/obj/item/device/radio/beacon/syndicate/attack_self(mob/user as mob)
if(user)
@@ -19,13 +19,13 @@
/obj/item/device/encryptionkey/syndicate
icon_state = "cypherkey"
channels = list("Mercenary" = 1)
origin_tech = "syndicate=3"
origin_tech = list(TECH_ILLEGAL = 3)
syndie = 1//Signifies that it de-crypts Syndicate transmissions
/obj/item/device/encryptionkey/binary
icon_state = "cypherkey"
translate_binary = 1
origin_tech = "syndicate=3"
origin_tech = list(TECH_ILLEGAL = 3)
/obj/item/device/encryptionkey/headset_sec
name = "security radio encryption key"
@@ -62,12 +62,12 @@
return -1
/obj/item/device/radio/headset/syndicate
origin_tech = "syndicate=3"
origin_tech = list(TECH_ILLEGAL = 3)
syndie = 1
ks1type = /obj/item/device/encryptionkey/syndicate
/obj/item/device/radio/headset/binary
origin_tech = "syndicate=3"
origin_tech = list(TECH_ILLEGAL = 3)
ks1type = /obj/item/device/encryptionkey/binary
/obj/item/device/radio/headset/headset_sec
+13 -36
View File
@@ -18,7 +18,7 @@ REAGENT SCANNER
matter = list(DEFAULT_WALL_MATERIAL = 150)
origin_tech = "magnets=1;engineering=1"
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
/obj/item/device/t_scanner/attack_self(mob/user)
@@ -72,9 +72,9 @@ REAGENT SCANNER
throwforce = 3
w_class = 2.0
throw_speed = 5
throw_range = 10
throw_range = 10
matter = list(DEFAULT_WALL_MATERIAL = 200)
origin_tech = "magnets=1;biotech=1"
origin_tech = list(TECH_MAGNET = 1, TECH_BIO = 1)
var/mode = 1;
@@ -242,7 +242,7 @@ REAGENT SCANNER
matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20)
origin_tech = "magnets=1;engineering=1"
origin_tech = list(TECH_MAGNET = 1, TECH_ENGINERING = 1)
/obj/item/device/analyzer/attack_self(mob/user as mob)
@@ -289,7 +289,7 @@ REAGENT SCANNER
matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20)
origin_tech = "magnets=2;biotech=2"
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
var/details = 0
var/recent_fail = 0
@@ -308,9 +308,6 @@ REAGENT SCANNER
/obj/item/device/mass_spectrometer/attack_self(mob/user as mob)
if (user.stat)
return
if (crit_fail)
user << "\red This device has critically failed and is no longer functional!"
return
if (!(istype(user, /mob/living/carbon/human) || ticker) && ticker.mode.name != "monkey")
user << "\red You don't have the dexterity to do this!"
return
@@ -326,19 +323,10 @@ REAGENT SCANNER
break
var/dat = "Trace Chemicals Found: "
for(var/R in blood_traces)
if(prob(reliability))
if(details)
dat += "[R] ([blood_traces[R]] units) "
else
dat += "[R] "
recent_fail = 0
if(details)
dat += "[R] ([blood_traces[R]] units) "
else
if(recent_fail)
crit_fail = 1
reagents.clear_reagents()
return
else
recent_fail = 1
dat += "[R] "
user << "[dat]"
reagents.clear_reagents()
return
@@ -347,7 +335,7 @@ REAGENT SCANNER
name = "advanced mass spectrometer"
icon_state = "adv_spectrometer"
details = 1
origin_tech = "magnets=4;biotech=2"
origin_tech = list(TECH_MAGNET = 4, TECH_BIO = 2)
/obj/item/device/reagent_scanner
name = "reagent scanner"
@@ -362,7 +350,7 @@ REAGENT SCANNER
throw_range = 20
matter = list(DEFAULT_WALL_MATERIAL = 30,"glass" = 20)
origin_tech = "magnets=2;biotech=2"
origin_tech = list(TECH_MAGNET = 2, TECH_BIO = 2)
var/details = 0
var/recent_fail = 0
@@ -376,24 +364,13 @@ REAGENT SCANNER
return
if(!istype(O))
return
if (crit_fail)
user << "\red This device has critically failed and is no longer functional!"
return
if(!isnull(O.reagents))
var/dat = ""
if(O.reagents.reagent_list.len > 0)
var/one_percent = O.reagents.total_volume / 100
for (var/datum/reagent/R in O.reagents.reagent_list)
if(prob(reliability))
dat += "\n \t \blue [R][details ? ": [R.volume / one_percent]%" : ""]"
recent_fail = 0
else if(recent_fail)
crit_fail = 1
dat = null
break
else
recent_fail = 1
dat += "\n \t \blue [R][details ? ": [R.volume / one_percent]%" : ""]"
if(dat)
user << "\blue Chemicals found: [dat]"
else
@@ -407,13 +384,13 @@ REAGENT SCANNER
name = "advanced reagent scanner"
icon_state = "adv_spectrometer"
details = 1
origin_tech = "magnets=4;biotech=2"
origin_tech = list(TECH_MAGNET = 4, TECH_BIO = 2)
/obj/item/device/slime_scanner
name = "slime scanner"
icon_state = "adv_spectrometer"
item_state = "analyzer"
origin_tech = "biotech=1"
origin_tech = list(TECH_BIO = 1)
w_class = 2.0
flags = CONDUCT
throwforce = 0
+2 -2
View File
@@ -13,7 +13,7 @@
throw_range = 15
throw_speed = 3
origin_tech = "programming=1;engineering=1;syndicate=3"
origin_tech = list(TECH_DATA = 1, TECH_ENGINERING = 1, TECH_ILLEGAL = 3)
var/obj/item/device/radio/spy/radio
var/obj/machinery/camera/spy/camera
@@ -52,7 +52,7 @@
w_class = 2.0
origin_tech = "programming=1;engineering=1;syndicate=3"
origin_tech = list(TECH_DATA = 1, TECH_ENGINERING = 1, TECH_ILLEGAL = 3)
var/operating = 0
var/obj/item/device/radio/spy/radio
@@ -13,7 +13,7 @@
throw_speed = 1
throw_range = 4
origin_tech = "magnets=2;materials=2"
origin_tech = list(TECH_MAGNET = 2, TECH_MATERIAL = 2)
var/on = 0 //is it turned on?
var/cover_open = 0 //is the cover open?
@@ -24,7 +24,7 @@ effective or pretty fucking useless.
throw_range = 10
flags = CONDUCT
item_state = "electronic"
origin_tech = "magnets=3;combat=3;syndicate=3"
origin_tech = list(TECH_MAGNET = 3, TECH_COMBAT = 3, TECH_ILLEGAL = 3)
var/times_used = 0 //Number of times it's been used.
var/max_uses = 2