Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attack chain migration: /obj/machinery #27784

Merged

Conversation

warriorstar-orion
Copy link
Contributor

@warriorstar-orion warriorstar-orion commented Dec 31, 2024

What Does This PR Do

This PR migrates the /obj/machinery type tree to the new attack chain.

Yes, the PR could have been smaller by not renaming the arguments that were passed in to the legacy methods but 1) not that smaller and 2) it helps me keep track of the code paths that actually interact with the passed in objects.

Why It's Good For The Game

Critical part of attack chain migration.

Testing

The plan is to implement as many of these as possible into game tests without the tests being flaky or taking way too long to run.

Test Plan
  • /obj/machinery/dna_scannernew/item_interaction(...)
  • /obj/machinery/computer/scan_consolenew/item_interaction(...)
  • /obj/machinery/abductor/console/item_interaction(...)
  • /obj/machinery/abductor/gland_dispenser/item_interaction(...)
  • /obj/machinery/abductor/experiment/item_interaction(...)
  • /obj/machinery/nuclearbomb/item_interaction(...)
  • /obj/machinery/pdapainter/item_interaction(...)
  • /obj/machinery/sleeper/item_interaction(...)
  • /obj/machinery/bodyscanner/item_interaction(...)
  • /obj/machinery/access_button/item_interaction(...)
  • /obj/machinery/autolathe/item_interaction(...)
  • /obj/machinery/camera/item_interaction(...)
  • /obj/machinery/cell_charger/item_interaction(...)
  • /obj/machinery/clonepod/item_interaction(...)
  • /obj/machinery/readybutton/item_interaction(...)
  • /obj/machinery/computer/card/item_interaction(...)
  • /obj/machinery/computer/cloning/item_interaction(...)
  • /obj/machinery/computer/borgupload/item_interaction(...)
  • /obj/machinery/computer/aiupload/item_interaction(...)
  • /obj/machinery/computer/med_data/item_interaction(...)
  • /obj/machinery/computer/prisoner/item_interaction(...)
  • /obj/machinery/computer/secure_data/item_interaction(...)
  • /obj/machinery/cryopod/item_interaction(...)
  • /obj/machinery/defibrillator_mount/item_interaction(...)
  • /obj/machinery/door_control/item_interaction(...)
  • /obj/machinery/door/airlock/item_interaction(...)
  • /obj/machinery/door/airlock/plasma/item_interaction(...)
  • /obj/machinery/door/airlock/highsecurity/red/item_interaction(...)
  • /obj/machinery/door/item_interaction(...)
  • /obj/machinery/door/firedoor/item_interaction(...)
  • /obj/machinery/door/window/item_interaction(...)
  • /obj/machinery/doppler_array/item_interaction(...)
  • /obj/machinery/dye_generator/item_interaction(...)
  • /obj/machinery/firealarm/item_interaction(...)
  • /obj/machinery/floodlight/item_interaction(...)
  • /obj/machinery/computer/guestpass/item_interaction(...)
  • /obj/machinery/iv_drip/item_interaction(...)
  • /obj/machinery/item_interaction(...)
  • /obj/machinery/mass_driver_frame/item_interaction(...)
  • /obj/machinery/economy/merch/item_interaction(...)
  • /obj/machinery/navbeacon/item_interaction(...)
  • /obj/machinery/porta_turret/item_interaction(...)
  • /obj/machinery/porta_turret_construct/item_interaction(...)
  • /obj/machinery/recharger/item_interaction(...)
  • /obj/machinery/requests_console/item_interaction(...)
  • /obj/machinery/shieldgen/item_interaction(...)
  • /obj/machinery/shieldwallgen/item_interaction(...)
  • /obj/machinery/shieldwall/syndicate/item_interaction(...)
  • /obj/machinery/space_heater/item_interaction(...)
  • /obj/machinery/suit_storage_unit/item_interaction(...)
  • /obj/machinery/syndicatebomb/item_interaction(...)
  • /obj/machinery/computer/teleporter/item_interaction(...)
  • /obj/machinery/teleport/station/item_interaction(...)
  • /obj/machinery/transformer/gene_applier/item_interaction(...)
  • /obj/machinery/turretid/item_interaction(...)
  • /obj/machinery/economy/vending/item_interaction(...)
  • /obj/machinery/holosign_switch/item_interaction(...)
  • /obj/machinery/washing_machine/item_interaction(...)
  • /obj/machinery/mecha_part_fabricator/item_interaction(...)
  • /obj/machinery/barsign/item_interaction(...)
  • /obj/machinery/grey_autocloner/item_interaction(...)
  • /obj/machinery/shower/item_interaction(...)
  • /obj/machinery/economy/arcade/item_interaction(...)
  • /obj/machinery/prize_counter/item_interaction(...)
  • /obj/machinery/alarm/item_interaction(...)
  • /obj/machinery/atmospherics/item_interaction(...)
  • /obj/machinery/atmospherics/binary/bump/item_interaction(...)
  • /obj/machinery/atmospherics/binary/volume_pump/item_interaction(...)
  • /obj/machinery/atmospherics/trinary/filter/item_interaction(...)
  • /obj/machinery/atmospherics/trinary/mixer/item_interaction(...)
  • /obj/machinery/atmospherics/unary/cryo_cell/item_interaction(...)
  • /obj/machinery/atmospherics/unary/vent_pump/item_interaction(...)
  • /obj/machinery/atmospherics/portable/item_interaction(...)
  • /obj/machinery/computer/account_database/item_interaction(...)
  • /obj/machinery/economy/atm/item_interaction(...)
  • /obj/machinery/fishtank/item_interaction(...)
  • /obj/machinery/bottler/item_interaction(...)
  • /obj/machinery/cooker/item_interaction(...)
  • /obj/machinery/cooker/deepfryer/item_interaction(...)
  • /obj/machinery/gibber/item_interaction(...)
  • /obj/machinery/icemachine/item_interaction(...)
  • /obj/machinery/kitchen_machine/item_interaction(...)
  • /obj/machinery/monkey_recycler/item_interaction(...)
  • /obj/machinery/processor/item_interaction(...)
  • /obj/machinery/smartfridge/item_interaction(...)
  • /obj/machinery/biogenerator/item_interaction(...)
  • /obj/machinery/compost_bin/item_interaction(...)
  • /obj/machinery/plantgenes/item_interaction(...)
  • /obj/machinery/hydroponics/soil/item_interaction(...)
  • /obj/machinery/hydroponics/constructable/item_interaction(...)
  • /obj/machinery/hydroponics/item_interaction(...)
  • /obj/machinery/seed_extractor/item_interaction(...)
  • /obj/machinery/computer/library/item_interaction(...)
  • /obj/machinery/bookbinder/item_interaction(...)
  • /obj/machinery/mineral/labor_points_checker/item_interaction(...)
  • /obj/machinery/mineral/labor_prisoner_shuttle_console/item_interaction(...)
  • /obj/machinery/anomalous_crystal/item_interaction(...)
  • /obj/machinery/mineral/ore_redemption/item_interaction(...)
  • /obj/machinery/mineral/equipment_vendor/item_interaction(...)
  • /obj/machinery/mineral/equipment_vendor/explorer/item_interaction(...)
  • /obj/machinery/mineral/mint/item_interaction(...)
  • /obj/machinery/photocopier/faxmachine/item_interaction(...)
  • /obj/machinery/photocopier/item_interaction(...)
  • /obj/machinery/ticket_machine/item_interaction(...)
  • /obj/machinery/power/apc/item_interaction(...)
  • /obj/machinery/power/terminal/item_interaction(...)
  • /obj/machinery/power/rad_collector/item_interaction(...)
  • /obj/machinery/field/containment/item_interaction(...)
  • /obj/machinery/power/emitter/item_interaction(...)
  • /obj/machinery/particle_accelerator/item_interaction(...)
  • /obj/machinery/atmospherics/supermatter_crystal/item_interaction(...)
  • /obj/machinery/power/grounding_rod/item_interaction(...)
  • /obj/machinery/power/tesla_coil/item_interaction(...)
  • /obj/machinery/power/port_gen/pacman/item_interaction(...)
  • /obj/machinery/power/treadmill/item_interaction(...)
  • /obj/machinery/power/compressor/item_interaction(...)
  • /obj/machinery/power/turbine/item_interaction(...)
  • /obj/machinery/gravity_generator/main/item_interaction(...)
  • /obj/machinery/light/item_interaction(...)
  • /obj/machinery/light/item_interaction(...)
  • /obj/machinery/light_construct/item_interaction(...)
  • /obj/machinery/power/item_interaction(...)
  • /obj/machinery/power/smes/item_interaction(...)
  • /obj/machinery/chem_dispenser/item_interaction(...)
  • /obj/machinery/chem_heater/item_interaction(...)
  • /obj/machinery/chem_master/item_interaction(...)
  • /obj/machinery/computer/pandemic/item_interaction(...)
  • /obj/machinery/reagentgrinder/item_interaction(...)
  • /obj/machinery/conveyor/item_interaction(...)
  • /obj/machinery/disposal/item_interaction(...)
  • /obj/machinery/computer/rnd_backup/item_interaction(...)
  • /obj/machinery/r_n_d/circuit_imprinter/item_interaction(...)
  • /obj/machinery/r_n_d/protolathe/item_interaction(...)
  • /obj/machinery/computer/rdconsole/item_interaction(...)
  • /obj/machinery/r_n_d/scientific_analyzer/item_interaction(...)
  • /obj/machinery/computer/camera_advanced/xenobio/item_interaction(...)
  • /obj/machinery/computer/id_upgrader/item_interaction(...)
  • /obj/machinery/keycard_auth/item_interaction(...)
  • /obj/machinery/computer/emergency_shuttle/item_interaction(...)
  • /obj/machinery/dna_vault/item_interaction(...)
  • /obj/machinery/computer/telescience/item_interaction(...)

