Commit Graph

2301 Commits

Author SHA1 Message Date
drdev
8264fd8075 Support earning Planeswalker ultimate achievements 2014-09-23 08:53:28 +00:00
excessum
d2415c7aa5 - Fixed bug with AI failing to activate Deathtouch in combat 2014-09-22 12:27:38 +00:00
Sloth
44aed6b85d - Added AI support for Duneblast. 2014-09-22 07:25:46 +00:00
Sloth
59949eea96 - Added AI support for Barrage of Boulders. 2014-09-21 20:44:08 +00:00
Sloth
b1c07c8f7a - Added AI support for Crackling Doom. 2014-09-21 20:08:01 +00:00
excessum
244293c119 - Added check for Ferocious when using Savage Punch 2014-09-21 03:43:17 +00:00
excessum
46033d55a9 - Implemented AI for Crater's Claws 2014-09-21 03:38:15 +00:00
Sloth
c5a44c9b04 - Fixed a rare bug in knownOriginCanPlayAI (Norin the Wary bug). 2014-09-20 12:27:34 +00:00
excessum
c8b57e90ed - Extended OblivionRing logic for Suspension Field
- Implemented rudimentary logic for Outlast
- Fixed mana cost for Dazzling Ramparts
2014-09-20 10:24:43 +00:00
Agetian
072a0941e1 - Make a default value in AiProps correspond to the value set in the Default AI profile. 2014-09-20 08:03:11 +00:00
Agetian
5549604d0d - Tweak spell prediction when deciding whether to move equipment or not.
- Enable spell prediction (works for AttachAi only at the moment).
- The Default AI profile will only move equipment from one creature to another if the one it's currently attached to is useless, but will consider it a priority task to move equipment away from useless creatures.
- The Reckless AI profile will always move equipment from worse creatures to better ones but will prioritize getting as many threats and other permanents out before moving creatures around (currently - even if the creature the equipment is attached to was rendered useless).
2014-09-20 08:01:58 +00:00
Agetian
2abcc7c951 - Disable spell prediction for PumpAi. 2014-09-20 07:30:21 +00:00
Agetian
68f35d3a6f - Reverted some of the modifications related to the way spell prediction works (canPlaySa can't currently be a part of the process).
- Limited predictSpellToCastInMain2 to idenitifying permanents to put on the battlefield only.
- For now, keep spell prediction disabled until the conditions and effects are tested well enough and do not cause the AI to prevent itself from performing other priority tasks.
2014-09-20 07:24:12 +00:00
excessum
32a3f5964e - Implemented AI for Launch the Fleet 2014-09-20 07:10:18 +00:00
excessum
3abb197fca - Fix for zero division error in PumpAiBase 2014-09-20 02:22:09 +00:00
Sloth
a19c05ca56 - Improved blocking AI for blockers that don't survive until the next turn anyway (due to Vanishing or Fading). 2014-09-19 22:22:17 +00:00
Agetian
cdcb9c84be - Added a way to disable predictive analysis for spells in Main 2 via an AI property PREDICT_SPELLS_FOR_MAIN2 (currently prediction is enabled by default for all profiles). 2014-09-19 04:39:44 +00:00
Agetian
9564fba6f2 - Prevent an infinite loop when trying to process PumpAllAi in predictSpellToCastInMain2. 2014-09-19 03:54:36 +00:00
Agetian
5a45730a0f - Return default property values from AiController.getIntProperty and AiController.getBooleanProperty in case of an erroneous call. 2014-09-18 14:50:44 +00:00
Agetian
b39ac29746 - Prevent NumberFormatException when AI properties are queried from runAsAi. 2014-09-18 14:42:34 +00:00
excessum
55dbe5bc09 - Changed isEffectiveAttacker() to ignore ability pumps.
- Reworked attack pumps for attackers
2014-09-18 13:23:08 +00:00
Sloth
3d85c7c791 - The AI will now take "CARDNAME can't be blocked except by three or more creatures." into account when attacking. 2014-09-18 12:34:49 +00:00
excessum
f37835b7d0 - Fixed PumpAiBase.pumpedCreature() not copying the attack/defense bonuses of the target creature. This should fix the AI's inability to apply repeatable attack/defense pumps. 2014-09-18 12:02:40 +00:00
Agetian
cf70a969b1 - At least for now, added an AI profile property RESERVE_MANA_FOR_MAIN2_CHANCE that indicates a chance that the AI would want to reserve mana for a main 2 phase spell. Currently set to 0 for all profiles (the AI will not reserve mana).
- The AI will obey mana reservations either if the spell ability is explicitly marked as low priority with SVar LowPriorityAI or, if it's not marked as low priority, depending on the random chance as specified in RESERVE_MANA_FOR_MAIN2_CHANCE.
2014-09-18 11:47:45 +00:00
Agetian
50553802e7 - Fixed the previously inverted logic. 2014-09-18 08:50:14 +00:00
Agetian
a902f5f1e7 - For now, ignore mana source reservations unless the AI has explicitly specified that the spellability is of low priority. 2014-09-18 08:46:16 +00:00
Agetian
1ea2b9d034 - Allow the AI to correctly predict the ability to cast a certain spell in Main 2 phase with the canPlaySa logic. 2014-09-18 08:05:37 +00:00
Agetian
57403ff053 - canPlay does not work as intended in context, removing for now. 2014-09-18 07:52:54 +00:00
Agetian
435adf41d9 - Removed a debug comment. 2014-09-18 07:46:20 +00:00
Agetian
67649130c7 - Modified the logic of Main 2 spell prediction to account for canPlay() 2014-09-18 07:42:35 +00:00
Agetian
973a7b6bc6 - For now, do not reserve mana for spells when deciding whether to pump/not to pump a creature (hopefully will get the AI screwed over in fewer cases than otherwise :) 2014-09-18 07:36:07 +00:00
Agetian
69bc6d5ac4 - Fix the extra tap events firing from the Pump AI. 2014-09-18 05:15:38 +00:00
Agetian
5cec620a9f - Make sure that the AI does not randomly move the same equipment around from creature to creature within the same turn (the related logic is currently used in the Reckless AI profile). 2014-09-17 18:48:07 +00:00
drdev
7628278300 Fix Tutor for Card dev mode option 2014-09-15 22:59:56 +00:00
Sloth
987cac7eab - Added "withoutAbilities" parameter to damageIfUnblocked function (fixes AI not pumping Killer Bees). 2014-09-15 13:02:24 +00:00
elcnesh
1922a83c44 Merge GuiRefactoring back into trunk.
Note that this changes ALL the display code to not pass game objects directly into the GUI, so bear that in mind when merging local changes (and in future commits).
2014-09-15 12:12:02 +00:00
excessum
3fb3095311 - AI should not grant haste for tapped creatures with summoning sickness 2014-09-15 11:55:02 +00:00
elcnesh
8bc99d7a5b Merged changes from trunk to GuiRefactoring: 27390-27405. 2014-09-15 11:17:15 +00:00
drdev
1d40924d0a Prevent Gorilla Shaman refunding mana after there are no more remaining targets 2014-09-14 16:55:10 +00:00
excessum
fd308ceee9 - NPE guard for previous commit 2014-09-14 13:03:06 +00:00
Agetian
8472b0f82a - Removed a debug comment. 2014-09-14 13:02:50 +00:00
excessum
4f20eb8a1a - AI should not regenerate creatures affected by burn spells with "can't be regenerated" 2014-09-14 13:00:22 +00:00
Agetian
0ae716f8a3 - Refactoring for card memory logic (moved the card memory reset routine that is to happen at every end of turn from the non-intuitive location in SA choice logic higher in the stack to a separate reset method in the player controller code). 2014-09-14 12:59:38 +00:00
elcnesh
6188509eee Merged changes from trunk to GuiRefactoring: 27379 2014-09-14 10:04:44 +00:00
Agetian
4518cd3c6c - A logic fix related to Main 2 spell prediction.
- Some card memory code refactoring.
2014-09-14 07:41:15 +00:00
elcnesh
00bf228e0f Merged changes from trunk to GuiRefactoring: 27326-27376. 2014-09-14 07:17:49 +00:00
Agetian
66973f5954 - Remember the actual moved equipment, not its target (fixes random "reconsideration" jump). 2014-09-14 06:15:32 +00:00
Agetian
037f30ebe9 - Prevent the Reckless AI (with MOVE_EQUIPMENT_TO_BETTER_CREATURES=true) from randomly moving equipment back and forth between two creatures with similar evaluation.
- Some code reorganization related to AI card memory.
2014-09-14 06:06:35 +00:00
excessum
3503caf77d - Fixed PumpAiBase.pumpedCreature() not copying the tap-state and extra keywords of the target creature 2014-09-14 06:02:40 +00:00
Agetian
f206a73f89 - Take two at fixing the Pump Ai: hopefully will no longer dumb-spam non-stacking pumps while still pumping creatures with "aggressive" (attack-increasing) pumps when necessary. 2014-09-14 03:50:00 +00:00