v1.5
Important
CFConst has been adjusted. If you are working on your own copy of CFConst, you will need to adjust the following constants
- CANNOT_PAY_COST_COLOUR has been removed
- CostsState has been added as a dictionary of Colors (name is CameCase to simulate enum usage). The entry "OK" is mandatory to exist.
Hand class has been adjusted to export some more vars. Check them out and make sure you haven't lost any other exported var settings.
New Features
- Added common_pre_execution_scripts() which is executed before each script call. It is meant to be overriden for use in for common scripts per card type, instead of adding the same task on each card.
- Added common_post_execution_scripts() which is executed after each script call. Similar purpose to common_pre_execution_scripts()
- Can now specify the hand size for each Hand class on the editor
- Now can specify on each hand, if cards over the maximum are allowed to be drawn and what happens then
In case DISCARD_DRAWN or DISCARD_OLDEST is specified, then an excess_discard_pile_name has to be also specified. The game then will seek a pile with this name and put the excess cards in there as specified.
ScriptingEngine will also respect this setting. - Added a counter framework. Developers can add a counters node to their board and store it in a counters variable. Inside they can define as many counters as they need, and they can also change the layout of the scene
ScriptingEngine
- New task added "mod_counters" to make use of the new counters framework.
- counters will also be taken into account via the PerEngine using "per_counter".
- counters can be set as script costs.
- Alterants added to ScriptingEngine. These are scripts which are always active on the card, and modify other scripts before they take effect
They are added under a new key: "Alterants" and each has its own filter specifying which kind of scripts it can modify.
Tweaks
- GridPlacementSlots won't highlight anymore when the card doesn't belong in them (i.e. the card cannot be placed on the board, it can only be placed in a differently named grid)
- The demo now has a custom instance of Hand.tcsn and the DiscardRandom is a set as a custom button in it.
Bugfixes
- When filtering triggers for the number 0, it should not always match
- Framework won't crash when trying to reduce a token that has not been added yet.