Board index
Programs with AI or Rules Enforcement
Magic: The Gathering - Duels of the Planeswalkers
New MTG Cards and Decks (2010, 2012, 2013, 2014, 2015, Magic Duels)
2014
![](./styles/solarsentinel/theme/images/arrow.png)
![](./styles/solarsentinel/theme/images/arrow.png)
![](./styles/solarsentinel/theme/images/arrow.png)
![](./styles/solarsentinel/theme/images/arrow.png)
Community Wad
Moderator: CCGHQ Admins
Re: Community Wad
by thanosyro » 23 Jun 2020, 13:37
Dusk // Dawn having in main deck, crashes the program to desktop. Can somebody confirm?
Re: Community Wad
by Mori » 04 Jul 2020, 19:12
Bug reports:
- Activated ability of Birds of Paradise (BIRDS_OF_PARADISE_CW_221896) ignores the summoning sickness.
- After using Veil of Summer in the match and exiting the game, I saw this error:
- Code: Select all
[lua] [string "VEIL_OF_SUMMER_CW_TITLE (CONTINUOUS_ACTION)~0x00001b95"]:4: attempt to call method 'GrantAbility' (a nil value)
Yes. I created a deck with knights and this spell. After the start of the match, the game crashed.thanosyro wrote:Dusk // Dawn having in main deck, crashes the program to desktop. Can somebody confirm?
- Mori
- Posts: 8
- Joined: 29 Aug 2019, 14:16
- Has thanked: 0 time
- Been thanked: 0 time
Re: Community Wad
by newtomagic » 11 Jul 2020, 09:36
I just want to ask for anyone who can code this
"At the beginning of each end step, if a creature died this turn, you may put a loyalty counter on a Liliana planeswalker you control"
i have this but it doesnt work----
<COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
return MTG():GetStep() == STEP_END_OF_TURN
</TRIGGER>
<INTERVENING_IF ignore_resolution_check="1">
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetFromZone( ZONE_BATTLEFIELD )
interrogation:SetToZone( ZONE_GRAVEYARD )
interrogation:SetType( CARD_TYPE_CREATURE )
if interrogation:Test( INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN ) then
return true
else
return false
end
</INTERVENING_IF>
<TARGET tag="SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO" definition="1" compartment="1" count="1" />
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
CW_Filter_AddPlaneswalkers(filter)
CW_Filter_SubType(filter, PLANESWALKER_TYPE_LILIANA)
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local FilteredCard() = EffectDC():Get_Targets(1) and
EffectDC():Get_Targets(1):Get_CardPtr(0)
if FilteredCard() ~= nil then
FilteredCard():AddCounters( MTG():GetCountersType("Loyalty"), 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
"At the beginning of each end step, if a creature died this turn, you may put a loyalty counter on a Liliana planeswalker you control"
i have this but it doesnt work----
<COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
return MTG():GetStep() == STEP_END_OF_TURN
</TRIGGER>
<INTERVENING_IF ignore_resolution_check="1">
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetFromZone( ZONE_BATTLEFIELD )
interrogation:SetToZone( ZONE_GRAVEYARD )
interrogation:SetType( CARD_TYPE_CREATURE )
if interrogation:Test( INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN ) then
return true
else
return false
end
</INTERVENING_IF>
<TARGET tag="SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO" definition="1" compartment="1" count="1" />
<TARGET_DEFINITION id="1">
local filter = ClearFilter()
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
CW_Filter_AddPlaneswalkers(filter)
CW_Filter_SubType(filter, PLANESWALKER_TYPE_LILIANA)
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local FilteredCard() = EffectDC():Get_Targets(1) and
EffectDC():Get_Targets(1):Get_CardPtr(0)
if FilteredCard() ~= nil then
FilteredCard():AddCounters( MTG():GetCountersType("Loyalty"), 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
- newtomagic
- Posts: 26
- Joined: 10 Jul 2020, 06:56
- Has thanked: 8 times
- Been thanked: 1 time
Re: Community Wad
by fallenangle » 11 Jul 2020, 16:55
I can see that you've almost got it, but you're doing a few things that should probably be changed. I would suggest this:
- Code: Select all
<TRIGGERED_ABILITY>
<COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
<TRIGGER value="BEGINNING_OF_PLAYERS_STEP">
return MTG():GetStep() == STEP_END_OF_TURN
</TRIGGER>
<INTERVENING_IF ignore_resolution_check="1">
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetFromZone( ZONE_BATTLEFIELD )
interrogation:SetToZone( ZONE_GRAVEYARD )
interrogation:SetType( CARD_TYPE_CREATURE )
if interrogation:Test( INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN ) then
return true
else
return false
end
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
local oController = EffectController()
if oController ~= nil then
local filter = ClearFilter()
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
CW_Filter_AddPlaneswalkers(filter)
CW_Filter_SubType(filter, PLANESWALKER_TYPE_LILIANA)
oController:ChooseItem("SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO", EffectDC():Make_Targets(1))
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(1) and
EffectDC():Get_Targets(1):Get_CardPtr(0)
if target ~= nil then
target:AddCounters( MTG():GetCountersType("Loyalty"), 1 )
end
</RESOLUTION_TIME_ACTION>
<MAY/>
</TRIGGERED_ABILITY>
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Community Wad
by newtomagic » 12 Jul 2020, 05:53
Thanks for the reply....but its still not working..I believe this
"oController:ChooseItem("SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO", EffectDC():Make_Targets(1))"
should be a prompt but it doesnt appear.. the special effects where the cards signals that its gonna activate something but after that nothing happens..
"oController:ChooseItem("SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO", EffectDC():Make_Targets(1))"
should be a prompt but it doesnt appear.. the special effects where the cards signals that its gonna activate something but after that nothing happens..
- newtomagic
- Posts: 26
- Joined: 10 Jul 2020, 06:56
- Has thanked: 8 times
- Been thanked: 1 time
Re: Community Wad
by fallenangle » 12 Jul 2020, 12:54
I thought a bit more about this, and you're right. Try deleting the "MAY" tag I put at the bottom and replacing the prompt you quoted with this:
- Code: Select all
oController:ChooseItem("SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO", EffectDC():Make_Targets(1), QUERY_FLAG_MAY)
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Community Wad
by newtomagic » 12 Jul 2020, 15:10
- Code: Select all
<RESOLUTION_TIME_ACTION>
local oController = EffectController()
if oController ~= nil then
local filter = ClearFilter()
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
CW_Filter_AddPlaneswalkers(filter)
CW_Filter_SubType(filter, PLANESWALKER_TYPE_LILIANA)
oController:ChooseItem("SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO", EffectDC():Make_Targets(1), QUERY_FLAG_MAY)
end
</RESOLUTION_TIME_ACTION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(1) and
EffectDC():Get_Targets(1):Get_CardPtr(0)
if target ~= nil then
target:AddCounters( MTG():GetCountersType("Loyalty"), 1 )
end
</RESOLUTION_TIME_ACTION>
- newtomagic
- Posts: 26
- Joined: 10 Jul 2020, 06:56
- Has thanked: 8 times
- Been thanked: 1 time
Re: Community Wad
by fallenangle » 12 Jul 2020, 19:54
All right, Newtomagic: here is your card, tested and working. The problem was that, even though it looks like it should work, you can't actually check planeswalker subtypes using the method you proposed. I didn't know this either until I checked other coded cards for a working method.
- Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<CARD_V2 ExportVersion="2">
<FILENAME text="LILIANAS_SCROUNGER_CW" />
<CARDNAME text="LILIANAS_SCROUNGER" />
<TITLE>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Liliana's Scrounger]]></LOCALISED_TEXT>
</TITLE>
<MULTIVERSEID value="488636" />
<ARTID value="LILIANAS_SCROUNGER" />
<ARTIST name="Martina Fackowa" />
<CASTING_COST cost="{2}{B}" />
<FLAVOURTEXT>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA["This arm's got plenty of use left in it. Who'd throw such a nice thing away?"]]></LOCALISED_TEXT>
</FLAVOURTEXT>
<TYPE metaname="Creature" />
<SUB_TYPE metaname="Human" />
<SUB_TYPE metaname="Wizard" />
<EXPANSION value="M21" />
<RARITY metaname="U" />
<POWER value="3" />
<TOUGHNESS value="2" />
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[At the beginning of each end step, if a creature died this turn, you may put a loyalty counter on a Liliana planeswalker you control.]]></LOCALISED_TEXT>
<COUNTER_REGISTRATION name="Loyalty" proliferate="11" />
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_END_OF_TURN
</TRIGGER>
<INTERVENING_IF ignore_resolution_check="1">
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetFromZone(ZONE_BATTLEFIELD)
interrogation:SetToZone(ZONE_GRAVEYARD)
interrogation:SetType(CARD_TYPE_CREATURE)
return interrogation:Test(INTERROGATE_CARDS_MOVED_ZONE, INTERROGATE_THIS_TURN)
</INTERVENING_IF>
<RESOLUTION_TIME_ACTION>
local oFilter = ClearFilter()
oFilter:SetZone(ZONE_BATTLEFIELD)
oFilter:Add(FE_CONTROLLER, OP_IS, EffectController())
oFilter:Add(FE_LUA_CONDITION, 1, EffectController(), EffectDC())
if oFilter:CountStopAt(1) == 1 then
EffectController():ChooseItem("SPL_CARD_QUERY_CHOOSE_PLANESWALKER_TO_ADD_A_LOYALTY_COUNTER_TO", EffectDC():Make_Targets(1), QUERY_FLAG_MAY)
end
</RESOLUTION_TIME_ACTION>
<FILTER_CONDITION id="1">
return FilteredCard() ~= nil and PLW_GetSubType(FilteredCard()) == PLANESWALKER_TYPE_LILIANA
</FILTER_CONDITION>
<RESOLUTION_TIME_ACTION>
local target = EffectDC():Get_Targets(1) and EffectDC():Get_Targets(1):Get_CardPtr(0)
if target ~= nil then
target:AddCounters( MTG():GetCountersType("Loyalty"), 1 )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SFX text="COMBAT_BLUNT_LARGE_ATTACK" power_boundary_min="4" power_boundary_max="-1" />
<SFX text="COMBAT_BLUNT_SMALL_ATTACK" power_boundary_min="1" power_boundary_max="3" />
<AUTHOR><![CDATA[fallenangle]]></AUTHOR>
<EDITORS><![CDATA[fallenangle]]></EDITORS>
<DATE><![CDATA[12-07-20]]></DATE>
</CARD_V2>
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Community Wad
by newtomagic » 13 Jul 2020, 03:50
Thank You Very Much...ones step closer to completing those 2021 black core set... Thanks a Lotfallenangle wrote:All right, Newtomagic: here is your card, tested and working. The problem was that, even though it looks like it should work, you can't actually check planeswalker subtypes using the method you proposed. I didn't know this either until I checked other coded cards for a working method.
last question..do you know How do i call my custom Tokens???
this is my Token file name: TOKEN_BEAR_C_2_2_G_5510771
i think is what should i replace CW_Tokens in the code because my token are in inside DATA_DLC_DECK_BUILDER_CUSTOM and not CW..
- Code: Select all
CW_Tokens("ANGEL_C_4_4_W_F", 1, player)
- newtomagic
- Posts: 26
- Joined: 10 Jul 2020, 06:56
- Has thanked: 8 times
- Been thanked: 1 time
Re: Community Wad
by fallenangle » 13 Jul 2020, 15:50
It depends on what you want to do with the tokens. The simplest thing is just to create them using MTG():PutTokensOntoBattlefield("tokenname", number, player, Makesomekindofchest). You can also put token copies onto the battlefield, or put tokens onto the battlefield tapped, or put tokens onto the battlefield tapped and attacking, depending on the function you need. You can see a list of Functions in the "Information" section of the DOTP 2014 Wiki page. You can also look at real examples of tokens being created if you have Riiak's Deckbuider, look for a card that does what you want (or something similar) and choose "View Card" by right-clicking to see the card's code. That's what most of us who code cards for this game usually do.
You probably can't use the CW's token creation functions to do what you want unless you update your copy of the CW in the appropriate places. I don't fully understand how the CW manages this, so every card I code uses just 1 token and the default game functions to accomplish its task.
Note that the game will crash after a match if you don't register any tokens you plan for a card to create in the appropriate place on your token-creating card. If you need more help with a specific card, let me know, and I'll see what I can do to help you.
You probably can't use the CW's token creation functions to do what you want unless you update your copy of the CW in the appropriate places. I don't fully understand how the CW manages this, so every card I code uses just 1 token and the default game functions to accomplish its task.
Note that the game will crash after a match if you don't register any tokens you plan for a card to create in the appropriate place on your token-creating card. If you need more help with a specific card, let me know, and I'll see what I can do to help you.
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Community Wad
by newtomagic » 14 Jul 2020, 07:54
ah i see
- Code: Select all
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[This spell costs {2} less to cast if it targets a blue spell.]]></LOCALISED_TEXT>
<TRIGGER value="CARD_CONSIDERED_FOR_TARGETTING" simple_qualifier="self" pre_trigger="1">
return SecondaryObject():GetController() == EffectController():GetTeam() and TriggerObject():GetColour():Test(COLOUR_BLUE) and EffectController():MyTurn()
</TRIGGER>
<RESOLUTION_TIME_ACTION>
if SecondaryObject() ~= nil then
SecondaryObject():DecreaseCost(2)
end
</RESOLUTION_TIME_ACTION>
- newtomagic
- Posts: 26
- Joined: 10 Jul 2020, 06:56
- Has thanked: 8 times
- Been thanked: 1 time
Re: Community Wad
by fallenangle » 14 Jul 2020, 19:13
You're attempting to use a trigger in a way that it can't be used, for starters. "CARD_CONSIDERED_FOR..." triggers have very limited use, namely, to override potential targeting or casting from cards that shouldn't be able to target the card in question or be cast. Secondly, TriggerObject() is used for the thing that actually experiences the effect of the trigger, while SecondaryObject() is usually used for the cause. Thirdly, cost reduction of the sort you're looking to achieve is only possible in a TARGET block. Look at the code on "Price of Fame" as an example of the kind of code you need. The code you have now can't be rewritten in such a way that it will work.
I would propose working code, but I have no idea what your card is supposed to do when it targets spells, so I can't say what you need. Let me know, and I can look into it for you.
I would propose working code, but I have no idea what your card is supposed to do when it targets spells, so I can't say what you need. Let me know, and I can look into it for you.
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Community Wad
by newtomagic » 15 Jul 2020, 02:56
Thanks for that card Price of Fame.. got it working...wordings in this new coresets are different its making it a little hard to search for similar cards...
can you check why is the flying part not working in this code? its from Reaper of Night card
can you check why is the flying part not working in this code? its from Reaper of Night card
- Code: Select all
<TRIGGERED_ABILITY>
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever Reaper of Night attacks, If defending player has two or fewer cards in hand, it gains flying until end of turn.]]></LOCALISED_TEXT>
<TRIGGER value="ATTACKING" simple_qualifier="self"> </TRIGGER>
<INTERVENING_IF>
local number = GetPlayerAttacked():Hand_Count()
if number <= 2 then
return true
else
return false
end
</INTERVENING_IF>
<CONTINUOUS_ACTION layer="6">
if EffectSource() ~= nil then
local characteristics = EffectSource():GetCurrentCharacteristics()
characteristics:Bool_Set( CHARACTERISTIC_FLYING, 1 )
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
</TRIGGERED_ABILITY>
- newtomagic
- Posts: 26
- Joined: 10 Jul 2020, 06:56
- Has thanked: 8 times
- Been thanked: 1 time
Re: Community Wad
by fallenangle » 15 Jul 2020, 16:15
There are two things I can think of that you might try. The first is to delete the extraneous "</TRIGGER>" tag and put an / at the end of the "TRIGGER value" line to close it. You only need "</TRIGGER>" tags if there is a condition other than what is specified in the "TRIGGER value" line for it to work.
The second thing you could try would be to put everything in your "INTERVENING_IF" block in between the "TRIGGER value" and "</TRIGGER>" lines, then get rid of the "INTERVENING_IF" block.
These two things are more or less equivalent; the game shouldn't prefer one over the other, although it might.
Let me know if I can help with anything else.
The second thing you could try would be to put everything in your "INTERVENING_IF" block in between the "TRIGGER value" and "</TRIGGER>" lines, then get rid of the "INTERVENING_IF" block.
These two things are more or less equivalent; the game shouldn't prefer one over the other, although it might.
Let me know if I can help with anything else.
- fallenangle
- Posts: 319
- Joined: 20 Jul 2013, 02:31
- Has thanked: 73 times
- Been thanked: 41 times
Re: Community Wad
by newtomagic » 17 Jul 2020, 04:26
Thanks for all your help...i still need a lot of Help so i decided to collect those code i cant copy edit paste from other cards..
1.Banish into Fable card "[When you cast this spell from your hand, copy it if you control an
artifact, then copy it if you control an enchantment. You may choose new targets for the
copies."
2. Dance of the Mance card
3. Doom Foretold card
1.Banish into Fable card "[When you cast this spell from your hand, copy it if you control an
artifact, then copy it if you control an enchantment. You may choose new targets for the
copies."
2. Dance of the Mance card
3. Doom Foretold card
- newtomagic
- Posts: 26
- Joined: 10 Jul 2020, 06:56
- Has thanked: 8 times
- Been thanked: 1 time
Who is online
Users browsing this forum: No registered users and 32 guests