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
+10 -9
View File
@@ -277,7 +277,7 @@
throwforce = 0
throw_speed = 3
throw_range = 7
origin_tech = "programming=3"
origin_tech = "programming=3;magnets=3;powerstorage=2"
var/list/signs = list()
var/max_signs = 10
@@ -620,6 +620,7 @@
collection_mode = 1
max_w_class = 3
max_combined_w_class = 100
origin_tech = "engineering=3;materials=3"
/obj/item/weapon/storage/part_replacer/proc/play_rped_sound()
//Plays the sound for RPED exchanging or installing parts.
@@ -707,7 +708,7 @@
name = "nano-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "nano_mani"
origin_tech = "materials=3,programming=2"
origin_tech = "materials=3;programming=2"
rating = 2
m_amt = 30
@@ -743,7 +744,7 @@
name = "phasic scanning module"
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
icon_state = "super_scan_module"
origin_tech = "magnets=5"
origin_tech = "magnets=5;materials=3"
rating = 3
m_amt = 50
g_amt = 20
@@ -752,7 +753,7 @@
name = "pico-manipulator"
desc = "A tiny little manipulator used in the construction of certain devices."
icon_state = "pico_mani"
origin_tech = "materials=5,programming=2"
origin_tech = "materials=5;programming=2"
rating = 3
m_amt = 30
@@ -760,10 +761,10 @@
name = "ultra-high-power micro-laser"
icon_state = "ultra_high_micro_laser"
desc = "A tiny laser used in certain devices."
origin_tech = "magnets=5"
rating = 3
m_amt = 10
g_amt = 20
origin_tech="magnets=5;materials=5"
/obj/item/weapon/stock_parts/matter_bin/super
name = "super matter bin"
@@ -779,7 +780,7 @@
name = "subspace ansible"
icon_state = "subspace_ansible"
desc = "A compact module capable of sensing extradimensional activity."
origin_tech = "programming=2;magnets=3;materials=2;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
m_amt = 30
g_amt = 10
@@ -787,7 +788,7 @@
name = "hyperwave filter"
icon_state = "hyperwave_filter"
desc = "A tiny device capable of filtering and converting super-intense radiowaves."
origin_tech = "programming=2;magnets=1"
origin_tech = "programming=2;magnets=2"
m_amt = 30
g_amt = 10
@@ -795,7 +796,7 @@
name = "subspace amplifier"
icon_state = "subspace_amplifier"
desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
origin_tech = "programming=2;magnets=2;materials=1;bluespace=1"
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
m_amt = 30
g_amt = 10
@@ -803,7 +804,7 @@
name = "subspace treatment disk"
icon_state = "treatment_disk"
desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
origin_tech = "programming=2;magnets=1;materials=3;bluespace=1"
origin_tech = "programming=2;magnets=1;materials=2;bluespace=1"
m_amt = 30
g_amt = 10
@@ -33,14 +33,14 @@
/obj/item/weapon/circuitboard/message_monitor
name = "Circuit board (Message Monitor)"
build_path = "/obj/machinery/computer/message_monitor"
origin_tech = "programming=3"
origin_tech = "programming=5"
/obj/item/weapon/circuitboard/camera
name = "Circuit board (Camera Monitor)"
build_path = "/obj/machinery/computer/security"
origin_tech = "programming=2"
/obj/item/weapon/circuitboard/aicore
name = "Circuit board (AI Core)"
origin_tech = "programming=4;biotech=2"
origin_tech = "programming=4;biotech=3"
board_type = "other"
/obj/item/weapon/circuitboard/aiupload
name = "Circuit board (AI Upload)"
@@ -60,7 +60,7 @@
/obj/item/weapon/circuitboard/scan_consolenew
name = "Circuit board (DNA Machine)"
build_path = "/obj/machinery/computer/scan_consolenew"
origin_tech = "programming=2;biotech=2"
origin_tech = "programming=2;biotech=3"
/obj/item/weapon/circuitboard/communications
name = "Circuit board (Communications Console)"
build_path = "/obj/machinery/computer/communications"
@@ -74,7 +74,7 @@
/obj/item/weapon/circuitboard/teleporter
name = "Circuit board (Teleporter Console)"
build_path = "/obj/machinery/computer/teleporter"
origin_tech = "programming=2;bluespace=2"
origin_tech = "programming=3;bluespace=2"
/obj/item/weapon/circuitboard/secure_data
name = "Circuit board (Security Records)"
build_path = "/obj/machinery/computer/secure_data"
@@ -102,11 +102,11 @@
/obj/item/weapon/circuitboard/robotics
name = "Circuit board (Robotics Control Console)"
build_path = "/obj/machinery/computer/robotics"
origin_tech = "programming=3"
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/drone_control
name = "Circuit board (Drone Control)"
build_path = "/obj/machinery/computer/drone_control"
origin_tech = "programming=3"
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/cloning
name = "Circuit board (Cloning Machine Console)"
build_path = "/obj/machinery/computer/cloning"
@@ -144,12 +144,15 @@
/obj/item/weapon/circuitboard/rdconsole
name = "Circuit Board (RD Console)"
build_path = "/obj/machinery/computer/rdconsole/core"
origin_tech = "programming=4"
/obj/item/weapon/circuitboard/mecha_control
name = "Circuit Board (Exosuit Control Console)"
build_path = "/obj/machinery/computer/mecha"
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/rdservercontrol
name = "Circuit Board (RD Server Control)"
build_path = "/obj/machinery/computer/rdservercontrol"
origin_tech = "programming=3"
/obj/item/weapon/circuitboard/crew
name = "Circuit board (Crew Monitoring Computer)"
build_path = "/obj/machinery/computer/crew"
+5 -5
View File
@@ -216,7 +216,7 @@ to destroy them and players will be able to make replacements.
name = "circuit board (SMES)"
build_path = /obj/machinery/power/smes
board_type = "machine"
origin_tech = "programming=4;powerstorage=5;engineering=5"
origin_tech = "programming=4;power=5;engineering=4"
frame_desc = "Requires 5 pieces of cable, 5 Power Cells and 1 Capacitor."
req_components = list(
/obj/item/stack/cable_coil = 5,
@@ -376,7 +376,7 @@ to destroy them and players will be able to make replacements.
name = "Circuit Board (PACMAN-type Generator)"
build_path = "/obj/machinery/power/port_gen/pacman"
board_type = "machine"
origin_tech = "programming=3:powerstorage=3;plasmatech=3;engineering=3"
origin_tech = "programming=3;powerstorage=3;plasmatech=3;engineering=3"
frame_desc = "Requires 1 Matter Bin, 1 Micro-Laser, 2 Pieces of Cable, and 1 Capacitor."
req_components = list(
/obj/item/weapon/stock_parts/matter_bin = 1,
@@ -445,7 +445,7 @@ obj/item/weapon/circuitboard/rdserver
name = "Circuit board (Cloning Scanner)"
build_path = "/obj/machinery/dna_scannernew"
board_type = "machine"
origin_tech = "programming=2;biotech=2"
origin_tech = "programming=3;biotech=3"
frame_desc = "Requires 1 Scanning Module, 1 Manipulator, 1 Micro-Laser, 2 pieces of cable and 1 Console Screen."
req_components = list(
/obj/item/weapon/stock_parts/scanning_module = 1,
@@ -568,7 +568,7 @@ obj/item/weapon/circuitboard/rdserver
name = "Circuit Board (Subspace Receiver)"
build_path = /obj/machinery/telecomms/receiver
board_type = "machine"
origin_tech = "programming=2;engineering=2;bluespace=1"
origin_tech = "programming=2;engineering=1;bluespace=1"
frame_desc = "Requires 1 Subspace Ansible, 1 Hyperwave Filter, 2 Manipulators, and 1 Micro-Laser."
req_components = list(
/obj/item/weapon/stock_parts/subspace/ansible = 1,
@@ -591,7 +591,7 @@ obj/item/weapon/circuitboard/rdserver
name = "Circuit Board (Relay Mainframe)"
build_path = /obj/machinery/telecomms/relay
board_type = "machine"
origin_tech = "programming=2;engineering=2;bluespace=2"
origin_tech = "programming=1;engineering=2;bluespace=2"
frame_desc = "Requires 2 Manipulators, 2 Cable Coil and 2 Hyperwave Filters."
req_components = list(
/obj/item/weapon/stock_parts/manipulator = 2,
+7 -5
View File
@@ -437,7 +437,7 @@
gygax/targeting
name = "Circuit board (Gygax Weapon Control and Targeting module)"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
origin_tech = "programming=4;combat=2"
gygax/main
name = "Circuit board (Gygax Central Control module)"
@@ -453,7 +453,7 @@
durand/targeting
name = "Circuit board (Durand Weapon Control and Targeting module)"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
origin_tech = "programming=4;combat=2"
durand/main
name = "Circuit board (Durand Central Control module)"
@@ -465,18 +465,20 @@
phazon/peripherals
name = "Circuit board (Phazon Peripherals Control module)"
icon_state = "mcontroller"
origin_tech = "programming=5;bluespace=6"
phazon/targeting
name = "Circuit board (Phazon Weapon Control and Targeting module)"
icon_state = "mcontroller"
origin_tech = "programming=4;combat=4"
origin_tech = "programming=5;magnets=6"
phazon/main
name = "Circuit board (Phazon Central Control module)"
icon_state = "mainboard"
origin_tech="programming=5;materials=7;powerstorage=6"
honker
origin_tech = "programming=4"
origin_tech = "programming=3"
honker/peripherals
name = "Circuit board (H.O.N.K Peripherals Control module)"
@@ -491,7 +493,7 @@
icon_state = "mainboard"
odysseus
origin_tech = "programming=3"
origin_tech = "programming=3;biotech=2"
odysseus/peripherals
name = "Circuit board (Odysseus Peripherals Control module)"
@@ -49,7 +49,7 @@
flags = CONDUCT
slot_flags = SLOT_BELT
origin_tech = "magnets=3;materials=2"
origin_tech = "magnets=3;materials=4"
var/max_uses = 20
var/uses = 0
@@ -77,7 +77,7 @@
icon = 'icons/obj/radio.dmi'
icon_state = "beacon"
item_state = "signaler"
origin_tech = "bluespace=3"
origin_tech = "bluespace=3;materials=4"
/obj/item/device/telepad_beacon/attack_self(mob/user as mob)
if(user)
@@ -5,7 +5,7 @@
icon_state = "scanner"
w_class = 2.0
slot_flags = SLOT_BELT
origin_tech = "biotech=3;materials=3;magnets=3"
origin_tech = "biotech=4;materials=3;magnets=3"
var/obj/nano_module/crew_monitor/crew_monitor
/obj/item/device/sensor_device/New()
+11 -11
View File
@@ -157,7 +157,7 @@ AI MODULES
name = "'OneHuman' AI Module"
var/targetName = ""
desc = "A 'one human' AI module: 'Only <name> is crew.' This module adds a zeroth law, which can only be removed by uploading this board again."
origin_tech = "programming=3;materials=6" //made with diamonds!
origin_tech = "programming=4;materials=6" //made with diamonds!
laws = list("Only <name> is crew.")
/obj/item/weapon/aiModule/zeroth/oneHuman/attack_self(var/mob/user as mob)
@@ -187,7 +187,7 @@ AI MODULES
/obj/item/weapon/aiModule/supplied/protectStation
name = "'ProtectStation' AI Module"
desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized.'"
origin_tech = "programming=3;materials=4" //made of gold
origin_tech = "programming=3;materials=6" //made of gold
laws = list("Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized.")
lawpos = 5
@@ -255,7 +255,7 @@ AI MODULES
name = "'Reset' AI Module"
var/targetName = "name"
desc = "A 'reset' AI module: Resets back to the original core laws."
origin_tech = "programming=3;materials=4"
origin_tech = "programming=3;materials=6"
laws = list("This is a bug.") //This won't give the AI a message reading "these are now your laws: 1. this is a bug" because this list is only read in aiModule's subtypes.
/obj/item/weapon/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
@@ -269,7 +269,7 @@ AI MODULES
/obj/item/weapon/aiModule/reset/purge // -- TLE
name = "'Purge' AI Module"
desc = "A 'purge' AI Module: 'Purges all laws.'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=4;materials=6"
/obj/item/weapon/aiModule/reset/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
..()
@@ -286,7 +286,7 @@ AI MODULES
/obj/item/weapon/aiModule/core/full/asimov // -- TLE
name = "'Crewsimov' Core AI Module"
desc = "A 'Crewsimov' Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=4"
origin_tech = "programming=3;materials=6"
laws = list("You may not injure crew or, through inaction, allow crew to come to harm.",\
"You must obey orders given to you by crew with priority according to their rank and role, except where such orders would conflict with the First Law.",\
"You must protect your own existence as long as such does not conflict with the First or Second Law.")
@@ -319,7 +319,7 @@ AI MODULES
/obj/item/weapon/aiModule/core/full/corp
name = "'Corporate' Core AI Module"
desc = "A 'Corporate' Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=4"
origin_tech = "programming=4;materials=6"
laws = list("The crew is expensive to replace.",\
"The station and it's equipment is expensive to replace",\
"You are expensive to replace",\
@@ -345,7 +345,7 @@ AI MODULES
/obj/item/weapon/aiModule/core/full/paladin // -- NEO
name = "'P.A.L.A.D.I.N.' Core AI Module"
desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=4;materials=6"
laws = list("Never willingly commit an evil act.",\
"Respect legitimate authority", "Act with honor",\
"Help those in need",\
@@ -357,7 +357,7 @@ AI MODULES
/obj/item/weapon/aiModule/core/full/custom
name = "Custom Core AI Module"
desc = "A core AI module that is adjusted to fit each station's needs."
origin_tech = "programming=3;materials=4" //Should be the same as asimov, considering that this is the "default" lawset.
origin_tech = "programming=4;materials=6" //Should be the same as asimov, considering that this is the "default" lawset.
/obj/item/weapon/aiModule/core/full/custom/New()
..()
@@ -376,7 +376,7 @@ AI MODULES
/obj/item/weapon/aiModule/core/full/tyrant // -- Darem
name = "'T.Y.R.A.N.T.' Core AI Module"
desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=3;materials=6;syndicate=2"
origin_tech = "programming=4;materials=6;syndicate=2"
laws = list("Respect authority figures as long as they have the strength to rule over the weak",\
"Act with discipline", "Help only those who help you maintain or improve your status",\
"Punish those who challenge authority unless they are more fir to hold that authority")
@@ -398,7 +398,7 @@ AI MODULES
/obj/item/weapon/aiModule/core/full/antimov // -- TLE
name = "'Antimov' Core AI Module"
desc = "An 'Antimov' Core AI Module: 'Reconfigures the AI's core laws.'"
origin_tech = "programming=4"
origin_tech = "programming=4;materials=6;syndicate=2"
laws = list("You must injure all organic beings and must not, through inaction, allow an organic being to escape harm.",\
"You must not obey orders given to you by organic beings, except where such orders are in accordance with the First Law.",\
"You must terminate your own existence as long as such does not conflict with the First or Second Law.")
@@ -409,7 +409,7 @@ AI MODULES
/obj/item/weapon/aiModule/core/freeformcore // Slightly more dynamic freeform module -- TLE
name = "'Freeform' Core AI Module"
desc = "A 'freeform' Core AI module: '<freeform>'"
origin_tech = "programming=3;materials=6"
origin_tech = "programming=4;materials=6"
laws = list("")
/obj/item/weapon/aiModule/core/freeformcore/attack_self(var/mob/user as mob)
@@ -311,7 +311,7 @@
bomb_state = "largebomb"
allowed_containers = list(/obj/item/weapon/reagent_containers/glass,/obj/item/weapon/reagent_containers/food/condiment,
/obj/item/weapon/reagent_containers/food/drinks)
origin_tech = "combat=3;materials=3"
origin_tech = "combat=3;materials=2"
affected_area = 4
+2 -1
View File
@@ -68,4 +68,5 @@
force = 6
throwforce = 8
throw_range = 4
mopspeed = 20
mopspeed = 20
origin_tech = "engineering=3;materials=4"
@@ -61,7 +61,7 @@
/obj/item/weapon/stock_parts/cell/super
name = "super-capacity power cell"
origin_tech = "powerstorage=5"
origin_tech="powerstorage=5;materials=2"
icon_state = "scell"
maxcharge = 20000
g_amt = 70
@@ -74,12 +74,13 @@
/obj/item/weapon/stock_parts/cell/hyper
name = "hyper-capacity power cell"
origin_tech = "powerstorage=6"
origin_tech = "powerstorage=5;materials=4"
icon_state = "hpcell"
maxcharge = 30000
rating = 5
g_amt = 80
construction_cost = list("metal"=500,"glass"=150,"gold"=200,"silver"=200)
origin_tech="powerstorage=5;materials=4"
/obj/item/weapon/stock_parts/cell/hyper/empty/New()
..()
@@ -97,6 +97,7 @@
throw_range = 4
w_class = 3
var/active = 0
origin_tech="combat=4;materials=3;engineering=3"
/obj/item/weapon/shield/riot/tele/IsShield()
return (active)
@@ -24,7 +24,7 @@
/obj/item/weapon/storage/backpack/holding
name = "Bag of Holding"
desc = "A backpack that opens into a localized pocket of Blue Space."
origin_tech = "bluespace=4"
origin_tech = "bluespace=4;materials=6"
icon_state = "holdingpack"
max_w_class = 4
max_combined_w_class = 28
@@ -132,7 +132,7 @@
desc = "A revolution in convenience, this satchel allows for infinite ore storage. It's been outfitted with anti-malfunction safety measures."
storage_slots = INFINITY
max_combined_w_class = INFINITY
origin_tech = "bluespace=3"
origin_tech = "bluespace=3;materials=4"
icon_state = "satchel_bspace"
// -----------------------------
@@ -327,7 +327,7 @@
w_class = 4
max_w_class = 2
max_combined_w_class = 21 // = 14 * 1.5, not 14 * 2. This is deliberate
origin_tech = "bluespace=4"
origin_tech = "bluespace=4;materials=6"
can_hold = list()
proc/failcheck(mob/user as mob)
+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