Merge remote-tracking branch 'refs/remotes/origin/master' into upstream-merge-32860

# Conflicts:
#	_maps/map_files/MetaStation/MetaStation.dmm
This commit is contained in:
deathride58
2017-11-20 23:34:46 -05:00
92 changed files with 1128 additions and 1250 deletions
-17
View File
@@ -511,10 +511,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
name = "Research Director's Private Quarters"
icon_state = "rd_private"
/area/mint
name = "Mint"
icon_state = "green"
/area/comms
name = "Communications Relay"
icon_state = "tcomsatcham"
@@ -1375,16 +1371,6 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
icon_state = "eva"
ambientsounds = HIGHSEC
/area/ai_monitored/storage/secure
name = "AI Satellite Storage"
icon_state = "storage"
ambientsounds = HIGHSEC
/area/ai_monitored/storage/emergency
name = "Emergency Storage"
icon_state = "storage"
ambientsounds = HIGHSEC
/area/ai_monitored/storage/satellite
name = "AI Satellite Maint"
icon_state = "storage"
@@ -1522,7 +1508,6 @@ GLOBAL_LIST_INIT(the_station_areas, list (
/area/library,
/area/maintenance,
/area/medical,
// /area/mint, //not present on map
/area/quartermaster,
/area/science,
/area/security,
@@ -1530,8 +1515,6 @@ GLOBAL_LIST_INIT(the_station_areas, list (
/area/storage,
/area/teleporter,
/area/ai_monitored/storage/eva, //do not try to simplify to "/area/ai_monitored" --rastaf0
// /area/ai_monitored/storage/secure, //not present on map
// /area/ai_monitored/storage/emergency, //not present on map
/area/ai_monitored/turret_protected/ai_upload, //do not try to simplify to "/area/ai_monitored/turret_protected" --rastaf0
/area/ai_monitored/turret_protected/ai_upload_foyer,
/area/ai_monitored/turret_protected/ai,
-2
View File
@@ -257,8 +257,6 @@
if(desc)
to_chat(user, desc)
// *****RM
//to_chat(user, "[name]: Dn:[density] dir:[dir] cont:[contents] icon:[icon] is:[icon_state] loc:[loc]")
if(reagents && (is_open_container() || is_transparent())) //is_open_container() isn't really the right proc for this, but w/e
to_chat(user, "It contains:")
-2
View File
@@ -44,8 +44,6 @@
contractName = "of revival"
if(CONTRACT_KNOWLEDGE)
contractName = "for knowledge"
//if(CONTRACT_UNWILLING) //Makes round unfun.
// contractName = "against their will"
update_explanation_text()
/datum/objective/devil/soulquality/update_explanation_text()
@@ -26,6 +26,7 @@
var/max_teams = 4
var/list/datum/objective_team/abductor_team/abductor_teams = list()
var/finished = FALSE
var/static/team_count = 0
/datum/game_mode/abduction/announce()
to_chat(world, "<B>The current game mode is - Abduction!</B>")
@@ -44,7 +45,11 @@
return TRUE
/datum/game_mode/abduction/proc/make_abductor_team(datum/mind/agent, datum/mind/scientist)
var/team_number = abductor_teams.len+1
team_count++ //TODO: Fix the edge case of abductor game mode rolling twice+ and failing to setup on first time.
var/team_number = team_count
if(team_number > max_teams)
return //or should it try to stuff them in anway ?
var/datum/objective_team/abductor_team/team = new
team.team_number = team_number
@@ -1,16 +1,6 @@
/datum/objective/sintouched
completed = 1
/* NO ERP OBJECTIVE FOR YOU.
/datum/objective/sintouched/lust
/datum/objective/sintouched/lust/New()
var/mob/dead/D = pick(dead_mob_list)
if(prob(50) && D)
explanation_text = "You know that [D] has perished.... and you think [D] is kinda cute. Make sure everyone knows how HOT [D]'s lifeless body is."
else
explanation_text = "Go get married, then immediately cheat on your new spouse." */
/datum/objective/sintouched/gluttony
explanation_text = "Everything is so delicious. Go eat everything."
-8
View File
@@ -178,14 +178,6 @@
disk_rescued = 0
break
var/crew_evacuated = (SSshuttle.emergency.mode == SHUTTLE_ENDGAME)
//var/operatives_are_dead = is_operatives_are_dead()
//nukes_left
//station_was_nuked
//derp //Used for tracking if the syndies actually haul the nuke to the station //no
//herp //Used for tracking if the syndies got the shuttle off of the z-level //NO, DON'T FUCKING NAME VARS LIKE THIS
if(nuke_off_station == NUKE_SYNDICATE_BASE)
SSticker.mode_result = "loss - syndicate nuked - disk secured"
-4
View File
@@ -100,10 +100,6 @@
dat += text("<td>[]</td>", R.fields["p_stat"])
dat += text("<td>[]</td></tr>", R.fields["m_stat"])
dat += "</table><hr width='75%' />"
// if(GLOB.data_core.general)
// for(var/datum/data/record/R in sortRecord(GLOB.data_core.general))
// dat += "<A href='?src=[REF(src)];d_rec=[R.fields["id"]]'>[R.fields["id"]]: [R.fields["name"]]<BR>"
// //Foreach goto(132)
dat += "<HR><A href='?src=[REF(src)];screen=1'>Back</A>"
if(3)
dat += "<B>Records Maintenance</B><HR>\n<A href='?src=[REF(src)];back=1'>Backup To Disk</A><BR>\n<A href='?src=[REF(src)];u_load=1'>Upload From Disk</A><BR>\n<A href='?src=[REF(src)];del_all=1'>Delete All Records</A><BR>\n<BR>\n<A href='?src=[REF(src)];screen=1'>Back</A>"
-3
View File
@@ -119,9 +119,6 @@
//Message Logs
if(1)
var/index = 0
//var/recipient = "Unspecified" //name of the person
//var/sender = "Unspecified" //name of the sender
//var/message = "Blank" //transferred message
dat += "<center><A href='?src=[REF(src)];back=1'>Back</a> - <A href='?src=[REF(src)];refresh=1'>Refresh</center><hr>"
dat += "<table border='1' width='100%'><tr><th width = '5%'>X</th><th width='15%'>Sender</th><th width='15%'>Recipient</th><th width='300px' word-wrap: break-word>Message</th></tr>"
for(var/datum/data_pda_msg/pda in src.linkedServer.pda_msgs)
+1 -1
View File
@@ -261,7 +261,7 @@
justzap = TRUE
addtimer(CALLBACK(src, .proc/unzap), 10)
return
else /*if(src.justzap)*/
else
return
else if(user.hallucinating() && ishuman(user) && prob(4) && !operating)
var/mob/living/carbon/human/H = user
-3
View File
@@ -63,9 +63,6 @@
spark_system = null
return ..()
//process()
//return
/obj/machinery/door/CollidedWith(atom/movable/AM)
if(operating || emagged)
return
-1
View File
@@ -73,7 +73,6 @@
if(src.z in GLOB.station_z_levels)
add_overlay("overlay_[GLOB.security_level]")
else
//var/green = SEC_LEVEL_GREEN
add_overlay("overlay_[SEC_LEVEL_GREEN]")
if(detecting)
-8
View File
@@ -119,7 +119,6 @@
if(!colour2 && !T.density)
var/datum/gas_mixture/environment = T.return_air()
var/turf_total = environment.total_moles()
//var/turf_total = T.co2 + T.oxygen + T.poison + T.sl_gas + T.n2
var/t1 = turf_total / MOLES_CELLSTANDARD * 150
@@ -242,9 +241,6 @@
else
colour = rgb(255,128,128)
//if(istype(AM, /obj/structure/blob))
// colour = rgb(255,0,255)
var/area/A = T.loc
if(A.fire)
@@ -296,10 +292,6 @@
src.close(user)
/* if(seccomp == src)
drawmap(user)
else
user.clearmap()*/
return
-10
View File
@@ -622,16 +622,6 @@
IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY CANISTER CHARGES in vending_items.dm
*/
/*
/obj/machinery/vending/atmospherics //Commenting this out until someone ponies up some actual working, broken, and unpowered sprites - Quarxink
name = "Tank Vendor"
desc = "A vendor with a wide variety of masks and gas tanks."
icon = 'icons/obj/objects.dmi'
icon_state = "dispenser"
product_paths = "/obj/item/tank/internals/oxygen;/obj/item/tank/internals/plasma;/obj/item/tank/internals/emergency_oxygen;/obj/item/tank/internals/emergency_oxygen/engi;/obj/item/clothing/mask/breath"
product_amounts = "10;10;10;5;25"
*/
/obj/machinery/vending/boozeomat
name = "\improper Booze-O-Mat"
desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one."
-11
View File
@@ -15,17 +15,6 @@
max_equip = 3
var/squeak = 0
/*
/obj/mecha/combat/honker/New()
..()
weapons += new /datum/mecha_weapon/honker(src)
weapons += new /datum/mecha_weapon/missile_rack/banana_mortar(src)
weapons += new /datum/mecha_weapon/missile_rack/mousetrap_mortar(src)
selected_weapon = weapons[1]
return
*/
/obj/mecha/combat/honker/get_stats_part()
var/integrity = obj_integrity/max_integrity*100
var/cell_charge = get_charge()
+32 -1
View File
@@ -162,4 +162,35 @@
name = "25% cyborg mask spawner"
loot = list(
/obj/item/clothing/mask/gas/cyborg = 25,
"" = 75)
"" = 75)
/obj/effect/spawner/lootdrop/aimodule_harmless // These shouldn't allow the AI to start butchering people
name = "harmless AI module spawner"
loot = list(
/obj/item/aiModule/core/full/asimov,
/obj/item/aiModule/core/full/asimovpp,
/obj/item/aiModule/core/full/hippocratic,
/obj/item/aiModule/core/full/paladin_devotion,
/obj/item/aiModule/core/full/paladin
)
/obj/effect/spawner/lootdrop/aimodule_neutral // These shouldn't allow the AI to start butchering people without reason
name = "neutral AI module spawner"
loot = list(
/obj/item/aiModule/core/full/corp,
/obj/item/aiModule/core/full/maintain,
/obj/item/aiModule/core/full/drone,
/obj/item/aiModule/core/full/peacekeeper,
/obj/item/aiModule/core/full/reporter,
/obj/item/aiModule/core/full/robocop,
/obj/item/aiModule/core/full/liveandletlive
)
/obj/effect/spawner/lootdrop/aimodule_harmful // These will get the shuttle called
name = "harmful AI module spawner"
loot = list(
/obj/item/aiModule/core/full/antimov,
/obj/item/aiModule/core/full/balance,
/obj/item/aiModule/core/full/tyrant,
/obj/item/aiModule/core/full/thermurderdynamic
)
-1
View File
@@ -51,7 +51,6 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/item_color = null //this needs deprecating, soonish
var/body_parts_covered = 0 //see setup.dm for appropriate bit flags
//var/heat_transfer_coefficient = 1 //0 prevents all transfers, 1 is invisible
var/gas_transfer_coefficient = 1 // for leaking gas from turf to mask and vice-versa (for masks right now, but at some point, i'd like to include space helmets)
var/permeability_coefficient = 1 // for chemicals/diseases
var/siemens_coefficient = 1 // for electrical admittance/conductance (electrocution checks and shit)
+8
View File
@@ -564,3 +564,11 @@ AI MODULES
/obj/item/aiModule/core/full/balance
name = "'Guardian of Balance' Core AI Module"
law_id = "balance"
/obj/item/aiModule/core/full/maintain
name = "'Station Efficiency' Core AI Module"
law_id = "maintain"
/obj/item/aiModule/core/full/peacekeeper
name = "'Peacekeeper' Core AI Module"
law_id = "peacekeeper"
@@ -29,7 +29,6 @@
var/access = 0 //Bit flags_1 for cartridge access
// var/access_flora = 0
var/remote_door_id = ""
var/bot_access_flags = 0 //Bit flags_1. Selection: SEC_BOT | MULE_BOT | FLOOR_BOT | CLEAN_BOT | MED_BOT
@@ -110,13 +109,6 @@
icon_state = "cart-s"
access = CART_NEWSCASTER
/*
/obj/item/cartridge/botanist
name = "\improper Green Thumb v4.20 cartridge"
icon_state = "cart-b"
access_flora = 1
*/
/obj/item/cartridge/roboticist
name = "\improper B.O.O.P. Remote Control cartridge"
desc = "Packed with heavy duty triple-bot interlink!"
@@ -669,9 +661,6 @@ Code:
var/mob/living/simple_animal/bot/Bot
// if(!SC)
// menu = "Interlink Error - Please reinsert cartridge."
// return
if(active_bot)
menu += "<B>[active_bot]</B><BR> Status: (<A href='byond://?src=[REF(src)];op=control;bot=[REF(active_bot)]'><img src=pda_refresh.png><i>refresh</i></A>)<BR>"
menu += "Model: [active_bot.model]<BR>"
@@ -4,7 +4,6 @@
/**
* Multitool -- A multitool is used for hacking electronic devices.
* TO-DO -- Using it as a power measurement tool for cables etc. Nannek.
*
*/
@@ -35,9 +35,3 @@
src.code = "beacon"
src.add_fingerprint(usr)
return
/*
//Probably a better way of doing this, I'm lazy.
/obj/item/device/radio/beacon/bacon/proc/digest_delay()
spawn(600)
qdel(src)*/ //Bacon beacons are no more rip in peace
@@ -454,18 +454,6 @@
if(message_mode == MODE_WHISPER || message_mode == MODE_WHISPER_CRIT)
raw_message = stars(raw_message)
talk_into(speaker, raw_message, , spans, language=message_language)
/*
/obj/item/device/radio/proc/accept_rad(obj/item/device/radio/R as obj, message)
if ((R.frequency == frequency && message))
return 1
else if
else
return null
return
*/
/obj/item/device/radio/proc/receive_range(freq, level)
// check if this radio can receive on the given frequency, and if so,
@@ -375,16 +375,12 @@ GLOBAL_LIST_INIT(adamantine_recipes, list(
sheettype = "abductor"
GLOBAL_LIST_INIT(abductor_recipes, list ( \
/* new/datum/stack_recipe("alien chair", /obj/structure/chair, one_per_turf = 1, on_floor = 1), \ */
new/datum/stack_recipe("alien bed", /obj/structure/bed/abductor, 2, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien locker", /obj/structure/closet/abductor, 2, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien table frame", /obj/structure/table_frame/abductor, 1, time = 15, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("alien airlock assembly", /obj/structure/door_assembly/door_assembly_abductor, 4, time = 20, one_per_turf = 1, on_floor = 1), \
null, \
new/datum/stack_recipe("alien floor tile", /obj/item/stack/tile/mineral/abductor, 1, 4, 20), \
/* null, \
new/datum/stack_recipe("Abductor Agent Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1), \
new/datum/stack_recipe("Abductor Sciencist Statue", /obj/structure/statue/bananium/clown, 5, one_per_turf = 1, on_floor = 1)*/
))
/obj/item/stack/sheet/mineral/abductor/Initialize(mapload, new_amount, merge = TRUE)
@@ -254,7 +254,6 @@
adjusted_contents++
numbered_contents.Add( new/datum/numbered_display(I) )
//var/mob/living/carbon/human/H = user
var/row_num = 0
var/col_count = min(7,storage_slots) -1
if(adjusted_contents > 7)
@@ -53,11 +53,6 @@
if ("delete")
qdel(src)
//If you want to re-add fire, just add "fire" = 15 to the pick list.
/*if ("fire")
new /obj/structure/closet/firecloset(src.loc)
qdel(src)*/
/*
* Fire Closet
*/
@@ -13,8 +13,6 @@
icon = 'icons/turf/walls/gold_wall.dmi'
icon_state = "gold"
sheet_type = /obj/item/stack/sheet/mineral/gold
//var/electro = 1
//var/shocked = null
explosion_block = 0 //gold is a soft metal you dingus.
canSmoothWith = list(/turf/closed/wall/mineral/gold, /obj/structure/falsewall/gold)
@@ -24,8 +22,6 @@
icon = 'icons/turf/walls/silver_wall.dmi'
icon_state = "silver"
sheet_type = /obj/item/stack/sheet/mineral/silver
//var/electro = 0.75
//var/shocked = null
canSmoothWith = list(/turf/closed/wall/mineral/silver, /obj/structure/falsewall/silver)
/turf/closed/wall/mineral/diamond