Thanks spirolone! However, it turned out it may have been my fault because I forgot a " in the new pool.

I'll report more results as soon as I can.
EDIT: Confirmed, it was my fault. At the moment I'm trying to code bestow by using awaken as a template. Assuming I can make it work, there's at least one approximation to take into account: according to the rules, cards like AEther Storm should still allow to cast bestow cards as Auras, but in Duels that will be impossible I'm afraid.
EDIT 2: Here's my bestow mechanic for Magic Duels in the form of
Nyxborn Shieldmate:
- Nyxborn Shieldmate (seems to work) | Open
- Code: Select all
<?xml version="1.0"?>
<CARD_V2 ExportVersion="1">
<FILENAME text="NYXBORN_SHIELDMATE_199378393" />
<CARDNAME text="NYXBORN_SHIELDMATE" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Nyxborn Shieldmate]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Compagnon bouclier né de Nyx]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Escudante nativo de Nyx]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Nyxgeborener Schildbruder]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Scutifero Nyxiano]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[ニクス生まれの盾の仲間]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[닉스에서 태어난 방패병]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Щитоносец из Никса]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Escudeiro Nyxnato]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[天裔护盾手]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[天裔護盾手]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="199378393" />
<ARTID value="199378393" />
<ARTIST name="Eric Deschamps" />
<CASTING_COST cost="{W}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[In Meletis, the walls have ears. In Akros, they have blades.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Les murs de Mélétis ont des oreilles. Ceux d’Akros ont des lames.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[En Meletis, las paredes tienen oídos. En Akros blanden espadas.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[In Meletis haben die Wände Ohren. In Akros haben sie Klingen.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[A Meletis, i muri hanno le orecchie. Ad Akros, hanno le spade.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[メレティスの壁には耳がある。アクロスの壁には刃がある。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[멜레티스에서는 벽에도 귀가 달려있다. 아크로스에서는 벽에도 칼날이 달려있다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[В Мелетиде у стен есть уши. В Акросе у них есть клинки.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Em Meletis, as paredes têm ouvidos. Em Ácros, elas têm lâminas.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[在迈勒提斯,隔墙有耳。在阿喀洛斯,隔墙有刃。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[在邁勒提斯,隔牆有耳。在阿喀洛斯,隔牆有刃。]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<TYPE metaname="Enchantment" />
<SUB_TYPE metaname="Human" />
<SUB_TYPE metaname="Soldier" />
<EXPANSION value="BNG" />
<RARITY metaname="C" />
<POWER value="1" />
<TOUGHNESS value="2" />
<SPELL_ABILITY attach_definition="0">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Bestow {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Grâce {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Concesión {2}{W}.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Göttergabe {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Conferire {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[授与 {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[권능 {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Дар {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Agraciar {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[神授{2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[神授{2}{W}]]></LOCALISED_TEXT>
<SFX text="AURA_ATTACHMENT_PLAY" />
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_ENCHANT" definition="0" compartment="bestow_target">
MTG():SetTargetCount( EffectDC():Get_Int("bestow_paid") )
</TARGET>
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets("bestow_target") and EffectDC():Get_Targets("bestow_target"):Get_CardPtr(0)
if target ~= nil and EffectSource() ~= nil then
EffectSource():Attach(target)
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLIED_ONLY" />
</SPELL_ABILITY>
<STATIC_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchanted creature gets +1/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[La créature enchantée gagne +1/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[La criatura encantada obtiene +1/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Die verzauberte Kreatur erhält +1/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[La creatura incantata prende +1/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャントされているクリーチャーは+1/+2の修整を受ける。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[부여된 생물은 +1/+2를 받는다.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Зачарованное существо получает +1/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[A criatura encantada recebe +1/+2.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[所结附的生物得+1/+2。]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[所結附的生物得+1/+2。]]></LOCALISED_TEXT>
<CONTINUOUS_ACTION layer="7C">
local parent = EffectSource() and EffectSource():GetParent()
if parent ~= nil then
local characteristics = parent:GetCurrentCharacteristics()
characteristics:Power_Add(1)
characteristics:Toughness_Add(2)
end
</CONTINUOUS_ACTION>
</STATIC_ABILITY>
<UTILITY_ABILITY qualifier="Alternate" cost_paid_compartment="bestow_paid">
<COST mana_cost="{2}{W}" type="Mana" />
<COST type="generic">
<PREREQUISITE>
return true
</PREREQUISITE>
<RESOLUTION_TIME_ACTION>
MTG():CreateDelayedTrigger(1)
</RESOLUTION_TIME_ACTION>
</COST>
<ABILITY_TEXT tag="ALTERNATE_COST_BESTOW_2_W" secondary_tag="ALTERNATE_COST_PAY_W" />
<CATEGORY name="Bestow" />
</UTILITY_ABILITY>
<TRIGGERED_ABILITY resource_id="1" linked_ability_group="1" replacement_effect="1">
<TRIGGER value="STATE_BASED_EFFECTS" pre_trigger="1" />
<CLEANUP fire_once="1" />
<RESOLUTION_TIME_ACTION>
MTG():CreateDelayedTrigger(2)
</RESOLUTION_TIME_ACTION>
<CONTINUOUS_ACTION layer="4A">
TFM_RemoveCardType( Object(), CARD_TYPE_CREATURE )
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="4B">
local subtypes = Object():GetCurrentCharacteristics():SubType_GetWritable()
subtypes:ClearAllOfType(CARD_TYPE_CREATURE)
subtypes:Add(ENCHANTMENT_TYPE_AURA)
</CONTINUOUS_ACTION>
<CONTINUOUS_ACTION layer="6">
Object():GetCurrentCharacteristics():GrantAbility(3)
</CONTINUOUS_ACTION>
<DURATION>
return LinkedDC():Get_Int(0) == 1
</DURATION>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY resource_id="2" linked_ability_group="1" replacement_effect="1">
<TRIGGER value="UNATTACHED_FROM_CREATURE" pre_trigger="1" />
<CLEANUP fire_once="1" />
<RESOLUTION_TIME_ACTION>
LinkedDC():Set_Int(0, 1)
MTG():ReevaluateContinuousEffects()
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<STATIC_ABILITY resource_id="3">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Enchant creature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Enchanter : créature]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Encantar criatura.]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Verzaubert eine Kreatur]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Incanta creatura]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[エンチャント(クリーチャー)]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[생물에 부여]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Зачаровать существо]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Encantar criatura]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[结附于生物]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[結附於生物]]></LOCALISED_TEXT>
</STATIC_ABILITY>
<QUERYTEXT tag="ALTERNATE_COST_PAY_W">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Pay {W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Payez {W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Paga {W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Bezahle {W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Paga {W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{W}を支払う]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{W} 지불]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Заплатить {W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Pagar {W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[支付{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[支付{W}]]></LOCALISED_TEXT>
</QUERYTEXT>
<QUERYTEXT tag="ALTERNATE_COST_BESTOW_2_W">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Bestow—Pay {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[Grâce — Payez {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[Concesión—Paga {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[Göttergabe — Bezahle {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[Conferire—Paga {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[授与―{2}{W}を支払う]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[권능—{2}{W} 지불]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[Дар — Заплатить {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[Agraciar — Pagar {2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-CN"><![CDATA[神授3~支付{2}{W}]]></LOCALISED_TEXT>
<LOCALISED_TEXT LanguageCode="zh-HK"><![CDATA[神授3~支付{2}{W}]]></LOCALISED_TEXT>
</QUERYTEXT>
<AI_BASE_SCORE score="300" zone="ZONE_HAND" />
<SFX text="COMBAT_SLASH_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_SLASH_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
</CARD_V2>
It seems that in Magic Duels, the EffectDC chests indexed with a string rather than a number are accessible from all abilities. This would make LinkedDC obsolete, but there are cards that still use it, so maybe I'm missing something... anyway, when you pay the bestow cost, delayed trigger #1 is set, which will transform the card into an Aura (changes don't appear on the stack but I think it's just a visual problem, I should test with a "counter target creature spell" and see if it's still a creature) and set delayed trigger #2, which will be fired when the Aura becomes unattached, putting an end to delayed trigger #1 through a LinkedDC flag. As I stated before, this won't work properly with cards like AEther Storm, but I think it's a minor approximation.
Note: I changed my TFM_RemoveCardType function so that it doesn't call ClearAllOfType, because type changes should be made on layer 4A while subtype changes should be made on layer 4B. Ephara was working even by doing everything on 4B, but I want to adhere to the rules so that we don't find unexpected bugs in the future.