Bugfix batch (Pesticide Edition) (#21556)

Fixes https://github.com/Aurorastation/Aurora.3/issues/18504
Fixes https://github.com/Aurorastation/Aurora.3/issues/21064
Fixes https://github.com/Aurorastation/Aurora.3/issues/21267
Fixes https://github.com/Aurorastation/Aurora.3/issues/21455
Fixes https://github.com/Aurorastation/Aurora.3/issues/21535

Miscellaneous bugfixes, code cleanup, etc. Smaller batches this time.

changes:
  - spellcheck: "Renames 'gibber' to 'autobutcher'."
  - code_imp: "Cleans up a lot of old autobutcher code."
- code_imp: "Simplifies and unifies a lot of circuit board naming code."
  - code_imp: "Updates various code comments to DMDocs format."
- balance: "Slightly increased damage of beating someone with a ladder."
- bugfix: "Fixes foreign speech displaying the translated versions in
langchat for non-fluent listeners."
- bugfix: "Fixes whispered speech langchat; whispers are now correctly
italicized."
- bugfix: "Fixes shouted speech langchat; shouts are now correctly
biggified."
  - bugfix: "Adds missing Omni Gas Mixer, Gas Meter options from RFD-P."
- bugfix: "Adds missing circuit boards for bioballistic delivery system,
lysis-isolation centrifuge, and autobutcher to allow for construction
and deconstruction."
- bugfix: "Fixes empty algae chips bag having description set for its
name."
- bugfix: "Adds fallback_specific_heat values to several reagents that
were missing them."
- bugfix: "Fixes antimateriel projectiles being erroneously
damage-capped when hitting walls."
- bugfix: "Fixes laser beam effects not using the base colors of their
beam VFX."
- qol: "Added helpful feedback hint to move closer when someone speaks
aloud within 4 tiles while you're in vacuum (as features go, this one
felt more like a bug to experience)."
  - qol: "Updated various examine hints."

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
This commit is contained in:
Batrachophreno
2025-11-11 10:56:12 +00:00
committed by GitHub
parent cc8e3019ad
commit af0312c7d4
67 changed files with 559 additions and 432 deletions
@@ -68,7 +68,7 @@
/obj/effect/projectile/impact/emitter
icon_state = "impact_emitter"
light_color = LIGHT_COLOR_GREEN
light_color = COLOR_SPRING_GREEN
/obj/effect/projectile/impact/tachyon
name = "xray impact"
@@ -60,7 +60,7 @@
/obj/effect/projectile/muzzle/emitter
icon_state = "muzzle_emitter"
light_color = LIGHT_COLOR_GREEN
light_color = COLOR_SPRING_GREEN
/obj/effect/projectile/muzzle/bullet
icon_state = "muzzle_bullet"
@@ -4,7 +4,9 @@
var/datum/point/midpoint = point_midpoint_points(starting, ending)
var/obj/effect/projectile/tracer/PB = new beam_type
if(isnull(light_color_override))
light_color_override = color
if(isnull(PB.light_color))
light_color_override = color
else light_color_override = PB.light_color
PB.apply_vars(angle_between_points(starting, ending), midpoint.return_px(), midpoint.return_py(), color, pixel_length_between_points(starting, ending) / world.icon_size, midpoint.return_turf(), 0)
. = PB
if(light_range > 0 && light_intensity > 0)
@@ -90,7 +92,7 @@
/obj/effect/projectile/tracer/emitter
icon_state = "emitter"
light_color = LIGHT_COLOR_GREEN
light_color = COLOR_SPRING_GREEN
/obj/effect/projectile/tracer/tachyon
name = "particle beam"
+2 -1
View File
@@ -452,5 +452,6 @@
icon_state = "mac_trash_fiery"
/obj/item/trash/algaechips
name = "It looks like someone left some strands of algae in it."
name = "empty algae chips bag"
desc = "It looks like someone left some strands of algae in it."
icon_state = "algaechips"
+19 -12
View File
@@ -778,7 +778,9 @@ ABSTRACT_TYPE(/obj/item/rfd)
"Pressure Regulator" = PIPE_PASSIVE_GATE,
"High Power Gas Pump" = PIPE_VOLUME_PUMP,
"Gas Filter" = PIPE_GAS_FILTER_M,
"Omni Gas Filter" = PIPE_OMNI_FILTER
"Omni Gas Filter" = PIPE_OMNI_FILTER,
"Omni Gas Mixer" = PIPE_OMNI_MIXER,
"Gas Meter" = "gasmeter"
)
/obj/item/rfd/piping/mechanics_hints(mob/user, distance, is_adjacent)
@@ -797,13 +799,13 @@ ABSTRACT_TYPE(/obj/item/rfd)
if(istype(get_area(A), /area/shuttle) || istype(get_area(A), /turf/space))
to_chat(user, SPAN_WARNING("You can't materialize a pipe here!"))
return FALSE
var/turf/T = get_turf(A)
if(!is_station_level(T.z))
var/turf/target_turf = get_turf(A)
if(!is_station_level(target_turf.z))
to_chat(user, SPAN_WARNING("You can't materialize a pipe on this level!"))
return FALSE
return do_pipe(T, user)
return do_pipe(target_turf, user)
/obj/item/rfd/piping/proc/do_pipe(var/turf/T, var/mob/user)
/obj/item/rfd/piping/proc/do_pipe(var/turf/target_turf, var/mob/user)
if(working)
return FALSE
@@ -816,21 +818,26 @@ ABSTRACT_TYPE(/obj/item/rfd)
playsound(get_turf(src), 'sound/items/rfd_start.ogg', 50, FALSE)
working = TRUE
user.visible_message(SPAN_NOTICE("[user] holds \the [src] towards \the [T]."), SPAN_NOTICE("You start laying down a pipe..."))
user.visible_message(SPAN_NOTICE("[user] holds \the [src] towards \the [target_turf]."), SPAN_NOTICE("You start laying down a pipe..."))
if((build_delay && !do_after(user, build_delay)) || (!useResource(build_cost, user)))
playsound(get_turf(src), 'sound/items/rfd_interrupt.ogg', 50, FALSE)
working = FALSE
return FALSE
if(build_delay && !can_use(user, T))
if(build_delay && !can_use(user, target_turf))
return FALSE
// Special case handling for bent pipes. They require a non-cardinal direction
var/pipe_dir = NORTH
if(selected_pipe in list(PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_FUEL_BENT, PIPE_AUX_BENT))
pipe_dir = NORTHEAST
new /obj/item/pipe(T, selected_pipe, pipe_dir)
// Special case for meters- technically it's not a pipe, we can't create a new /obj/item/pipe. Duh.
if(selected_pipe == "gasmeter")
new /obj/item/pipe_meter(target_turf)
else
// Special case handling for bent pipes. They require a non-cardinal direction
var/pipe_dir = NORTH
if(selected_pipe in list(PIPE_SIMPLE_BENT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_BENT, PIPE_FUEL_BENT, PIPE_AUX_BENT))
pipe_dir = NORTHEAST
new /obj/item/pipe(target_turf, selected_pipe, pipe_dir)
playsound(get_turf(src), 'sound/items/rfd_end.ogg', 50, FALSE)
working = FALSE
@@ -1,9 +1,3 @@
//Define a macro that we can use to assemble all the circuit board names
#ifdef T_BOARD
#error T_BOARD already defined elsewhere, we can't use it.
#endif
#define T_BOARD(name) "" + "circuit board " + "(" + (name) + ")"
/obj/item/circuitboard
name = "circuit board"
desc = "A circuitboard, an electronic device which forms the backbone of most modern machinery."
@@ -18,12 +12,6 @@
throw_speed = 3
throw_range = 15
var/build_path
/**
* The type of board
*
* One of the BOARD_* defines, see `code\game\objects\items\weapons\circuitboards\_defines.dm`
*/
var/board_type = BOARD_COMPUTER
var/list/req_components
var/contain_parts = 1
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/air_management
name = T_BOARD("atmosphere monitoring console")
build_path = /obj/machinery/computer/general_air_control
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/security
name = T_BOARD("security camera monitor")
build_path = /obj/machinery/computer/security
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/message_monitor
name = T_BOARD("message monitor console")
build_path = /obj/machinery/computer/message_monitor
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/holodeckcontrol
name = T_BOARD("holodeck control console")
build_path = /obj/machinery/computer/holodeck_control
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/rdconsole
name = T_BOARD("R&D control console")
build_path = /obj/machinery/computer/rdconsole/core
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/comm_monitor
name = T_BOARD("telecommunications monitor console")
build_path = /obj/machinery/computer/telecomms/monitor
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/biogenerator
name = T_BOARD("biogenerator")
build_path = /obj/machinery/biogenerator
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/chem_heater
name = T_BOARD("chem heater")
build_path = /obj/machinery/chem_heater
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/clonepod
name = T_BOARD("clone pod")
build_path = /obj/machinery/clonepod
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/bluespacerelay
name = T_BOARD("bluespacerelay")
build_path = /obj/machinery/bluespacerelay
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/mech_recharger
name = T_BOARD("mech recharger")
build_path = /obj/machinery/mech_recharger
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/miningdrill
name = T_BOARD("mining drill head")
build_path = /obj/machinery/mining/drill
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
//Stuff that doesn't fit into any category goes here
/obj/item/circuitboard/aicore
@@ -196,7 +192,7 @@
"/obj/item/stock_parts/manipulator" = 1,
"/obj/item/stock_parts/scanning_module" = 1)
/obj/item/circuitboard/oxyregenerator
name = "circuit board (oxygen regenerator)"
name = T_BOARD("oxygen regenerator")
build_path = /obj/machinery/atmospherics/binary/oxyregenerator
board_type = BOARD_MACHINE
origin_tech = list(TECH_MAGNET = 2, TECH_ENGINEERING = 2)
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/portgen
name = T_BOARD("portable generator")
build_path = /obj/machinery/power/portgen/basic
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/smes
name = T_BOARD("superconductive magnetic energy storage")
build_path = /obj/machinery/power/smes/buildable
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/recharge_station
name = T_BOARD("cyborg recharging station")
build_path = /obj/machinery/recharge_station
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/rdserver
name = T_BOARD("R&D server")
build_path = /obj/machinery/r_n_d/server
@@ -63,7 +59,7 @@
"/obj/item/reagent_containers/glass/beaker" = 2)
/obj/item/circuitboard/mechfab
name = "Circuit board (Exosuit Fabricator)"
name = T_BOARD("mechatronic fabricator")
build_path = /obj/machinery/mecha_part_fabricator
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 3, TECH_ENGINEERING = 3)
@@ -85,7 +81,7 @@
"/obj/item/stock_parts/console_screen" = 1)
/obj/item/circuitboard/ntnet_relay
name = "Circuit board (NTNet Quantum Relay)"
name = T_BOARD("NTNet Quantum Relay")
build_path = /obj/machinery/ntnet_relay
board_type = BOARD_MACHINE
origin_tech = list(TECH_DATA = 4)
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/shield_gen_ex
name = T_BOARD("hull shield generator")
board_type = BOARD_MACHINE
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/telecomms
board_type = BOARD_MACHINE
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/crusher
name = T_BOARD("crusher")
build_path = /obj/machinery/crusher_base
@@ -1,9 +1,5 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/cargo_trolley
name = T_BOARD("cargo trolley")
name = T_BOARD("cargo trolley controller")
build_path = /obj/vehicle/train/cargo/trolley
board_type = BOARD_MACHINE
origin_tech = list(TECH_ENGINEERING = 2)
@@ -1,7 +1,3 @@
#ifndef T_BOARD
#error T_BOARD macro is not defined but we need it!
#endif
/obj/item/circuitboard/unary_atmos
board_type = BOARD_MACHINE
var/machine_dir = SOUTH
@@ -1,8 +1,3 @@
#ifdef T_BOARD_MECHA
#error T_BOARD_MECHA already defined elsewhere, we can't use it.
#endif
#define T_BOARD_MECHA(name) "" + "exosuit module circuit board " + "(" + (name) + ")"
/obj/item/circuitboard/mecha
name = "exosuit circuit board"
icon = 'icons/obj/module.dmi'
@@ -13,23 +13,23 @@
origin_tech = list(TECH_DATA = 4)
/obj/item/circuitboard/rig_assembly/civilian/industrial
name = "industrial suit central circuit board"
name = T_BOARD_HARDSUIT("industrial")
/obj/item/circuitboard/rig_assembly/civilian/eva
name = "EVA suit central circuit board"
name = T_BOARD_HARDSUIT("EVA")
/obj/item/circuitboard/rig_assembly/civilian/eva/pilot
name = "pilot suit central circuit board"
name = T_BOARD_HARDSUIT("pilot")
/obj/item/circuitboard/rig_assembly/civilian/ce
name = "advanced void suit central circuit board"
name = T_BOARD_HARDSUIT("advanced void")
origin_tech = list(TECH_DATA = 5)
/obj/item/circuitboard/rig_assembly/civilian/hazmat
name = "AMI suit central circuit board"
name = T_BOARD_HARDSUIT("AMI")
/obj/item/circuitboard/rig_assembly/civilian/medical
name = "rescue suit central circuit board"
name = T_BOARD_HARDSUIT("rescue")
/////////////////////
////COMBAT BOARDS////
@@ -42,27 +42,27 @@
origin_tech = list(TECH_DATA = 5, TECH_COMBAT = 4)
/obj/item/circuitboard/rig_assembly/combat/hazard
name = "hazard hardsuit central circuit board"
name = T_BOARD_HARDSUIT("hazard")
origin_tech = list(TECH_DATA = 4)
/obj/item/circuitboard/rig_assembly/combat/targeting/hazard
name = "hazard hardsuit control and targeting board"
name = T_BOARD_HARDSUIT_TARGETING("hazard")
origin_tech = list(TECH_DATA = 4, TECH_COMBAT = 4)
/obj/item/circuitboard/rig_assembly/combat/combat
name = "combat hardsuit central circuit board"
name = T_BOARD_HARDSUIT("combat")
origin_tech = list(TECH_DATA = 7)
/obj/item/circuitboard/rig_assembly/combat/targeting/combat
name = "combat hardsuit control and targeting board"
name = T_BOARD_HARDSUIT_TARGETING("combat")
origin_tech = list(TECH_DATA = 7, TECH_COMBAT = 6)
/obj/item/circuitboard/rig_assembly/combat/falcata
name = "falcata exoskeleton central circuit board"
name = T_BOARD_HARDSUIT("falcata exoskeleton")
origin_tech = list(TECH_COMBAT = 1)
/obj/item/circuitboard/rig_assembly/combat/targeting/falcata
name = "falcata exoskeleton control and targeting board"
name = T_BOARD_HARDSUIT_TARGETING("falcata exoskeleton")
origin_tech = list(TECH_COMBAT = 1)
//////////////////////
@@ -76,16 +76,16 @@
origin_tech = list(TECH_DATA = 7, TECH_COMBAT = 4, TECH_ILLEGAL = 4)
/obj/item/circuitboard/rig_assembly/illegal/hacker
name = "cybersuit hardsuit central circuit board"
name = T_BOARD_HARDSUIT("cybersuit")
/obj/item/circuitboard/rig_assembly/illegal/targeting/hacker
name = "cybersuit hardsuit control and targeting board"
name = T_BOARD_HARDSUIT_TARGETING("cybersuit")
/obj/item/circuitboard/rig_assembly/illegal/stealth
name = "stealth hardsuit central circuit board"
name = T_BOARD_HARDSUIT("stealth")
origin_tech = list(TECH_DATA = 7, TECH_ILLEGAL = 6)
/obj/item/circuitboard/rig_assembly/illegal/targeting/stealth
name = "stealth hardsuit control and targeting board"
name = T_BOARD_HARDSUIT_TARGETING("stealth")
origin_tech = list(TECH_DATA = 7, TECH_COMBAT = 6, TECH_ILLEGAL = 6)