Merge branch 'master' into upstream-merge-37486

This commit is contained in:
deathride58
2018-05-06 07:15:48 +00:00
committed by GitHub
727 changed files with 10369 additions and 18653 deletions
@@ -31,7 +31,7 @@
var/window_name = "Protobot 1.0" //Popup title
var/window_width = 0 //0 for default size
var/window_height = 0
var/obj/item/device/paicard/paicard // Inserted pai card.
var/obj/item/paicard/paicard // Inserted pai card.
var/allow_pai = 1 // Are we even allowed to insert a pai card.
var/bot_name
@@ -56,7 +56,7 @@
var/tries = 0 //Number of times the bot tried and failed to move.
var/remote_disabled = 0 //If enabled, the AI cannot *Remotely* control a bot. It can still control it through cameras.
var/mob/living/silicon/ai/calling_ai //Links a bot to the AI calling it.
var/obj/item/device/radio/Radio //The bot's radio, for speaking to people.
var/obj/item/radio/Radio //The bot's radio, for speaking to people.
var/radio_key = null //which channels can the bot listen to
var/radio_channel = "Common" //The bot's default radio channel
var/auto_patrol = 0// set to make bot automatically patrol
@@ -130,7 +130,7 @@
//This access is so bots can be immediately set to patrol and leave Robotics, instead of having to be let out first.
access_card.access += ACCESS_ROBOTICS
set_custom_texts()
Radio = new/obj/item/device/radio(src)
Radio = new/obj/item/radio(src)
if(radio_key)
Radio.keyslot = new radio_key
Radio.subspace_transmission = TRUE
@@ -273,7 +273,7 @@
to_chat(user, "<span class='notice'>The maintenance panel is now [open ? "opened" : "closed"].</span>")
else
to_chat(user, "<span class='warning'>The maintenance panel is locked.</span>")
else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/device/pda))
else if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))
if(bot_core.allowed(user) && !open && !emagged)
locked = !locked
to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]")
@@ -284,7 +284,7 @@
to_chat(user, "<span class='warning'>Please close the access panel before locking it.</span>")
else
to_chat(user, "<span class='warning'>Access denied.</span>")
else if(istype(W, /obj/item/device/paicard))
else if(istype(W, /obj/item/paicard))
insertpai(user, W)
else if(istype(W, /obj/item/hemostat) && paicard)
if(open)
@@ -880,7 +880,7 @@ Pass a positive integer as an argument to override a bot's default speed.
eject += "<BR>"
return eject
/mob/living/simple_animal/bot/proc/insertpai(mob/user, obj/item/device/paicard/card)
/mob/living/simple_animal/bot/proc/insertpai(mob/user, obj/item/paicard/card)
if(paicard)
to_chat(user, "<span class='warning'>A [paicard] is already inserted!</span>")
else if(allow_pai && !key)
@@ -8,7 +8,7 @@
anchored = FALSE
health = 25
maxHealth = 25
radio_key = /obj/item/device/encryptionkey/headset_service
radio_key = /obj/item/encryptionkey/headset_service
radio_channel = "Service" //Service
bot_type = CLEAN_BOT
model = "Cleanbot"
@@ -63,7 +63,7 @@
text_dehack_fail = "[name] does not seem to respond to your repair code!"
/mob/living/simple_animal/bot/cleanbot/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/card/id)||istype(W, /obj/item/device/pda))
if(istype(W, /obj/item/card/id)||istype(W, /obj/item/pda))
if(bot_core.allowed(user) && !open && !emagged)
locked = !locked
to_chat(user, "<span class='notice'>You [ locked ? "lock" : "unlock"] \the [src] behaviour controls.</span>")
@@ -181,7 +181,7 @@
/obj/effect/decal/cleanable/ash,
/obj/effect/decal/cleanable/greenglow,
/obj/effect/decal/cleanable/dirt,
/obj/effect/decal/cleanable/deadcockroach,
/obj/effect/decal/cleanable/insectguts,
/obj/effect/decal/remains
)
@@ -261,7 +261,7 @@
new /obj/item/reagent_containers/glass/bucket(Tsec)
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
if(prob(50))
drop_part(robot_arm, Tsec)
@@ -275,7 +275,7 @@
icon_state = "firstaid_arm"
created_name = "Medibot" //To preserve the name if it's a unique medbot I guess
var/skin = null //Same as medbot, set to tox or ointment for the respective kits.
var/healthanalyzer = /obj/item/device/healthanalyzer
var/healthanalyzer = /obj/item/healthanalyzer
var/firstaid = /obj/item/storage/firstaid
/obj/item/bot_assembly/medbot/Initialize()
@@ -314,7 +314,7 @@
..()
switch(build_step)
if(ASSEMBLY_FIRST_STEP)
if(istype(W, /obj/item/device/healthanalyzer))
if(istype(W, /obj/item/healthanalyzer))
if(!user.temporarilyRemoveItemFromInventory(W))
return
healthanalyzer = W.type
@@ -392,7 +392,7 @@
build_step++
else if(istype(I, /obj/item/screwdriver)) //deconstruct
new /obj/item/device/assembly/signaler(Tsec)
new /obj/item/assembly/signaler(Tsec)
new /obj/item/clothing/head/helmet/sec(Tsec)
to_chat(user, "<span class='notice'>You disconnect the signaler from the helmet.</span>")
qdel(src)
@@ -426,7 +426,7 @@
else if(istype(I, /obj/item/screwdriver)) //deconstruct
cut_overlay("hs_eye")
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
to_chat(user, "<span class='notice'>You detach the proximity sensor from [src].</span>")
build_step--
@@ -12,7 +12,7 @@
environment_smash = ENVIRONMENT_SMASH_WALLS //Walls can't stop THE LAW
mob_size = MOB_SIZE_LARGE
radio_key = /obj/item/device/encryptionkey/headset_sec
radio_key = /obj/item/encryptionkey/headset_sec
radio_channel = "Security"
bot_type = SEC_BOT
model = "ED-209"
@@ -380,7 +380,7 @@ Auto Patrol[]"},
Sa.build_step = 1
Sa.add_overlay("hs_hole")
Sa.created_name = name
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
drop_part(cell_type, Tsec)
if(!lasercolor)
@@ -10,7 +10,7 @@
maxHealth = 25
spacewalk = TRUE
radio_key = /obj/item/device/encryptionkey/headset_eng
radio_key = /obj/item/encryptionkey/headset_eng
radio_channel = "Engineering"
bot_type = FLOOR_BOT
model = "Floorbot"
@@ -370,7 +370,7 @@
drop_part(toolbox, Tsec)
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
if(specialtiles && tiletype != null)
empty_tiles()
@@ -10,7 +10,7 @@
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
pass_flags = PASSMOB
radio_key = /obj/item/device/encryptionkey/headset_service //doesn't have security key
radio_key = /obj/item/encryptionkey/headset_service //doesn't have security key
radio_channel = "Service" //Doesn't even use the radio anyway.
bot_type = HONK_BOT
model = "Honkbot"
@@ -334,7 +334,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
if(prob(50))
drop_part(robot_arm, Tsec)
new bikehorn(Tsec)
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
var/datum/effect_system/spark_spread/s = new
s.set_up(3, 1, src)
@@ -16,7 +16,7 @@
status_flags = (CANPUSH | CANSTUN)
radio_key = /obj/item/device/encryptionkey/headset_med
radio_key = /obj/item/encryptionkey/headset_med
radio_channel = "Medical"
bot_type = MED_BOT
@@ -28,7 +28,7 @@
path_image_color = "#DDDDFF"
var/obj/item/reagent_containers/glass/reagent_glass = null //Can be set to draw from this for reagents.
var/healthanalyzer = /obj/item/device/healthanalyzer
var/healthanalyzer = /obj/item/healthanalyzer
var/firstaid = /obj/item/storage/firstaid
var/skin = null //Set to "tox", "ointment" or "o2" for the other two firstaid kits.
var/mob/living/carbon/patient = null
@@ -530,7 +530,7 @@
var/atom/Tsec = drop_location()
drop_part(firstaid, Tsec)
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
drop_part(healthanalyzer, Tsec)
if(reagent_glass)
@@ -22,7 +22,7 @@
buckle_lying = 0
mob_size = MOB_SIZE_LARGE
radio_key = /obj/item/device/encryptionkey/headset_cargo
radio_key = /obj/item/encryptionkey/headset_cargo
radio_channel = "Supply"
bot_type = MULE_BOT
@@ -61,6 +61,10 @@
set_id(suffix || id || "#[mulebot_count]")
suffix = null
/mob/living/simple_animal/bot/mulebot/ComponentInitialize()
. = ..()
AddComponent(/datum/component/ntnet_interface)
/mob/living/simple_animal/bot/mulebot/Destroy()
unload(0)
qdel(wires)
@@ -694,7 +698,7 @@
visible_message("<span class='boldannounce'>[src] blows apart!</span>")
var/atom/Tsec = drop_location()
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
new /obj/item/stack/rods(Tsec)
new /obj/item/stack/rods(Tsec)
new /obj/item/stack/cable_coil/cut(Tsec)
@@ -725,7 +729,7 @@
else
..()
/mob/living/simple_animal/bot/mulebot/insertpai(mob/user, obj/item/device/paicard/card)
/mob/living/simple_animal/bot/mulebot/insertpai(mob/user, obj/item/paicard/card)
if(..())
visible_message("[src] safeties are locked on.")
@@ -10,7 +10,7 @@
damage_coeff = list(BRUTE = 0.5, BURN = 0.7, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
pass_flags = PASSMOB
radio_key = /obj/item/device/encryptionkey/secbot //AI Priv + Security
radio_key = /obj/item/encryptionkey/secbot //AI Priv + Security
radio_channel = "Security" //Security channel
bot_type = SEC_BOT
model = "Securitron"
@@ -406,7 +406,7 @@ Auto Patrol: []"},
Sa.build_step = 1
Sa.add_overlay("hs_hole")
Sa.created_name = name
new /obj/item/device/assembly/prox_sensor(Tsec)
new /obj/item/assembly/prox_sensor(Tsec)
drop_part(baton_type, Tsec)
if(prob(50))