Declaration

  • I confirm that I either do not require pre-approval for this PR, or I have obtained such approval and have included a screenshot to demonstrate this below.

Changelog

NPFC

@Drsmail
Copy link
Contributor

Drsmail commented Dec 31, 2024

Are you finishing all your work before the new year? I can't imagine how to review this.

@1080pCat 1080pCat added Code Improvement This PR will improve the code quality of the codebase Large PR This PR will lag you if you try to review it Attack Chain Migration Refactoring of legacy attack chain items labels Dec 31, 2024
@ParadiseSS13-Bot ParadiseSS13-Bot added the -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally label Dec 31, 2024
@warriorstar-orion
Copy link
Contributor Author

warriorstar-orion commented Dec 31, 2024

Are you finishing all your work before the new year? I can't imagine how to review this.

Sadly this is the work that needs to be done before I can start next year's projects. In this particular case, I'm not PRing the kitchen rework before this PR, because the kitchen rework introduces a bunch of additional machines I don't want on the old attack chain.

As to how to review it: very carefully.

@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting review This PR is awaiting review from the review team and removed -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally labels Jan 1, 2025
Copy link
Contributor

@Drsmail Drsmail left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only did 1/3 will finish later + wanna here if i am doind a good job here with my review, please give me feedback so i can adjust.

