Merge branch 'master' of https://github.com/Citadel-Station-13/Citadel-Station-13 into Ghommie-cit262
This commit is contained in:
@@ -89,3 +89,11 @@
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_ENGINEERING
|
||||
build_path = /obj/item/circuitboard/machine/clonescanner
|
||||
category = list("Medical Machinery")
|
||||
|
||||
/datum/design/board/bloodbankgen
|
||||
name = "Machine Design (Blood Bank Generator Board)"
|
||||
desc = "The circuit board for a blood bank generator."
|
||||
id = "bloodbankgen"
|
||||
build_path = /obj/item/circuitboard/machine/bloodbankgen
|
||||
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
|
||||
category = list ("Medical Machinery")
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
materials = list(MAT_METAL = 200)
|
||||
build_path = /obj/item/ammo_casing/shotgun/stunslug
|
||||
category = list("Ammo")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/techshell
|
||||
name = "Unloaded Technological Shotshell"
|
||||
@@ -139,7 +139,7 @@
|
||||
materials = list(MAT_METAL = 500, MAT_GLASS = 300)
|
||||
build_path = /obj/item/firing_pin/test_range
|
||||
category = list("Firing Pins")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/pin_mindshield
|
||||
name = "Mindshield Firing Pin"
|
||||
@@ -235,7 +235,7 @@
|
||||
reagents_list = list("radium" = 20)
|
||||
build_path = /obj/item/gun/energy/floragun
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SERVICE | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/xray
|
||||
name = "X-ray Laser Gun"
|
||||
@@ -309,7 +309,7 @@
|
||||
materials = list(MAT_METAL = 2000, MAT_PLASMA = 500)
|
||||
build_path = /obj/item/grenade/chem_grenade/pyro
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/cryo_grenade
|
||||
name = "Cryo Grenade"
|
||||
@@ -319,7 +319,7 @@
|
||||
materials = list(MAT_METAL = 2000, MAT_SILVER = 500)
|
||||
build_path = /obj/item/grenade/chem_grenade/cryo
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
/datum/design/adv_grenade
|
||||
name = "Advanced Release Grenade"
|
||||
@@ -329,7 +329,7 @@
|
||||
materials = list(MAT_METAL = 3000, MAT_GLASS = 500)
|
||||
build_path = /obj/item/grenade/chem_grenade/adv_release
|
||||
category = list("Weapons")
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL
|
||||
departmental_flags = DEPARTMENTAL_FLAG_SECURITY | DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_SCIENCE
|
||||
|
||||
//////////
|
||||
//MISC////
|
||||
|
||||
@@ -422,7 +422,7 @@
|
||||
if(exp == SCANTYPE_OBLITERATE)
|
||||
visible_message("<span class='warning'>[exp_on] activates the crushing mechanism, [exp_on] is destroyed!</span>")
|
||||
if(linked_console.linked_lathe)
|
||||
GET_COMPONENT_FROM(linked_materials, /datum/component/material_container, linked_console.linked_lathe)
|
||||
var/datum/component/material_container/linked_materials = linked_console.linked_lathe.GetComponent(/datum/component/material_container)
|
||||
for(var/material in exp_on.materials)
|
||||
linked_materials.insert_amount( min((linked_materials.max_amount - linked_materials.total_amount), (exp_on.materials[material])), material)
|
||||
if(prob(EFFECT_PROB_LOW) && criticalReaction)
|
||||
|
||||
@@ -29,3 +29,12 @@
|
||||
/obj/item/disk/tech_disk/illegal/Initialize()
|
||||
. = ..()
|
||||
stored_research = new /datum/techweb/syndicate
|
||||
|
||||
/obj/item/disk/tech_disk/abductor
|
||||
name = "Gray technology disk"
|
||||
desc = "You feel like it's not Gray because of its color."
|
||||
materials = list()
|
||||
|
||||
/obj/item/disk/tech_disk/abductor/Initialize()
|
||||
. = ..()
|
||||
stored_research = new /datum/techweb/abductor
|
||||
|
||||
@@ -49,6 +49,14 @@
|
||||
var/datum/techweb_node/syndicate_basic/Node = new()
|
||||
research_node(Node, TRUE)
|
||||
|
||||
/datum/techweb/abductor
|
||||
id = "ABDUCTOR"
|
||||
organization = "Aliens"
|
||||
|
||||
/datum/techweb/abductor/New()
|
||||
var/datum/techweb_node/alientech/Node = new()
|
||||
research_node(Node, TRUE)
|
||||
|
||||
/datum/techweb/science //Global science techweb for RND consoles.
|
||||
id = "SCIENCE"
|
||||
organization = "Nanotrasen"
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
display_name = "Biological Technology"
|
||||
description = "What makes us tick." //the MC, silly!
|
||||
prereq_ids = list("base")
|
||||
design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag")
|
||||
design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen")
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 5000
|
||||
|
||||
@@ -1027,26 +1027,19 @@
|
||||
id = "alien_bio"
|
||||
display_name = "Alien Biological Tools"
|
||||
description = "Advanced biological tools."
|
||||
prereq_ids = list("alientech", "adv_biotech")
|
||||
prereq_ids = list("alientech", "advance_surgerytools")
|
||||
design_ids = list("alien_scalpel", "alien_hemostat", "alien_retractor", "alien_saw", "alien_drill", "alien_cautery")
|
||||
boost_item_paths = list(/obj/item/gun/energy/alien, /obj/item/scalpel/alien, /obj/item/hemostat/alien, /obj/item/retractor/alien, /obj/item/circular_saw/alien,
|
||||
/obj/item/cautery/alien, /obj/item/surgicaldrill/alien, /obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/stock_parts/cell/infinite/abductor,
|
||||
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 20000
|
||||
hidden = TRUE
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
export_price = 10000
|
||||
|
||||
/datum/techweb_node/alien_engi
|
||||
id = "alien_engi"
|
||||
display_name = "Alien Engineering"
|
||||
description = "Alien engineering tools"
|
||||
prereq_ids = list("alientech", "adv_engi")
|
||||
prereq_ids = list("alientech", "exp_tools")
|
||||
design_ids = list("alien_wrench", "alien_wirecutters", "alien_screwdriver", "alien_crowbar", "alien_welder", "alien_multitool")
|
||||
boost_item_paths = list(/obj/item/screwdriver/abductor, /obj/item/wrench/abductor, /obj/item/crowbar/abductor, /obj/item/multitool/abductor, /obj/item/stock_parts/cell/infinite/abductor,
|
||||
/obj/item/weldingtool/abductor, /obj/item/wirecutters/abductor, /obj/item/circuitboard/machine/abductor, /obj/item/abductor_baton, /obj/item/abductor)
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
|
||||
export_price = 20000
|
||||
hidden = TRUE
|
||||
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
|
||||
export_price = 10000
|
||||
|
||||
/datum/techweb_node/syndicate_basic
|
||||
id = "syndicate_basic"
|
||||
@@ -1106,4 +1099,4 @@
|
||||
for(var/i in processing)
|
||||
var/datum/techweb_node/TN = i
|
||||
TW.add_point_list(TN.research_costs)
|
||||
return TW.printout_points()
|
||||
return TW.printout_points()
|
||||
|
||||
@@ -58,9 +58,7 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(H.mind && !HAS_TRAIT(H, TRAIT_AGEUSIA))
|
||||
to_chat(H,"<span class='notice'>That didn't taste very good...</span>") //No disgust, though. It's just not good tasting.
|
||||
GET_COMPONENT_FROM(mood, /datum/component/mood, H)
|
||||
if(mood)
|
||||
mood.add_event(null,"gross_food", /datum/mood_event/gross_food)
|
||||
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "gross_food", /datum/mood_event/gross_food)
|
||||
last_check_time = world.time
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -64,10 +64,9 @@
|
||||
var/interrupted = FALSE
|
||||
var/mob/target
|
||||
var/icon/bluespace
|
||||
var/datum/weakref/redirect_component
|
||||
|
||||
/datum/status_effect/slimerecall/on_apply()
|
||||
redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/resistField))))
|
||||
RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/resistField)
|
||||
to_chat(owner, "<span class='danger'>You feel a sudden tug from an unknown force, and feel a pull to bluespace!</span>")
|
||||
to_chat(owner, "<span class='notice'>Resist if you wish avoid the force!</span>")
|
||||
bluespace = icon('icons/effects/effects.dmi',"chronofield")
|
||||
@@ -77,9 +76,9 @@
|
||||
/datum/status_effect/slimerecall/proc/resistField()
|
||||
interrupted = TRUE
|
||||
owner.remove_status_effect(src)
|
||||
|
||||
/datum/status_effect/slimerecall/on_remove()
|
||||
qdel(redirect_component.resolve())
|
||||
redirect_component = null
|
||||
UnregisterSignal(owner, COMSIG_LIVING_RESIST)
|
||||
owner.cut_overlay(bluespace)
|
||||
if(interrupted || !ismob(target))
|
||||
to_chat(owner, "<span class='warning'>The bluespace tug fades away, and you feel that the force has passed you by.</span>")
|
||||
@@ -98,10 +97,9 @@
|
||||
duration = -1 //Will remove self when block breaks.
|
||||
alert_type = /obj/screen/alert/status_effect/freon/stasis
|
||||
var/obj/structure/ice_stasis/cube
|
||||
var/datum/weakref/redirect_component
|
||||
|
||||
/datum/status_effect/frozenstasis/on_apply()
|
||||
redirect_component = WEAKREF(owner.AddComponent(/datum/component/redirect, list(COMSIG_LIVING_RESIST = CALLBACK(src, .proc/breakCube))))
|
||||
RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/breakCube)
|
||||
cube = new /obj/structure/ice_stasis(get_turf(owner))
|
||||
owner.forceMove(cube)
|
||||
owner.status_flags |= GODMODE
|
||||
@@ -118,8 +116,7 @@
|
||||
if(cube)
|
||||
qdel(cube)
|
||||
owner.status_flags &= ~GODMODE
|
||||
qdel(redirect_component.resolve())
|
||||
redirect_component = null
|
||||
UnregisterSignal(owner, COMSIG_LIVING_RESIST)
|
||||
|
||||
/datum/status_effect/slime_clone
|
||||
id = "slime_cloned"
|
||||
|
||||
@@ -29,8 +29,6 @@
|
||||
var/datum/action/innate/slime_scan/scan_action
|
||||
var/datum/action/innate/feed_potion/potion_action
|
||||
|
||||
var/datum/component/redirect/listener
|
||||
|
||||
var/list/stored_slimes
|
||||
var/obj/item/slimepotion/slime/current_potion
|
||||
var/max_slimes = 5
|
||||
@@ -50,7 +48,7 @@
|
||||
scan_action = new
|
||||
potion_action = new
|
||||
stored_slimes = list()
|
||||
listener = AddComponent(/datum/component/redirect, list(COMSIG_ATOM_CONTENTS_DEL = CALLBACK(src, .proc/on_contents_del)))
|
||||
RegisterSignal(src, COMSIG_ATOM_CONTENTS_DEL, .proc/on_contents_del)
|
||||
|
||||
/obj/machinery/computer/camera_advanced/xenobio/Destroy()
|
||||
stored_slimes = null
|
||||
|
||||
Reference in New Issue
Block a user