magefree / magefree/mage

Need a way of distinguishing spells that are cast

Open
#10,520 0 comments 0 reactions 0 assignees View on GitHub
bug enhancement
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

`GainAbilityControlledSpellsEffect` can't currently distinguish "spells you cast" from "spells you control".
* It's not as simple as checking if the spell is a copy because sometimes copies are cast.
* It's also complicated by the fact that some of the abilities have to be gained before the spell is on the stack (e.g. convoke) to make it playable in the first place.
* It's possible that abilities that adjust costs have to be handled separately from abilities that only impact the spell's effects (e.g. lifelink).
* Not sure if this can be a predicate analogous to `CastFromEverywhereSourceCondition` in the filter, or some other sort of check enabled by a boolean constructor parameter in the ability.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading GainAbilityControlledSpellsEffect and compare its behavior with CastFromEverywhereSourceCondition. Trace how abilities are gained before a spell reaches the stack, including convoke, and determine whether cost adjustments and effects need separate handling. Done means the engine can reliably distinguish spells a player casts from spells they control, including copied spells.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.