mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
Merge branch 'SuddenImpact' into 'master'
Force use of Sudden Impact during enemy draw step after drawing if enemy holds… See merge request core-developers/forge!212
This commit is contained in:
@@ -25,6 +25,10 @@ public abstract class DamageAiBase extends SpellAbilityAi {
|
||||
sa.getHostCard().getSVar(sa.getParam("NumDmg")).equals("TargetedPlayer$CardsInHand")) {
|
||||
dmgByCardsInHand = true;
|
||||
}
|
||||
// Not sure if type choice implemented for the AI yet but it should at least recognize this spell hits harder on larger enemy hand size
|
||||
if ("Blood Oath".equals(sa.getHostCard().getName())) {
|
||||
dmgByCardsInHand = true;
|
||||
}
|
||||
|
||||
if (!sa.canTarget(enemy)) {
|
||||
return false;
|
||||
@@ -77,8 +81,15 @@ public abstract class DamageAiBase extends SpellAbilityAi {
|
||||
value = 1.0f * restDamage / enemy.getLife();
|
||||
}
|
||||
} else {
|
||||
// If Sudden Impact type spell, and can hit at least 3 cards during draw phase
|
||||
// have a 100% chance to go for it, enemy hand will only lose cards over time!
|
||||
// But if 3 or less cards, use normal rules, just in case enemy starts holding card or plays a draw spell or we need mana for other instants.
|
||||
if (phase.isPlayerTurn(enemy)) {
|
||||
if (phase.is(PhaseType.END_OF_TURN)
|
||||
if (dmgByCardsInHand &&
|
||||
(phase.is(PhaseType.DRAW))
|
||||
&& (enemy.getCardsIn(ZoneType.Hand).size() > 3)) {
|
||||
value = 1;
|
||||
} else if (phase.is(PhaseType.END_OF_TURN)
|
||||
|| ((dmgByCardsInHand && phase.getPhase().isAfter(PhaseType.UPKEEP)))) {
|
||||
value = 1.5f * restDamage / enemy.getLife();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user