and finally, the modules folder. Now I can publish and take a break
This commit is contained in:
@@ -423,10 +423,11 @@
|
||||
/datum/design/healthanalyzer
|
||||
name = "Health Analyzer"
|
||||
id = "healthanalyzer"
|
||||
build_type = AUTOLATHE
|
||||
build_type = AUTOLATHE | PROTOLATHE
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 50)
|
||||
build_path = /obj/item/healthanalyzer
|
||||
category = list("initial", "Medical")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/datum/design/pillbottle
|
||||
name = "Pill Bottle"
|
||||
@@ -655,7 +656,7 @@
|
||||
|
||||
/datum/design/receiver
|
||||
name = "Modular Receiver"
|
||||
id = "reciever"
|
||||
id = "receiver"
|
||||
build_type = AUTOLATHE
|
||||
materials = list(MAT_METAL = 15000)
|
||||
build_path = /obj/item/weaponcrafting/receiver
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
/datum/design/integrated_printer
|
||||
name = "Integrated circuit printer"
|
||||
desc = "This machine provides all neccesary things for circuitry."
|
||||
desc = "This machine provides all necessary things for circuitry."
|
||||
id = "icprinter"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 5000, MAT_METAL = 10000)
|
||||
|
||||
@@ -348,7 +348,7 @@
|
||||
|
||||
/datum/design/board/processor
|
||||
name = "Machine Design (Food/Slime Processor Board)"
|
||||
desc = "The circuit board for a processing unit. Screwdrive the circuit to switch between food (default) or slime processing."
|
||||
desc = "The circuit board for a processing unit. Screwdriver the circuit to switch between food (default) or slime processing."
|
||||
id = "processor"
|
||||
build_path = /obj/item/circuitboard/machine/processor
|
||||
category = list ("Misc. Machinery")
|
||||
|
||||
@@ -651,6 +651,15 @@
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
/datum/design/borg_transform_clown
|
||||
name = "Cyborg Upgrade (Clown Module)"
|
||||
id = "borg_transform_clown"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/borg/upgrade/transform/clown
|
||||
materials = list(MAT_METAL=10000, MAT_GLASS=15000, MAT_BANANIUM = 1000)
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
/datum/design/borg_upgrade_selfrepair
|
||||
name = "Cyborg Upgrade (Self-repair)"
|
||||
id = "borg_upgrade_selfrepair"
|
||||
@@ -696,6 +705,24 @@
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
/datum/design/borg_upgrade_trashofholding
|
||||
name = "Cyborg Upgrade (Trash Bag of Holding)"
|
||||
id = "borg_upgrade_trashofholding"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/borg/upgrade/tboh
|
||||
materials = list(MAT_METAL=10000, MAT_GOLD=1500, MAT_URANIUM=250, MAT_PLASMA=1500)
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
/datum/design/borg_upgrade_advancedmop
|
||||
name = "Cyborg Upgrade (Advanced Mop)"
|
||||
id = "borg_upgrade_advancedmop"
|
||||
build_type = MECHFAB
|
||||
build_path = /obj/item/borg/upgrade/amop
|
||||
materials = list(MAT_METAL=10000, MAT_GLASS=200, MAT_TITANIUM=1000)
|
||||
construction_time = 120
|
||||
category = list("Cyborg Upgrade Modules")
|
||||
|
||||
/datum/design/borg_upgrade_expand
|
||||
name = "Cyborg Upgrade (Expand)"
|
||||
id = "borg_upgrade_expand"
|
||||
@@ -751,17 +778,6 @@
|
||||
construction_time = 50
|
||||
category = list("Misc")
|
||||
|
||||
/datum/design/drone_shell
|
||||
name = "Drone Shell"
|
||||
desc = "A shell of a maintenance drone, an expendable robot built to perform station repairs."
|
||||
id = "drone_shell"
|
||||
build_type = MECHFAB | PROTOLATHE
|
||||
materials = list(MAT_METAL = 800, MAT_GLASS = 350)
|
||||
construction_time=150
|
||||
build_path = /obj/item/drone_shell
|
||||
category = list("Misc")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_ENGINEERING
|
||||
|
||||
/datum/design/synthetic_flash
|
||||
name = "Flash"
|
||||
desc = "When a problem arises, SCIENCE is the solution."
|
||||
|
||||
@@ -200,7 +200,17 @@
|
||||
materials = list(MAT_METAL = 2000, MAT_SILVER = 1500, MAT_PLASMA = 500, MAT_TITANIUM = 1500)
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
|
||||
/datum/design/healthanalyzer_advanced
|
||||
name = "advanced health analyzer"
|
||||
desc = "A hand-held body scanner able to distinguish vital signs of the subject with high accuracy."
|
||||
id = "healthanalyzer_advanced"
|
||||
build_path = /obj/item/healthanalyzer/advanced
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 5000, MAT_GLASS = 2500, MAT_SILVER = 2000, MAT_GOLD = 1500)
|
||||
category = list("Medical Designs")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/////////////////////////////////////////
|
||||
//////////Cybernetic Implants////////////
|
||||
/////////////////////////////////////////
|
||||
@@ -283,7 +293,7 @@
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/datum/design/cyberimp_xray
|
||||
name = "X-Ray Eyes"
|
||||
name = "X-ray Eyes"
|
||||
desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile."
|
||||
id = "ci-xray"
|
||||
build_type = PROTOLATHE | MECHFAB
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
/datum/design/bluespace_pod
|
||||
name = "Supply Drop Pod Upgrade Disk"
|
||||
desc = "Allows the Cargo Express Console to call down the Bluespace Drop Pod, greatly increasing user saftey."//who?
|
||||
desc = "Allows the Cargo Express Console to call down the Bluespace Drop Pod, greatly increasing user safety."//who?
|
||||
id = "bluespace_pod"//the coder reading this
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
/datum/design/light_replacer
|
||||
name = "Light Replacer"
|
||||
desc = "A device to automatically replace lights. Refill with working lightbulbs."
|
||||
desc = "A device to automatically replace lights. Refill with working light bulbs."
|
||||
id = "light_replacer"
|
||||
build_type = PROTOLATHE
|
||||
materials = list(MAT_METAL = 1500, MAT_SILVER = 150, MAT_GLASS = 3000)
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
|
||||
|
||||
/datum/design/xray
|
||||
name = "Xray Laser Gun"
|
||||
name = "X-ray Laser Gun"
|
||||
desc = "Not quite as menacing as it sounds"
|
||||
id = "xray_laser"
|
||||
build_type = PROTOLATHE
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
create_reagents(0)
|
||||
materials = AddComponent(/datum/component/material_container,
|
||||
list(MAT_METAL, MAT_GLASS, MAT_SILVER, MAT_GOLD, MAT_DIAMOND, MAT_PLASMA, MAT_URANIUM, MAT_BANANIUM, MAT_TITANIUM, MAT_BLUESPACE, MAT_PLASTIC), 0,
|
||||
FALSE, list(/obj/item/stack), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
|
||||
TRUE, list(/obj/item/stack), CALLBACK(src, .proc/is_insertion_ready), CALLBACK(src, .proc/AfterMaterialInsert))
|
||||
materials.precise_insertion = TRUE
|
||||
RefreshParts()
|
||||
matching_designs = list()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/machinery/rnd/production/circuit_imprinter/department
|
||||
name = "department circuit imprinter"
|
||||
desc = "A special circuit imprinter with a built in interface meant for departmental usage, with built in ExoSync recievers allowing it to print designs researched that match its ROM-encoded department type."
|
||||
desc = "A special circuit imprinter with a built in interface meant for departmental usage, with built in ExoSync receivers allowing it to print designs researched that match its ROM-encoded department type."
|
||||
icon_state = "circuit_imprinter"
|
||||
container_type = OPENCONTAINER
|
||||
circuit = /obj/item/circuitboard/machine/circuit_imprinter/department
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/obj/machinery/rnd/production/protolathe/department
|
||||
name = "department protolathe"
|
||||
desc = "A special protolathe with a built in interface meant for departmental usage, with built in ExoSync recievers allowing it to print designs researched that match its ROM-encoded department type."
|
||||
desc = "A special protolathe with a built in interface meant for departmental usage, with built in ExoSync receivers allowing it to print designs researched that match its ROM-encoded department type."
|
||||
icon_state = "protolathe"
|
||||
container_type = OPENCONTAINER
|
||||
circuit = /obj/item/circuitboard/machine/protolathe/department
|
||||
|
||||
@@ -44,6 +44,9 @@
|
||||
return
|
||||
if(default_deconstruction_crowbar(O))
|
||||
return
|
||||
if(panel_open && is_wire_tool(O))
|
||||
wires.interact(user)
|
||||
return TRUE
|
||||
if(is_refillable() && O.is_drainable())
|
||||
return FALSE //inserting reagents into the machine
|
||||
if(Insert_Item(O, user))
|
||||
@@ -65,6 +68,7 @@
|
||||
to_chat(user, "<span class='warning'>You can't load [src] while it's opened!</span>")
|
||||
return FALSE
|
||||
if(disabled)
|
||||
to_chat(user, "<span class='warning'>The insertion belts of [src] won't engage!</span>")
|
||||
return FALSE
|
||||
if(requires_console && !linked_console)
|
||||
to_chat(user, "<span class='warning'>[src] must be linked to an R&D console first!</span>")
|
||||
|
||||
@@ -106,19 +106,19 @@
|
||||
l[i] = amount
|
||||
modify_point_list(l)
|
||||
|
||||
/datum/techweb/proc/copy_research_to(datum/techweb/reciever, unlock_hidden = TRUE) //Adds any missing research to theirs.
|
||||
/datum/techweb/proc/copy_research_to(datum/techweb/receiver, unlock_hidden = TRUE) //Adds any missing research to theirs.
|
||||
for(var/i in researched_nodes)
|
||||
CHECK_TICK
|
||||
reciever.research_node_id(i, TRUE, FALSE)
|
||||
receiver.research_node_id(i, TRUE, FALSE)
|
||||
for(var/i in researched_designs)
|
||||
CHECK_TICK
|
||||
reciever.add_design_by_id(i)
|
||||
receiver.add_design_by_id(i)
|
||||
if(unlock_hidden)
|
||||
for(var/i in reciever.hidden_nodes)
|
||||
for(var/i in receiver.hidden_nodes)
|
||||
CHECK_TICK
|
||||
if(!hidden_nodes[i])
|
||||
reciever.hidden_nodes -= i //We can see it so let them see it too.
|
||||
reciever.recalculate_nodes()
|
||||
receiver.hidden_nodes -= i //We can see it so let them see it too.
|
||||
receiver.recalculate_nodes()
|
||||
|
||||
/datum/techweb/proc/copy()
|
||||
var/datum/techweb/returned = new()
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
display_name = "Biological Technology"
|
||||
description = "What makes us tick." //the MC, silly!
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser")
|
||||
design_ids = list("chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
display_name = "Advanced Biotechnology"
|
||||
description = "Advanced Biotechnology"
|
||||
prereq_ids = list("biotech")
|
||||
design_ids = list("piercesyringe", "smoke_machine", "plasmarefiller", "limbgrower", "defibrillator", "meta_beaker")
|
||||
design_ids = list("piercesyringe", "smoke_machine", "plasmarefiller", "limbgrower", "defibrillator", "meta_beaker", "healthanalyzer_advanced")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
display_name = "Basic Robotics Research"
|
||||
description = "Programmable machines that make our lives lazier."
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("paicard", "drone_shell")
|
||||
design_ids = list("paicard")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -207,7 +207,7 @@
|
||||
display_name = "Advanced Robotics Research"
|
||||
description = "It can even do the dishes!"
|
||||
prereq_ids = list("robotics")
|
||||
design_ids = list("borg_upgrade_diamonddrill")
|
||||
design_ids = list("borg_upgrade_diamonddrill", "borg_upgrade_trashofholding", "borg_upgrade_advancedmop")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -320,7 +320,7 @@
|
||||
description = "Honk?!"
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("air_horn", "honker_main", "honker_peri", "honker_targ", "honk_chassis", "honk_head", "honk_torso", "honk_left_arm", "honk_right_arm",
|
||||
"honk_left_leg", "honk_right_leg", "mech_banana_mortar", "mech_mousetrap_mortar", "mech_honker", "mech_punching_face", "implant_trombone")
|
||||
"honk_left_leg", "honk_right_leg", "mech_banana_mortar", "mech_mousetrap_mortar", "mech_honker", "mech_punching_face", "implant_trombone", "borg_transform_clown")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ To add a crossbreed:
|
||||
|
||||
/obj/item/slimecross/Initialize()
|
||||
..()
|
||||
name = colour + " " + name
|
||||
name = effect + " " + colour + " extract"
|
||||
var/itemcolor = "#FFFFFF"
|
||||
switch(colour)
|
||||
if("orange")
|
||||
|
||||
@@ -564,6 +564,7 @@ datum/status_effect/stabilized/blue/on_remove()
|
||||
/datum/status_effect/stabilized/cerulean/on_remove()
|
||||
if(clone)
|
||||
clone.visible_message("<span class='warning'>[clone] dissolves into a puddle of goo!</span>")
|
||||
clone.unequip_everything()
|
||||
qdel(clone)
|
||||
|
||||
/datum/status_effect/stabilized/pyrite
|
||||
|
||||
@@ -386,6 +386,9 @@ Charged extracts:
|
||||
if(user == M)
|
||||
to_chat(user, "<span class='warning'>You can't drink the love potion. What are you, a narcissist?</span>")
|
||||
return ..()
|
||||
if(M.has_status_effect(STATUS_EFFECT_INLOVE))
|
||||
to_chat(user, "<span class='warning'>[M] is already lovestruck!</span>")
|
||||
return ..()
|
||||
|
||||
M.visible_message("<span class='danger'>[user] starts to feed [M] a love potion!</span>",
|
||||
"<span class='userdanger'>[user] starts to feed you a love potion!</span>")
|
||||
@@ -393,10 +396,11 @@ Charged extracts:
|
||||
if(!do_after(user, 50, target = M))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You feed [M] the love potion!</span>")
|
||||
to_chat(M, "<span class='notice'>You develop feelings for [user], and anyone [p_they(user)] like.</span>")
|
||||
if(!("[REF(user)]" in M.faction) && M.mind)
|
||||
M.mind.store_memory("You have strong feelings for [user].")
|
||||
to_chat(M, "<span class='notice'>You develop feelings for [user], and anyone [user.p_they()] like.</span>")
|
||||
if(M.mind)
|
||||
M.mind.store_memory("You are in love with [user].")
|
||||
M.faction |= "[REF(user)]"
|
||||
M.apply_status_effect(STATUS_EFFECT_INLOVE, user)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/slimepotion/peacepotion
|
||||
|
||||
@@ -21,6 +21,7 @@ Recurring extracts:
|
||||
extract.desc = desc
|
||||
extract.icon = icon
|
||||
extract.icon_state = icon_state
|
||||
extract.color = color
|
||||
extract.recurring = TRUE
|
||||
src.forceMove(extract)
|
||||
START_PROCESSING(SSobj,src)
|
||||
|
||||
@@ -19,7 +19,7 @@ Reproductive extracts:
|
||||
return
|
||||
if(istype(O, /obj/item/storage/bag/bio))
|
||||
var/list/inserted = list()
|
||||
O.SendSignal(COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/monkeycube, src, 1, null, null, user, inserted)
|
||||
SEND_SIGNAL(O, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/reagent_containers/food/snacks/monkeycube, src, 1, null, null, user, inserted)
|
||||
if(inserted.len)
|
||||
var/obj/item/reagent_containers/food/snacks/monkeycube/M = inserted[1]
|
||||
if(istype(M))
|
||||
|
||||
@@ -4,7 +4,7 @@ Self-sustaining extracts:
|
||||
*/
|
||||
/obj/item/slimecross/selfsustaining
|
||||
name = "self-sustaining extract"
|
||||
effect = "selfsustaining"
|
||||
effect = "self-sustaining"
|
||||
icon_state = "selfsustaining"
|
||||
var/extract_type = /obj/item/slime_extract
|
||||
|
||||
@@ -23,6 +23,7 @@ Self-sustaining extracts:
|
||||
A.extract = X
|
||||
A.icon = icon
|
||||
A.icon_state = icon_state
|
||||
A.color = color
|
||||
qdel(src)
|
||||
|
||||
/obj/item/autoslime/Initialize()
|
||||
|
||||
@@ -163,4 +163,4 @@ Stabilized extracts:
|
||||
regencore = regen
|
||||
regen.forceMove(src)
|
||||
return
|
||||
return ..()
|
||||
return ..()
|
||||
@@ -702,7 +702,7 @@
|
||||
imp.implant(SM, user)
|
||||
|
||||
SM.access_card = new /obj/item/card/id/syndicate(SM)
|
||||
SM.access_card.flags_1 |= NODROP_1
|
||||
SM.access_card.item_flags |= NODROP
|
||||
|
||||
/obj/item/slimepotion/transference
|
||||
name = "consciousness transference potion"
|
||||
@@ -725,7 +725,11 @@
|
||||
if(SM.sentience_type != animal_type)
|
||||
to_chat(user, "<span class='warning'>You cannot transfer your consciousness to [SM].</span>" )
|
||||
return ..()
|
||||
if(jobban_isbanned(user, ROLE_ALIEN)) //ideally sentience and trasnference potions should be their own unique role.
|
||||
var/jb = jobban_isbanned(user, ROLE_ALIEN)
|
||||
if(QDELETED(src) || QDELETED(M) || QDELETED(user))
|
||||
return
|
||||
|
||||
if(jb) //ideally sentience and trasnference potions should be their own unique role.
|
||||
to_chat(user, "<span class='warning'>Your mind goes blank as you attempt to use the potion.</span>")
|
||||
return
|
||||
|
||||
@@ -909,7 +913,7 @@
|
||||
|
||||
/obj/item/slimepotion/slime/slimeradio
|
||||
name = "bluespace radio potion"
|
||||
desc = "A strange chemical that grants those who ingest it the ability to broadcast and recieve subscape radio waves."
|
||||
desc = "A strange chemical that grants those who ingest it the ability to broadcast and receive subscape radio waves."
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
icon_state = "potgrey"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user