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




TFM&G2K's Planeswalkers Pool v8g (12/Sep/2014)
Moderator: CCGHQ Admins
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by gorem2k » 11 Aug 2014, 11:19
Hey mister TFM, do you think it would be a good idea to make a second wad containing only cards dependent to planeswalkers? something like DATA_DLC_PLW_CS.WAD (complementary set) some people make decks with incompatible cards. Or maybe mix them within the main PLW.WAD?
I know dotp2014 is not really a priority these days. But personally, the more I experiment with dotp2015, the more I dislike it. I think they did a good job making this unfriendly to modders. They're about to hard-code every cards into the main .EXE file just to put a definitive stop on us
And I know for sure, I can't imagine myself playing the game without having a minimum freedom for creativity, manual mana, and planeswalkers!
That said, even if Rick or somebody else can decrypt the game, I don't think this new file system will be enjoyable for modders.
Any thoughts?
I know dotp2014 is not really a priority these days. But personally, the more I experiment with dotp2015, the more I dislike it. I think they did a good job making this unfriendly to modders. They're about to hard-code every cards into the main .EXE file just to put a definitive stop on us

And I know for sure, I can't imagine myself playing the game without having a minimum freedom for creativity, manual mana, and planeswalkers!
That said, even if Rick or somebody else can decrypt the game, I don't think this new file system will be enjoyable for modders.
Any thoughts?
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by thefiremind » 11 Aug 2014, 15:03
That could be done... but I won't do that personally. If you want to make that set, feel free to do so.gorem2k wrote:Hey mister TFM, do you think it would be a good idea to make a second wad containing only cards dependent to planeswalkers? something like DATA_DLC_PLW_CS.WAD (complementary set) some people make decks with incompatible cards. Or maybe mix them within the main PLW.WAD?
I'd like to see what's inside DATA_000.ZED and make a few tests before saying that. I don't plan on going back to DotP2014 no matter what, so it's either DotP2015 or the end of my modding times. I'll keep giving help on the forums and care about the Planeswalkers Pool as long as I still feel like doing so.gorem2k wrote:even if Rick or somebody else can decrypt the game, I don't think this new file system will be enjoyable for modders.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by gorem2k » 11 Aug 2014, 23:31
Ok, that will give me a standpoint.thefiremind wrote:If you want to make that set, feel free to do so.
Alright, this next question ain't about Planeswalkers Pool but a card i'm trying to do: The Chain Veil. Now this one require PW activation monitoring.thefiremind wrote:I'll keep giving help on the forums and care about the Planeswalkers Pool as long as I still feel like doing so.
Each current PW have this:
- Code: Select all
<AVAILABILITY per_turn_limit="1" sorcery_time="1" />
What would be your modus operandi

Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by thefiremind » 12 Aug 2014, 00:05
I think we can, it's redundant.gorem2k wrote:Do you think we could remove per_turn_limit="1" since there's already a rule for activation limit in PW manager?
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by gorem2k » 12 Aug 2014, 03:27
Ok, I have started an expansion (or complementary set) for planeswalkers. I will post it on my DLC mod page if TFM don't want it here.
I added a new constant in D14_PLW.LOL :
And finally, I've migrated Tarmogoyf and his TDX to my PLW_CS mod. The Chain Veil is now working, you can now make wicked combos with Nissa, Worldwaker and Tezzeret the Seeker or whatever... I plan on adding recent/reprints 'enchantment removals' as well ( Back to Nature, Merciless Eviction, etc )
Let me know if it's alright with you. I will do some test with cards that enchant permanents and shutdown activated abilities. That's it for now folks!
EDIT: Ooops, I should've look closer to the ruling. It seems you can stack the last ability of Chain Veil, which in my version, doesn't.
This probably mean I will have to keep track of each planeswalker's activation count. I may need some help here.
I added a new constant in D14_PLW.LOL :
- Code: Select all
PLW_LOYALTY_ABILITY_PLAYED = 2
- Code: Select all
<!-- 3. Planeswalkers' abilities can be played only once per turn -->
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="ACTIVATED_ABILITY_PLAYED">
if PLW_IsInNameSet( TriggerObject(), "PLANESWALKERS" ) then
PLW_MyPlayerDC( TriggerObject():GetOwner() ):Set_Int(PLW_LOYALTY_ABILITY_PLAYED, 1)
return true
end
return false
</TRIGGER>
<CONTINUOUS_ACTION layer="8">
if TriggerObject() ~= nil then
TriggerObject():GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_CANT_USE_ACTIVATED_ABILITIES, 1)
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
</TRIGGERED_ABILITY>
And finally, I've migrated Tarmogoyf and his TDX to my PLW_CS mod. The Chain Veil is now working, you can now make wicked combos with Nissa, Worldwaker and Tezzeret the Seeker or whatever... I plan on adding recent/reprints 'enchantment removals' as well ( Back to Nature, Merciless Eviction, etc )
Let me know if it's alright with you. I will do some test with cards that enchant permanents and shutdown activated abilities. That's it for now folks!

