aboutsummaryrefslogtreecommitdiff
path: root/go/game
Commit message (Collapse)AuthorAgeFilesLines
* improve codeFlorian Fischer2025-01-274-8/+5
| | | | | | * explicitly ignore errors where appropriate * do not append in a loop * specify format string in Errorf
* finish the shy AIFlorian Fischer2025-01-273-13/+113
|
* add clownfish implementationFlorian Fischer2025-01-271-0/+16
|
* make walls not suitable for permanentsFlorian Fischer2025-01-271-0/+3
|
* finish the target-oriented aiFlorian Fischer2025-01-274-38/+167
| | | | | | | | | Fix path selection choosing a to big step, since the next step was determined by the moving range and not the actually available movement tiles. Fix generating a target for the AI by introducing a dummy action to support "enemy" target constraints.
* improve and fix slow action timing checkFlorian Fischer2025-01-271-4/+6
| | | | | Do not allow to declare slow play actions in the client. Fix the slow action check in the game state.
* introduce game.State interface abstractionFlorian Fischer2025-01-2721-342/+458
| | | | | This allows to not use the internal game state directly from client code.
* support calculating Costs including chosen variadic costsFlorian Fischer2025-01-271-3/+14
|
* fix character range loop in cost parsingFlorian Fischer2025-01-271-1/+1
|
* pass the PlayAction to the cards onPlay implementationsFlorian Fischer2025-01-275-79/+106
| | | | | This is done to propagate the chosen variadic play cost to the card implementation.
* add helper to get the game state from an actionFlorian Fischer2025-01-271-3/+6
|
* implement appear!Florian Fischer2025-01-271-0/+18
|
* fix available unit actionsFlorian Fischer2025-01-272-16/+22
|
* check if Targets allow a selectionFlorian Fischer2025-01-271-0/+10
| | | | This fixes highlighting when an action needs no targets at all.
* only generate ArtifactMoveActions if the switched positions are suitableFlorian Fischer2025-01-272-9/+16
|
* get position from containing permanentFlorian Fischer2025-01-271-3/+3
|
* implment upkeep costs using ResourceCostsFlorian Fischer2025-01-274-13/+10
|
* fix some kraken card implementationsFlorian Fischer2025-01-271-2/+7
| | | | | * Devour the Poor!: Check if a card is buyable * Frost Pylon: Only spawn on free tiles
* add death trigger to flyingDutchmenImplFlorian Fischer2025-01-271-4/+12
|
* add illusionist implementationFlorian Fischer2025-01-271-0/+28
|
* add function to create a DeclareTriggeredActionsActionFlorian Fischer2025-01-271-3/+7
|
* fix trigger ordering for kraken AI always sending PassPriorityFlorian Fischer2025-01-271-2/+7
|
* emit target and death eventsFlorian Fischer2025-01-271-0/+12
|
* add new trigger and event implementationsFlorian Fischer2025-01-271-8/+78
|
* run state based actions before players receive priorityFlorian Fischer2025-01-271-0/+1
|
* make CardPaths a value receiverFlorian Fischer2025-01-271-1/+1
|
* support parsing variadic costsFlorian Fischer2025-01-276-36/+116
| | | | | TODO: * select the variadic components * test the costs type
* add onETB card hookFlorian Fischer2025-01-272-0/+9
|
* improve tile connection detectionFlorian Fischer2025-01-271-26/+13
|
* support special wall, gate and tower tile selectionFlorian Fischer2025-01-271-0/+16
|
* game: support X effects ending with punctuationFlorian Fischer2025-01-271-2/+6
|
* game: support actions without cost funcFlorian Fischer2025-01-271-4/+9
|
* cardImplementations: fix use of wrong nested structFlorian Fischer2025-01-271-18/+12
|
* prompt the user to order its triggersFlorian Fischer2025-01-274-11/+81
| | | | | | | | All TriggeredAction are passed in the wrapper action DeclareTriggeredActionsAction to the controller of the triggers. It is expected to receive an ordered list back from the user again wrapped in a DeclareTriggeredActionsAction. The triggered actions will be declared in from first to last.
* add skeleton for triggers and triggered actionsFlorian Fischer2025-01-273-1/+159
|
* remove unused members and make EotEffects privateFlorian Fischer2025-01-271-7/+4
|
* implement equipment with next unit play optionFlorian Fischer2025-01-278-53/+82
| | | | Also make more state methods private.
* implement playTargets for tentacleSlapImpl to fix segfaultFlorian Fischer2025-01-271-0/+2
|
* only pop an action if all players have passed priorityFlorian Fischer2025-01-271-1/+2
|
* reset an action's targets after broadcasting its resolutionFlorian Fischer2025-01-271-5/+7
|
* intermediate commitFlorian Fischer2025-01-271-1/+3
| | | | | | * use names for pile perm choice * fix PocList hover segfault * prevent mysterius autogenerated playTargets segfault
* intermediate commitFlorian Fischer2025-01-2718-116/+610
| | | | | | | | | | | * Implement move artifact action * Fix widget update memory leak * update the highlights not during on each frame * do not update the unchanged label of a button * Allow to exit the game by pressing 'q' * Implement some cards from the magic set * Improve permanent formatting * Some tweaks to UnitAI code
* implement target disjunction and fix artifact constraintFlorian Fischer2025-01-272-9/+39
|
* the tile of destroyed permanents are no longer resetFlorian Fischer2025-01-271-2/+2
| | | | Fixes: 8acaebb8
* intermeditae commitFlorian Fischer2025-01-278-41/+196
| | | | | | * implement dopping piles * implement simple spell targeting * add some simple spells
* fixup! validate equip and switch actionsFlorian Fischer2025-01-271-6/+7
|
* validate equip and switch actionsFlorian Fischer2025-01-271-1/+39
|
* implement equip actionFlorian Fischer2025-01-273-10/+96
|
* use prompt for target selection of all actionsFlorian Fischer2025-01-271-6/+25
|
* implement targets candidates for hand cardsFlorian Fischer2025-01-272-10/+20
|