Merge with upstream/master

Fixes conflicts
This commit is contained in:
DZD
2015-02-18 13:41:32 -05:00
325 changed files with 5353 additions and 3917 deletions
@@ -230,7 +230,7 @@
name = "Metal"
id = "metal"
build_type = AUTOLATHE
materials = list("$metal" = MINERAL_MATERIAL_AMOUNT)
materials = list("$metal" = 3750)
build_path = /obj/item/stack/sheet/metal
category = list("initial","Construction")
@@ -254,7 +254,7 @@
name = "Reinforced Glass"
id = "rglass"
build_type = AUTOLATHE
materials = list("$metal" = 1000, "$glass" = MINERAL_MATERIAL_AMOUNT)
materials = list("$metal" = 1875, "$glass" = MINERAL_MATERIAL_AMOUNT)
build_path = /obj/item/stack/sheet/rglass
category = list("initial","Construction")
@@ -262,7 +262,7 @@
name = "Metal Rod"
id = "rods"
build_type = AUTOLATHE
materials = list("$metal" = 1000)
materials = list("$metal" = 1875)
build_path = /obj/item/stack/rods
category = list("initial","Construction")
@@ -440,7 +440,7 @@
id = "handcuffs"
build_type = AUTOLATHE
materials = list("$metal" = 500)
build_path = /obj/item/weapon/handcuffs
build_path = /obj/item/weapon/restraints/handcuffs
category = list("hacked", "Security")
/datum/design/incendiary_slug
@@ -52,7 +52,7 @@
req_tech = list("programming" = 2, "biotech" = 2, "magnets" = 2)
build_type = PROTOLATHE
materials = list("$metal" = 30, "$glass" = 20)
reliability_base = 74
reliability_base = 76
build_path = /obj/item/device/robotanalyzer
category = list("Medical")
@@ -77,6 +77,17 @@
build_path = /obj/item/weapon/implantcase/freedom
category = list("Medical")
/datum/design/sensor_device
name = "Handheld Crew Monitor"
desc = "A device for tracking crew members on the station."
id = "sensor_device"
req_tech = list("biotech" = 4, "magnets" = 3, "materials" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 30, "$glass" = 20)
reliability_base = 76
build_path = /obj/item/device/sensor_device
category = list("Medical")
/datum/design/implanter
name = "Implanter"
desc = "A basic implanter for injecting implants"
+22 -18
View File
@@ -130,8 +130,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
files.known_tech=files.possible_tech
for(var/datum/tech/KT in files.known_tech)
if(KT.level < KT.max_level)
KT.level=KT.max_level
KT.level=KT.max_level
/obj/machinery/computer/rdconsole/New()
..()
files = new /datum/research(src) //Setup the research data holder.
@@ -165,16 +165,17 @@ won't update every console in existence) but it's more of a hassle to do. Also,
user.drop_item()
D.loc = src
user << "<span class='notice'> You add the disk to the machine!</span>"
else if(istype(D,/obj/item/weapon/card/emag))
if(!emagged)
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = 1
user << "<span class='notice'>You you disable the security protocols</span>"
else
..()
src.updateUsrDialog()
return
/obj/machinery/computer/rdconsole/emag_act(user as mob)
if(!emagged)
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = 1
user << "<span class='notice'>You disable the security protocols</span>"
/obj/machinery/computer/rdconsole/Topic(href, href_list)
if(..())
return
@@ -207,7 +208,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
t_disk = null
screen = 1.0
else if(href_list["copy_tech"]) //Copys some technology data from the research holder to the disk.
else if(href_list["copy_tech"]) //Copy some technology data from the research holder to the disk.
for(var/datum/tech/T in files.known_tech)
if(href_list["copy_tech_ID"] == T.id)
t_disk.stored = T
@@ -249,11 +250,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_destroy.loaded_item = null
linked_destroy.icon_state = "d_analyzer"
screen = 2.1
else if(href_list["maxresearch"]) //Eject the item inside the destructive analyzer.
if(!usr.client.holder) return
if(usr.client.holder & R_MENTOR) return
screen = 0.0
if(alert("Are you sure you want to maximize research levels?","Confirmation","Yes","No")=="No")
if(alert("Are you sure you want to maximize research levels?","Confirmation","Yes","No")=="No")
return
log_admin("[key_name(usr)] has maximized the research levels.")
message_admins("[key_name_admin(usr)] has maximized the research levels.")
@@ -261,7 +263,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
Maximize()
screen = 1.0
updateUsrDialog()
griefProtection() //Update centcomm too
griefProtection() //Update centcomm too
else if(href_list["deconstruct"]) //Deconstruct the item in the destructive analyzer and update the research holder.
if(linked_destroy)
@@ -371,6 +373,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(being_built)
var/power = 2000
var/amount=text2num(href_list["amount"])
var/old_screen = screen
amount = max(1, min(10, amount))
for(var/M in being_built.materials)
power += round(being_built.materials[M] * amount / 5)
@@ -436,7 +439,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else
new_item.loc = linked_lathe.loc
linked_lathe.busy = 0
screen = 3.15
screen = old_screen
updateUsrDialog()
else if(href_list["imprint"]) //Causes the Circuit Imprinter to build something.
@@ -450,6 +453,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
break
if(being_built)
var/power = 2000
var/old_screen = screen
for(var/M in being_built.materials)
power += round(being_built.materials[M] / 5)
power = max(2000, power)
@@ -488,7 +492,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
new_item.reliability = R
new_item.loc = linked_imprinter.loc
linked_imprinter.busy = 0
screen = 4.1
screen = old_screen
updateUsrDialog()
else if(href_list["disposeI"] && linked_imprinter) //Causes the circuit imprinter to dispose of a single reagent (all of it)
@@ -590,7 +594,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
spawn(20)
screen = 1.6
updateUsrDialog()
else if(href_list["search"]) //Search for designs with name matching pattern
var/compare
@@ -608,7 +612,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
continue
if(findtext(D.name,href_list["to_search"]))
matching_designs.Add(D)
updateUsrDialog()
return
@@ -870,7 +874,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += " | <span class='bad'>LOCKED</span>"
dat += "<BR>"
dat += "</div>"
if(3.17) //Display search result
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
dat += "<A href='?src=\ref[src];menu=3.1'>Protolathe Menu</A>"
@@ -978,7 +982,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
dat += "<h3>Circuit Imprinter Menu:</h3><BR>"
dat += "Material Amount: [linked_imprinter.TotalMaterials()]<BR>"
dat += "Chemical Volume: [linked_imprinter.reagents.total_volume]<HR>"
dat += "<form name='search' action='?src=\ref[src]'> \
<input type='hidden' name='src' value='\ref[src]'> \
<input type='hidden' name='search' value='to_search'> \
@@ -1016,7 +1020,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(D.locked)
dat += " | <span class='bad'>LOCKED</span>"
dat += "</div>"
if(4.17)
dat += "<A href='?src=\ref[src];menu=1.0'>Main Menu</A>"
dat += "<A href='?src=\ref[src];menu=4.1'>Circuit Imprinter Menu</A>"
+2 -4
View File
@@ -319,14 +319,12 @@
onclose(user, "server_control")
return
/obj/machinery/computer/rdservercontrol/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob)
if(istype(D, /obj/item/weapon/card/emag) && !emagged)
/obj/machinery/computer/rdservercontrol/emag_act(user as mob)
if(!emagged)
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = 1
user << "\blue You you disable the security protocols"
src.updateUsrDialog()
return ..()
/obj/machinery/r_n_d/server/robotics
name = "Robotics R&D Server"
@@ -51,7 +51,7 @@
/obj/item/weapon/stock_parts/cell,\
/obj/item/weapon/circular_saw,\
/obj/item/weapon/hatchet,\
/obj/item/weapon/handcuffs,\
/obj/item/weapon/restraints/handcuffs,\
/obj/item/weapon/hemostat,\
/obj/item/weapon/kitchenknife,\
/obj/item/weapon/lighter,\
@@ -183,12 +183,12 @@
apply_image_decorations = 1
if(8)
item_type = "handcuffs"
new_item = new /obj/item/weapon/handcuffs(src.loc)
new_item = new /obj/item/weapon/restraints/handcuffs(src.loc)
additional_desc = "[pick("They appear to be for securing two things together","Looks kinky","Doesn't seem like a children's toy")]."
if(9)
item_type = "[pick("wicked","evil","byzantine","dangerous")] looking [pick("device","contraption","thing","trap")]"
apply_prefix = 0
new_item = new /obj/item/weapon/legcuffs/beartrap(src.loc)
new_item = new /obj/item/weapon/restraints/legcuffs/beartrap(src.loc)
additional_desc = "[pick("It looks like it could take a limb off",\
"Could be some kind of animal trap",\
"There appear to be [pick("dark red","dark purple","dark green","dark blue")] stains along part of it")]."
@@ -10,7 +10,7 @@
digspeed = 20
desc = "Thick metallic wires for clearing away dust and loose scree (1 centimetre excavation depth)."
excavation_amount = 0.5
drill_sound = 'sound/weapons/thudswoosh.ogg'
digsound = list('sound/weapons/thudswoosh.ogg')
drill_verb = "brushing"
w_class = 2
@@ -22,7 +22,7 @@
digspeed = 20
desc = "A miniature excavation tool for precise digging (2 centimetre excavation depth)."
excavation_amount = 1
drill_sound = 'sound/items/Screwdriver.ogg'
digsound = list('sound/items/Screwdriver.ogg')
drill_verb = "delicately picking"
w_class = 2
@@ -34,7 +34,7 @@
digspeed = 20
desc = "A miniature excavation tool for precise digging (4 centimetre excavation depth)."
excavation_amount = 2
drill_sound = 'sound/items/Screwdriver.ogg'
digsound = list('sound/items/Screwdriver.ogg')
drill_verb = "delicately picking"
w_class = 2
@@ -46,7 +46,7 @@
digspeed = 20
desc = "A miniature excavation tool for precise digging (6 centimetre excavation depth)."
excavation_amount = 3
drill_sound = 'sound/items/Screwdriver.ogg'
digsound = list('sound/items/Screwdriver.ogg')
drill_verb = "delicately picking"
w_class = 2
@@ -58,7 +58,7 @@
digspeed = 20
desc = "A miniature excavation tool for precise digging (8 centimetre excavation depth)."
excavation_amount = 4
drill_sound = 'sound/items/Screwdriver.ogg'
digsound = list('sound/items/Screwdriver.ogg')
drill_verb = "delicately picking"
w_class = 2
@@ -70,7 +70,7 @@
digspeed = 20
desc = "A miniature excavation tool for precise digging (10 centimetre excavation depth)."
excavation_amount = 5
drill_sound = 'sound/items/Screwdriver.ogg'
digsound = list('sound/items/Screwdriver.ogg')
drill_verb = "delicately picking"
w_class = 2
@@ -82,7 +82,7 @@
digspeed = 20
desc = "A miniature excavation tool for precise digging (12 centimetre excavation depth)."
excavation_amount = 6
drill_sound = 'sound/items/Screwdriver.ogg'
digsound = list('sound/items/Screwdriver.ogg')
drill_verb = "delicately picking"
w_class = 2
@@ -94,7 +94,7 @@
digspeed = 30
desc = "A smaller, more precise version of the pickaxe (30 centimetre excavation depth)."
excavation_amount = 15
drill_sound = 'sound/items/Crowbar.ogg'
digsound = list('sound/items/Crowbar.ogg')
drill_verb = "clearing"
w_class = 3