EDIT: Ooops, I should've look closer to the ruling. It seems you can stack the last ability of Chain Veil, which in my version, doesn't.

RULE #2 doesn't make any sense. the card clearly says "For each planeswalker you control, ". the bonus loyalty shouldn't work on planeswalkers entering later after the effect resolve!!! i don't get this.M15 RELEASE NOTES for the Chain Veil
1. For the first ability, it doesn't matter whether the planeswalker is still on the battlefield as your end step begins. If you activated one of its loyalty abilities that turn, The Chain Veil's triggered ability won't trigger.
2. Because the last ability modifies the rules of the game, it affects not only planeswalkers you control when it resolves, but also planeswalkers that come under your control later in the turn.
3. After the last ability resolves, you'll essentially be able to activate a loyalty ability of each planeswalker you control a total of twice during your turn. The timing rules for when you can activate loyalty abilities apply each time; it must be your main phase and the stack must be empty.
4. The second loyalty ability you activate doesn't have to be the same as the first ability. For example, you could activate a planeswalker's first ability twice, or you could activate a planeswalker's first ability, then activate its second ability.
5. Each additional time The Chain Veil's last ability resolves will allow you to activate a loyalty ability of each planeswalker you control an additional time. For example, if you activate The Chain Veil's last ability, untap it, then activate it again, you can activate a loyalty ability of a planeswalker you control three times that turn.
Last edited by gorem2k on 17 Aug 2014, 10:29, edited 1 time in total.
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by thefiremind » 12 Aug 2014, 07:50
It makes sense, it's like Dauntless Escort before "indestructible" became a real ability: if you look at its old code it was player-based rather than creature-based.gorem2k wrote:RULE #2 doesn't make any sense. the card clearly says "For each planeswalker you control, ". the bonus loyalty shouldn't work on planeswalkers entering later after the effect resolve!!! i don't get this.
I think it's still doable (unless I'm forgetting something): make a fake player characteristic (I already inserted my player DC function for Ajani Steadfast, you can reuse it) that increments for each activation of the Chain Veil, and another chest in the player DC that associates an activation count for each Planeswalker with the usual format:
- Code: Select all
register #0: count
register #1: pointer to Planeswalker #1
register #2: number of activations made for Planeswalker #1
register #3: pointer to Planeswalker #2
register #4: number of activations made for Planeswalker #2
...
Wipe all the data at the start of each turn.
About the complementary set, no problem about posting it here: I'll always keep an updated link in the first post.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by gorem2k » 12 Aug 2014, 08:35
So that means the word "you" in the "creatures you control," sentence is more important than "creatures" or "planeswalkers" I guess. Because the way you explain this it's basically giving a temporary emblem to the player that , in turn, affects the creatures.thefiremind wrote:It makes sense, it's like Dauntless Escort before "indestructible" became a real ability: if you look at its old code it was player-based rather than creature-based.
They could've worded something like "During this turn, you may play an additional loyalty ability on each planeswalkers you control as though as blablabla" even if they are not on battlefield already heheh... very odd
Two "this turn" in same rule.For each planeswalker you control, you may activate one of its loyalty abilities once this turn as though none of its loyalty abilities have been activated this turn.
Ok, I will try using increments. Thanks!thefiremind wrote:I think it's still doable (unless I'm forgetting something): make a fake player characteristic (I already inserted my player DC function for Ajani Steadfast, you can reuse it) that increments for each activation of the Chain Veil,
Last edited by gorem2k on 12 Aug 2014, 08:46, edited 1 time in total.
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by thefiremind » 12 Aug 2014, 08:37
I agree, I'm not a fan of that kind of wording, either.gorem2k wrote:They could've worded something like "During this turn, you may play an additional loyalty ability on each planeswalkers you control as though as blablabla" even if they are not on battlefield already heheh... very odd

< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by volrathxp » 12 Aug 2014, 10:51
It was a highly confusing piece of wording, indeed. It sparked a lot of debate when Chain Veil was revealed until Tabak stepped up and said "Yes it works this way."thefiremind wrote:I agree, I'm not a fan of that kind of wording, either.gorem2k wrote:They could've worded something like "During this turn, you may play an additional loyalty ability on each planeswalkers you control as though as blablabla" even if they are not on battlefield already heheh... very odd
But yeah, with Nissa and Ral Zarek, this goes infinite (or rather as many times as you feel like taking extra turns...)
volrathxp
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by gorem2k » 12 Aug 2014, 12:15
I have problems with this part, how can I enter an activation count within Chain Veil when the plw manager does a replacement trigger everytime I activate?thefiremind wrote:, and another chest in the player DC that associates an activation count for each Planeswalker with the usual format:
Also, if I count from the veil and it's in my hand, what happens if I activate a planeswalker, then put the veil into play? how does the veil will know if a loyalty has been activated?
I think the second chest you've mentioned will need to be defined inside manager.
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by thefiremind » 12 Aug 2014, 16:06
Here's an attempt at coding what I explained earlier. It doesn't work, though: I can't understand why, but it seems that the CONTINUOUS_ACTION that should stop activated abilities doesn't run at all (in fact you can activate Planeswalkers everytime you want). What am I missing?
- Attachments
-
chain veil attempt.zip
- Doesn't work!
- (11.3 KiB) Downloaded 302 times
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: TFM&G2K's Planeswalkers Pool v7 (08/Aug/2014)
by gorem2k » 12 Aug 2014, 23:16
I think that when there's a replacement_effect it won't do both a continuous and RTA in same trigger. My first idea is, I will move your RTA into the <TRIGGER> block and see if continuous does anything...thefiremind wrote:Here's an attempt at coding what I explained earlier. It doesn't work, though: I can't understand why, but it seems that the CONTINUOUS_ACTION that should stop activated abilities doesn't run at all (in fact you can activate Planeswalkers everytime you want). What am I missing?
EDIT: yes! First try

