The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like
This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
* kill BANG_PROTECT_2
* let's put this back in
* dirty
* kill OMNITONGUE_2
This is a write-only variable, probably leftover from some refactor years ago
* kill flags_2
* It works, but is it worth it?
* bitfield helpers take 1
* Would this work?
* remove dangling debug code
* rebase & fixes
* vv bitfield stuff, reading
* DNM oceans of shitcode DNM
* honk
* honk2
* plonk
* rebase & fix
* First part of Assmos
* Adds tritium synthesis and basic in-body effects.
* Begins adding the higher tier gases. Removes Freon(not completely yet) adds new gases to scrubers. Fixes some dumb bugs.
* Whoops
* Adds effects and synthesis reactions for pluoxium and stimulum
* Kills Freon.
* Adds sprites
* Removes the magic numbers
* Hyper-Nobelium formation
* Removes Freon from maps.
* Initial Dunc Review changes
* Should ACTUALLY fix the maps this time.
* Dunc Final Review
* Debugging part 1
* Fixes brown gas synthesis
* Auto stash before merge of "assmos-pathconflicts" and "origin/master"
* fix compile errors
* Moves defines. Fixes stimulum coefficents.
* Reworks how Stim and brown gas work, adds tritium to tile fires, fixes a lot of general reaction bugs.
* fixes typo
* Hopefully fixes UI
* compiles tgui
* Tritium balance.
* Grammar fixes to atom descriptions
- Capitalization and punctuation on most descriptions
- CentCom instead of centcom where appropriate
- Earth instead of earth where appropriate
* Remove spaces before newlines and oneline some strings
Shouldn't break anything, stops warning spam, logs errors qdel style at the end of the game.
Initialize now expects a hint to be returned, one of:
INITIALIZE_HINT_NORMAL - Does nothing, returned by the root proc
INITIALIZE_HINT_LATELOAD - Call atom/proc/LateInitialize
INITIALIZE_HINT_QDEL - Calls qdel on the atom
LateInitialize currently defaults to the old re-calling behavior so there should be no issues with that.
Things that didn't return a hint or fucked up somehow will be logged less loudly than they were before
No more world start warnings!