mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-20 18:47:20 +01:00
* Handle runtimes during the Initialize chain in InitAtom and the admin atom spawn verb InitAtom now qdeletes any atom with an unhandled exception in Initialise. This ensures no broken atoms become visible to players. This allows atoms to safely throw inside Initialise to signal something being very wrong. Before this they had to continue running to return INITIALIZE_HINT_QDEL. * introduce system for catching accidental spawning of base type atoms atom/Initialize checks if the description is the sentinel value defined in ABSTRACT_BASE_TYPE. If it is, it throws an exception. This is advantageous because it logs the callstack and causes InitAtom to immediately qdelete the atom. * introduce burgers to the system for catching abstract base type spawning * still spawn items, even when they runtime during Initialize Quote by Contrabang: "things should never fail to spawn when new'd" Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Signed-off-by: Kenionatus <kenionatus@techie.com> * use QDELETED insted of QDELETING in case it already got fully deleted I don't think it would ever happen, because we still hold a reference with A, but never hurts to be safe. Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Signed-off-by: Kenionatus <kenionatus@techie.com> * use stack_trace for consistency with the rest of the codebase and change message We no longer delete the atom, so the message should reflect that. Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Signed-off-by: Kenionatus <kenionatus@techie.com> * remove check for incorrect define Should be caught in review when that is used. * remove the test for qdeleting atoms in admin item spawning again It's practically pointless now that we no longer qdelete spawned base types. * rename ABSTRACT_BASE_TYPE to ABSTRACT_TYPE_DEC It's more descriptive. (Hah, pun.) * restore annihliated newline --------- Signed-off-by: Kenionatus <kenionatus@techie.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>