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) 2015
Modding tests (what changed from 2014, what didn't)
Moderator: CCGHQ Admins
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 12 Jul 2015, 14:37
1.) SetBlockController - No Odric, Master Tactician. Would approximations work?thefiremind wrote:[*]SetBlockController is still broken: when choosing how the opponents' creatures block, the only possible choice is no blockers at all.
[*]Layer 4 is now called 4B. Be sure to change it when you port a DotP2014 card, or it won't work.
[*]card:Reveal() doesn't exist anymore: now the cards to reveal need to be put in a chest and then you call player:RevealToMe(chest).
2.) Layer 4 is now called 4B - Thanks for revealing that. Any more discoveries concerning Layers?
3.) card:Reveal() - I imported Thoughtsieze from the CW and noticed that it's fully functional but there are now two phases to the effect. Whereas usually their hand would be revealed and you choose a card for them to discard, now their hand is revealed in a first prompt and then their is a second prompt where you actually select the card. Can you share your code for how you would create this card for 2015?
I'm pouring back over the 2015 threads once again for information I missed.
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 13 Jul 2015, 16:51
- Seance 2014 by Sumomole using Layer 4
- Seance 2015 using Layer 4B
AS POINTED OUT BY TFM, LAYER 4 IS NOW CALLED LAYER 4B
Layer 4B affects card types. It's a simple matter to change the attribute value from 4 to 4B. I did so with Dance of the Skywise from Xander9009's Dragos of Tarkir set and it worked after a few tweaks. Below is a list of cards from Gatherer that affect card types in some way. I used different search phrases.
Search Phrase: Bestow
Baleful Eidolon
Boon Satyr
Cavern Lampad
Celestial Archon
Chromanticore
Crystalline Nautilus
Eidolon of Countless Battles
Erebos's Emissary
Everflame Eidolon
Flitterstep Eidolon
Ghostblade Eidolon
Gnarled Scarhide
Heliod's Emissary
Herald of Torment
Hopeful Eidolon
Hypnotic Siren
Leafcrown Dryad
Mogis's Warhound
Nighthowler
Nimbus Naiad
Noble Quarry
Nylea's Emissary
Nyxborn Eidolon
Nyxborn Rollicker
Nyxborn Shieldmate
Nyxborn Triton
Nyxborn Wolf
Observant Alseid
Purphoros's Emissary
Sightless Brawler
Spearpoint Oread
Spirespine
Spiteful Returned
Thassa's Emissary
Search Phrase: Creature that's still a
Animate Land
Gideon Jura
Gideon, Battle-Forged
Lifespark Spellbomb
Living Terrain
Mishra's Groundbreaker
Quirion Druid
Spike Tiller
Stalking Stones
Verdant Touch
Search Phrase: In addition to its other types
Adaptive Automaton
Angelic Armaments
Angelic Destiny
Aquitect's Will
Arbiter of the Ideal
Argent Mutation
Ashes of the Fallen
Ashiok, Nightmare Weaver
Ashnod's Transmogrant
Aurification
Call to Serve
Captivating Vampire
Chainer, Dementia Master
Copy Artifact
Dismiss into Dream
Dread Slaver
Elvish Branchbender
Ensoul Artifact
Feldon of the Third Path
Felhide Spiritbinder
Ghoulflesh
Grave Betrayal
Halcyon Glaze
Lazav, Dimir Mastermind
Lim-Dûl the Necromancer
Liquimetal Coating
Master Biomancer
Memnarch
Mephidross Vampire
Mistform Sliver
Myr Landshaper
Myth Realized
Necromantic Selection
Neurok Transmuter
Nylea's Presence
Olivia Voldaren
Opalescence
Phantasmal Image
Phyrexian Metamorph
Primal Clay
Rise from the Grave
Sakashima the Impostor
Sakashima's Student
Sealock Monster
Séance
Sensei Golden-Tail
Silverskin Armor
Starfield of Nyx
Still Life
Testament of Faith
Thran Forge
Transmogrifying Licid
Urborg, Tomb of Yawgmoth
Xathrid Gorgon
Xenograft
Search Phrase: With base
Dance of the Skywise
Darksteel Mutation
Dragonshift
Ensoul Artifact
Figure of Destiny
Island of Wak-Wak
Lignify
Omnibian
Polymorphist's Jest
Skinshifter
Snakeform
Tezzeret the Seeker
Tezzeret, Agent of Bolas
Turn/Burn
Turn to Frog
Warden of the First Tree
Re: Modding tests (what changed from 2014, what didn't)
by Xander9009 » 13 Jul 2015, 17:11
Using Riiak's Deck Builder's advanced filters to search for layer="4", I came up with 275 cards throughout either the base game or the CW. At least that's a really simple change. Simply doing a search/replace for layer="4" to layer="4B" would fix this one.
Unfortunately, Reveal() is a lot less simple to fix since it needs a chest created. Although, adding the card to a new chest and then revealing it could be automated for specific abilities. Still, if we want to do it properly, it'll be a lot of recoding. 214 cards with :Reveal().
Unfortunately, Reveal() is a lot less simple to fix since it needs a chest created. Although, adding the card to a new chest and then revealing it could be automated for specific abilities. Still, if we want to do it properly, it'll be a lot of recoding. 214 cards with :Reveal().
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 13 Jul 2015, 21:44
I knew I was missing a lot of cards. I just wanted to cite some examples. And I don't mind re-coding the cards to add the B4 attribute value. It's simple enough.
With the :Reveal() I'll wait for someone to create a card using the new chest. On a different note, I also noticed that Delve, Manifest, and Morph stopped working when I ported a few cards with their keywords over to 2015. We'll have to create new codes for them or modify the existing ones.
When everyone agrees on how we will 'Officially' structure the 2015 Community Wad we can proceed. I'm just waiting for the green light. I also did a XML Comparison with the official Craterhoof Behemoth XMLs from 2014 and 2015. The color highlights show what was added, deleted, changed, changed within a change, and what was ignored. Starting from the top, Craterhoof Behemoth is
INFORMATION CHANGED OR MISSING FROM THE OFFICIAL 2014 CRATERHOOF BEHEMOTH XML:
- Code: Select all
<CARD_V2 ExportVersion="66">
<FILENAME text="CRATERHOOF_BEHEMOTH_388071" />
<MULTIVERSEID value="388071" />
<LOCALISED_TEXT LanguageCode="zh-CN">
<LOCALISED_TEXT LanguageCode="zh-HK">
<DECKBUILDING_ACTIVATION_LEVEL base_score="0">
<DECKBUILDING_SYNERGY_BONUS score_per_unit="50" resource_name="Token" />
</DECKBUILDING_ACTIVATION_LEVEL>
<DECKBUILDING_ACTIVATION_LEVEL base_score="0">
<DECKBUILDING_SYNERGY_BONUS max_amount="24" score_per_unit="50" resource_type="CREATURE" />
</DECKBUILDING_ACTIVATION_LEVEL>
<DECKBUILDING_ACTIVATION_LEVEL base_score="1900"
<EXPLAIN play_tag="HINT_CREATURE_ETB_WHY_PLAY" removal_tag="HINT_CREATURE_VANILLA_WHY_REMOVE" is_removal="false"/>
Added (14,3)
Changed (10)
Changed in changed (8)
Deleted(0,2)
Ignored (0)
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 13 Jul 2015, 22:56
I also forgot to mention that the need for a TEXT PERMANENT to display triggers are more optional now. The game intuitively reads the card information. I first noticed this when I tested Palace Siege from the Fate Reforged set. Take note of the screenshot of Angelic Skirmisher when her ability triggers.
Re: Modding tests (what changed from 2014, what didn't)
by thefiremind » 13 Jul 2015, 23:02
The ability text was displayed in DotP2014 as well, but it was in a separate window on the bottom right if I remember correctly. The text for the 3 choices still works because standard TEXT_PERMANENT strings were used, which carried over to the official DotP2015 files without changes.Tejahn wrote:I also forgot to mention that the need for a TEXT PERMANENT to display triggers are more optional now. The game intuitively reads the card information. I first noticed this when I tested Palace Siege from the Fate Reforged set. Take note of the screenshot of Angelic Skirmisher.
On a different note, I wanted to announce that I stopped my DotP2015 tests because there's a chance we could move directly to Magic Duels without waiting too long. According to spirolone, the ZED files used in Magic Duels (extracted by me from the iPad version) have the same format as the DotP2015 ones, the developers just changed the encryption key. As soon as the Steam version is released, a run of the executable through a debugger will be possible, and hopefully the new key will be discovered. If everything goes as planned, it will be just a matter of looking inside the new ZED files and discover what changed again. I think there's a high chance that Magic Duels won't have any card limit (because it's built to be expandable), so it may give us more flexibility. There would also be 2HG available, which many people want to play, not to mention double-faced cards and Planeswalkers. For me, it's worth waiting a bit.
< 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: 721 times
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 13 Jul 2015, 23:26
You're correct about the two different box screens that appeared in 2014. I too am awaiting the PC release. And we're all awaiting the return of 2HG. In the meantime, I'm still testing to familiarize myself with the changes in 2015 since they may have carried over to Magic Duels. Expandability is a key feature of the new game so I think there will be no card limit as well. I've not yet installed Magic Duels but I may do so tonight.
Re: Modding tests (what changed from 2014, what didn't)
by Xander9009 » 14 Jul 2015, 00:13
In mentioning the modability of 2015 and its limitations and my hope for Origins to a friend, he mentioned the possibility that they'll impose a limit specifically to make modding harder, and simply raise the limit periodically to accommodate whatever cards they add. I don't find it likely, but it's worth keeping in mind. But yeah, I haven't done much with it, and probably won't unless someone can come up with a good way to go about it.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
-
Xander9009 - Programmer
- Posts: 2905
- Joined: 29 Jun 2013, 07:44
- Location: Indiana, United States
- Has thanked: 121 times
- Been thanked: 445 times
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 15 Jul 2015, 00:57
- Myth Realized - Enchantment 1
- Myth Realized - Enchantment 2
- Myth Realized - Creature 1
- Myth Realized - Creature 2
I was looking in my Snagit folder for a screenshot from another game and realized I forgot to post these the other day. This is proof that changing only the attribute value 4 to 4B works. Thanks for the card Xander9009! I built a control deck around Dragonlord Ojutai and Silumgar, the Drifting Death featuring Myth Realized. Consuming Vapors and a few other Rebound cards are helping a lot.
Re: Modding tests (what changed from 2014, what didn't)
by thefiremind » 17 Jul 2015, 12:54
This answer comes pretty late, but I finished coding Draconic Roar now, and I had to try some different workarounds in order to find the best one. My final idea has been to code the additional cost as a kicker, while the check for controlling a Dragon is done in a triggered ability that triggers when the spell is played.GrovyleXShinyCelebi wrote:I wonder, is it possible to make additional costs optional, then test to see if that cost was paid with 2015's engine (i.e. Dragonlord's Prerogative)?
Note that Gatherer rulings say that the bonus given by the additional cost should be copied by copies of the spell (kicker will take care of this for us), while the bonus given by controlling a Dragon shouldn't (hence why I added the WasCast check, actually I'm not sure if LinkedDC gets copied by copies of the spell, but this way it's guaranteed to work).
- Draconic Roar code (tested, non-English text omitted) | Open
- Code: Select all
<UTILITY_ABILITY qualifier="Kicker">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[As an additional cost to cast Draconic Roar, you may reveal a Dragon card from your hand.]]></LOCALISED_TEXT>
<COST type="Reveal" definition="0" compartment="1" query_tag="CARD_QUERY_CHOOSE_CARD_TO_REVEAL" item_count="1" amount="1" />
<COST_DEFINITION id="0">
local filter = ClearFilter()
filter:Add(FE_SUBTYPE, OP_IS, CREATURE_TYPE_DRAGON)
</COST_DEFINITION>
<ABILITY_TEXT tag="CARD_QUERY_CHOOSE_CARD_TO_REVEAL" secondary_tag="CARD_QUERY_DO_NOTHING" />
</UTILITY_ABILITY>
<TRIGGERED_ABILITY replacement_effect="1" linked_ability_group="1" active_zone="ZONE_ANY">
<TRIGGER value="SPELL_PLAYED" simple_qualifier="self" />
<RESOLUTION_TIME_ACTION>
if EffectSourceLKI():WasCast() then
local filter = ClearFilter()
filter:Add(FE_SUBTYPE, OP_IS, CREATURE_TYPE_DRAGON)
filter:Add( FE_CONTROLLER, OP_IS, EffectController() )
LinkedDC():Set_Int( 1, filter:CountStopAt(1) )
end
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
<SPELL_ABILITY linked_ability_group="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Draconic Roar deals 3 damage to target creature. If you revealed a Dragon card or controlled a Dragon as you cast Draconic Roar, Draconic Roar deals 3 damage to that creature’s controller.]]></LOCALISED_TEXT>
<SFX text="TARGET_FLAME_PLAY" />
<TARGET tag="CARD_QUERY_CHOOSE_CREATURE_DEAL_3_DAMAGE" definition="0" compartment="0" count="1" />
<TARGET_DEFINITION id="0">
local filter = ClearFilter()
filter:Add(FE_TYPE, OP_IS, CARD_TYPE_CREATURE)
</TARGET_DEFINITION>
<RESOLUTION_TIME_ACTION>
local target_creature = EffectDC():Get_Targets(0):Get_CardPtr(0)
if target_creature ~= nil then
local controller = nil
if EffectSourceLKI():WasKicked() or LinkedDC():Get_Int(1) == 1 then
controller = target_creature:GetController()
end
EffectSourceLKI():DealDamageTo(3, target_creature)
if controller ~= nil then
EffectSourceLKI():DealDamageTo(3, controller)
end
end
</RESOLUTION_TIME_ACTION>
<AI_SIMPLIFIED_TARGETING compartment="0" hint="HINT_ENEMY_ONLY" />
</SPELL_ABILITY>
By the way, I'm pretty sure this would work in DotP2014 as well.
< 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: 721 times
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 17 Jul 2015, 13:33
Thanks! I coded Dragonlord's Prerogative a while back. It's the draw engine for the control deck I mentioned earlier. I coded it in a somewhat similar way with no regard for the official rulings because it's in a deck I don't plan on releasing. Either way, great job as always! I can't wait to test your version. Bravo!
Re: Modding tests (what changed from 2014, what didn't)
by thefiremind » 17 Jul 2015, 13:41
Now that I think about it, though, "can't be countered" must be granted on the stack, so kicker won't help. I'm not sure about how to adapt my code to that.Tejahn wrote:Thanks! I coded Dragonlord's Prerogative a while back. It's the draw engine for the control deck I mentioned earlier. I coded it in a somewhat similar way with no regard for the official rulings because it's in a deck I don't plan on releasing. Either way, great job as always! I can't wait to test your version. Bravo!
< 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: 721 times
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 17 Jul 2015, 16:19
Be sure to post your final result. I'll post the one I hastily created when I leave work.
Re: Modding tests (what changed from 2014, what didn't)
by Tejahn » 18 Jul 2015, 20:36
Is Icefall Regent possible now? I've been trying to follow your code to make it's second ability but now I just want to request the code if you can post it.thefiremind wrote:[*]Kira, Great Glass-Spinner and similar cards can be coded now! We have a brand new INTERROGATE_BECAME_TARGET which allows us to do this:
- Kira, Great Glass-Spinner granted ability | Open
- Code: Select all
<TRIGGERED_ABILITY resource_id="1">
<LOCALISED_TEXT LanguageCode="en-US"><![CDATA[Whenever this creature becomes the target of a spell or ability for the first time in a turn, counter that spell or ability.]]></LOCALISED_TEXT>
<TRIGGER value="BECAME_TARGET_OF_SPELL" simple_qualifier="self">
local creature = EffectSource()
if creature ~= nil then
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetObject(creature)
return interrogation:Count(INTERROGATE_BECAME_TARGET, INTERROGATE_THIS_TURN) == 0
end
return false
</TRIGGER>
<TRIGGER value="BECAME_TARGET_OF_ABILITY" simple_qualifier="self">
local creature = EffectSource()
if creature ~= nil then
local interrogation = MTG():ClearInterrogationQuery()
interrogation:SetObject(creature)
return interrogation:Count(INTERROGATE_BECAME_TARGET, INTERROGATE_THIS_TURN) == 0
end
return false
</TRIGGER>
<RESOLUTION_TIME_ACTION>
MTG():CounterStackObject( TriggerStackObjectID() )
</RESOLUTION_TIME_ACTION>
</TRIGGERED_ABILITY>
EDIT: While I'm at it, but not to start a request thread, does someone think the following cards which were impossible in 2014 are now possible in 2015 based on what we know so far? I'm asking because I don't want to spend time trying to create them if someone already knows that they're impossible to implement.
Archetype of Imagination
Battlefield Thaumaturge
Charging Rhino (I actually played with this cards on Magic Duels Origins last night and liked it)
Dark Impostor
Daxos of Meletis
Ghostly Prison
Kurkesh, Onakke Ancient
Lazav, Dimir Mastermind
Lush Growth
Meandering Towershell
Mindlock Orb
Ob Nixilis, Unshackled
Oppressive Rays
Psychic Intrusion
Skill Borrower
Sphere of Safety
Training Grounds
Tromokratis
Urborg, Tomb of Yawgmoth
Re: Modding tests (what changed from 2014, what didn't)
by thefiremind » 18 Jul 2015, 21:09
About Dragonlord's Prerogative, I gave up: I can't make it work like Draconic Roar.
Icefall Regent is a totally different story: I don't think we'll ever get the support to have different costs with different targets in DotP because it would require a radical change for a few cards (unless we get lucky and a similar mechanic becomes a keyword in a future expansion, then we might see it in Magic Duels).Tejahn wrote:Is Icefall Regent possible now? I've been trying to follow your code to make it's second ability but now I just want to request the code if you can post it.
Tejahn wrote:While I'm at it, but not to start a request thread, does someone think the following cards which were impossible in 2014 are now possible in 2015 based on what we know so far?
- Archetype of Imagination: archetypes still have the problem that a temporarily granted ability can't be erased permanently.
- Battlefield Thaumaturge: same as Icefall Regent, you can't change the costs according to the targets (except for strive which has been hard-coded).
- Charging Rhino: the characteristic will be introduced in Magic Duels, but DotP2015 still lacks it (check the Wiki).
- Dark Impostor, Skill Borrower: you can't grant abilities that aren't made to be granted.
- Daxos of Meletis, Psychic Intrusion: the usual approximations still apply, but the cards can't be coded as they should.
- Ghostly Prison, Oppressive Rays, Sphere of Safety: the usual approximations still apply, but the cards can't be coded as they should.
- Kurkesh, Onakke Ancient: I think it should be possible now (making it compatible with manual mana tapping would be difficult).
- Lazav, Dimir Mastermind: names can't be modified.
- Lush Growth, Urborg, Tomb of Yawgmoth: I think they should be possible now, but I would suggest extensive testing since the official cards can only transform a land in an Island.
- Meandering Towershell: if I remember correctly, this was already possible in DotP2014 but its behaviour was bugged, it should be tested in DotP2015.
- Mindlock Orb: this would need a new characteristic which doesn't exist.
- Ob Nixilis, Unshackled: I'm thinking about a trick to code this one, but I'm not sure if it works. It would be similar to the trick that allows Flamewaker Adept to "intercept" scry.
- Training Grounds: unfortunately, the support for Nemesis of Mortals only allows an ability to modify its own cost (and Nemesis of Mortals is the only card that does so at the moment).
- Tromokratis: there's a brand new characteristic made for this card (check the Wiki), actually I'm surprised that they didn't make it as an official card. It should be tested for bugs, though.
< 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: 721 times
38 posts
• Page 2 of 3 • 1, 2, 3
Who is online
Users browsing this forum: No registered users and 3 guests