Try to do that in a single loop: the target deals the damage and the other creature answers back. Also, I suggest to avoid using GetCurrentPower(), because sometimes it gives unexpected results. Substitute it with GetCurrentCharacteristics():Power_Get().
- | Open
- Code: Select all
local target = EffectDC():Get_Targets(0) and EffectDC():Get_Targets(0):Get_CardPtr(0)
if target ~= nil then
local opponent = target:GetController()
local tpower = target:GetCurrentCharacteristics():Power_Get()
local filter = ClearFilter()
filter:Add( FE_CONTROLLER, OP_IS, opponent )
filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
filter:Add( FE_CARD_INSTANCE, OP_NOT, target )
local count = filter:EvaluateObjects()
for i=0, count-1 do
local creature = filter:GetNthEvaluatedObject(i)
if creature ~= nil then
local cpower = creature:GetCurrentCharacteristics():Power_Get()
target:DealDamageTo(tpower, creature)
creature:DealDamageTo(cpower, target)
end
end
end
The code is shorter and doesn't even need additional chests.
I don't know what's wrong here: both seem OK to me now. (The triggered ability on
Bronze Horse should be a replacement_effect, but it should work anyway.)
I have looked at other cards and saw that layer 8 was the correct one for abilities like this one, so you can revert back to 8. The problem (which escaped me yesterday

) probably is that you forgot the DURATION block for the continuous action.
Chained Throatseeker's own ability was correct the last time (revert it), what I wanted you to add was this additional ability that you can find on
Glistener Elf:
- Code: Select all
<TRIGGERED_ABILITY replacement_effect="1" active_zone="ZONE_ANY">
<TRIGGER value="PLAYER_POISON_CHANGED">
TFM_WritePoisonCount( TriggerPlayer(), GetAmount() )
return false
</TRIGGER>
</TRIGGERED_ABILITY>
<AI_CUSTOM_SCORE zone="ZONE_BATTLEFIELD">
TFM_AddInfectCustomScore(0)
</AI_CUSTOM_SCORE>
This writes the poison count in the register when a player's poison count changes. In this trigger, GetAmount() returns the current poison count rather than the variation, so multiple triggers don't cause incompatibilities (even if 10 cards write the count, it will be the same value as if only 1 did).
About the custom score, it's more of a trial and error process, I added it because the AI wasn't evaluating infect creatures properly, and it basically gives the opponents' infect creatures a higher score the higher the player's poison counter is (the closer you are to death by poison, the more you should pay attention). It made things
slightly better. You could put -150 instead of 0 since
Chained Throatseeker's ability is actually a drawback, but that's not really important.
I found the problem! You are using Power_Set and Toughness_Set instead of Power_Add and Toughness_Add, so the token dies as soon as it enters the battlefield because you set its toughness to 0.

Splinterverse wrote:Is there any way to limit the upper and lower bounds of a numerical choice question?
In Magic Duels they use 2 arguments for AddNumericalChoice: first for lower bound, second for upper bound. Unfortunately, in DotP2014 the only argument just sets the upper bound, while the lower bound is always 0.
A way to enforce a lower bound could be to specify it in the question string, and repeat the query if the player enters an illegal value. Since this would probably confuse the AI, I'd suggest to do it only in cases where you can set a predefined answer for the AI and make it skip the query altogether.