- Code: Select all
<!-- 3. Planeswalkers' abilities can be played only once per turn -->
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="ACTIVATED_ABILITY_PLAYED" simple_qualifier="objectyoucontrol">
if PLW_IsInNameSet( TriggerObject(), "PLANESWALKERS" ) then
local activations_chest = PLW_MyDuelDC():Get_Chest(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
if activations_chest == nil then
activations_chest = PLW_MyDuelDC():Make_Chest(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
end
-- Find the Planeswalker
local current_index = -1
local last_index = activations_chest:Get_Int(0)
if last_index > 0 then
for i=1,last_index,2 do
local card = activations_chest:Get_CardPtr(i)
if card ~= nil and card == TriggerObject() then
-- Planeswalker found
current_index = i
break
end
end
else
last_index = -1 -- this will make it right when adding 2 later
end
if current_index == -1 then
-- Planeswalker not found, let's add it
last_index = last_index + 2
activations_chest:Set_Int(0, last_index)
activations_chest:Set_CardPtr( last_index, TriggerObject() )
activations_chest:Set_Int(last_index+1, 0)
current_index = last_index
end
-- Increase Planeswalker's activations count (1 register further than the card pointer)
activations_chest:Int_Inc(current_index+1)
-- Increase player's own activations count (will be used by The Chain Veil's first ability)
PLW_MyPlayerDC( EffectController() ):Int_Inc(PLW_PLANESWALKERS_ACTIVATIONS)
-- Save Planeswalker's activations count index for continuous action
EffectDC():Set_Int(1, current_index+1)
return true
end
return false
</TRIGGER>
<CONTINUOUS_ACTION layer="8">
if TriggerObject() ~= nil then
local activations_chest = PLW_MyDuelDC():Get_Chest(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
if activations_chest ~= nil then
local loyalty_activations = activations_chest:Get_Int( EffectDC():Get_Int(1) )
local chain_veil_activations = PLW_MyPlayerDC( TriggerObject():GetController() ):Get_Int(PLW_CHAIN_VEIL_ACTIVATIONS)
if loyalty_activations > chain_veil_activations then
TriggerObject():GetCurrentCharacteristics():Bool_Set(CHARACTERISTIC_CANT_USE_ACTIVATED_ABILITIES, 1)
end
end
end
</CONTINUOUS_ACTION>
<DURATION simple_duration="UntilEOT" />
</TRIGGERED_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1">
<TRIGGER value="BEGINNING_OF_STEP">
return MTG():GetStep() == STEP_CLEANUP
</TRIGGER>
<RESOLUTION_TIME_ACTION>
PLW_MyDuelDC():Free_Compartment(PLW_PLANESWALKERS_ACTIVATIONS_CHEST)
for i=0,MTG():GetNumberOfPlayers()-1 do
local player_chest = PLW_MyPlayerDC( MTG():GetNthPlayer(i) )
player_chest:Set_Int(PLW_PLANESWALKERS_ACTIVATIONS, 0)
player_chest:Set_Int(PLW_CHAIN_VEIL_ACTIVATIONS, 0)
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
Will do some more test but it seems to work fine.
Re: TFM&G2K's Planeswalkers Pool v8 (15/Aug/2014)
by thefiremind » 15 Aug 2014, 08:26
The Chain Veil is now inside the pool! Enjoy and let me know of any problems.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Re: TFM&G2K's Planeswalkers Pool v8 (15/Aug/2014)
by gorem2k » 15 Aug 2014, 16:58
Ok, it was exhausting but I've finally fixed Ashiok.
The new code is a mess, it looks awkward but it works...

The new code is a mess, it looks awkward but it works...
- Code: Select all
<RESOLUTION_TIME_ACTION>
local linkedDC = LinkedDC():Get_Chest(1)
if linkedDC ~= nil then
local cmc = EffectDC():Get_Int(1)
local queryDC = EffectDC():Make_Chest(2)
local count = LinkedDC():Get_Int(0)
local temp = 0
for i=0,count-1 do
local creature = linkedDC:Get_CardPtr(i)
if creature ~= nil then
EffectDC():Get_Chest(2):Set_CardPtr(temp, creature)
EffectDC():Get_Chest(2):Protect_CardPtr(temp)
if creature:GetConvertedManaCost() ~= cmc then
EffectDC():Get_Chest(2):QueryUnselect_CardPtr(temp)
end
temp = temp+1
end
end
EffectController():ChooseItemFromDC( "CARD_QUERY_CHOOSE_CREATURE_TO_PUT_ONTO_BATTLEFIELD", queryDC, EffectDC():Make_Targets(0) )
end
</RESOLUTION_TIME_ACTION>

Re: TFM&G2K's Planeswalkers Pool v8b (15/Aug/2014)
by thefiremind » 15 Aug 2014, 20:11
I can only guess that the CopyFrom function is buggy, at least when copying between chests of different "nature" (Linked -> Effect). Anyway, I applied the fix. Thanks!
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
Currently busy with life...
-
thefiremind - Programmer
- Posts: 3515
- Joined: 07 Nov 2011, 10:55
- Has thanked: 118 times
- Been thanked: 722 times
Who is online
Users browsing this forum: No registered users and 1 guest