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