Construction datum changes.
Created by: ComicIronic
Changed terms into defines. Added a general busy check, for future use. Added a system for object permanence and general item usage and deletion, instead of snowflake custom_action stuff for deleting and spawning items. Made it possible to partially complete a stage like adding a stack to something. So you can now run out of cable coil, and it will remember that. Added possibility for multiple-choice build stages. Ported amount system and message system from reversible2. Removed lots of redundant code in mech construction, more is done by procs now. Separated a file out because it was getting too hard to read. Mostly putting this up for a code review.
Some notes;
- This lets you take multiple possibilities for a single construction step, but more importantly store the atom used in construction to refer to later. This gives the potential for stuff like changing features of the completed construction based on the item used.
- There are now general systems for deleting, storing, creating, delaying, and generally modifying construction steps, as well as a general busy check. This means we can convert more existing code to use construction datums.
TODO:
-
Change spacepod construction to be under construction/reversible -
Add system for custom do_after delays -
Test all mech construction - it basically works, but I want to be sure.