Linter Introduction + Cleanup (#8085)

* Adds linter defines to repo.

* Uncomments linter defines already in the code.

* Resolves unreachable code linter errors.

* Nukes decade+ old syndie specops code except for computer since that's mapped in?????

* Resolves procs has no parent linter error.

* Proc signature fixes

* Bad comments

* "In" danger

* Type safety

* Implied nested list abuse

* Top level ..() usage

* Sleepy coder typos

* Invalid kwargs calls

* Pointless returns

* Linter hacks (see full message)

Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.

Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.

* WHATEVER THIS IS

* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars

* Fix list decoration syntax - Its a list, not list of lists

- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax.  Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`

* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.

* Fixes unwrapped negated object in list linter error.

* Resolves colon-like list accessing linter error.

* Turns linter on in linter config.

* Fixes closet indentation properly and cleans up suit storage unit switch.

Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
This commit is contained in:
Neerti
2021-05-25 23:17:26 -04:00
committed by GitHub
parent 9667dad5ba
commit fdabe51ee8
201 changed files with 3551 additions and 3824 deletions
+8 -4
View File
@@ -193,9 +193,9 @@ var/list/GPS_list = list()
dat["curr_y"] = curr.y
dat["curr_z"] = curr.z
dat["curr_z_name"] = strip_improper(using_map.get_zlevel_name(curr.z))
dat["gps_list"] = list()
dat["z_level_detection"] = using_map.get_map_levels(curr.z, long_range)
var/list/gps_list = list()
for(var/obj/item/device/gps/G in GPS_list - src)
if(!can_track(G, dat["z_level_detection"]))
@@ -219,7 +219,9 @@ var/list/GPS_list = list()
gps_data["x"] = T.x
gps_data["y"] = T.y
dat["gps_list"][++dat["gps_list"].len] = gps_data
gps_list[++gps_list.len] = gps_data
dat["gps_list"] = gps_list
return dat
@@ -241,7 +243,8 @@ var/list/GPS_list = list()
dat += "<tr><td colspan = 4>[hide_signal ? "Tagged" : "Broadcasting"] as '[gps_tag]'.</td>"
dat += "<td><a href='?src=\ref[src];tag=1'>\[Change Tag\]</a><a href='?src=\ref[src];range=1'>\[Toggle Scan Range\]</a>[can_hide_signal ? "<a href='?src=\ref[src];hide=1'>\[Toggle Signal Visibility\]</a>":""]</td></tr>"
if(gps_data["gps_list"].len)
var/list/gps_list = gps_data["gps_list"]
if(gps_list.len)
dat += "<tr><td colspan = 6><b>Detected signals</b></td></tr>"
for(var/gps in gps_data["gps_list"])
dat += "<tr>"
@@ -482,7 +485,8 @@ var/list/GPS_list = list()
dat += "<tr><td colspan = 4>[hide_signal ? "Tagged" : "Broadcasting"] as '[gps_tag]'.</td>"
dat += "<td><a href='?src=\ref[src];tag=1'>\[Change Tag\]</a><a href='?src=\ref[src];range=1'>\[Toggle Scan Range\]</a>[can_hide_signal ? "<a href='?src=\ref[src];hide=1'>\[Toggle Signal Visibility\]</a>":""]</td></tr>"
if(gps_data["gps_list"].len)
var/list/gps_list = gps_data["gps_list"]
if(gps_list.len)
dat += "<tr><td colspan = 6><b>Detected signals</b></td></tr>"
for(var/gps in gps_data["gps_list"])
dat += "<tr>"
@@ -15,12 +15,12 @@
. = ..()
var/area/A = get_area(src)
if(A)
GLOB.apc_event.register(A, src, /obj/update_icon)
GLOB.apc_event.register(A, src, /atom/proc/update_icon)
/obj/item/device/radio/intercom/Destroy()
var/area/A = get_area(src)
if(A)
GLOB.apc_event.unregister(A, src, /obj/update_icon)
GLOB.apc_event.unregister(A, src, /atom/proc/update_icon)
return ..()
/obj/item/device/radio/intercom/custom
@@ -537,7 +537,7 @@ GLOBAL_DATUM(autospeaker, /mob/living/silicon/ai/announcer)
for(var/obj/machinery/telecomms/receiver/R in telecomms_list)
R.receive_signal(signal)
if(signal.data["done"] && pos_z in signal.data["level"])
if(signal.data["done"] && (pos_z in signal.data["level"]))
if(adhoc_fallback)
to_chat(loc, "<span class='notice'>\The [src] pings as it reestablishes subspace communications.</span>")
subspace_transmission = TRUE
@@ -79,7 +79,8 @@
var/obj/mecha/M = H.loc
return M.return_temperature()
else if(istype(H.loc, /obj/machinery/atmospherics/unary/cryo_cell))
return H.loc:air_contents.temperature
var/obj/machinery/atmospherics/unary/cryo_cell/cc = H.loc
return cc.air_contents.temperature
var/turf/T = get_turf(src)
if(istype(T, /turf/space))
@@ -62,9 +62,9 @@
/obj/item/device/transfer_valve/Moved(old_loc, direction, forced)
. = ..()
if(isturf(old_loc))
unsense_proximity(callback = .HasProximity, center = old_loc)
unsense_proximity(callback = /atom/proc/HasProximity, center = old_loc)
if(isturf(loc))
sense_proximity(callback = .HasProximity)
sense_proximity(callback = /atom/proc/HasProximity)
/obj/item/device/transfer_valve/attack_self(mob/user as mob)
ui_interact(user)
-1
View File
@@ -248,7 +248,6 @@
var/datum/matter_synth/S = synths[i]
S.use_charge(charge_costs[i] * used) // Doesn't need to be deleted
return 1
return 0
/obj/item/stack/proc/add(var/extra)
if(!uses_charge)
+1 -1
View File
@@ -195,7 +195,7 @@
return FALSE
/obj/item/device/uav/proc/toggle_packed()
if(UAV_ON)
if(state == UAV_ON)
power_down()
switch(state)
if(UAV_OFF) //Packing
+1 -11
View File
@@ -46,17 +46,7 @@
var/datum/autopsy_data/W = O.autopsy_data[V]
if(!W.pretend_weapon)
/*
// the more hits, the more likely it is that we get the right weapon type
if(prob(50 + W.hits * 10 + W.damage))
*/
// Buffing this stuff up for now!
if(1)
W.pretend_weapon = W.weapon
else
W.pretend_weapon = pick("mechanical toolbox", "wirecutters", "revolver", "crowbar", "fire extinguisher", "tomato soup", "oxygen tank", "emergency oxygen tank", "laser", "bullet")
W.pretend_weapon = W.weapon
var/datum/autopsy_data_scanner/D = wdata[V]
if(!D)
@@ -142,11 +142,11 @@
if(user.a_intent)
switch(user.a_intent)
if(I_HURT)
if(prob(10) && istype(target, /mob/living/carbon/human) && user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND))
if(prob(10) && istype(target, /mob/living/carbon/human) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND)))
to_chat(target, "<span class='warning'>\The [src] rips at your hands!</span>")
ranged_disarm(target)
if(I_DISARM)
if(prob(min(90, force * 3)) && istype(target, /mob/living/carbon/human) && user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND))
if(prob(min(90, force * 3)) && istype(target, /mob/living/carbon/human) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND)))
ranged_disarm(target)
else
target.visible_message("<span class='danger'>\The [src] sends \the [target] stumbling away.</span>")
@@ -175,7 +175,7 @@
visible_message("<span class='danger'>[H]'s [W] goes off due to \the [src]!</span>")
return W.afterattack(target,H)
if(!(H.species.flags & NO_SLIP) && prob(10) && user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT))
if(!(H.species.flags & NO_SLIP) && prob(10) && (user.zone_sel in list(BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)))
var/armor_check = H.run_armor_check(user.zone_sel, "melee")
H.apply_effect(3, WEAKEN, armor_check)
playsound(src, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
@@ -45,7 +45,6 @@
var/mob/living/carbon/human/H = src.loc
H.update_inv_l_hand(0)
H.update_inv_r_hand()
..()
// Randomizes color
/obj/item/weapon/melee/umbrella/random/New()
@@ -26,7 +26,7 @@
update_icon()
//Some belts have sprites to show icons
/obj/item/weapon/storage/belt/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0)
/obj/item/weapon/storage/belt/make_worn_icon(var/body_type,var/slot_name,var/inhands,var/default_icon,var/default_layer = 0,var/icon/clip_mask = null)
var/image/standing = ..()
if(!inhands && contents.len)
for(var/obj/item/i in contents)
@@ -66,7 +66,7 @@
overlays.Cut()
if(front_id)
var/tiny_state = "id-generic"
if("id-"+front_id.icon_state in cached_icon_states(icon))
if("id-[front_id.icon_state]" in cached_icon_states(icon))
tiny_state = "id-"+front_id.icon_state
var/image/tiny_image = new/image(icon, icon_state = tiny_state)
tiny_image.appearance_flags = RESET_COLOR
@@ -669,6 +669,6 @@ var/list/global/tank_gauge_cache = list()
/obj/item/device/tankassemblyproxy/Moved(old_loc, direction, forced)
if(isturf(old_loc))
unsense_proximity(callback = .HasProximity, center = old_loc)
unsense_proximity(callback = /atom/proc/HasProximity, center = old_loc)
if(isturf(loc))
sense_proximity(callback = .HasProximity)
sense_proximity(callback = /atom/proc/HasProximity)
@@ -132,7 +132,7 @@ Frequency:
/obj/item/weapon/hand_tele/attack_self(mob/user as mob)
var/turf/current_location = get_turf(user)//What turf is the user on?
if(!current_location || current_location.z in using_map.admin_levels || current_location.block_tele)//If turf was not found or they're on z level 2 or >7 which does not currently exist.
if(!current_location || (current_location.z in using_map.admin_levels) || current_location.block_tele)//If turf was not found or they're on z level 2 or >7 which does not currently exist.
to_chat(user, "<span class='notice'>\The [src] is malfunctioning.</span>")
return
var/list/L = list( )