/** * The order in which these lists are defined matters. When attempting to add a wildcard access to a card * and not specifying an explicit wildcard slot in which to include it, the code will iterate over the list * and stop at the first wildcard flag that can hold the access. * * The lower level the access, the earlier in the list it should be so that low level wildcards get * added to the lowest wildcard flag that can take them. * A limit of -1 means infinite slots. The system is designed to reject a wildcard when the slot limit * explicitly equal 0 for all compatible wildcard slots. */ /// Wildcard slot define for basic grey cards. Only hold 2 common wildcards. #define WILDCARD_LIMIT_GREY list(WILDCARD_NAME_COMMON = list(limit = 2, usage = list())) /// Wildcard slot define for Head of Staff silver cards. Can hold 3 common, 1 command and 1 private command. #define WILDCARD_LIMIT_SILVER list( \ WILDCARD_NAME_COMMON = list(limit = 3, usage = list()), \ WILDCARD_NAME_COMMAND = list(limit = 1, usage = list()), \ WILDCARD_NAME_PRV_COMMAND = list(limit = 1, usage = list()) \ ) /// Wildcard slot define for Captain gold cards. Can hold infinite of any Captain level wildcard. #define WILDCARD_LIMIT_GOLD list(WILDCARD_NAME_CAPTAIN = list(limit = -1, usage = list())) /// Wildcard slot define for select Syndicate-affiliated cards. Can hold infinite of any Syndicate level wildcard. Syndicate includes all station accesses. #define WILDCARD_LIMIT_SYNDICATE list(WILDCARD_NAME_SYNDICATE = list(limit = -1, usage = list())) /// Wildcard slot define for Deathsquad black cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses. #define WILDCARD_LIMIT_DEATHSQUAD list(WILDCARD_NAME_CENTCOM = list(limit = -1, usage = list())) /// Wildcard slot define for Centcom blue cards. Can hold infinite of any Centcom level wildcard. Centcom includes all station accesses. #define WILDCARD_LIMIT_CENTCOM list(WILDCARD_NAME_CENTCOM = list(limit = -1, usage = list())) /// Wildcard slot define for Prisoner orange cards. No wildcard slots. #define WILDCARD_LIMIT_PRISONER list() /// Wildcard slot define for Chameleon/Agent ID grey cards. Can hold 3 common, 1 command and 1 captain access. #define WILDCARD_LIMIT_CHAMELEON list( \ WILDCARD_NAME_COMMON = list(limit = 3, usage = list()), \ WILDCARD_NAME_COMMAND = list(limit = 1, usage = list()), \ WILDCARD_NAME_CAPTAIN = list(limit = 1, usage = list()) \ ) /// Wildcard slot define for admin/debug/weird, special abstract cards. Can hold infinite of any access. #define WILDCARD_LIMIT_ADMIN list(WILDCARD_NAME_ALL = list(limit = -1, usage = list()))