Merge pull request #746 from jack-fractal/write-research-debug

R&D Research Levels Unification
This commit is contained in:
ZomgPonies
2015-04-06 23:28:27 -04:00
44 changed files with 152 additions and 74 deletions
+44
View File
@@ -60,6 +60,7 @@ var/list/admin_verbs_admin = list(
/client/proc/toggledrones,
/client/proc/man_up,
/client/proc/global_man_up,
/client/proc/write_RD_json,
/client/proc/delbook,
/client/proc/empty_ai_core_toggle_latejoin,
/client/proc/freeze,
@@ -686,3 +687,46 @@ var/list/admin_verbs_mentor = list(
log_admin("[key_name(usr)] told everyone to man up and deal with it.")
message_admins("\blue [key_name_admin(usr)] told everyone to man up and deal with it.", 1)
/client/proc/object_classes_to_origin_tech()
usr << "Creating origin classes..."
var/list/result = list()
for (var/C in (typesof(/obj)-/obj))
usr << "Processing... [C]"
if (initial(C:origin_tech))
var/list/origin_tech = params2list(initial(C:origin_tech))
for (var/t in origin_tech)
origin_tech[t]=text2num(origin_tech[t])
result[C]=list("tech"=origin_tech,"name"=initial(C:name))
return result
/client/proc/list_of_build_machines(var/C)
var/build_type=initial(C:build_type)
var/list/result=list()
result["IMPRINTER"]=(build_type & IMPRINTER) ? 1 : 0
result["PROTOLATHE"]=(build_type & PROTOLATHE) ? 1 : 0
result["AUTOLATHE"]=(build_type & AUTOLATHE) ? 1 : 0
result["CRAFTLATHE"]=(build_type & CRAFTLATHE) ? 1 : 0
result["MECHFAB"]=(build_type & MECHFAB) ? 1 : 0
result["PODFAB"]=(build_type & PODFAB) ? 1 : 0
return result
/client/proc/design_classes_to_materials_and_origin()
usr << "Creating designs..."
var/list/result=list()
for (var/C in (typesof(/datum/design)-/datum/design))
var/datum/design/instance = new C()
usr << "Processing... [C]"
result[C]=list("materials"=instance.materials,"requires"=instance.req_tech,"lockbox"=instance.locked,"builds"=instance.build_path,"machines"=list_of_build_machines(C))
instance.Del()
return result
/client/proc/write_RD_json()
set category = "Debug"
set name = "Write RD Json"
set desc = "Writes a json file describing the R&D components."
text2file(list2json(list("objects"=object_classes_to_origin_tech(),"designs"=design_classes_to_materials_and_origin())),"data/origin_data.txt")
+3 -2
View File
@@ -15,7 +15,7 @@
desc = "Used for seeing walls, floors, and stuff through anything."
icon_state = "meson"
item_state = "glasses"
origin_tech = "magnets=2;engineering=2"
origin_tech = "materials=3;magnets=3;engineering=3"
vision_flags = SEE_TURFS
species_fit = list("Vox")
sprite_sheets = list(
@@ -29,6 +29,7 @@
item_state = "glasses"
darkness_view = 8
see_darkness = 0
origin_tech="materials=5;magnets=5;engineering=4"
/obj/item/clothing/glasses/meson/prescription
name = "prescription mesons"
@@ -63,7 +64,7 @@
desc = "You can totally see in the dark now!"
icon_state = "night"
item_state = "glasses"
origin_tech = "magnets=2"
origin_tech = "magnets=4"
darkness_view = 8
see_darkness = 0
species_fit = list("Vox")
+3
View File
@@ -27,6 +27,7 @@
item_state = "glasses"
darkness_view = 8
see_darkness = 0
origin_tech="biotech=4;magnets=5"
/obj/item/clothing/glasses/hud/health/process_hud(var/mob/M)
process_med_hud(M,1)
@@ -39,6 +40,7 @@
name = "Security HUD"
desc = "A heads-up display that scans the humans in view and provides accurate data about their ID status and security records."
icon_state = "securityhud"
origin_tech = "magnets=3;combat=2"
var/global/list/jobs[0]
/obj/item/clothing/glasses/hud/security/jensenshades
@@ -55,6 +57,7 @@
icon_state = "securityhudnight"
darkness_view = 8
see_darkness = 0
origin_tech = "magnets=5;combat=4;"
/obj/item/clothing/glasses/hud/security/process_hud(var/mob/M)
+1
View File
@@ -8,6 +8,7 @@
action_button_name = "Toggle Magboots"
icon_action_button = "action_magboots"
species_restricted = null
origin_tech="materials=4;magnets=4;engineering=5"
/obj/item/clothing/shoes/magboots/attack_self(mob/user)
if(src.magpulse)
+2
View File
@@ -8,6 +8,8 @@
desc = "A prototype modular receiver and trigger assembly for a firearm."
icon = 'icons/obj/improvised.dmi'
icon_state = "receiver"
origin_tech="combat=5;materials=4"
/obj/item/weaponcrafting/stock
name = "rifle stock"
+1 -1
View File
@@ -137,7 +137,7 @@
icon_state = "diamonddrill"
item_state = "jackhammer"
digspeed = 5 //Digs through walls, girders, and can dig up sand
origin_tech = "materials=6;powerstorage=4;engineering=5"
origin_tech = "materials=6;powerstorage=4;engineering=4"
hitsound = 'sound/weapons/drill.ogg'
digsound = list('sound/weapons/drill.ogg')
desc = "Yours is the drill that will pierce the heavens!"
+2 -2
View File
@@ -6,7 +6,7 @@
icon = 'icons/obj/assemblies.dmi'
icon_state = "mmi_empty"
w_class = 3
origin_tech = "biotech=3"
origin_tech = "programming=2;biotech=3"
var/list/construction_cost = list("metal"=1000,"glass"=500)
var/construction_time = 75
@@ -114,7 +114,7 @@
/obj/item/device/mmi/radio_enabled
name = "Radio-enabled Man-Machine Interface"
desc = "The Warrior's bland acronym, MMI, obscures the true horror of this monstrosity. This one comes with a built-in radio."
origin_tech = "biotech=4"
origin_tech = "programming=2;biotech=4"
var/obj/item/device/radio/radio = null//Let's give it a radio.
@@ -179,7 +179,7 @@
w_class = 2.0
throw_speed = 5
throw_range = 10
origin_tech = "magnets=1;biotech=1"
origin_tech = "programming=2;magnets=2;biotech=2"
var/mode = 1;
/obj/item/device/robotanalyzer/attack(mob/living/M as mob, mob/living/user as mob)
@@ -87,6 +87,7 @@
icon_state = "stunshell"
projectile_type = "/obj/item/projectile/bullet/stunshot"
m_amt = 200
origin_tech="combat=3;materials=3"
/obj/item/ammo_casing/shotgun/meteorshot
@@ -143,6 +144,7 @@
desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects."
icon_state = "cshell"
projectile_type = null
origin_tech="combat=3;materials=3;powerstorage=4;magnets=3"
/obj/item/ammo_casing/shotgun/dart
name = "shotgun dart"
@@ -122,6 +122,7 @@
ammo_type = "/obj/item/ammo_casing/c9mm"
caliber = "9mm"
max_ammo = 20
origin_tech = "combat=4;materials=3"
/obj/item/ammo_box/magazine/smgm9mm/update_icon()
..()
@@ -105,7 +105,7 @@ obj/item/weapon/gun/energy/laser/retro
desc = "A high-power laser gun capable of expelling concentrated xray blasts."
icon_state = "xray"
fire_sound = 'sound/weapons/laser3.ogg'
origin_tech = "combat=5;materials=3;magnets=2;syndicate=2"
origin_tech = "combat=6;materials=5;biotech=5;powerstorage=4"
projectile_type = "/obj/item/projectile/beam/xray"
charge_cost = 500
@@ -42,7 +42,7 @@
name = "Advanced Energy Gun"
desc = "An energy gun with an experimental miniaturized reactor."
icon_state = "nucgun"
origin_tech = "combat=3;materials=5;powerstorage=3"
origin_tech = "combat=4;materials=5;powerstorage=3"
var/lightfail = 0
var/charge_tick = 0
can_flashlight = 0
@@ -19,7 +19,7 @@
desc = "The MK.II Prototype Ion Projector is a lightweight carbine version of the larger ion rifle, built to be ergonomic and efficient."
icon_state = "ioncarbine"
item_state = "ioncarbine"
origin_tech = "combat=4;magnets=4;materials=4"
origin_tech = "combat=5;magnets=4;materials=4"
w_class = 3
slot_flags = SLOT_BELT
@@ -28,7 +28,7 @@
desc = "A gun that discharges high amounts of controlled radiation to slowly break a target into component elements."
icon_state = "decloner"
fire_sound = 'sound/weapons/pulse3.ogg'
origin_tech = "combat=5;materials=4;powerstorage=3"
origin_tech = "combat=6;materials=7;biotech=5;powerstorage=6"
projectile_type = "/obj/item/projectile/energy/declone"
@@ -278,7 +278,7 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
icon_state = "crossbowlarge"
w_class = 3
m_amt = 4000
origin_tech = "combat=2;magnets=2;syndicate=3" //can be further researched for more syndie tech
origin_tech = "combat=5;materials=5;engineering=3;biotech=4;syndicate=3" //can be further researched for more syndie tech
silenced = 0
projectile_type = "/obj/item/projectile/energy/bolt/large"
@@ -54,6 +54,7 @@
projectile_type = "/obj/item/projectile/energy/electrode"
cell_type = "/obj/item/weapon/stock_parts/cell"
fire_delay = 15
origin_tech="combat=3;materials=3;powerstorage=2"
+2 -1
View File
@@ -146,4 +146,5 @@
icon_state = "suppressor"
w_class = 2
var/oldsound = null
var/initial_w_class = null
var/initial_w_class = null
origin_tech="combat=6;engineering=5;syndicate=3"
@@ -3,7 +3,7 @@
desc = "A lightweight, prototype 9mm submachine gun, designated 'SABR'. Has a threaded barrel for suppressors."
icon_state = "saber"
w_class = 3.0
origin_tech = "combat=4;materials=2"
origin_tech = "combat=4;materials=3"
automatic = 1
mag_type = "/obj/item/ammo_box/magazine/smgm9mm"
var/alarmed = 0
@@ -247,6 +247,8 @@
// /vg/: Logging transfers of bad things
if(target.reagents_to_log.len)
var/list/badshit=list()
for(var/bad_reagent in target.reagents_to_log)
@@ -257,6 +259,8 @@
if(badshit.len)
var/hl="\red <b>([english_list(badshit)])</b> \black"
message_admins("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].[hl] (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
log_game("[user.name] ([user.ckey]) added [reagents.get_reagent_ids(1)] to \a [target] with [src].")
+2 -1
View File
@@ -64,4 +64,5 @@
name = "rapid syringe gun"
desc = "A modification of the syringe gun design, using a rotating cylinder to store up to six syringes."
icon_state = "rapidsyringegun"
max_syringes = 6
max_syringes = 6
origin_tech="combat=3;materials=3;engineering=3;biotech=2"
@@ -5,7 +5,7 @@
name = "Artificial Bluespace Crystal"
desc = "A small blue crystal with mystical properties."
id = "bluespace_crystal"
req_tech = list("bluespace" = 4, "materials" = 6)
req_tech = list("bluespace" = 2)
build_type = PROTOLATHE
materials = list("$diamond" = 1500, "$plasma" = 1500)
reliability_base = 100
@@ -15,7 +15,7 @@
name = "Holographic Sign Projector"
desc = "A holograpic projector used to project various warning signs."
id = "holosign"
req_tech = list("magnets" = 3, "powerstorage" = 2)
req_tech = list("programming"=3, "magnets" = 3, "powerstorage" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 2000, "$glass" = 1000)
build_path = /obj/item/weapon/holosign_creator
@@ -296,7 +296,7 @@
name = "Machine Board (Programmable Unloader)"
desc = "The circuit board for a Programmable Unloader."
id = "selunload"
req_tech = list("programming" = 5)
req_tech = list("engineering"=3, "programming" = 6)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20)
build_path = /obj/item/weapon/circuitboard/programmable
@@ -59,7 +59,7 @@
name = "Defibrillator"
desc = "A device that delivers powerful shocks to detachable paddles that resuscitate incapacitated patients."
id = "defib"
req_tech = list("materials" = 7, "biotech" = 5, "powerstorage" = 5)
req_tech = list("biotech" = 4)
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 2000, "$silver" = 1000)
reliability = 76
@@ -105,7 +105,7 @@
name = "Positronic Brain"
desc = "Allows for the construction of a positronic brain"
id = "posibrain"
req_tech = list("engineering" = 4, "materials" = 6, "bluespace" = 2, "programming" = 4)
req_tech = list("engineering" = 4, "materials" = 4, "bluespace" = 2, "programming" = 4)
build_type = PROTOLATHE
materials = list("$metal" = 2000, "$glass" = 1000, "$silver" = 1000, "$gold" = 500, "$plasma" = 500, "$diamond" = 100)
build_path = /obj/item/device/mmi/posibrain
@@ -11,12 +11,12 @@
reliability_base = 79
build_path = /obj/item/weapon/pickaxe/diamonddrill
category = list("Mining")
/datum/design/pick_diamond
name = "Diamond Pickaxe"
desc = "A pickaxe with a diamond pick head, this is just like minecraft."
id = "pick_diamond"
req_tech = list("materials" = 6)
req_tech = list("materials" = 6, "engineering" = 4)
build_type = PROTOLATHE
materials = list("$diamond" = 3000)
build_path = /obj/item/weapon/pickaxe/diamond
@@ -30,8 +30,8 @@
build_type = PROTOLATHE
materials = list("$metal" = 6000, "$glass" = 1000)
build_path = /obj/item/weapon/pickaxe/drill
category = list("Mining")
category = list("Mining")
/datum/design/plasmacutter
name = "Plasma Cutter"
desc = "You could use it to cut limbs off of xenos! Or, you know, mine stuff."
@@ -42,7 +42,7 @@
reliability_base = 79
build_path = /obj/item/weapon/pickaxe/plasmacutter
category = list("Mining")
/datum/design/jackhammer
name = "Sonic Jackhammer"
desc = "Cracks rocks with sonic blasts, perfect for killing cave lizards."
@@ -40,7 +40,7 @@
name = "Super-Capacity Power Cell"
desc = "A power cell that holds 20000 units of energy"
id = "super_cell"
req_tech = list("powerstorage" = 3, "materials" = 2)
req_tech = list("powerstorage" = 5, "materials" = 2)
reliability_base = 75
build_type = PROTOLATHE | MECHFAB | PODFAB
materials = list("$metal" = 700, "$glass" = 70)
+2
View File
@@ -274,6 +274,7 @@ datum/tech/robotics
m_amt = 30
g_amt = 10
var/datum/tech/stored
origin_tech="programming=1"
/obj/item/weapon/disk/tech_disk/New()
src.pixel_x = rand(-5.0, 5)
@@ -289,6 +290,7 @@ datum/tech/robotics
m_amt = 30
g_amt = 10
var/datum/design/blueprint
origin_tech = "programming=1"
/obj/item/weapon/disk/design_disk/New()
src.pixel_x = rand(-5.0, 5)
@@ -20,7 +20,7 @@ datum/design/shield_gen_ex
name = "Circuit Design (Experimental hull shield generator)"
desc = "Allows for the construction of circuit boards used to build an experimental hull shield generator."
id = "shield_gen"
req_tech = list("bluespace" = 4, "plasmatech" = 3)
req_tech = list("powerstorage" = 4, "magnets" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 10000, "$diamond" = 5000, "$gold" = 10000)
build_path = "/obj/machinery/shield_gen/external"
@@ -46,7 +46,7 @@ datum/design/shield_gen
name = "Circuit Design (Experimental shield generator)"
desc = "Allows for the construction of circuit boards used to build an experimental shield generator."
id = "shield_gen"
req_tech = list("bluespace" = 4, "plasmatech" = 3)
req_tech = list("powerstorage" = 4, "magnets" = 3)
build_type = IMPRINTER
materials = list("$glass" = 2000, "sacid" = 20, "$plasma" = 10000, "$diamond" = 5000, "$gold" = 10000)
build_path = "/obj/machinery/shield_gen/external"
+1
View File
@@ -31,6 +31,7 @@
//2 use active power
idle_power_usage = 20
active_power_usage = 100
origin_tech="bluespace=4;plasmatech=3"
/obj/machinery/shield_gen/New()
spawn(10)
@@ -2,9 +2,14 @@
//---------- external shield generator
//generates an energy field that loops around any built up area in space (is useless inside) halts movement and airflow, is blocked by walls, windows, airlocks etc
/obj/machinery/shield_gen/external
origin_tech="magnets=3;powerstorage=4"
/obj/machinery/shield_gen/external/New()
..()
/obj/machinery/shield_gen/external/get_shielded_turfs()
var
list
+1 -1
View File
@@ -6,7 +6,7 @@ var/list/GPS_list = list()
icon_state = "gps-c"
w_class = 2.0
slot_flags = SLOT_BELT
origin_tech = "programming=2;engineering=2"
origin_tech = "materials=2;magnets=3;bluespace=3"
var/gpstag = "COM0"
var/emped = 0
var/turf/locked_location