code/game/machinery/camera/camera.dm Outdated Show resolved Hide resolved
code/game/machinery/computer/law.dm Outdated Show resolved Hide resolved
code/game/machinery/firealarm.dm Show resolved Hide resolved
code/game/machinery/portable_turret.dm Show resolved Hide resolved
code/game/machinery/shieldgen.dm Outdated Show resolved Hide resolved
code/game/machinery/shieldgen.dm Outdated Show resolved Hide resolved
code/game/machinery/spaceheater.dm Outdated Show resolved Hide resolved
code/game/machinery/suit_storage_unit.dm Show resolved Hide resolved
@github-actions github-actions bot added the Merge Conflict This PR is merge conflicted label Jan 6, 2025
@ParadiseSS13-Bot ParadiseSS13-Bot added the Map Edit This PR will modify a map label Jan 10, 2025
@warriorstar-orion warriorstar-orion changed the title [DNM] Attack chain migration: /obj/machinery Attack chain migration: /obj/machinery Jan 20, 2025
code/game/gamemodes/nuclear/nuclearbomb.dm Outdated Show resolved Hide resolved
code/game/machinery/portable_turret.dm Outdated Show resolved Hide resolved
code/modules/paperwork/faxmachine.dm Outdated Show resolved Hide resolved
code/modules/power/engines/supermatter/supermatter.dm Outdated Show resolved Hide resolved
code/modules/telesci/telesci_computer.dm Show resolved Hide resolved
code/modules/research/scientific_analyzer.dm Show resolved Hide resolved
code/modules/power/engines/supermatter/supermatter.dm Outdated Show resolved Hide resolved
code/modules/paperwork/faxmachine.dm Outdated Show resolved Hide resolved
code/modules/hydroponics/biogenerator.dm Show resolved Hide resolved
code/modules/atmospherics/machinery/airalarm.dm Outdated Show resolved Hide resolved
@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting merge This PR is ready for merge and removed -Status: Awaiting review This PR is awaiting review from the review team labels Jan 21, 2025
@Burzah Burzah enabled auto-merge January 24, 2025 20:45
@Burzah Burzah disabled auto-merge January 24, 2025 20:45
@Burzah Burzah added this pull request to the merge queue Jan 24, 2025
@Burzah Burzah removed this pull request from the merge queue due to a manual request Jan 24, 2025
@Burzah Burzah added this pull request to the merge queue Jan 26, 2025
Merged via the queue into ParadiseSS13:master with commit f479ace Jan 26, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-Status: Awaiting merge This PR is ready for merge Attack Chain Migration Refactoring of legacy attack chain items Code Improvement This PR will improve the code quality of the codebase Large PR This PR will lag you if you try to review it Map Edit This PR will modify a map
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants