An update of the Constructed decks in Adventure to help with the play experience. As some of the were incredibly slow, to the point they were unplayable unless the AI got flooded or screwed. No change to number of rarities in each deck. Simply a better curve that stays in-theme to original deck theme. All have been tested in-game now to confirm they are now playable, while still being simply a starting point for a deck to come together.
* - Better place for the logic.
* - Improve logic for Workshop Elders.
* - Fix logic for paying Cycling costs in presence of Living End.
* - Remove the need for the AI logic.
* - Finish the comment.
* - Simplify implementation with findSubAbilityByType.
* - Tweak the implementation + add TODO for a better implementation.
* - Implement a fallback mechanism in case getting a card by name and edition fails for whatever reason.
* - Patch up pulling a card without filters in All Card Variants mode.
* - Sacrifice creatures when they're endangered (currently works for
AF LifeGain, LifeLose, and any AFs that do not have phase-based AI restrictions or other factors that will prevent instant speed activation)
* - Tweaks to the requirements for the AI.
- Some AI enablement.
* - Account for non-creature endangered objects
* - Flag Wall of Limbs as RemAIDeck for now.
* - Support for AF PutCounter.
* - Clean up.
* - Logic fix for AF PutCounter.
* - Clean up.
* - Logic tweak/fix for AF Pump.
* - Another slight tweak.
* - Some AI hint fixes/additions.
* - Some AI hint fixes/additions.
* - Improve timing for AF LifeGain/LifeLose.
* - AI profile option for default SacCost AI preference.
* - Default Sacrifice AI preference master toggle.
* - Stoneforge Mystic AI hint.
* - For now, keep the default pref SacCost toggle to the Experimental AI and at minimum values (too extreme for general use).
* - AI hint: Cryptbreaker
* - Don't auto-sac creatures that evaluate above a given threshold, sac smaller CMC first
* - Lower the priority of cards that have a self-sacrifice activated ability
* - Revert the evaluation modification until a better solution is found.
* - AI hint for Hallowed Moonlight.
* - AI hint for Winds of Abandon (AI casts the non-overloaded version in Main 1, so cast the other one in Main 1 as well to be able to prioritize/choose)
* - AI logic for The One Ring.
* - Some logic tweaks/fixes.
* - Winds of Abandon: use the AI logic hint like other similar non-permanent spells.
* - Fix logic for default sacrifice priorities.
- Mark P9 Mox, Black Lotus, and Lotus Petal cards as bad for AI sacrifice.
* - More logic fixes.
* - One more logic fix.
* - Revert the AIDontSacrifice hint for now.
* - Revert Tinker as well
* - Limit LifeLoseAi sac logic to threatened cards.
* - Logic tweak.
* - Logic tweak.
* - Simplify check (part already checked above).
* - Some more minor cleanup.
* - AI shouldn't sacrifice things mid-combat in presence of Trample or Banding because of altered combat rules (likely to backfire/result in a misplay)
- Minor cleanup.
* - A [hacky] way to make the AI understand Anticognition and Bring the Ending.
* - Fix imports.
* - Avoid a crash by ensuring that the AI parameter indeed points to an AI player (and not e.g. predicting/simulating human decisions at the moment)
* - Do not try to sacrifice a card in an attempt to regenerate it
* - Clean up for AiController mustRespond
* - Suppress recursive checkSacrificeCost when called from the predictive code.
- Trample only matters for the attacking side when checking for threatened card SacCost requirements
* - Naming convention.
* - NPE guard.
* - Recommended tweaks and fixes.
* - Don't override X payment for a triggered ability (e.g. Spiteful Banditry)
* - A better attempt at handling X inside trigger code.
* - Process AI logic for EffectAi from triggered abilities.
* - Improve Black Lotus AI by handling it as if it were a Mana Ritual card when processing ManaEffectAi.
* - AI property guarded check + meaningful default for potential non-AI calls