I understand the basic programming and that a computer cant do everything at the same time... but this bug doesnt happen with Crusaders + Vampire Dagger (just tested it). So while the computer cant do what zanz is saying... apparently it can deal damage and heal me at the same time if I have Vampires. >.< (actually here is what I think is actually happening)
I believe from observation that each turn is broken down as follows.
Upkeep (draw a card)
Main phase (cast spells/creatures)
Attack phase
-Poison damage is inflicted on the opponent at the beginning of your attack phase, likewise purity healing is done at this time.
-Creatures attack depending on position, position is literally the order in which they are played on the field, with the pet space being the last attacker (top right) and the exact center being the first attacker.
-1: If they have a noncombat nonactivated (light, regenerate, fire, ect) ability it is triggered right after their attack phase (after damage but before the next creature attacks.
-2: If the creature has a combat ability (Vampirism, overdrive, venom, scramble, etc) then it is triggered right before the damage is calculated for the creature. (it is interesting to note that the visual effects happen after the damage on the screen but based on observation it is impossible for the opponent to have 0hp or less and you not to win instantly.) Thus overdrive results in +2/-1 before the damage is calculated, and vampirism can heal you before you deal lethal damage to an opponent resulting in the instant overruling "you win" condition.
-3: If the creature has 0 or less hp then it dies after hitting the opponent.
Weapon phase
-Quanta is generated.
-The weapon attacks, heals, scrambles.
End phase, begin the other players turn.
What is bugging me is why isnt the win condition set to something during the attack/weapon phase. like this.
Attack Phase
-Poison damage/purity healing, Check for win, win if opponents hp =0 OR <0
-1: creature attacks, 2: creatures combat abilities take effect, 3: creature dies if toughness =0 or <0, 4: Check for win, win if opponents hp =0 OR <0
Weapon Phase
-Quanta is generated.
-The weapon attacks, and uses its combat ability if one exists.
-Check for win, win if opponents hp =0 OR <0
Wouldnt that solve all the problems? Antimatter wouldnt cause issues by healing lethal damage later in the attack phase, and poison happens before creatures attack... just my thoughts. or would that be a programming nightmare?