Vittorio Alfieri
617ce45dbc
Improved implementation for isCommander and RingBearer card status (now they are no longer basic abilities but inner card properties in order to avoid conflicts with abilitiy modificators), added a white border on commanders to highlight them during match in the various game zones.
2023-07-01 16:28:19 +02:00
Vittorio Alfieri
f9bcaf53c2
Added / fixed primitives from NEO set, improved Android downloader for token images, fixed a problem with castcard copied option for permanents, fixed a bug on colorless mana calculation for AI during combo.
2023-06-20 17:29:44 +02:00
Eduardo MG
84c9667c71
Reduced sacrifice efficiency for AI. Bug fixes in primitives
...
The AI is too willing to sacrifice permanents.
The AI sometimes doesn't use a Planeswalker ability, increasing efficiency.
Gonti, Lord of Luxury. An effect that instructs you to "cast" a card doesn't allow you to play lands.
Rona, Tolarian Obliterator exra )
Oblivion Strike
Steel Seraph
True Love's Kiss
2023-05-15 20:10:42 -06:00
Vittorio Alfieri
6ef8b45709
Implemented "Battle" type from MOM set (they are like planeswalkers), added some new primitives from MOM set, fixed some primitives targeting any target.
2023-05-11 15:57:08 +02:00
Vittorio Alfieri
f9da0c3a1e
Fixed a crash on random avatar AI selection.
2023-04-20 13:28:44 +02:00
Vittorio Alfieri
fbcb1feb88
Fixed primitives, fixed "proliferate" target chooser, improved "cycled" and "discarded" triggers, added new keywords "pcycledcount" and "ocycledcount" to calculate how may cards have been cycled this turn from a specific player, added new menu choices to instantly select/deselect and confirm all the possible targets (in any zone) during the target selection of an ability (e.g. Proliferation ability can target a lot of permanents and players so using that menu choice all the targets will be instantly chosen and then the current player will be able to remove any of them or confirm the entire selection).
2021-10-13 17:39:48 +02:00
Vittorio Alfieri
fd76775923
Fixed a bug on deck choosing menu when an AI deck has no avatar image (it will be used "baka.jpg"), added new default avatar images for AI decks (up to 200), fixed "_PROLIFERATE_" macro and fixed all primitives with "proliferate" ability, improved the "proliferation" keyword for target chooser in order to avoid targeting permanents or players without counters and/or with some protections (e.g. hexproof, shroud and similar).
2021-10-08 23:01:37 +02:00
Vittorio Alfieri
9dabf121d3
Fixed primitives, changed type of "isFlipped" card variable from bool to int and fixed a related bug on targeting cards with "isFlipped" attribute, improved "disturb" ability (now fi you counter a card casted with disturb it correctly goes to exile), added "decayed" ability, added two new zone alias "mycommandplay" and "opponentcommandplay" for targeting Battlefield and CommandZone at the same time.
2021-09-06 17:31:36 +02:00
Vittorio Alfieri
001cea95bd
Added/fixed primitives, updated the "missing_cards_by_sets" folder, fixed several crash on Commander Format, fixed a possible crash using "and!()!" with "imprint", added a new macros "_REBOUND_" and "_GOAD_" related to rebound and goad abilities and refactored all cards using them, implemented a new keywords "haunt", "hasprey", "preyname" and "isprey" related the haunting ability and improved all cards using it, Added "commander" and "\*" to HINT castpriority for AI decks in order to allow the user to give a cast priority to commanders.
2021-09-02 19:32:45 +02:00
Vittorio Alfieri
bbc25e2727
Added/fixed primitives, Improved AI: now it can plays cards using morph cost too.
2021-08-25 15:30:44 +02:00
Vittorio Alfieri
c978223b10
Updated changelog with last 3 years of modifications (issue #1067 by @remigiusz-suwalski), added tokens in ELD set, improved Android downloader for ELD set, fixed primitives with "asflash" ability, improved all cards with adventure: now they become instants or sorceries in stack to activate the correct trigger (e.g. with Magecraft combos), added "nomovetrigger" ability for all the "fake" cards (e.g. cards which are simple abilities) in order to don't trigger any event on their cast since they are not real cards.
2021-08-23 02:18:04 +02:00
Vittorio Alfieri
2ca03bb1f0
Fixed Muxus, Goblin Grandee and fixed Liliana, the Last Hope, added conjure keyword for J21 set, added perpetual counters and abilities for J21 set, improved imprint keyword, improved moverandom keyword for J21 set.
2021-08-04 12:33:28 +02:00
Vittorio Alfieri
849194b8da
Added/fixed primitives, removed deckmaster.info source from Android downloader, fixed HTR18 set, fixed "menace" blocking issue from AI, improved Graft ability from AI, fixed hangs on Offering costs for both human and AI, added a new keyword "ishuman" to distinguish if a card controller is human or AI (e.g. on Graft trigger), fixed a possbile hang on negative manacost payment.
2021-07-21 10:51:13 +02:00
Vittorio Alfieri
79716a4533
Added a new rule to flip back modal dual face card on each phase and after each action, fixed "Aladdin's Lamp" and "Turntimber Symbiosis" primitives, allowed the AI to play back side of modal dual face cards, improved the "doubleside" keyword to flip modal dual face cards, improved filters to target flipped cards using the "isflipped" keyword, fixed a crash when zone pointer was null in GameObserver::logAction method.
2021-04-28 17:03:29 +02:00
Vittorio Alfieri
8b358b3d1c
Fixed a bug: AI does not have to use the doubleside ability to avoid loops.
2021-04-27 17:44:41 +02:00
Vittorio Alfieri
37ce334688
Added TSR and HA4 sets, added/fixed primitives, improved Android downloader, fixed a crash when AI pays a Convoke alternative cost, fixed a random crash on Windows when opening zip files, fixed a random crash in destroy ability method (e.g. blasphemous act).
2021-03-09 19:07:31 +01:00
Vittorio Alfieri
c8f763173d
Improved AI: now during opponent's turn it will not search just for instant cards from hand but it can also play cards with "flash" ability from all the other available zones (e.g. "flash" cards from graveyards which have "canplayfromgraveyard" of Flashback and/or Retrace cost).
2021-02-23 12:59:22 +01:00
Vittorio Alfieri
81d4b3d84f
Improved AI: now it can plays cards using alternative cost too, fixed thisturn restriction in some primitives.
2021-02-22 19:16:54 +01:00
Vittorio Alfieri
d3379c9c08
Fixed a crash when AI try to activate a combo (caused by new ANYTYPEOFMANA management), fixed the Visual C++ project file descriptor, fixed ELD set DAT file, improved Andorid downloader, fixed primitives.
2021-02-19 18:50:25 +01:00
Vittorio Alfieri
17d6860505
Improved AI: now it can cast spells from graveyard using thier Flashback and Retrace costs, fixed a crash in Deck Editor stats loader when a card ability contains some "add" substrings (e.g. "counteradded" followed by "restriction{"), added/fixed primitives.
2021-02-18 12:48:59 +01:00
Vittorio Alfieri
bc9142ad6e
Improved AI: now it can activate abilities of cards in all zones such as commandzone, hand, graveyard and exile using the keywords "autohand", "autocommandzone", "autograveyard" and "autoexile" just as normal Human player does.
2021-02-17 15:31:31 +01:00
Vittorio Alfieri
eb8da4d4b2
Fixed issue #1054 (opened by @ranger7271), fixed/added primitives with "scry" ability, improved scry ability for both Human and AI player, added a new ability to replace the scry ability with some actions (e.g. Eligeth, Crossroads Augur).
2021-02-08 17:08:20 +01:00
Vittorio Alfieri
2ff2d4ac79
Added/fixed primitives, improved "anytypeofmana" ability for both player and AI and implemented "anytypeofmanaability" keyword to allow the user and the AI to spend mana of any color to activate abilities.
2021-01-15 18:25:38 +01:00
Vittorio Alfieri
69885cf90a
Added/Fixed primitives, improved PAYZERO rule for commandzone.
2021-01-11 16:53:14 +01:00
Vittorio Alfieri
1444ed6b7c
fixed bug causing AI never play a card there are one or more cards in graveyard or other zones, fixed and improved removemana ability, fixed/added primitives.
2020-12-30 17:52:06 +01:00
valfieri
7c696ac213
Improved Commander format card selection rule, added new keyword
...
"autocommandzone=" to trigger abilities from Command Zone (e.g. Commander Ninjutsu), added/fixed some primitives, added a new GUI Button to show Player's Sideboard.
2020-12-08 20:48:11 +01:00
valfieri
ced2c85076
Implemented Commander mode and rules, added Command Zone to game, added/fixed primitives, increased the major release version.
2020-12-06 20:11:51 +01:00
valfieri
2c62cfd487
replaced tabs with 4 spaces.
2019-09-06 08:31:39 +02:00
Eduardo
06cb835a5b
Teaching AI proliferate and shocklands
...
Some minor changes, corrections to XLN and C17, changing name of game mode from horde to tribal wars
2019-05-01 17:00:48 -05:00
Eduardo
5db6b807ba
Set limited game mode, AI changes, primitives and _cards.dat corrections
...
New set limited ,where you get a deck two random sets.
Still playing with the AI values and hueristics.
Cards fixes. Masters Edition should be named ME1 and the Mythic Edition is MED, the cards multiverse ids are still the same so the decks and references should not change.
2019-04-20 15:51:52 -05:00
Eduardo
3dfcc65fa6
Bug fix for the biggest crash and fixes to the primitives
...
I figured a while ago that the cause of the crash was a rendering issue, not an engine issue, since you could copy spells in the stack if you didn't targeted them. The crash was most likely in ActionStack, just had to follow the trace. It doesn't affect anithing else, that line was trying to render something in the stack that's a permanent but it always had bad ptrs.
2019-04-17 20:28:43 -05:00
Eduardo
ab1fbaa806
New game modes, bug fixes in primitives, improving AI, new planeswalkers type rule
...
New rules based on vanguard, 3 new random game modes, one is tribal and one uses any card in the game.
Several corrections and bugs fixes. Cards with x in their cost and that can target any player used to crash the game.
Teaching AI new things and changing values of efficiency.
You can have multiple "Jace" planeswalkers, you can't have two of the exact same name (no two Jace, the mind sculptor).
2019-04-14 19:57:01 -05:00
Anthony Calosa
030dca051a
support for wish cards and deck sideboard
2017-03-07 23:42:34 +08:00
Anthony Calosa
38e97aa79f
fix etched affinity stalling the game
...
add an alias for glimmervoid and removed the hold combo hint for
glimmervoid, just tried etched affinity vs etched affinity on demo for
50 games... it doesn't stall anymore. it seems there's a conflict
somewhere parsing hint combo? not really sure... also in momir the ai
don't click choose a color command, noticed on lotus cobra so i changed
the chooseacolor to abilty$! add{mana} ...
2017-03-06 17:52:44 +08:00
Anthony Calosa
f205de7205
minor fix
2017-03-04 09:15:50 +08:00
Anthony Calosa
8437467320
refactor revealed efficiency
...
it's based now on actual aicode if it's available.
2017-02-23 14:10:27 +08:00
Anthony Calosa
bb9d98cc0c
AI ignore sphinx of jwar isle
2017-02-20 23:23:13 +08:00
Anthony Calosa
6c28496dd8
reduced efficiency
2017-02-16 00:42:54 +08:00
Anthony Calosa
722056e78a
moved this
2017-02-13 10:43:22 +08:00
Anthony Calosa
3776bff594
add effeciency to use the reveal ability
...
aicode overrides this on resolve and it seems most cards that have this
has possitive effect
2017-02-11 22:04:20 +08:00
Anthony Calosa
7029636291
some corrections
2017-01-31 04:16:47 +08:00
Anthony Calosa
d03ebdace8
Support for KLD and AER
...
Kaladesh & Aether Revolt
2017-01-18 22:13:51 +08:00
Anthony Calosa
6d72753216
OK quad and COMBATTOUGHNESS for attackers/blockers
...
support doubled res for OK quad, AI should consider toughness as power
if it has COMBATTOUGHNESS ability
2016-07-22 15:38:38 +08:00
zethfoxster
bb9e02da6b
fixed a debug assert i introduced.
2016-07-20 18:58:29 -04:00
zethfoxster
7c163592b5
removed the changes I made to selectAbility and created a new function which handles sending an ability and card to have AI do the ability of that card.
...
found a selectability call after blockers that was the cause of a race condition debug assert, but most importantly, the reason AI would sometimes block a creature, then immediately decide not to block. causing it to sometimes take preventable damage, and sometime cause AI to stack a ton of blockers on a single card even tho it did not have a chance to actually kill the creature.
this is still a thing, but wont happen so grossly incorrect now.
2016-07-19 20:16:22 -04:00
zethfoxster
6316577ec7
taught AI basic attack and block cost.
...
added functionality to send specific abilities to AI "selectAbility" to have it find mana, targets, and use a selected ability at our command.
2016-07-18 22:03:16 -04:00
zethfoxster
4e9d4bfaf6
minor changes to ai
2016-07-17 02:19:58 -04:00
zethfoxster
542845667a
stupid case for travis
2016-07-16 15:59:45 -04:00
zethfoxster
01fd8fa406
recoded cascade, the logic was incorrect. also the ability was coded incorrectly. ALL the cards get exiled, then placed on the bottom, the card that cost less is also exiled then MAY be cast otherwise its placed in the library bottom with the rest.
...
I also now tell AI to ALWAYS use cast card if available. as the effects are always better.
2016-07-13 23:57:30 -04:00
zethfoxster
f438548e5c
teaching ai to select X on the menu again.
2016-07-11 23:46:03 -04:00