Merge remote-tracking branch 'citadel/master' into attack_chain
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
///////////////////////////////////
|
||||
//////////Autolathe Designs ///////
|
||||
//////////Autolathe Designs////////
|
||||
///////////////////////////////////
|
||||
|
||||
|
||||
////////////////
|
||||
///Construction//
|
||||
////////////////
|
||||
//////////////////
|
||||
///Construction///
|
||||
//////////////////
|
||||
|
||||
/datum/design/rods
|
||||
name = "Metal Rod"
|
||||
@@ -103,7 +103,17 @@
|
||||
/datum/design/rcd_ammo
|
||||
name = "Compressed Matter Cartridge"
|
||||
id = "rcd_ammo"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 12000, MAT_GLASS=8000)
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 12000, MAT_GLASS = 8000)
|
||||
build_path = /obj/item/rcd_ammo
|
||||
category = list("initial","Construction")
|
||||
category = list("initial","Construction","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/rcd_ammo_large
|
||||
name = "Large Compressed Matter Cartridge"
|
||||
id = "rcd_ammo_large"
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 48000, MAT_GLASS = 32000)
|
||||
build_path = /obj/item/rcd_ammo/large
|
||||
category = list("Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
///////////////////////////////////
|
||||
//////////Autolathe Designs ///////
|
||||
/////////Autolathe Designs/////////
|
||||
///////////////////////////////////
|
||||
///////////
|
||||
///Tools //
|
||||
///Tools///
|
||||
///////////
|
||||
/datum/design/bucket
|
||||
name = "Bucket"
|
||||
@@ -52,7 +52,8 @@
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 50, MAT_GLASS = 20)
|
||||
build_path = /obj/item/multitool
|
||||
category = list("initial","Tools")
|
||||
category = list("initial","Tools","Tool Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/analyzer
|
||||
name = "Analyzer"
|
||||
|
||||
@@ -584,7 +584,7 @@
|
||||
id = "foam_magrifle"
|
||||
build_type = AUTOYLATHE
|
||||
materials = list(MAT_PLASTIC = 4000, MAT_METAL = 500)
|
||||
build_path = /obj/item/gun/ballistic/automatic/magrifle/toy
|
||||
build_path = /obj/item/gun/ballistic/automatic/toy/magrifle
|
||||
category = list("initial", "Rifles")
|
||||
|
||||
/datum/design/foam_hyperburst
|
||||
|
||||
@@ -250,10 +250,10 @@
|
||||
name = "Plant Data Disk"
|
||||
desc = "A disk for storing plant genetic data."
|
||||
id = "diskplantgene"
|
||||
build_type = PROTOLATHE
|
||||
build_type = PROTOLATHE | AUTOLATHE
|
||||
materials = list(MAT_METAL=200, MAT_GLASS=100)
|
||||
build_path = /obj/item/disk/plantgene
|
||||
category = list("Electronics")
|
||||
category = list("Electronics","Imported")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
|
||||
/datum/design/roastingstick
|
||||
@@ -403,6 +403,16 @@
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/holosigncombifan
|
||||
name = "ATMOS Holo-Combifan Projector"
|
||||
desc = "A holographic projector that creates holographic barriers that prevent changes in atmospheric and temperature conditions."
|
||||
id = "holosigncombifan"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 7500, MAT_GLASS = 2500, MAT_SILVER = 2500, MAT_GOLD = 2500, MAT_TITANIUM = 1750)
|
||||
build_path = /obj/item/holosign_creator/combifan
|
||||
category = list("Equipment")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/forcefield_projector
|
||||
name = "Forcefield Projector"
|
||||
desc = "A device which can project temporary forcefields to seal off an area."
|
||||
|
||||
@@ -47,6 +47,44 @@
|
||||
category = list("Ammo")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
//////////////////
|
||||
//Mag-Rifle Mags//
|
||||
//////////////////
|
||||
|
||||
/datum/design/mag_magrifle
|
||||
name = "Magrifle Magazine (Lethal)"
|
||||
desc = "A 24-round magazine for the Magrifle."
|
||||
id = "mag_magrifle"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 8000, MAT_SILVER = 1000)
|
||||
build_path = /obj/item/ammo_box/magazine/mmag/lethal
|
||||
category = list("Ammo")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
/datum/design/mag_magrifle/nl
|
||||
name = "Magrifle Magazine (Non-Lethal)"
|
||||
desc = "A 24- round non-lethal magazine for the Magrifle."
|
||||
id = "mag_magrifle_nl"
|
||||
materials = list(MAT_METAL = 6000, MAT_SILVER = 500, MAT_TITANIUM = 500)
|
||||
build_path = /obj/item/ammo_box/magazine/mmag
|
||||
|
||||
/datum/design/mag_magpistol
|
||||
name = "Magpistol Magazine"
|
||||
desc = "A 14 round magazine for the Magpistol."
|
||||
id = "mag_magpistol"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 4000, MAT_SILVER = 500)
|
||||
build_path = /obj/item/ammo_box/magazine/mmag/small/lethal
|
||||
category = list("Ammo")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
/datum/design/mag_magpistol/nl
|
||||
name = "Magpistol Magazine (Non-Lethal)"
|
||||
desc = "A 14 round non-lethal magazine for the Magpistol."
|
||||
id = "mag_magpistol_nl"
|
||||
materials = list(MAT_METAL = 3000, MAT_SILVER = 250, MAT_TITANIUM = 250)
|
||||
build_path = /obj/item/ammo_box/magazine/mmag/small
|
||||
|
||||
//////////////
|
||||
//WT550 Mags//
|
||||
//////////////
|
||||
@@ -323,6 +361,26 @@
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
/datum/design/magpistol
|
||||
name = "Magpistol"
|
||||
desc = "A weapon which fires ferromagnetic slugs."
|
||||
id = "magpistol"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 7500, MAT_GLASS = 1000, MAT_URANIUM = 1000, MAT_TITANIUM = 5000, MAT_SILVER = 2000)
|
||||
build_path = /obj/item/gun/ballistic/automatic/magrifle/pistol/nopin
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
/datum/design/magrifle
|
||||
name = "Magrifle"
|
||||
desc = "An upscaled Magpistol in rifle form."
|
||||
id = "magrifle"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 10000, MAT_GLASS = 2000, MAT_URANIUM = 2000, MAT_TITANIUM = 10000, MAT_SILVER = 4000, MAT_GOLD = 2000)
|
||||
build_path = /obj/item/gun/ballistic/automatic/magrifle/nopin
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
|
||||
///////////
|
||||
//Grenades/
|
||||
///////////
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "technology fabricator"
|
||||
desc = "Makes researched and prototype items with materials and energy."
|
||||
layer = BELOW_OBJ_LAYER
|
||||
var/consoleless_interface = FALSE //Whether it can be used without a console.
|
||||
var/consoleless_interface = TRUE //Whether it can be used without a console.
|
||||
var/efficiency_coeff = 1 //Materials needed / coeff = actual.
|
||||
var/list/categories = list()
|
||||
var/datum/component/remote_materials/materials
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
icon_state = "circuit_imprinter"
|
||||
circuit = /obj/item/circuitboard/machine/circuit_imprinter/department
|
||||
requires_console = FALSE
|
||||
consoleless_interface = TRUE
|
||||
|
||||
/obj/machinery/rnd/production/circuit_imprinter/department/science
|
||||
name = "department circuit imprinter (Science)"
|
||||
circuit = /obj/item/circuitboard/machine/circuit_imprinter/department/science
|
||||
allowed_department_flags = DEPARTMENTAL_FLAG_ALL|DEPARTMENTAL_FLAG_SCIENCE
|
||||
department_tag = "Science"
|
||||
department_tag = "Science"
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
icon_state = "protolathe"
|
||||
circuit = /obj/item/circuitboard/machine/protolathe/department
|
||||
requires_console = FALSE
|
||||
consoleless_interface = TRUE
|
||||
|
||||
/obj/machinery/rnd/production/protolathe/department/engineering
|
||||
name = "department protolathe (Engineering)"
|
||||
@@ -40,4 +39,4 @@
|
||||
name = "department protolathe (Security)"
|
||||
allowed_department_flags = DEPARTMENTAL_FLAG_ALL|DEPARTMENTAL_FLAG_SECURITY
|
||||
department_tag = "Security"
|
||||
circuit = /obj/item/circuitboard/machine/protolathe/department/security
|
||||
circuit = /obj/item/circuitboard/machine/protolathe/department/security
|
||||
|
||||
@@ -31,5 +31,4 @@
|
||||
console_link = FALSE
|
||||
production_animation = "protolathe_n"
|
||||
requires_console = FALSE
|
||||
consoleless_interface = TRUE
|
||||
allowed_buildtypes = PROTOLATHE | IMPRINTER
|
||||
|
||||
@@ -142,7 +142,7 @@
|
||||
var/new_sentence = stripped_input(user, "Choose the sentence that the host will be forced to say.", "Sentence", sentence, MAX_MESSAGE_LEN)
|
||||
if(!new_sentence)
|
||||
return
|
||||
if(copytext(new_sentence, 1, 2) == "*") //emotes are abusable, like surrender
|
||||
if(new_sentence[1] == "*") //emotes are abusable, like surrender
|
||||
return
|
||||
sentence = new_sentence
|
||||
if(setting == "Comm Code")
|
||||
|
||||
@@ -52,7 +52,7 @@ Nothing else in the console has ID requirements.
|
||||
research_control = FALSE
|
||||
|
||||
/proc/CallMaterialName(ID)
|
||||
if (copytext(ID, 1, 2) == "$" && GLOB.materials_list[ID])
|
||||
if (ID[1] == "$" && GLOB.materials_list[ID])
|
||||
var/datum/material/material = GLOB.materials_list[ID]
|
||||
return material.name
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
|
||||
new /obj/item/stock_parts/manipulator(src)
|
||||
new /obj/item/stock_parts/micro_laser(src)
|
||||
new /obj/item/stock_parts/matter_bin(src)
|
||||
new /obj/item/stock_parts/cell/high(src)
|
||||
|
||||
/obj/item/storage/part_replacer/bluespace/tier2
|
||||
|
||||
@@ -70,6 +71,7 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
|
||||
new /obj/item/stock_parts/manipulator/nano(src)
|
||||
new /obj/item/stock_parts/micro_laser/high(src)
|
||||
new /obj/item/stock_parts/matter_bin/adv(src)
|
||||
new /obj/item/stock_parts/cell/super(src)
|
||||
|
||||
/obj/item/storage/part_replacer/bluespace/tier3
|
||||
|
||||
@@ -80,6 +82,7 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
|
||||
new /obj/item/stock_parts/manipulator/pico(src)
|
||||
new /obj/item/stock_parts/micro_laser/ultra(src)
|
||||
new /obj/item/stock_parts/matter_bin/super(src)
|
||||
new /obj/item/stock_parts/cell/hyper(src)
|
||||
|
||||
/obj/item/storage/part_replacer/bluespace/tier4
|
||||
|
||||
@@ -90,6 +93,7 @@ If you create T5+ please take a pass at gene_modder.dm [L40]. Max_values MUST fi
|
||||
new /obj/item/stock_parts/manipulator/femto(src)
|
||||
new /obj/item/stock_parts/micro_laser/quadultra(src)
|
||||
new /obj/item/stock_parts/matter_bin/bluespace(src)
|
||||
new /obj/item/stock_parts/cell/bluespace(src)
|
||||
|
||||
/obj/item/storage/part_replacer/cargo //used in a cargo crate
|
||||
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("solarcontrol", "recharger", "powermonitor", "rped", "pacman", "adv_capacitor", "adv_scanning", "emitter", "high_cell", "adv_matter_bin",
|
||||
"atmosalerts", "atmos_control", "recycler", "autolathe", "high_micro_laser", "nano_mani", "mesons", "thermomachine", "rad_collector", "tesla_coil", "grounding_rod",
|
||||
"apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine")
|
||||
"apc_control", "cell_charger", "power control", "airlock_board", "firelock_board", "airalarm_electronics", "firealarm_electronics", "cell_charger", "stack_console", "stack_machine", "rcd_ammo")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 6000)
|
||||
export_price = 5000
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
display_name = "Advanced Engineering"
|
||||
description = "Pushing the boundaries of physics, one chainsaw-fist at a time."
|
||||
prereq_ids = list("engineering", "emp_basic")
|
||||
design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask" , "rcd_loaded", "rpd", "tray_goggles_prescription", "engine_goggles_prescription", "mesons_prescription", "rcd_upgrade_frames", "rcd_upgrade_simple_circuits")
|
||||
design_ids = list("engine_goggles", "magboots", "forcefield_projector", "weldingmask" , "rcd_loaded", "rpd", "tray_goggles_prescription", "engine_goggles_prescription", "mesons_prescription", "rcd_upgrade_frames", "rcd_upgrade_simple_circuits", "rcd_ammo_large")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 4000)
|
||||
export_price = 5000
|
||||
|
||||
@@ -231,6 +231,7 @@
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 3000)
|
||||
export_price = 5000
|
||||
|
||||
/*
|
||||
/datum/techweb_node/basic_meteor_defense
|
||||
id = "basic_meteor_defense"
|
||||
display_name = "Meteor Defense Research"
|
||||
@@ -239,6 +240,7 @@
|
||||
design_ids = list("meteor_defence", "meteor_console")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
export_price = 5000
|
||||
*/
|
||||
|
||||
//datum/techweb_node/adv_meteor_defense
|
||||
//id = "adv_meteor_defense"
|
||||
@@ -644,7 +646,7 @@
|
||||
id = "exp_tools"
|
||||
display_name = "Experimental Tools"
|
||||
description = "Highly advanced construction tools."
|
||||
design_ids = list("exwelder", "jawsoflife", "handdrill")
|
||||
design_ids = list("exwelder", "jawsoflife", "handdrill", "holosigncombifan")
|
||||
prereq_ids = list("adv_engi")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2750)
|
||||
export_price = 5000
|
||||
@@ -695,6 +697,15 @@
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/magnetic_weapons
|
||||
id = "magnetic_weapons"
|
||||
display_name = "Magnetic Weapons"
|
||||
description = "Weapons using magnetic technology"
|
||||
prereq_ids = list("weaponry", "adv_weaponry", "emp_adv")
|
||||
design_ids = list("magrifle", "magpistol", "mag_magrifle", "mag_magrifle_nl", "mag_magpistol", "mag_magpistol_nl")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
/datum/techweb_node/medical_weapons
|
||||
id = "medical_weapons"
|
||||
display_name = "Medical Weaponry"
|
||||
|
||||
@@ -134,7 +134,7 @@ Stabilized extracts:
|
||||
saved_mind = null
|
||||
START_PROCESSING(SSobj, src)
|
||||
if(choice == "Familiar Name")
|
||||
var/newname = copytext(sanitize(input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name) as null|text),1,MAX_NAME_LEN)
|
||||
var/newname = reject_bad_name(stripped_input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name, MAX_NAME_LEN), TRUE)
|
||||
if(newname)
|
||||
mob_name = newname
|
||||
to_chat(user, "<span class='notice'>You speak softly into [src], and it shakes slightly in response.</span>")
|
||||
|
||||
@@ -486,7 +486,7 @@
|
||||
if(!(upgradetier & XENOBIO_UPGRADE_MONKEYS)) // CIT CHANGE - makes monkey-related actions require XENOBIO_UPGRADE_MONKEYS
|
||||
to_chat(user, "<span class='warning'>This console does not have the monkey upgrade.</span>")
|
||||
return
|
||||
if(!GLOB.cameranet.checkTurfVis(M.loc))
|
||||
if(!isturf(M.loc) || !GLOB.cameranet.checkTurfVis(M.loc))
|
||||
to_chat(user, "<span class='warning'>Target is not near a camera. Cannot proceed.</span>")
|
||||
return
|
||||
var/mob/living/C = user
|
||||
|
||||
@@ -644,7 +644,7 @@
|
||||
M.nutrition = 700
|
||||
to_chat(M, "<span class='warning'>You absorb the potion and feel your intense desire to feed melt away.</span>")
|
||||
to_chat(user, "<span class='notice'>You feed the slime the potion, removing its hunger and calming it.</span>")
|
||||
var/newname = copytext(sanitize(input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime") as null|text),1,MAX_NAME_LEN)
|
||||
var/newname = reject_bad_name(stripped_input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime", MAX_NAME_LEN), TRUE)
|
||||
|
||||
if (!newname)
|
||||
newname = "pet slime"
|
||||
@@ -909,12 +909,15 @@
|
||||
to_chat(user, "<span class='warning'>The potion can only be used on gendered things!</span>")
|
||||
return
|
||||
|
||||
if(L.gender == MALE)
|
||||
if(L.gender == MALE && (L.client?.prefs.cit_toggles & FORCED_FEM))
|
||||
L.gender = FEMALE
|
||||
L.visible_message("<span class='boldnotice'>[L] suddenly looks more feminine!</span>", "<span class='boldwarning'>You suddenly feel more feminine!</span>")
|
||||
else
|
||||
else if(L.gender == FEMALE && (L.client?.prefs.cit_toggles & FORCED_MASC))
|
||||
L.gender = MALE
|
||||
L.visible_message("<span class='boldnotice'>[L] suddenly looks more masculine!</span>", "<span class='boldwarning'>You suddenly feel more masculine!</span>")
|
||||
else
|
||||
to_chat(user,"<span class='warning'>It won't work on [L]!</span>")
|
||||
return
|
||||
L.regenerate_icons()
|
||||
qdel(src)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user