Repository navigation
Update Notes – Card and Effect System
This update introduces a flexible architecture for defining and executing card effects, inspired by game systems such as Wizard101, with extensibility toward mechanics found in Yu-Gi-Oh! or Magic: The Gathering. Key advancements include:
- Multi-Effect Cards: Each card can now contain multiple effects, executed sequentially according to its configuration. Implemented examples include Fireball and IceBeam.
- Animation Support: Each effect may be associated with a specific animation, provided it is registered in the AnimationPlayer. If the corresponding animation is missing, the system proceeds directly to the effect’s logic (e.g., applying damage or status conditions).
- Activation Probability: Every effect can define a percentage-based chance to trigger. Before execution, a random check determines whether the effect activates; if the roll fails, the effect is silently skipped (though this behavior can be extended to include visual or gameplay feedback if desired).
- Persistent Status Effects: Secondary effects such as Burn and Frostbite have been implemented—these apply damage over multiple turns. The logic to apply damage on the end of each turn is still not implemented, as the turn system itself isn't implemented.
- Actor Entity: A basic Actor class has been introduced to represent both the spell caster and the target. Currently, only player-initiated actions are supported; opponents remain non-interactive.
- Duel Context (DuelContext): A singleton has been created to centrally provide caster and target references during effect resolution. At this stage, only a player-specific duel context exists.
Next Steps
- Turn-Based System Implementation: A structured turn system will be developed, divided into distinct phases:
- Draw Phase: card acquisition;
- Pre-Combat Phase: resolution of effects that may interrupt or alter the turn;
- Combat Phase: execution of selected spells;
- End-of-Turn Resolution: application of persistent status effects (e.g., recurring damage from Burn or Frostbite).
- Simultaneous Action Selection: Drawing inspiration from titles like Pokémon, both player and AI will select their actions simultaneously, with effects resolved in a unified sequence. The resolution order is still under design—options include:
- A speed-like attribute to determine priority;
- Or dynamic spell interactions (e.g., two simultaneous Fireball casts trigger an explosion, dealing partial damage to both participants).
Notas de Atualização – Sistema de Cartas e Efeitos
Nesta atualização, foi implementada uma arquitetura flexível para definição e execução de efeitos em cartas, inspirada em sistemas de jogos como Wizard101, com potencial para expansão em direções semelhantes a Yu-Gi-Oh! ou Magic: The Gathering. Os principais avanços incluem:
- Efeitos Compostos por Carta: Cada carta agora pode conter múltiplos efeitos, executados sequencialmente conforme a configuração definida. Exemplos já implementados incluem Fireball e IceBeam.
- Suporte a Animações: Cada efeito pode estar associado a uma animação específica, desde que esta esteja previamente registrada no AnimationPlayer. Na ausência da animação correspondente, o sistema executa apenas a lógica do efeito (como, por exemplo, a aplicação de dano ou status).
- Probabilidade de Ativação: Cada efeito pode ter uma chance percentual de ser ativado. Antes da execução, o sistema realiza um sorteio; caso aprobabilidade não seja satisfeita, o efeito é ignorado sem consequências adicionais (embora isso possa ser estendido conforme necessário).
- Efeitos Secundários: Foram implementados efeitos de status persistentes, como Burn e Frostbite, que aplicam dano ao longo de múltiplos turnos. A lógica para aplicar o dano a cada turno ainda não está implementada, pois ainda não existe o sistema de turnos.
- Entidade
Actor: Introduzida uma entidade básica para representar tanto o caster quanto o target de uma magia. Atualmente, o sistema suporta apenas ações originadas pelo jogador; oponentes ainda não possuem comportamento ativo. - Contexto de Duelo (DuelContext): Criado um singleton que fornece, de forma centralizada, as referências ao caster e ao target durante a execução de efeitos. Nesta fase, há apenas um contexto ativo, relativo ao jogador.
Próximos Passos
-
Implementação de Sistema de Turnos: Será desenvolvido um sistema estruturado em fases, incluindo:
- Compra: fase de aquisição de cartas;
- Pré-ataque: verificação de efeitos que possam interromper ou modificar o turno;
- Ataque: execução das magias selecionadas;
- Resolução de Status: aplicação de efeitos persistentes ao final do turno (ex.: dano por Burn ou Frostbite).
-
Mecânica de Escolha Simultânea: Inspirado em jogos como Pokémon, planeja-se que jogador e IA selecionem suas ações simultaneamente, com resolução conjunta dos efeitos. Ainda está em aberto a definição do critério de ordem de resolução — podendo envolver atributos como speed ou regras específicas de interação entre magias (ex.: dois Fireball disparados simultaneamente geram uma explosão, causando dano colateral a ambos os alvos).
Full Changelog: v1.0.0...v1.1.0