Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
Programming Talk



Talk about new cards here
Moderator: CCGHQ Admins
Re: Talk about new cards here
by castled » 02 Dec 2010, 07:54
and, i wanna to build FASTBOND
{G} Enchantment
"You may play any number of additional lands on each of your turns.
Whenever you play a land, if it wasn't the first land you played this turn, Fastbond deals 1 damage to you."
then , i found an analogous card ORACLE_OF_MUL_DAYA and cut the first part of it for use.
it works well, but i wanna make its ability "per turn no limited", where shall i edit?
<TRIGGERED_ABILITY forced_skip="1" layer="0" zone="Hand" internal="1">
<TRIGGER value="COMES_INTO_PLAY">
return NonTokenLandFall() and TriggerObject():GetErstwhileZone() == ZONE_HAND
</TRIGGER>
<EFFECT>
Object():Register_Set(4,1)
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY forced_skip="1" layer="0" zone="in_play" internal="1">
<TRIGGER value="COMES_INTO_PLAY">
return NonTokenLandFall() and TriggerObject():GetErstwhileZone() == ZONE_HAND
</TRIGGER>
<EFFECT>
if Object():Register_Get(4) == 1 then
Object():Register_Set(4,2)
else
Object():Register_Set(4,1)
end
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY layer="0" zone="any" internal="1">
<TRIGGER value="BEGINNING_OF_STEP">
return (MTG():GetStep() == STEP_UNTAP or MTG():GetStep() == STEP_END_OF_TURN) and YourTurn()
</TRIGGER>
<EFFECT>
Object():Register_Set(4,0)
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY forced_skip="1" layer="0">
<TRIGGER value="COMES_INTO_PLAY">
return SelfTriggered()
</TRIGGER>
<EFFECT>
if Object():Register_Get(4) == 1 then
Object():Register_Set(4,1)
else
Object():Register_Set(4,0)
end
</EFFECT>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY tag="ORACLE_OF_MUL_DAYA_RULE_1" layer="0" internal="1">
<COST type="Mana" cost="{0}"/>
<AVAILABILITY>
return Object():Register_Get(4) == 1 and CountLandInHand( Object():GetOwner() ) > 0 and YourTurn()
</AVAILABILITY>
<PRE_EFFECT>
Object():GetFilter():Clear()
Object():GetFilter():NotTargetted()
Object():GetFilter():AddCardType( CARD_TYPE_LAND )
Object():GetFilter():SetPlayer( Object():GetOwner() )
Object():GetFilter():SetZone( ZONE_HAND )
Object():GetFilter():May()
Object():GetPlayer():SetTargetCount( 1 )
Object():GetPlayer():SetTargetPrompt( 0, "SearchYourLibraryForBasicLand" )
Object():GetPlayer():ChooseTargetsWithFlags( QUERY_FLAG_CAN_BE_FINISHED_EARLY )
</PRE_EFFECT>
<EFFECT>
if (Object():GetNthTargetCard( 0 ) ~= nil) then
Object():GetNthTargetCard( 0 ):PutIntoPlay(Object():GetOwner())
end
Object():Register_Set(4,2)
YouLoseLife( 1 )
</EFFECT>
</ACTIVATED_ABILITY>
{G} Enchantment
"You may play any number of additional lands on each of your turns.
Whenever you play a land, if it wasn't the first land you played this turn, Fastbond deals 1 damage to you."
then , i found an analogous card ORACLE_OF_MUL_DAYA and cut the first part of it for use.
it works well, but i wanna make its ability "per turn no limited", where shall i edit?
<TRIGGERED_ABILITY forced_skip="1" layer="0" zone="Hand" internal="1">
<TRIGGER value="COMES_INTO_PLAY">
return NonTokenLandFall() and TriggerObject():GetErstwhileZone() == ZONE_HAND
</TRIGGER>
<EFFECT>
Object():Register_Set(4,1)
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY forced_skip="1" layer="0" zone="in_play" internal="1">
<TRIGGER value="COMES_INTO_PLAY">
return NonTokenLandFall() and TriggerObject():GetErstwhileZone() == ZONE_HAND
</TRIGGER>
<EFFECT>
if Object():Register_Get(4) == 1 then
Object():Register_Set(4,2)
else
Object():Register_Set(4,1)
end
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY layer="0" zone="any" internal="1">
<TRIGGER value="BEGINNING_OF_STEP">
return (MTG():GetStep() == STEP_UNTAP or MTG():GetStep() == STEP_END_OF_TURN) and YourTurn()
</TRIGGER>
<EFFECT>
Object():Register_Set(4,0)
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY forced_skip="1" layer="0">
<TRIGGER value="COMES_INTO_PLAY">
return SelfTriggered()
</TRIGGER>
<EFFECT>
if Object():Register_Get(4) == 1 then
Object():Register_Set(4,1)
else
Object():Register_Set(4,0)
end
</EFFECT>
</TRIGGERED_ABILITY>
<ACTIVATED_ABILITY tag="ORACLE_OF_MUL_DAYA_RULE_1" layer="0" internal="1">
<COST type="Mana" cost="{0}"/>
<AVAILABILITY>
return Object():Register_Get(4) == 1 and CountLandInHand( Object():GetOwner() ) > 0 and YourTurn()
</AVAILABILITY>
<PRE_EFFECT>
Object():GetFilter():Clear()
Object():GetFilter():NotTargetted()
Object():GetFilter():AddCardType( CARD_TYPE_LAND )
Object():GetFilter():SetPlayer( Object():GetOwner() )
Object():GetFilter():SetZone( ZONE_HAND )
Object():GetFilter():May()
Object():GetPlayer():SetTargetCount( 1 )
Object():GetPlayer():SetTargetPrompt( 0, "SearchYourLibraryForBasicLand" )
Object():GetPlayer():ChooseTargetsWithFlags( QUERY_FLAG_CAN_BE_FINISHED_EARLY )
</PRE_EFFECT>
<EFFECT>
if (Object():GetNthTargetCard( 0 ) ~= nil) then
Object():GetNthTargetCard( 0 ):PutIntoPlay(Object():GetOwner())
end
Object():Register_Set(4,2)
YouLoseLife( 1 )
</EFFECT>
</ACTIVATED_ABILITY>
- castled
- Posts: 84
- Joined: 09 Oct 2010, 14:50
- Location: Shenzhen,China
- Has thanked: 16 times
- Been thanked: 1 time
and...
by castled » 02 Dec 2010, 13:31
i like to build FORK
{r}{r} instant
"copy target instant or sorcery spell, except that the copy is still red. you may choose new targets for the copy."
i can easily find the script <taget> <playing> in those cards like COUNTERSPELL , but how should i write <effect> that copy the spell and make it RED
(
{r}{r} instant
"copy target instant or sorcery spell, except that the copy is still red. you may choose new targets for the copy."
i can easily find the script <taget> <playing> in those cards like COUNTERSPELL , but how should i write <effect> that copy the spell and make it RED

- castled
- Posts: 84
- Joined: 09 Oct 2010, 14:50
- Location: Shenzhen,China
- Has thanked: 16 times
- Been thanked: 1 time
Re: Talk about new cards here
by kevlahnota » 03 Dec 2010, 11:47
You need to ask clarkzheng for the fastbond, I think he coded oracle mul daya.
about fork, its not possible because you cant put any cards on stack unless you cast it from your hand. if anyone founds on how to do it, well it will add a bunch of cards to the game (suspend, cascade, etc..)
about fork, its not possible because you cant put any cards on stack unless you cast it from your hand. if anyone founds on how to do it, well it will add a bunch of cards to the game (suspend, cascade, etc..)
-
kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Re: Talk about new cards here
by castled » 04 Dec 2010, 03:41
thank u very much for reply me!kevlahnota wrote:You need to ask clarkzheng for the fastbond, I think he coded oracle mul daya.
about fork, its not possible because you cant put any cards on stack unless you cast it from your hand. if anyone founds on how to do it, well it will add a bunch of cards to the game (suspend, cascade, etc..)

and it's another question i donnt know why cannt i produce mana token at last page.
about "copy ability", i remeber there is a creature in old DLC that "own all creature type u have", and, how about use this like code some thing "copy in layer8"
- castled
- Posts: 84
- Joined: 09 Oct 2010, 14:50
- Location: Shenzhen,China
- Has thanked: 16 times
- Been thanked: 1 time
Re: Talk about new cards here
by IceManOnline » 17 Dec 2010, 11:48
I think, it could work, if you just delete the SetTargetCount part...castled wrote:and, i wanna to build FASTBOND
<PRE_EFFECT>
Object():GetFilter():Clear()
Object():GetFilter():NotTargetted()
Object():GetFilter():AddCardType( CARD_TYPE_LAND )
Object():GetFilter():SetPlayer( Object():GetOwner() )
Object():GetFilter():SetZone( ZONE_HAND )
Object():GetFilter():May()
Object():GetPlayer():SetTargetCount( 1 )
Object():GetPlayer():SetTargetPrompt( 0, "SearchYourLibraryForBasicLand" )
Object():GetPlayer():ChooseTargetsWithFlags( QUERY_FLAG_CAN_BE_FINISHED_EARLY )
</PRE_EFFECT>
- IceManOnline
- Posts: 80
- Joined: 12 Dec 2010, 19:00
- Has thanked: 0 time
- Been thanked: 0 time
Re: Talk about new cards here
by IceManOnline » 17 Dec 2010, 21:59
I have a problem too.
I code Peregrine Drake and it's almost working as intended.
I can choose multiple lands to untap and the untapping itself works BUT if I have for example 3 Bayou 2 Volcanic Island, I can just select the group of Bayou as 1 land and also the group of Volcanics for 1 land... So it's just 2 lands, not 5...
Is it possible to declare, that I want to choose different "instances" of the card, if there is more than one in play?
Btw, the code is as follows:
I code Peregrine Drake and it's almost working as intended.
I can choose multiple lands to untap and the untapping itself works BUT if I have for example 3 Bayou 2 Volcanic Island, I can just select the group of Bayou as 1 land and also the group of Volcanics for 1 land... So it's just 2 lands, not 5...
Is it possible to declare, that I want to choose different "instances" of the card, if there is more than one in play?
Btw, the code is as follows:
- Code: Select all
<TRIGGERED_ABILITY tag="PEREGRINE_DRAKE_RULE_2" layer="0">
<TRIGGER value="COMES_INTO_PLAY">
return SelfTriggered()
</TRIGGER>
<TARGET_DETERMINATION>
Object():GetFilter():Clear()
Object():GetFilter():SetPlayer( Object():GetPlayer() )
Object():GetFilter():SetZone( ZONE_IN_PLAY )
Object():GetFilter():AddCardType( CARD_TYPE_LAND )
Object():GetPlayer():SetTargetCount( 5 )
Object():GetPlayer():SetTargetPrompt( 0, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 1, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 2, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 3, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 4, "CHOOSELAND" )
Object():GetPlayer():ChooseTargetsWithFlags( QUERY_FLAG_CAN_BE_FINISHED_EARLY )
</TARGET_DETERMINATION>
<!-- <PRE_EFFECT>
for i=0,4 do
Object():GetPlayer():SetTargetPrompt(i, "ChooseLand")
end
Object():GetPlayer():ChooseTargets()
</PRE_EFFECT> -->
<EFFECT>
<!-- for i=0,4 do
if Object():GetNthTargetCard(i) ~= nil then
Object():GetNthTargetCard(i):Untap()
end
end -->
if (Object():GetNthTargetCard( 0 ) ~= nil) then
Object():GetNthTargetCard( 0 ):Untap() )
end
if (Object():GetNthTargetCard( 1 ) ~= nil) then
Object():GetNthTargetCard( 1 ):Untap() )
end
if (Object():GetNthTargetCard( 2 ) ~= nil) then
Object():GetNthTargetCard( 2 ):Untap() )
end
if (Object():GetNthTargetCard( 3 ) ~= nil) then
Object():GetNthTargetCard( 3 ):Untap() )
end
if (Object():GetNthTargetCard( 4 ) ~= nil) then
Object():GetNthTargetCard( 4 ):Untap() )
end
</EFFECT>
</TRIGGERED_ABILITY>
- IceManOnline
- Posts: 80
- Joined: 12 Dec 2010, 19:00
- Has thanked: 0 time
- Been thanked: 0 time
Re: Talk about new cards here
by IceManOnline » 18 Dec 2010, 01:27
And another problem from Ice-Man...
I coded Kokusho, the evening star but it doesn't work as it should.
And if I play it, the game crashes after a couple of rounds. Maybe you can find my error. I looked for it for a couple of hours but can't find it.
Tanks in advance.
I coded Kokusho, the evening star but it doesn't work as it should.
- Code: Select all
<?xml version="1.0"?>
<MULTICARDS>
<CARD>
<TITLE text="KOKUSHO_TITLE" />
<FILENAME text="KOKUSHO" />
<COLLECTIONMAX value="0" />
<COLLECTORNUMBER value="0" />
<ARTID value="67890006" />
<FRAMECOLOUR name="B" />
<COLOR value="B" />
<ARTIST name="Tsutomu Kawade" />
<CASTING_COST cost="{4}{B}{B}" />
<CARDNUMBER value="0" />
<FLAVOURTEXT text="KOKUSHO_FLAVOUR" />
<SUPERTYPE metaname = "Legendary" />
<TYPE metaname = "Creature" />
<SUB_TYPE metaname = "Dragon" />
<SUB_TYPE metaname = "Spirit" />
<POWER value="5" />
<TOUGHNESS value="5" />
<RARITY metaname="rare" />
<EXPANSION metaname = "6789" />
<STATIC_ABILITY tag="KOKUSHO_RULE_1" layer="0">
<EFFECT>
flying()
</EFFECT>
</STATIC_ABILITY>
<TRIGGERED_ABILITY layer="0" zone="Graveyard" tag="KOKUSHO_RULE_2" forced_skip="1">
<TRIGGER value="HIT_GRAVEYARD">
return SelfTriggered() and ( TriggerObject():GetErstwhileZone() == ZONE_IN_PLAY )
</TRIGGER>
<TARGET_DETERMINATION>
return TargetOpponent()
</TARGET_DETERMINATION>
<PLAYTIME>
ChooseTarget( "ChooseOpponent" )
</PLAYTIME>
<EFFECT>
TargetPlayerLosesLife( 5 )
Object():Register_Set( 4, 2 )
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY layer="0" zone="Any" >
<TRIGGER value="ABILITY_RESOLVED">
if Object():Register_Get( 4 ) == 2 then
return SelfTriggered()
else
return false
end
</TRIGGER>
<EFFECT>
YouGainLife( 5 )
Object():Register_Clear( 4 )
</EFFECT>
</TRIGGERED_ABILITY>
</CARD>
</MULTICARDS>
And if I play it, the game crashes after a couple of rounds. Maybe you can find my error. I looked for it for a couple of hours but can't find it.
Tanks in advance.
- IceManOnline
- Posts: 80
- Joined: 12 Dec 2010, 19:00
- Has thanked: 0 time
- Been thanked: 0 time
Re: Talk about new cards here
by kevlahnota » 18 Dec 2010, 03:40
Try this code for peregrine drake:
- Code: Select all
<TRIGGERED_ABILITY tag="PEREGRINE_DRAKE_RULE_2" layer="0">
<TRIGGER value="COMES_INTO_PLAY">
return SelfTriggered()
</TRIGGER>
<PRE_EFFECT>
Object():GetFilter():Clear()
Object():GetFilter():NotTargetted()
Object():GetFilter():AddCardType( CARD_TYPE_LAND )
Object():GetFilter():AddSubType( LAND_TYPE_DESERT )
Object():GetFilter():AddExtra( FILTER_EXTRA_FLIP_SUB_TYPES )
Object():GetFilter():SetZone( ZONE_IN_PLAY )
Object():GetPlayer():SetTargetCount( 5 )
Object():GetFilter():May()
Object():GetPlayer():SetTargetPrompt( 0, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 1, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 2, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 3, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 4, "CHOOSELAND" )
Object():GetPlayer():ChooseTargets()
</PRE_EFFECT>
<EFFECT>
for i=0, 4 do
if Object():GetNthTargetCard( i ) ~= nil then
Object():GetNthTargetCard( i ):Untap()
end
end
</EFFECT>
</TRIGGERED_ABILITY>
IceManOnline wrote:I have a problem too.
I code Peregrine Drake and it's almost working as intended.
I can choose multiple lands to untap and the untapping itself works BUT if I have for example 3 Bayou 2 Volcanic Island, I can just select the group of Bayou as 1 land and also the group of Volcanics for 1 land... So it's just 2 lands, not 5...
Is it possible to declare, that I want to choose different "instances" of the card, if there is more than one in play?
Btw, the code is as follows:
- Code: Select all
<TRIGGERED_ABILITY tag="PEREGRINE_DRAKE_RULE_2" layer="0">
<TRIGGER value="COMES_INTO_PLAY">
return SelfTriggered()
</TRIGGER>
<TARGET_DETERMINATION>
Object():GetFilter():Clear()
Object():GetFilter():SetPlayer( Object():GetPlayer() )
Object():GetFilter():SetZone( ZONE_IN_PLAY )
Object():GetFilter():AddCardType( CARD_TYPE_LAND )
Object():GetPlayer():SetTargetCount( 5 )
Object():GetPlayer():SetTargetPrompt( 0, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 1, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 2, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 3, "CHOOSELAND" )
Object():GetPlayer():SetTargetPrompt( 4, "CHOOSELAND" )
Object():GetPlayer():ChooseTargetsWithFlags( QUERY_FLAG_CAN_BE_FINISHED_EARLY )
</TARGET_DETERMINATION>
<!-- <PRE_EFFECT>
for i=0,4 do
Object():GetPlayer():SetTargetPrompt(i, "ChooseLand")
end
Object():GetPlayer():ChooseTargets()
</PRE_EFFECT> -->
<EFFECT>
<!-- for i=0,4 do
if Object():GetNthTargetCard(i) ~= nil then
Object():GetNthTargetCard(i):Untap()
end
end -->
if (Object():GetNthTargetCard( 0 ) ~= nil) then
Object():GetNthTargetCard( 0 ):Untap() )
end
if (Object():GetNthTargetCard( 1 ) ~= nil) then
Object():GetNthTargetCard( 1 ):Untap() )
end
if (Object():GetNthTargetCard( 2 ) ~= nil) then
Object():GetNthTargetCard( 2 ):Untap() )
end
if (Object():GetNthTargetCard( 3 ) ~= nil) then
Object():GetNthTargetCard( 3 ):Untap() )
end
if (Object():GetNthTargetCard( 4 ) ~= nil) then
Object():GetNthTargetCard( 4 ):Untap() )
end
</EFFECT>
</TRIGGERED_ABILITY>
-
kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Re: Talk about new cards here
by kevlahnota » 18 Dec 2010, 03:53
I think keywords are case sensitive. It must be Flying() rather than flying().
Also kokusho's second ability doesn't target the opponent. It says each opponent, and at the same time you gain life.
try this trigger code for kokusho's second ability:
Also kokusho's second ability doesn't target the opponent. It says each opponent, and at the same time you gain life.
try this trigger code for kokusho's second ability:
- Code: Select all
<TRIGGERED_ABILITY layer="0" zone="Graveyard" tag="KOKUSHO_RULE_2" forced_skip="1">
<TRIGGER value="HIT_GRAVEYARD">
return SelfTriggered() and ( TriggerObject():GetErstwhileZone() == ZONE_IN_PLAY )
</TRIGGER>
<EFFECT>
for i=0,MTG():GetNumberOfPlayers()-1 do
if MTG():GetNthPlayer( i ):GetTeam() ~= Object():GetPlayer():GetTeam() then
MTG():GetNthPlayer( i ):LoseLife( 5 )
YouGainLife( 5 )
end
end
</EFFECT>
</TRIGGERED_ABILITY>
IceManOnline wrote:And another problem from Ice-Man...
I coded Kokusho, the evening star but it doesn't work as it should.That's my complete code. The strange thing is, it isn't even flying ingame.
- Code: Select all
<?xml version="1.0"?>
<MULTICARDS>
<CARD>
<TITLE text="KOKUSHO_TITLE" />
<FILENAME text="KOKUSHO" />
<COLLECTIONMAX value="0" />
<COLLECTORNUMBER value="0" />
<ARTID value="67890006" />
<FRAMECOLOUR name="B" />
<COLOR value="B" />
<ARTIST name="Tsutomu Kawade" />
<CASTING_COST cost="{4}{B}{B}" />
<CARDNUMBER value="0" />
<FLAVOURTEXT text="KOKUSHO_FLAVOUR" />
<SUPERTYPE metaname = "Legendary" />
<TYPE metaname = "Creature" />
<SUB_TYPE metaname = "Dragon" />
<SUB_TYPE metaname = "Spirit" />
<POWER value="5" />
<TOUGHNESS value="5" />
<RARITY metaname="rare" />
<EXPANSION metaname = "6789" />
<STATIC_ABILITY tag="KOKUSHO_RULE_1" layer="0">
<EFFECT>
flying()
</EFFECT>
</STATIC_ABILITY>
<TRIGGERED_ABILITY layer="0" zone="Graveyard" tag="KOKUSHO_RULE_2" forced_skip="1">
<TRIGGER value="HIT_GRAVEYARD">
return SelfTriggered() and ( TriggerObject():GetErstwhileZone() == ZONE_IN_PLAY )
</TRIGGER>
<TARGET_DETERMINATION>
return TargetOpponent()
</TARGET_DETERMINATION>
<PLAYTIME>
ChooseTarget( "ChooseOpponent" )
</PLAYTIME>
<EFFECT>
TargetPlayerLosesLife( 5 )
Object():Register_Set( 4, 2 )
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY layer="0" zone="Any" >
<TRIGGER value="ABILITY_RESOLVED">
if Object():Register_Get( 4 ) == 2 then
return SelfTriggered()
else
return false
end
</TRIGGER>
<EFFECT>
YouGainLife( 5 )
Object():Register_Clear( 4 )
</EFFECT>
</TRIGGERED_ABILITY>
</CARD>
</MULTICARDS>
And if I play it, the game crashes after a couple of rounds. Maybe you can find my error. I looked for it for a couple of hours but can't find it.
Tanks in advance.
-
kevlahnota - Programmer
- Posts: 825
- Joined: 19 Jul 2010, 17:45
- Location: Philippines
- Has thanked: 14 times
- Been thanked: 264 times
Re: Talk about new cards here
by IceManOnline » 18 Dec 2010, 13:31
Wonderful kev.
Kokusho works like a charm and Peregrine Drake also works. I just can't target all the lands with the mouse, but if I use the arrow keys, it's no problem. I have to do Palinchron next ^^
But I also have another problem with the key card for my deck...
It's Living Death. I think, the effects are correct and the problem is the triggers, but I hope you can help me again ^^
Kokusho works like a charm and Peregrine Drake also works. I just can't target all the lands with the mouse, but if I use the arrow keys, it's no problem. I have to do Palinchron next ^^
But I also have another problem with the key card for my deck...
It's Living Death. I think, the effects are correct and the problem is the triggers, but I hope you can help me again ^^
- Code: Select all
<?xml version="1.0"?>
<MULTICARDS>
<CARD>
<!--
///////////////////////////////////////////////////////////////////////////////////
CARD INFORMATIONS
///////////////////////////////////////////////////////////////////////////////////
-->
<FILENAME text = "LIVING_DEATH" />
<ARTID value = "67890003" />
<TITLE text = "LIVING_DEATH_TITLE" />
<TYPE metaname = "Sorcery" />
<CASTING_COST cost = "{3}{B}{B}" />
<COLOR value = "B" />
<FRAMECOLOUR name = "B" />
<EXPANSION metaname = "6789" />
<RARITY metaname = "Rare" />
<COLLECTIONMAX value = "0" />
<COLLECTORNUMBER value = "0" />
<CARDNUMBER value = "0" />
<ARTIST name = "Charles Gillespie" />
<!-- <FLAVOURTEXT text = "BURIED_ALIVE_FLAVOUR" /> -->
<!--
///////////////////////////////////////////////////////////////////////////////////
START OF CARD ABILITIES
///////////////////////////////////////////////////////////////////////////////////
-->
<SPELL_ABILITY layer="0" tag="LIVING_DEATH_RULE_1">
<FILTER>
return ( InGraveyard() and Creatures() )
</FILTER>
<PRE_EFFECT>
<!-- for i=0,Subject():Count() -1 do -->
Subject():Register_Object_Set( 5, Object() )
<!-- end -->
</PRE_EFFECT>
<EFFECT>
Subject():RemoveFromGame()
Object():Register_Set( 1 , 1 )
</EFFECT>
</SPELL_ABILITY>
<TRIGGERED_ABILITY layer="0">
<TRIGGER value="SPELL_RESOLVED">
return ( SelfTriggered() and ( Object():Register_Get(1) == 1 ) )
</TRIGGER>
<FILTER>
return CreaturesInPlay()
</FILTER>
<EFFECT>
Subject():Sacrifice()
Object():Register_Set( 1, 2)
</EFFECT>
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY layer="0">
<TRIGGER value="SPELL_RESOLVED">
return ( SelfTriggered() and ( Object():Register_Get(1) == 2 ) )
</TRIGGER>
<FILTER>
return Subject():Register_Object_Get(5) == Object() and Subject():GetZone() == ZONE_REMOVED_FROM_GAME
</FILTER>
<EFFECT>
Subject():PutIntoPlay( Subject():GetPlayer() )
Object():Register_Set( 1, 0)
</EFFECT>
</TRIGGERED_ABILITY> -->
<!--
///////////////////////////////////////////////////////////////////////////////////
END OF CARD ABILITIES
///////////////////////////////////////////////////////////////////////////////////
-->
</CARD>
</MULTICARDS>
- IceManOnline
- Posts: 80
- Joined: 12 Dec 2010, 19:00
- Has thanked: 0 time
- Been thanked: 0 time
Re: Talk about new cards here
by IceManOnline » 18 Dec 2010, 20:21
And another one, but just a question? Do we have any possibilities of counting storm? Put storm tokens into play for every spell, which resets every round?
I could also think of it with "global Card" that is put into play when the game begins... Is landfall coded this way?
But how to create such a card?
I could also think of it with "global Card" that is put into play when the game begins... Is landfall coded this way?
But how to create such a card?
- IceManOnline
- Posts: 80
- Joined: 12 Dec 2010, 19:00
- Has thanked: 0 time
- Been thanked: 0 time
Re: Talk about new cards here
by Shatterhouse » 20 Apr 2011, 05:04
I took a swing at Fury Charm. Does anyone know how to get it to choose a target after a mode of operation has been selected, instead of at the same time?
- Code: Select all
<SPELL_ABILITY layer="7c" tag="FURY_CHARM_RULE_1" simple_filter="Target">
<TARGET_DETERMINATION>
return TargetArtifactOrCreatureGood()
</TARGET_DETERMINATION>
<PLAYTIME>
Object():GetPlayer():BeginNewMultipleChoice( true )
Object():GetPlayer():AddMultipleChoiceAnswer( "FURY_CHARM_MODAL_1" )
Object():GetPlayer():AddMultipleChoiceAnswer( "FURY_CHARM_MODAL_2" )
Object():GetPlayer():AskMultipleChoiceQuestion( "MODAL_TITLE" )
if Object():GetMultipleChoiceResult() == 0 then
TargetArtifactGood()
ChooseTargetArtifact()
else
TargetCreatureGood()
ChooseTargetCreature()
end
</PLAYTIME>
<PRE_EFFECT>
</PRE_EFFECT>
<EFFECT>
if Object():GetMultipleChoiceResult() == 1 then
PlusOnePlusOneToTargetCard()
Trample()
else
DestroyTargetCard()
end
</EFFECT>
<DURATION>
return UntilEndOfTurn()
</DURATION>
</SPELL_ABILITY>
Last edited by Shatterhouse on 21 Apr 2011, 05:01, edited 1 time in total.
- Shatterhouse
- Posts: 72
- Joined: 20 Apr 2011, 00:07
- Has thanked: 0 time
- Been thanked: 2 times
Re: Talk about new cards here
by Shatterhouse » 21 Apr 2011, 04:51
Update on Fury Charm. I got it working so that if you choose "Destroy target artifact" it will only target artifacts, and if you choose "+1/+1 and Trample" it'll only target creatures, but I kind of had to cheat to do it. The target doesn't get chosen until the spell resolves, so it's a lot like Final Revels in that your opponent won't know what you plan to do with it until it's too late to cast a counterspell. It's probably fine if you only play against the AI. Tezzeret was smart enough to sacrifice his lone Bottle Gnomes after I chose "Destroy Target Artifact" and before I actually targeted anything.
Fury Charm's third ability won't be implemented until we get some Time Counters added into the game. Not terribly important yet.
Also, you have to be careful when you're choosing which option you want. If you misclick and choose "Destroy target artifact" when there aren't any artifacts, the spell fizzles. And if the only valid target is your own artifact, it's gone because there's no "Cancel" option by that point.
Fury Charm's third ability won't be implemented until we get some Time Counters added into the game. Not terribly important yet.
Also, you have to be careful when you're choosing which option you want. If you misclick and choose "Destroy target artifact" when there aren't any artifacts, the spell fizzles. And if the only valid target is your own artifact, it's gone because there's no "Cancel" option by that point.
- Code: Select all
<SPELL_ABILITY layer="7c" tag="FURY_CHARM_RULE_1" simple_filter="Target">
<PLAYTIME>
Object():GetPlayer():BeginNewMultipleChoice( true )
Object():GetPlayer():AddMultipleChoiceAnswer( "FURY_CHARM_MODAL_1" )
Object():GetPlayer():AddMultipleChoiceAnswer( "FURY_CHARM_MODAL_2" )
Object():GetPlayer():AskMultipleChoiceQuestion( "MODAL_TITLE" )
</PLAYTIME>
<PRE_EFFECT>
if Object():GetMultipleChoiceResult() == 0 then
TargetArtifactGood()
ChooseTargetArtifact()
else
TargetCreatureGood()
ChooseTargetCreature()
end
</PRE_EFFECT>
<EFFECT>
if Object():GetMultipleChoiceResult() == 1 then
PlusOnePlusOneToTargetCard()
Trample()
else
DestroyTargetCard()
end
</EFFECT>
<DURATION>
return UntilEndOfTurn()
</DURATION>
</SPELL_ABILITY>
- Shatterhouse
- Posts: 72
- Joined: 20 Apr 2011, 00:07
- Has thanked: 0 time
- Been thanked: 2 times
Re: Talk about new cards here
by Persee » 15 Jun 2011, 09:52
With BeginNewMultipleChoice, can I propose more than 3 choices ?
I try 5 choices but it doesn't work.
I try 5 choices but it doesn't work.
Re: Talk about new cards here
by Clark » 23 Jun 2011, 11:58
Hi, thank you for your comment. A good news to you, in DOTP 2012 there is a new API to implement this function. You could get it from card Explore.castled wrote:thank u very much for reply me!kevlahnota wrote:You need to ask clarkzheng for the fastbond, I think he coded oracle mul daya.
about fork, its not possible because you cant put any cards on stack unless you cast it from your hand. if anyone founds on how to do it, well it will add a bunch of cards to the game (suspend, cascade, etc..)and how can i find him?
and it's another question i donnt know why cannt i produce mana token at last page.
about "copy ability", i remeber there is a creature in old DLC that "own all creature type u have", and, how about use this like code some thing "copy in layer8"

To other guys, long time no see



- Clark
- Posts: 64
- Joined: 21 Aug 2010, 16:07
- Has thanked: 0 time
- Been thanked: 0 time
Who is online
Users browsing this forum: No registered users and 5 guests