Blood: The Last Annoying, Sparkly Twit Update:

- When a blood sample is taken, it retains some information on what kind of chemicals were the subject's body at the time the sample was taken.
- Two new R&D Items: Mass-Spectrometer (EM Spectrum Research 2, Biotech 2) and Advanced Mass-Spectrometer (EM Spectrum Research 4, Biotech 2). Allows for the identification of chemicals in a blood sample. To use the devices, you simply use a container (or syringe) full of blood on the device and then click the device in your hand (like how you use the gas analyzer). At low reliability, they might miss some chemicals in their report or potentially even break. The Advanced version not only lists what chemicals were present in the body, but also much much.
- The deconstructive analyzer now gives 1 or 2 points to a device design's reliability (rather then just 1) when analyzing a device. Also fixed some bugs in the deconstructive analyzer.
- Not all devices have a 100% reliability now (most current ones did, but not all).
- Few tweaks in R&D lab. Derp derp.
- Mint tweaked slightly. Miners can now access the mint foyer and the mint materials loading area but not the vault (only the captain can access the vault, by default).
- Research sub-paths Robotics and generators removed. Now all techs just use the primary paths. Sub-paths might be re-added later but not these ones.
- Power Storage Technology renamed "Power Manipulation Technology".
- More stuff can be analyzed in the destructive analyzer. Intellicards can now be produced from the protolathe (Programming 4. Requires 1000 glass and 200 gold)
- Updated the R&D readme file. Now it has a list of all the holes in the tech paths (ie. Where we need to add new stuff). It's not intended as a complete list of everything that can be made or researched, just a check list to make sure all the research levels are covered.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1073 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
morikou@gmail.com
2011-02-19 20:18:18 +00:00
parent f794ebce5a
commit d25ee28cc4
18 changed files with 5822 additions and 5467 deletions
+1 -1
View File
@@ -68,7 +68,7 @@ datum
blood
data = new/list("donor"=null,"virus"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null)
data = new/list("donor"=null,"virus"=null,"blood_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null)
name = "Blood"
id = "blood"
reagent_state = LIQUID
+5
View File
@@ -617,6 +617,11 @@
if(istype(target, /mob/living/carbon/human))//I wish there was some hasproperty operation...
var/mob/living/carbon/human/HT = target
B.data["blood_type"] = copytext(HT.b_type,1,0)
var/list/temp_chem = list()
for(var/datum/reagent/R in target.reagents.reagent_list)
temp_chem += R.name
temp_chem[R.name] = R.volume
B.data["trace_chem"] = list2params(temp_chem)
//debug
//for(var/D in B.data)
// world << "Data [D] = [B.data[D]]"
+2
View File
@@ -15,6 +15,7 @@
name = "Optical Meson Scanner"
icon_state = "meson"
item_state = "glasses"
origin_tech = "magnets=2"
/obj/item/clothing/glasses/regular
name = "Prescription Glasses"
@@ -33,3 +34,4 @@
name = "Optical Thermal Scanner"
icon_state = "thermal"
item_state = "glasses"
origin_tech = "magnets=3"
+36 -8
View File
@@ -60,7 +60,7 @@
throw_range = 5
w_class = 3.0
m_amt = 50000
origin_tech = "materials=3"
origin_tech = "materials=4"
var/datum/effects/system/spark_spread/spark_system
@@ -165,6 +165,28 @@
g_amt = 20
origin_tech = "magnets=1"
/obj/item/device/mass_spectrometer
desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample."
name = "mass-spectrometer"
icon_state = "spectrometer"
item_state = "analyzer"
w_class = 2.0
flags = FPRINT | TABLEPASS| CONDUCT | ONBELT | OPENCONTAINER
throwforce = 5
throw_speed = 4
throw_range = 20
m_amt = 30
g_amt = 20
origin_tech = "magnets=2;biotech=2"
var
details = 0
recent_fail = 0
/obj/item/device/mass_spectrometer/adv
name = "advanced mass-spectrometer"
icon_state = "adv_spectrometer"
details = 1
origin_tech = "magnets=4;biotech=2"
/obj/item/weapon/axe
name = "Axe"
@@ -177,6 +199,7 @@
throw_range = 5
w_class = 3.0
flags = FPRINT | CONDUCT | NOSHIELD | TABLEPASS
origin_tech = "combat=3"
/obj/item/weapon/bananapeel
name = "Banana Peel"
@@ -201,6 +224,7 @@
var/charges = 10.0
var/maximum_charges = 10.0
var/status = 1
origin_tech = "combat=2"
/obj/item/weapon/bedsheet
name = "bedsheet"
@@ -424,7 +448,6 @@
force = 10.0
item_state = "fire_extinguisher"
m_amt = 90
origin_tech = "materials=1"
/obj/item/weapon/f_card
name = "Finger Print Card"
@@ -457,7 +480,7 @@
throw_speed = 4
throw_range = 20
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT
origin_tech = "materials=2"
origin_tech = "materials=2;combat=1"
/obj/item/weapon/empgrenade
desc = "It is set to detonate in 5 seconds."
@@ -631,6 +654,7 @@
icon_state = "caplaser"
desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding."
force = 10
origin_tech = null
/obj/item/weapon/gun/revolver
desc = "There are 0 bullets left. Uses 357"
@@ -648,7 +672,7 @@
desc = "There are 0 bullets left. Uses 357"
name = "revolver"
icon_state = "mateba"
origin_tech = "combat=2;materials=2"
origin_tech = "combat=3;materials=2"
/obj/item/weapon/gun/detectiverevolver
desc = "A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-Special rounds."
@@ -1056,6 +1080,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
throw_speed = 4
throw_range = 20
m_amt = 100
origin_tech = "magnets=1"
/obj/item/weapon/spellbook
name = "Spell Book"
@@ -1563,6 +1588,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
force = null
throwforce = null
var/armed = 0
origin_tech = "combat=1"
/obj/item/weapon/mousetrap/armed
icon_state = "mousetraparmed"
@@ -1613,6 +1639,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
throw_speed = 1
throw_range = 3
plant_type = 1
origin_tech = "combat=1"
seed = "/obj/item/seeds/nettleseed"
New()
..()
@@ -1633,6 +1660,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
throw_range = 3
plant_type = 1
seed = "/obj/item/seeds/deathnettleseed"
origin_tech = "combat=3"
New()
..()
reagents.add_reagent("nutriment", 1)
@@ -1726,7 +1754,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
name = "Capacitor"
desc = "A basic capacitor used in the construction of a variety of devices."
icon_state = "capacitor"
origin_tech = "energystorage=1"
origin_tech = "powerstorage=1"
m_amt = 50
g_amt = 50
@@ -1742,7 +1770,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
name = "Micro-Manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "micro_mani"
origin_tech = "robotics=1"
origin_tech = "materials=1;programming=1"
m_amt = 30
/obj/item/weapon/stock_parts/micro_laser
@@ -1763,7 +1791,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
/obj/item/weapon/stock_parts/capacitor/adv
name = "Advanced Capacitor"
desc = "An advanced capacitor used in the construction of a variety of devices."
origin_tech = "energystorage=3"
origin_tech = "powerstorage=3"
rating = 2
m_amt = 50
g_amt = 50
@@ -1781,7 +1809,7 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
name = "Nano-Manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "micro_mani"
origin_tech = "robotics=3"
origin_tech = "materials=3,programming=2"
rating = 2
m_amt = 30
+7 -5
View File
@@ -49,6 +49,8 @@
access_mining = 48
access_mining_office = 49
access_mailsorting = 50
access_mint = 51
access_mint_vault = 52
/obj/var/list/req_access = null
/obj/var/req_access_txt = "0"
@@ -167,11 +169,11 @@
if("Shaft Miner")
return list(access_maint_tunnels, access_mining)
if("Quartermaster")
return list(access_maint_tunnels, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_office)
return list(access_maint_tunnels, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_office, access_mint)
if("Chief Engineer")
return list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels,
access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva,
access_heads, access_ai_upload, access_construction, access_robotics)
access_heads, access_ai_upload, access_construction, access_robotics, access_mint)
if("Research Director") // added hydroponics access -- Skie
return list(access_medical, access_morgue, access_medlab, access_rd,
access_tech_storage, access_maint_tunnels, access_heads, access_tox,
@@ -192,7 +194,7 @@
access_tech_storage, access_chapel_office, access_atmospherics, access_kitchen,
access_bar, access_janitor, access_crematorium, access_robotics, access_cargo, access_cargo_bot, access_construction,
access_hydroponics, access_library, access_manufacturing, access_lawyer, access_virology, access_cmo, access_qm, access_clown, access_mime, access_surgery,
access_theatre, access_research, access_mining, access_mining_office, access_mailsorting)
access_theatre, access_research, access_mining, access_mining_office, access_mailsorting, access_mint_vault, access_mint)
/proc/get_region_accesses(var/code)
switch(code)
@@ -207,11 +209,11 @@
if(4) //engineering and maintenance
return list(access_engine, access_engine_equip, access_maint_tunnels, access_external_airlocks, access_emergency_storage, access_tech_storage, access_atmospherics, access_construction, access_robotics)
if(5) //command
return list(access_change_ids, access_ai_upload, access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers)
return list(access_change_ids, access_ai_upload, access_teleporter, access_eva, access_heads, access_captain, access_all_personal_lockers, access_mint_vault)
if(6) //station general
return list(access_chapel_office, access_kitchen,access_bar, access_janitor, access_crematorium, access_library, access_theatre, access_lawyer, access_clown, access_mime)
if(7) //supply
return list(access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_office, access_mailsorting)
return list(access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_office, access_mailsorting, access_mint)
/proc/get_region_accesses_name(var/code)
switch(code)
+9
View File
@@ -173,6 +173,9 @@
throw_speed = 3
throw_range = 15
ripley
origin_tech = "programming=3;materials=3"
ripley/peripherals
name = "Circuit board (Ripley Peripherals Control module)"
icon_state = "mcontroller"
@@ -181,6 +184,9 @@
name = "Circuit board (Ripley Central Control module)"
icon_state = "mainboard"
gygax
origin_tech = "programming=4;materials=4"
gygax/peripherals
name = "Circuit board (Gygax Peripherals Control module)"
icon_state = "mcontroller"
@@ -197,6 +203,9 @@
name = "Circuit board (Ripley-on-Fire Peripherals Control module)"
icon_state = "mcontroller"
honker
origin_tech = "programming=3;materials=3"
honker/peripherals
name = "Circuit board (H.O.N.K Peripherals Control module)"
icon_state = "mcontroller"
+1
View File
@@ -6,6 +6,7 @@
w_class = 2.0
flags = FPRINT | TABLEPASS | ONBELT
var/flush = null
origin_tech = "programming=4"
attack(mob/living/silicon/ai/M as mob, mob/user as mob)
@@ -37,6 +37,7 @@
throw_speed = 1
throw_range = 5
w_class = 2.0
origin_tech = "syndicate=2;magnets=4"
var/can_use = 1
var/obj/dummy/chameleon/active_dummy = null
var/saved_item = "/obj/item/weapon/shard"
+2 -1
View File
@@ -14,4 +14,5 @@
throw_speed = 3
desc = "You can use this on airlocks or APCs to try to hack them without cutting wires."
m_amt = 50
g_amt = 20
g_amt = 20
origin_tech = "magnets=1"
+1
View File
@@ -12,6 +12,7 @@
throw_range = 2
m_amt = 750
w_amt = 750
origin_tech = "powerstorage=3;syndicate=3"
var/drain_rate = 600000 // amount of power to drain per tick
var/power_drained = 0 // has drained this much power
var/max_power = 1e8 // maximum power that can be drained before exploding
+53 -1
View File
@@ -6,6 +6,7 @@ DETECTIVE SCANNER
HEALTH ANALYZER
GAS ANALYZER
PLANT ANALYZER
MASS SPECTROMETER
*/
@@ -236,4 +237,55 @@ PLANT ANALYZER
user.show_message("\blue Temperature: [round(environment.temperature-T0C)]&deg;C", 1)
src.add_fingerprint(user)
return
return
/obj/item/device/mass_spectrometer/New()
..()
var/datum/reagents/R = new/datum/reagents(5)
reagents = R
R.my_atom = src
/obj/item/device/mass_spectrometer/on_reagent_change()
if(reagents.total_volume)
icon_state = initial(icon_state) + "_s"
else
icon_state = initial(icon_state)
/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
if(reagents.total_volume)
var/list/blood_traces = list()
for(var/datum/reagent/R in reagents.reagent_list)
if(R.id != "blood")
reagents.clear_reagents()
user << "\red The sample was contaminated! Please insert another sample"
return
else
blood_traces = params2list(R.data["trace_chem"])
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
else
if(recent_fail)
crit_fail = 1
reagents.clear_reagents()
return
else
recent_fail = 1
user << "[dat]"
reagents.clear_reagents()
return
+3
View File
@@ -146,6 +146,9 @@
safety = 1
return
/obj/item/weapon/pen/sleepypen
origin_tech = "syndicate=1"
/obj/item/weapon/pen/sleepypen/attack_paw(mob/user as mob)
return src.attack_hand(user)
return
+55 -15
View File
@@ -41,9 +41,10 @@ datum
var/new_reliability = reliability_mod + reliability_base
for(var/datum/tech/T in temp_techs)
if(T.id in req_tech)
new_reliability += (T.level - req_tech[T]) * 5
new_reliability += T.level
new_reliability = between(reliability_base, new_reliability, 100)
return new_reliability
reliability = new_reliability
return
///////////////////Computer Boards///////////////////////////////////
@@ -226,7 +227,7 @@ datum
name = "Module Design (OneHuman)"
desc = "Allows for the construction of a OneHuman AI Module."
id = "onehuman_module"
req_tech = list("programming" = 3, "syndicate" = 2)
req_tech = list("programming" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/aiModule/oneHuman"
@@ -330,6 +331,21 @@ datum
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/weapon/aiModule/tyrant"
///////////////////////////////////
/////Non-Board Computer Stuff//////
///////////////////////////////////
intellicard
name = "Intellicard AI Transportation System"
desc = "Allows for the construction of an intellicard."
id = "intellicard"
req_tech = list("programming" = 4)
build_type = PROTOLATHE
materials = list("$glass" = 1000, "$gold" = 200)
build_path = "/obj/item/device/aicard"
///////////////////////////////////
//////////Mecha Module Disks///////
///////////////////////////////////
@@ -338,7 +354,7 @@ datum
name = "Circuit Design (APLU \"Ripley\" Central Control module)"
desc = "Allows for the construction of a \"Ripley\" Central Control module."
id = "ripley_main"
req_tech = list("programming" = 3, "robotics" = 5)
req_tech = list("programming" = 3, "materials" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/ripley/main"
@@ -347,7 +363,7 @@ datum
name = "Circuit Design (APLU \"Ripley\" Peripherals Control module)"
desc = "Allows for the construction of a \"Ripley\" Peripheral Control module."
id = "ripley_peri"
req_tech = list("programming" = 3, "robotics" = 5)
req_tech = list("programming" = 3, "materials" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/ripley/peripherals"
@@ -356,7 +372,7 @@ datum
name = "Circuit Design (\"Gygax\" Central Control module)"
desc = "Allows for the construction of a \"Gygax\" Central Control module."
id = "gygax_main"
req_tech = list("programming" = 4, "robotics" = 5)
req_tech = list("programming" = 4, "materials" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/gygax/main"
@@ -365,7 +381,7 @@ datum
name = "Circuit Design (\"Gygax\" Peripherals Control module)"
desc = "Allows for the construction of a \"Gygax\" Peripheral Control module."
id = "gygax_peri"
req_tech = list("programming" = 4, "robotics" = 5)
req_tech = list("programming" = 4, "materials" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/gygax/peripherals"
@@ -374,7 +390,7 @@ datum
name = "Circuit Design (\"Gygax\" Weapons & Targeting Control module)"
desc = "Allows for the construction of a \"Gygax\" Weapons & Targeting Control module."
id = "gygax_targ"
req_tech = list("programming" = 4, "robotics" = 5)
req_tech = list("programming" = 4, "materials" = 4)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/gygax/targeting"
@@ -383,7 +399,7 @@ datum
name = "Circuit Design (\"H.O.N.K\" Central Control module)"
desc = "Allows for the construction of a \"H.O.N.K\" Central Control module."
id = "honker_main"
req_tech = list("programming" = 2, "robotics" = 3)
req_tech = list("programming" = 3, "materials" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/honker/main"
@@ -392,7 +408,7 @@ datum
name = "Circuit Design (\"H.O.N.K\" Peripherals Control module)"
desc = "Allows for the construction of a \"H.O.N.K\" Peripheral Control module."
id = "honker_peri"
req_tech = list("programming" = 2, "robotics" = 3)
req_tech = list("programming" = 3, "materials" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/honker/peripherals"
@@ -401,7 +417,7 @@ datum
name = "Circuit Design (\"H.O.N.K\" Weapons & Targeting Control module)"
desc = "Allows for the construction of a \"H.O.N.K\" Weapons & Targeting Control module."
id = "honker_targ"
req_tech = list("programming" = 2, "robotics" = 3)
req_tech = list("programming" = 3, "materials" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/item/mecha_parts/circuitboard/honker/targeting"
@@ -453,7 +469,7 @@ datum
name = "Micro Manipulator"
desc = "A stock part used in the construction of various devices."
id = "micro_mani"
req_tech = list("robotics" = 1)
req_tech = list("materials" = 1, "programming" = 1)
build_type = PROTOLATHE | AUTOLATHE
materials = list("$metal" = 30)
build_path = "/obj/item/weapon/stock_parts/manipulator"
@@ -498,7 +514,7 @@ datum
name = "Nano Manipulator"
desc = "A stock part used in the construction of various devices."
id = "nano_mani"
req_tech = list("robotics" = 3)
req_tech = list("materials" = 3, "programming" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 30)
build_path = "/obj/item/weapon/stock_parts/manipulator/nano"
@@ -584,8 +600,8 @@ datum
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/machinery/r_n_d/circuit_imprinter"
protolathe
name = "Protolathe Board"
autolathe
name = "Atuolathe Board"
desc = "The circuit board for a autolathe."
id = "autolathe"
req_tech = list("materials" = 2)
@@ -593,6 +609,30 @@ datum
materials = list("$glass" = 2000, "acid" = 20)
build_path = "/obj/machinery/autolathe"
/////////////////////////////////////////
////////////Medical Tools////////////////
/////////////////////////////////////////
mass_spectrometer
name = "Mass-Spectrometer"
desc = "A device for analyzing chemicals in the blood."
id = "mass_spectrometer"
req_tech = list("biotech" = 2, "magnets" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 30, "$glass" = 20)
reliability_base = 76
build_path = "/obj/item/device/mass_spectrometer"
adv_mass_spectrometer
name = "Advanced Mass-Spectrometer"
desc = "A device for analyzing chemicals in the blood and their quantities."
id = "adv_mass_spectrometer"
req_tech = list("biotech" = 2, "magnets" = 4)
build_type = PROTOLATHE
materials = list("$metal" = 30, "$glass" = 20)
reliability_base = 74
build_path = "/obj/item/device/mass_spectrometer/adv"
/////////////////////////////////////////
//////////////////Test///////////////////
/////////////////////////////////////////
+212 -2
View File
@@ -13,7 +13,7 @@ A brief overview is below. For more details, see the related files.
The major research and development is performed using a combination of four machines:
- R&D Console: A computer console that allows you to manipulate the other devices that are linked to it and view/manipulate the
technologies you have researched so far.
- Protolathe: Used to make new hand-held devices and parts for larger devices. Uses metal and glass as raw materials.
- Protolathe: Used to make new hand-held devices and parts for larger devices. All metals and reagents as raw materials.
- Destructive Analyzer: You can put hand-held objects into it and it'll analyze them for technological advancements but it destroys
them in the process. Destroyed items will send their raw materials to a linked Protolathe (if any)
- Circuit Imprinter: Similar to the Protolathe, it allows for the construction of circuit boards. Uses glass and acid as the raw
@@ -24,6 +24,216 @@ are the "Tech Trees" of the game. You start out with a number of them at the gam
Destructive Analyzer. By themselves, they don't do a whole lot. However, they unlock Device Designs. This is the information used
by the circuit imprinter and the protolathe to produce objects. It also tracks the current reliability of that particular design.
MORE STUFF HERE LATER.
//EXISTING TECH
Each tech path should have at LEAST one item at every level (levels 1 - 20). This is to allow for a more fluid progression of the
researching. Existing tech (ie, anything you can find on the station or get from the quartermaster) shouldn't go higher then
level 5 or 7. Everything past that should be stuff you research.
Below is a checklist to make sure every tree is filled. As new items get added to R&D, add them here if there is an empty slot.
When thinking about new stuff, check here to see if there are any slots unfilled.
//MATERIALS
1 | Metal
2 | Solid Plasma
3 | Silver
4 | Gold
5 | Uranium
6 | Diamond
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//PLASMA TECH
1 |
2 | Solid Plasma
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//POWER TECH
1 | Basic Capacitor, Basic Cell
2 | High-Capacity Cell (10,000)
3 | Super-Capacity Cell (20,000), Powersink
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//BLUE SPACE
1 |
2 | Teleporter Console Board
3 | Teleport Gun, Hand Tele
4 | Teleportation Scroll
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//BIOTECH
1 | Bruise Pack, Scalple
2 | PANDEMIC Board, Mass Spectrometer
3 | AI Core, Brains
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//MAGNETS
1 | Basic Sensor
2 | Comm Console Board
3 | Adv Sensor
4 | Adv Mass Spectrometer, Chameleon Projector
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//PROGRAMMING
1 | Arcade Board
2 | Sec Camera
3 | Cloning Machine Console Board
4 | AI Core, Intellicard
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//SYNDICATE
1 | Sleepypen
2 | TYRANT Module, Emag
3 | Cloaking Device, Powre Sink
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
//COMBAT
1 | Flashbang, Mousetrap, Nettle
2 | Stun Baton
3 | Power Axe, Death Nettle
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
*/
+10 -8
View File
@@ -224,8 +224,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_destroy.busy)
usr << "\red The destructive analyzer is busy at the moment."
else
linked_destroy.loaded_item:loc = linked_destroy.loc
else if(linked_destroy.loaded_item)
linked_destroy.loaded_item.loc = linked_destroy.loc
linked_destroy.loaded_item = null
linked_destroy.icon_state = "d_analyzer"
screen = 2.1
@@ -243,15 +243,15 @@ won't update every console in existence) but it's more of a hassle to do. Also,
spawn(24)
linked_destroy.busy = 0
if(!linked_destroy.hacked)
if(linked_destroy.reliability < 90)
files.UpdateDesign(linked_destroy.loaded_item.type)
else
if(linked_destroy.loaded_item.reliability >= 90)
var/list/temp_tech = linked_destroy.ConvertReqString2List(linked_destroy.loaded_item.origin_tech)
for(var/T in temp_tech)
files.UpdateTech(T, temp_tech[T])
if(linked_lathe) //Also sends salvaged materials to a linked autolateh, if any.
linked_lathe.m_amount = min(linked_lathe.max_material_storage, ((linked_lathe.TotalMaterials() + linked_destroy.loaded_item.m_amt)*linked_destroy.decon_mod))
linked_lathe.g_amount = min(linked_lathe.max_material_storage, ((linked_lathe.TotalMaterials() + linked_destroy.loaded_item.g_amt)*linked_destroy.decon_mod))
if(linked_destroy.loaded_item.reliability < 100)
files.UpdateDesign(linked_destroy.loaded_item.type)
if(linked_lathe) //Also sends salvaged materials to a linked autolathe, if any.
linked_lathe.m_amount = min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.m_amt*linked_destroy.decon_mod))
linked_lathe.g_amount = min((linked_lathe.max_material_storage - linked_lathe.TotalMaterials()), (linked_destroy.loaded_item.g_amt*linked_destroy.decon_mod))
linked_destroy.loaded_item = null
for(var/I in contents)
del(I)
@@ -427,6 +427,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
screen = 2.0
else if(linked_destroy.loaded_item == null)
screen = 2.1
else
screen = 2.2
if(3 to 3.9)
if(linked_lathe == null)
screen = 3.0
+6 -6
View File
@@ -139,7 +139,7 @@ research holder datum.
UpdateDesign(var/path)
for(var/datum/design/KD in known_designs)
if(KD.build_path == path)
KD.reliability_mod++
KD.reliability_mod += rand(1,2)
break
return
@@ -174,8 +174,8 @@ datum
id = "plasmatech"
powerstorage
name = "Power Storage Technology"
desc = "The various technologies behind the storage of electicity."
name = "Power Manipulation Technology"
desc = "The various technologies behind the storage and generation of electicity."
id = "powerstorage"
bluespace
@@ -195,7 +195,7 @@ datum
programming
name = "Data Theory Research"
desc = "The development of new computer and artificial intelligence and datat storage systems."
desc = "The development of new computer and artificial intelligence and data storage systems."
id = "programming"
syndicate
@@ -213,7 +213,7 @@ datum
name = "Explosives Research"
desc = "The creation and application of explosive materials."
id = "explosives"
req_tech = list("materials" = 3) */
req_tech = list("materials" = 3)
generators
name = "Power Generation Technology"
@@ -225,7 +225,7 @@ datum
name = "Robotics Technology"
desc = "The development of advanced automated, autonomous machines."
id = "robotics"
req_tech = list("materials" = 3, "programming" = 3)
req_tech = list("materials" = 3, "programming" = 3)*/
/obj/item/weapon/disk/tech_disk
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

+5418 -5420
View File
File diff suppressed because it is too large Load Diff