Packages that are either of type lotgd-crate or lotgd-module can add daenerys commands and doctrine entity directories by using a lotgd.yml configuration file in their directory root (the same one were composer.json is).
All namespaces given in lotgd.yml have to be relative to the packages namespace, without a leading backslash (\).
Root namespace is derived from composer.json, either explicitely (via extra.lotgd-namespace) or implicitely via the first psr-4 or the first psr-0 namespace.
The bootstrap procedure has been updated to search through all packages to get the ones with an lotgd-namespace extra field. These are then tested if they have or have not a bootstrap class implementing BootstrapInterface. If yes, they get added to a stack used to modify the bootstrap procedure. For know, bootstrap supports additional entity directories.
In order to make bin/daenerys more extensible and usable from outside with
more configuration, the bootstrap of the game object has been moved to
bin/daenerys where it is a closure stored in LotGD\Core\Console\Main.
Commands now call Main::createGame() instead of Bootstrap::createGame().
Added the command database:init
Merges #43Closes#40
This commit adds the possibility for externals to add additional
directories in order to extend the directories doctrine uses to read
metadata from.
Closes#39
This commit adds support for regeneration (both regen and deregen) and
minions (for both goodguy or badguy - or both at the same time). It also
adds tests to ensure correct code workflow.
Adds attack, defense and damage modifiers for both "goodguy" (self) and
"badguy" (target) as well as a handler for goodguy/badguy invulnurability.
Modified the battle calculation to not recalculate if noone does damage as
long as at least 1 buff is active. This prevets infinite loops.