From ed43b73661a6cd26cc2d31c46863801919b83685 Mon Sep 17 00:00:00 2001
From: Selis <12716288+ItsSelis@users.noreply.github.com>
Date: Sat, 1 Mar 2025 22:14:20 +0100
Subject: [PATCH] [MANUAL MIRROR] Port OD Pragma Lints (#17171) (#10255)
Co-authored-by: Drathek <76988376+Drulikar@users.noreply.github.com>
---
.github/workflows/ci.yml | 16 ++
code/ATMOSPHERICS/pipes/he_pipes.dm | 2 +-
code/ZAS/Airflow.dm | 6 +-
code/ZAS/Fire.dm | 14 +-
code/__byond_version_compat.dm | 8 +-
code/__defines/stat_tracking.dm | 4 +-
code/__odlint.dm | 11 ++
code/__pragmas.dm | 31 ++++
code/_helpers/icons/flatten.dm | 3 +
code/_helpers/pathfinding_ch/jps.dm | 3 +-
code/_helpers/type2type.dm | 24 ++-
code/_helpers/unsorted.dm | 4 +
code/datums/components/_component.dm | 3 +-
code/datums/mind.dm | 2 +-
code/game/antagonist/antagonist_print.dm | 2 +-
code/game/dna/dna2_domutcheck.dm | 2 +-
code/game/dna/dna_modifier.dm | 2 -
.../gamemodes/events/holidays/Holidays.dm | 4 +-
code/game/gamemodes/events/power_failure.dm | 4 +-
code/game/machinery/OpTable.dm | 1 -
code/game/machinery/adv_med.dm | 2 -
code/game/machinery/cloning.dm | 1 -
code/game/machinery/computer/computer.dm | 1 -
code/game/machinery/doors/door_vr.dm | 2 +-
code/game/machinery/machinery.dm | 1 -
code/game/machinery/oxygen_pump.dm | 2 +-
code/game/machinery/telecomms/broadcaster.dm | 2 +-
code/game/machinery/telecomms/logbrowser.dm | 2 +-
code/game/machinery/telecomms/telemonitor.dm | 2 +-
.../machinery/telecomms/traffic_control.dm | 2 +-
code/game/machinery/wall_frames.dm | 4 +-
code/game/memory_profiler_ch.dm | 2 +-
.../items/devices/communicator/helper.dm | 5 +-
code/game/objects/items/devices/defib.dm | 6 +-
code/game/objects/items/devices/flash.dm | 2 +-
.../objects/items/weapons/capture_crystal.dm | 4 +-
.../objects/items/weapons/material/shards.dm | 4 +-
code/game/objects/items/weapons/traps.dm | 2 +-
code/game/objects/micro_structures.dm | 2 -
code/game/objects/mob_spawner_vr.dm | 2 +-
.../structures/crates_lockers/crates.dm | 1 -
code/game/objects/structures/gargoyle.dm | 2 +-
code/game/objects/structures/girders.dm | 1 -
code/game/objects/structures/lattice.dm | 1 -
.../objects/structures/medical_stand_vr.dm | 2 +-
code/game/objects/structures/railing.dm | 1 -
code/game/objects/structures/signs.dm | 4 +-
code/game/objects/structures/transit_tubes.dm | 2 -
.../game/turfs/simulated/outdoors/outdoors.dm | 2 +-
code/modules/admin/verbs/buildmode.dm | 2 +-
.../admin/view_variables/debug_variables.dm | 5 +-
code/modules/ai/_defines.dm | 2 +-
code/modules/ai/ai_holder_movement.dm | 2 +
.../asset_cache/iconforge/universal_icon.dm | 61 ++++++-
code/modules/busy_space_vr/organizations.dm | 2 +-
code/modules/busy_space_yw/organizations.dm | 2 +-
.../preference_setup/general/06_flavor.dm | 2 +
.../client/preference_setup/vore/07_traits.dm | 5 +-
code/modules/clothing/accessories/badges.dm | 2 +-
code/modules/economy/vending.dm | 1 -
code/modules/food/drinkingglass/extras.dm | 2 +-
code/modules/food/food/superfoods_ch.dm | 2 +-
code/modules/food/recipe.dm | 2 +-
code/modules/hydroponics/seed.dm | 4 +-
.../hydroponics/spreading/spreading.dm | 1 -
.../core/special_pins/dir_pin.dm | 2 +-
code/modules/library/lib_items.dm | 1 -
code/modules/materials/sheets/supermatter.dm | 6 +-
code/modules/mob/living/carbon/carbon.dm | 8 +-
code/modules/mob/living/carbon/human/human.dm | 2 +-
code/modules/mob/living/carbon/human/life.dm | 12 +-
code/modules/mob/living/carbon/human/say.dm | 2 +-
.../carbon/human/species/outsider/vox.dm | 2 +-
.../species/shadekin/shadekin_abilities.dm | 6 +-
.../carbon/human/species/station/alraune.dm | 12 +-
.../carbon/human/species/station/greyYW.dm | 2 +-
.../carbon/human/species/station/station.dm | 2 +-
code/modules/mob/living/damage_procs.dm | 8 +-
code/modules/mob/living/living_defense.dm | 4 +-
code/modules/mob/living/silicon/pai/pai_vr.dm | 4 +-
.../silicon/robot/dogborg/dog_sleeper_vr.dm | 4 +-
.../living/silicon/robot/drone/drone_items.dm | 2 +-
code/modules/mob/living/simple_mob/defense.dm | 12 +-
.../subtypes/animal/alien animals/teppi.dm | 4 +-
.../simple_mob/subtypes/animal/sif/kururak.dm | 4 +-
.../simple_mob/subtypes/animal/squirrel.dm | 1 +
.../subtypes/humanoid/possessed_ch.dm | 18 +-
.../simple_mob/subtypes/vore/goia_ch.dm | 3 -
code/modules/mob/mob_grab_specials.dm | 2 +-
.../mob/new_player/preferences_setup.dm | 2 +-
.../hardware/nano_printer.dm | 4 +-
code/modules/overmap/events/event_handler.dm | 2 +-
code/modules/paperwork/paper_bundle.dm | 2 +-
code/modules/persistence/noticeboard_yw.dm | 2 +-
code/modules/planet/virgo3b_vr.dm | 2 +-
code/modules/planet/virgo3c_vr.dm | 2 +-
code/modules/planet/virgo4_vr.dm | 2 +-
.../particle_accelerator.dm | 2 -
code/modules/projectiles/gun.dm | 2 +-
code/modules/projectiles/projectile/hook.dm | 2 +-
code/modules/reagents/hoses/connector.dm | 2 +-
.../dispenser/cartridge_presets_ch.dm | 155 +++++++++++++-----
.../machinery/dispenser/reagent_tank.dm | 1 -
.../reagents/reagents/food_drinks_vr.dm | 2 +
code/modules/samples/samples.dm | 20 +--
.../scripting/Interpreter/Interpreter.dm | 2 +-
code/modules/spells/general/area_teleport.dm | 3 +-
code/modules/xenoarcheaology/finds/special.dm | 2 +-
code/modules/xenoarcheaology/tools/tools.dm | 4 +-
modular_chomp/code/ZAS/Fire_acts.dm | 2 +-
modular_chomp/code/datums/supplypacks/misc.dm | 4 +-
.../species/shadekin/shadekin_abilities.dm | 2 +-
.../mob/living/simple_animal/aliens/synx.dm | 1 +
.../subtypes/humanoid/eclipse/eclipse.dm | 2 +-
.../simple_mob/subtypes/vore/swoopie.dm | 2 +-
.../organs/internal/malignant/malignant.dm | 2 +-
.../dispenser/chem_synthesizer_ch.dm | 2 +-
vorestation.dme | 1 +
118 files changed, 428 insertions(+), 237 deletions(-)
create mode 100644 code/__odlint.dm
create mode 100644 code/__pragmas.dm
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 939c9191df..dc69b9ebcd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -108,6 +108,22 @@ jobs:
with:
outputFile: output-annotations.txt
+ odlint:
+ name: Lint with OpenDream
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/setup-dotnet@v4
+ with:
+ dotnet-version: 9
+ - uses: actions/checkout@v4
+ - uses: robinraju/release-downloader@v1.9
+ with:
+ repository: "OpenDreamProject/OpenDream"
+ tag: "latest"
+ fileName: "DMCompiler_linux-x64.tar.gz"
+ extract: true
+ - run: ./DMCompiler_linux-x64/DMCompiler --suppress-unimplemented vorestation.dme
+
unit_tests:
timeout-minutes: 30
if: ( !contains(github.event.head_commit.message, '[ci skip]') )
diff --git a/code/ATMOSPHERICS/pipes/he_pipes.dm b/code/ATMOSPHERICS/pipes/he_pipes.dm
index 0d9e673e68..9d69f71876 100644
--- a/code/ATMOSPHERICS/pipes/he_pipes.dm
+++ b/code/ATMOSPHERICS/pipes/he_pipes.dm
@@ -118,7 +118,7 @@
heat_limit = H.species.heat_level_3
if(pipe_air.temperature > heat_limit + 1)
- L.apply_damage(4 * log(pipe_air.temperature - heat_limit), BURN, BP_TORSO, used_weapon = "Excessive Heat")
+ L.apply_damage(4 * log(pipe_air.temperature - heat_limit), BURN, BP_TORSO)
//fancy radiation glowing
if(pipe_air.temperature && (icon_temperature > 500 || pipe_air.temperature > 500)) //start glowing at 500K
diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm
index f02943f2f5..2ec1c7186c 100644
--- a/code/ZAS/Airflow.dm
+++ b/code/ZAS/Airflow.dm
@@ -123,15 +123,15 @@ Contains helper procs for airflow, handled in /connection_group.
var/blocked = run_armor_check(BP_HEAD,"melee")
var/soaked = get_armor_soak(BP_HEAD,"melee")
- apply_damage(b_loss/3, BRUTE, BP_HEAD, blocked, soaked, 0, "Airflow")
+ apply_damage(b_loss/3, BRUTE, BP_HEAD, blocked, soaked, 0)
blocked = run_armor_check(BP_TORSO,"melee")
soaked = get_armor_soak(BP_TORSO,"melee")
- apply_damage(b_loss/3, BRUTE, BP_TORSO, blocked, soaked, 0, "Airflow")
+ apply_damage(b_loss/3, BRUTE, BP_TORSO, blocked, soaked, 0)
blocked = run_armor_check(BP_GROIN,"melee")
soaked = get_armor_soak(BP_GROIN,"melee")
- apply_damage(b_loss/3, BRUTE, BP_GROIN, blocked, soaked, 0, "Airflow")
+ apply_damage(b_loss/3, BRUTE, BP_GROIN, blocked, soaked, 0)
if(airflow_speed > 10)
Paralyse(round(airflow_speed * vsc.airflow_stun))
diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm
index 834b5ce5fc..c2bc3b31be 100644
--- a/code/ZAS/Fire.dm
+++ b/code/ZAS/Fire.dm
@@ -436,10 +436,10 @@ If it gains pressure too slowly, it may leak or just rupture instead of explodin
//Always check these damage procs first if fire damage isn't working. They're probably what's wrong.
- apply_damage(2.5*mx*head_exposure, BURN, BP_HEAD, 0, 0, "Fire")
- apply_damage(2.5*mx*chest_exposure, BURN, BP_TORSO, 0, 0, "Fire")
- apply_damage(2.0*mx*groin_exposure, BURN, BP_GROIN, 0, 0, "Fire")
- apply_damage(0.6*mx*legs_exposure, BURN, BP_L_LEG, 0, 0, "Fire")
- apply_damage(0.6*mx*legs_exposure, BURN, BP_R_LEG, 0, 0, "Fire")
- apply_damage(0.4*mx*arms_exposure, BURN, BP_L_ARM, 0, 0, "Fire")
- apply_damage(0.4*mx*arms_exposure, BURN, BP_R_ARM, 0, 0, "Fire")
+ apply_damage(2.5*mx*head_exposure, BURN, BP_HEAD, 0, 0)
+ apply_damage(2.5*mx*chest_exposure, BURN, BP_TORSO, 0, 0)
+ apply_damage(2.0*mx*groin_exposure, BURN, BP_GROIN, 0, 0)
+ apply_damage(0.6*mx*legs_exposure, BURN, BP_L_LEG, 0, 0)
+ apply_damage(0.6*mx*legs_exposure, BURN, BP_R_LEG, 0, 0)
+ apply_damage(0.4*mx*arms_exposure, BURN, BP_L_ARM, 0, 0)
+ apply_damage(0.4*mx*arms_exposure, BURN, BP_R_ARM, 0, 0)
diff --git a/code/__byond_version_compat.dm b/code/__byond_version_compat.dm
index 9f2bd989be..7f2b4aefe7 100644
--- a/code/__byond_version_compat.dm
+++ b/code/__byond_version_compat.dm
@@ -5,11 +5,13 @@
#define ATAN2(x, y) arctan(x, y)
#define between(x, y, z) clamp(y, x, z)
-// Update this whenever you need to take advantage of more recent byond features
+// This file contains defines allowing targeting byond versions newer than the supported
+
+//Update this whenever you need to take advantage of more recent byond features
#define MIN_COMPILER_VERSION 515
#define MIN_COMPILER_BUILD 1590
-#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM)
-// Don't forget to update this part
+#if (DM_VERSION < MIN_COMPILER_VERSION || DM_BUILD < MIN_COMPILER_BUILD) && !defined(SPACEMAN_DMM) && !defined(OPENDREAM)
+//Don't forget to update this part
#error Your version of BYOND is too out-of-date to compile this project. Go to https://secure.byond.com/download and update.
#error You need version 515.1590 or higher
#endif
diff --git a/code/__defines/stat_tracking.dm b/code/__defines/stat_tracking.dm
index 79337bda5c..e7fb001abc 100644
--- a/code/__defines/stat_tracking.dm
+++ b/code/__defines/stat_tracking.dm
@@ -1,7 +1,7 @@
//
// Defines used for advanced performance profiling of subsystems.
// Currently used only by SSoverlays (2018-02-24 ~Leshana)
-//
+//
#define STAT_ENTRY_TIME 1
#define STAT_ENTRY_COUNT 2
#define STAT_ENTRY_LENGTH 2
@@ -14,4 +14,4 @@
var/STAT_INCR_AMOUNT = min(1, 2**round((STAT_ENTRY[STAT_ENTRY_COUNT] || 0)/SHORT_REAL_LIMIT));\
if (STAT_INCR_AMOUNT == 1 || prob(100/STAT_INCR_AMOUNT)) {\
STAT_ENTRY[STAT_ENTRY_COUNT] += STAT_INCR_AMOUNT;\
- };\
+ };
diff --git a/code/__odlint.dm b/code/__odlint.dm
new file mode 100644
index 0000000000..f425171337
--- /dev/null
+++ b/code/__odlint.dm
@@ -0,0 +1,11 @@
+// This file is included right at the start of the DME.
+// Its purpose is to enable multiple lints (pragmas) that are supported by OpenDream to better validate the codebase
+// These are essentially nitpicks the DM compiler should pick up on but doesnt
+
+#ifndef SPACEMAN_DMM
+#ifdef OPENDREAM
+// These are in their own file as you need to do it with an include as a hack to avoid
+// SpacemanDMM evaluating the #pragma lines, even if its outside a block it cares about
+#include "__pragmas.dm"
+#endif
+#endif
diff --git a/code/__pragmas.dm b/code/__pragmas.dm
new file mode 100644
index 0000000000..29d4b07971
--- /dev/null
+++ b/code/__pragmas.dm
@@ -0,0 +1,31 @@
+//1000-1999
+// CHOMPEdit - We have to currently set the FileAlreadyIncluded pragma to warning, because of how the turfpack generation works.
+#pragma FileAlreadyIncluded warning
+#pragma MissingIncludedFile error
+#pragma MisplacedDirective error
+#pragma UndefineMissingDirective error
+#pragma DefinedMissingParen error
+#pragma ErrorDirective error
+#pragma WarningDirective error
+#pragma MiscapitalizedDirective error
+
+//2000-2999
+#pragma SoftReservedKeyword error
+#pragma DuplicateVariable error
+#pragma DuplicateProcDefinition error
+#pragma PointlessParentCall error
+#pragma PointlessBuiltinCall error
+#pragma SuspiciousMatrixCall error
+#pragma MalformedRange error
+#pragma InvalidRange error
+#pragma InvalidSetStatement error
+#pragma InvalidOverride error
+#pragma DanglingVarType error
+#pragma MissingInterpolatedExpression error
+#pragma InvalidIndexOperation error
+#pragma PointlessPositionalArgument error
+#pragma ProcArgumentGlobal error
+
+//3000-3999
+#pragma EmptyBlock error
+#pragma AmbiguousInOrder error
diff --git a/code/_helpers/icons/flatten.dm b/code/_helpers/icons/flatten.dm
index 0435f7b6e1..e92fb896fb 100644
--- a/code/_helpers/icons/flatten.dm
+++ b/code/_helpers/icons/flatten.dm
@@ -90,8 +90,11 @@
var/ourdir = dir
if(!none && ourdir != SOUTH)
if(length(icon_states(icon(icon, state, NORTH))))
+ pass()
else if(length(icon_states(icon(icon, state, EAST))))
+ pass()
else if(length(icon_states(icon(icon, state, WEST))))
+ pass()
else
ourdir = SOUTH
diff --git a/code/_helpers/pathfinding_ch/jps.dm b/code/_helpers/pathfinding_ch/jps.dm
index 9e1cdb5147..0ae5876315 100644
--- a/code/_helpers/pathfinding_ch/jps.dm
+++ b/code/_helpers/pathfinding_ch/jps.dm
@@ -512,8 +512,7 @@ GLOBAL_VAR_INIT(jps_visualization_resolve, TRUE)
#endif
// check it's 1. there and 2. we haven't checked it yet and
// 3. we can reach it; if not this is just pointless
- if(isnull(cscan_current) || (cscan_current.pathfinding_cycle == cycle) || !JPS_ADJACENCY_CALL(node_top_pos, cscan_current))
- else
+ if(!(isnull(cscan_current) || (cscan_current.pathfinding_cycle == cycle) || !JPS_ADJACENCY_CALL(node_top_pos, cscan_current)))
// perform iteration
JPS_CARDINAL_SCAN(cscan_current, node_top_dir)
diff --git a/code/_helpers/type2type.dm b/code/_helpers/type2type.dm
index 0e0dd58295..e7f779c508 100644
--- a/code/_helpers/type2type.dm
+++ b/code/_helpers/type2type.dm
@@ -48,7 +48,7 @@
while (i)
var/char = text2ascii(hex, i)
switch(char)
- if(48) // 0 -- do nothing
+ if(48) pass() // 0 -- do nothing
if(49 to 57) num += (char - 48) * power // 1-9
if(97, 65) num += power * 10 // A
if(98, 66) num += power * 11 // B
@@ -166,6 +166,28 @@
if (NORTHWEST) return 315
if (SOUTHWEST) return 225
+/// Returns a list(x, y), being the change in position required to step in the passed in direction
+/proc/dir2offset(dir)
+ switch(dir)
+ if(NORTH)
+ return list(0, 1)
+ if(SOUTH)
+ return list(0, -1)
+ if(EAST)
+ return list(1, 0)
+ if(WEST)
+ return list(-1, 0)
+ if(NORTHEAST)
+ return list(1, 1)
+ if(SOUTHEAST)
+ return list(1, -1)
+ if(NORTHWEST)
+ return list(-1, 1)
+ if(SOUTHWEST)
+ return list(-1, -1)
+ else
+ return list(0, 0)
+
// Converts a blend_mode constant to one acceptable to icon.Blend()
/proc/blendMode2iconMode(blend_mode)
switch (blend_mode)
diff --git a/code/_helpers/unsorted.dm b/code/_helpers/unsorted.dm
index 072d34b96c..2344935a1d 100644
--- a/code/_helpers/unsorted.dm
+++ b/code/_helpers/unsorted.dm
@@ -1529,6 +1529,10 @@ var/mob/dview/dview_mob = new
return !QDELETED(D)
return FALSE
+/// No op
+/proc/pass(...)
+ return
+
//gives us the stack trace from CRASH() without ending the current proc.
/proc/stack_trace(msg)
CRASH(msg)
diff --git a/code/datums/components/_component.dm b/code/datums/components/_component.dm
index e52d917b48..d5caf60cf3 100644
--- a/code/datums/components/_component.dm
+++ b/code/datums/components/_component.dm
@@ -281,7 +281,8 @@
var/datum/component/C = dc[c_type]
if(C)
if(length(C))
- C = C[1]
+ var/list/component_list = C
+ C = component_list[1]
if(C.type == c_type)
return C
return null
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 6f693e9c49..907e484fc3 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -353,7 +353,7 @@
to_chat(H, span_danger("You somehow have become the recepient of a loyalty transplant, and it just activated!"))
H.implant_loyalty(override = TRUE)
log_admin("[key_name_admin(usr)] has loyalty implanted [current].")
- else
+
else if (href_list["silicon"])
BITSET(current.hud_updateflag, SPECIALROLE_HUD)
switch(href_list["silicon"])
diff --git a/code/game/antagonist/antagonist_print.dm b/code/game/antagonist/antagonist_print.dm
index 15ed54af49..d17f5d1080 100644
--- a/code/game/antagonist/antagonist_print.dm
+++ b/code/game/antagonist/antagonist_print.dm
@@ -51,7 +51,7 @@
/datum/antagonist/proc/print_player_lite(var/datum/mind/ply)
var/role = ply.assigned_role ? "\improper[ply.assigned_role]" : "\improper[ply.special_role]"
- var/text = "
" + span_bold("[ply.name]") + " (" + span_bold("[ply.key]") + ") as \a " + span_bold("[role]") + " ("
+ var/text = "
" + span_bold("[ply.name]") + " (" + span_bold("[ply.key]") + ") as " + span_bold("\a [role]") + " ("
if(ply.current)
if(ply.current.stat == DEAD)
text += "died"
diff --git a/code/game/dna/dna2_domutcheck.dm b/code/game/dna/dna2_domutcheck.dm
index 85c6f812fc..01efc770bb 100644
--- a/code/game/dna/dna2_domutcheck.dm
+++ b/code/game/dna/dna2_domutcheck.dm
@@ -19,7 +19,7 @@
if(!M || !M.dna)
return
if(gene.block)
- if(gene.name in M.active_genes || gene.flags & GENE_ALWAYS_ACTIVATE)
+ if((gene.name in M.active_genes) || gene.flags & GENE_ALWAYS_ACTIVATE)
enabled_genes.Add(gene)
else
disabled_genes.Add(gene)
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index 99b8d854ce..3b1784a1fb 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -298,7 +298,6 @@
ex_act(severity)
qdel(src)
return
- else
return
/obj/machinery/computer/scan_consolenew
@@ -356,7 +355,6 @@
if(prob(50))
qdel(src)
return
- else
return
/obj/machinery/computer/scan_consolenew/Initialize()
diff --git a/code/game/gamemodes/events/holidays/Holidays.dm b/code/game/gamemodes/events/holidays/Holidays.dm
index 328b68a73a..62a1b19396 100644
--- a/code/game/gamemodes/events/holidays/Holidays.dm
+++ b/code/game/gamemodes/events/holidays/Holidays.dm
@@ -266,7 +266,7 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t
for(var/blurb in holiday_blurbs)
to_world(span_filter_system(span_blue("
[blurb]
")))
switch(Holiday) //special holidays
- if("Easter")
+ //if("Easter")
//do easter stuff
if("Christmas Eve","Christmas")
Christmas_Game_Start()
@@ -278,7 +278,7 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t
if(isemptylist(Holiday))
return 0
switch(Holiday) //special holidays
- if("Easter") //I'll make this into some helper procs at some point
+ //if("Easter") //I'll make this into some helper procs at some point
/* var/list/turf/simulated/floor/Floorlist = list()
for(var/turf/simulated/floor/T)
if(T.contents)
diff --git a/code/game/gamemodes/events/power_failure.dm b/code/game/gamemodes/events/power_failure.dm
index 5ebf1e07bc..bc01308fce 100644
--- a/code/game/gamemodes/events/power_failure.dm
+++ b/code/game/gamemodes/events/power_failure.dm
@@ -7,7 +7,7 @@
for(var/obj/machinery/power/smes/S in GLOB.smeses)
var/area/current_area = get_area(S)
- if(current_area.type in skipped_areas || !(S.z in using_map.station_levels))
+ if((current_area.type in skipped_areas) || !(S.z in using_map.station_levels))
continue
S.last_charge = S.charge
S.last_output_attempt = S.output_attempt
@@ -33,7 +33,7 @@
C.cell.charge = C.cell.maxcharge
for(var/obj/machinery/power/smes/S in GLOB.smeses)
var/area/current_area = get_area(S)
- if(current_area.type in skipped_areas || isNotStationLevel(S.z))
+ if((current_area.type in skipped_areas) || isNotStationLevel(S.z))
continue
S.charge = S.last_charge
S.output_attempt = S.last_output_attempt
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index 7d9d97acb7..27c0919106 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -39,7 +39,6 @@
if(3.0)
if(prob(25))
density = FALSE
- else
return
/obj/machinery/optable/attack_hand(mob/user as mob)
diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index 2f1eb960f9..5d5c2afb4d 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -161,7 +161,6 @@
//SN src = null
qdel(src)
return
- else
return
/obj/machinery/bodyscanner/tgui_host(mob/user)
@@ -628,7 +627,6 @@
//SN src = null
qdel(src)
return
- else
return
/obj/machinery/body_scanconsole/proc/findscanner()
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 6411223e13..8fdc228f55 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -440,7 +440,6 @@
ex_act(severity)
qdel(src)
return
- else
return
/obj/machinery/clonepod/update_icon()
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index ed57ca45a2..9bf2249097 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -56,7 +56,6 @@
for(var/x in verbs)
src.verbs -= x
set_broken()
- else
return
/obj/machinery/computer/bullet_act(var/obj/item/projectile/Proj)
diff --git a/code/game/machinery/doors/door_vr.dm b/code/game/machinery/doors/door_vr.dm
index 1c663cc065..cca71ec8d5 100644
--- a/code/game/machinery/doors/door_vr.dm
+++ b/code/game/machinery/doors/door_vr.dm
@@ -85,7 +85,7 @@
var/obj/item/weldingtool/welder = I.get_welder()
if(welder.remove_fuel(0,user))
- to_chat(user, span_notice("You start weld \the plasteel into place."))
+ to_chat(user, span_notice("You start welding the plasteel into place."))
playsound(src, welder.usesound, 50, 1)
if(do_after(user, 10 * welder.toolspeed) && welder && welder.isOn())
to_chat(user, span_notice("You finish reinforcing \the [src]."))
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 9006a66545..51bfb68a63 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -196,7 +196,6 @@ Class Procs:
if(prob(25))
fall_apart(severity)
return
- else
return
/obj/machinery/vv_edit_var(var/var_name, var/new_value)
diff --git a/code/game/machinery/oxygen_pump.dm b/code/game/machinery/oxygen_pump.dm
index 9385b6574b..251fd3111c 100644
--- a/code/game/machinery/oxygen_pump.dm
+++ b/code/game/machinery/oxygen_pump.dm
@@ -121,7 +121,7 @@
return
//when there is a breather:
if(breather && target != breather)
- to_chat(user, span_warning("\The pump is already in use."))
+ to_chat(user, span_warning("\The [src] is already in use."))
return
//Checking if breather is still valid
if(target == breather && target.wear_mask != contained)
diff --git a/code/game/machinery/telecomms/broadcaster.dm b/code/game/machinery/telecomms/broadcaster.dm
index 3558c0754c..786cc2bbd7 100644
--- a/code/game/machinery/telecomms/broadcaster.dm
+++ b/code/game/machinery/telecomms/broadcaster.dm
@@ -737,7 +737,7 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
/atom/proc/test_telecomms()
var/datum/signal/signal = src.telecomms_process()
var/pos_z = get_z(src)
- return (pos_z in signal.data["level"] && signal.data["done"])
+ return ((pos_z in signal.data["level"]) && signal.data["done"])
/atom/proc/telecomms_process(var/do_sleep = 1)
diff --git a/code/game/machinery/telecomms/logbrowser.dm b/code/game/machinery/telecomms/logbrowser.dm
index 7bdccd06db..234065a7e2 100644
--- a/code/game/machinery/telecomms/logbrowser.dm
+++ b/code/game/machinery/telecomms/logbrowser.dm
@@ -131,7 +131,7 @@
var/newnet = tgui_input_text(ui.user, "Which network do you want to view?", "Comm Monitor", network, 15)
newnet = sanitize(newnet,15)
- if(newnet && ((ui.user in range(1, src) || issilicon(ui.user))))
+ if(newnet && ((ui.user in range(1, src)) || issilicon(ui.user)))
if(length(newnet) > 15)
set_temp("FAILED: NETWORK TAG STRING TOO LENGTHY", "bad")
return TRUE
diff --git a/code/game/machinery/telecomms/telemonitor.dm b/code/game/machinery/telecomms/telemonitor.dm
index 2042e3611b..d5d29ad838 100644
--- a/code/game/machinery/telecomms/telemonitor.dm
+++ b/code/game/machinery/telecomms/telemonitor.dm
@@ -102,7 +102,7 @@
if("network")
var/newnet = tgui_input_text(ui.user, "Which network do you want to view?", "Comm Monitor", network, 15)
newnet = sanitize(newnet,15) //Honestly, I'd be amazed if someone managed to do HTML in 15 chars.
- if(newnet && ((ui.user in range(1, src) || issilicon(ui.user))))
+ if(newnet && ((ui.user in range(1, src)) || issilicon(ui.user)))
if(length(newnet) > 15)
set_temp("FAILED: NETWORK TAG STRING TOO LENGTHY", "bad")
return TRUE
diff --git a/code/game/machinery/telecomms/traffic_control.dm b/code/game/machinery/telecomms/traffic_control.dm
index 73e1e111f3..9d3da2bef7 100644
--- a/code/game/machinery/telecomms/traffic_control.dm
+++ b/code/game/machinery/telecomms/traffic_control.dm
@@ -195,7 +195,7 @@
var/newnet = tgui_input_text(usr, "Which network do you want to view?", "Comm Monitor", network, 15)
newnet = sanitize(newnet,15)
- if(newnet && ((usr in range(1, src) || issilicon(usr))))
+ if(newnet && ((usr in range(1, src)) || issilicon(usr)))
if(length(newnet) > 15)
temp = "- FAILED: NETWORK TAG STRING TOO LENGHTLY -"
diff --git a/code/game/machinery/wall_frames.dm b/code/game/machinery/wall_frames.dm
index e1aefd2468..61330cb291 100644
--- a/code/game/machinery/wall_frames.dm
+++ b/code/game/machinery/wall_frames.dm
@@ -70,11 +70,11 @@
var/turf/loc = get_turf(user)
var/area/A = loc.loc
if(!istype(loc, /turf/simulated/floor))
- to_chat(user, span_danger("\The frame cannot be placed on this spot."))
+ to_chat(user, span_danger("\The [src] cannot be placed on this spot."))
return
if(A.requires_power == 0 || A.name == "Space")
- to_chat(user, span_danger("\The [src] Alarm cannot be placed in this area."))
+ to_chat(user, span_danger("\The [src] cannot be placed in this area."))
return
if(gotwallitem(loc, ndir))
diff --git a/code/game/memory_profiler_ch.dm b/code/game/memory_profiler_ch.dm
index 75c4a65fca..fb2c4afd28 100644
--- a/code/game/memory_profiler_ch.dm
+++ b/code/game/memory_profiler_ch.dm
@@ -138,7 +138,7 @@
by_variable[variable] += 16
/proc/list_memory_size(list/L,list/list_of_lists,list/recursed_from)
- if(L in recursed_from || LAZYLEN(recursed_from) > 64 || (LAZYLEN(recursed_from) && (L in list_of_lists))) return 0
+ if((L in recursed_from) || LAZYLEN(recursed_from) > 64 || (LAZYLEN(recursed_from) && (L in list_of_lists))) return 0
if(LAZYLEN(recursed_from) && refcount(L) > 4)
if(L in list_of_lists) list_of_lists[L]++
else list_of_lists[L] = 1
diff --git a/code/game/objects/items/devices/communicator/helper.dm b/code/game/objects/items/devices/communicator/helper.dm
index 2890f34620..769098d622 100644
--- a/code/game/objects/items/devices/communicator/helper.dm
+++ b/code/game/objects/items/devices/communicator/helper.dm
@@ -393,8 +393,9 @@
// Copied from /obj/machinery/computer/supplycomp/ui_interact(),
// code\game\machinery\computer\supply.dm, starting at line 55
/obj/item/commcard/proc/get_supply_shuttle_status()
- var/shuttle_status[0]
+ var/list/shuttle_status = list()
var/datum/shuttle/autodock/ferry/supply/shuttle = SSsupply.shuttle
+
if(shuttle)
if(shuttle.has_arrive_time())
shuttle_status["location"] = "In transit"
@@ -445,7 +446,7 @@
shuttle_status["engine"] = "Engaged"
else
- shuttle["mode"] = SUP_SHUTTLE_ERROR
+ shuttle_status["mode"] = SUP_SHUTTLE_ERROR
return shuttle_status
diff --git a/code/game/objects/items/devices/defib.dm b/code/game/objects/items/devices/defib.dm
index a2632d85ac..d43a8a7a10 100644
--- a/code/game/objects/items/devices/defib.dm
+++ b/code/game/objects/items/devices/defib.dm
@@ -272,11 +272,7 @@
//Checks for various conditions to see if the mob is revivable
/obj/item/shockpaddles/proc/can_defib(mob/living/carbon/human/H) //This is checked before doing the defib operation
- //CHOMPEdit Begin - Vox can be revived with jumper cables
- if(H.get_species() == SPECIES_VOX && use_on_synthetic)
- // Will silently continue to the other two checks.
- //CHOMPEdit End - Edit included the else on the next line.
- else if((H.species.flags & NO_DEFIB))
+ if((H.species.flags & NO_DEFIB))
return "buzzes, \"Incompatible physiology. Operation aborted.\""
else if(H.isSynthetic() && !use_on_synthetic)
return "buzzes, \"Synthetic Body. Operation aborted.\""
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index f059cfc494..6a3783e081 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -195,7 +195,7 @@
H.eye_blurry = max(H.eye_blurry, flash_strength + 5)
H.flash_eyes()
H.adjustHalLoss(halloss_per_flash * (flash_strength / 5)) // Should take four flashes to stun.
- H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0, "Photon burns")
+ H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0)
else
flashfail = 1
diff --git a/code/game/objects/items/weapons/capture_crystal.dm b/code/game/objects/items/weapons/capture_crystal.dm
index 6e5e2ebdca..c26b6b398c 100644
--- a/code/game/objects/items/weapons/capture_crystal.dm
+++ b/code/game/objects/items/weapons/capture_crystal.dm
@@ -483,8 +483,8 @@
//IF the crystal somehow ends up in a tummy and digesting with a bound mob who doesn't want to be eaten, let's move them to the ground
/obj/item/capture_crystal/digest_act(var/atom/movable/item_storage = null)
- if(bound_mob) //CHOMPEdit
- if(bound_mob in contents && !bound_mob.devourable)
+ if(bound_mob) // CHOMPEdit
+ if((bound_mob in contents) && !bound_mob.devourable)
bound_mob.forceMove(src.drop_location())
return ..()
diff --git a/code/game/objects/items/weapons/material/shards.dm b/code/game/objects/items/weapons/material/shards.dm
index b04f6926d0..a2a28d4df8 100644
--- a/code/game/objects/items/weapons/material/shards.dm
+++ b/code/game/objects/items/weapons/material/shards.dm
@@ -89,11 +89,11 @@
if(user.gloves && !protected_hands)
to_chat(user, span_warning("\The [src] partially cuts into your hand through your gloves as you hit \the [target]!"))
- user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src, src.sharp, src.edge) // Ternary to include break damage
+ user.apply_damage(light_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src.sharp, src.edge, src) // Ternary to include break damage
else if(!user.gloves)
to_chat(user, span_warning("\The [src] cuts into your hand as you hit \the [target]!"))
- user.apply_damage(no_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src, src.sharp, src.edge)
+ user.apply_damage(no_glove_d + will_break ? break_damage : 0, BRUTE, active_hand, 0, 0, src.sharp, src.edge, src)
if(will_break && src.loc == user) // If it's not in our hand anymore
user.visible_message(span_danger("[user] hit \the [target] with \the [src], shattering it!"), span_warning("You shatter \the [src] in your hand!"))
diff --git a/code/game/objects/items/weapons/traps.dm b/code/game/objects/items/weapons/traps.dm
index 197c043825..afbb7acc8d 100644
--- a/code/game/objects/items/weapons/traps.dm
+++ b/code/game/objects/items/weapons/traps.dm
@@ -352,7 +352,7 @@
L.add_modifier(/datum/modifier/entangled, 3 SECONDS)
- if(!L.apply_damage(force * (issilicon(L) ? 0.25 : 1), BRUTE, target_zone, blocked, soaked, src, sharp, edge))
+ if(!L.apply_damage(force * (issilicon(L) ? 0.25 : 1), BRUTE, target_zone, blocked, soaked, sharp, edge, src))
return
playsound(src, 'sound/effects/glass_step.ogg', 50, 1) // not sure how to handle metal shards with sounds
diff --git a/code/game/objects/micro_structures.dm b/code/game/objects/micro_structures.dm
index b4325b0c01..c402de3a5f 100644
--- a/code/game/objects/micro_structures.dm
+++ b/code/game/objects/micro_structures.dm
@@ -70,7 +70,6 @@ var/global/list/micro_tunnels = list()
for(var/datum/planet/P in SSplanets.planets)
if(myturf.z in P.expected_z_levels)
planet = P
- else
for(var/obj/structure/micro_tunnel/t in micro_tunnels)
if(t == src)
continue
@@ -85,7 +84,6 @@ var/global/list/micro_tunnels = list()
if(targetturf.z in planet.expected_z_levels)
destinations |= t
continue
- else
var/above = GetAbove(myturf)
if(above && t.z == z + 1)
destinations |= t
diff --git a/code/game/objects/mob_spawner_vr.dm b/code/game/objects/mob_spawner_vr.dm
index 1605fd2f5e..56318a0aae 100644
--- a/code/game/objects/mob_spawner_vr.dm
+++ b/code/game/objects/mob_spawner_vr.dm
@@ -181,7 +181,7 @@ It also makes it so a ghost wont know where all the goodies/mobs are.
/obj/structure/mob_spawner/scanner/proc/CheckProximity(atom/movable/AM,turf/new_loc)
- if(AM in mobs_in_range && (!AM || get_dist(src,new_loc) > range))
+ if((AM in mobs_in_range) && (!AM || get_dist(src,new_loc) > range))
mobs_in_range -= AM
//CHOMPEdit End
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 3aa6bb2076..1613b30b49 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -152,7 +152,6 @@
if (prob(50))
qdel(src)
return
- else
return
/obj/structure/closet/crate/secure
diff --git a/code/game/objects/structures/gargoyle.dm b/code/game/objects/structures/gargoyle.dm
index aee62c0f20..e467837a85 100644
--- a/code/game/objects/structures/gargoyle.dm
+++ b/code/game/objects/structures/gargoyle.dm
@@ -40,7 +40,7 @@
comp.paused = FALSE
identifier = length(comp.identifier) > 0 ? comp.identifier : initial(identifier)
material = length(comp.material) > 0 ? comp.material : initial(material)
- tint = length(comp.tint) > 0 ? comp.tint : initial(tint)
+ tint = length(comp.tint) > 0 ? comp.tint : initial(comp.tint)
adjective = length(comp.adjective) > 0 ? comp.adjective : initial(adjective)
if (copytext_char(adjective, -1) != "s")
adjective += "s"
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index d47ae49395..d9a192039c 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -321,7 +321,6 @@
if (prob(5))
dismantle()
return
- else
return
/obj/structure/girder/cult
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index d84c9b3e50..8b3aebafe1 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -50,7 +50,6 @@
return
if(3.0)
return
- else
return
/obj/structure/lattice/attackby(obj/item/C as obj, mob/user as mob)
diff --git a/code/game/objects/structures/medical_stand_vr.dm b/code/game/objects/structures/medical_stand_vr.dm
index 050027b329..2f5dae3ff0 100644
--- a/code/game/objects/structures/medical_stand_vr.dm
+++ b/code/game/objects/structures/medical_stand_vr.dm
@@ -275,7 +275,7 @@
to_chat(user, span_warning("There is no tank in \the [src]."))
return
if(is_loosen)
- to_chat(user, span_warning("Tighten \the nut with a wrench first."))
+ to_chat(user, span_warning("Tighten the nut with a wrench first."))
return
if(!Adjacent(target))
return
diff --git a/code/game/objects/structures/railing.dm b/code/game/objects/structures/railing.dm
index 863f957c1f..46283b7d2c 100644
--- a/code/game/objects/structures/railing.dm
+++ b/code/game/objects/structures/railing.dm
@@ -277,7 +277,6 @@
if(3.0)
qdel(src)
return
- else
return
// Duplicated from structures.dm, but its a bit different.
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index aac38c3da7..54f68dff35 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -1855,7 +1855,7 @@
desc = "The red flag of the Five Arrows."
description_fluff = "The Five Arrows is an independent government entity that seceded from the Solar Confederate Government in 2570, in response to perceived \
failures in aiding the Sagittarius Heights during the Skathari Incursion. The success of the government in achieving effective local defense and prosperity has \
- since attracted the membership of Kauq'xum, a remote Skrellian colony. \The Five Arrows formed the model for SolGov's own semi-autonomous \"Regional Blocs\"."
+ since attracted the membership of Kauq'xum, a remote Skrellian colony. The Five Arrows formed the model for SolGov's own semi-autonomous \"Regional Blocs\"."
icon_state = "fivearrows"
flagtype = /obj/item/flag/fivearrows
@@ -1870,7 +1870,7 @@
desc = "The red flag of the Five Arrows."
description_fluff = "The Five Arrows is an independent government entity that seceded from the Solar Confederate Government in 2570, in response to perceived \
failures in aiding the Sagittarius Heights during the Skathari Incursion. The success of the government in achieving effective local defense and prosperity has \
- since attracted the membership of Kauq'xum, a remote Skrellian colony. \The Five Arrows formed the model for SolGov's own semi-autonomous \"Regional Blocs\"."
+ since attracted the membership of Kauq'xum, a remote Skrellian colony. The Five Arrows formed the model for SolGov's own semi-autonomous \"Regional Blocs\"."
flag_path = "fivearrows"
/obj/item/flag/fivearrows/l
diff --git a/code/game/objects/structures/transit_tubes.dm b/code/game/objects/structures/transit_tubes.dm
index 2a3e25fee1..29bf0b9535 100644
--- a/code/game/objects/structures/transit_tubes.dm
+++ b/code/game/objects/structures/transit_tubes.dm
@@ -581,7 +581,6 @@
return 6
if("SOUTHWEST", "SW")
return 10
- else
return 0
@@ -606,5 +605,4 @@
return "NW"
if(10)
return "SW"
- else
return
diff --git a/code/game/turfs/simulated/outdoors/outdoors.dm b/code/game/turfs/simulated/outdoors/outdoors.dm
index 65ece4e2a5..604ab5d038 100644
--- a/code/game/turfs/simulated/outdoors/outdoors.dm
+++ b/code/game/turfs/simulated/outdoors/outdoors.dm
@@ -52,7 +52,7 @@ var/list/turf_edge_cache = list()
user.setClickCooldown(delay)
if(do_after(user, delay, src))
new/obj/structure/closet/grave/dirthole(src)
- to_chat(user, span_notice("You dug up \a hole!"))
+ to_chat(user, span_notice("You dug up a hole!"))
return
else
to_chat(user, span_notice("\The [user] begins digging into \the [src] with \the [C]."))
diff --git a/code/modules/admin/verbs/buildmode.dm b/code/modules/admin/verbs/buildmode.dm
index fcb7553ded..ce43f49414 100644
--- a/code/modules/admin/verbs/buildmode.dm
+++ b/code/modules/admin/verbs/buildmode.dm
@@ -275,7 +275,7 @@
var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")
master.buildmode.varholder = tgui_input_text(usr,"Enter variable name:" ,"Name", "name")
- if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0))
+ if((master.buildmode.varholder in locked) && !check_rights(R_DEBUG,0))
return 1
var/thetype = tgui_input_list(usr,"Select variable type:", "Type", list("text","number","mob-reference","obj-reference","turf-reference"))
if(!thetype) return 1
diff --git a/code/modules/admin/view_variables/debug_variables.dm b/code/modules/admin/view_variables/debug_variables.dm
index 58345fac6c..7be70af3f0 100644
--- a/code/modules/admin/view_variables/debug_variables.dm
+++ b/code/modules/admin/view_variables/debug_variables.dm
@@ -3,11 +3,12 @@
var/header
if(DA)
if (islist(DA))
+ var/list/data_list = DA
var/index = name
if (value)
- name = DA[name] //name is really the index until this line
+ name = data_list[name] //name is really the index until this line
else
- value = DA[name]
+ value = data_list[name]
header = "(E) (C) (-) "
else
header = "(E) (C) (M) "
diff --git a/code/modules/ai/_defines.dm b/code/modules/ai/_defines.dm
index 8075c6d2ee..d64d7e2bdd 100644
--- a/code/modules/ai/_defines.dm
+++ b/code/modules/ai/_defines.dm
@@ -5,7 +5,7 @@
#define AI_SMART 3 // Will do more processing to be a little smarter, like not walking while confused if it could risk stepping randomly onto a bad tile.
//#define ai_log(M,V) if(debug_ai) ai_log_output(M,V)
-#define ai_log(M,V)
+#define ai_log(M,V) // If you restore this, also remove the extra pass() calls in ai_holder_movement
// Logging level defines.
#define AI_LOG_OFF 0 // Don't show anything.
diff --git a/code/modules/ai/ai_holder_movement.dm b/code/modules/ai/ai_holder_movement.dm
index 52926df28c..f4841f9dfd 100644
--- a/code/modules/ai/ai_holder_movement.dm
+++ b/code/modules/ai/ai_holder_movement.dm
@@ -62,6 +62,7 @@
give_destination(home_turf, max_home_distance)
else
ai_log("go_home() : Told to go home without home_turf.", AI_LOG_ERROR)
+ pass() // Remove this ever ai_log does something
/datum/ai_holder/proc/give_destination(turf/new_destination, min_distance = 1, combat = FALSE)
ai_log("give_destination() : Entering.", AI_LOG_DEBUG)
@@ -75,6 +76,7 @@
return TRUE
else
ai_log("give_destination() : Given null destination.", AI_LOG_ERROR)
+ pass() // Remove this ever ai_log does something
ai_log("give_destination() : Exiting.", AI_LOG_DEBUG)
diff --git a/code/modules/asset_cache/iconforge/universal_icon.dm b/code/modules/asset_cache/iconforge/universal_icon.dm
index 8afcc7e657..a655ff395c 100644
--- a/code/modules/asset_cache/iconforge/universal_icon.dm
+++ b/code/modules/asset_cache/iconforge/universal_icon.dm
@@ -62,6 +62,25 @@
transform.crop(x1, y1, x2, y2)
return src
+/// Internally performs a crop.
+/datum/universal_icon/proc/shift(dir, amount, icon_width, icon_height)
+ if(!transform)
+ transform = new
+ var/list/offsets = dir2offset(dir)
+ var/shift_x = -offsets[1] * amount
+ var/shift_y = -offsets[2] * amount
+ transform.crop(1 + shift_x, 1 + shift_y, icon_width + shift_x, icon_height + shift_y)
+ return src
+
+/// Internally performs a color blend.
+/// Amount ranges from 0-1 (100% opacity)
+/datum/universal_icon/proc/change_opacity(amount)
+ if(!transform)
+ transform = new
+ transform.blend_color("#ffffff[num2hex(clamp(amount, 0, 1) * 255, 2)]", ICON_MULTIPLY)
+ return src
+
+
/datum/universal_icon/proc/to_list()
RETURN_TYPE(/list)
return list("icon_file" = "[icon_file]", "icon_state" = icon_state, "dir" = dir, "frame" = frame, "transform" = !isnull(transform) ? transform.to_list() : list())
@@ -93,17 +112,17 @@
for(var/transform in src.transforms)
switch(transform["type"])
if(RUSTG_ICONFORGE_BLEND_COLOR)
- target.Blend(target["color"], target["blend_mode"])
+ target.Blend(transform["color"], transform["blend_mode"])
if(RUSTG_ICONFORGE_BLEND_ICON)
- var/datum/universal_icon/icon_object = target["icon"]
+ var/datum/universal_icon/icon_object = transform["icon"]
if(!istype(icon_object))
stack_trace("Invalid icon found in icon transformer during apply()! [icon_object]")
continue
- target.Blend(icon_object.to_icon(), target["blend_mode"])
+ target.Blend(icon_object.to_icon(), transform["blend_mode"])
if(RUSTG_ICONFORGE_SCALE)
- target.Scale(target["width"], target["height"])
+ target.Scale(transform["width"], transform["height"])
if(RUSTG_ICONFORGE_CROP)
- target.Crop(target["x1"], target["y1"], target["x2"], target["y2"])
+ target.Crop(transform["x1"], transform["y1"], transform["x2"], transform["y2"])
return target
/datum/icon_transformer/proc/copy()
@@ -115,36 +134,60 @@
return new_transformer
/datum/icon_transformer/proc/blend_color(color, blend_mode)
+ #ifdef UNIT_TEST
+ if(!istext(color))
+ CRASH("Invalid color provided to blend_color: [color]")
+ if(!isnum(blend_mode))
+ CRASH("Invalid blend_mode provided to blend_color: [blend_mode]")
+ #endif
transforms += list(list("type" = RUSTG_ICONFORGE_BLEND_COLOR, "color" = color, "blend_mode" = blend_mode))
/datum/icon_transformer/proc/blend_icon(datum/universal_icon/icon_object, blend_mode)
+ #ifdef UNIT_TEST
+ // icon_object's type is checked later in to_list
+ if(!isnum(blend_mode))
+ CRASH("Invalid blend_mode provided to blend_icon: [blend_mode]")
+ #endif
transforms += list(list("type" = RUSTG_ICONFORGE_BLEND_ICON, "icon" = icon_object, "blend_mode" = blend_mode))
/datum/icon_transformer/proc/scale(width, height)
+ #ifdef UNIT_TEST
+ if(!isnum(width) || !isnum(height))
+ CRASH("Invalid arguments provided to scale: [width],[height]")
+ #endif
transforms += list(list("type" = RUSTG_ICONFORGE_SCALE, "width" = width, "height" = height))
/datum/icon_transformer/proc/crop(x1, y1, x2, y2)
+ #ifdef UNIT_TEST
+ if(!isnum(x1) || !isnum(y1) || !isnum(x2) || !isnum(y2))
+ CRASH("Invalid arguments provided to crop: [x1],[y1],[x2],[y2]")
+ #endif
transforms += list(list("type" = RUSTG_ICONFORGE_CROP, "x1" = x1, "y1" = y1, "x2" = x2, "y2" = y2))
+/// Recursively converts all contained [/datum/universal_icon]s and their associated [/datum/icon_transformer]s into list form so the transforms can be JSON encoded.
/datum/icon_transformer/proc/to_list()
RETURN_TYPE(/list)
var/list/transforms_out = list()
- for(var/transform in src.transforms.Copy())
- var/this_transform = transform
+ var/list/transforms_original = src.transforms.Copy()
+ for(var/list/transform as anything in transforms_original)
+ var/list/this_transform = transform.Copy() // copy it so we don't mutate the original
if(transform["type"] == RUSTG_ICONFORGE_BLEND_ICON)
var/datum/universal_icon/icon_object = this_transform["icon"]
if(!istype(icon_object))
stack_trace("Invalid icon found in icon transformer during to_list()! [icon_object]")
continue
+ // This mutates the inner transform list!!! Make sure it only runs on copies.
this_transform["icon"] = icon_object.to_list()
transforms_out += list(this_transform)
return transforms_out
+/// Reverse operation of /datum/icon_transformer/to_list()
/proc/icon_transformer_from_list(list/input)
RETURN_TYPE(/datum/icon_transformer)
var/list/transforms = list()
- for(var/transform in input)
- var/this_transform = transform
+ for(var/list/transform as anything in input)
+ // don't mutate the input :(
+ var/this_transform = transform.Copy()
if(transform["type"] == RUSTG_ICONFORGE_BLEND_ICON)
this_transform["icon"] = universal_icon_from_list(transform["icon"])
transforms += list(this_transform)
diff --git a/code/modules/busy_space_vr/organizations.dm b/code/modules/busy_space_vr/organizations.dm
index 8750690d5b..eac34c25c9 100644
--- a/code/modules/busy_space_vr/organizations.dm
+++ b/code/modules/busy_space_vr/organizations.dm
@@ -3020,7 +3020,7 @@
acronym = "SAARE"
desc = "SAARE consistently have the worst reputation of any paramilitary group. This is because they specialize in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\
\
- For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers, with ships on a specific operation or in a particular area all using the same initial designation (e.g. 'Sledgehammer') and having a different numerical identifier, with the most important ships involved bearing a unique additional codename (such as 'Actual' for Command \& Control ships). As ships are shuffled in and out of operating areas, it can be difficult to pin down exactly which ship in SAARE's fleet was responsible for which act. SAARE's misdirection is multilayered, including elements such as extensive use of repainting, false IFFs, bribes, forged documents, intimidation, camouflage, and all manner of other underhanded tactics."
+ For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers, with ships on a specific operation or in a particular area all using the same initial designation (e.g. 'Sledgehammer') and having a different numerical identifier, with the most important ships involved bearing a unique additional codename (such as 'Actual' for Command & Control ships). As ships are shuffled in and out of operating areas, it can be difficult to pin down exactly which ship in SAARE's fleet was responsible for which act. SAARE's misdirection is multilayered, including elements such as extensive use of repainting, false IFFs, bribes, forged documents, intimidation, camouflage, and all manner of other underhanded tactics."
history = ""
work = "mercenary contractors"
headquarters = ""
diff --git a/code/modules/busy_space_yw/organizations.dm b/code/modules/busy_space_yw/organizations.dm
index 7b4d4544d7..0460a07b7e 100644
--- a/code/modules/busy_space_yw/organizations.dm
+++ b/code/modules/busy_space_yw/organizations.dm
@@ -2608,7 +2608,7 @@
acronym = "SAARE"
desc = "SAARE consistently have the worst reputation of any paramilitary group. This is because they specialize in deniability and secrecy. Although publically they work in asset recovery, they have a substantiated reputation for info-theft and piracy that has lead to them butting heads with the law on more than one occasion. Nonetheless, they are an invaluable part of the Solar economy, and other TSCs and small colonial governments keep them in business.\
\
- For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers, with ships on a specific operation or in a particular area all using the same initial designation (" + span_italics("e.g.") + " 'Sledgehammer') and having a different numerical identifier, with the most important ships involved bearing a unique additional codename (such as 'Actual' for Command \& Control ships). As ships are shuffled in and out of operating areas, it can be difficult to pin down exactly which ship in SAARE's fleet was responsible for which act. SAARE's misdirection is multilayered, including elements such as extensive use of repainting, false IFFs, bribes, forged documents, intimidation, camouflage, and all manner of other underhanded tactics."
+ For the purposes of plausible deniability, SAARE designates their ships using a series of rotating identifiers, with ships on a specific operation or in a particular area all using the same initial designation (" + span_italics("e.g.") + " 'Sledgehammer') and having a different numerical identifier, with the most important ships involved bearing a unique additional codename (such as 'Actual' for Command & Control ships). As ships are shuffled in and out of operating areas, it can be difficult to pin down exactly which ship in SAARE's fleet was responsible for which act. SAARE's misdirection is multilayered, including elements such as extensive use of repainting, false IFFs, bribes, forged documents, intimidation, camouflage, and all manner of other underhanded tactics."
history = ""
work = "mercenary contractors"
headquarters = ""
diff --git a/code/modules/client/preference_setup/general/06_flavor.dm b/code/modules/client/preference_setup/general/06_flavor.dm
index e84628dd27..bb3a07dd87 100644
--- a/code/modules/client/preference_setup/general/06_flavor.dm
+++ b/code/modules/client/preference_setup/general/06_flavor.dm
@@ -60,6 +60,7 @@
if(href_list["flavor_text"])
switch(href_list["flavor_text"])
if("open")
+ pass()
if("general")
var/msg = strip_html_simple(tgui_input_text(user,"Give a general description of your character. This will be shown regardless of clothings. Put in a single space to make blank.","Flavor Text",html_decode(pref.flavor_texts[href_list["flavor_text"]]), multiline = TRUE, prevent_enter = TRUE)) //VOREStation Edit: separating out OOC notes
if(CanUseTopic(user) && msg)
@@ -74,6 +75,7 @@
else if(href_list["flavour_text_robot"])
switch(href_list["flavour_text_robot"])
if("open")
+ pass()
if("Default")
var/msg = strip_html_simple(tgui_input_text(user,"Set the default flavour text for your robot. It will be used for any module without individual setting. Put in a single space to make blank.","Flavour Text",html_decode(pref.flavour_texts_robot["Default"]), multiline = TRUE, prevent_enter = TRUE))
if(CanUseTopic(user) && msg)
diff --git a/code/modules/client/preference_setup/vore/07_traits.dm b/code/modules/client/preference_setup/vore/07_traits.dm
index 4a4c148855..9c41baf9b4 100644
--- a/code/modules/client/preference_setup/vore/07_traits.dm
+++ b/code/modules/client/preference_setup/vore/07_traits.dm
@@ -553,7 +553,6 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
else
picklist = everyone_traits_negative.Copy() - pref.neg_traits
mylist = pref.neg_traits
- else
if(isnull(picklist))
return TOPIC_REFRESH
@@ -620,11 +619,11 @@ var/global/list/valid_bloodreagents = list("default",REAGENT_ID_IRON,REAGENT_ID_
tgui_alert_async(user, "The trait you've selected cannot be taken by the species you've chosen!", "Error")
return TOPIC_REFRESH
- if(trait_choice in pref.pos_traits + pref.neu_traits + pref.neg_traits)
+ if(trait_choice in (pref.pos_traits + pref.neu_traits + pref.neg_traits))
conflict = instance.name
varconflict:
- for(var/P in pref.pos_traits + pref.neu_traits + pref.neg_traits)
+ for(var/P in (pref.pos_traits + pref.neu_traits + pref.neg_traits))
var/datum/trait/instance_test = all_traits[P]
if(path in instance_test.excludes)
conflict = instance_test.name
diff --git a/code/modules/clothing/accessories/badges.dm b/code/modules/clothing/accessories/badges.dm
index 3c8a6d2309..ce151b35a1 100644
--- a/code/modules/clothing/accessories/badges.dm
+++ b/code/modules/clothing/accessories/badges.dm
@@ -114,7 +114,7 @@
var/found = FALSE
for(var/access in valid_access)
- if(access in id_card.GetAccess() || emagged)
+ if((access in id_card.GetAccess()) || emagged)
to_chat(user, "You imprint your ID details onto the badge.")
set_name(user.real_name)
found = TRUE
diff --git a/code/modules/economy/vending.dm b/code/modules/economy/vending.dm
index c815af9efe..bbce2e308c 100644
--- a/code/modules/economy/vending.dm
+++ b/code/modules/economy/vending.dm
@@ -178,7 +178,6 @@ GLOBAL_LIST_EMPTY(vending_products)
malfunction()
return
return
- else
return
/obj/machinery/vending/emag_act(var/remaining_charges, var/mob/user)
diff --git a/code/modules/food/drinkingglass/extras.dm b/code/modules/food/drinkingglass/extras.dm
index 501b00fe76..1b9832a9e8 100644
--- a/code/modules/food/drinkingglass/extras.dm
+++ b/code/modules/food/drinkingglass/extras.dm
@@ -103,7 +103,7 @@
if(victim.vore_taste)
to_chat(user, span_infoplain(span_bold("[victim]") + " tastes like... [victim.vore_taste]!"))
- victim.apply_damage(5, used_weapon = "straw")
+ victim.apply_damage(5, used_weapon=src)
// If you're human you get the reagent
if(ishuman(user))
diff --git a/code/modules/food/food/superfoods_ch.dm b/code/modules/food/food/superfoods_ch.dm
index 99da7ab6b7..408b1bdc3d 100644
--- a/code/modules/food/food/superfoods_ch.dm
+++ b/code/modules/food/food/superfoods_ch.dm
@@ -207,7 +207,7 @@
var/obj/item/thecake_layer/C = W
if(C.layer_stage == 5)
for(var/mob/O in view(src, null))
- O.show_message(span_warning("It has been done! \The Infinity Cake has been assembled!"),1)
+ O.show_message(span_warning("It has been done! The Infinity Cake has been assembled!"),1)
qdel(W)
stage++
desc = desclist[stage]
diff --git a/code/modules/food/recipe.dm b/code/modules/food/recipe.dm
index f656b31b87..6c8b5b7a4a 100644
--- a/code/modules/food/recipe.dm
+++ b/code/modules/food/recipe.dm
@@ -273,7 +273,7 @@
switch(reagent_mix)
if (RECIPE_REAGENT_REPLACE)
- //We do no transferring
+ pass() //We do no transferring
if (RECIPE_REAGENT_SUM)
//Sum is easy, just shove the entire buffer into the result
buffer.trans_to_holder(holder, buffer.total_volume)
diff --git a/code/modules/hydroponics/seed.dm b/code/modules/hydroponics/seed.dm
index aaef2b0134..aed81afb9e 100644
--- a/code/modules/hydroponics/seed.dm
+++ b/code/modules/hydroponics/seed.dm
@@ -140,7 +140,7 @@
if(affecting)
to_chat(target, span_danger("\The [fruit]'s thorns pierce your [affecting.name] greedily!"))
- target.apply_damage(damage, BRUTE, target_limb, blocked, soaked, TRUE, has_edge, "Thorns")
+ target.apply_damage(damage, BRUTE, target_limb, blocked, soaked, TRUE, has_edge)
else
to_chat(target, span_danger("\The [fruit]'s thorns pierce your flesh greedily!"))
target.adjustBruteLoss(damage)
@@ -149,7 +149,7 @@
has_edge = prob(get_trait(TRAIT_POTENCY)/5)
if(affecting)
to_chat(target, span_danger("\The [fruit]'s thorns dig deeply into your [affecting.name]!"))
- target.apply_damage(damage, BRUTE, target_limb, blocked, soaked, TRUE, has_edge, "Thorns")
+ target.apply_damage(damage, BRUTE, target_limb, blocked, soaked, TRUE, has_edge)
else
to_chat(target, span_danger("\The [fruit]'s thorns dig deeply into your flesh!"))
target.adjustBruteLoss(damage)
diff --git a/code/modules/hydroponics/spreading/spreading.dm b/code/modules/hydroponics/spreading/spreading.dm
index 25647561fd..f297342922 100644
--- a/code/modules/hydroponics/spreading/spreading.dm
+++ b/code/modules/hydroponics/spreading/spreading.dm
@@ -314,7 +314,6 @@
if (prob(5))
die_off()
return
- else
return
/obj/effect/plant/proc/check_health()
diff --git a/code/modules/integrated_electronics/core/special_pins/dir_pin.dm b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm
index efa2379efb..9ce3699d1d 100644
--- a/code/modules/integrated_electronics/core/special_pins/dir_pin.dm
+++ b/code/modules/integrated_electronics/core/special_pins/dir_pin.dm
@@ -20,7 +20,7 @@
write_data_to_pin(new_data)
/datum/integrated_io/dir/write_data_to_pin(var/new_data)
- if(isnull(new_data) || (new_data in alldirs + list(UP, DOWN)))
+ if(isnull(new_data) || (new_data in (alldirs + list(UP, DOWN))))
data = new_data
holder.on_data_written()
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index 8191a65279..74d008d513 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -87,7 +87,6 @@
b.loc = (get_turf(src))
qdel(src)
return
- else
return
/obj/structure/bookcase/update_icon()
diff --git a/code/modules/materials/sheets/supermatter.dm b/code/modules/materials/sheets/supermatter.dm
index f2969a9409..1f2bb72a06 100644
--- a/code/modules/materials/sheets/supermatter.dm
+++ b/code/modules/materials/sheets/supermatter.dm
@@ -34,8 +34,8 @@
if(burn_user)
H.visible_message(span_danger("\The [src] flashes as it scorches [H]'s hands!"))
- H.apply_damage(amount / 2 + 5, BURN, "r_hand", used_weapon="Supermatter Chunk")
- H.apply_damage(amount / 2 + 5, BURN, "l_hand", used_weapon="Supermatter Chunk")
+ H.apply_damage(amount / 2 + 5, BURN, "r_hand", used_weapon=src)
+ H.apply_damage(amount / 2 + 5, BURN, "l_hand", used_weapon=src)
H.drop_from_inventory(src, get_turf(H))
return
@@ -43,7 +43,7 @@
burn_user = FALSE
if(burn_user)
- M.apply_damage(amount, BURN, null, used_weapon="Supermatter Chunk")
+ M.apply_damage(amount, BURN, null, used_weapon=src)
/obj/item/stack/material/supermatter/ex_act(severity) // An incredibly hard to manufacture material, SM chunks are unstable by their 'stabilized' nature.
if(prob((4 / severity) * 20))
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 8213329dfb..23c0d8dbfe 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -159,10 +159,10 @@
if (shock_damage<1)
return 0
- src.apply_damage(0.2 * shock_damage, BURN, def_zone, used_weapon="Electrocution") //shock the target organ
- src.apply_damage(0.4 * shock_damage, BURN, BP_TORSO, used_weapon="Electrocution") //shock the torso more
- src.apply_damage(0.2 * shock_damage, BURN, null, used_weapon="Electrocution") //shock a random part!
- src.apply_damage(0.2 * shock_damage, BURN, null, used_weapon="Electrocution") //shock a random part!
+ src.apply_damage(0.2 * shock_damage, BURN, def_zone) //shock the target organ
+ src.apply_damage(0.4 * shock_damage, BURN, BP_TORSO) //shock the torso more
+ src.apply_damage(0.2 * shock_damage, BURN, null) //shock a random part!
+ src.apply_damage(0.2 * shock_damage, BURN, null) //shock a random part!
playsound(src, "sparks", 50, 1, -1)
if (shock_damage > 15)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 7ad9c3e84e..aa4a029eea 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -1803,7 +1803,7 @@
var/obj/item/organ/external/e = organs_by_name[name]
if(!e)
continue
- if((e.status & ORGAN_BROKEN && (!e.splinted || (e.splinted in e.contents && prob(30))) || e.status & ORGAN_BLEEDING) && (getBruteLoss() + getFireLoss() >= 100))
+ if((e.status & ORGAN_BROKEN && (!e.splinted || ((e.splinted in e.contents) && prob(30))) || e.status & ORGAN_BLEEDING) && (getBruteLoss() + getFireLoss() >= 100))
return 1
else
return ..()
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 3ecbfffb98..417e338e21 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -809,13 +809,13 @@
if(breath.temperature >= species.heat_discomfort_level)
if(breath.temperature >= species.breath_heat_level_3)
- apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, BP_HEAD, used_weapon = "Excessive Heat")
+ apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, BP_HEAD)
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MAX)
else if(breath.temperature >= species.breath_heat_level_2)
- apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD, used_weapon = "Excessive Heat")
+ apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD)
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_MODERATE)
else if(breath.temperature >= species.breath_heat_level_1)
- apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD, used_weapon = "Excessive Heat")
+ apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD)
throw_alert("temp", /obj/screen/alert/hot, HOT_ALERT_SEVERITY_LOW)
else if(species.get_environment_discomfort(src, ENVIRONMENT_COMFORT_MARKER_HOT))
throw_alert("temp", /obj/screen/alert/warm, HOT_ALERT_SEVERITY_LOW)
@@ -825,13 +825,13 @@
else if(breath.temperature <= species.cold_discomfort_level)
if(breath.temperature <= species.breath_cold_level_3)
- apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, BP_HEAD, used_weapon = "Excessive Cold")
+ apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, BP_HEAD)
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_MAX)
else if(breath.temperature <= species.breath_cold_level_2)
- apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD, used_weapon = "Excessive Cold")
+ apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, BP_HEAD)
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_MODERATE)
else if(breath.temperature <= species.breath_cold_level_1)
- apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD, used_weapon = "Excessive Cold")
+ apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, BP_HEAD)
throw_alert("temp", /obj/screen/alert/cold, COLD_ALERT_SEVERITY_LOW)
else if(species.get_environment_discomfort(src, ENVIRONMENT_COMFORT_MARKER_COLD))
throw_alert("temp", /obj/screen/alert/chilly, COLD_ALERT_SEVERITY_LOW)
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 244ac912c1..ecf7878418 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -131,7 +131,7 @@
message_data[2] = pick(M.say_verbs)
. = 1
- else if(CE_SPEEDBOOST in chem_effects || is_jittery) // motor mouth
+ else if((CE_SPEEDBOOST in chem_effects) || is_jittery) // motor mouth
// Despite trying to url/html decode these, byond is just being bad and I dunno.
var/static/regex/speedboost_initial = new (@"&[a-z]{2,5};|\d{2};","g")
// Not herestring because bad vs code syntax highlight panics at apostrophe
diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm
index 9b597a316d..8c8a563e7a 100644
--- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm
+++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm
@@ -54,7 +54,7 @@
ideal_air_type = /datum/gas_mixture/belly_air/vox
siemens_coefficient = 0.2
- flags = NO_SCAN | NO_DEFIB
+ flags = NO_SCAN // CHOMPEdit - Vox can now be defibbed
spawn_flags = SPECIES_IS_WHITELISTED
appearance_flags = HAS_EYE_COLOR | HAS_HAIR_COLOR | HAS_SKIN_COLOR
diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm
index b735d0be89..cd7eae3b53 100644
--- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm
+++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm
@@ -710,11 +710,15 @@
to_chat(owner, span_warning("A dark maw you deployed has triggered!"))
spawn(10)
var/will_vore = 1
+
if(!owner || !(target in owner) || !L.devourable || !L.can_be_drop_prey || !owner.can_be_drop_pred || !L.phase_vore)
will_vore = 0
+
if(!src || src.gc_destroyed)
//We got deleted probably, do nothing more
- else if(L.loc != get_turf(src))
+ return
+
+ if(L.loc != get_turf(src))
visible_message(span_notice("The shadowy tendrils fail to catch anything and dissipate."))
qdel(src)
else if(will_vore)
diff --git a/code/modules/mob/living/carbon/human/species/station/alraune.dm b/code/modules/mob/living/carbon/human/species/station/alraune.dm
index e964efe88d..cc70b3942c 100644
--- a/code/modules/mob/living/carbon/human/species/station/alraune.dm
+++ b/code/modules/mob/living/carbon/human/species/station/alraune.dm
@@ -270,19 +270,19 @@
var/bodypart = pick(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN,BP_HEAD)
if(breath.temperature >= breath_heat_level_1)
if(breath.temperature < breath_heat_level_2)
- H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, bodypart, used_weapon = "Excessive Heat")
+ H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_1, BURN, bodypart)
else if(breath.temperature < breath_heat_level_3)
- H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, bodypart, used_weapon = "Excessive Heat")
+ H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_2, BURN, bodypart)
else
- H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, bodypart, used_weapon = "Excessive Heat")
+ H.apply_damage(HEAT_GAS_DAMAGE_LEVEL_3, BURN, bodypart)
else if(breath.temperature <= breath_cold_level_1)
if(breath.temperature > breath_cold_level_2)
- H.apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, bodypart, used_weapon = "Excessive Cold")
+ H.apply_damage(COLD_GAS_DAMAGE_LEVEL_1, BURN, bodypart)
else if(breath.temperature > breath_cold_level_3)
- H.apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, bodypart, used_weapon = "Excessive Cold")
+ H.apply_damage(COLD_GAS_DAMAGE_LEVEL_2, BURN, bodypart)
else
- H.apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, bodypart, used_weapon = "Excessive Cold")
+ H.apply_damage(COLD_GAS_DAMAGE_LEVEL_3, BURN, bodypart)
//breathing in hot/cold air also heats/cools you a bit
diff --git a/code/modules/mob/living/carbon/human/species/station/greyYW.dm b/code/modules/mob/living/carbon/human/species/station/greyYW.dm
index 852186daef..8a8d8d70c7 100644
--- a/code/modules/mob/living/carbon/human/species/station/greyYW.dm
+++ b/code/modules/mob/living/carbon/human/species/station/greyYW.dm
@@ -8,7 +8,7 @@
blurb = "Greys are a species of aliens that are more weak than humans physically, but possesses\
the ability to talk telephatically with themselves and other species, Due to this, Grey have no\
naming scheme or language, having names only to make easier communication with other species.\
-
\The Grey have unknown origin even to themselves, scientists believes they came from\
+
The Grey have unknown origin even to themselves, scientists believes they came from\
another galaxy, greys have chosen mauna-b to act as their home planet due to high amount of grey\
residing in there."
diff --git a/code/modules/mob/living/carbon/human/species/station/station.dm b/code/modules/mob/living/carbon/human/species/station/station.dm
index ef8ace04ea..6df2074473 100644
--- a/code/modules/mob/living/carbon/human/species/station/station.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station.dm
@@ -538,7 +538,7 @@
for(var/K in damageable)
if(!(K in covered))
- H.apply_damage(light_amount/4, BURN, K, 0, 0, "Abnormal growths")
+ H.apply_damage(light_amount/4, BURN, K, 0, 0)
/datum/species/diona
name = SPECIES_DIONA
diff --git a/code/modules/mob/living/damage_procs.dm b/code/modules/mob/living/damage_procs.dm
index 0479a7baa7..e91f8105e0 100644
--- a/code/modules/mob/living/damage_procs.dm
+++ b/code/modules/mob/living/damage_procs.dm
@@ -8,7 +8,7 @@
Returns
standard 0 if fail
*/
-/mob/living/proc/apply_damage(var/damage = 0,var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/soaked = 0, var/used_weapon = null, var/sharp = FALSE, var/edge = FALSE, var/obj/used_weapon = null, var/projectile = 0)
+/mob/living/proc/apply_damage(var/damage = 0, var/damagetype = BRUTE, var/def_zone = null, var/blocked = 0, var/soaked = 0, var/sharp = FALSE, var/edge = FALSE, var/obj/used_weapon = null, var/projectile = 0)
if(Debug2)
to_world_log("## DEBUG: apply_damage() was called on [src], with [damage] damage, and an armor value of [blocked].")
if(!damage || (blocked >= 100))
@@ -77,8 +77,8 @@
damage = 0
adjustFireLoss(damage * blocked)
if(SEARING)
- apply_damage(round(damage / 3), BURN, def_zone, initial_blocked, soaked, used_weapon, sharp, edge)
- apply_damage(round(damage / 3 * 2), BRUTE, def_zone, initial_blocked, soaked, used_weapon, sharp, edge)
+ apply_damage(round(damage / 3), BURN, def_zone, initial_blocked, soaked, sharp, edge, used_weapon)
+ apply_damage(round(damage / 3 * 2), BRUTE, def_zone, initial_blocked, soaked, sharp, edge, used_weapon)
if(TOX)
adjustToxLoss(damage * blocked)
if(OXY)
@@ -91,7 +91,7 @@
electrocute_act(damage, used_weapon, 1.0, def_zone)
if(BIOACID)
if(isSynthetic())
- apply_damage(damage, BURN, def_zone, initial_blocked, soaked, used_weapon, sharp, edge) // Handle it as normal burn.
+ apply_damage(damage, BURN, def_zone, initial_blocked, soaked, sharp, edge, used_weapon) // Handle it as normal burn.
else
adjustToxLoss(damage * blocked)
if(ELECTROMAG)
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 13ee7a5bc9..e4e2421ae4 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -130,12 +130,12 @@
if(P.taser_effect)
stun_effect_act(0, P.agony, def_zone, P)
if(!P.nodamage)
- apply_damage(P.damage, P.damage_type, def_zone, absorb, soaked, 0, P, sharp=proj_sharp, edge=proj_edge, projectile=TRUE)
+ apply_damage(P.damage, P.damage_type, def_zone, absorb, soaked, 0, sharp=proj_sharp, edge=proj_edge, used_weapon=P, projectile=TRUE)
qdel(P)
return
if(!P.nodamage)
- apply_damage(P.damage, P.damage_type, def_zone, absorb, soaked, 0, P, sharp=proj_sharp, edge=proj_edge, projectile=TRUE)
+ apply_damage(P.damage, P.damage_type, def_zone, absorb, soaked, 0, sharp=proj_sharp, edge=proj_edge, used_weapon=P, projectile=TRUE)
P.on_hit(src, absorb, soaked, def_zone)
if(absorb == 100)
diff --git a/code/modules/mob/living/silicon/pai/pai_vr.dm b/code/modules/mob/living/silicon/pai/pai_vr.dm
index 0d54b4cf3c..bb9a3615aa 100644
--- a/code/modules/mob/living/silicon/pai/pai_vr.dm
+++ b/code/modules/mob/living/silicon/pai/pai_vr.dm
@@ -232,8 +232,7 @@
/mob/living/silicon/pai/verb/pick_eye_color()
set category = "Abilities.pAI Commands"
set name = "Pick Eye Color"
- if(chassis in allows_eye_color)
- else
+ if(!(chassis in allows_eye_color))
to_chat(src, span_warning("Your selected chassis eye color can not be modified. The color you pick will only apply to supporting chassis and your card screen."))
var/new_eye_color = tgui_color_picker(src, "Choose your character's eye color:", "Eye Color")
@@ -271,7 +270,6 @@
eye_layer = image('icons/mob/pai_vr64x32.dmi', "type13-eyes")
else if(holo_icon_dimension_X == 64 && holo_icon_dimension_Y == 64)
eye_layer = image('icons/mob/pai_vr64x64.dmi', "type13-eyes")
- else
else if(chassis in allows_eye_color)
eye_layer = image(icon, "[icon_state]-eyes")
else return
diff --git a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
index 11bf5ed763..64eccffaac 100644
--- a/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
+++ b/code/modules/mob/living/silicon/robot/dogborg/dog_sleeper_vr.dm
@@ -469,7 +469,7 @@
/obj/item/dogborg/sleeper/proc/inject_chem(mob/user, chem)
if(patient && patient.reagents)
- if(chem in injection_chems + REAGENT_ID_INAPROVALINE)
+ if(chem in (injection_chems + REAGENT_ID_INAPROVALINE))
if(hound.cell.charge < 800) //This is so borgs don't kill themselves with it.
to_chat(hound, span_notice("You don't have enough power to synthesize fluids."))
return
@@ -864,7 +864,7 @@
/obj/item/dogborg/sleeper/compactor/brewer/inject_chem(mob/user, chem) //CHOMP Addition Start
if(patient && patient.reagents)
- if(chem in injection_chems + REAGENT_ID_INAPROVALINE)
+ if((chem in injection_chems) + REAGENT_ID_INAPROVALINE)
if(hound.cell.charge < 200) //This is so borgs don't kill themselves with it.
to_chat(hound, span_notice("You don't have enough power to synthesize fluids."))
return
diff --git a/code/modules/mob/living/silicon/robot/drone/drone_items.dm b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
index 048e35979a..d229f7bab6 100644
--- a/code/modules/mob/living/silicon/robot/drone/drone_items.dm
+++ b/code/modules/mob/living/silicon/robot/drone/drone_items.dm
@@ -548,7 +548,7 @@
if(wood)
wood.add_charge(4000)
else if(istype(W,/obj/item/pipe))
- // This allows drones and engiborgs to clear pipe assemblies from floors.
+ pass() // This allows drones and engiborgs to clear pipe assemblies from floors.
else
continue
diff --git a/code/modules/mob/living/simple_mob/defense.dm b/code/modules/mob/living/simple_mob/defense.dm
index 4e63918679..f4bfa626e1 100644
--- a/code/modules/mob/living/simple_mob/defense.dm
+++ b/code/modules/mob/living/simple_mob/defense.dm
@@ -59,11 +59,11 @@
L.visible_message(span_warning("\The [L] uselessly hits \the [src]!"))
L.do_attack_animation(src)
return
- apply_damage(damage = real_damage, damagetype = hit_dam_type, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE)
+ apply_damage(damage = real_damage, damagetype = hit_dam_type, def_zone = null, blocked = armor, blocked = resistance, sharp = FALSE, edge = FALSE, used_weapon = null)
L.visible_message(span_warning("\The [L] [pick(attack.attack_verb)] \the [src]!"))
L.do_attack_animation(src)
return //VOREStation EDIT END
- apply_damage(damage = harm_intent_damage, damagetype = BRUTE, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE) //VOREStation EDIT Somebody set this to burn instead of brute.
+ apply_damage(damage = harm_intent_damage, damagetype = BRUTE, def_zone = null, blocked = armor, blocked = resistance, sharp = FALSE, edge = FALSE, used_weapon = null) //VOREStation EDIT Somebody set this to burn instead of brute.
L.visible_message(span_warning("\The [L] [response_harm] \the [src]!"))
L.do_attack_animation(src)
@@ -148,7 +148,7 @@
if (3.0)
bombdam = 30
- apply_damage(damage = bombdam, damagetype = BRUTE, def_zone = null, blocked = armor, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE)
+ apply_damage(damage = bombdam, damagetype = BRUTE, def_zone = null, blocked = armor, blocked = resistance, sharp = FALSE, edge = FALSE, used_weapon = null)
if(bombdam > maxHealth)
gib()
@@ -198,7 +198,7 @@
if(shock_damage < 1)
return 0
- apply_damage(damage = shock_damage, damagetype = BURN, def_zone = null, blocked = null, blocked = resistance, used_weapon = null, sharp = FALSE, edge = FALSE)
+ apply_damage(damage = shock_damage, damagetype = BURN, def_zone = null, blocked = null, blocked = resistance, sharp = FALSE, edge = FALSE, used_weapon = null)
playsound(src, "sparks", 50, 1, -1)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
@@ -227,11 +227,11 @@
if(stun_amount)
stunDam += stun_amount * 0.5
- apply_damage(damage = stunDam, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, used_weapon = used_weapon, sharp = FALSE, edge = FALSE)
+ apply_damage(damage = stunDam, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, sharp = FALSE, edge = FALSE, used_weapon = used_weapon)
if(agony_amount)
agonyDam += agony_amount * 0.5
- apply_damage(damage = agonyDam, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, used_weapon = used_weapon, sharp = FALSE, edge = FALSE)
+ apply_damage(damage = agonyDam, damagetype = BURN, def_zone = null, blocked = armor, blocked = resistance, sharp = FALSE, edge = FALSE, used_weapon = used_weapon)
// Electromagnetism
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm
index 93c6a1f391..f69dd63251 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/alien animals/teppi.dm
@@ -821,7 +821,9 @@ GLOBAL_VAR_INIT(teppi_count, 0) // How mant teppi DO we have?
ai_holder.set_busy(FALSE)
-/mob/living/simple_mob/vore/alienanimals/teppi/perform_the_nom(user, mob/living/prey, user, belly, delay)
+/mob/living/simple_mob/vore/alienanimals/teppi/perform_the_nom(mob/living/user, mob/living/prey, mob/living/pred, obj/belly/belly, delay)
+ if(!pred)
+ pred = user
if(client)
return ..()
var/current_affinity = affinity[prey.real_name]
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm
index 65a0b6586f..1306143eb1 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/sif/kururak.dm
@@ -194,7 +194,7 @@
to_chat(H, span_alien("You are disoriented by \the [src]!"))
H.eye_blurry = max(H.eye_blurry, flash_strength + 5)
H.flash_eyes()
- H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0, "Photon burns")
+ H.apply_damage(flash_strength * H.species.flash_burn/5, BURN, BP_HEAD, 0, 0)
else if(issilicon(L))
if(isrobot(L))
@@ -272,7 +272,7 @@
var/mob/living/L = A
if(ishuman(L))
var/mob/living/carbon/human/H = L
- H.apply_damage(damage_to_apply, BRUTE, BP_TORSO, 0, 0, "Animal claws")
+ H.apply_damage(damage_to_apply, BRUTE, BP_TORSO, 0, 0)
else
L.adjustBruteLoss(damage_to_apply)
diff --git a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm
index 02b20bea68..dce0e4a34e 100644
--- a/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/animal/squirrel.dm
@@ -160,6 +160,7 @@
if(prob(1))
winterize()
if("summer")
+ pass()
if("autumn")
vore_bump_chance = 20
if(prob(50))
diff --git a/code/modules/mob/living/simple_mob/subtypes/humanoid/possessed_ch.dm b/code/modules/mob/living/simple_mob/subtypes/humanoid/possessed_ch.dm
index 418dfaf678..aa7f0d000f 100644
--- a/code/modules/mob/living/simple_mob/subtypes/humanoid/possessed_ch.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/humanoid/possessed_ch.dm
@@ -93,15 +93,15 @@
/mob/living/simple_mob/humanoid/possessed/Destroy()
var/droploc = get_turf(src)
playsound(src, 'sound/effects/blobattack.ogg', 40, 1)
- visible_message(span_critical(pick("\The The horrid screech of metal grating metal cuts through the air as the suit's interlocking joints grind and fold inwards upon itself. A putrid wash of decayed flesh spills forwards, staining the ground dark with the contents of the collapsing RIG's long expired pilot.",
- "\The The [src] shudders as some hurt living thing, reeling as screaming servos overcompensate beneath the weight of that debilitating strike - the horrid sounds of shattered metal resonate as the RIG rips itself apart. Limbs flung about in distinctly inhuman motions in a final failed effort at balance before buckling inwards at the joints, hydraulic fluid jettisoned as blood from a severed artery as the long liquidized contents of the suit's ex-pilot spill from its chassis in a thick slurry.",
- "\The Hissing atmosphereic valves pop and snap, breaking the ageless seal as the putrid stench of rot and carrion assaults the senses in debilitating waves. The damaged RIG's visor alight with warnings of hazardous atmospheric conditions as a final distorted scream echos from within the damaged chassis. The fetid miasma that breeches through those wheezing seals overtaken by a wet burble and plop as the suit is bathed in the liquid contents of its passenger, blackened flesh fed through those narrow seals as rotten grounds.",
- "\The The timeworn suit's seals finally crack open with a hiss - spilling forth a thick fungal mist. The control module ejects from the rig as it loses all control impulses - leaving behind but a pile of bones and the rotten sludge it had been swimming in for heaven knows how long.",
- "\The The [src]'s emergency protocols kick in, retracting around the former-person, who's now little more than a disgusting pile of parts not even a vulture would want. The control module appears to be intact, however.",
- "\The The suit finally lets go of the prisoner it had held for so long. Unfortunately, this guy reminds you of that news report of someone who forgot that Ganymede rock lobster in a fridge for a year, the thick miasma of fungi and rotten gasses visibly pouring out, pushing out rancid bits of meat and slimy bones. The only salvageable bit appears to be the Control Module.",
- "\The A few last desperate seals give out with a weary series of pops, and the suit contorts with the final pressure differentials resolved: the suit tangles and leaks, and finally compacts back into it's rightful shape.",
- "\The Tightening, the suit re-attempts to remain it's current form, before it collapses under the stress, supporting mechanisms closing in on themselves like a noose with nothing left to catch on.",
- "\The The suit makes a noise akin to clockwork binding, and shutters, before something imperceptible gives with an abysmal noise and the suit returns to it's default form.")))
+ visible_message(span_critical(pick("The horrid screech of metal grating metal cuts through the air as the suit's interlocking joints grind and fold inwards upon itself. A putrid wash of decayed flesh spills forwards, staining the ground dark with the contents of the collapsing RIG's long expired pilot.",
+ "\The [src] shudders as some hurt living thing, reeling as screaming servos overcompensate beneath the weight of that debilitating strike - the horrid sounds of shattered metal resonate as the RIG rips itself apart. Limbs flung about in distinctly inhuman motions in a final failed effort at balance before buckling inwards at the joints, hydraulic fluid jettisoned as blood from a severed artery as the long liquidized contents of the suit's ex-pilot spill from its chassis in a thick slurry.",
+ "Hissing atmosphereic valves pop and snap, breaking the ageless seal as the putrid stench of rot and carrion assaults the senses in debilitating waves. The damaged RIG's visor alight with warnings of hazardous atmospheric conditions as a final distorted scream echos from within the damaged chassis. The fetid miasma that breeches through those wheezing seals overtaken by a wet burble and plop as the suit is bathed in the liquid contents of its passenger, blackened flesh fed through those narrow seals as rotten grounds.",
+ "The timeworn suit's seals finally crack open with a hiss - spilling forth a thick fungal mist. The control module ejects from the rig as it loses all control impulses - leaving behind but a pile of bones and the rotten sludge it had been swimming in for heaven knows how long.",
+ "\The [src]'s emergency protocols kick in, retracting around the former-person, who's now little more than a disgusting pile of parts not even a vulture would want. The control module appears to be intact, however.",
+ "The suit finally lets go of the prisoner it had held for so long. Unfortunately, this guy reminds you of that news report of someone who forgot that Ganymede rock lobster in a fridge for a year, the thick miasma of fungi and rotten gasses visibly pouring out, pushing out rancid bits of meat and slimy bones. The only salvageable bit appears to be the Control Module.",
+ "A few last desperate seals give out with a weary series of pops, and the suit contorts with the final pressure differentials resolved: the suit tangles and leaks, and finally compacts back into it's rightful shape.",
+ "Tightening, the suit re-attempts to remain it's current form, before it collapses under the stress, supporting mechanisms closing in on themselves like a noose with nothing left to catch on.",
+ "The suit makes a noise akin to clockwork binding, and shutters, before something imperceptible gives with an abysmal noise and the suit returns to it's default form.")))
gib()
/* Nah
if(rand(1,2) == 1)
diff --git a/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm b/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm
index bdf7f5b81e..46cdc34e74 100644
--- a/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm
+++ b/code/modules/mob/living/simple_mob/subtypes/vore/goia_ch.dm
@@ -275,9 +275,6 @@
goia_overlays["belly"] = choice
goia_overlays["zorgoia_belly"] = new_color
update_icon()
- else
-
-
/mob/living/simple_mob/vore/zorgoia/Initialize()
..()
diff --git a/code/modules/mob/mob_grab_specials.dm b/code/modules/mob/mob_grab_specials.dm
index 78582aa64c..4095cf7434 100644
--- a/code/modules/mob/mob_grab_specials.dm
+++ b/code/modules/mob/mob_grab_specials.dm
@@ -101,7 +101,7 @@
var/armor = target.run_armor_check(BP_HEAD, "melee")
var/soaked = target.get_armor_soak(BP_HEAD, "melee")
target.apply_damage(damage, BRUTE, BP_HEAD, armor, soaked)
- attacker.apply_damage(10, BRUTE, BP_HEAD, attacker.run_armor_check(BP_HEAD), attacker.get_armor_soak(BP_HEAD), "melee")
+ attacker.apply_damage(10, BRUTE, BP_HEAD, attacker.run_armor_check(BP_HEAD), attacker.get_armor_soak(BP_HEAD))
if(!armor && target.headcheck(BP_HEAD) && prob(damage))
target.apply_effect(20, PARALYZE)
diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm
index f1780c31ec..0a59aa6482 100644
--- a/code/modules/mob/new_player/preferences_setup.dm
+++ b/code/modules/mob/new_player/preferences_setup.dm
@@ -225,7 +225,7 @@
if(job_civilian_low & ASSISTANT)
previewJob = job_master.GetJob(JOB_ALT_VISITOR)
else if(client && ispAI(client.mob)) //VOREStation Edit! - pAIs shouldn't wear job gear~!
- //Don't do anything!
+ pass() //Don't do anything!
else
for(var/datum/job/job in job_master.occupations)
var/job_flag
diff --git a/code/modules/modular_computers/hardware/nano_printer.dm b/code/modules/modular_computers/hardware/nano_printer.dm
index bdd45f08f4..1e56d2e8dc 100644
--- a/code/modules/modular_computers/hardware/nano_printer.dm
+++ b/code/modules/modular_computers/hardware/nano_printer.dm
@@ -78,7 +78,7 @@
qdel(W)
else if(B.pages.len == 1) //if only one item left, extract item and delete the one-item bundle
user.drop_from_inventory(B)
- user.put_in_hands(B[1])
+ user.put_in_hands(B.pages[1])
qdel(B)
else //if at least two items remain, just update the bundle icon
B.update_icon()
@@ -89,4 +89,4 @@
if(holder2 && (holder2.nano_printer == src))
holder2.nano_printer = null
holder2 = null
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/modules/overmap/events/event_handler.dm b/code/modules/overmap/events/event_handler.dm
index b2782c2450..396b3b1c91 100644
--- a/code/modules/overmap/events/event_handler.dm
+++ b/code/modules/overmap/events/event_handler.dm
@@ -145,7 +145,7 @@ GLOBAL_DATUM_INIT(overmap_event_handler, /decl/overmap_event_handler, new)
/decl/overmap_event_handler/proc/is_event_in_turf(var/datum/event/E, var/turf/T)
for(var/obj/effect/overmap/event/hazard in hazard_by_turf[T])
- if(E in hazard.events && E.severity == hazard.difficulty)
+ if((E in hazard.events) && E.severity == hazard.difficulty)
return TRUE
/decl/overmap_event_handler/proc/is_event_included(var/list/hazards, var/obj/effect/overmap/event/E, var/equal_or_better)//this proc is only used so it can break out of 2 loops cleanly
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index 8b6d042234..6152a6e42d 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -172,7 +172,7 @@
to_chat(usr, span_notice("You remove the [W.name] from the bundle."))
if(pages.len <= 1)
- var/obj/item/paper/P = src[1]
+ var/obj/item/paper/P = pages[1]
usr.drop_from_inventory(src)
usr.put_in_hands(P)
qdel(src)
diff --git a/code/modules/persistence/noticeboard_yw.dm b/code/modules/persistence/noticeboard_yw.dm
index 45d7487c7c..09c50d3bd8 100644
--- a/code/modules/persistence/noticeboard_yw.dm
+++ b/code/modules/persistence/noticeboard_yw.dm
@@ -15,7 +15,7 @@
src.contents += P
P = new()
- P.name = "Staff Notice: Breakroom \& Storage"
+ P.name = "Staff Notice: Breakroom & Storage"
P.info = "
Enjoy the view from the new breakroom. You've also got a storage room full of leftover supplies from the shift before yours."
P.stamped = list(/obj/item/stamp/cmo)
P.add_overlay("paper_stamped_cmo")
diff --git a/code/modules/planet/virgo3b_vr.dm b/code/modules/planet/virgo3b_vr.dm
index 75afb6fcf3..c6cc301c9c 100644
--- a/code/modules/planet/virgo3b_vr.dm
+++ b/code/modules/planet/virgo3b_vr.dm
@@ -428,7 +428,7 @@ var/datum/planet/virgo3b/planet_virgo3b = null
if(amount_soaked >= damage)
continue // No need to apply damage.
- H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail")
+ H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked)
if(show_message)
to_chat(H, effect_message)
diff --git a/code/modules/planet/virgo3c_vr.dm b/code/modules/planet/virgo3c_vr.dm
index 8b9d4978cb..b5ac54598e 100644
--- a/code/modules/planet/virgo3c_vr.dm
+++ b/code/modules/planet/virgo3c_vr.dm
@@ -418,7 +418,7 @@ var/datum/planet/virgo3c/planet_virgo3c = null
if(amount_soaked >= damage)
continue // No need to apply damage.
- H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail")
+ H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked)
if(show_message)
to_chat(H, effect_message)
diff --git a/code/modules/planet/virgo4_vr.dm b/code/modules/planet/virgo4_vr.dm
index 937d870420..b5f900fcc3 100644
--- a/code/modules/planet/virgo4_vr.dm
+++ b/code/modules/planet/virgo4_vr.dm
@@ -402,7 +402,7 @@ var/datum/planet/virgo4/planet_virgo4 = null
if(amount_soaked >= damage)
continue // No need to apply damage.
- H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked, used_weapon = "hail")
+ H.apply_damage(damage, BRUTE, target_zone, amount_blocked, amount_soaked)
if(show_message)
to_chat(H, effect_message)
diff --git a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
index 19f3a386c8..ccbe26b596 100644
--- a/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
+++ b/code/modules/power/singularity/particle_accelerator/particle_accelerator.dm
@@ -152,7 +152,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
if (prob(25))
qdel(src)
return
- else
return
/obj/structure/particle_accelerator/update_icon()
@@ -324,7 +323,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
if (prob(25))
qdel(src)
return
- else
return
/obj/machinery/particle_accelerator/proc/update_state()
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index b4ad3cc448..c9e5edd9b4 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -725,7 +725,7 @@
in_chamber.on_hit(M)
if(in_chamber.damage_type != HALLOSS && !in_chamber.nodamage)
log_and_message_admins("commited suicide using \a [src]", user)
- user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]", sharp = TRUE)
+ user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", sharp = TRUE, used_weapon = src)
user.death()
else if(in_chamber.damage_type == HALLOSS)
to_chat(user, span_notice("Ow..."))
diff --git a/code/modules/projectiles/projectile/hook.dm b/code/modules/projectiles/projectile/hook.dm
index 1e09cf00ce..0a06c21f10 100644
--- a/code/modules/projectiles/projectile/hook.dm
+++ b/code/modules/projectiles/projectile/hook.dm
@@ -133,7 +133,7 @@
else if(firer)
var/obj/T
- if(original in target.contents && istype(original, /obj))
+ if((original in target.contents) && istype(original, /obj))
T = original
var/list/possible_targets = list()
diff --git a/code/modules/reagents/hoses/connector.dm b/code/modules/reagents/hoses/connector.dm
index 91c265e80b..74d15146b2 100644
--- a/code/modules/reagents/hoses/connector.dm
+++ b/code/modules/reagents/hoses/connector.dm
@@ -65,7 +65,7 @@
if(C.my_hose)
return FALSE
- if(C.flow_direction in list(HOSE_INPUT, HOSE_OUTPUT) - flow_direction)
+ if(C.flow_direction in (list(HOSE_INPUT, HOSE_OUTPUT) - flow_direction))
return TRUE
return FALSE
diff --git a/code/modules/reagents/machinery/dispenser/cartridge_presets_ch.dm b/code/modules/reagents/machinery/dispenser/cartridge_presets_ch.dm
index e0c0dea2dc..8f132482c5 100644
--- a/code/modules/reagents/machinery/dispenser/cartridge_presets_ch.dm
+++ b/code/modules/reagents/machinery/dispenser/cartridge_presets_ch.dm
@@ -1,40 +1,115 @@
-/obj/item/reagent_containers/chem_disp_cartridge
- //CHOMP - Chems that are used but not meant for cargo supplies, at least for now. - Jack
- champagne spawn_reagent = REAGENT_ID_CHAMPAGNE
- singulo spawn_reagent = REAGENT_ID_SINGULO
- doctorsdelight spawn_reagent = REAGENT_ID_DOCTORSDELIGHT
- nothing spawn_reagent = REAGENT_ID_NOTHING
- banana spawn_reagent = REAGENT_ID_BANANA
- honey spawn_reagent = REAGENT_ID_HONEY
- egg spawn_reagent = REAGENT_ID_EGG
- coco spawn_reagent = REAGENT_ID_COCO
- cherryjelly spawn_reagent = REAGENT_ID_CHERRYJELLY
- carrotjuice spawn_reagent = REAGENT_ID_CARROTJUICE
- applejuice spawn_reagent = REAGENT_ID_APPLEJUICE
- tomatojuice spawn_reagent = REAGENT_ID_TOMATOJUICE
- peanutbutter spawn_reagent = REAGENT_ID_PEANUTBUTTER
- matcha_latte spawn_reagent = REAGENT_ID_MATCHALATTE
- soymilk spawn_reagent = REAGENT_ID_SOYMILK
- gingerale spawn_reagent = REAGENT_ID_GINGERALE
- roy_rogers spawn_reagent = REAGENT_ID_ROYROGERS
- patron spawn_reagent = REAGENT_ID_PATRON
- goldschlager spawn_reagent = REAGENT_ID_GOLDSCHLAGER
- gelatin spawn_reagent = REAGENT_GELATIN
- melonliquor spawn_reagent = REAGENT_ID_MELONLIQUOR
- bluecuracao spawn_reagent = REAGENT_ID_BLUECURACAO
- thirteenloko spawn_reagent = REAGENT_ID_THIRTEENLOKO
- deadrum spawn_reagent = REAGENT_ID_DEADRUM
- sake spawn_reagent = REAGENT_ID_SAKE
- acidspit spawn_reagent = REAGENT_ID_ACIDSPIT
- amasec spawn_reagent = REAGENT_ID_AMASEC
- beepskysmash spawn_reagent = REAGENT_ID_BEEPSKYSMASH
- atomicbomb spawn_reagent = REAGENT_ID_ATOMICBOMB
- nuka_cola spawn_reagent = REAGENT_ID_NUKACOLA
- threemileisland spawn_reagent = REAGENT_ID_THREEMILEISLAND
- manhattan_proj spawn_reagent = REAGENT_ID_MANHATTANPROJ
- psilocybin spawn_reagent = REAGENT_ID_PSILOCYBIN
- moonshine spawn_reagent = REAGENT_ID_MOONSHINE
- specialwhiskey spawn_reagent = REAGENT_ID_SPECIALWHISKEY
- unathiliquor spawn_reagent = REAGENT_ID_UNATHILIQUOR
- winebrandy spawn_reagent = REAGENT_ID_WINEBRANDY
- snaps spawn_reagent = REAGENT_ID_SNAPS
+//CHOMP - Chems that are used but not meant for cargo supplies, at least for now. - Jack
+
+/obj/item/reagent_containers/chem_disp_cartridge/champagne
+ spawn_reagent = REAGENT_ID_CHAMPAGNE
+
+/obj/item/reagent_containers/chem_disp_cartridge/singulo
+ spawn_reagent = REAGENT_ID_SINGULO
+
+/obj/item/reagent_containers/chem_disp_cartridge/doctorsdelight
+ spawn_reagent = REAGENT_ID_DOCTORSDELIGHT
+
+/obj/item/reagent_containers/chem_disp_cartridge/nothing
+ spawn_reagent = REAGENT_ID_NOTHING
+
+/obj/item/reagent_containers/chem_disp_cartridge/banana
+ spawn_reagent = REAGENT_ID_BANANA
+
+/obj/item/reagent_containers/chem_disp_cartridge/honey
+ spawn_reagent = REAGENT_ID_HONEY
+
+/obj/item/reagent_containers/chem_disp_cartridge/egg
+ spawn_reagent = REAGENT_ID_EGG
+
+/obj/item/reagent_containers/chem_disp_cartridge/coco
+ spawn_reagent = REAGENT_ID_COCO
+
+/obj/item/reagent_containers/chem_disp_cartridge/cherryjelly
+ spawn_reagent = REAGENT_ID_CHERRYJELLY
+
+/obj/item/reagent_containers/chem_disp_cartridge/carrotjuice
+ spawn_reagent = REAGENT_ID_CARROTJUICE
+
+/obj/item/reagent_containers/chem_disp_cartridge/applejuice
+ spawn_reagent = REAGENT_ID_APPLEJUICE
+
+/obj/item/reagent_containers/chem_disp_cartridge/tomatojuice
+ spawn_reagent = REAGENT_ID_TOMATOJUICE
+
+/obj/item/reagent_containers/chem_disp_cartridge/peanutbutter
+ spawn_reagent = REAGENT_ID_PEANUTBUTTER
+
+/obj/item/reagent_containers/chem_disp_cartridge/matcha_latte
+ spawn_reagent = REAGENT_ID_MATCHALATTE
+
+/obj/item/reagent_containers/chem_disp_cartridge/soymilk
+ spawn_reagent = REAGENT_ID_SOYMILK
+
+/obj/item/reagent_containers/chem_disp_cartridge/gingerale
+ spawn_reagent = REAGENT_ID_GINGERALE
+
+/obj/item/reagent_containers/chem_disp_cartridge/roy_rogers
+ spawn_reagent = REAGENT_ID_ROYROGERS
+
+/obj/item/reagent_containers/chem_disp_cartridge/patron
+ spawn_reagent = REAGENT_ID_PATRON
+
+/obj/item/reagent_containers/chem_disp_cartridge/goldschlager
+ spawn_reagent = REAGENT_ID_GOLDSCHLAGER
+
+/obj/item/reagent_containers/chem_disp_cartridge/gelatin
+ spawn_reagent = REAGENT_GELATIN
+
+/obj/item/reagent_containers/chem_disp_cartridge/melonliquor
+ spawn_reagent = REAGENT_ID_MELONLIQUOR
+
+/obj/item/reagent_containers/chem_disp_cartridge/bluecuracao
+ spawn_reagent = REAGENT_ID_BLUECURACAO
+
+/obj/item/reagent_containers/chem_disp_cartridge/thirteenloko
+ spawn_reagent = REAGENT_ID_THIRTEENLOKO
+
+/obj/item/reagent_containers/chem_disp_cartridge/deadrum
+ spawn_reagent = REAGENT_ID_DEADRUM
+
+/obj/item/reagent_containers/chem_disp_cartridge/sake
+ spawn_reagent = REAGENT_ID_SAKE
+
+/obj/item/reagent_containers/chem_disp_cartridge/acidspit
+ spawn_reagent = REAGENT_ID_ACIDSPIT
+
+/obj/item/reagent_containers/chem_disp_cartridge/amasec
+ spawn_reagent = REAGENT_ID_AMASEC
+
+/obj/item/reagent_containers/chem_disp_cartridge/beepskysmash
+ spawn_reagent = REAGENT_ID_BEEPSKYSMASH
+
+/obj/item/reagent_containers/chem_disp_cartridge/atomicbomb
+ spawn_reagent = REAGENT_ID_ATOMICBOMB
+
+/obj/item/reagent_containers/chem_disp_cartridge/nuka_cola
+ spawn_reagent = REAGENT_ID_NUKACOLA
+
+/obj/item/reagent_containers/chem_disp_cartridge/threemileisland
+ spawn_reagent = REAGENT_ID_THREEMILEISLAND
+
+/obj/item/reagent_containers/chem_disp_cartridge/manhattan_proj
+ spawn_reagent = REAGENT_ID_MANHATTANPROJ
+
+/obj/item/reagent_containers/chem_disp_cartridge/psilocybin
+ spawn_reagent = REAGENT_ID_PSILOCYBIN
+
+/obj/item/reagent_containers/chem_disp_cartridge/moonshine
+ spawn_reagent = REAGENT_ID_MOONSHINE
+
+/obj/item/reagent_containers/chem_disp_cartridge/specialwhiskey
+ spawn_reagent = REAGENT_ID_SPECIALWHISKEY
+
+/obj/item/reagent_containers/chem_disp_cartridge/unathiliquor
+ spawn_reagent = REAGENT_ID_UNATHILIQUOR
+
+/obj/item/reagent_containers/chem_disp_cartridge/winebrandy
+ spawn_reagent = REAGENT_ID_WINEBRANDY
+
+/obj/item/reagent_containers/chem_disp_cartridge/snaps
+ spawn_reagent = REAGENT_ID_SNAPS
diff --git a/code/modules/reagents/machinery/dispenser/reagent_tank.dm b/code/modules/reagents/machinery/dispenser/reagent_tank.dm
index aeb3299d94..002356141f 100644
--- a/code/modules/reagents/machinery/dispenser/reagent_tank.dm
+++ b/code/modules/reagents/machinery/dispenser/reagent_tank.dm
@@ -76,7 +76,6 @@
new /obj/effect/effect/water(src.loc)
qdel(src)
return
- else
return
/obj/structure/reagent_dispensers/blob_act()
diff --git a/code/modules/reagents/reagents/food_drinks_vr.dm b/code/modules/reagents/reagents/food_drinks_vr.dm
index 0e820a9044..6e33fa159a 100644
--- a/code/modules/reagents/reagents/food_drinks_vr.dm
+++ b/code/modules/reagents/reagents/food_drinks_vr.dm
@@ -87,6 +87,7 @@
if(M.species.organic_food_coeff) //it's still food!
switch(alien)
if(IS_DIONA) //Diona don't get any nutrition from nutriment or protein.
+ pass()
if(IS_SKRELL)
M.adjustToxLoss(0.25 * removed) //Equivalent to half as much protein, since it's half protein.
if(IS_TESHARI)
@@ -453,6 +454,7 @@
if(M.species.organic_food_coeff) //it's still food!
switch(alien)
if(IS_DIONA) //Diona don't get any nutrition from nutriment or protein.
+ pass()
if(IS_SKRELL)
M.adjustToxLoss(0.25 * removed) //Equivalent to half as much protein, since it's half protein.
if(IS_TESHARI)
diff --git a/code/modules/samples/samples.dm b/code/modules/samples/samples.dm
index 1cc0f6726f..22aabcbbd1 100644
--- a/code/modules/samples/samples.dm
+++ b/code/modules/samples/samples.dm
@@ -87,12 +87,12 @@
switch(damage_type)
if("BRUTE")
H.visible_message(span_danger("\The [src] creaks as it ravages [H]'s hands!"))
- H.apply_damage(rand(min_damage,max_damage), BRUTE, "r_hand", used_weapon="Anomalous Material")
- H.apply_damage(rand(min_damage,max_damage), BRUTE, "l_hand", used_weapon="Anomalous Material")
+ H.apply_damage(rand(min_damage,max_damage), BRUTE, "r_hand", used_weapon=src)
+ H.apply_damage(rand(min_damage,max_damage), BRUTE, "l_hand", used_weapon=src)
if("BURN")
H.visible_message(span_danger("\The [src] flashes as it scorches [H]'s hands!"))
- H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon="Anomalous Material")
- H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon="Anomalous Material")
+ H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon=src)
+ H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon=src)
if("TOX")
H.visible_message(span_danger("\The [src] seethes and hisses like burning acid!"))
if(!H.isSynthetic())
@@ -119,7 +119,7 @@
burn_user = FALSE
if(burn_user)
- M.apply_damage(rand(min_damage,max_damage), BURN, null, used_weapon="Anomalous Material")
+ M.apply_damage(rand(min_damage,max_damage), BURN, null, used_weapon=src)
/obj/item/research_sample/attack_self(mob/user)
var/mob/living/M = user
@@ -144,12 +144,12 @@
switch(damage_type)
if("BRUTE")
H.visible_message(span_danger("\The [src] creaks as it ravages [H]'s hands!"))
- H.apply_damage(rand(min_damage,max_damage), BRUTE, "r_hand", used_weapon="Anomalous Material")
- H.apply_damage(rand(min_damage,max_damage), BRUTE, "l_hand", used_weapon="Anomalous Material")
+ H.apply_damage(rand(min_damage,max_damage), BRUTE, "r_hand", used_weapon=src)
+ H.apply_damage(rand(min_damage,max_damage), BRUTE, "l_hand", used_weapon=src)
if("BURN")
H.visible_message(span_danger("\The [src] flashes as it scorches [H]'s hands!"))
- H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon="Anomalous Material")
- H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon="Anomalous Material")
+ H.apply_damage(rand(min_damage,max_damage), BURN, "r_hand", used_weapon=src)
+ H.apply_damage(rand(min_damage,max_damage), BURN, "l_hand", used_weapon=src)
if("TOX")
H.visible_message(span_danger("\The [src] seethes and hisses like burning acid!"))
if(!H.isSynthetic())
@@ -186,7 +186,7 @@
burn_user = FALSE
if(burn_user)
- M.apply_damage(rand(min_damage,max_damage), BURN, null, used_weapon="Anomalous Material")
+ M.apply_damage(rand(min_damage,max_damage), BURN, null, used_weapon=src)
/obj/item/research_sample/attackby(obj/item/P as obj, mob/user as mob)
..()
diff --git a/code/modules/scripting/Interpreter/Interpreter.dm b/code/modules/scripting/Interpreter/Interpreter.dm
index 5287c55dff..8f9ef9b979 100644
--- a/code/modules/scripting/Interpreter/Interpreter.dm
+++ b/code/modules/scripting/Interpreter/Interpreter.dm
@@ -132,7 +132,7 @@ Runs each statement in a block of code.
else if(istype(S, /node/statement/FunctionCall))
RunFunction(S)
else if(istype(S, /node/statement/FunctionDefinition))
- //do nothing
+ pass() //do nothing
else if(istype(S, /node/statement/WhileLoop))
RunWhile(S)
else if(istype(S, /node/statement/IfStatement))
diff --git a/code/modules/spells/general/area_teleport.dm b/code/modules/spells/general/area_teleport.dm
index 36c6c8751e..9358d2703e 100644
--- a/code/modules/spells/general/area_teleport.dm
+++ b/code/modules/spells/general/area_teleport.dm
@@ -37,7 +37,8 @@
/spell/area_teleport/cast(area/thearea, mob/user)
if(!istype(thearea))
if(istype(thearea, /list))
- thearea = thearea[1]
+ var/list/area_list = thearea
+ thearea = area_list[1]
var/list/L = list()
for(var/turf/T in get_area_turfs(thearea.type))
if(!T.density)
diff --git a/code/modules/xenoarcheaology/finds/special.dm b/code/modules/xenoarcheaology/finds/special.dm
index 5c5a06c420..f2ae8dc1a4 100644
--- a/code/modules/xenoarcheaology/finds/special.dm
+++ b/code/modules/xenoarcheaology/finds/special.dm
@@ -76,7 +76,7 @@
//see if we've identified anyone nearby
if(world.time - last_bloodcall > bloodcall_interval && nearby_mobs.len)
var/mob/living/carbon/human/M = pop(nearby_mobs)
- if(M in view(7,src) && M.health > 20)
+ if((M in view(7,src)) && M.health > 20)
if(prob(50))
bloodcall(M)
nearby_mobs.Add(M)
diff --git a/code/modules/xenoarcheaology/tools/tools.dm b/code/modules/xenoarcheaology/tools/tools.dm
index 4f1630bb0b..cf1942fffe 100644
--- a/code/modules/xenoarcheaology/tools/tools.dm
+++ b/code/modules/xenoarcheaology/tools/tools.dm
@@ -80,9 +80,7 @@
SSxenoarch.digsite_spawning_turfs.Remove(T)
if(SSxenoarch && ((nearestTargetDist == -1) || (nearestSimpleTargetDist == -1)) && user.z && (world.time - last_repopulation_time >= repopulation_delay))
- if(user.z in using_map.xenoarch_exempt_levels) //We found no artifacts and our Z level is not spawn exempt. Time for random generation.
- //Yeah we do nothing here. I tried to make the above a !user.z ... but VSC compiler screeched at me.
- else
+ if(!(user.z in using_map.xenoarch_exempt_levels)) //We found no artifacts and our Z level is not spawn exempt. Time for random generation.
last_repopulation_time = world.time
to_chat(user, "The [src] beeps and buzzes, a warning popping up on screen stating 'No artifacts detected on current wavelength. Swapping to different wavelength. Please try scanning momentarily.'")
SSxenoarch.continual_generation(user)
diff --git a/modular_chomp/code/ZAS/Fire_acts.dm b/modular_chomp/code/ZAS/Fire_acts.dm
index 71983b75e8..dddcc21e53 100644
--- a/modular_chomp/code/ZAS/Fire_acts.dm
+++ b/modular_chomp/code/ZAS/Fire_acts.dm
@@ -42,7 +42,7 @@ FIREACT_BURNS(/obj/item/paper,HIGH_CHANCE,TRASH_BURN,BURN_TEMP_PAPER)
FIREACT_BURNS(/obj/item/soap,LOW_CHANCE,TRASH_BURN,BURN_TEMP_PAPER)
FIREACT_BURNS(/obj/item/storage/pill_bottle,MED_CHANCE,TRASH_BURN,BURN_TEMP_PAPER)
FIREACT_BURNS(/obj/item/assembly/mousetrap,HIGH_CHANCE,TRASH_BURN,BURN_TEMP_PAPER)
-FIREACT_BURNS(/obj/structure/table/,LOW_CHANCE,TRASH_BURN,BURN_TEMP_METAL)
+FIREACT_BURNS(/obj/structure/table,LOW_CHANCE,TRASH_BURN,BURN_TEMP_METAL)
FIREACT_BURNS(/obj/structure/table/standard,LOW_CHANCE,TRASH_BURN,BURN_TEMP_PLASTIC)
FIREACT_BURNS(/obj/item/deck,LOW_CHANCE,TRASH_BURN,BURN_TEMP_PAPER)
FIREACT_BURNS(/obj/structure/closet,LOW_CHANCE,TRASH_BURN,BURN_TEMP_METAL)
diff --git a/modular_chomp/code/datums/supplypacks/misc.dm b/modular_chomp/code/datums/supplypacks/misc.dm
index ed8b57c80c..8d582eaddb 100644
--- a/modular_chomp/code/datums/supplypacks/misc.dm
+++ b/modular_chomp/code/datums/supplypacks/misc.dm
@@ -41,7 +41,7 @@
)
cost = 200
containertype = /obj/structure/closet/crate/nanotrasen
- container name = "Bluespace Fulton kit crate"
+ containername = "Bluespace Fulton kit crate"
/datum/supply_pack/misc/fulton_surplus
name = "Surplus Bluespace Fultons"
@@ -50,4 +50,4 @@
)
cost = 100
containertype = /obj/structure/closet/crate/nanotrasen
- container name = "Surplus Bluespace Fultons crate"
\ No newline at end of file
+ containername = "Surplus Bluespace Fultons crate"
diff --git a/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm b/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm
index b52d24aaef..0e6c94ce4e 100644
--- a/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm
+++ b/modular_chomp/code/modules/mob/living/carbon/human/species/shadekin/shadekin_abilities.dm
@@ -31,7 +31,7 @@
for(var/thing in orange(7, src))
if(istype(thing, /mob/living/carbon/human))
var/mob/living/carbon/human/watchers = thing
- if(watchers in oviewers(7,src) && watchers.species != SPECIES_SHADEKIN) // And they can see us... //CHOMPEDIT - (And aren't themselves a shadekin)
+ if((watchers in oviewers(7,src)) && watchers.species != SPECIES_SHADEKIN) // And they can see us... //CHOMPEDIT - (And aren't themselves a shadekin)
if(!(watchers.stat) && !isbelly(watchers.loc) && !istype(watchers.loc, /obj/item/holder)) // And they are alive and not being held by someone...
watcher++ // They are watching us!
else if(istype(thing, /mob/living/silicon/robot))
diff --git a/modular_chomp/code/modules/mob/living/simple_animal/aliens/synx.dm b/modular_chomp/code/modules/mob/living/simple_animal/aliens/synx.dm
index e9c7d69ca2..e108323038 100644
--- a/modular_chomp/code/modules/mob/living/simple_animal/aliens/synx.dm
+++ b/modular_chomp/code/modules/mob/living/simple_animal/aliens/synx.dm
@@ -611,6 +611,7 @@
if(transformed)
//transformed bellysprites dont exist yet. Uncomment this when they do. -Reo
//add_overlay("[iconstate]-t_[belly_class]-[vs_fullness]")
+ pass()
else
add_overlay("[icon_state]_[belly_class]-[vs_fullness]")
diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm
index fa29adef40..e9eab00451 100644
--- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm
+++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/humanoid/eclipse/eclipse.dm
@@ -50,7 +50,7 @@
minbodytemp = 0
heat_damage_per_tick = 0
- projectiletype = /obj/item/projectile/bullet/pistol/medium.
+ projectiletype = /obj/item/projectile/bullet/pistol/medium
projectilesound = 'sound/weapons/Gunshot_light.ogg'
needs_reload = TRUE
diff --git a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm
index 8e87c1da32..219ecc3036 100644
--- a/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm
+++ b/modular_chomp/code/modules/mob/living/simple_mob/subtypes/vore/swoopie.dm
@@ -302,7 +302,7 @@
/mob/living/simple_mob/vore/aggressive/corrupthound/swoopie/verb/change_settings()
set name = "Change Settings"
- set desc = "Change \the [src]'s settings"
+ set desc = "Change the swoopie's settings"
set category = "IC"
set src in oview(1)
if(!has_AI() || !IIsAlly(usr))
diff --git a/modular_chomp/code/modules/organs/internal/malignant/malignant.dm b/modular_chomp/code/modules/organs/internal/malignant/malignant.dm
index d1df3856fd..80ba202b90 100644
--- a/modular_chomp/code/modules/organs/internal/malignant/malignant.dm
+++ b/modular_chomp/code/modules/organs/internal/malignant/malignant.dm
@@ -457,7 +457,7 @@
if(prob(2))
var/obj/item/organ/O = owner.organs_by_name[parent_organ]
if(thalers < 100)
-
+ pass()
else if(thalers < 500)
owner.custom_pain("You feel bloated.",1,TRUE)
owner.custom_emote(VISIBLE_MESSAGE, "winces slightly.")
diff --git a/modular_chomp/code/modules/reagents/machinery/dispenser/chem_synthesizer_ch.dm b/modular_chomp/code/modules/reagents/machinery/dispenser/chem_synthesizer_ch.dm
index c3306c3762..71903e55ac 100644
--- a/modular_chomp/code/modules/reagents/machinery/dispenser/chem_synthesizer_ch.dm
+++ b/modular_chomp/code/modules/reagents/machinery/dispenser/chem_synthesizer_ch.dm
@@ -151,7 +151,7 @@
/obj/machinery/chemical_synthesizer/proc/add_cartridge(obj/item/reagent_containers/chem_disp_cartridge/C, mob/user)
if(!panel_open)
if(user)
- to_chat(user, span_warning("\The panel is locked!"))
+ to_chat(user, span_warning("The panel is locked!"))
return
if(!istype(C))
diff --git a/vorestation.dme b/vorestation.dme
index 57eec45171..fec9a13bec 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -11,6 +11,7 @@
// END_PREFERENCES
// BEGIN_INCLUDE
#include "code\__byond_version_compat.dm"
+#include "code\__odlint.dm"
#include "code\__spaceman_dmm.dm"
#include "code\_macros.dm"
#include "code\_macros_vr.dm"