Will now target players if granted Lifelink or equivalent even if otherwise would not - self damage is not a concern
Are there any other cards that need AILogic "SelfDamage" or Svar "LikeLifeLink" added? If you are aware of any, please add!
Do prefer targeting the player if has a "when this deals damage to an opponent" trigger
Important : The AI should be able to recognize the ability stacks - if there are multiple cards that deal damage, they should be used to kill the target together. (for example, tap two prodigal sorcerers to kill a 2/2 creature!)
Unfortunately, I don't think I can implement this with my current knowledge.
The existing IP selection logic was less than optimal on Linux hosts
where it would frequently select and report 127.0.0.1 as the IP address
to share. The new logic will create a datagram socket, use it to locate
an interface with a default route, and further backtrack to the
interface's IPv4 address.
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
Marked card AI playable.
Note : This also adds a new function to ComputerUtil,that checks if the AI is in danger of being killed, or if it has a same amount of life remaning - useful for future "pay life" AI decisions.
Without this, the selected deck name was global for all quests - switching to another quest retained the deck name from the previous quest
and if the new quest had a deck with the identical name, selected that one, otherwise selected nothing. (in one weird case, this resulted in quest data that crashed caused bugs when loading forge - as quest was saved with a selected deck from another quest data.)
Preferred behavior is to select the deck that was last selected in THAT QUEST when switching to another quest.
Added creatures with low power that have
-abilities that tap for something really valuable like drawing a card
-abilities that usually need to be saved until enemy turn (counter a spell, tap a creature, prevent damage)
-abilities that usually deal equal or more damage if not attacking (prodigal sorcerer, grim lavamancer)
Generally avoided abilities where activating before combat is an acceptable choice and thus the attack decision doesn't come up anyway as the AI already used the ability.
However, this behavior is unacceptable on certain abilities (mostly those with higher mana costs) which should not be used before the end of main 2 as it prevents the AI from actually playing their cards. (like Hanna Ship Navigator)
I suspect this will need quite a bit of improvement in the future but we have to start somewhere.
The AI will now not play a second copy of these cards if and only if, there is no copy of the card owned by that AI in play, except copies that are enchanted by Auras owned by other players.
Later, a better logic that actually determines whether the enchanting aura removes the relevant ability from the card or not should be added - Warp Artifact will not stop a disk from activating, but Arrest will (if it's a creature).
Note : Only add NonStackingEffect to permanents the AI shouldn't play more than one of at a time if and only if, removal of enchantment is not pontentially leathal to the AI.
For example, do not add to Ensnaring Bridge or Moat, as loss of those allows the enemy to swing with possibly accumulated large armies for likely too much damage.
Those cards will need a different logic, that avoids playing a second copy if and only if the threat the card protects from is already too dangerous.