ttt_logic_role and ttt_filter_role

Entities used to test the role of the activator. Modified in Custom Roles for TTT to support new roles by treating ROLE_INNOCENT (0), ROLE_TRAITOR (1), and ROLE_DETECTIVE (2) as team checks. Also allow using specific custom role IDs (e.g. ROLE_GLITCH (5)) which can be found in shared.lua. Further, they now allow using the name of the role constant name (e.g. "ROLE_GLITCH") which is then translated automatically into its ID when the entity is created.

WARNING: There is a caveat when trying to do a role-specific check for ROLE_JESTER (3) -- the base TTT ttt_logic_role and ttt_filter_role entities use a value of ROLE_ANY (3) to allow any role to pass a logic check and this conflicts due to reuse of the same value. In order to keep compatibility with maps made for base TTT, we have kept the value of ROLE_ANY (3). If you would like to specifically check for ROLE_JESTER you must instead use a value of -3. This will tell Custom Roles for TTT that you mean ROLE_JESTER rather than ROLE_ANY and allows compatibility with base TTT maps. If using the role constant name (e.g. "ROLE_JESTER"), this translation happens inside the entity automatically so no additional work is required by you.

WARNING: When using these entities for external Custom Roles (e.g. the Summoner) be sure to use the role constant name (e.g. "ROLE_SUMMONER") rather than the role ID number. This is required because external role ID numbers are generated when the server starts and will vary between servers based on what external roles they have enabled, but the role constant name does not change.

ttt_game_text

An entity to send a message to a configured receiver. Modified in Custom Roles for TTT to support new roles by treating the existing RECEIVE_DETECTIVE (2), RECEIVE_TRAITOR (3), and RECEIVE_INNOCENT (4) as team checks. Furthermore, support for the new types of Custom Roles was added via the new RECEIVE_JESTER (5), RECEIVE_INDEPENDENT (6), and RECEIVE_MONSTER (7) values.