cmss13 icon indicating copy to clipboard operation
cmss13 copied to clipboard

Attackby refactor to enforce parent proc calls

Open boskoramen opened this issue 1 year ago • 3 comments

Needed to make a few changes in order for attackby flow to be more manageable.

There were more changes I wanted to do (such as datumizing construction states and extracting a lot of attackby functionality to components/elements) but will just do that in a separate CR since base functionality is still mostly comprehensible.

Not entirely sure if I was able to cover every single attackby call, there are over 400 files that needed to be modified and logic was varied across the board. Used mostly regex search and vim macros to cover everything, very fun 😭

About the pull request

Explain why it's good for the game

Shifting our code from having a bunch of inconsistent overrides and control flows to enforcing that signals are sent at base type procs will make refactoring the code to making more use of DCS a lot simpler.

Testing Photographs and Procedure

Given the scope of this change, I don't think it is possible to test every test case by myself on my test server.

Made sure basic things worked:

  • Storing things in backpacks
  • Opening airlocks with items in your hand
  • Adding attachments
  • Reloading weapons
  • Adding attachments
  • Deconstructing some machines
  • Hugging marines with huggers
  • Building and deconstructing barricades
  • Handling tables and racks
  • Putting beakers in chem machines This is not comprehensive of what was tested but again, cannot really foresee any oversights needs to be TM'd.

Changelog

:cl: TheDonkified fix: Fixed runtime when cryoing human-subtyped mobs without jobs such as monkeys and farwa fix: Fixed issue with supplymarker landmarks not working properly when spawned refactor: Refactored attackby to enforce parent proccalls (specifically so registered signals are always called) refactor: Added ignitable element, setup for cigarettes, pipes, cigars, and candles at the moment refactor: Added igniting element, setup for things that can light cigarettes, pipes, cigars, and candles such as flamers, lighters, etc refactor: Added writable writing elements, setup for body bags, paper, beakers, airlock assemblies, and other items that interact with pens (and crayons) refactor: Added writing elements, setup for pens and crayons /:cl:

boskoramen avatar Sep 08 '24 07:09 boskoramen

This pull request has conflicts, please resolve those before we can evaluate the pull request.

cm13-github avatar Sep 14 '24 05:09 cm13-github

Conflicts have been resolved. A maintainer will review the pull request shortly.

cm13-github avatar Sep 16 '24 10:09 cm13-github

This pull request has conflicts, please resolve those before we can evaluate the pull request.

cm13-github avatar Oct 05 '24 12:10 cm13-github

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

cmss13-ci[bot] avatar Oct 27 '24 00:10 cmss13-ci[bot]

going to try atomizing parts of this PR

boskoramen avatar Oct 30 '24 05:10 boskoramen