Page 42 of 228

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 15:51
by Master Necro
thefiremind wrote:
Master Necro wrote:As long as we are talking about the rules if the card says "Prevent all combat damage that would be dealt to and dealt by enchanted creature." is it the same as "Enchanted creature can't attack or block."?
Why should it be the same? Creatures with 0 power don't deal combat damage, yet they can attack and block (if there's nothing else saying otherwise). Fog Bank is one of the best blockers ever, yet it has that ability.
Got it, the rules are still kinda fuzzy to me since I am fairly new to Magic. :)

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 16:33
by damienx45
okay so can you create spawnsire of ulamog without the 3rd ability? maybe give it another ability to replace the 3rd ability, like, (8:eldrazi creatures you control get +3/+3 and protection from color of your choice until end of turn)

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 18:07
by thefiremind
damienx45 wrote:okay so can you create spawnsire of ulamog without the 3rd ability? maybe give it another ability to replace the 3rd ability, like, (8:eldrazi creatures you control get +3/+3 and protection from color of your choice until end of turn)
Then it wouldn't be Spawnsire of Ulamog anymore... if you like invented cards, invent a new Eldrazi from scratch and give it all the abilities you want. In my opinion there's enough space for new ideas even without considering the cards that are impossible to code and without inventing new cards... but this is just my point of view. :)

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 18:13
by damienx45
okay so just make spawnsire without the 3rd ability, there's other cards that have been coded without certain abilities b/c there were not able to be coded.

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 19:04
by MC Brodie
Can cards like Ashen Ghoul be coded? For some reason i thought the current rule set went away from graveyard order

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 19:33
by RiiakShiNal
MC Brodie wrote:Can cards like Ashen Ghoul be coded? For some reason i thought the current rule set went away from graveyard order
It should be possible since we have Graveyard_GetNth( nIndex ). Now which way the indexes go in the graveyard I don't know at the moment, but essentially you scan the graveyard using Graveyard_GetNth() until you either see 3 creature cards (ability should be able to be activated) or you see the instance of Ashen Ghoul (in which case you prevent the ability from being activated) in an AVAILABILITY block.

Note: You would not use an INTERVENING_IF block for this ability since it is only checked to see if the ability can be activated.

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 20:48
by j6m6w6
whould anyone be able to code these please,

Ghoulcaller's Bell

Basilisk Collar

thanks!

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 22:57
by sumomole
I need help, I can't get the value PayManaCost(X) in generic cost. Who else coded ​​Kessig Wolf Run or have any way to do that?
Kessig Wolf Run(fail) | Open
Code: Select all
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{X}{R}{G}, {T}: Target creature gets +X/+0 and gains trample until end of turn.]]></LOCALISED_TEXT>
    <COST type="TapSelf" />
    <COST type="Generic">
      <PREREQUISITE>
    return EffectController():CanPayManaCost("{R}{G}")
    </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
    EffectController():PayManaCost("{X}{R}{G}")
    </RESOLUTION_TIME_ACTION>
    </COST>
    <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_GET_X_0" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
    <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:Power_Add( GetEffectX() )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION layer="6">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:Bool_Set( CHARACTERISTIC_TRAMPLE, 1 )
    end
    </CONTINUOUS_ACTION>
    <DURATION simple_duration="UntilEOT" />
    <AI_AVAILABILITY window_step="declare_blockers" type="window" />
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLIED_ONLY" />
    <AUTO_SKIP always="1" />
  </ACTIVATED_ABILITY>
j6m6w6 wrote:whould anyone be able to code these please, Ghoulcaller's Bell Basilisk Collar
cards.zip
(209.77 KiB) Downloaded 119 times

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 23:20
by j6m6w6
^thanks!

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 23:22
by Xander9009
sumomole wrote:I need help, I can't get the value PayManaCost(X) in generic cost. Who else coded ​​Kessig Wolf Run or have any way to do that?
Kessig Wolf Run(fail) | Open
Code: Select all
  <ACTIVATED_ABILITY>
    <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{X}{R}{G}, {T}: Target creature gets +X/+0 and gains trample until end of turn.]]></LOCALISED_TEXT>
    <COST type="TapSelf" />
    <COST type="Generic">
      <PREREQUISITE>
    return EffectController():CanPayManaCost("{R}{G}")
    </PREREQUISITE>
      <RESOLUTION_TIME_ACTION>
    EffectController():PayManaCost("{X}{R}{G}")
    </RESOLUTION_TIME_ACTION>
    </COST>
    <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_GET_X_0" definition="0" compartment="0" count="1" />
    <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
    <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:Power_Add( GetEffectX() )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
    <CONTINUOUS_ACTION layer="6">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:Bool_Set( CHARACTERISTIC_TRAMPLE, 1 )
    end
    </CONTINUOUS_ACTION>
    <DURATION simple_duration="UntilEOT" />
    <AI_AVAILABILITY window_step="declare_blockers" type="window" />
    <AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ALLIED_ONLY" />
    <AUTO_SKIP always="1" />
  </ACTIVATED_ABILITY>
