mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-26 00:51:23 +00:00
* Fully implements the ID Card design document * Oh fuck that hurt. Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk> Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
39 lines
2.6 KiB
Plaintext
39 lines
2.6 KiB
Plaintext
/**
|
|
* 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()))
|