From ccef887efec2cb3025228210bcb134700aac5175 Mon Sep 17 00:00:00 2001 From: san7890 Date: Wed, 29 Mar 2023 11:17:03 -0600 Subject: [PATCH] Lints Against Unmanaged Local Defines (#74333) # MAINTAINER - USE THE BUTTON THAT SAYS "MERGE MASTER" THEN SET THE PR TO AUTO-MERGE! IT'S MUCH EASIER FOR ME TO FIX THINGS BEFORE THEY SKEW RATHER THAN AFTER THE FACT. ## About The Pull Request Hey there, This took a while to do, but here's the gist: Python file now regexes every file in `/code` except for those that have some valid reason to be tacking on more global defines. Some of those reasons are simply just that I don't have the time right now (doing what you see in this PR took a few hours) to refactor and parse what should belong and what should be thrown out. For the time being though, this PR will at least _halt_ people making the mistake of not `#undef`ing any files they `#define` "locally", or within the scope of a file. Most people forget to do this and this leads to a lot of mess later on due to how many variables can be unmanaged on the global level. I've made this mistake, you've made this mistake, it's a common thing. Let's automatically check for it so it can be fixed no-stress. Scenarios this PR corrects: * Forgetting to undef a define but undeffing others. * Not undeffing any defines in your file. * Earmarking a define as a "file local" define, but not defining it. * Having a define be a "file local" define, but having it be used elsewhere. * Having a "local" define not even be in the file that it only shows up in. * Having a completely unused define* (* I kept some of these because they seemed important... Others were junked.) ## Why It's Good For The Game If you wanna use it across multiple files, no reason to not make it a global define (maybe there's a few reasons but let's assume that this is the 95% case). Let me know if you don't like how I re-arranged some of the defines and how you'd rather see it be implemented, and I'd be happy to do that. This was mostly just "eh does it need it or not" sorta stuff. I used a pretty cool way to detect if we should use the standardized GitHub "error" output, you can see the results of that here https://github.com/san7890/bruhstation/actions/runs/4549766579/jobs/8022186846#step:7:792 ## Changelog Nothing that really concerns players. (I fixed up all this stuff using vscode, no regexes beyond what you see in the python script. sorry downstreams) --- .github/workflows/ci_suite.yml | 1 + .gitignore | 3 + code/__DEFINES/_atoms.dm | 12 +++ code/__DEFINES/admin.dm | 7 ++ code/__DEFINES/airlock.dm | 6 ++ code/__DEFINES/area_editor.dm | 5 + .../__DEFINES/atmospherics/atmos_machinery.dm | 13 +++ .../atmospherics/atmos_mob_interaction.dm | 2 + code/__DEFINES/basketball.dm | 6 ++ code/__DEFINES/cameranets.dm | 5 + code/__DEFINES/changeling.dm | 4 + code/__DEFINES/chat.dm | 3 + code/__DEFINES/configuration.dm | 8 ++ code/__DEFINES/construction.dm | 7 ++ code/__DEFINES/crafting.dm | 8 ++ .../_defines.dm => __DEFINES/ctf.dm} | 0 code/__DEFINES/deadchat_control.dm | 6 ++ code/__DEFINES/dynamic.dm | 9 ++ code/__DEFINES/explosions.dm | 6 ++ code/__DEFINES/food.dm | 4 + code/__DEFINES/holopads.dm | 10 ++ code/__DEFINES/machines.dm | 17 ++++ code/__DEFINES/maps.dm | 22 +++++ code/__DEFINES/melee.dm | 3 + code/__DEFINES/mobs.dm | 1 + code/__DEFINES/projectiles.dm | 14 +++ code/__DEFINES/reagents.dm | 7 ++ code/__DEFINES/rotation.dm | 17 ++++ code/__DEFINES/station_stuck.dm | 3 + code/__DEFINES/supply_pods.dm | 7 ++ code/__DEFINES/weather.dm | 5 + code/__DEFINES/wires.dm | 6 ++ code/_onclick/click.dm | 3 + code/_onclick/drag_drop.dm | 3 + code/_onclick/hud/credits.dm | 6 ++ code/_onclick/hud/radial.dm | 3 + .../controllers/configuration/config_entry.dm | 7 -- code/controllers/subsystem/area_contents.dm | 2 + code/controllers/subsystem/atoms.dm | 13 --- code/controllers/subsystem/communications.dm | 1 + code/controllers/subsystem/economy.dm | 4 + code/controllers/subsystem/explosions.dm | 6 +- code/controllers/subsystem/init_profiler.dm | 2 + code/controllers/subsystem/persistence.dm | 7 +- .../subsystem/persistent_paintings.dm | 1 + .../subsystem/processing/quirks.dm | 1 + code/controllers/subsystem/profiler.dm | 3 + code/controllers/subsystem/shuttle.dm | 4 + code/controllers/subsystem/spatial_gridmap.dm | 3 + code/controllers/subsystem/throwing.dm | 3 + code/controllers/subsystem/ticker.dm | 2 + code/controllers/subsystem/weather.dm | 7 +- code/datums/actions/cooldown_action.dm | 2 + code/datums/ai_laws/ai_laws.dm | 1 + code/datums/chatmessage.dm | 19 ++-- code/datums/components/boomerang.dm | 2 + code/datums/components/construction.dm | 7 -- code/datums/components/crafting/_recipes.dm | 9 -- code/datums/components/deadchat_control.dm | 7 -- code/datums/components/gunpoint.dm | 2 - code/datums/components/rotation.dm | 18 ---- code/datums/components/splattercasting.dm | 2 + code/datums/components/stationstuck.dm | 8 -- code/datums/components/uplink.dm | 2 + code/datums/elements/turf_transparency.dm | 4 + code/datums/elements/weapon_description.dm | 1 - code/datums/holocall.dm | 11 --- code/datums/mapgen/JungleGenerator.dm | 2 + code/datums/martial/cqc.dm | 6 ++ code/datums/martial/plasma_fist.dm | 4 + code/datums/martial/sleeping_carp.dm | 4 + code/datums/position_point_vector.dm | 11 --- code/datums/station_traits/positive_traits.dm | 3 + code/datums/wires/airlock.dm | 5 - code/game/gamemodes/dynamic/_defines.dm | 2 - code/game/gamemodes/dynamic/dynamic.dm | 2 - .../gamemodes/dynamic/dynamic_rulesets.dm | 3 - .../dynamic/dynamic_rulesets_midround.dm | 8 +- code/game/machinery/airlock_control.dm | 2 - code/game/machinery/camera/camera.dm | 4 - code/game/machinery/civilian_bounties.dm | 2 + .../machinery/computer/arcade/orion_event.dm | 18 ++++ .../game/machinery/computer/communications.dm | 1 - code/game/machinery/computer/dna_console.dm | 3 + .../orders/order_computer/order_computer.dm | 2 + .../machinery/computer/records/security.dm | 1 + code/game/machinery/doors/airlock.dm | 11 +-- code/game/machinery/doors/firedoor.dm | 1 + .../embedded_controller/airlock_controller.dm | 6 ++ code/game/machinery/hologram.dm | 9 +- code/game/machinery/iv_drip.dm | 2 + code/game/machinery/medical_kiosk.dm | 6 ++ .../machinery/porta_turret/portable_turret.dm | 15 ++- .../porta_turret/portable_turret_construct.dm | 10 ++ code/game/machinery/roulette_machine.dm | 9 ++ code/game/machinery/shieldgen.dm | 3 + code/game/machinery/slotmachine.dm | 11 ++- code/game/machinery/status_display.dm | 6 -- .../fluid_spread/effects_foam.dm | 4 + code/game/objects/items/RSF.dm | 1 + code/game/objects/items/blueprints.dm | 5 - code/game/objects/items/broom.dm | 2 + code/game/objects/items/cards_ids.dm | 1 + code/game/objects/items/crayons.dm | 4 + code/game/objects/items/devices/multitool.dm | 4 + .../game/objects/items/devices/radio/radio.dm | 2 + code/game/objects/items/grenades/_grenade.dm | 6 -- .../game/objects/items/robot/items/generic.dm | 11 +++ code/game/objects/items/tcg/tcg.dm | 2 + code/game/objects/items/tcg/tcg_machines.dm | 13 +-- code/game/objects/items/teleportation.dm | 3 + code/game/objects/structures/bonfire.dm | 2 + code/game/objects/structures/fireplace.dm | 4 + code/game/objects/structures/grille.dm | 2 + code/game/objects/structures/showcase.dm | 3 + code/game/objects/structures/stairs.dm | 4 + code/game/world.dm | 3 +- code/modules/admin/sql_ban_system.dm | 2 + code/modules/admin/verbs/SDQL2/SDQL_2.dm | 21 ++++- .../admin/verbs/SDQL2/SDQL_2_parser.dm | 22 +++++ code/modules/admin/verbs/adminpm.dm | 1 + code/modules/antagonists/abductor/abductor.dm | 2 - .../abductor/equipment/abduction_gear.dm | 12 +++ .../blob/blobstrains/cryogenic_poison.dm | 6 +- .../blob/blobstrains/regenerative_materia.dm | 2 +- .../antagonists/changeling/changeling.dm | 7 +- .../changeling/powers/pheromone_receptors.dm | 4 + code/modules/antagonists/cult/cult.dm | 5 + code/modules/antagonists/cult/cult_items.dm | 2 + .../sacrifice_knowledge.dm | 3 + .../antagonists/revolution/revolution.dm | 8 +- .../traitor/objectives/demoralise_graffiti.dm | 3 +- .../wizard/grand_ritual/grand_rune.dm | 2 + .../asset_cache/transports/asset_transport.dm | 2 + .../environmental/LINDA_turf_tile.dm | 3 + .../atmospherics/gasmixtures/gas_mixture.dm | 1 - .../atmospherics/machinery/atmosmachinery.dm | 4 + .../components/binary_devices/circulator.dm | 2 - .../{hfr_defines.dm => _hfr_defines.dm} | 0 .../atmospherics/machinery/other/miner.dm | 6 ++ .../machinery/portable/canister.dm | 2 + .../portable/portable_atmospherics.dm | 2 + .../atmospherics/machinery/portable/pump.dm | 10 -- code/modules/basketball/basketball.dm | 10 +- code/modules/basketball/controller.dm | 5 + code/modules/cargo/centcom_podlauncher.dm | 6 ++ code/modules/cargo/expressconsole.dm | 9 +- code/modules/client/client_procs.dm | 8 ++ code/modules/clothing/chameleon.dm | 2 + code/modules/clothing/masks/gas_filter.dm | 7 ++ code/modules/error_handler/error_handler.dm | 2 + .../events/ghost_role/revenant_event.dm | 2 + code/modules/events/holiday/vday.dm | 2 + code/modules/explorer_drone/adventure.dm | 3 + code/modules/explorer_drone/scanner_array.dm | 5 + code/modules/food_and_drinks/plate.dm | 2 + .../food_and_drinks/restaurant/_venue.dm | 3 - code/modules/hydroponics/beekeeping/beebox.dm | 6 ++ code/modules/interview/interview.dm | 7 -- code/modules/library/lib_machines.dm | 17 ++++ .../library/skill_learning/skill_station.dm | 2 + code/modules/lighting/lighting_source.dm | 12 ++- .../ruins/lavalandruin_code/puzzle.dm | 2 + .../ruins/objects_and_mobs/ash_walker_den.dm | 2 + code/modules/mapping/reader.dm | 7 +- code/modules/mining/ores_coins.dm | 3 + .../basic/space_fauna/carp/carp_ai_actions.dm | 2 + code/modules/mob/living/blood.dm | 4 +- .../living/carbon/alien/adult/caste/hunter.dm | 1 + .../carbon/human/species_types/flypeople.dm | 2 +- .../carbon/human/species_types/golems.dm | 12 +-- .../carbon/human/species_types/mothmen.dm | 2 +- .../carbon/human/species_types/mushpeople.dm | 2 +- .../carbon/human/species_types/plasmamen.dm | 6 +- .../carbon/human/species_types/podpeople.dm | 2 +- .../carbon/human/species_types/skeletons.dm | 4 +- .../carbon/human/species_types/snail.dm | 2 +- code/modules/mob/living/silicon/ai/ai.dm | 2 + .../living/silicon/ai/freelook/cameranet.dm | 3 - .../mob/living/silicon/ai/freelook/chunk.dm | 2 - .../mob/living/simple_animal/bot/cleanbot.dm | 2 + .../mob/living/simple_animal/bot/floorbot.dm | 24 +++-- .../living/simple_animal/friendly/trader.dm | 17 ++++ .../mob/living/simple_animal/hostile/bees.dm | 9 ++ .../mob/living/simple_animal/hostile/goose.dm | 2 + .../simple_animal/hostile/gorilla/gorilla.dm | 3 +- .../hostile/gorilla/visuals_icons.dm | 3 + .../simple_animal/hostile/jungle/leaper.dm | 2 +- .../hostile/megafauna/bubblegum.dm | 4 + .../hostile/megafauna/colossus.dm | 13 +-- .../hostile/megafauna/demonic_frost_miner.dm | 2 + .../simple_animal/hostile/megafauna/drake.dm | 4 + .../hostile/megafauna/wendigo.dm | 1 + .../hostile/mining_mobs/brimdemon.dm | 2 + .../hostile/mining_mobs/elites/elite.dm | 4 + .../mining_mobs/elites/goliath_broodmother.dm | 5 + .../hostile/mining_mobs/elites/herald.dm | 5 + .../hostile/mining_mobs/elites/legionnaire.dm | 5 + .../hostile/mining_mobs/elites/pandora.dm | 5 + .../mob/living/simple_animal/parrot.dm | 8 ++ .../mob/living/simple_animal/slime/powers.dm | 6 ++ code/modules/mob/living/status_procs.dm | 4 +- code/modules/mob/mob_say.dm | 2 + code/modules/mod/mod_ai.dm | 2 + .../file_system/programs/atmosscan.dm | 3 + .../file_system/programs/secureye.dm | 2 + code/modules/power/floodlight.dm | 5 + code/modules/power/generator.dm | 2 + code/modules/power/gravitygenerator.dm | 9 ++ .../supermatter_delamination/_sm_delam.dm | 4 + code/modules/power/tesla/energy_ball.dm | 3 + .../procedural_mapping/mapGenerator.dm | 19 ---- .../projectiles/guns/energy/beam_rifle.dm | 7 ++ .../projectiles/guns/energy/dueling.dm | 9 ++ code/modules/projectiles/projectile.dm | 3 + code/modules/reagents/chemistry/items.dm | 3 + .../chemistry/machinery/chem_mass_spec.dm | 3 + .../chemistry/machinery/reagentgrinder.dm | 2 + code/modules/reagents/chemistry/reagents.dm | 2 - .../chemistry/reagents/alcohol_reagents.dm | 4 +- .../chemistry/reagents/medicine_reagents.dm | 4 +- .../chemistry/reagents/toxin_reagents.dm | 3 + .../reagents/chemistry/recipes/special.dm | 4 - code/modules/recycling/disposal/bin.dm | 2 + .../research/anomaly/anomaly_refinery.dm | 1 + code/modules/research/bepis.dm | 8 ++ .../research/ordnance/tank_compressor.dm | 4 + code/modules/research/server.dm | 4 +- code/modules/shuttle/computer.dm | 12 +-- code/modules/shuttle/shuttle.dm | 4 + code/modules/shuttle/special.dm | 2 + code/modules/station_goals/dna_vault.dm | 8 ++ code/modules/surgery/organs/eyes.dm | 2 + code/modules/surgery/organs/lungs.dm | 2 +- .../surgery/organs/stomach/_stomach.dm | 4 +- code/modules/surgery/surgery_step.dm | 2 + code/modules/tgui_panel/telemetry.dm | 3 + .../security_officer_distribution.dm | 1 + code/modules/vending/_vending.dm | 2 + .../wiremod/components/utility/router.dm | 2 + tgstation.dme | 17 +++- tools/define_sanity/check.py | 93 +++++++++++++++++++ 242 files changed, 1034 insertions(+), 319 deletions(-) create mode 100644 code/__DEFINES/_atoms.dm create mode 100644 code/__DEFINES/airlock.dm create mode 100644 code/__DEFINES/area_editor.dm create mode 100644 code/__DEFINES/basketball.dm create mode 100644 code/__DEFINES/cameranets.dm create mode 100644 code/__DEFINES/changeling.dm create mode 100644 code/__DEFINES/crafting.dm rename code/{modules/capture_the_flag/_defines.dm => __DEFINES/ctf.dm} (100%) create mode 100644 code/__DEFINES/deadchat_control.dm create mode 100644 code/__DEFINES/holopads.dm create mode 100644 code/__DEFINES/rotation.dm create mode 100644 code/__DEFINES/station_stuck.dm create mode 100644 code/__DEFINES/supply_pods.dm delete mode 100644 code/game/gamemodes/dynamic/_defines.dm rename code/modules/atmospherics/machinery/components/fusion/{hfr_defines.dm => _hfr_defines.dm} (100%) create mode 100644 tools/define_sanity/check.py diff --git a/.github/workflows/ci_suite.yml b/.github/workflows/ci_suite.yml index 2fa6159a58e..8a0d8d052c3 100644 --- a/.github/workflows/ci_suite.yml +++ b/.github/workflows/ci_suite.yml @@ -60,6 +60,7 @@ jobs: tools/bootstrap/python tools/validate_dme.py ${GITHUB_WORKSPACE}/output-annotations.txt 2>&1 diff --git a/.gitignore b/.gitignore index 00cd7ac9318..6dcfa2c4177 100644 --- a/.gitignore +++ b/.gitignore @@ -230,3 +230,6 @@ Tracy.exe # named byond versions config /tools/build/dm_versions.json + +# From /tools/define_sanity/check.py - potential output file that we load onto the user's machine that we don't want to have committed. +define_sanity_output.txt diff --git a/code/__DEFINES/_atoms.dm b/code/__DEFINES/_atoms.dm new file mode 100644 index 00000000000..abc4d805170 --- /dev/null +++ b/code/__DEFINES/_atoms.dm @@ -0,0 +1,12 @@ +#define BAD_INIT_QDEL_BEFORE 1 +#define BAD_INIT_DIDNT_INIT 2 +#define BAD_INIT_SLEPT 4 +#define BAD_INIT_NO_HINT 8 + +#ifdef PROFILE_MAPLOAD_INIT_ATOM +#define PROFILE_INIT_ATOM_BEGIN(...) var/__profile_stat_time = TICK_USAGE +#define PROFILE_INIT_ATOM_END(atom) mapload_init_times[##atom.type] += TICK_USAGE_TO_MS(__profile_stat_time) +#else +#define PROFILE_INIT_ATOM_BEGIN(...) +#define PROFILE_INIT_ATOM_END(...) +#endif diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index d9b28925c53..87fc73b2278 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -158,3 +158,10 @@ GLOBAL_VAR_INIT(ghost_role_flags, (~0)) /// A value for /datum/admins/cached_feedback_link to indicate empty, rather than unobtained #define NO_FEEDBACK_LINK "no_feedback_link" + +/// State when an interview has been approved +#define INTERVIEW_APPROVED "interview_approved" +/// State when an interview as been denied +#define INTERVIEW_DENIED "interview_denied" +/// State when an interview has had no action on it yet +#define INTERVIEW_PENDING "interview_pending" diff --git a/code/__DEFINES/airlock.dm b/code/__DEFINES/airlock.dm new file mode 100644 index 00000000000..f53b144d4a6 --- /dev/null +++ b/code/__DEFINES/airlock.dm @@ -0,0 +1,6 @@ +// Airlock light states, used for generating the light overlays +#define AIRLOCK_LIGHT_BOLTS "bolts" +#define AIRLOCK_LIGHT_EMERGENCY "emergency" +#define AIRLOCK_LIGHT_DENIED "denied" +#define AIRLOCK_LIGHT_CLOSING "closing" +#define AIRLOCK_LIGHT_OPENING "opening" diff --git a/code/__DEFINES/area_editor.dm b/code/__DEFINES/area_editor.dm new file mode 100644 index 00000000000..f0ef57c7e52 --- /dev/null +++ b/code/__DEFINES/area_editor.dm @@ -0,0 +1,5 @@ +// Used to edit areas. +#define AREA_ERRNONE 0 +#define AREA_STATION 1 +#define AREA_SPACE 2 +#define AREA_SPECIAL 3 diff --git a/code/__DEFINES/atmospherics/atmos_machinery.dm b/code/__DEFINES/atmospherics/atmos_machinery.dm index fadbce1f70a..25a34707643 100644 --- a/code/__DEFINES/atmospherics/atmos_machinery.dm +++ b/code/__DEFINES/atmospherics/atmos_machinery.dm @@ -55,3 +55,16 @@ /// TLV datums will ignore variables set to this. #define TLV_VALUE_IGNORE -1 + +#define CIRCULATOR_HOT 0 +#define CIRCULATOR_COLD 1 + +///Default pressure, used in the UI to reset the settings +#define PUMP_DEFAULT_PRESSURE (ONE_ATMOSPHERE) +///Maximum settable pressure +#define PUMP_MAX_PRESSURE (PUMP_DEFAULT_PRESSURE * 25) +///Minimum settable pressure +#define PUMP_MIN_PRESSURE (PUMP_DEFAULT_PRESSURE / 10) +///What direction is the machine pumping (into pump/port or out to the tank/area)? +#define PUMP_IN TRUE +#define PUMP_OUT FALSE diff --git a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm index 2f12ef4e9b9..4144be832e2 100644 --- a/code/__DEFINES/atmospherics/atmos_mob_interaction.dm +++ b/code/__DEFINES/atmospherics/atmos_mob_interaction.dm @@ -11,6 +11,8 @@ /// Amount of air to take a from a tile #define BREATH_PERCENTAGE (BREATH_VOLUME/CELL_VOLUME) +#define QUANTIZE(variable) (round((variable), (MOLAR_ACCURACY))) + /// Return this from a while_present proc to call its on_loss version, if one exists /// Useful for doing "we're done" effects without duped code #define BREATH_LOST 1 diff --git a/code/__DEFINES/basketball.dm b/code/__DEFINES/basketball.dm new file mode 100644 index 00000000000..c8edc953cfa --- /dev/null +++ b/code/__DEFINES/basketball.dm @@ -0,0 +1,6 @@ +/// You hit exhaustion when you use 100 stamina +#define STAMINA_COST_SHOOTING 10 //! shooting with RMB drains stamina (but LMB does not) +#define STAMINA_COST_DUNKING 20 //! dunking is more strenous than shooting +#define STAMINA_COST_DUNKING_MOB 30 //! dunking another person is harder +#define STAMINA_COST_SPINNING 15 //! spin emote uses stamina while holding ball +#define STAMINA_COST_DISARMING 10 //! getting shoved or disarmed while holding ball drains stamina diff --git a/code/__DEFINES/cameranets.dm b/code/__DEFINES/cameranets.dm new file mode 100644 index 00000000000..b88678db4a5 --- /dev/null +++ b/code/__DEFINES/cameranets.dm @@ -0,0 +1,5 @@ +/// We only want chunk sizes that are to the power of 2. E.g: 2, 4, 8, 16, etc.. +#define CHUNK_SIZE 16 +/// Takes a position, transforms it into a chunk bounded position. Indexes at 1 so it'll land on actual turfs always +#define GET_CHUNK_COORD(v) (max((FLOOR(v, CHUNK_SIZE)), 1)) + diff --git a/code/__DEFINES/changeling.dm b/code/__DEFINES/changeling.dm new file mode 100644 index 00000000000..1913e62c0e9 --- /dev/null +++ b/code/__DEFINES/changeling.dm @@ -0,0 +1,4 @@ +/// The duration of the fakedeath coma. +#define LING_FAKEDEATH_TIME (40 SECONDS) +/// The number of recent spoken lines to gain on absorbing a mob +#define LING_ABSORB_RECENT_SPEECH 8 diff --git a/code/__DEFINES/chat.dm b/code/__DEFINES/chat.dm index c147938224b..4ba4b8b26c5 100644 --- a/code/__DEFINES/chat.dm +++ b/code/__DEFINES/chat.dm @@ -20,6 +20,9 @@ #define MESSAGE_TYPE_ATTACKLOG "attacklog" #define MESSAGE_TYPE_DEBUG "debug" +/// Max length of chat message in characters +#define CHAT_MESSAGE_MAX_LENGTH 110 + //debug printing macros (for development and testing) /// Used for debug messages to the world #define debug_world(msg) if (GLOB.Debug2) to_chat(world, \ diff --git a/code/__DEFINES/configuration.dm b/code/__DEFINES/configuration.dm index 5fe8e63db52..8e9cde8a2bf 100644 --- a/code/__DEFINES/configuration.dm +++ b/code/__DEFINES/configuration.dm @@ -12,3 +12,11 @@ /// Force the config directory to be something other than "config" #define OVERRIDE_CONFIG_DIRECTORY_PARAMETER "config-directory" + +// Config entry types +#define VALUE_MODE_NUM 0 +#define VALUE_MODE_TEXT 1 +#define VALUE_MODE_FLAG 2 + +#define KEY_MODE_TEXT 0 +#define KEY_MODE_TYPE 1 diff --git a/code/__DEFINES/construction.dm b/code/__DEFINES/construction.dm index 6ce1810a75d..b2bdc2b99d1 100644 --- a/code/__DEFINES/construction.dm +++ b/code/__DEFINES/construction.dm @@ -202,3 +202,10 @@ GLOBAL_LIST_INIT(crafting_category, list( /// How much less resources the RCD uses when reconstructing #define RCD_MEMORY_COST_BUFF 8 + +// Defines for the construction component +#define FORWARD 1 +#define BACKWARD -1 + +#define ITEM_DELETE "delete" +#define ITEM_MOVE_INSIDE "move_inside" diff --git a/code/__DEFINES/crafting.dm b/code/__DEFINES/crafting.dm new file mode 100644 index 00000000000..75e82816786 --- /dev/null +++ b/code/__DEFINES/crafting.dm @@ -0,0 +1,8 @@ +///If the machine is used/deleted in the crafting process +#define CRAFTING_MACHINERY_CONSUME 1 +///If the structure is used/deleted in the crafting process +#define CRAFTING_STRUCTURE_CONSUME 1 +///If the machine is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it +#define CRAFTING_MACHINERY_USE 0 +///If the structure is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it +#define CRAFTING_STRUCTURE_USE 0 diff --git a/code/modules/capture_the_flag/_defines.dm b/code/__DEFINES/ctf.dm similarity index 100% rename from code/modules/capture_the_flag/_defines.dm rename to code/__DEFINES/ctf.dm diff --git a/code/__DEFINES/deadchat_control.dm b/code/__DEFINES/deadchat_control.dm new file mode 100644 index 00000000000..aa6ffe5b13e --- /dev/null +++ b/code/__DEFINES/deadchat_control.dm @@ -0,0 +1,6 @@ +///Will execute a single command after the cooldown based on player votes. +#define DEMOCRACY_MODE (1<<0) +///Allows each player to do a single command every cooldown. +#define ANARCHY_MODE (1<<1) +///Mutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy. +#define MUTE_DEMOCRACY_MESSAGES (1<<2) diff --git a/code/__DEFINES/dynamic.dm b/code/__DEFINES/dynamic.dm index ae32d40a930..6a6e734cba7 100644 --- a/code/__DEFINES/dynamic.dm +++ b/code/__DEFINES/dynamic.dm @@ -18,3 +18,12 @@ /// This cycle, a round event was hijacked when the last midround event was too recent. #define HIJACKED_TOO_RECENT "HIJACKED_TOO_RECENT" + +/// Kill this ruleset from continuing to process +#define RULESET_STOP_PROCESSING 1 + +/// Requirements when something needs a lot of threat to run, but still possible at low-pop +#define REQUIREMENTS_VERY_HIGH_THREAT_NEEDED list(90,90,90,80,60,50,40,40,40,40) + +/// Max number of teams we can have for the abductor ruleset +#define ABDUCTOR_MAX_TEAMS 4 diff --git a/code/__DEFINES/explosions.dm b/code/__DEFINES/explosions.dm index f867ee9b813..0ce9644af1c 100644 --- a/code/__DEFINES/explosions.dm +++ b/code/__DEFINES/explosions.dm @@ -58,3 +58,9 @@ #define EXPLODABLE_DELETE_SELF 1 /// Makes the explodable component delete its parent when it detonates. #define EXPLODABLE_DELETE_PARENT 2 + +// Flags for [/obj/item/grenade/var/dud_flags] +/// The grenade cannot detonate at all. It is innately nonfunctional. +#define GRENADE_DUD (1<<0) +/// The grenade has been used and as such cannot detonate. +#define GRENADE_USED (1<<1) diff --git a/code/__DEFINES/food.dm b/code/__DEFINES/food.dm index c283df3517c..2282d1097e1 100644 --- a/code/__DEFINES/food.dm +++ b/code/__DEFINES/food.dm @@ -176,3 +176,7 @@ DEFINE_BITFIELD(food_flags, list( #define ICE_CREAM_SCOOP_OFFSET 4 #define BLACKBOX_LOG_FOOD_MADE(food) SSblackbox.record_feedback("tally", "food_made", 1, food) + +// Venues for the barbots. +#define VENUE_RESTAURANT "Restaurant Venue" +#define VENUE_BAR "Bar Venue" diff --git a/code/__DEFINES/holopads.dm b/code/__DEFINES/holopads.dm new file mode 100644 index 00000000000..12c56472605 --- /dev/null +++ b/code/__DEFINES/holopads.dm @@ -0,0 +1,10 @@ +#define HOLOPAD_MAX_DIAL_TIME 200 + +#define HOLORECORD_DELAY "delay" +#define HOLORECORD_SAY "say" +#define HOLORECORD_SOUND "sound" +#define HOLORECORD_LANGUAGE "lang" +#define HOLORECORD_PRESET "preset" +#define HOLORECORD_RENAME "rename" + +#define HOLORECORD_MAX_LENGTH 200 diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index fb0a6e00ada..7c8bba08643 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -129,3 +129,20 @@ /// What's the minimum duration of a syndie bomb (in seconds) #define SYNDIEBOMB_MIN_TIMER_SECONDS 90 + +// Camera upgrade bitflags. +#define CAMERA_UPGRADE_XRAY (1<<0) +#define CAMERA_UPGRADE_EMP_PROOF (1<<1) +#define CAMERA_UPGRADE_MOTION (1<<2) + +/// Max length of a status line in the status display +#define MAX_STATUS_LINE_LENGTH 40 + +/// Blank Status Display +#define SD_BLANK 0 +/// Shows the emergency shuttle timer +#define SD_EMERGENCY 1 +/// Shows an arbitrary message, user-set +#define SD_MESSAGE 2 +/// Shows an alert picture (e.g. red alert, radiation, etc.) +#define SD_PICTURE 3 diff --git a/code/__DEFINES/maps.dm b/code/__DEFINES/maps.dm index e8e9b9683e8..6d4a10fa37f 100644 --- a/code/__DEFINES/maps.dm +++ b/code/__DEFINES/maps.dm @@ -197,3 +197,25 @@ Always compile, always use that verb, and always make sure that it works for wha #define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects" /// Shelter spot is out of bounds from the maps x/y coordinates #define SHELTER_DEPLOY_OUTSIDE_MAP "outside map" + +/// A map key that corresponds to being one exclusively for Space. +#define SPACE_KEY "space" + +//clusterCheckFlags defines +//All based on clusterMin and clusterMax as guides + +//Individual defines +#define CLUSTER_CHECK_NONE 0 //!No checks are done, cluster as much as possible +#define CLUSTER_CHECK_DIFFERENT_TURFS (1<<1) //!Don't let turfs of DIFFERENT types cluster +#define CLUSTER_CHECK_DIFFERENT_ATOMS (1<<2) //!Don't let atoms of DIFFERENT types cluster +#define CLUSTER_CHECK_SAME_TURFS (1<<3) //!Don't let turfs of the SAME type cluster +#define CLUSTER_CHECK_SAME_ATOMS (1<<4) //!Don't let atoms of the SAME type cluster + +//Combined defines +#define CLUSTER_CHECK_SAMES 24 //!Don't let any of the same type cluster +#define CLUSTER_CHECK_DIFFERENTS 6 //!Don't let any of different types cluster +#define CLUSTER_CHECK_ALL_TURFS 10 //!Don't let ANY turfs cluster same and different types +#define CLUSTER_CHECK_ALL_ATOMS 20 //!Don't let ANY atoms cluster same and different types + +//All +#define CLUSTER_CHECK_ALL 30 //!Don't let anything cluster, like, at all diff --git a/code/__DEFINES/melee.dm b/code/__DEFINES/melee.dm index 7fc2ed209cd..b1b6e5cc359 100644 --- a/code/__DEFINES/melee.dm +++ b/code/__DEFINES/melee.dm @@ -9,3 +9,6 @@ #define MARTIALART_PSYCHOBRAWL "psychotic brawling" #define MARTIALART_SLEEPINGCARP "sleeping carp" #define MARTIALART_WRESTLING "wrestling" + +/// The number of hits required to crit a target +#define HITS_TO_CRIT(damage) round(100 / damage, 0.1) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index ffe47ff7295..a6ffeb0ac91 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -442,6 +442,7 @@ #define CLOTHING_NUTRITION_GAIN 15 #define REAGENTS_METABOLISM 0.2 //How many units of reagent are consumed per second, by default. #define REAGENTS_EFFECT_MULTIPLIER (REAGENTS_METABOLISM / 0.4) // By defining the effect multiplier this way, it'll exactly adjust all effects according to how they originally were with the 0.4 metabolism +#define REM REAGENTS_EFFECT_MULTIPLIER //! Shorthand for the above define for ease of use in equations and the like // Eye protection #define FLASH_PROTECTION_HYPER_SENSITIVE -2 diff --git a/code/__DEFINES/projectiles.dm b/code/__DEFINES/projectiles.dm index 5fe001c8f05..8283e384059 100644 --- a/code/__DEFINES/projectiles.dm +++ b/code/__DEFINES/projectiles.dm @@ -56,3 +56,17 @@ #define CALIBER_HOOK "hook" /// The caliber used by the changeling tentacle mutation. #define CALIBER_TENTACLE "tentacle" + +/// For gunpoints, how many tiles around the target the shooter can roam without losing their shot +#define GUNPOINT_SHOOTER_STRAY_RANGE 2 + +//Designed for things that need precision trajectories like projectiles. +//Don't use this for anything that you don't absolutely have to use this with (like projectiles!) because it isn't worth using a datum unless you need accuracy down to decimal places in pixels. + +//You might see places where it does - 16 - 1. This is intentionally 17 instead of 16, because of how byond's tiles work and how not doing it will result in rounding errors like things getting put on the wrong turf. + +#define RETURN_PRECISE_POSITION(A) new /datum/position(A) +#define RETURN_PRECISE_POINT(A) new /datum/point(A) + +#define RETURN_POINT_VECTOR(ATOM, ANGLE, SPEED) (new /datum/point/vector(ATOM, null, null, null, null, ANGLE, SPEED)) +#define RETURN_POINT_VECTOR_INCREMENT(ATOM, ANGLE, SPEED, AMT) (new /datum/point/vector(ATOM, null, null, null, null, ANGLE, SPEED, AMT)) diff --git a/code/__DEFINES/reagents.dm b/code/__DEFINES/reagents.dm index f888358c5b4..511e01383ff 100644 --- a/code/__DEFINES/reagents.dm +++ b/code/__DEFINES/reagents.dm @@ -176,6 +176,10 @@ /// This reaction is produces a product that affects plants #define REACTION_TAG_COMPETITIVE (1<<21) +#define RNGCHEM_INPUT "input" +#define RNGCHEM_CATALYSTS "catalysts" +#define RNGCHEM_OUTPUT "output" + /// Below are defines used for reagent associated machines only /// For the pH meter flashing method #define ENABLE_FLASHING -1 @@ -186,6 +190,9 @@ #define GOLDSCHLAGER_GOLD_RATIO (GOLDSCHLAGER_GOLD/(GOLDSCHLAGER_VODKA+GOLDSCHLAGER_GOLD)) +/// The rate at which alcohol affects the drinker +#define ALCOHOL_RATE 0.005 + #define BLASTOFF_DANCE_MOVE_CHANCE_PER_UNIT 3 #define BLASTOFF_DANCE_MOVES_PER_SUPER_MOVE 3 diff --git a/code/__DEFINES/rotation.dm b/code/__DEFINES/rotation.dm new file mode 100644 index 00000000000..65cfb4af30d --- /dev/null +++ b/code/__DEFINES/rotation.dm @@ -0,0 +1,17 @@ +/// If an object needs to be rotated with a wrench +#define ROTATION_REQUIRE_WRENCH (1<<0) +/// If ghosts can rotate an object (if the ghost config is enabled) +#define ROTATION_GHOSTS_ALLOWED (1<<1) +/// If an object will ignore anchored for rotation (used for chairs) +#define ROTATION_IGNORE_ANCHORED (1<<2) +/// If an object will omit flipping from rotation (used for pipes since they use custom handling) +#define ROTATION_NO_FLIPPING (1<<3) +/// If an object needs to have an empty spot available in target direction (used for windoors and railings) +#define ROTATION_NEEDS_ROOM (1<<4) + +/// Rotate an object clockwise +#define ROTATION_CLOCKWISE -90 +/// Rotate an object counterclockwise +#define ROTATION_COUNTERCLOCKWISE 90 +/// Rotate an object upside down +#define ROTATION_FLIP 180 diff --git a/code/__DEFINES/station_stuck.dm b/code/__DEFINES/station_stuck.dm new file mode 100644 index 00000000000..f84ee7f660e --- /dev/null +++ b/code/__DEFINES/station_stuck.dm @@ -0,0 +1,3 @@ +#define PUNISHMENT_MURDER "murder" +#define PUNISHMENT_GIB "gib" +#define PUNISHMENT_TELEPORT "teleport" diff --git a/code/__DEFINES/supply_pods.dm b/code/__DEFINES/supply_pods.dm new file mode 100644 index 00000000000..ab51e635c38 --- /dev/null +++ b/code/__DEFINES/supply_pods.dm @@ -0,0 +1,7 @@ +#define MAX_EMAG_ROCKETS 5 +#define BEACON_COST 500 +#define SP_LINKED 1 +#define SP_READY 2 +#define SP_LAUNCH 3 +#define SP_UNLINK 4 +#define SP_UNREADY 5 diff --git a/code/__DEFINES/weather.dm b/code/__DEFINES/weather.dm index 4840ef976fc..ce63aa7f9ad 100644 --- a/code/__DEFINES/weather.dm +++ b/code/__DEFINES/weather.dm @@ -1,2 +1,7 @@ //A reference to this list is passed into area sound managers, and it's modified in a manner that preserves that reference in ash_storm.dm GLOBAL_LIST_EMPTY(ash_storm_sounds) + +#define STARTUP_STAGE 1 +#define MAIN_STAGE 2 +#define WIND_DOWN_STAGE 3 +#define END_STAGE 4 diff --git a/code/__DEFINES/wires.dm b/code/__DEFINES/wires.dm index 045a6ac70bb..85b1d398e06 100644 --- a/code/__DEFINES/wires.dm +++ b/code/__DEFINES/wires.dm @@ -55,3 +55,9 @@ #define WIRE_ZAP "High Voltage Circuit" #define WIRE_ZAP1 "High Voltage Circuit 1" #define WIRE_ZAP2 "High Voltage Circuit 2" + +// Wire states for the AI +#define AI_WIRE_NORMAL 0 +#define AI_WIRE_DISABLED 1 +#define AI_WIRE_HACKED 2 +#define AI_WIRE_DISABLED_HACKED -1 diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 200385fb8de..d91362c822b 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -578,3 +578,6 @@ return TRUE return FALSE + +#undef MAX_SAFE_BYOND_ICON_SCALE_TILES +#undef MAX_SAFE_BYOND_ICON_SCALE_PX diff --git a/code/_onclick/drag_drop.dm b/code/_onclick/drag_drop.dm index 115576b2833..c4f8de8e63b 100644 --- a/code/_onclick/drag_drop.dm +++ b/code/_onclick/drag_drop.dm @@ -180,3 +180,6 @@ ..() drag_start = 0 drag_details = null + +#undef LENIENCY_DISTANCE +#undef LENIENCY_TIME diff --git a/code/_onclick/hud/credits.dm b/code/_onclick/hud/credits.dm index 7dc57670b41..6de4b735bd1 100644 --- a/code/_onclick/hud/credits.dm +++ b/code/_onclick/hud/credits.dm @@ -68,3 +68,9 @@ /atom/movable/screen/credit/proc/FadeOut() animate(src, alpha = 0, transform = target, time = CREDIT_EASE_DURATION) + +#undef CREDIT_ANIMATE_HEIGHT +#undef CREDIT_EASE_DURATION +#undef CREDIT_ROLL_SPEED +#undef CREDIT_SPAWN_SPEED +#undef CREDITS_PATH diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index d5b1783c4b8..75e83a00b59 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -393,3 +393,6 @@ GLOBAL_LIST_EMPTY(radial_menus) /datum/radial_menu_choice/Destroy(force, ...) . = ..() QDEL_NULL(image) + +#undef NEXT_PAGE_ID +#undef DEFAULT_CHECK_DELAY diff --git a/code/controllers/configuration/config_entry.dm b/code/controllers/configuration/config_entry.dm index 35eb07c5b47..fb1cf4bf5a6 100644 --- a/code/controllers/configuration/config_entry.dm +++ b/code/controllers/configuration/config_entry.dm @@ -1,10 +1,3 @@ -#define VALUE_MODE_NUM 0 -#define VALUE_MODE_TEXT 1 -#define VALUE_MODE_FLAG 2 - -#define KEY_MODE_TEXT 0 -#define KEY_MODE_TYPE 1 - /datum/config_entry /// Read-only, this is determined by the last portion of the derived entry type var/name diff --git a/code/controllers/subsystem/area_contents.dm b/code/controllers/subsystem/area_contents.dm index 272c72eb7ea..904714f0ba0 100644 --- a/code/controllers/subsystem/area_contents.dm +++ b/code/controllers/subsystem/area_contents.dm @@ -53,3 +53,5 @@ SUBSYSTEM_DEF(area_contents) clear.turfs_to_uncontain = list() marked_for_clearing.len-- + +#undef ALLOWED_LOOSE_TURFS diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index 2717dcd1764..ff4641a66cf 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -1,8 +1,3 @@ -#define BAD_INIT_QDEL_BEFORE 1 -#define BAD_INIT_DIDNT_INIT 2 -#define BAD_INIT_SLEPT 4 -#define BAD_INIT_NO_HINT 8 - SUBSYSTEM_DEF(atoms) name = "Atoms" init_order = INIT_ORDER_ATOMS @@ -40,14 +35,6 @@ SUBSYSTEM_DEF(atoms) return SS_INIT_SUCCESS -#ifdef PROFILE_MAPLOAD_INIT_ATOM -#define PROFILE_INIT_ATOM_BEGIN(...) var/__profile_stat_time = TICK_USAGE -#define PROFILE_INIT_ATOM_END(atom) mapload_init_times[##atom.type] += TICK_USAGE_TO_MS(__profile_stat_time) -#else -#define PROFILE_INIT_ATOM_BEGIN(...) -#define PROFILE_INIT_ATOM_END(...) -#endif - /datum/controller/subsystem/atoms/proc/InitializeAtoms(list/atoms, list/atoms_to_return) if(initialized == INITIALIZATION_INSSATOMS) return diff --git a/code/controllers/subsystem/communications.dm b/code/controllers/subsystem/communications.dm index 4d5780b8b8d..6c8dd7b4c79 100644 --- a/code/controllers/subsystem/communications.dm +++ b/code/controllers/subsystem/communications.dm @@ -90,3 +90,4 @@ SUBSYSTEM_DEF(communications) #undef COMMUNICATION_COOLDOWN #undef COMMUNICATION_COOLDOWN_AI +#undef COMMUNICATION_COOLDOWN_MEETING diff --git a/code/controllers/subsystem/economy.dm b/code/controllers/subsystem/economy.dm index 27a09a1c576..7ae612f4021 100644 --- a/code/controllers/subsystem/economy.dm +++ b/code/controllers/subsystem/economy.dm @@ -227,3 +227,7 @@ SUBSYSTEM_DEF(economy) "cost" = price_to_use, "vendor" = vendor, )) + +#undef ECON_DEPARTMENT_STEP +#undef ECON_ACCOUNT_STEP +#undef ECON_PRICE_UPDATE_STEP diff --git a/code/controllers/subsystem/explosions.dm b/code/controllers/subsystem/explosions.dm index ef14d078fb4..7934a9628c6 100644 --- a/code/controllers/subsystem/explosions.dm +++ b/code/controllers/subsystem/explosions.dm @@ -67,10 +67,6 @@ SUBSYSTEM_DEF(explosions) msg += "} " return ..() - -#define SSEX_TURF "turf" -#define SSEX_OBJ "obj" - /datum/controller/subsystem/explosions/proc/is_exploding() return (lowturf.len || medturf.len || highturf.len || flameturf.len || throwturf.len || low_mov_atom.len || med_mov_atom.len || high_mov_atom.len) @@ -716,3 +712,5 @@ SUBSYSTEM_DEF(explosions) cost_throwturf = MC_AVERAGE(cost_throwturf, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) currentpart = SSEXPLOSIONS_TURFS + +#undef EXPLOSION_THROW_SPEED diff --git a/code/controllers/subsystem/init_profiler.dm b/code/controllers/subsystem/init_profiler.dm index e7586c93a95..063898b6a09 100644 --- a/code/controllers/subsystem/init_profiler.dm +++ b/code/controllers/subsystem/init_profiler.dm @@ -24,3 +24,5 @@ SUBSYSTEM_DEF(init_profiler) fdel(prof_file) WRITE_FILE(prof_file, current_profile_data) world.Profile(PROFILE_CLEAR) //Now that we're written this data out, dump it. We don't want it getting mixed up with our current round data + +#undef INIT_PROFILE_NAME diff --git a/code/controllers/subsystem/persistence.dm b/code/controllers/subsystem/persistence.dm index f6e18e4df76..0b09f050b1f 100644 --- a/code/controllers/subsystem/persistence.dm +++ b/code/controllers/subsystem/persistence.dm @@ -1,7 +1,6 @@ #define FILE_RECENT_MAPS "data/RecentMaps.json" #define KEEP_ROUNDS_MAP 3 -#define ROUNDCOUNT_ENGINE_JUST_EXPLODED 0 SUBSYSTEM_DEF(persistence) name = "Persistence" @@ -162,7 +161,7 @@ SUBSYSTEM_DEF(persistence) log_world("Loaded [prison_tattoos_to_use.len] prison tattoos") -///Saves all tattoos, so they can appear on prisoners in future rounds +///Saves all tattoos, so they can appear on prisoners in future rounds /datum/controller/subsystem/persistence/proc/save_prisoner_tattoos() var/json_file = file(PRISONER_TATTOO_SAVE_FILE) var/list/saved_data = list() @@ -295,7 +294,7 @@ SUBSYSTEM_DEF(persistence) for(var/obj/structure/displaycase/trophy/trophy_case in GLOB.trophy_cases) if(!valid_trophies.len) break - + if(trophy_case.showpiece) continue @@ -546,3 +545,5 @@ SUBSYSTEM_DEF(persistence) rustg_file_write("[rounds_since_engine_exploded + 1]", DELAMINATION_COUNT_FILEPATH) #undef DELAMINATION_COUNT_FILEPATH +#undef FILE_RECENT_MAPS +#undef KEEP_ROUNDS_MAP diff --git a/code/controllers/subsystem/persistent_paintings.dm b/code/controllers/subsystem/persistent_paintings.dm index b7b930c1a1d..8b97fc3f50a 100644 --- a/code/controllers/subsystem/persistent_paintings.dm +++ b/code/controllers/subsystem/persistent_paintings.dm @@ -305,6 +305,7 @@ SUBSYSTEM_DEF(persistent_paintings) fdel(json_file) WRITE_FILE(json_file, payload) +#undef PAINTINGS_DATA_FORMAT_VERSION #undef PATRONAGE_OK_FRAME #undef PATRONAGE_NICE_FRAME #undef PATRONAGE_GREAT_FRAME diff --git a/code/controllers/subsystem/processing/quirks.dm b/code/controllers/subsystem/processing/quirks.dm index 25bd2a613c8..bff79d61a70 100644 --- a/code/controllers/subsystem/processing/quirks.dm +++ b/code/controllers/subsystem/processing/quirks.dm @@ -202,5 +202,6 @@ PROCESSING_SUBSYSTEM_DEF(quirks) return new_quirks +#undef EXP_ASSIGN_WAYFINDER #undef RANDOM_QUIRK_BONUS #undef MINIMUM_RANDOM_QUIRKS diff --git a/code/controllers/subsystem/profiler.dm b/code/controllers/subsystem/profiler.dm index ddef191e5a3..d3ca080bc25 100644 --- a/code/controllers/subsystem/profiler.dm +++ b/code/controllers/subsystem/profiler.dm @@ -64,3 +64,6 @@ SUBSYSTEM_DEF(profiler) WRITE_FILE(prof_file, current_profile_data) WRITE_FILE(sendmaps_file, current_sendmaps_data) write_cost = MC_AVERAGE(write_cost, TICK_DELTA_TO_MS(TICK_USAGE_REAL - timer)) + +#undef PROFILER_FILENAME +#undef SENDMAPS_FILENAME diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 0e9d4fdce03..a4e1e17e15d 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -1096,3 +1096,7 @@ SUBSYSTEM_DEF(shuttle) has_purchase_shuttle_access |= shuttle_template.who_can_purchase return has_purchase_shuttle_access + +#undef MAX_TRANSIT_REQUEST_RETRIES +#undef MAX_TRANSIT_TILE_COUNT +#undef SOFT_TRANSIT_RESERVATION_THRESHOLD diff --git a/code/controllers/subsystem/spatial_gridmap.dm b/code/controllers/subsystem/spatial_gridmap.dm index 447f1a70701..71f1c8b4e55 100644 --- a/code/controllers/subsystem/spatial_gridmap.dm +++ b/code/controllers/subsystem/spatial_gridmap.dm @@ -756,6 +756,9 @@ SUBSYSTEM_DEF(spatial_grid) the average client distance is: [average_client_distance], the average hearable_distance is [average_hearable_distance], \ and the average atmos distance is [average_atmos_distance] ") +#undef BOUNDING_BOX_MAX +#undef BOUNDING_BOX_MIN #undef GRID_CELL_ADD #undef GRID_CELL_REMOVE #undef GRID_CELL_SET +#undef NUMBER_OF_PREGENERATED_ORANGES_EARS diff --git a/code/controllers/subsystem/throwing.dm b/code/controllers/subsystem/throwing.dm index 7c23a253711..1c5c50dd0fb 100644 --- a/code/controllers/subsystem/throwing.dm +++ b/code/controllers/subsystem/throwing.dm @@ -227,3 +227,6 @@ SUBSYSTEM_DEF(throwing) SEND_SIGNAL(thrownthing, COMSIG_MOVABLE_THROW_LANDED, src) qdel(src) + +#undef MAX_THROWING_DIST +#undef MAX_TICKS_TO_MAKE_UP diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index 3b287c8f74f..50f0c780dcc 100755 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -732,3 +732,5 @@ SUBSYSTEM_DEF(ticker) possible_themes += themes if(possible_themes.len) return "[global.config.directory]/reboot_themes/[pick(possible_themes)]" + +#undef ROUND_START_MUSIC_LIST diff --git a/code/controllers/subsystem/weather.dm b/code/controllers/subsystem/weather.dm index 97f25a98a5a..386cd48a6bc 100644 --- a/code/controllers/subsystem/weather.dm +++ b/code/controllers/subsystem/weather.dm @@ -1,9 +1,4 @@ -#define STARTUP_STAGE 1 -#define MAIN_STAGE 2 -#define WIND_DOWN_STAGE 3 -#define END_STAGE 4 - -//Used for all kinds of weather, ex. lavaland ash storms. +/// Used for all kinds of weather, ex. lavaland ash storms. SUBSYSTEM_DEF(weather) name = "Weather" flags = SS_BACKGROUND diff --git a/code/datums/actions/cooldown_action.dm b/code/datums/actions/cooldown_action.dm index 2517d40c4c0..9d31f2b5d37 100644 --- a/code/datums/actions/cooldown_action.dm +++ b/code/datums/actions/cooldown_action.dm @@ -335,3 +335,5 @@ SEND_SIGNAL(src, COMSIG_ACTION_SET_STATPANEL, stat_panel_data) return stat_panel_data + +#undef COOLDOWN_NO_DISPLAY_TIME diff --git a/code/datums/ai_laws/ai_laws.dm b/code/datums/ai_laws/ai_laws.dm index cdd01992249..22384c1c922 100644 --- a/code/datums/ai_laws/ai_laws.dm +++ b/code/datums/ai_laws/ai_laws.dm @@ -467,4 +467,5 @@ #undef CONFIG_ASIMOV #undef CONFIG_CUSTOM #undef CONFIG_RANDOM +#undef CONFIG_SPECIFIED #undef CONFIG_WEIGHTED diff --git a/code/datums/chatmessage.dm b/code/datums/chatmessage.dm index 6a2e18f1f1f..4d4651b305b 100644 --- a/code/datums/chatmessage.dm +++ b/code/datums/chatmessage.dm @@ -12,8 +12,6 @@ #define CHAT_MESSAGE_APPROX_LHEIGHT 11 /// Max width of chat message in pixels #define CHAT_MESSAGE_WIDTH 96 -/// Max length of chat message in characters -#define CHAT_MESSAGE_MAX_LENGTH 110 /// The dimensions of the chat message icons #define CHAT_MESSAGE_ICON_SIZE 9 @@ -334,13 +332,18 @@ if(5) return "#[num2hex(c, 2)][num2hex(m, 2)][num2hex(x, 2)]" -#undef CHAT_MESSAGE_SPAWN_TIME -#undef CHAT_MESSAGE_LIFESPAN + +#undef CHAT_LAYER_MAX_Z +#undef CHAT_LAYER_Z_STEP +#undef CHAT_MESSAGE_APPROX_LHEIGHT #undef CHAT_MESSAGE_EOL_FADE #undef CHAT_MESSAGE_EXP_DECAY #undef CHAT_MESSAGE_HEIGHT_DECAY -#undef CHAT_MESSAGE_APPROX_LHEIGHT -#undef CHAT_MESSAGE_WIDTH -#undef CHAT_LAYER_Z_STEP -#undef CHAT_LAYER_MAX_Z #undef CHAT_MESSAGE_ICON_SIZE +#undef CHAT_MESSAGE_LIFESPAN +#undef CHAT_MESSAGE_SPAWN_TIME +#undef CHAT_MESSAGE_WIDTH +#undef CM_COLOR_LUM_MAX +#undef CM_COLOR_LUM_MIN +#undef CM_COLOR_SAT_MAX +#undef CM_COLOR_SAT_MIN diff --git a/code/datums/components/boomerang.dm b/code/datums/components/boomerang.dm index 2fb98d49be3..751013d7116 100644 --- a/code/datums/components/boomerang.dm +++ b/code/datums/components/boomerang.dm @@ -83,3 +83,5 @@ true_parent.visible_message(span_danger("[true_parent] is flying back at [throwing_datum.thrower]!"), \ span_danger("You see [true_parent] fly back at you!"), \ span_hear("You hear an aerodynamic woosh!")) + +#undef BOOMERANG_REBOUND_INTERVAL diff --git a/code/datums/components/construction.dm b/code/datums/components/construction.dm index 48cb0fb1103..e0bac0ddbe7 100644 --- a/code/datums/components/construction.dm +++ b/code/datums/components/construction.dm @@ -1,10 +1,3 @@ -#define FORWARD 1 -#define BACKWARD -1 - -#define ITEM_DELETE "delete" -#define ITEM_MOVE_INSIDE "move_inside" - - /datum/component/construction var/list/steps var/result diff --git a/code/datums/components/crafting/_recipes.dm b/code/datums/components/crafting/_recipes.dm index 9239ac07244..1298822f978 100644 --- a/code/datums/components/crafting/_recipes.dm +++ b/code/datums/components/crafting/_recipes.dm @@ -1,12 +1,3 @@ -///If the machine is used/deleted in the crafting process -#define CRAFTING_MACHINERY_CONSUME 1 -///If the structure is used/deleted in the crafting process -#define CRAFTING_STRUCTURE_CONSUME 1 -///If the machine is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it -#define CRAFTING_MACHINERY_USE 0 -///If the structure is only "used" i.e. it checks to see if it's nearby and allows crafting, but doesn't delete it -#define CRAFTING_STRUCTURE_USE 0 - /datum/crafting_recipe ///in-game display name var/name diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm index 7043c463142..5e1a9339a63 100644 --- a/code/datums/components/deadchat_control.dm +++ b/code/datums/components/deadchat_control.dm @@ -1,10 +1,3 @@ -///Will execute a single command after the cooldown based on player votes. -#define DEMOCRACY_MODE (1<<0) -///Allows each player to do a single command every cooldown. -#define ANARCHY_MODE (1<<1) -///Mutes the democracy mode messages send to orbiters at the end of each cycle. Useful for when the cooldown is so low it'd get spammy. -#define MUTE_DEMOCRACY_MESSAGES (1<<2) - /** * Deadchat Plays Things - The Componenting * diff --git a/code/datums/components/gunpoint.dm b/code/datums/components/gunpoint.dm index 6cfaa244866..fb3aa4a9a78 100644 --- a/code/datums/components/gunpoint.dm +++ b/code/datums/components/gunpoint.dm @@ -1,5 +1,3 @@ -/// How many tiles around the target the shooter can roam without losing their shot -#define GUNPOINT_SHOOTER_STRAY_RANGE 2 /// How long it takes from the gunpoint is initiated to reach stage 2 #define GUNPOINT_DELAY_STAGE_2 (2.5 SECONDS) /// How long it takes from stage 2 starting to move up to stage 3 diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index 7c1cfc07d23..24a56f9be35 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -1,21 +1,3 @@ -/// If an object needs to be rotated with a wrench -#define ROTATION_REQUIRE_WRENCH (1<<0) -/// If ghosts can rotate an object (if the ghost config is enabled) -#define ROTATION_GHOSTS_ALLOWED (1<<1) -/// If an object will ignore anchored for rotation (used for chairs) -#define ROTATION_IGNORE_ANCHORED (1<<2) -/// If an object will omit flipping from rotation (used for pipes since they use custom handling) -#define ROTATION_NO_FLIPPING (1<<3) -/// If an object needs to have an empty spot available in target direction (used for windoors and railings) -#define ROTATION_NEEDS_ROOM (1<<4) - -/// Rotate an object clockwise -#define ROTATION_CLOCKWISE -90 -/// Rotate an object counterclockwise -#define ROTATION_COUNTERCLOCKWISE 90 -/// Rotate an object upside down -#define ROTATION_FLIP 180 - /datum/component/simple_rotation /// Additional stuff to do after rotation var/datum/callback/AfterRotation diff --git a/code/datums/components/splattercasting.dm b/code/datums/components/splattercasting.dm index d2cc5bd96e0..1721c8fbf53 100644 --- a/code/datums/components/splattercasting.dm +++ b/code/datums/components/splattercasting.dm @@ -95,3 +95,5 @@ cost_desc = "torrent" to_chat(source, span_danger("You feel a [cost_desc] of your blood drained into the spell you just cast.")) + +#undef COOLDOWN_TO_BLOOD_RATIO diff --git a/code/datums/components/stationstuck.dm b/code/datums/components/stationstuck.dm index 2438bbe1428..63a1dcabbbd 100644 --- a/code/datums/components/stationstuck.dm +++ b/code/datums/components/stationstuck.dm @@ -1,11 +1,3 @@ - -#define PUNISHMENT_MURDER "murder" -#define PUNISHMENT_GIB "gib" -#define PUNISHMENT_TELEPORT "teleport" - -//very similar to stationloving, but more made for mobs and not objects. used on derelict drones currently - - /* This component is similar to stationloving in that it is meant to keep something on the z-level The difference is that stationloving is for objects and stationstuck is for mobs. diff --git a/code/datums/components/uplink.dm b/code/datums/components/uplink.dm index 64799014c62..50907528ce4 100644 --- a/code/datums/components/uplink.dm +++ b/code/datums/components/uplink.dm @@ -470,3 +470,5 @@ explosion(parent, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 3) qdel(parent) //Alternatively could brick the uplink. + +#undef PEN_ROTATIONS diff --git a/code/datums/elements/turf_transparency.dm b/code/datums/elements/turf_transparency.dm index 8d3d650b279..ab3a17dc40d 100644 --- a/code/datums/elements/turf_transparency.dm +++ b/code/datums/elements/turf_transparency.dm @@ -274,3 +274,7 @@ GLOBAL_LIST_EMPTY(pillars_by_z) var/mutable_appearance/underlay_appearance = mutable_appearance(initial(path.icon), initial(path.icon_state), layer = TURF_LAYER-0.02, offset_spokesman = our_turf, plane = PLANE_SPACE) underlay_appearance.appearance_flags = RESET_ALPHA | RESET_COLOR return underlay_appearance + +#undef Z_PILLAR_RADIUS +#undef Z_PILLAR_TRANSFORM +#undef Z_KEY_TO_POSITION diff --git a/code/datums/elements/weapon_description.dm b/code/datums/elements/weapon_description.dm index e359be2c583..af8dae5c3ec 100644 --- a/code/datums/elements/weapon_description.dm +++ b/code/datums/elements/weapon_description.dm @@ -1,4 +1,3 @@ -#define HITS_TO_CRIT(damage) round(100 / damage, 0.1) /** * * The purpose of this element is to widely provide the ability to examine an object and determine its stats, with the ability to add diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index f7daa258e19..bc3fa8362e0 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -1,14 +1,3 @@ -#define HOLOPAD_MAX_DIAL_TIME 200 - -#define HOLORECORD_DELAY "delay" -#define HOLORECORD_SAY "say" -#define HOLORECORD_SOUND "sound" -#define HOLORECORD_LANGUAGE "lang" -#define HOLORECORD_PRESET "preset" -#define HOLORECORD_RENAME "rename" - -#define HOLORECORD_MAX_LENGTH 200 - /mob/camera/ai_eye/remote/holo/setLoc(turf/destination, force_update = FALSE) . = ..() var/obj/machinery/holopad/H = origin diff --git a/code/datums/mapgen/JungleGenerator.dm b/code/datums/mapgen/JungleGenerator.dm index b8c2d112fd1..998e0c209de 100644 --- a/code/datums/mapgen/JungleGenerator.dm +++ b/code/datums/mapgen/JungleGenerator.dm @@ -96,3 +96,5 @@ base_lighting_alpha = 255 map_generator = /datum/map_generator/jungle_generator + +#undef BIOME_RANDOM_SQUARE_DRIFT diff --git a/code/datums/martial/cqc.dm b/code/datums/martial/cqc.dm index b77dbe5a1bb..6664f06ed36 100644 --- a/code/datums/martial/cqc.dm +++ b/code/datums/martial/cqc.dm @@ -286,3 +286,9 @@ if(!is_type_in_list(get_area(owner), kitchen_areas)) return FALSE return ..() + +#undef SLAM_COMBO +#undef KICK_COMBO +#undef RESTRAIN_COMBO +#undef PRESSURE_COMBO +#undef CONSECUTIVE_COMBO diff --git a/code/datums/martial/plasma_fist.dm b/code/datums/martial/plasma_fist.dm index a7eac3d329b..0b0d2ca2045 100644 --- a/code/datums/martial/plasma_fist.dm +++ b/code/datums/martial/plasma_fist.dm @@ -185,3 +185,7 @@ /datum/martial_art/plasma_fist/nobomb name = "Novice Plasma Fist" nobomb = TRUE + +#undef TORNADO_COMBO +#undef THROWBACK_COMBO +#undef PLASMA_COMBO diff --git a/code/datums/martial/sleeping_carp.dm b/code/datums/martial/sleeping_carp.dm index 7d74a945723..2fe831f600a 100644 --- a/code/datums/martial/sleeping_carp.dm +++ b/code/datums/martial/sleeping_carp.dm @@ -247,3 +247,7 @@ if(!HAS_TRAIT(src, TRAIT_WIELDED)) return ..() return FALSE + +#undef STRONG_PUNCH_COMBO +#undef LAUNCH_KICK_COMBO +#undef DROP_KICK_COMBO diff --git a/code/datums/position_point_vector.dm b/code/datums/position_point_vector.dm index f02183eab90..c963d0ad760 100644 --- a/code/datums/position_point_vector.dm +++ b/code/datums/position_point_vector.dm @@ -1,14 +1,3 @@ -//Designed for things that need precision trajectories like projectiles. -//Don't use this for anything that you don't absolutely have to use this with (like projectiles!) because it isn't worth using a datum unless you need accuracy down to decimal places in pixels. - -//You might see places where it does - 16 - 1. This is intentionally 17 instead of 16, because of how byond's tiles work and how not doing it will result in rounding errors like things getting put on the wrong turf. - -#define RETURN_PRECISE_POSITION(A) new /datum/position(A) -#define RETURN_PRECISE_POINT(A) new /datum/point(A) - -#define RETURN_POINT_VECTOR(ATOM, ANGLE, SPEED) (new /datum/point/vector(ATOM, null, null, null, null, ANGLE, SPEED)) -#define RETURN_POINT_VECTOR_INCREMENT(ATOM, ANGLE, SPEED, AMT) (new /datum/point/vector(ATOM, null, null, null, null, ANGLE, SPEED, AMT)) - /proc/point_midpoint_points(datum/point/a, datum/point/b) //Obviously will not support multiZ calculations! Same for the two below. var/datum/point/P = new P.x = a.x + (b.x - a.x) * 0.5 diff --git a/code/datums/station_traits/positive_traits.dm b/code/datums/station_traits/positive_traits.dm index 458f1fae275..2480e9b4005 100644 --- a/code/datums/station_traits/positive_traits.dm +++ b/code/datums/station_traits/positive_traits.dm @@ -342,3 +342,6 @@ report_message = "Due to good performance, we've provided your station with luxury escape pods." trait_to_give = STATION_TRAIT_BIGGER_PODS blacklist = list(/datum/station_trait/cramped_escape_pods) + +#undef PARTY_COOLDOWN_LENGTH_MIN +#undef PARTY_COOLDOWN_LENGTH_MAX diff --git a/code/datums/wires/airlock.dm b/code/datums/wires/airlock.dm index dda4e79f6c0..1414fb55a44 100644 --- a/code/datums/wires/airlock.dm +++ b/code/datums/wires/airlock.dm @@ -1,8 +1,3 @@ -#define AI_WIRE_NORMAL 0 -#define AI_WIRE_DISABLED 1 -#define AI_WIRE_HACKED 2 -#define AI_WIRE_DISABLED_HACKED -1 - /datum/wires/airlock holder_type = /obj/machinery/door/airlock proper_name = "Generic Airlock" diff --git a/code/game/gamemodes/dynamic/_defines.dm b/code/game/gamemodes/dynamic/_defines.dm deleted file mode 100644 index ec9315204c6..00000000000 --- a/code/game/gamemodes/dynamic/_defines.dm +++ /dev/null @@ -1,2 +0,0 @@ -/// Requirements when something needs a lot of threat to run, but still possible at low-pop -#define REQUIREMENTS_VERY_HIGH_THREAT_NEEDED list(90,90,90,80,60,50,40,40,40,40) diff --git a/code/game/gamemodes/dynamic/dynamic.dm b/code/game/gamemodes/dynamic/dynamic.dm index 519a7ea53d7..96ab26883d9 100644 --- a/code/game/gamemodes/dynamic/dynamic.dm +++ b/code/game/gamemodes/dynamic/dynamic.dm @@ -1,5 +1,3 @@ -#define RULESET_STOP_PROCESSING 1 - #define FAKE_GREENSHIFT_FORM_CHANCE 15 #define FAKE_REPORT_CHANCE 8 #define REPORT_NEG_DIVERGENCE -15 diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets.dm b/code/game/gamemodes/dynamic/dynamic_rulesets.dm index b66a0a11ffc..0e6ea0e7d0c 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets.dm @@ -1,6 +1,3 @@ -#define REVOLUTION_VICTORY 1 -#define STATION_VICTORY 2 - /datum/dynamic_ruleset /// For admin logging and round end screen. // If you want to change this variable name, the force latejoin/midround rulesets diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 387c1b8aff8..f4733b45a00 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -576,9 +576,6 @@ priority_announce("A large organic energy flux has been recorded near of [station_name()], please stand-by.", "Lifesign Alert") return S -/// Midround Abductors Ruleset (From Ghosts) -#define ABDUCTOR_MAX_TEAMS 4 - /datum/dynamic_ruleset/midround/from_ghosts/abductors name = "Abductors" midround_ruleset_style = MIDROUND_RULESET_STYLE_LIGHT @@ -611,8 +608,6 @@ var/datum/antagonist/abductor/agent/new_role = new new_character.mind.add_antag_datum(new_role, new_team) -#undef ABDUCTOR_MAX_TEAMS - /// Midround Space Ninja Ruleset (From Ghosts) /datum/dynamic_ruleset/midround/from_ghosts/space_ninja name = "Space Ninja" @@ -902,3 +897,6 @@ if(possible_targets.len) return pick(possible_targets) return FALSE + +#undef MALF_ION_PROB +#undef REPLACE_LAW_WITH_ION_PROB diff --git a/code/game/machinery/airlock_control.dm b/code/game/machinery/airlock_control.dm index 004eb1cde39..8a18bd03976 100644 --- a/code/game/machinery/airlock_control.dm +++ b/code/game/machinery/airlock_control.dm @@ -1,5 +1,3 @@ -#define AIRLOCK_CONTROL_RANGE 5 - // This code allows for airlocks to be controlled externally by setting an id_tag and comm frequency (disables ID access) /obj/machinery/door/airlock opens_with_door_remote = TRUE diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm index b087321ed8b..08a44f30d84 100644 --- a/code/game/machinery/camera/camera.dm +++ b/code/game/machinery/camera/camera.dm @@ -1,7 +1,3 @@ -#define CAMERA_UPGRADE_XRAY (1<<0) -#define CAMERA_UPGRADE_EMP_PROOF (1<<1) -#define CAMERA_UPGRADE_MOTION (1<<2) - /obj/machinery/camera name = "security camera" desc = "It's used to monitor rooms." diff --git a/code/game/machinery/civilian_bounties.dm b/code/game/machinery/civilian_bounties.dm index 684b22a6d48..2d976c9fe85 100644 --- a/code/game/machinery/civilian_bounties.dm +++ b/code/game/machinery/civilian_bounties.dm @@ -381,3 +381,5 @@ new /obj/machinery/computer/piratepad_control/civilian(drop_location()) qdel(src) uses-- + +#undef CIV_BOUNTY_SPLIT diff --git a/code/game/machinery/computer/arcade/orion_event.dm b/code/game/machinery/computer/arcade/orion_event.dm index ad13c6632e4..bd800911916 100644 --- a/code/game/machinery/computer/arcade/orion_event.dm +++ b/code/game/machinery/computer/arcade/orion_event.dm @@ -529,3 +529,21 @@ spaceport_security.ai_controller.blackboard[BB_BASIC_MOB_CURRENT_TARGET] = REF(usr) game.fuel += fuel game.food += food + +#undef BUTTON_A_GOOD_FIND +#undef BUTTON_CONTINUE +#undef BUTTON_CONTINUE_TRAVELS +#undef BUTTON_DOCK +#undef BUTTON_EXPLORE_SHIP +#undef BUTTON_FIX_ENGINE +#undef BUTTON_GO_AROUND +#undef BUTTON_KEEP_SPEED +#undef BUTTON_LEAVE_THE_DERELICT +#undef BUTTON_OH +#undef BUTTON_REPAIR_ELECTRONICS +#undef BUTTON_RESTORE_HULL +#undef BUTTON_SLOW_DOWN +#undef BUTTON_SPEED_PAST +#undef BUTTON_WAIT +#undef BUTTON_WELCOME_ABOARD +#undef BUTTON_WHERE_DID_YOU_GO diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index e2b356ef42c..bb97cf5655b 100755 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -1,6 +1,5 @@ #define IMPORTANT_ACTION_COOLDOWN (60 SECONDS) #define EMERGENCY_ACCESS_COOLDOWN (30 SECONDS) -#define MAX_STATUS_LINE_LENGTH 40 #define STATE_BUYING_SHUTTLE "buying_shuttle" #define STATE_CHANGING_STATUS "changing_status" diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index fe943d4ac06..013304a3ecb 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -2302,6 +2302,9 @@ SIGNAL_HANDLER set_connected_scanner(null) +#undef GENETIC_DAMAGE_PULSE_UNIQUE_IDENTITY +#undef GENETIC_DAMAGE_PULSE_UNIQUE_FEATURES + #undef ENZYME_COPY_BASE_COOLDOWN #undef INJECTOR_TIMEOUT #undef NUMBER_OF_BUFFERS diff --git a/code/game/machinery/computer/orders/order_computer/order_computer.dm b/code/game/machinery/computer/orders/order_computer/order_computer.dm index b9842d94384..7d54ee86a76 100644 --- a/code/game/machinery/computer/orders/order_computer/order_computer.dm +++ b/code/game/machinery/computer/orders/order_computer/order_computer.dm @@ -209,3 +209,5 @@ GLOBAL_LIST_EMPTY(order_console_products) /obj/machinery/computer/order_console/proc/order_groceries(mob/living/purchaser, obj/item/card/id/card, list/groceries) return + +#undef CREDIT_TYPE_CREDIT diff --git a/code/game/machinery/computer/records/security.dm b/code/game/machinery/computer/records/security.dm index 8067ebca426..9d78cfdca5e 100644 --- a/code/game/machinery/computer/records/security.dm +++ b/code/game/machinery/computer/records/security.dm @@ -500,3 +500,4 @@ #undef PRINTOUT_MISSING #undef PRINTOUT_RAPSHEET #undef PRINTOUT_WANTED +#undef MAX_CRIME_NAME_LEN diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index d7f3a4d8b86..170dbddabed 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -58,12 +58,6 @@ #define AIRLOCK_FRAME_OPEN "open" #define AIRLOCK_FRAME_OPENING "opening" -#define AIRLOCK_LIGHT_BOLTS "bolts" -#define AIRLOCK_LIGHT_EMERGENCY "emergency" -#define AIRLOCK_LIGHT_DENIED "denied" -#define AIRLOCK_LIGHT_CLOSING "closing" -#define AIRLOCK_LIGHT_OPENING "opening" - #define AIRLOCK_SECURITY_NONE 0 //Normal airlock //Wires are not secured #define AIRLOCK_SECURITY_IRON 1 //Medium security airlock //There is a simple iron plate over wires (use welder) #define AIRLOCK_SECURITY_PLASTEEL_I_S 2 //Sliced inner plating (use crowbar), jumps to 0 @@ -1665,3 +1659,8 @@ #undef DOOR_CLOSE_WAIT #undef DOOR_VISION_DISTANCE + +#undef AIRLOCK_FRAME_CLOSED +#undef AIRLOCK_FRAME_CLOSING +#undef AIRLOCK_FRAME_OPEN +#undef AIRLOCK_FRAME_OPENING diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index e01aab37dd7..66066bb11de 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -909,3 +909,4 @@ #undef CONSTRUCTION_PANEL_OPEN #undef CONSTRUCTION_NO_CIRCUIT #undef REACTIVATION_DELAY +#undef DEFAULT_STEP_TIME diff --git a/code/game/machinery/embedded_controller/airlock_controller.dm b/code/game/machinery/embedded_controller/airlock_controller.dm index ec0dad71860..2d20475e343 100644 --- a/code/game/machinery/embedded_controller/airlock_controller.dm +++ b/code/game/machinery/embedded_controller/airlock_controller.dm @@ -308,3 +308,9 @@ /obj/machinery/airlock_controller/update_icon_state() icon_state = "[base_icon_state]_[processing ? "process" : "standby"]" return ..() + +#undef AIRLOCK_STATE_CLOSED +#undef AIRLOCK_STATE_DEPRESSURIZE +#undef AIRLOCK_STATE_INOPEN +#undef AIRLOCK_STATE_OUTOPEN +#undef AIRLOCK_STATE_PRESSURIZE diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index dbbd40c175e..878e8b9b614 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -859,9 +859,10 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/ pixel_y = -32 alpha = 100 -#undef HOLOPAD_PASSIVE_POWER_USAGE -#undef HOLOGRAM_POWER_USAGE -#undef CAN_HEAR_MASTERS #undef CAN_HEAR_ACTIVE_HOLOCALLS -#undef CAN_HEAR_RECORD_MODE #undef CAN_HEAR_ALL_FLAGS +#undef CAN_HEAR_HOLOCALL_USER +#undef CAN_HEAR_MASTERS +#undef CAN_HEAR_RECORD_MODE +#undef HOLOGRAM_POWER_USAGE +#undef HOLOPAD_PASSIVE_POWER_USAGE diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm index b1773df3e41..4a6ed146355 100644 --- a/code/game/machinery/iv_drip.dm +++ b/code/game/machinery/iv_drip.dm @@ -433,3 +433,5 @@ #undef MIN_IV_TRANSFER_RATE #undef MAX_IV_TRANSFER_RATE + +#undef IV_TRANSFER_RATE_STEP diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index aa6e41b4f5f..53d799a71c7 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -373,3 +373,9 @@ patient_ref = null clearScans() . = TRUE + + +#undef KIOSK_SCANNING_GENERAL +#undef KIOSK_SCANNING_NEURORAD +#undef KIOSK_SCANNING_REAGENTS +#undef KIOSK_SCANNING_SYMPTOMS diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index a639c9df11f..92a5d1d0d9c 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -445,7 +445,7 @@ DEFINE_BITFIELD(turret_flags, list( if(issilicon(A)) if(!(turret_flags & TURRET_FLAG_SHOOT_BORGS)) continue - + var/mob/living/silicon/sillycone = A if(ispAI(A)) @@ -1179,3 +1179,16 @@ DEFINE_BITFIELD(turret_flags, list( if(istype(P, /obj/projectile/beam/lasertag/bluetag)) toggle_on(FALSE) addtimer(CALLBACK(src, PROC_REF(toggle_on), TRUE), 10 SECONDS) + +#undef TURRET_STUN +#undef TURRET_LETHAL +#undef POPUP_ANIM_TIME +#undef POPDOWN_ANIM_TIME +#undef TURRET_FLAG_SHOOT_ALL_REACT +#undef TURRET_FLAG_AUTH_WEAPONS +#undef TURRET_FLAG_SHOOT_CRIMINALS +#undef TURRET_FLAG_SHOOT_ALL +#undef TURRET_FLAG_SHOOT_ANOMALOUS +#undef TURRET_FLAG_SHOOT_UNSHIELDED +#undef TURRET_FLAG_SHOOT_BORGS +#undef TURRET_FLAG_SHOOT_HEADS diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm index 595c7bb4a12..94f43d99744 100644 --- a/code/game/machinery/porta_turret/portable_turret_construct.dm +++ b/code/game/machinery/porta_turret/portable_turret_construct.dm @@ -209,3 +209,13 @@ /obj/machinery/porta_turret_construct/attack_ai() return + +#undef PTURRET_BOLTED +#undef PTURRET_CLOSED +#undef PTURRET_EXTERNAL_ARMOUR_ON +#undef PTURRET_GUN_EQUIPPED +#undef PTURRET_INTERNAL_ARMOUR_ON +#undef PTURRET_SENSORS_ON +#undef PTURRET_START_EXTERNAL_ARMOUR +#undef PTURRET_START_INTERNAL_ARMOUR +#undef PTURRET_UNSECURED diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index d6c5b6f32a6..121954ab71c 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -458,6 +458,15 @@ new /obj/effect/pod_landingzone(drop_location(), toLaunch) qdel(src) +#undef ROULETTE_DOZ_COL_PAYOUT +#undef ROULETTE_BET_1TO12 +#undef ROULETTE_BET_13TO24 +#undef ROULETTE_BET_25TO36 + +#undef ROULETTE_BET_2TO1_FIRST +#undef ROULETTE_BET_2TO1_SECOND +#undef ROULETTE_BET_2TO1_THIRD + #undef ROULETTE_SINGLES_PAYOUT #undef ROULETTE_SIMPLE_PAYOUT diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index c8412dd3a80..0bf2637b072 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -522,3 +522,6 @@ else if(isprojectile(mover)) return prob(10) + +#undef ACTIVE_SETUPFIELDS +#undef ACTIVE_HASFIELDS diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index d0b7e7f02fe..8f0b3eda4db 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -354,11 +354,12 @@ return amount -#undef SEVEN -#undef SPIN_TIME -#undef JACKPOT #undef BIG_PRIZE +#undef COIN +#undef HOLOCHIP +#undef JACKPOT +#undef REEL_DEACTIVATE_DELAY +#undef SEVEN #undef SMALL_PRIZE #undef SPIN_PRICE -#undef HOLOCHIP -#undef COIN +#undef SPIN_TIME diff --git a/code/game/machinery/status_display.dm b/code/game/machinery/status_display.dm index 2fcfca0619d..ec7489c6173 100644 --- a/code/game/machinery/status_display.dm +++ b/code/game/machinery/status_display.dm @@ -6,12 +6,6 @@ #define SCROLL_RATE (0.04 SECONDS) // time per pixel #define LINE1_Y -8 #define LINE2_Y -15 - -#define SD_BLANK 0 // 0 = Blank -#define SD_EMERGENCY 1 // 1 = Emergency Shuttle timer -#define SD_MESSAGE 2 // 2 = Arbitrary message(s) -#define SD_PICTURE 3 // 3 = alert picture - /// Status display which can show images and scrolling text. /obj/machinery/status_display name = "status display" diff --git a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm index 12194ef6b66..230c82950ec 100644 --- a/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm +++ b/code/game/objects/effects/effect_system/fluid_spread/effects_foam.dm @@ -439,3 +439,7 @@ potential_tinder.extinguish_mob() for(var/obj/item/potential_tinder in location) potential_tinder.extinguish() + +#undef MINIMUM_FOAM_DILUTION_RANGE +#undef MINIMUM_FOAM_DILUTION +#undef FOAM_REAGENT_SCALE diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm index ef2edd9f8d2..f4688c8283a 100644 --- a/code/game/objects/items/RSF.dm +++ b/code/game/objects/items/RSF.dm @@ -193,3 +193,4 @@ RSF to_dispense = /obj/item/food/cookie to_chat(user, span_notice("Cookie Synthesizer reset.")) +#undef OBJECT_OR_LIST_ELEMENT diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index c95e378dc23..28009da0198 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -1,8 +1,3 @@ -#define AREA_ERRNONE 0 -#define AREA_STATION 1 -#define AREA_SPACE 2 -#define AREA_SPECIAL 3 - /obj/item/areaeditor name = "area modification item" icon = 'icons/obj/weapons/items_and_weapons.dmi' diff --git a/code/game/objects/items/broom.dm b/code/game/objects/items/broom.dm index 355dae56093..7bf5cd88597 100644 --- a/code/game/objects/items/broom.dm +++ b/code/game/objects/items/broom.dm @@ -92,3 +92,5 @@ /obj/item/pushbroom/cyborg/Initialize(mapload) . = ..() ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT) + +#undef BROOM_PUSH_LIMIT diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index bcf56217ace..39f0def001f 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -1634,3 +1634,4 @@ #undef INTERN_THRESHOLD_FALLBACK_HOURS #undef ID_ICON_BORDERS +#undef HOLOPAY_PROJECTION_INTERVAL diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 31c3511f60d..e31bce29a7c 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -1016,3 +1016,7 @@ #undef RANDOM_ANY #undef AVAILABLE_SPRAYCAN_SPACE + +#undef PAINT_NORMAL +#undef PAINT_LARGE_HORIZONTAL +#undef PAINT_LARGE_HORIZONTAL_ICON diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 28ac9ec5555..464cd3c5395 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -140,3 +140,7 @@ icon = 'icons/obj/items_cyborg.dmi' icon_state = "multitool_cyborg" toolspeed = 0.5 + +#undef PROXIMITY_NEAR +#undef PROXIMITY_NONE +#undef PROXIMITY_ON_SCREEN diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm index 9e72374375e..468fe8419fc 100644 --- a/code/game/objects/items/devices/radio/radio.dm +++ b/code/game/objects/items/devices/radio/radio.dm @@ -585,3 +585,5 @@ /obj/item/radio/off/Initialize(mapload) . = ..() set_listening(FALSE) + +#undef FREQ_LISTENING diff --git a/code/game/objects/items/grenades/_grenade.dm b/code/game/objects/items/grenades/_grenade.dm index 9dfb931a1bb..404c66640c4 100644 --- a/code/game/objects/items/grenades/_grenade.dm +++ b/code/game/objects/items/grenades/_grenade.dm @@ -1,9 +1,3 @@ -// Flags for [/obj/item/grenade/var/dud_flags] -/// The grenade cannot detonate at all. It is innately nonfunctional. -#define GRENADE_DUD (1<<0) -/// The grenade has been used and as such cannot detonate. -#define GRENADE_USED (1<<1) - /** * Base class for all grenades. */ diff --git a/code/game/objects/items/robot/items/generic.dm b/code/game/objects/items/robot/items/generic.dm index 05d72166c5b..a0fd7a4985a 100644 --- a/code/game/objects/items/robot/items/generic.dm +++ b/code/game/objects/items/robot/items/generic.dm @@ -353,3 +353,14 @@ playsound(get_turf(src), 'sound/machines/warning-buzzer.ogg', 130, 3) COOLDOWN_START(src, alarm_cooldown, HARM_ALARM_NO_SAFETY_COOLDOWN) user.log_message("used an emagged Cyborg Harm Alarm", LOG_ATTACK) + +#undef HUG_MODE_NICE +#undef HUG_MODE_HUG +#undef HUG_MODE_SHOCK +#undef HUG_MODE_CRUSH + +#undef HUG_SHOCK_COOLDOWN +#undef HUG_CRUSH_COOLDOWN + +#undef HARM_ALARM_NO_SAFETY_COOLDOWN +#undef HARM_ALARM_SAFETY_COOLDOWN diff --git a/code/game/objects/items/tcg/tcg.dm b/code/game/objects/items/tcg/tcg.dm index 72b8a98bda6..3c1a42e1169 100644 --- a/code/game/objects/items/tcg/tcg.dm +++ b/code/game/objects/items/tcg/tcg.dm @@ -510,3 +510,5 @@ GLOBAL_LIST_EMPTY(tcgcard_radial_choices) continue vars[name] = SStrading_card_game.resolve_keywords(value) +#undef TAPPED_ANGLE +#undef UNTAPPED_ANGLE diff --git a/code/game/objects/items/tcg/tcg_machines.dm b/code/game/objects/items/tcg/tcg_machines.dm index 49a03133327..20adc90b545 100644 --- a/code/game/objects/items/tcg/tcg_machines.dm +++ b/code/game/objects/items/tcg/tcg_machines.dm @@ -113,7 +113,7 @@ GLOBAL_LIST_EMPTY(tcgcard_machine_radial_choices) if(current_summon) qdel(current_summon) . = ..() - + /obj/machinery/trading_card_holder/examine(mob/user) . = ..() if(card_template) @@ -197,7 +197,7 @@ GLOBAL_LIST_EMPTY(tcgcard_machine_radial_choices) overlay = update_stats(resolve_overlay, STAT_Y, summon_resolve, resolve_color, x_offset = RESOLVE_X) if(overlay) resolve_overlay = overlay - + if(marked) var/mutable_appearance/mark_overlay = mutable_appearance('icons/obj/toys/tcgmisc.dmi', "gem_green", 9) mark_overlay.pixel_w = 12 @@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(tcgcard_machine_radial_choices) hologram.alpha = 170 hologram.add_atom_colour(team_color, FIXED_COLOUR_PRIORITY) update_overlays() - + /obj/structure/trading_card_summon/blank/get_name_chaser(mob/user, list/name_chaser) name_chaser += "Power/Resolve: [summon_power]/[summon_resolve]" return name_chaser @@ -279,6 +279,7 @@ GLOBAL_LIST_EMPTY(tcgcard_machine_radial_choices) #undef RESOLVE_X #undef DEFAULT_POWER_COLOR #undef DEFAULT_RESOLVE_COLOR +#undef DEFAULT_MODIFIED_COLOR /obj/effect/overlay/card_summon mouse_opacity = 0 @@ -290,7 +291,7 @@ GLOBAL_LIST_EMPTY(tcgcard_machine_radial_choices) icon = 'icons/obj/toys/tcgmisc.dmi' icon_state = "mana_buttons" use_power = NO_POWER_USE - + ///Reference to the display panel generated by this button. var/obj/effect/decal/trading_card_panel/display_panel_ref ///Typepath of the display panel generated. @@ -328,7 +329,7 @@ GLOBAL_LIST_EMPTY(tcgcard_mana_bar_radial_choices) return GLOB.tcgcard_mana_bar_radial_choices /obj/machinery/trading_card_button/proc/setup_radial() - var/radial_choices + var/radial_choices radial_choices = GLOB.tcgcard_mana_bar_radial_choices = list( "Set Mana" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_set_mana"), "Set Mana Slots" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_set_slots"), @@ -373,7 +374,7 @@ GLOBAL_LIST_EMPTY(tcgcard_health_bar_radial_choices) return GLOB.tcgcard_health_bar_radial_choices /obj/machinery/trading_card_button/health/setup_radial() - var/radial_choices + var/radial_choices radial_choices = GLOB.tcgcard_health_bar_radial_choices = list( "Set Life" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_set_life"), "Inflict Damage" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_damage"), diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm index a3b4f84db88..1692e1e155c 100644 --- a/code/game/objects/items/teleportation.dm +++ b/code/game/objects/items/teleportation.dm @@ -516,3 +516,6 @@ #undef PORTAL_LOCATION_DANGEROUS #undef PORTAL_DANGEROUS_EDGE_LIMIT + +#undef SOURCE_PORTAL +#undef DESTINATION_PORTAL diff --git a/code/game/objects/structures/bonfire.dm b/code/game/objects/structures/bonfire.dm index a507ef4ef05..e2aacab68a2 100644 --- a/code/game/objects/structures/bonfire.dm +++ b/code/game/objects/structures/bonfire.dm @@ -193,3 +193,5 @@ scale = generator(GEN_VECTOR, list(0.3, 0.3), list(1,1), NORMAL_RAND) rotation = 30 spin = generator(GEN_NUM, -20, 20) + +#undef BONFIRE_FIRE_STACK_STRENGTH diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm index 02fa1417e55..c9165a49bd5 100644 --- a/code/game/objects/structures/fireplace.dm +++ b/code/game/objects/structures/fireplace.dm @@ -152,3 +152,7 @@ update_appearance() adjust_light() desc = initial(desc) + +#undef LOG_BURN_TIMER +#undef PAPER_BURN_TIMER +#undef MAXIMUM_BURN_TIMER diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 49ac137cb47..1d0f76007ad 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -357,3 +357,5 @@ /obj/structure/grille/broken/Initialize(mapload) . = ..() take_damage(max_integrity * 0.6) + +#undef CLEAR_TILE_MOVE_LIMIT diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index e0c2191bded..f1bd6cd6111 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -169,3 +169,6 @@ . += "It has its screws loosened." else . += "If you see this, something is wrong." + +#undef SHOWCASE_CONSTRUCTED +#undef SHOWCASE_SCREWDRIVERED diff --git a/code/game/objects/structures/stairs.dm b/code/game/objects/structures/stairs.dm index 4a0aac25ca4..287ccbf3e4c 100644 --- a/code/game/objects/structures/stairs.dm +++ b/code/game/objects/structures/stairs.dm @@ -251,3 +251,7 @@ if(custom_materials) new_stairs.set_custom_materials(custom_materials) qdel(src) + +#undef STAIR_TERMINATOR_AUTOMATIC +#undef STAIR_TERMINATOR_NO +#undef STAIR_TERMINATOR_YES diff --git a/code/game/world.dm b/code/game/world.dm index f550a7513c7..03371037eaf 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -435,5 +435,6 @@ GLOBAL_VAR(restart_counter) if((command & PROFILE_STOP) || !global.config?.loaded || !CONFIG_GET(flag/forbid_all_profiling)) . = ..() -#undef OVERRIDE_LOG_DIRECTORY_PARAMETER #undef NO_INIT_PARAMETER +#undef OVERRIDE_LOG_DIRECTORY_PARAMETER +#undef RESTART_COUNTER_PATH diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index f7c90410f0d..146d9612f03 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -1057,4 +1057,6 @@ if(kick_banned_players && (!is_admin || (is_admin && applies_to_admins))) qdel(other_player_client) +#undef MAX_ADMINBANS_PER_ADMIN +#undef MAX_ADMINBANS_PER_HEADMIN #undef MAX_REASON_LENGTH diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm index bd5a3ea7b33..bd94e2ecc87 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm @@ -175,9 +175,6 @@ #define SDQL2_STATE_SWITCHING 5 #define SDQL2_STATE_HALTING 6 -#define SDQL2_VALID_OPTION_TYPES list("proccall", "select", "priority", "autogc" , "sequential") -#define SDQL2_VALID_OPTION_VALUES list("async", "blocking", "force_nulls", "skip_nulls", "high", "normal", "keep_alive" , "true") - #define SDQL2_OPTION_SELECT_OUTPUT_SKIP_NULLS (1<<0) #define SDQL2_OPTION_BLOCKING_CALLS (1<<1) #define SDQL2_OPTION_HIGH_PRIORITY (1<<2) //High priority SDQL query, allow using almost all of the tick. @@ -1231,3 +1228,21 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/sdql2_vv_all, new(null usr.log_message("non-holder clicked on a statclick! ([src])", LOG_ADMIN) return usr.client.debug_variables(GLOB.sdql2_queries) + +#undef SDQL2_HALT_CHECK +#undef SDQL2_IS_RUNNING +#undef SDQL2_OPTION_BLOCKING_CALLS +#undef SDQL2_OPTION_DO_NOT_AUTOGC +#undef SDQL2_OPTION_HIGH_PRIORITY +#undef SDQL2_OPTION_SELECT_OUTPUT_SKIP_NULLS +#undef SDQL2_OPTION_SEQUENTIAL +#undef SDQL2_OPTIONS_DEFAULT +#undef SDQL2_STAGE_SWITCH_CHECK +#undef SDQL2_STATE_ERROR +#undef SDQL2_STATE_EXECUTING +#undef SDQL2_STATE_HALTING +#undef SDQL2_STATE_IDLE +#undef SDQL2_STATE_PRESEARCH +#undef SDQL2_STATE_SEARCHING +#undef SDQL2_STATE_SWITCHING +#undef SDQL2_TICK_CHECK diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm index f30042e4e9b..58a18e1a936 100644 --- a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm +++ b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm @@ -46,6 +46,25 @@ // ////////// +#define SDQL2_VALID_OPTION_TYPES list(\ + "autogc",\ + "priority",\ + "proccall",\ + "select",\ + "sequential",\ +) + +#define SDQL2_VALID_OPTION_VALUES list(\ + "async",\ + "blocking",\ + "force_nulls",\ + "high",\ + "keep_alive" ,\ + "normal",\ + "skip_nulls",\ + "true",\ +) + /datum/sdql_parser var/query_type var/error = 0 @@ -629,3 +648,6 @@ i = variable(i, node) return i + +#undef SDQL2_VALID_OPTION_TYPES +#undef SDQL2_VALID_OPTION_VALUES diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 4d47590617a..64c252637bd 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -793,3 +793,4 @@ #undef EXTERNAL_PM_USER #undef EXTERNALREPLYCOUNT +#undef TGS_AHELP_USAGE diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index d65afa39ff2..6ad7357ad68 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -1,5 +1,3 @@ -#define ABDUCTOR_MAX_TEAMS 4 - /datum/antagonist/abductor name = "\improper Abductor" roundend_category = "abductors" diff --git a/code/modules/antagonists/abductor/equipment/abduction_gear.dm b/code/modules/antagonists/abductor/equipment/abduction_gear.dm index 7145e7dbbe4..6ef439eba29 100644 --- a/code/modules/antagonists/abductor/equipment/abduction_gear.dm +++ b/code/modules/antagonists/abductor/equipment/abduction_gear.dm @@ -904,3 +904,15 @@ Congratulations! You are now trained for invasive xenobiology research!"} /datum/armor/under_abductor bomb = 10 bio = 10 + +#undef BATON_CUFF +#undef BATON_MODES +#undef BATON_PROBE +#undef BATON_SLEEP +#undef BATON_STUN +#undef GIZMO_MARK +#undef GIZMO_SCAN +#undef MIND_DEVICE_CONTROL +#undef MIND_DEVICE_MESSAGE +#undef VEST_COMBAT +#undef VEST_STEALTH diff --git a/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm b/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm index 4c2153d5889..c3945fa83a4 100644 --- a/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm +++ b/code/modules/antagonists/blob/blobstrains/cryogenic_poison.dm @@ -26,8 +26,8 @@ exposed_mob.apply_damage(0.2*reac_volume, BRUTE, wound_bonus=CANT_WOUND) /datum/reagent/blob/cryogenic_poison/on_mob_life(mob/living/carbon/exposed_mob, delta_time, times_fired) - exposed_mob.adjustBruteLoss(0.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, FALSE) - exposed_mob.adjustFireLoss(0.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, FALSE) - exposed_mob.adjustToxLoss(0.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, FALSE) + exposed_mob.adjustBruteLoss(0.5 * REM * delta_time, FALSE) + exposed_mob.adjustFireLoss(0.5 * REM * delta_time, FALSE) + exposed_mob.adjustToxLoss(0.5 * REM * delta_time, FALSE) . = 1 ..() diff --git a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm b/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm index 5693816b92e..461791666ea 100644 --- a/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm +++ b/code/modules/antagonists/blob/blobstrains/regenerative_materia.dm @@ -25,7 +25,7 @@ exposed_mob.apply_damage(0.7*reac_volume, TOX) /datum/reagent/blob/regenerative_materia/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired) - metabolizer.adjustToxLoss(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + metabolizer.adjustToxLoss(1 * REM * delta_time) ..() return TRUE diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index edd49d6536a..8e089376ba9 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -1,8 +1,3 @@ -/// The duration of the fakedeath coma. -#define LING_FAKEDEATH_TIME (40 SECONDS) -/// The number of recent spoken lines to gain on absorbing a mob -#define LING_ABSORB_RECENT_SPEECH 8 - /// Helper to format the text that gets thrown onto the chem hud element. #define FORMAT_CHEM_CHARGES_TEXT(charges) MAPTEXT("
[round(charges)]
") @@ -1047,3 +1042,5 @@ head = /obj/item/clothing/head/helmet/space/changeling suit = /obj/item/clothing/suit/space/changeling l_hand = /obj/item/melee/arm_blade + +#undef FORMAT_CHEM_CHARGES_TEXT diff --git a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm index f0024618d1b..8ed9c27599b 100644 --- a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm +++ b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm @@ -65,3 +65,7 @@ /atom/movable/screen/alert/status_effect/agent_pinpointer/changeling name = "Pheromone Scent" desc = "The nose always knows." + +#undef CHANGELING_PHEROMONE_MIN_DISTANCE +#undef CHANGELING_PHEROMONE_MAX_DISTANCE +#undef CHANGELING_PHEROMONE_PING_TIME diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index ca30e3247b2..348c3817156 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -574,3 +574,8 @@ equipped.eye_color_left = BLOODCULT_EYE equipped.eye_color_right = BLOODCULT_EYE equipped.update_body() + +#undef CULT_LOSS +#undef CULT_NARSIE_KILLED +#undef CULT_VICTORY +#undef SUMMON_POSSIBILITIES diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index 4b461cf3e29..54dad2158ab 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -1041,3 +1041,5 @@ Striking a noncultist, however, will tear their flesh."} throw_at(D.thrower, 7, 1, null) else ..() + +#undef SHUTTLE_CURSE_OMFG_TIMESPAN diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm index c175b7b1748..1b3e90aa5fb 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm @@ -496,3 +496,6 @@ ) new /obj/effect/gibspawner/human/bodypartless(get_turf(sac_target)) + +#undef SACRIFICE_SLEEP_DURATION +#undef SACRIFICE_REALM_DURATION diff --git a/code/modules/antagonists/revolution/revolution.dm b/code/modules/antagonists/revolution/revolution.dm index 9ee8157e170..d8093b220fb 100644 --- a/code/modules/antagonists/revolution/revolution.dm +++ b/code/modules/antagonists/revolution/revolution.dm @@ -3,6 +3,9 @@ //How often to check for promotion possibility #define HEAD_UPDATE_PERIOD 300 +#define REVOLUTION_VICTORY 1 +#define STATION_VICTORY 2 + /datum/antagonist/rev name = "\improper Revolutionary" roundend_category = "revolutionaries" // if by some miracle revolutionaries without revolution happen @@ -662,5 +665,8 @@ l_hand = /obj/item/spear r_hand = /obj/item/assembly/flash -#undef DECONVERTER_STATION_WIN #undef DECONVERTER_REVS_WIN +#undef DECONVERTER_STATION_WIN +#undef HEAD_UPDATE_PERIOD +#undef REVOLUTION_VICTORY +#undef STATION_VICTORY diff --git a/code/modules/antagonists/traitor/objectives/demoralise_graffiti.dm b/code/modules/antagonists/traitor/objectives/demoralise_graffiti.dm index f70157854df..1825a4c0486 100644 --- a/code/modules/antagonists/traitor/objectives/demoralise_graffiti.dm +++ b/code/modules/antagonists/traitor/objectives/demoralise_graffiti.dm @@ -309,6 +309,7 @@ return ..() -#undef RUNE_STAGE_OUTLINE #undef RUNE_STAGE_COLOURED #undef RUNE_STAGE_COMPLETE +#undef RUNE_STAGE_OUTLINE +#undef RUNE_STAGE_REMOVABLE diff --git a/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm b/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm index 4a868bd053e..80eb6cccd1d 100644 --- a/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm +++ b/code/modules/antagonists/wizard/grand_ritual/grand_rune.dm @@ -333,3 +333,5 @@ resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF clean_type = CLEAN_TYPE_HARD_DECAL layer = SIGIL_LAYER + +#undef PICK_NOTHING diff --git a/code/modules/asset_cache/transports/asset_transport.dm b/code/modules/asset_cache/transports/asset_transport.dm index c33a019d464..19e40fb4884 100644 --- a/code/modules/asset_cache/transports/asset_transport.dm +++ b/code/modules/asset_cache/transports/asset_transport.dm @@ -158,3 +158,5 @@ /// Returns TRUE or FALSE /datum/asset_transport/proc/validate_config(log = TRUE) return TRUE + +#undef ASSET_CACHE_TELL_CLIENT_AMOUNT diff --git a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm index 267213f4b2a..e4b127c92bb 100644 --- a/code/modules/atmospherics/environmental/LINDA_turf_tile.dm +++ b/code/modules/atmospherics/environmental/LINDA_turf_tile.dm @@ -678,3 +678,6 @@ Then we space some of our heat, and think about if we should stop conducting. var/heat = conduction_coefficient * CALCULATE_CONDUCTION_ENERGY(delta_temperature, heat_capacity, sharer.heat_capacity) temperature += heat / heat_capacity //The higher your own heat cap the less heat you get from this arrangement sharer.temperature -= heat / sharer.heat_capacity + +#undef LAST_SHARE_CHECK +#undef PLANET_SHARE_CHECK diff --git a/code/modules/atmospherics/gasmixtures/gas_mixture.dm b/code/modules/atmospherics/gasmixtures/gas_mixture.dm index 16f89d13a96..e28cbed69fc 100644 --- a/code/modules/atmospherics/gasmixtures/gas_mixture.dm +++ b/code/modules/atmospherics/gasmixtures/gas_mixture.dm @@ -4,7 +4,6 @@ Calculations are done using the archived variables with the results merged into This prevents race conditions that arise based on the order of tile processing. */ -#define QUANTIZE(variable) (round((variable), (MOLAR_ACCURACY))) GLOBAL_LIST_INIT(meta_gas_info, meta_gas_list()) //see ATMOSPHERICS/gas_types.dm GLOBAL_LIST_INIT(gaslist_cache, init_gaslist_cache()) diff --git a/code/modules/atmospherics/machinery/atmosmachinery.dm b/code/modules/atmospherics/machinery/atmosmachinery.dm index be297ec5478..d8f34055277 100644 --- a/code/modules/atmospherics/machinery/atmosmachinery.dm +++ b/code/modules/atmospherics/machinery/atmosmachinery.dm @@ -589,3 +589,7 @@ /obj/machinery/atmospherics/proc/set_pipe_color(pipe_colour) src.pipe_color = uppertext(pipe_colour) update_name() + +#undef PIPE_VISIBLE_LEVEL +#undef PIPE_HIDDEN_LEVEL +#undef VENT_SOUND_DELAY diff --git a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm index 6151abc6520..9a4623ef49a 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/circulator.dm @@ -1,7 +1,5 @@ //node2, air2, network2 correspond to input //node1, air1, network1 correspond to output -#define CIRCULATOR_HOT 0 -#define CIRCULATOR_COLD 1 /obj/machinery/atmospherics/components/binary/circulator name = "circulator/heat exchanger" diff --git a/code/modules/atmospherics/machinery/components/fusion/hfr_defines.dm b/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm similarity index 100% rename from code/modules/atmospherics/machinery/components/fusion/hfr_defines.dm rename to code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm diff --git a/code/modules/atmospherics/machinery/other/miner.dm b/code/modules/atmospherics/machinery/other/miner.dm index 56552eeedf0..8a836eb5e1c 100644 --- a/code/modules/atmospherics/machinery/other/miner.dm +++ b/code/modules/atmospherics/machinery/other/miner.dm @@ -243,3 +243,9 @@ name = "\improper Antinoblium Gas Miner" overlay_color = "#022e00" spawn_id = /datum/gas/antinoblium + +#undef GASMINER_POWER_NONE +#undef GASMINER_POWER_STATIC +#undef GASMINER_POWER_MOLES +#undef GASMINER_POWER_KPA +#undef GASMINER_POWER_FULLSCALE diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index c7a20ad9f2e..2e25be2cc75 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -809,3 +809,5 @@ GLOBAL_LIST_INIT(gas_id_to_canister, init_gas_id_to_canister()) if(shielding_powered) return FALSE return ..() + +#undef CAN_DEFAULT_RELEASE_PRESSURE diff --git a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm index f71368ae7d8..718fd71a8a3 100644 --- a/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm +++ b/code/modules/atmospherics/machinery/portable/portable_atmospherics.dm @@ -255,3 +255,5 @@ UnregisterSignal(holding, COMSIG_PARENT_QDELETING) holding = null + +#undef PORTABLE_ATMOS_IGNORE_ATMOS_LIMIT diff --git a/code/modules/atmospherics/machinery/portable/pump.dm b/code/modules/atmospherics/machinery/portable/pump.dm index 53514562e25..e7dfc229a39 100644 --- a/code/modules/atmospherics/machinery/portable/pump.dm +++ b/code/modules/atmospherics/machinery/portable/pump.dm @@ -1,13 +1,3 @@ -///Maximum settable pressure -#define PUMP_MAX_PRESSURE (ONE_ATMOSPHERE * 25) -///Minimum settable pressure -#define PUMP_MIN_PRESSURE (ONE_ATMOSPHERE / 10) -///Defaul pressure, used in the UI to reset the settings -#define PUMP_DEFAULT_PRESSURE (ONE_ATMOSPHERE) -///What direction is the machine pumping (into pump/port or out to the tank/area)? -#define PUMP_IN TRUE -#define PUMP_OUT FALSE - /obj/machinery/portable_atmospherics/pump name = "portable air pump" icon_state = "siphon" diff --git a/code/modules/basketball/basketball.dm b/code/modules/basketball/basketball.dm index d47a8553f8d..e9ccc180537 100644 --- a/code/modules/basketball/basketball.dm +++ b/code/modules/basketball/basketball.dm @@ -1,13 +1,6 @@ #define MIN_DISARM_CHANCE 25 #define MAX_DISARM_CHANCE 75 -/// You hit exhaustion when you use 100 stamina -#define STAMINA_COST_SHOOTING 10 // shooting with RMB drains stamina (but LMB does not) -#define STAMINA_COST_DUNKING 20 // dunking is more strenous than shooting -#define STAMINA_COST_DUNKING_MOB 30 // dunking another person is harder -#define STAMINA_COST_SPINNING 15 // spin emote uses stamina while holding ball -#define STAMINA_COST_DISARMING 10 // getting shoved or disarmed while holding ball drains stamina - /obj/item/toy/basketball name = "basketball" icon = 'icons/obj/toys/balls.dmi' @@ -216,3 +209,6 @@ return ..() target.put_in_hands(src) + +#undef MAX_DISARM_CHANCE +#undef MIN_DISARM_CHANCE diff --git a/code/modules/basketball/controller.dm b/code/modules/basketball/controller.dm index ddb2319dd1c..3fdb746a33e 100644 --- a/code/modules/basketball/controller.dm +++ b/code/modules/basketball/controller.dm @@ -406,3 +406,8 @@ GLOBAL_VAR(basketball_game) QDEL_NULL(GLOB.basketball_game) var/datum/basketball_controller/basketball_minigame = new() return basketball_minigame + +#undef BASKETBALL_MIN_PLAYER_COUNT +#undef BASKETBALL_MAX_PLAYER_COUNT +#undef BASKETBALL_TEAM_HOME +#undef BASKETBALL_TEAM_AWAY diff --git a/code/modules/cargo/centcom_podlauncher.dm b/code/modules/cargo/centcom_podlauncher.dm index 8c44b41682f..e319dc03f2f 100644 --- a/code/modules/cargo/centcom_podlauncher.dm +++ b/code/modules/cargo/centcom_podlauncher.dm @@ -892,3 +892,9 @@ GLOBAL_DATUM_INIT(podlauncher, /datum/centcom_podlauncher, new) layer = FLY_LAYER plane = ABOVE_GAME_PLANE alpha = 0 + +#undef LAUNCH_ALL +#undef LAUNCH_ORDERED +#undef LAUNCH_RANDOM +#undef TAB_BAY +#undef TAB_POD diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm index 6d037211283..0614d4b7de8 100644 --- a/code/modules/cargo/expressconsole.dm +++ b/code/modules/cargo/expressconsole.dm @@ -1,11 +1,3 @@ -#define MAX_EMAG_ROCKETS 5 -#define BEACON_COST 500 -#define SP_LINKED 1 -#define SP_READY 2 -#define SP_LAUNCH 3 -#define SP_UNLINK 4 -#define SP_UNREADY 5 - /obj/machinery/computer/cargo/express name = "express supply console" desc = "This console allows the user to purchase a package \ @@ -230,3 +222,4 @@ . = TRUE update_appearance() CHECK_TICK + diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index f4fea22d174..b4947744391 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -1307,3 +1307,11 @@ GLOBAL_LIST_INIT(blacklisted_builds, list( continue screen -= object + +#undef ADMINSWARNED_AT +#undef CURRENT_MINUTE +#undef CURRENT_SECOND +#undef LIMITER_SIZE +#undef MINUTE_COUNT +#undef SECOND_COUNT +#undef UPLOAD_LIMIT_ADMIN diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index b8d441efcfa..95d8b674f25 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -1052,3 +1052,5 @@ var/obj/item/gun/new_gun = new guntype(src) set_chameleon_gun(new_gun) qdel(new_gun) + +#undef EMP_RANDOMISE_TIME diff --git a/code/modules/clothing/masks/gas_filter.dm b/code/modules/clothing/masks/gas_filter.dm index b38d236858d..c77c37de224 100644 --- a/code/modules/clothing/masks/gas_filter.dm +++ b/code/modules/clothing/masks/gas_filter.dm @@ -111,3 +111,10 @@ /datum/gas/carbon_dioxide, /datum/gas/nitrous_oxide ) + +#undef HIGH_FILTERING_MOLES +#undef HIGH_FILTERING_RATIO +#undef LOW_FILTERING_MOLES +#undef LOW_FILTERING_RATIO +#undef MID_FILTERING_MOLES +#undef FILTERS_CONSTANT_WEAR diff --git a/code/modules/error_handler/error_handler.dm b/code/modules/error_handler/error_handler.dm index 60fe226fdef..32a683e7bc7 100644 --- a/code/modules/error_handler/error_handler.dm +++ b/code/modules/error_handler/error_handler.dm @@ -136,3 +136,5 @@ GLOBAL_VAR_INIT(total_runtimes_skipped, 0) // This writes the regular format (unwrapping newlines and inserting timestamps as needed). log_runtime("runtime error: [E.name]\n[E.desc]") #endif + +#undef ERROR_USEFUL_LEN diff --git a/code/modules/events/ghost_role/revenant_event.dm b/code/modules/events/ghost_role/revenant_event.dm index cdfff32fdbc..c7d06db9cd1 100644 --- a/code/modules/events/ghost_role/revenant_event.dm +++ b/code/modules/events/ghost_role/revenant_event.dm @@ -62,3 +62,5 @@ revvie.log_message("was spawned as a revenant by an event.", LOG_GAME) spawned_mobs += revvie return SUCCESSFUL_SPAWN + +#undef REVENANT_SPAWN_THRESHOLD diff --git a/code/modules/events/holiday/vday.dm b/code/modules/events/holiday/vday.dm index f94ab1bd24a..706b3d7767a 100644 --- a/code/modules/events/holiday/vday.dm +++ b/code/modules/events/holiday/vday.dm @@ -106,3 +106,5 @@ . = ..() desc = pick(strings(VALENTINE_FILE, "candyhearts")) icon_state = pick("candyheart", "candyheart2", "candyheart3", "candyheart4") + +#undef VALENTINE_FILE diff --git a/code/modules/explorer_drone/adventure.dm b/code/modules/explorer_drone/adventure.dm index caf3b4c88ea..9718d6d5a49 100644 --- a/code/modules/explorer_drone/adventure.dm +++ b/code/modules/explorer_drone/adventure.dm @@ -493,6 +493,9 @@ GLOBAL_LIST_EMPTY(explorer_drone_adventure_db_entries) if("exists") return qkey in qualities +#undef ADVENTURE_VERSION_FIELD +#undef CURRENT_ADVENTURE_VERSION + #undef ADVENTURE_NAME_FIELD #undef ADVENTURE_STARTING_NODE_FIELD #undef ADVENTURE_REQUIRED_SITE_TRAITS_FIELD diff --git a/code/modules/explorer_drone/scanner_array.dm b/code/modules/explorer_drone/scanner_array.dm index c2e0678b6e1..5c06f4d7d79 100644 --- a/code/modules/explorer_drone/scanner_array.dm +++ b/code/modules/explorer_drone/scanner_array.dm @@ -364,3 +364,8 @@ GLOBAL_LIST_INIT(scan_conditions,init_scan_conditions()) /datum/scan_condition/easy/check_dish(obj/machinery/exoscanner/dish) return 2 + +#undef MAX_SCAN_DISTANCE +#undef WIDE_SCAN_COST +#undef BASE_POINT_SCAN_TIME +#undef BASE_DEEP_SCAN_TIME diff --git a/code/modules/food_and_drinks/plate.dm b/code/modules/food_and_drinks/plate.dm index 7f417d28862..0fe1d2300e8 100644 --- a/code/modules/food_and_drinks/plate.dm +++ b/code/modules/food_and_drinks/plate.dm @@ -124,3 +124,5 @@ /obj/item/plate_shard/Initialize(mapload) . = ..() AddComponent(/datum/component/caltrop, min_damage = force) + +#undef PLATE_SHARD_PIECES diff --git a/code/modules/food_and_drinks/restaurant/_venue.dm b/code/modules/food_and_drinks/restaurant/_venue.dm index 8dda83986e5..4be8f68c30f 100644 --- a/code/modules/food_and_drinks/restaurant/_venue.dm +++ b/code/modules/food_and_drinks/restaurant/_venue.dm @@ -1,6 +1,3 @@ -#define VENUE_RESTAURANT "Restaurant Venue" -#define VENUE_BAR "Bar Venue" - ///Represents the abstract concept of a food venue in the code. /datum/venue ///Name of the venue, also used for the icon state of any radials it can be selected in diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm index 06bfa5fa837..64703bf4b37 100644 --- a/code/modules/hydroponics/beekeeping/beebox.dm +++ b/code/modules/hydroponics/beekeeping/beebox.dm @@ -265,3 +265,9 @@ /obj/structure/beebox/unwrenched anchored = FALSE + +#undef BEE_PROB_NEW_BEE +#undef BEE_RESOURCE_HONEYCOMB_COST +#undef BEE_RESOURCE_NEW_BEE_COST +#undef BEEBOX_MAX_FRAMES +#undef BEES_RATIO diff --git a/code/modules/interview/interview.dm b/code/modules/interview/interview.dm index d96997dc015..923d11fc76f 100644 --- a/code/modules/interview/interview.dm +++ b/code/modules/interview/interview.dm @@ -1,10 +1,3 @@ -/// State when an interview has been approved -#define INTERVIEW_APPROVED "interview_approved" -/// State when an interview as been denied -#define INTERVIEW_DENIED "interview_denied" -/// State when an interview has had no action on it yet -#define INTERVIEW_PENDING "interview_pending" - /** * Represents a new-player interview form * diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm index cb459023e9e..60061fffcf1 100644 --- a/code/modules/library/lib_machines.dm +++ b/code/modules/library/lib_machines.dm @@ -817,3 +817,20 @@ bound_book.name = "Print Job #" + "[rand(100, 999)]" bound_book.gen_random_icon_state() qdel(draw_from) + +#undef BOOKS_PER_PAGE +#undef CHECKOUTS_PER_PAGE +#undef DEFAULT_SEARCH_CATAGORY +#undef DEFAULT_UPLOAD_CATAGORY +#undef INVENTORY_PER_PAGE +#undef LIBRARY_ARCHIVE +#undef LIBRARY_CHECKOUT +#undef LIBRARY_INVENTORY +#undef LIBRARY_NEWSFEED +#undef LIBRARY_PRINT +#undef LIBRARY_TOP_SNEAKY +#undef LIBRARY_UPLOAD +#undef MAX_LIBRARY +#undef MIN_LIBRARY +#undef NEWSCASTER_COOLDOWN +#undef PRINTER_COOLDOWN diff --git a/code/modules/library/skill_learning/skill_station.dm b/code/modules/library/skill_learning/skill_station.dm index dcff3a98fb8..cceecf79d36 100644 --- a/code/modules/library/skill_learning/skill_station.dm +++ b/code/modules/library/skill_learning/skill_station.dm @@ -305,3 +305,5 @@ toggle_chip_active(to_be_removed) return TRUE +#undef SKILLCHIP_IMPLANT_TIME +#undef SKILLCHIP_REMOVAL_TIME diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index 3d38bccf40f..2d1e7edf5b5 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -469,10 +469,12 @@ UNSETEMPTY(src.effect_str) -#undef EFFECT_UPDATE -#undef LUM_FALLOFF -#undef REMOVE_CORNER #undef APPLY_CORNER -#undef SETUP_CORNERS_REMOVAL_CACHE -#undef SETUP_CORNERS_CACHE +#undef EFFECT_UPDATE #undef GENERATE_MISSING_CORNERS +#undef INSERT_CORNERS +#undef LUM_FALLOFF +#undef LUM_FALLOFF_MULTIZ +#undef REMOVE_CORNER +#undef SETUP_CORNERS_CACHE +#undef SETUP_CORNERS_REMOVAL_CACHE diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm b/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm index 9365b307d88..14c17b62192 100644 --- a/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm +++ b/code/modules/mapfluff/ruins/lavalandruin_code/puzzle.dm @@ -362,3 +362,5 @@ var/obj/structure/puzzle_element/E = pick(cube.elements) prisoner.forceMove(E) return TRUE + +#undef COLLAPSE_DURATION diff --git a/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm index cac614896a4..42fdf621660 100644 --- a/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm +++ b/code/modules/mapfluff/ruins/objects_and_mobs/ash_walker_den.dm @@ -108,3 +108,5 @@ new /obj/effect/mob_spawn/ghost_role/human/ash_walker(get_step(loc, pick(GLOB.alldirs)), ashies) visible_message(span_danger("One of the eggs swells to an unnatural size and tumbles free. It's ready to hatch!")) meat_counter -= ASH_WALKER_SPAWN_THRESHOLD + +#undef ASH_WALKER_SPAWN_THRESHOLD diff --git a/code/modules/mapping/reader.dm b/code/modules/mapping/reader.dm index bd9e2bfaf07..33d545f551a 100644 --- a/code/modules/mapping/reader.dm +++ b/code/modules/mapping/reader.dm @@ -1,7 +1,6 @@ /////////////////////////////////////////////////////////////// //SS13 Optimized Map loader ////////////////////////////////////////////////////////////// -#define SPACE_KEY "space" // We support two different map formats // It is kinda possible to process them together, but if we split them up // I can make optimization decisions more easily @@ -964,3 +963,9 @@ GLOBAL_LIST_EMPTY(map_model_default) grid_models.Cut() gridSets.Cut() return QDEL_HINT_HARDDEL_NOW + +#undef MAP_DMM +#undef MAP_TGM +#undef MAP_UNKNOWN +#undef TRIM_TEXT +#undef MAPLOADING_CHECK_TICK diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index 6e9d4b0ddc2..8796e8e913b 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -523,4 +523,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\ /obj/item/coin/adamantine/doubloon name = "doubloon" +#undef GIBTONITE_QUALITY_HIGH +#undef GIBTONITE_QUALITY_LOW +#undef GIBTONITE_QUALITY_MEDIUM #undef ORESTACK_OVERLAYS_MAX diff --git a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm index 2eea1f3edfb..af71b4a167c 100644 --- a/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm +++ b/code/modules/mob/living/basic/space_fauna/carp/carp_ai_actions.dm @@ -73,3 +73,5 @@ ability_key = BB_MAGICARP_SPELL target_key = BB_MAGICARP_SPELL_TARGET use_ability_behaviour = /datum/ai_behavior/targeted_mob_ability/and_clear_target + +#undef MAGICARP_SPELL_TARGET_SEEK_RANGE diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 59c9891ff0b..d9b36ddb86b 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -31,7 +31,7 @@ nutrition_ratio *= 1.25 adjust_nutrition(-nutrition_ratio * HUNGER_FACTOR * delta_time) blood_volume = min(blood_volume + (BLOOD_REGEN_FACTOR * nutrition_ratio * delta_time), BLOOD_VOLUME_NORMAL) - + // we call lose_blood() here rather than quirk/process() to make sure that the blood loss happens in sync with life() if(HAS_TRAIT(src, TRAIT_BLOOD_DEFICIENCY)) var/datum/quirk/blooddeficiency/blooddeficiency = get_quirk(/datum/quirk/blooddeficiency) @@ -370,3 +370,5 @@ var/obj/effect/decal/cleanable/oil/B = locate() in T.contents if(!B) B = new(T) + +#undef BLOOD_DRIP_RATE_MOD diff --git a/code/modules/mob/living/carbon/alien/adult/caste/hunter.dm b/code/modules/mob/living/carbon/alien/adult/caste/hunter.dm index b68b1c99ca9..72cdd3bbf4b 100644 --- a/code/modules/mob/living/carbon/alien/adult/caste/hunter.dm +++ b/code/modules/mob/living/carbon/alien/adult/caste/hunter.dm @@ -86,3 +86,4 @@ visible_message(span_danger("[src] smashes into [hit_atom]!"), span_alertalien("[src] smashes into [hit_atom]!")) Paralyze(40, ignore_canstun = TRUE) +#undef MAX_ALIEN_LEAP_DIST diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 873d23ec0e1..5c2a1c12fa1 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -37,7 +37,7 @@ /datum/species/fly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) if(chem.type == /datum/reagent/toxin/pestkiller) - H.adjustToxLoss(3 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustToxLoss(3 * REM * delta_time) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) return TRUE return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index a8f77e703b0..17c26380214 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -358,7 +358,7 @@ /datum/species/golem/wood/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) if(chem.type == /datum/reagent/toxin/plantbgone) - H.adjustToxLoss(3 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustToxLoss(3 * REM * delta_time) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) return TRUE return ..() @@ -742,12 +742,12 @@ /datum/species/golem/runic/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) . = ..() if(istype(chem, /datum/reagent/water/holywater)) - H.adjustFireLoss(4 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustFireLoss(4 * REM * delta_time) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) if(chem.type == /datum/reagent/fuel/unholywater) - H.adjustBruteLoss(-4 * REAGENTS_EFFECT_MULTIPLIER * delta_time) - H.adjustFireLoss(-4 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustBruteLoss(-4 * REM * delta_time) + H.adjustFireLoss(-4 * REM * delta_time) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) /datum/species/golem/cloth @@ -1216,8 +1216,8 @@ /datum/species/golem/bone/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) . = ..() if(chem.type == /datum/reagent/toxin/bonehurtingjuice) - H.adjustStaminaLoss(7.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) - H.adjustBruteLoss(0.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + H.adjustStaminaLoss(7.5 * REM * delta_time, 0) + H.adjustBruteLoss(0.5 * REM * delta_time, 0) if(DT_PROB(10, delta_time)) switch(rand(1, 3)) if(1) diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 813aa03cd25..e3dbb6ba3ef 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -55,7 +55,7 @@ /datum/species/moth/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) . = ..() if(chem.type == /datum/reagent/toxin/pestkiller) - H.adjustToxLoss(3 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustToxLoss(3 * REM * delta_time) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) /datum/species/moth/check_species_weakness(obj/item/weapon, mob/living/attacker) diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index b46168408c5..43877997ac3 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -61,7 +61,7 @@ /datum/species/mush/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) if(chem.type == /datum/reagent/toxin/plantbgone/weedkiller) - H.adjustToxLoss(3 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustToxLoss(3 * REM * delta_time) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) return TRUE return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 675cd8f8baa..1df7bd72b6f 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -140,12 +140,12 @@ if(istype(chem, /datum/reagent/toxin/plasma) || istype(chem, /datum/reagent/toxin/hot_ice)) for(var/i in H.all_wounds) var/datum/wound/iter_wound = i - iter_wound.on_xadone(4 * REAGENTS_EFFECT_MULTIPLIER * delta_time) // plasmamen use plasma to reform their bones or whatever + iter_wound.on_xadone(4 * REM * delta_time) // plasmamen use plasma to reform their bones or whatever return FALSE // do normal metabolism if(istype(chem, /datum/reagent/toxin/bonehurtingjuice)) - H.adjustStaminaLoss(7.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) - H.adjustBruteLoss(0.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + H.adjustStaminaLoss(7.5 * REM * delta_time, 0) + H.adjustBruteLoss(0.5 * REM * delta_time, 0) if(DT_PROB(10, delta_time)) switch(rand(1, 3)) if(1) diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index e7a839fa73b..3eaaeea043a 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -72,7 +72,7 @@ /datum/species/pod/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) if(chem.type == /datum/reagent/toxin/plantbgone) - H.adjustToxLoss(3 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustToxLoss(3 * REM * delta_time) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) return TRUE return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index 8477f4b19cb..de91ee3d702 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -66,8 +66,8 @@ /datum/species/skeleton/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) . = ..() if(chem.type == /datum/reagent/toxin/bonehurtingjuice) - H.adjustStaminaLoss(7.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) - H.adjustBruteLoss(0.5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + H.adjustStaminaLoss(7.5 * REM * delta_time, 0) + H.adjustBruteLoss(0.5 * REM * delta_time, 0) if(DT_PROB(10, delta_time)) switch(rand(1, 3)) if(1) diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index 4d6a8233a94..0521bc5b14d 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -32,7 +32,7 @@ /datum/species/snail/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) . = ..() if(istype(chem,/datum/reagent/consumable/salt)) - H.adjustFireLoss(2 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + H.adjustFireLoss(2 * REM * delta_time) playsound(H, 'sound/weapons/sear.ogg', 30, TRUE) H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) return TRUE diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index 10952d2bd51..87cf5ea47f8 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -1129,3 +1129,5 @@ if(ai_voicechanger && ai_voicechanger.changing_voice) return ai_voicechanger.say_name return + +#undef CALL_BOT_COOLDOWN diff --git a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm index facffbc5cce..9b72c455995 100644 --- a/code/modules/mob/living/silicon/ai/freelook/cameranet.dm +++ b/code/modules/mob/living/silicon/ai/freelook/cameranet.dm @@ -2,9 +2,6 @@ // // The datum containing all the chunks. -#define CHUNK_SIZE 16 // Only chunk sizes that are to the power of 2. E.g: 2, 4, 8, 16, etc.. -/// Takes a position, transforms it into a chunk bounded position. Indexes at 1 so it'll land on actual turfs always -#define GET_CHUNK_COORD(v) (max((FLOOR(v, CHUNK_SIZE)), 1)) GLOBAL_DATUM_INIT(cameranet, /datum/cameranet, new) /datum/cameranet diff --git a/code/modules/mob/living/silicon/ai/freelook/chunk.dm b/code/modules/mob/living/silicon/ai/freelook/chunk.dm index dba449d4d31..c21f08e2d6b 100644 --- a/code/modules/mob/living/silicon/ai/freelook/chunk.dm +++ b/code/modules/mob/living/silicon/ai/freelook/chunk.dm @@ -178,5 +178,3 @@ obscuredTurfs[obscured_turf] = new_static #undef UPDATE_BUFFER_TIME -#undef CHUNK_SIZE -#undef GET_CHUNK_COORD diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index 229d3f225ee..33059772cc6 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -448,3 +448,5 @@ if("clean_graffiti") janitor_mode_flags ^= CLEANBOT_CLEAN_DRAWINGS get_targets() + +#undef CLEANBOT_CLEANING_TIME diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm index cead7919f28..7a1fd85f37a 100644 --- a/code/modules/mob/living/simple_animal/bot/floorbot.dm +++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm @@ -1,3 +1,11 @@ +#define HULL_BREACH 1 +#define LINE_SPACE_MODE 2 +#define FIX_TILE 3 +#define AUTO_TILE 4 +#define PLACE_TILE 5 +#define REPLACE_TILE 6 +#define TILE_EMAG 7 + //Floorbot /mob/living/simple_animal/bot/floorbot name = "\improper Floorbot" @@ -27,14 +35,6 @@ var/toolbox = /obj/item/storage/toolbox/mechanical var/toolbox_color = "" - #define HULL_BREACH 1 - #define LINE_SPACE_MODE 2 - #define FIX_TILE 3 - #define AUTO_TILE 4 - #define PLACE_TILE 5 - #define REPLACE_TILE 6 - #define TILE_EMAG 7 - /mob/living/simple_animal/bot/floorbot/Initialize(mapload, new_toolbox_color) . = ..() ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) @@ -411,3 +411,11 @@ if(robot.mode == BOT_REPAIRING) return TRUE return FALSE + +#undef HULL_BREACH +#undef LINE_SPACE_MODE +#undef FIX_TILE +#undef AUTO_TILE +#undef PLACE_TILE +#undef REPLACE_TILE +#undef TILE_EMAG diff --git a/code/modules/mob/living/simple_animal/friendly/trader.dm b/code/modules/mob/living/simple_animal/friendly/trader.dm index 2605b9a50d8..30f0e9cbae4 100644 --- a/code/modules/mob/living/simple_animal/friendly/trader.dm +++ b/code/modules/mob/living/simple_animal/friendly/trader.dm @@ -482,3 +482,20 @@ /obj/item/reagent_containers/condiment/milk = list(1000, INFINITY, ""), /obj/item/stack/sheet/bone = list(420, INFINITY, ", per sheet of bone"), ) + +#undef ITEM_REJECTED_PHRASE +#undef ITEM_SELLING_CANCELED_PHRASE +#undef ITEM_SELLING_ACCEPTED_PHRASE +#undef INTERESTED_PHRASE +#undef BUY_PHRASE +#undef NO_CASH_PHRASE +#undef NO_STOCK_PHRASE +#undef NOT_WILLING_TO_BUY_PHRASE +#undef ITEM_IS_WORTHLESS_PHRASE +#undef TRADER_HAS_ENOUGH_ITEM_PHRASE +#undef TRADER_LORE_PHRASE +#undef TRADER_NOT_BUYING_ANYTHING +#undef TRADER_NOT_SELLING_ANYTHING +#undef TRADER_PRODUCT_INFO_PRICE +#undef TRADER_PRODUCT_INFO_QUANTITY +#undef TRADER_PRODUCT_INFO_PRICE_MOD_DESCRIPTION diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index c842f66955e..7f65dcd459b 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -389,4 +389,13 @@ body_overlay.color = beegent ? beegent.color : BEE_DEFAULT_COLOUR . += body_overlay +#undef BEE_DEFAULT_COLOUR #undef BEE_FOODGROUPS +#undef BEE_IDLE_GOHOME +#undef BEE_IDLE_ROAMING +#undef BEE_POLLINATE_PEST_CHANCE +#undef BEE_POLLINATE_POTENCY_CHANCE +#undef BEE_POLLINATE_YIELD_CHANCE +#undef BEE_PROB_GOHOME +#undef BEE_PROB_GOROAM +#undef BEE_TRAY_RECENT_VISIT diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm index b56816e13f7..ae4fd248734 100644 --- a/code/modules/mob/living/simple_animal/hostile/goose.dm +++ b/code/modules/mob/living/simple_animal/hostile/goose.dm @@ -264,3 +264,5 @@ StartCooldown() return TRUE + +#undef GOOSE_SATIATED diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm index 7cbc4a4547b..a98199c1e30 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm @@ -1,4 +1,3 @@ -#define GORILLA_HANDS_LAYER 1 #define GORILLA_TOTAL_LAYERS 1 /mob/living/simple_animal/hostile/gorilla @@ -183,3 +182,5 @@ name = "cargorilla ID" desc = "A card used to provide ID and determine access across the station. A gorilla-sized ID for a gorilla-sized cargo technician." trim = /datum/id_trim/job/cargo_technician + +#undef GORILLA_TOTAL_LAYERS diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm index 1edbf4f00e1..39dfe8f7d89 100644 --- a/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm +++ b/code/modules/mob/living/simple_animal/hostile/gorilla/visuals_icons.dm @@ -1,3 +1,5 @@ +#define GORILLA_HANDS_LAYER 1 + /mob/living/simple_animal/hostile/gorilla/proc/apply_overlay(cache_index) . = gorilla_overlays[cache_index] if(.) @@ -51,3 +53,4 @@ /mob/living/simple_animal/hostile/gorilla/regenerate_icons() update_held_items() +#undef GORILLA_HANDS_LAYER diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm index 3135c2e6318..ce23097774a 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm @@ -133,7 +133,7 @@ /datum/reagent/toxin/leaper_venom/on_mob_life(mob/living/carbon/M, delta_time, times_fired) if(volume >= 10) - M.adjustToxLoss(5 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + M.adjustToxLoss(5 * REM * delta_time, 0) ..() /obj/effect/temp_visual/leaper_crush diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index be22123f087..4b6ffda2851 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -398,3 +398,7 @@ Difficulty: Hard /obj/effect/temp_visual/bubblegum_hands/leftsmack icon_state = "leftsmack" + +#undef BUBBLEGUM_CAN_ENRAGE +#undef BUBBLEGUM_IS_ENRAGED +#undef BUBBLEGUM_SMASH diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index 55d539536d1..c1bfac2b86f 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -652,12 +652,13 @@ qdel(stasis) qdel(src) -#undef ACTIVATE_TOUCH -#undef ACTIVATE_SPEECH -#undef ACTIVATE_HEAT +#undef ACTIVATE_BOMB #undef ACTIVATE_BULLET #undef ACTIVATE_ENERGY -#undef ACTIVATE_BOMB -#undef ACTIVATE_MOB_BUMP -#undef ACTIVATE_WEAPON +#undef ACTIVATE_HEAT #undef ACTIVATE_MAGIC +#undef ACTIVATE_MOB_BUMP +#undef ACTIVATE_SPEECH +#undef ACTIVATE_TOUCH +#undef ACTIVATE_WEAPON +#undef COLOSSUS_ENRAGED diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm index f155414b006..0cea418cc15 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm @@ -404,3 +404,5 @@ Difficulty: Extremely Hard color = new_color set_light_color(new_color) set_light(new_range) + +#undef FROST_MINER_SHOULD_ENRAGE diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm index 1b97ea781dd..b938f4bc5cb 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm @@ -371,5 +371,9 @@ /mob/living/simple_animal/hostile/megafauna/dragon/lesser/grant_achievement(medaltype,scoretype) return +#undef DRAKE_ENRAGED +#undef DRAKE_FIRE_EXPOSURE +#undef DRAKE_FIRE_TEMP + #undef SWOOP_DAMAGEABLE #undef SWOOP_INVULNERABLE diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index ad84b622b89..5fc03caf8e2 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -333,6 +333,7 @@ Difficulty: Hard w_class = WEIGHT_CLASS_TINY throwforce = 0 +#undef WENDIGO_ENRAGED #undef WENDIGO_CIRCLE_SHOTCOUNT #undef WENDIGO_CIRCLE_REPEATCOUNT #undef WENDIGO_SPIRAL_SHOTCOUNT diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm index 37116d21dae..77b5fed1471 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/brimdemon.dm @@ -238,3 +238,5 @@ return COOLDOWN_START(src, ore_sensing_cooldown, cooldown) mineral_scan_pulse(get_turf(src), range) + +#undef BRIMBEAM_RANGE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index 7412f0d8691..1059b336e07 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -416,3 +416,7 @@ While using this makes the system rely on OnFire, it still gives options for tim . = ..() if(mover == ourelite_ref.resolve() || mover == activator_ref.resolve()) return FALSE + +#undef TUMOR_ACTIVE +#undef TUMOR_INACTIVE +#undef TUMOR_PASSIVE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm index ff314908e19..64d606ed3b6 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm @@ -264,3 +264,8 @@ to_chat(living_user, "You squeeze the tongue, and some transluscent liquid shoots out all over you.") addtimer(TRAIT_CALLBACK_REMOVE(user, TRAIT_LAVA_IMMUNE, type), 10 SECONDS) use_time = world.time + 60 SECONDS + +#undef CALL_CHILDREN +#undef RAGE +#undef SPAWN_CHILDREN +#undef TENTACLE_PATCH diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm index a66be038430..0015b94004f 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm @@ -277,3 +277,8 @@ var/static/list/directional_shot_angles = list(0, 45, 90, 135, 180, 225, 270, 315) playsound(get_turf(owner), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE) addtimer(CALLBACK(src, PROC_REF(reactionshot), owner), 10) + +#undef HERALD_TRISHOT +#undef HERALD_DIRECTIONALSHOT +#undef HERALD_TELESHOT +#undef HERALD_MIRROR diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm index e6d49d22518..70d7ccb8dfb 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm @@ -346,3 +346,8 @@ LegionSkull.friends += LivingUser LegionSkull.faction = LivingUser.faction.Copy() next_use_time = world.time + 4 SECONDS + +#undef LEGIONNAIRE_CHARGE +#undef HEAD_DETACH +#undef BONFIRE_TELEPORT +#undef SPEW_SMOKE diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm index bb987e1831c..f6020a18bcb 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm @@ -193,3 +193,8 @@ var/mob/living/L = user if(L?.mind) L.clear_mood_event("hope_lavaland") + +#undef SINGULAR_SHOT +#undef MAGIC_BOX +#undef PANDORA_TELEPORT +#undef AOE_SQUARES diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm index b1c1e3d9c62..8b749b5915d 100644 --- a/code/modules/mob/living/simple_animal/parrot.dm +++ b/code/modules/mob/living/simple_animal/parrot.dm @@ -1023,3 +1023,11 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list( H.ForceContractDisease(P, FALSE) parrot_interest = null H.visible_message(span_danger("[src] dive bombs into [H]'s chest and vanishes!"), span_userdanger("[src] dive bombs into your chest, vanishing! This can't be good!")) + +#undef PARROT_PERCH +#undef PARROT_SWOOP +#undef PARROT_WANDER +#undef PARROT_STEAL +#undef PARROT_ATTACK +#undef PARROT_RETURN +#undef PARROT_FLEE diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm index 255a2deac1b..61706dfa58b 100644 --- a/code/modules/mob/living/simple_animal/slime/powers.dm +++ b/code/modules/mob/living/simple_animal/slime/powers.dm @@ -229,3 +229,9 @@ /datum/action/innate/slime/reproduce/Activate() var/mob/living/simple_animal/slime/S = owner S.Reproduce() + +#undef SIZE_DOESNT_MATTER +#undef BABIES_ONLY +#undef ADULTS_ONLY +#undef NO_GROWTH_NEEDED +#undef GROWTH_NEEDED diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm index c9cc61fa1cd..c7831346cd6 100644 --- a/code/modules/mob/living/status_procs.dm +++ b/code/modules/mob/living/status_procs.dm @@ -523,7 +523,7 @@ * Arguments: * * quirktype - the type of the quirk to acquire e.g. /datum/quirk/some_quirk * - * Returns the mob's quirk datum if the mob this is called on has the quirk, null on failure + * Returns the mob's quirk datum if the mob this is called on has the quirk, null on failure */ /mob/living/proc/get_quirk(quirktype) for(var/datum/quirk/quirk in quirks) @@ -759,3 +759,5 @@ /// Helper to check if we seem to be alive or not /mob/living/proc/appears_alive() return health >= 0 && !HAS_TRAIT(src, TRAIT_FAKEDEATH) + +#undef IS_STUN_IMMUNE diff --git a/code/modules/mob/mob_say.dm b/code/modules/mob/mob_say.dm index 74e04c52bfd..ecd5b3e04d6 100644 --- a/code/modules/mob/mob_say.dm +++ b/code/modules/mob/mob_say.dm @@ -218,3 +218,5 @@ if(!message) return return message + +#undef MESSAGE_MODS_LENGTH diff --git a/code/modules/mod/mod_ai.dm b/code/modules/mod/mod_ai.dm index c96366800a0..8da0ed26d15 100644 --- a/code/modules/mod/mod_ai.dm +++ b/code/modules/mod/mod_ai.dm @@ -147,3 +147,5 @@ ai.notify_ghost_cloning("You have been recovered from the wreckage!", source = card) balloon_alert(user, "ai transferred to card") stored_ai = null + +#undef AI_FALL_TIME diff --git a/code/modules/modular_computers/file_system/programs/atmosscan.dm b/code/modules/modular_computers/file_system/programs/atmosscan.dm index 3109278b9e5..b0a7c08a049 100644 --- a/code/modules/modular_computers/file_system/programs/atmosscan.dm +++ b/code/modules/modular_computers/file_system/programs/atmosscan.dm @@ -85,3 +85,6 @@ var/turf/turf = get_turf(computer) last_gasmix_data = list(gas_mixture_parser(turf?.return_air(), "Location Reading")) return TRUE + +#undef ATMOZPHERE_SCAN_ENV +#undef ATMOZPHERE_SCAN_CLICK diff --git a/code/modules/modular_computers/file_system/programs/secureye.dm b/code/modules/modular_computers/file_system/programs/secureye.dm index d3f1dbbab38..dc680c435f9 100644 --- a/code/modules/modular_computers/file_system/programs/secureye.dm +++ b/code/modules/modular_computers/file_system/programs/secureye.dm @@ -189,3 +189,5 @@ if(tempnetwork.len) camlist["[cam.c_tag]"] = cam return camlist + +#undef DEFAULT_MAP_SIZE diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm index 5d771627359..0187a7878f9 100644 --- a/code/modules/power/floodlight.dm +++ b/code/modules/power/floodlight.dm @@ -280,3 +280,8 @@ /obj/machinery/power/floodlight/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) playsound(src, 'sound/effects/glasshit.ogg', 75, TRUE) + +#undef FLOODLIGHT_OFF +#undef FLOODLIGHT_LOW +#undef FLOODLIGHT_MED +#undef FLOODLIGHT_HIGH diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm index 28913ed2c4b..5442131817b 100644 --- a/code/modules/power/generator.dm +++ b/code/modules/power/generator.dm @@ -228,3 +228,5 @@ if(cold_circ) cold_circ.generator = null cold_circ = null + +#undef GENRATE diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm index 54dee6e1728..e8387182fad 100644 --- a/code/modules/power/gravitygenerator.dm +++ b/code/modules/power/gravitygenerator.dm @@ -472,3 +472,12 @@ GLOBAL_LIST_EMPTY(gravity_generators)
  • Mend the damaged framework with a welding tool.
  • Add additional plasteel plating.
  • Secure the additional plating with a wrench.
  • "} + +#undef POWER_IDLE +#undef POWER_UP +#undef POWER_DOWN + +#undef GRAV_NEEDS_PLASTEEL +#undef GRAV_NEEDS_SCREWDRIVER +#undef GRAV_NEEDS_WELDING +#undef GRAV_NEEDS_WRENCH diff --git a/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm index 6039caa2b13..c10342792e4 100644 --- a/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm +++ b/code/modules/power/supermatter/supermatter_delamination/_sm_delam.dm @@ -15,6 +15,8 @@ GLOBAL_LIST_INIT(sm_delam_list, list( /datum/sm_delam/proc/can_select(obj/machinery/power/supermatter_crystal/sm) return FALSE +#define ROUNDCOUNT_ENGINE_JUST_EXPLODED 0 + /// Called when the count down has been finished, do the nasty work. /// [/obj/machinery/power/supermatter_crystal/proc/count_down] /datum/sm_delam/proc/delaminate(obj/machinery/power/supermatter_crystal/sm) @@ -24,6 +26,8 @@ GLOBAL_LIST_INIT(sm_delam_list, list( sign.update_count(ROUNDCOUNT_ENGINE_JUST_EXPLODED) qdel(sm) +#undef ROUNDCOUNT_ENGINE_JUST_EXPLODED + /// Whatever we're supposed to do when a delam is currently in progress. /// Mostly just to tell people how useless engi is, and play some alarm sounds. /// Returns TRUE if we just told people a delam is going on. FALSE if its healing or we didnt say anything. diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index 34c6b551344..5cafe635394 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -365,3 +365,6 @@ #undef MACHINERY #undef BLOB #undef STRUCTURE + +#undef TESLA_DEFAULT_POWER +#undef TESLA_MINI_POWER diff --git a/code/modules/procedural_mapping/mapGenerator.dm b/code/modules/procedural_mapping/mapGenerator.dm index faecf0a92b7..4a79ad4c305 100644 --- a/code/modules/procedural_mapping/mapGenerator.dm +++ b/code/modules/procedural_mapping/mapGenerator.dm @@ -1,22 +1,3 @@ -//clusterCheckFlags defines -//All based on clusterMin and clusterMax as guides - -//Individual defines -#define CLUSTER_CHECK_NONE 0 //No checks are done, cluster as much as possible -#define CLUSTER_CHECK_DIFFERENT_TURFS (1<<1) //Don't let turfs of DIFFERENT types cluster -#define CLUSTER_CHECK_DIFFERENT_ATOMS (1<<2) //Don't let atoms of DIFFERENT types cluster -#define CLUSTER_CHECK_SAME_TURFS (1<<3) //Don't let turfs of the SAME type cluster -#define CLUSTER_CHECK_SAME_ATOMS (1<<4) //Don't let atoms of the SAME type cluster - -//Combined defines -#define CLUSTER_CHECK_SAMES 24 //Don't let any of the same type cluster -#define CLUSTER_CHECK_DIFFERENTS 6 //Don't let any of different types cluster -#define CLUSTER_CHECK_ALL_TURFS 10 //Don't let ANY turfs cluster same and different types -#define CLUSTER_CHECK_ALL_ATOMS 20 //Don't let ANY atoms cluster same and different types - -//All -#define CLUSTER_CHECK_ALL 30 //Don't let anything cluster, like, at all - /datum/map_generator //Map information diff --git a/code/modules/projectiles/guns/energy/beam_rifle.dm b/code/modules/projectiles/guns/energy/beam_rifle.dm index dca6a52863e..b91484f3d67 100644 --- a/code/modules/projectiles/guns/energy/beam_rifle.dm +++ b/code/modules/projectiles/guns/energy/beam_rifle.dm @@ -546,3 +546,10 @@ /obj/projectile/beam/beam_rifle/hitscan/aiming_beam/on_hit() qdel(src) return BULLET_ACT_BLOCK + +#undef AIMING_BEAM_ANGLE_CHANGE_THRESHOLD +#undef AUTOZOOM_PIXEL_STEP_FACTOR +#undef ZOOM_LOCK_AUTOZOOM_ANGLELOCK +#undef ZOOM_LOCK_AUTOZOOM_FREEMOVE +#undef ZOOM_LOCK_CENTER_VIEW +#undef ZOOM_LOCK_OFF diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm index 42d9d967ac5..054c11f3df6 100644 --- a/code/modules/projectiles/guns/energy/dueling.dm +++ b/code/modules/projectiles/guns/energy/dueling.dm @@ -386,3 +386,12 @@ var/obj/item/gun/energy/dueling/gun_A = new(src) var/obj/item/gun/energy/dueling/gun_B = new(src) new /datum/duel(gun_A, gun_B) + +#undef DUEL_IDLE +#undef DUEL_PREPARATION +#undef DUEL_READY +#undef DUEL_COUNTDOWN +#undef DUEL_FIRING +#undef DUEL_SETTING_A +#undef DUEL_SETTING_B +#undef DUEL_SETTING_C diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index bb02ac8d548..1497d91189f 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -1092,3 +1092,6 @@ return TRUE return FALSE + +#undef MOVES_HITSCAN +#undef MUZZLE_EFFECT_PIXEL_INCREMENT diff --git a/code/modules/reagents/chemistry/items.dm b/code/modules/reagents/chemistry/items.dm index 0bf7dfad465..0a8f0cc5f39 100644 --- a/code/modules/reagents/chemistry/items.dm +++ b/code/modules/reagents/chemistry/items.dm @@ -342,3 +342,6 @@ /obj/item/thermometer/pen color = "#888888" + +#undef DETAILED_CHEM_OUTPUT +#undef SHORTENED_CHEM_OUTPUT diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm index df477ac631f..822d01d2464 100644 --- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm +++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm @@ -400,3 +400,6 @@ This will not clean any inverted reagents. Inverted reagents will still be corre time += (((reagent.mass * reagent.volume) + (reagent.mass * reagent.get_inverse_purity() * 0.1)) * 0.0035) + 10 ///Roughly 10 - 30s? delay_time = (time * cms_coefficient) return delay_time + +#undef BEAKER1 +#undef BEAKER2 diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index db5baba7435..e960587042a 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -361,3 +361,5 @@ var/amount = beaker.reagents.get_reagent_amount(/datum/reagent/consumable/cream) beaker.reagents.remove_reagent(/datum/reagent/consumable/cream, amount) beaker.reagents.add_reagent(/datum/reagent/consumable/whipped_cream, amount) + +#undef MILK_TO_BUTTER_COEFF diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index fce9a881357..cdf8080d4a7 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -1,5 +1,3 @@ -#define REM REAGENTS_EFFECT_MULTIPLIER - GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) /proc/build_name2reagent() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 2821efc698a..5a3d7529409 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1,5 +1,4 @@ #define ALCOHOL_THRESHOLD_MODIFIER 1 //Greater numbers mean that less alcohol has greater intoxication potential -#define ALCOHOL_RATE 0.005 //The rate at which alcohol affects you #define ALCOHOL_EXPONENT 1.6 //The exponent applied to boozepwr to make higher volume alcohol at least a little bit damaging to the liver /datum/reagent/consumable/ethanol @@ -3649,3 +3648,6 @@ /datum/reagent/consumable/ethanol/gin_garden/on_mob_life(mob/living/carbon/doll, delta_time, times_fired) doll.adjust_bodytemperature(-5 * REM * TEMPERATURE_DAMAGE_COEFFICIENT * delta_time, doll.get_body_temp_normal()) ..() + +#undef ALCOHOL_EXPONENT +#undef ALCOHOL_THRESHOLD_MODIFIER diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 57ae17c62cd..0986ba7d854 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -143,7 +143,7 @@ affected_mob.adjustCloneLoss(-power * REM * delta_time, FALSE, affected_biotype) for(var/i in affected_mob.all_wounds) var/datum/wound/iter_wound = i - iter_wound.on_xadone(power * REAGENTS_EFFECT_MULTIPLIER * delta_time) + iter_wound.on_xadone(power * REM * delta_time) REMOVE_TRAIT(affected_mob, TRAIT_DISFIGURED, TRAIT_GENERIC) //fixes common causes for disfiguration ..() return TRUE @@ -200,7 +200,7 @@ affected_mob.adjustCloneLoss(-power * REM * delta_time, FALSE, required_biotype = affected_biotype) for(var/i in affected_mob.all_wounds) var/datum/wound/iter_wound = i - iter_wound.on_xadone(power * REAGENTS_EFFECT_MULTIPLIER * delta_time) + iter_wound.on_xadone(power * REM * delta_time) REMOVE_TRAIT(affected_mob, TRAIT_DISFIGURED, TRAIT_GENERIC) . = TRUE ..() diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 0f76cfd2a2a..8ec993b46c1 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -136,6 +136,9 @@ exposed_turf.atmos_spawn_air("plasma=[reac_volume];TEMP=[temp]") return ..() +#undef LIQUID_PLASMA_BP +#undef LIQUID_PLASMA_IG + /datum/reagent/toxin/plasma/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)//Splashing people with plasma is stronger than fuel! . = ..() if(methods & (TOUCH|VAPOR)) diff --git a/code/modules/reagents/chemistry/recipes/special.dm b/code/modules/reagents/chemistry/recipes/special.dm index 2e2b3957835..26f3b567d76 100644 --- a/code/modules/reagents/chemistry/recipes/special.dm +++ b/code/modules/reagents/chemistry/recipes/special.dm @@ -36,10 +36,6 @@ GLOBAL_LIST_INIT(medicine_reagents, build_medicine_reagents()) if(VALID_RANDOM_RECIPE_REAGENT(chem_flags)) . += reagent -#define RNGCHEM_INPUT "input" -#define RNGCHEM_CATALYSTS "catalysts" -#define RNGCHEM_OUTPUT "output" - /datum/chemical_reaction/randomized //Increase default leniency because these are already hard enough diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 10d278b3e8b..aaca3e34c1e 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -561,3 +561,5 @@ to_chat(src, span_danger("You shove [target.name] into \the [src]!")) log_combat(src, target, "shoved", "into [src] (disposal bin)") return COMSIG_CARBON_SHOVE_HANDLED + +#undef SEND_PRESSURE diff --git a/code/modules/research/anomaly/anomaly_refinery.dm b/code/modules/research/anomaly/anomaly_refinery.dm index ec18eea788e..d914cc89b94 100644 --- a/code/modules/research/anomaly/anomaly_refinery.dm +++ b/code/modules/research/anomaly/anomaly_refinery.dm @@ -355,3 +355,4 @@ #undef MAX_RADIUS_REQUIRED #undef MIN_RADIUS_REQUIRED +#undef COMPRESSION_TEST_TIME diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm index ffb54a8320f..83d25211e8b 100644 --- a/code/modules/research/bepis.dm +++ b/code/modules/research/bepis.dm @@ -285,3 +285,11 @@ error_cause = pick("attempted to sell grey products to American dominated market.","attempted to sell gray products to British dominated market.","placed wild assumption that PDAs would go out of style.","simulated product #76 damaged brand reputation mortally.","simulated business model resembled 'pyramid scheme' by 98.7%.","product accidently granted override access to all station doors.") say("Experiment concluded with zero product viability. Cause of error: [error_cause]") return + + +#undef MACHINE_OPERATION +#undef MACHINE_OVERLOAD +#undef MAJOR_THRESHOLD +#undef MINOR_THRESHOLD +#undef STANDARD_DEVIATION +#undef PART_CASH_OFFSET_AMOUNT diff --git a/code/modules/research/ordnance/tank_compressor.dm b/code/modules/research/ordnance/tank_compressor.dm index 3a02f51c2be..958770a1d1a 100644 --- a/code/modules/research/ordnance/tank_compressor.dm +++ b/code/modules/research/ordnance/tank_compressor.dm @@ -344,3 +344,7 @@ single_record_data["gases"] += list(initial(gas_path.name) = record.gas_data[gas_path]) data["records"] += list(single_record_data) return data + +#undef TANK_COMPRESSOR_PRESSURE_LIMIT +#undef TANK_COMPRESSOR_MAX_TRANSFER_RATE +#undef SIGNIFICANT_AMOUNT_OF_MOLES diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index b97affd87ca..cb54716675e 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -255,7 +255,9 @@ hdd_wires = 0 deconstruction_state = HDD_OVERLOADED +#undef HDD_CUT_LOOSE +#undef HDD_OVERLOADED #undef HDD_PANEL_CLOSED #undef HDD_PANEL_OPEN #undef HDD_PRIED -#undef HDD_CUT_LOOSE +#undef SERVER_NOMINAL_TEXT diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm index 65128c4ce10..63387e769bc 100644 --- a/code/modules/shuttle/computer.dm +++ b/code/modules/shuttle/computer.dm @@ -233,9 +233,9 @@ possible_destinations += ";[port.shuttle_id]_custom" #undef SHUTTLE_CONSOLE_ACCESSDENIED -#undef SHUTTLE_CONSOLE_ENDGAME -#undef SHUTTLE_CONSOLE_RECHARGING -#undef SHUTTLE_CONSOLE_INTRANSIT -#undef SHUTTLE_CONSOLE_DESTINVALID -#undef SHUTTLE_CONSOLE_SUCCESS -#undef SHUTTLE_CONSOLE_ERROR +#undef SHUTTLE_CONSOLE_ENDGAME +#undef SHUTTLE_CONSOLE_RECHARGING +#undef SHUTTLE_CONSOLE_INTRANSIT +#undef SHUTTLE_CONSOLE_DESTINVALID +#undef SHUTTLE_CONSOLE_SUCCESS +#undef SHUTTLE_CONSOLE_ERROR diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index cd173693d22..722325f0456 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -1160,3 +1160,7 @@ /obj/docking_port/mobile/emergency/on_emergency_dock() return + +#ifdef TESTING +#undef DOCKING_PORT_HIGHLIGHT +#endif diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index 471d13b12e0..c28aaf2731c 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -439,3 +439,5 @@ /obj/effect/decal/hammerandsickle/shuttleRotate(rotation) setDir(angle2dir(rotation+dir2angle(dir))) // No parentcall, rest of the rotate code breaks the pixel offset. + +#undef LUXURY_MESSAGE_COOLDOWN diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 10e42ea85bd..e8e9a2ed404 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -223,3 +223,11 @@ ADD_TRAIT(H, TRAIT_USED_DNA_VAULT, DNA_VAULT_TRAIT) power_lottery[human_weakref] = list() use_power(active_power_usage) + +#undef VAULT_TOXIN +#undef VAULT_NOBREATH +#undef VAULT_FIREPROOF +#undef VAULT_STUNTIME +#undef VAULT_ARMOUR +#undef VAULT_SPEED +#undef VAULT_QUICK diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 9ee0e88b9d6..343c77b084d 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -610,3 +610,5 @@ adapt_light.forceMove(src) REMOVE_TRAIT(unadapted, TRAIT_UNNATURAL_RED_GLOWY_EYES, ORGAN_TRAIT) return ..() + +#undef RGB2EYECOLORSTRING diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index c1d74f8b9b7..c7d5bae076f 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -868,7 +868,7 @@ /obj/item/organ/internal/lungs/lavaland/Initialize(mapload) var/datum/gas_mixture/immutable/planetary/mix = SSair.planetary[LAVALAND_DEFAULT_ATMOS] - if(!mix?.total_moles()) // this typically means we didn't load lavaland, like if we're using #define LOWMEMORYMODE + if(!mix?.total_moles()) // this typically means we didn't load lavaland, like if we're using the LOWMEMORYMODE define return ..() // Take a "breath" of the air diff --git a/code/modules/surgery/organs/stomach/_stomach.dm b/code/modules/surgery/organs/stomach/_stomach.dm index f4d478a7710..3bc55e21e3f 100644 --- a/code/modules/surgery/organs/stomach/_stomach.dm +++ b/code/modules/surgery/organs/stomach/_stomach.dm @@ -283,10 +283,10 @@ if(milk.volume > 50) reagents.remove_reagent(milk.type, milk.volume - 5) to_chat(owner, span_warning("The excess milk is dripping off your bones!")) - body.heal_bodypart_damage(milk_brute_healing * REAGENTS_EFFECT_MULTIPLIER * delta_time, milk_burn_healing * REAGENTS_EFFECT_MULTIPLIER * delta_time) + body.heal_bodypart_damage(milk_brute_healing * REM * delta_time, milk_burn_healing * REM * delta_time) for(var/datum/wound/iter_wound as anything in body.all_wounds) - iter_wound.on_xadone(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + iter_wound.on_xadone(1 * REM * delta_time) reagents.remove_reagent(milk.type, milk.metabolization_rate * delta_time) return ..() diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm index 3a453653698..5138bac9f85 100644 --- a/code/modules/surgery/surgery_step.dm +++ b/code/modules/surgery/surgery_step.dm @@ -241,3 +241,5 @@ to_chat(target, span_userdanger(pain_message)) if(prob(30) && !mechanical_surgery) target.emote("scream") + +#undef SURGERY_SLOWDOWN_CAP_MULTIPLIER diff --git a/code/modules/tgui_panel/telemetry.dm b/code/modules/tgui_panel/telemetry.dm index 70028e2680b..5b30d26ebe9 100644 --- a/code/modules/tgui_panel/telemetry.dm +++ b/code/modules/tgui_panel/telemetry.dm @@ -138,3 +138,6 @@ )) query.Execute() qdel(query) + +#undef TGUI_TELEMETRY_MAX_CONNECTIONS +#undef TGUI_TELEMETRY_RESPONSE_WINDOW diff --git a/code/modules/unit_tests/security_officer_distribution.dm b/code/modules/unit_tests/security_officer_distribution.dm index 67f02282b03..e268aab709f 100644 --- a/code/modules/unit_tests/security_officer_distribution.dm +++ b/code/modules/unit_tests/security_officer_distribution.dm @@ -108,3 +108,4 @@ test("a", list("a", "a", "b", "b", "c", "c", "d", "d"), "a") #undef SECURITY_OFFICER_DEPARTMENTS +#undef SECURITY_OFFICER_DEPARTMENTS_TO_NAMES diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 97eb4d2a08d..d20e6448024 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -1447,3 +1447,5 @@ slogan_list = list("[GLOB.deity] says: It's your divine right to buy!") add_filter("vending_outline", 9, list("type" = "outline", "color" = COLOR_VERY_SOFT_YELLOW)) add_filter("vending_rays", 10, list("type" = "rays", "size" = 35, "color" = COLOR_VIVID_YELLOW)) + +#undef MAX_VENDING_INPUT_AMOUNT diff --git a/code/modules/wiremod/components/utility/router.dm b/code/modules/wiremod/components/utility/router.dm index 640c465f958..b2ad41b5e98 100644 --- a/code/modules/wiremod/components/utility/router.dm +++ b/code/modules/wiremod/components/utility/router.dm @@ -72,3 +72,5 @@ display_name = "Multiplexer" desc = "Copies the input chosen by \"Input Selector\" to the output." output_port_amount = 1 + +#undef WRAPACCESS diff --git a/tgstation.dme b/tgstation.dme index fae77eb3dad..7cd0c5e9e36 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -19,6 +19,7 @@ #include "code\_debugger.dm" #include "code\_experiments.dm" #include "code\world.dm" +#include "code\__DEFINES\_atoms.dm" #include "code\__DEFINES\_bitfields.dm" #include "code\__DEFINES\_click.dm" #include "code\__DEFINES\_globals.dm" @@ -36,6 +37,7 @@ #include "code\__DEFINES\ai.dm" #include "code\__DEFINES\ai_carp.dm" #include "code\__DEFINES\ai_pet_commands.dm" +#include "code\__DEFINES\airlock.dm" #include "code\__DEFINES\alarm.dm" #include "code\__DEFINES\alerts.dm" #include "code\__DEFINES\anomaly.dm" @@ -43,11 +45,13 @@ #include "code\__DEFINES\apc_defines.dm" #include "code\__DEFINES\appearance.dm" #include "code\__DEFINES\aquarium.dm" +#include "code\__DEFINES\area_editor.dm" #include "code\__DEFINES\art.dm" #include "code\__DEFINES\assemblies.dm" #include "code\__DEFINES\assert.dm" #include "code\__DEFINES\atom_hud.dm" #include "code\__DEFINES\basic_mobs.dm" +#include "code\__DEFINES\basketball.dm" #include "code\__DEFINES\blackmarket.dm" #include "code\__DEFINES\blend_modes.dm" #include "code\__DEFINES\blob_defines.dm" @@ -55,7 +59,9 @@ #include "code\__DEFINES\bodyparts.dm" #include "code\__DEFINES\botany.dm" #include "code\__DEFINES\callbacks.dm" +#include "code\__DEFINES\cameranets.dm" #include "code\__DEFINES\cargo.dm" +#include "code\__DEFINES\changeling.dm" #include "code\__DEFINES\chat.dm" #include "code\__DEFINES\chat_filter.dm" #include "code\__DEFINES\cleaning.dm" @@ -68,8 +74,11 @@ #include "code\__DEFINES\configuration.dm" #include "code\__DEFINES\construction.dm" #include "code\__DEFINES\cooldowns.dm" +#include "code\__DEFINES\crafting.dm" +#include "code\__DEFINES\ctf.dm" #include "code\__DEFINES\cult.dm" #include "code\__DEFINES\database.dm" +#include "code\__DEFINES\deadchat_control.dm" #include "code\__DEFINES\devices.dm" #include "code\__DEFINES\directional.dm" #include "code\__DEFINES\diseases.dm" @@ -100,6 +109,7 @@ #include "code\__DEFINES\ghost.dm" #include "code\__DEFINES\gravity.dm" #include "code\__DEFINES\guardian_defines.dm" +#include "code\__DEFINES\holopads.dm" #include "code\__DEFINES\hud.dm" #include "code\__DEFINES\icon_smoothing.dm" #include "code\__DEFINES\id_cards.dm" @@ -176,6 +186,7 @@ #include "code\__DEFINES\resonator.dm" #include "code\__DEFINES\robots.dm" #include "code\__DEFINES\role_preferences.dm" +#include "code\__DEFINES\rotation.dm" #include "code\__DEFINES\roundend.dm" #include "code\__DEFINES\rust_g.dm" #include "code\__DEFINES\rust_g_overrides.dm" @@ -200,11 +211,13 @@ #include "code\__DEFINES\stat.dm" #include "code\__DEFINES\stat_tracking.dm" #include "code\__DEFINES\station.dm" +#include "code\__DEFINES\station_stuck.dm" #include "code\__DEFINES\status_effects.dm" #include "code\__DEFINES\storage.dm" #include "code\__DEFINES\strippable.dm" #include "code\__DEFINES\subsystems.dm" #include "code\__DEFINES\supermatter.dm" +#include "code\__DEFINES\supply_pods.dm" #include "code\__DEFINES\surgery.dm" #include "code\__DEFINES\tcg.dm" #include "code\__DEFINES\text.dm" @@ -1467,7 +1480,6 @@ #include "code\game\gamemodes\game_mode.dm" #include "code\game\gamemodes\objective.dm" #include "code\game\gamemodes\objective_items.dm" -#include "code\game\gamemodes\dynamic\_defines.dm" #include "code\game\gamemodes\dynamic\dynamic.dm" #include "code\game\gamemodes\dynamic\dynamic_hijacking.dm" #include "code\game\gamemodes\dynamic\dynamic_logging.dm" @@ -2763,8 +2775,8 @@ #include "code\modules\atmospherics\machinery\components\binary_devices\volume_pump.dm" #include "code\modules\atmospherics\machinery\components\electrolyzer\electrolyzer.dm" #include "code\modules\atmospherics\machinery\components\electrolyzer\electrolyzer_reactions.dm" +#include "code\modules\atmospherics\machinery\components\fusion\_hfr_defines.dm" #include "code\modules\atmospherics\machinery\components\fusion\hfr_core.dm" -#include "code\modules\atmospherics\machinery\components\fusion\hfr_defines.dm" #include "code\modules\atmospherics\machinery\components\fusion\hfr_fuel_datums.dm" #include "code\modules\atmospherics\machinery\components\fusion\hfr_main_processes.dm" #include "code\modules\atmospherics\machinery\components\fusion\hfr_parts.dm" @@ -2848,7 +2860,6 @@ #include "code\modules\buildmode\submodes\throwing.dm" #include "code\modules\buildmode\submodes\tweakcomps.dm" #include "code\modules\buildmode\submodes\variable_edit.dm" -#include "code\modules\capture_the_flag\_defines.dm" #include "code\modules\capture_the_flag\ctf_classes.dm" #include "code\modules\capture_the_flag\ctf_equipment.dm" #include "code\modules\capture_the_flag\ctf_game.dm" diff --git a/tools/define_sanity/check.py b/tools/define_sanity/check.py new file mode 100644 index 00000000000..e4aab6efbc7 --- /dev/null +++ b/tools/define_sanity/check.py @@ -0,0 +1,93 @@ +import fnmatch +import glob +import os +import re +import sys + +parent_directory = "code/**/*.dm" + +output_file_name = "define_sanity_output.txt" +how_to_fix_message = "Please #undef the above defines or remake them as global defines in the code/__DEFINES directory." + +def green(text): + return "\033[32m" + str(text) + "\033[0m" + +def red(text): + return "\033[31m" + str(text) + "\033[0m" + +def blue(text): + return "\033[34m" + str(text) + "\033[0m" + +def post_error(define_name, file, github_error_style): + if github_error_style: + print(f"::error file={file},title=Define Sanity::{define_name} is defined locally in {file} but not undefined locally!") + else: + print(red(f"- Failure: {define_name} is defined locally in {file} but not undefined locally!")) + +# simple way to check if we're running on github actions, or on a local machine +on_github = os.getenv("GITHUB_ACTIONS") == "true" + +# This files/directories are expected to have "global" defines, so they must be exempt from this check. +# Add directories as string here to automatically be exempt in case you have a non-complaint file name. +excluded_files = [ + # Wildcard directories, all files are expected to be exempt. + "code/__DEFINES/*.dm", + "code/__HELPERS/*.dm", + "code/_globalvars/*.dm", + # TGS files come from another repository so lets not worry about them. + "code/modules/tgs/**/*.dm", +] + +define_regex = re.compile(r"#define\s?([A-Z0-9_]+)\(?(.+)\)?") + +files_to_scan = [] + +if not on_github: + print(blue(f"Running define sanity check outside of Github Actions.\nFor assistance, a '{output_file_name}' file will be generated at the root of your directory if any errors are detected.")) + +for code_file in glob.glob(parent_directory, recursive=True): + exempt_file = False + for exempt_directory in excluded_files: + if fnmatch.fnmatch(code_file, exempt_directory): + exempt_file = True + break + + if exempt_file: + continue + + # If the "base path" of the file starts with an underscore, it's assumed to be an encapsulated file holding references to the other files in its folder and is exempt from the checks. + if os.path.basename(code_file)[0] == "_": + continue + + files_to_scan.append(code_file) + +located_error_tuples = [] + +for applicable_file in files_to_scan: + with open(applicable_file, encoding="utf8") as file: + file_contents = file.read() + for define in define_regex.finditer(file_contents): + define_name = define.group(1) + if not re.search("#undef\s" + define_name, file_contents): + located_error_tuples.append((define_name, applicable_file)) + +if len(located_error_tuples): + + string_list = [] + for error in located_error_tuples: + if not on_github: + post_error(error[0], error[1], False) + string_list.append(f"{error[0]} is defined locally in {error[1]} but not undefined locally!") + else: + post_error(error[0], error[1], True) + + if len(string_list): + with open(output_file_name, "w") as output_file: + output_file.write("\n".join(string_list)) + output_file.write("\n\n" + how_to_fix_message) + + print(red(how_to_fix_message)) + sys.exit(1) + +else: + print(green("No unhandled local defines found."))