j6m6w6 wrote:whould anyone be able to code these please, Ghoulcaller's Bell Basilisk Collar
cards.zip
This was how I coded Drana, Kalastria Bloodchief

| Open
Code: Select all
<ACTIVATED_ABILITY>
      <LOCALISED_TEXT LanguageCode="en-US"><![CDATA[{X}{B}{B}: Target creature gets -0/-X until end of turn and Drana, Kalastria Bloodchief gets +X/+0 until end of turn.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="fr-FR"><![CDATA[{X}{B}{B} : La créature ciblée gagne -0/-X jusqu’à la fin du tour et Drana, chef de sang des Kalastria gagne +X/+0 jusqu’à la fin du tour.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="es-ES"><![CDATA[{X}{B}{B}: La criatura objetivo obtiene -0/-X hasta el final del turno y Drana, jefe de sangre Kalastria obtiene +X/+0 hasta el final del turno.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="de-DE"><![CDATA[{X}{B}{B}: Eine Kreatur deiner Wahl erhält -0/-X bis zum Ende des Zuges, und Drana, Bluthäuptling der Kalastria, erhält +X/+0 bis zum Ende des Zuges.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="it-IT"><![CDATA[{X}{B}{B}: Una creatura bersaglio prende -0/-X fino alla fine del turno e Drana, Capo Sanguinario Kalastria prende +X/+0 fino alla fine del turno.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="jp-JA"><![CDATA[{X}{B}{B}:クリーチャー1体を対象とする。それはターン終了時まで-0/-Xの修整を受け、カラストリアの血の長、ドラーナはターン終了時まで+X/+0の修整を受ける。]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ko-KR"><![CDATA[{X}{B}{B}: Target creature gets -0/-X until end of turn and Drana, Kalastria Bloodchief gets +X/+0 until end of turn.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="ru-RU"><![CDATA[{X}{B}{B}: целевое существо получает -0/-X до конца хода, а Драна, Кровавый Вождь Каластриев получает +X/+0 до конца хода.]]></LOCALISED_TEXT>
      <LOCALISED_TEXT LanguageCode="pt-BR"><![CDATA[{X}{B}{B}: A criatura alvo recebe -0/-X até o final do turno e Drana, Grão-Vampiro Kalastria, recebe +X/+0 até o final do turno.]]></LOCALISED_TEXT>
      <COST mana_cost="{X}{B}{B}" type="Mana" />
      <TARGET tag="CARD_QUERY_CHOOSE_CREATURE_TO_LOSE_1_1" definition="0" compartment="0" count="1" />
      <TARGET_DEFINITION id="0">
    local filter = ClearFilter()
    filter:Add( FE_TYPE, OP_IS, CARD_TYPE_CREATURE )
    </TARGET_DEFINITION>
      <CONTINUOUS_ACTION layer="7C">
    local target = EffectDC():Get_Targets(0):Get_CardPtr(0)
    if target ~= nil then
       local characteristics = target:GetCurrentCharacteristics()
       characteristics:Power_Add( 0 )
       characteristics:Toughness_Add( -GetEffectX() )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
      <CONTINUOUS_ACTION layer="7C">
    if EffectSource() ~= nil then
       local characteristics = EffectSource():GetCurrentCharacteristics()
       characteristics:Power_Add( GetEffectX() )
       characteristics:Toughness_Add( 0 )
    end
    </CONTINUOUS_ACTION>
      <DURATION simple_duration="UntilEOT" />
   </ACTIVATED_ABILITY>

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 23:29
by RiiakShiNal
For Kessig Wolf Run wouldn't you use:
Code: Select all
<COST type="Mana" mana_cost="{X}{R}{G}" />
then use the GetEffectX()?

Otherwise you'll need to determine the max cost a player can afford using something like:
Code: Select all
local nMaxX = 0
while (EffectController():CanPayManaCost("{"..nMaxX.."}{R}{G}") do
  nMaxX = nMaxX + 1
end
-- Adjust downward because we went over what can be afforded.
nMaxX = nMaxX - 1
Then ask the player a numeric question using something like:
Code: Select all
EffectController():BeginNewNumericalChoice()
EffectController():AddNumericalChoiceAnswer( nMaxX )
EffectController():AskNumericalChoiceQuestion( "<CARD_QUERY here>" )
and then make them pay it with PayManaCost. Getting the amount using EffectController():GetNumericalChoiceResult().

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 23:36
by sumomole
Xander9009 wrote:This was how I coded Drana, Kalastria Bloodchief
These two cards have nothing in common, since Kessig Wolf Run can produce mana, any activated ability need tapped on a card that can produce mana will cause error, usually, such as Gavony Township, we add
Code: Select all
    <AVAILABILITY>
    return EffectController():CanPayManaCost("{3}{G}{W}")
    </AVAILABILITY>
to solve this problem, can pay mana cost equal to ability mana cost plus 1, but it's not valid for Kessig Wolf Run, because of this X.

RiiakShiNal wrote:For Kessig Wolf Run wouldn't you use:
Code: Select all
<COST type="Mana" mana_cost="{X}{R}{G}" />
then use the GetEffectX()?

Otherwise you'll need to determine the max cost a player can afford using something like:
Code: Select all
local nMaxX = 0
while (EffectController():CanPayManaCost("{"..nMaxX.."}{R}{G}") do
  nMaxX = nMaxX + 1
end
-- Adjust downward because we went over what can be afforded.
nMaxX = nMaxX - 1
Then ask the player a numeric question using something like:
Code: Select all
EffectController():BeginNewNumericalChoice()
EffectController():AddNumericalChoiceAnswer( nMaxX )
EffectController():AskNumericalChoiceQuestion( "<CARD_QUERY here>" )
and then make them pay it with PayManaCost. Getting the amount using EffectController():GetNumericalChoiceResult().
This way is no problem in 2013, but now we have lost TapLand(), I have tried and EffectController():PayManaCost("{.. EffectController():GetTotalMana()..}") not always work fine, seem to conflict between PayManaCost and GetNumericalChoiceResult. :(
I guess because TapLand only consider the current state: lands are tapped or not, but PayManaCost seem to get the state before starting ability, so even Kessig Wolf Run has been tapped by ability tap cost, it still be considered one of the mana sources.

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 23:40
by Xander9009
sumomole wrote:
Xander9009 wrote:This was how I coded Drana, Kalastria Bloodchief
These two cards have nothing in common, since Kessig Wolf Run can produce mana, any activated ability need tapped on a card that can produce mana will cause error, usually, such as Gavony Township, we add
Code: Select all
    <AVAILABILITY>
    return EffectController():CanPayManaCost("{3}{G}{W}")
    </AVAILABILITY>
to solve this problem, can pay mana cost equal to ability mana cost plus 1, but it's not valid for Kessig Wolf Run, because of this X.
Ah, sorry. I didn't know that caused issues.

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 23:53
by thefiremind
sumomole wrote:This way is no problem in 2013, but now we have lost TapLand(), I have tried and EffectController():PayManaCost("{.. EffectController():GetTotalMana()..}") not always work fine, seem to conflict between PayManaCost and GetNumericalChoiceResult. :(
What happens exactly when it doesn't work? I coded Crimson Hellkite with the same trick I used in DotP2013 and from a brief test it seemed to work fine... here it is, maybe it will help you (or maybe you'll discover that it has a problem :lol:): viewtopic.php?f=109&t=11010&p=127033#p127033

Re: Formal Request Thread

PostPosted: 30 Jul 2013, 23:54
by RiiakShiNal
sumomole wrote:This way is no problem in 2013, but now we have lost TapLand(), I have tried and EffectController():PayManaCost("{.. EffectController():GetTotalMana()..}") not always work fine, seem to conflict between PayManaCost and GetNumericalChoiceResult. :(
Instead of GetTotalMana() wouldn't it be:
Code: Select all
EffectController():PayManaCost("{"..EffectController():GetNumericalChoiceResult().."}{R}{G}")
As I would imagine GetTotalMana() would either return all available mana or would return the total possible mana if it was all untapped. Even then I would likely save off the result from GetNumericalChoiceResult() in case it resets after access using something like:
Code: Select all
local nChosenX = EffectController():GetNumericalChoiceResult()
EffectDC():Int_Set( 1, nChosenX )
That way I can get the value later in the effect without having to worry if some other card started another numeric question or wondering if the result is still valid.