Merge branch 'master' into upstream-merge-37486
This commit is contained in:
@@ -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))
|
||||
|
||||
Reference in New Issue
Block a user