This is a list of explanations for everything in this mod.
Words are in order of text type and object list (related verbs will break this order). All others will either be sorted alphanumerically or randomly.

POTENTIAL PROBLEMS:
	Global ox & oy:			MORE, LESS, FILL, FLOOD, and SPLIT use some random ox and oy global.
	Undoing:				There might be cases in which undoing will not properly set the values for some entry types.
		To prevent this from happening, these entries are updated whenever: addundo() is called, they are not the special entries or it is QW_CONSTANTCHECK_SPECIAL.
		This sets the values' undo states before adding the aforementioned entry.
	Incompatibility:	The mod might be incompatible to other mods when trying to merge, in which case it needs to be slightly modified.
		All Lua files in the Lua folder are different from the vanilla files.
		Copyable files:		The following files can be copied with no problem.
			letter_add_to_objlist.lua
			normobj_add_to_objlist.lua
			placeholderobj_add_to_objlist.lua
			QW_SETTINGS.lua
			specialobj_add_to_objlist.lua
		There are additionally several functions in tools.lua that can safely be copied over (as long as function names do not contradict):
			istrapped()
			isfocus()
			articleallows()
			canyearn()
			canflee()
			filterarrays()
			getdirection()
			getpositionnames()
		There are additionally a few functions in syntax.lua that can safely be copied over (as long as function names do not contradict):
			checkarticle()
			getunusedarticleunits()
		Custom conditions in conditions.lua can safely be copied over (as long as condition names do not overlap).
----

FAILSTATES:
	MATHHUGE:				Displays as UNDEFINED VALUDE with both words appearing simultaneously.
		NOT RARER is used enough to result in using modulus by a value below the lowest pseudo.
	DIVIDEDBYZERO:			Displays as DIVIDED BY ZERO with an infinity animation above.
		NOT RARER is used enough to result in using modulus by a value equal to the lowest pseudo.
		If "fixedrandom()"'s "high" parameter is smaller or equal to 0.
	----
----

