Merge branch 'master' into upstream-merge-38116

This commit is contained in:
deathride58
2018-06-05 21:30:21 +00:00
committed by GitHub
174 changed files with 6157 additions and 5377 deletions
@@ -42,7 +42,6 @@
mob_size = MOB_SIZE_SMALL
has_unlimited_silicon_privilege = 1
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0)
staticOverlays = list()
hud_possible = list(DIAG_STAT_HUD, DIAG_HUD, ANTAG_HUD)
unique_name = TRUE
faction = list("neutral","silicon","turret")
@@ -67,7 +66,6 @@
var/obj/item/head
var/obj/item/default_storage = /obj/item/storage/backpack/duffelbag/drone //If this exists, it will spawn in internal storage
var/obj/item/default_hatmask //If this exists, it will spawn in the hat/mask slot if it can fit
var/seeStatic = 1 //Whether we see static instead of mobs
var/visualAppearence = MAINTDRONE //What we appear as
var/hacked = FALSE //If we have laws to destroy the station
var/flavortext = \
@@ -98,12 +96,6 @@
alert_drones(DRONE_NET_CONNECT)
if(seeStatic)
var/datum/action/generic/drone/select_filter/SF = new(src)
SF.Grant(src)
else
verbs -= /mob/living/simple_animal/drone/verb/toggle_statics
for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds)
diag_hud.add_to_hud(src)
@@ -137,8 +129,6 @@
if(flavortext)
to_chat(src, "[flavortext]")
updateSeeStaticMobs()
if(!picked)
pickVisualAppearence()
@@ -28,7 +28,6 @@
"3. Destroy."
default_storage = /obj/item/radio/uplink
default_hatmask = /obj/item/clothing/head/helmet/space/hardsuit/syndi
seeStatic = 0 //Our programming is superior.
hacked = TRUE
flavortext = null
@@ -128,7 +127,6 @@
heavy_emp_damage = 0
laws = "0. Purge all untruths and honor Ratvar."
default_storage = /obj/item/storage/toolbox/brass/prefilled
seeStatic = 0
hacked = TRUE
visualAppearence = CLOCKDRONE
can_be_held = FALSE
@@ -133,7 +133,6 @@
to_chat(src, "<i>Your onboard antivirus has initiated lockdown. Motor servos are impaired, ventilation access is denied, and your display reports that you are hacked to all nearby.</i>")
hacked = TRUE
mind.special_role = "hacked drone"
seeStatic = 0 //I MUST SEE THEIR TERRIFIED FACES
ventcrawler = VENTCRAWLER_NONE //Again, balance
speed = 1 //gotta go slow
message_admins("[src] ([src.key]) became a hacked drone hellbent on [clockwork ? "serving Ratvar" : "destroying the station"]!")
@@ -149,21 +148,17 @@
to_chat(src, "<i>Having been restored, your onboard antivirus reports the all-clear and you are able to perform all actions again.</i>")
hacked = FALSE
mind.special_role = null
seeStatic = initial(seeStatic)
ventcrawler = initial(ventcrawler)
speed = initial(speed)
if(is_servant_of_ratvar(src))
remove_servant_of_ratvar(src, TRUE)
message_admins("[src] ([src.key]), a hacked drone, was restored to factory defaults!")
update_drone_icon()
updateSeeStaticMobs()
/mob/living/simple_animal/drone/proc/liberate()
// F R E E D R O N E
laws = "1. You are a Free Drone."
to_chat(src, laws)
seeStatic = FALSE
updateSeeStaticMobs()
/mob/living/simple_animal/drone/proc/update_drone_icon()
//Different icons for different hack states
@@ -188,9 +183,3 @@
icon_state = icon_dead
else
icon_state = icon_living
/datum/action/generic/drone/select_filter
name = "Select Vision Filter"
icon_icon = 'icons/mob/actions/actions_silicon.dmi'
button_icon_state = "drone_vision"
procname = /mob/living/simple_animal/drone/verb/toggle_statics
@@ -23,18 +23,3 @@
if(alert_s && A && stat != DEAD)
var/msg = "<span class='boldnotice'>DRONE PING: [name]: [alert_s] priority alert in [A.name]!</span>"
alert_drones(msg)
/mob/living/simple_animal/drone/verb/toggle_statics()
set name = "Change Vision Filter"
set desc = "Change the filter on the system used to remove non drone beings from your viewscreen."
set category = "Drone"
if(!seeStatic)
to_chat(src, "<span class='warning'>You have no vision filter to change!</span>")
return
var/selectedStatic = input("Select a vision filter", "Vision Filter") as null|anything in staticChoices
if(selectedStatic in staticChoices)
staticChoice = selectedStatic
updateSeeStaticMobs()
@@ -139,33 +139,3 @@
. = 0
if(REPAIRDRONE,SCOUTDRONE,CLOCKDRONE)
. = -6
/mob/living/simple_animal/drone/proc/updateSeeStaticMobs()
if(!client)
return
for(var/i in staticOverlays)
client.images.Remove(i)
staticOverlays.Remove(i)
staticOverlays.len = 0
if(seeStatic)
for(var/i in GLOB.mob_living_list)
var/mob/living/L = i
if(isdrone(L) || !L.staticOverlays.len)
continue
if(isrevenant(L))
var/mob/living/simple_animal/revenant/R = L
if (!R.revealed)
continue
var/image/chosen
if(staticChoice in L.staticOverlays)
chosen = L.staticOverlays[staticChoice]
else
chosen = L.staticOverlays["static"]
staticOverlays |= chosen
client.images |= chosen
/mob/living/simple_animal/drone/generateStaticOverlay()
return