This is home to our custom card script project, which supports custom cards designed by the community.
The root folder here contains base scripts, constants, and utilities, such as summon procedures.
Card scripts are written in Lua 5.3, targeting the embedded interpreter in our custom ocgcore.
They are automatically synchronized with servers.
Please keep all bug reports and questions on Discord; do NOT open an issue or pull request for this purpose.
Reach out to us on Discord to learn how to contribute and start scripting! Before opening a pull request, please speak with a member of staff in #card-scripting first and read CONTRIBUTING.md.
Notes for maintainers: pull requests containing one or very few commits should generally be squash-merged to keep history clean.
- This repository contains all scripts, both new and existing, in their entirety. When updates are made, the full collection is synchronized with the repository the users get updates from.
- Scripts that have been added or updated are committed directly.
- Files deleted in this repository are also removed from the repository the users get updates from.
- If a pushed HEAD commit title contains
[ci skip],[skip ci],[actions skip], or[skip actions], this is skipped.
-
A basic Lua syntax check is done on scripts for pushes and pull requests. It loads
constant.luaandutility.luainto ocgcore. Then it searches through one subfolder level for files of the formcX.lua, whereXis an integer, loading them into the core as a dummy card with the same passcode. Three-digit passcodes and 151000000 are skipped. -
The syntax checker will catch basic Lua syntax errors like missing
endstatements and runtime errors ininitial_effect(or a lack ofinitial_effectin a card script). It will not catch runtime errors in other functions declared within a script unless they are called byinitial_effectof some other script. -
This is not a static analyzer and it will not catch incorrect parameters for calls outside of
initial_effector any other runtime error. -
If a pushed HEAD commit title contains
[ci skip],[skip ci],[travis skip], or[skip travis], this is skipped.