CFA now supports adding more Clans and Nations dynamically!
Regarding how this extends to support for Customs:
Due to non-main clans and nations now being listed under the "Other" banner, it is possible to create your own clans and nations without a banner.
To create your own Custom Nation/Clan, please create a text file `Custom Overrides.txt` and place it within your `Text` folder. The contents of the `Custom Overrides.txt` will need to abide by the following format:
```
global.CustomFactionClanId[N] = <CardInClan number>
global.CustomFactionNationId[N] = <DCards number>
global.CustomFactionName[N] = 'Faction Name As String'
global.CustomFactionFile[N] = 'Faction Text File.txt'
global.MaxCustomFaction = N(max) + 1
global.AllCard = <Highest card ID>
```
- `N` is the number of Custom Clans/Nations. This value should start from 100 minimum and is incremented by 1 for each Custom Clan/Nation added.
- `CardInClan number` is the ID of your Custom Clan. If you are adding a nation that has no clans associated to it, please set this to `0`.
- `DCards number` is the ID of your Custom Nation. If you are adding a clan that has no nation (such as the Iconic clan of the TH format), please set this to `-1`.
- **To avoid future conflicts with added clans and nations in the TCG, the value for Clan ID and Nation ID for Customs should start from 100 minimum.**
- `Faction Name As String` is the name your Custom Clan/Nation will show up with in the the Deck Editor, under the "Other" banner
- `Faction Text File.txt` is the name of the text file inside of which will be your custom cards.
Much like you need to create the `Custom Overrides.txt` text file to add Custom Clans/Nations, you need to create the `Faction Text File.txt`.
You can put your custom text files inside the `Text` folder, but you can also create your own folders inside `Text` for better organization and place your files there. `Custom Overrides.txt` has to be in the `Text` folder and not a subfolder though.
- `N(max) +1` is the total number of custom clans/nations added + 1. Refer to the highest value `N` you are using and set this value to be 1 higher than it.
- `Highest card ID` is the ID of the last card inside your `CardSprite` and `CardSpriteMini2` folders, excluding the "n" at the start. **For custom cards, please only use IDs starting from 20000, up to 32000.**
You can find an example both in the GitHub page linked below, as well as inside of `NoUse.txt`.
Within `NoUse.txt` is also a list of all Clan and Nation IDs currently in use should you wish to add custom cards to existing Clans and Nation.
**However, please keep all custom clans and nations within `Custom Overrides.txt` and all custom cards within your own custom text files. Do not add or remove text inside `NoUse.txt` as it can cause errors.**
You can read about the feature further on the Github page:
`https://github.com/uniquekid/cfa-texts/tree/v641?tab=readme-ov-file#custom-clansnations`
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}