-fix issue 46 (ai casts fear on opponent's cards)
This commit is contained in:
wagic.the.homebrew@gmail.com
2009-09-25 14:19:47 +00:00
parent 1534397f2b
commit 09d438b32a
2 changed files with 20 additions and 3 deletions
@@ -0,0 +1,16 @@
#Bug:ai casts fear on opponent's creature
[INIT]
FIRSTMAIN
[PLAYER1]
inplay:grizzly bears,8333,8330
hand:fear
[PLAYER2]
inplay:lord of atlantis
[DO]
ai
ai
[ASSERT]
COMBATEND
[PLAYER1]
[PLAYER2]
[END]
+4 -3
View File
@@ -658,13 +658,14 @@ int AbilityFactory::abilityEfficiency(MTGAbility * a, Player * p, int mode){
if (AInstantBasicAbilityModifierUntilEOT * abi = dynamic_cast<AInstantBasicAbilityModifierUntilEOT *>(a)) { if (AInstantBasicAbilityModifierUntilEOT * abi = dynamic_cast<AInstantBasicAbilityModifierUntilEOT *>(a)) {
int result = badAbilities[abi->ability] ? BAKA_EFFECT_BAD : BAKA_EFFECT_GOOD; int result = badAbilities[abi->ability] ? BAKA_EFFECT_BAD : BAKA_EFFECT_GOOD;
return (abi->value <= 0) ? result : -result; return (abi->value > 0) ? result : -result;
} }
if (ABasicAbilityModifier * abi = dynamic_cast<ABasicAbilityModifier *>(a)){ if (ABasicAbilityModifier * abi = dynamic_cast<ABasicAbilityModifier *>(a)){
int result = (badAbilities[abi->ability]) ? BAKA_EFFECT_BAD : BAKA_EFFECT_GOOD; int result = (badAbilities[abi->ability]) ? BAKA_EFFECT_BAD : BAKA_EFFECT_GOOD;
return (abi->modifier <= 0) ? result : -result; return (abi->modifier > 0) ? result : -result;
} }
if (ABasicAbilityAuraModifierUntilEOT * abi = dynamic_cast<ABasicAbilityAuraModifierUntilEOT *>(a)) return abilityEfficiency(abi->ability, p, mode); if (ABasicAbilityAuraModifierUntilEOT * abi = dynamic_cast<ABasicAbilityAuraModifierUntilEOT *>(a))
return abilityEfficiency(abi->ability, p, mode);
if (dynamic_cast<AManaProducer*>(a)) return BAKA_EFFECT_GOOD; if (dynamic_cast<AManaProducer*>(a)) return BAKA_EFFECT_GOOD;
return BAKA_EFFECT_DONTKNOW; return BAKA_EFFECT_DONTKNOW;
} }