WORDS:
	NOUNS:
		GAME:				Has special interactions; many limits.
			X IS GAME is invalid.
			GAME cannot be an infix parameter.
			
			GAME IS X:
				General:
					GAME
					NOTHING
					
					START
					END
				
				Automatic input:
					AUTO
					AUTORIGHT
					AUTOUP
					AUTOLEFT
					AUTODOWN
					
					AUTORIGHTOF
					AUTOAHEAD
					AUTOLEFTOF
					AUTOBEHIND
				
				Special:
					ERROR
					INFINITE
					COMPLEX
				
				Crashers:
					NOT GAME
					EMPTY
					CLOSE
					DONE
		SEEDING:			Affects the outcome of randomness in levels by manipulating fixedrandom() and related functions; many limits.
			X IS SEEDING is invalid.
			SEEDING cannot be an infix parameter.
			
			SEEDING IS X:
				General:
					SEEDING
					NOT SEEDING:		Disables the effects of SEEDING IS RANDOM/STEADY/SAME.
				
				Seeding type:
					RANDOM:				seedingtype=0.
					STEADY:				seedingtype=1.
					SAME:				seedingtype=2.
		Metatext:
			IS
			AND
			NOT
	----

	VERBS:
		BE:					Accepts nouns and properties; no effect.
		BECOME:				Transforms objects; overrides preventive measures.
		FEEL:				Makes objects specific properties; overrides preventive measures.
		FLEE:				"X FLEE Y" pathfinds X to the farthest tile away from Y with a breadth-first search approach. Will continue to attempt moving even if destination has been reached. Stays still if target cannot be reached due to collision or if the farthest tile is adjacent. EMPTY has no interaction with this verb.
		IMITATE:			MIMIC that ignores MIMIC and IMITATE tags allowing for cross-mimicking.
		ISIN:				"X ISIN Y" is like "Y HAS X". Does not trigger HAVING.
		YEARN:				"X YEARN Y" pathfinds X to Y with a breadth-first search approach. Stays still if target cannot be reached due to collision. EMPTY has no interaction with this verb.
	----
	
	PROPERTIES			BACK may not obey some of these.
		COLOUR:				"X IS COLOUR" makes the first valid parameter (valid meaning it isn't already ignored by a different COLOUR instance) from "X COLOURED Y" true. "X COLOURED COLOUR" accepts any color property.
		HOT2 & MELT2:		Self-explanatory.
		HOT3 & MELT3:		Self-explanatory.
		HOLD:				Refined version of HOLD from Museum that obeys STILL and LOCKED.
		FILL:				Recursive MORE that spreads to tiles that have whatever the FILL object has on its tile apart from itself (extra objects on the tile it is spreading to does not matter). Unique objects and text are taken into account.
		FLOOD:				Similar to FILL in that general objects and text are taken into account and must not be the same name.
		FOCUS:				Property that prevents objects from changing its facing direction. Remembers if RIGHT/UP/LEFT/DOWN as well as TURN/DETURN/FLIPTURN/NOTURN was applied while FOCUS was active and applies them once FOCUS is broken, even if those statements were broken before the latter.
		LESS:				Destroys an objects that would spread if it was MORE. Applies after MORE.
		SOLID:				Acts as STOP except for movement caused by YOU/YOU2/3D and further movement caused by that PUSH/PULL.
		SPARK & IGNITE:		When a SPARK object is next to an IGNITE object, it will BOOM itself as well as any adjacent (non-diagonal) SPARK objects. Both obey FLOAT.
		CLEAR:				Makes non-movement checks ignore solidity.
		COMBUST:			Self-destruction property. Triggers HAS and ISIN.
		NOTHING:			Prevents any transformation-type property, overriding NOT, NOTprops, and REVERT.
		PRICKLY:			Destroys objects that overlap, like a reverse WEAK. Applies (usually) before (or if not, at the same time as) WEAK. Obeys FLOAT.
		NOTURN:				DETURNs the object 4 times.
		FLIPTURN:			TURNs the object 2 times.
		TRAP:				Objects on the TRAP object will only be able to traverse onto tiles that are also TRAP.
		Dir AUTOs:			Basically like NUDGE but changes direction, also has LEVEL IS AUTO interactions that automatically inputs right/up/left/down with a precedence order of idle, verticality, then horizontality.
			AUTODOWN
			AUTORIGHT
			AUTOUP
			AUTOLEFT
		SPLITs:				Acts like MORE but destroys the original, ignores collision except for EMPTY, and multiple SPLITs in a certain direction will duplicate that amount away.
			SPLIT:				Acts like SPLITDOWN, SPLITRIGHT, SPLITUP, and SPLITLEFT at the same time.
			SPLITDOWN
			SPLITRIGHT
			SPLITUP
			SPLITLEFT
		Dir^2 properties:	Properties that use the object's facing direction to determine the direction of the property.
			FALL:
				FALLBEHIND
				FALLRIGHTOF
				FALLAHEAD
				FALLLEFTOF
			NUDGE:
				NUDGEBEHIND
				NUDGERIGHTOF
				NUDGEAHEAD
				NUDGELEFTOF
			AUTO:
				AUTOBEHIND
				AUTORIGHTOF
				AUTOAHEAD
				AUTOLEFTOF
			LOCKED:
				LOCKEDBEHIND
				LOCKEDRIGHTOF
				LOCKEDAHEAD
				LOCKEDLEFTOF
		Pseudo:				These properties use seedingtype=1 randomness to determine random aspects.
			PSEUDOTELE
			PSEUDOCHILL
		
		ERROR:				"X IS ERROR" is like "X IS NOT X". Overrides NOTHING. GAME IS ERROR throws a Lua error.
		Seeding:			Only allowed in rules with SEEDING as the object. Precedence order is RANDOM, STEADY, then SAME. Although it can be overridden by stacking.
			RANDOM:				seedingtype=0.
			STEADY:				seedingtype=1.
			SAME:				seedingtype=2.
		CLOSE:				Closes the current level and moves up in the level tree when overlapped by a YOU object, is a YOU object, or LEVEL IS CLOSE. Alternatively, GAME IS CLOSE crashes the game.
		COMPLEX:			Triggers TOO COMPLEX failstate when overlapped by a YOU object, is a YOU object, or LEVEL/GAME IS COMPLEX.
		EDGE:				Makes the object act like the level edge.
		INFINITE:			Triggers INFINITE LOOP failstate when overlapped by a YOU object, is a YOU object, or LEVEL/GAME IS INFINITE.
		PATH:				Allows SELECT objects to move onto it if it is not HIDE.
		START:				Restarts the level when overlapped by a YOU object, is a YOU object, or LEVEL IS START.
		NOTprops:			Properties that negate its regular counterpart but can also be used to negate rule with NOT and the regular property.
			NOTYOU
			NOTPUSH
			NOTPULL
			NOTSTOP
			NOTMOVE
			NOTSHIFT
			NOTDEFEAT
			NOTHOT
			NOTMELT
			NOTOPEN
			NOTSHUT
			NOTSINK
			NOTFLOAT
			NOTWEAK
			NOTWIN
			NOTEND
	----

	PREFIXES:
		2D:					True if there is no valid "X IS 3D" rule active or if its Z-layer is above 20.
		-WARDs:				Acts like IDLE for right, up, left, and down inputs.
			RIGHTWARD
			UPWARD
			LEFTWARD
			DOWNWARD
		ALWAYS:				Forces the rule to be true, ignoring any other conditions apart from ALWAYS. NOT ALWAYS is NEVER_.
		NEVER_:				Forces the rule to be false, ignoring any other conditions apart from NEVER_. NOT NEVER_ is ALWAYS.
		Chance:				Acts like OFTEN and SELDOM but with different chances.
			MAYBE
			RARELY
		Pseudo:				Rules that only happen every X turn(s) for each group of Y turns. When loading into the level, it is already the first turn.
			PSEUDOOFTEN:		Returns true for the 1st, 2nd, and 3rd turns for each group of 4 turns.
			PSEUDOSELDOM:		Returns true for the 1st turn for each group of 6 turns.
			PSEUDOMAYBE:		Returns true for the 1st turn for each group of 2 turns.
			PSEUDORARELY:		Returns true for the 1st turn for each group of 10 turns.
		Adjustors:			Adjusts the numerator and denominator of Pseudo prefixes in the same rule in some way.
			RARER:				Increments all turn group numbers by 1 if RARER and decrements by 1 if NOT RARER. Triggers DIVIDEDBYZERO
			SETOFF:				Shifts all numerator values by 1 if SETOFF and by -1 if NOT SETOFF.
		STUCK:				True if the object can't pathfind while FLEE or YEARN are active.
	----

	INFIXES:
		OFFOF:				Parses as "NOT ON".
		ALIGNED:			"X ALIGNED Y" is true if Y is on the same row or column as X, such as a rook in chess.
		AWAY:				Parses as "NOT NEAR".
		ASLANT:				"X ASLANT Y" is true if Y is diagonal to X, such as a bishop in chess.
		LATCHED:			"X ASLANT Y" is true if Y is 2 spaces away from the tiles adjacent (non-diagonal, not on) to X with a 90 degree turn, such as a knight in chess.
		FACEDBY:			"X FACEDBY Y" is true if "Y FACING X" would be true.
		SEENBY:				"X SEENBY Y" is true if "Y SEEING X" would be true.
		WITH:				Parses as "NOT WITHOUT".
		COLOURED:			"X COLOURED RED" is true if X is red and X is not a different color property apart from red, "X IS RED", "X IS GREEN AND RED", "X IS COLOUR", or "X IS GREEN AND COLOUR".
		Directional^2:		Acts like ABOVE/BELOW/BESIDELEFT/BESIDERIGHT according to the object's direction.
			AHEAD:				Directional ABOVE.
			BEHIND:				Directional BELOW
			LEFTOF:				Directional BESIDELEFT
			RIGHTOF:			Directional BESIDERIGHT
		-ing:				FEELING but for the other verbs. Only senses the rules and does not check if the level has (or does not have) the specified parameter(s).
			BEING:				Detects IS and BE.
			BECOMING:			Detects IS and BECOME.
			HAVING
			EATING
			FEARING
			FLEEING
			FOLLOWING
			MAKING
			MIMICKING
			IMITATING
			PLAYING:			Unspecified octave parameter allows any octave; unspecified octave rules validate 5th octave.
			WRITING
			YEARNING
	----

	LETTERS:			Note that these only affect/are affected by letter text types.
		FRONTSPACE:			Makes the letters that amount of FRONTSPACES after a chain parse as WHITESPACE.
		BACKSPACE:			Makes the letters that amount of BACKSPACES before a chain parse as WHITESPACE.
		CONSONANT:			Parses as all letter objects that begin with a consonant + Y that also exist in the object list.
		VOWEL:				Parses as all letter objects that begin with a vowel + Y that also exist in the object list.
		NUMBER:				Parses as all letter objects that are numbers that also exist in the object list.
		BLANK:				Parses as all letter objects that exist in the object list and are not FRONTSPACE, BACKSPACE, CONSONANT, VOWEL, NUMBER, BLANK, SPACE, WHITESPACE, or TRUNCATE.
		SPACE:				Parses as " " and "_".
		WHITESPACE:			Parses as "".
		TRUNCATE:			Parses as the first word that comes alphanumerically using the previous letters as context for the beginning of the word.
		Multiletters:
			BA
			AB
			KE
			EK
			LE
			VE
			LL
			OT
			RA
			RO
			WH
			HO
	----

	ARTICLES (CUSTOM):	Can come before nouns (not if an article was used for a prefix and the noun(s) are the object), prefixes, properties, and NOT if it is correlated to a noun or property. Prevents level win if an invalid article is used or an article is not in use.
		ARTICLE_A:			Valid if the word begins with a consonant or Y.
		ARTICLE_AN:			Valid if the word begins with a vowel or Y.
		ARTICLE_THE:		No conditions.
		[SOON] ARTICLE_SOME:Valid if there are two or more unique nouns before the infixes/verbs are parsed.
	----
----