It is currently 23 Jun 2025, 17:48
   
Text Size

Magic Duels tests and results

Moderator: CCGHQ Admins

Re: Magic Duels tests and results

Postby thefiremind » 14 May 2016, 09:58

I'm so sorry I haven't replied to this topic in such a long time, but I was sure I had subscribed it, while it turns out I didn't (or the subscription got removed somehow by itself, I don't know), so I was totally unaware of the replies. Let me catch up a bit, and I'll reply to what needs to be replied.

EDIT: Now that I remember, I had subscribed the entire section, but maybe that would warn me only when a new topic is open, not when a new reply is added to an existing one.

EDIT 2: I have read all the new replies.

Tejahn wrote:How does DOTP 2014 read card animation without transforming the card into full art as seen in the screenshots of Angelic Overseer above?
I guess the support for animations has been unexpectedly broken by something else, and the use of animated art gives unexpected results (the same thing happened with Master Warcraft "choose blockers" effect).

Tejahn wrote:the MULTIVERSEID tag determines which Planeswalker card frame is applied to a card
Could you explain this more in detail? For example, let's say I wanted to code Ugin, the Spirit Dragon: what steps would you follow in order to show him correctly in game?

EDIT 3: I updated the first post. In the new ZED contents I removed Void Winnower (it is now an AI card so you don't need my code anymore) and added Daxos of Meletis, however I haven't tested it yet. If someone gets to test it, let me know if it works.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Magic Duels tests and results

Postby Tejahn » 14 May 2016, 14:46

thefiremind wrote:I guess the support for animations has been unexpectedly broken by something else, and the use of animated art gives unexpected results (the same thing happened with Master Warcraft "choose blockers" effect).
Indeed. And I actually wanted to test Master Warcraft now that we have the OGW/SOI update. But I surmise you've already done so. Do you think we can use files from DOTP 2014 to cause the animation to work again?

thefiremind wrote:Could you explain this more in detail? For example, let's say I wanted to code Ugin, the Spirit Dragon: what steps would you follow in order to show him correctly in game?
It's simple. Just open a Planeswalker XML and copy the MULTIVERSEID number to the other XML of the Planeswalker you are adding. For example Tamiyo, the Moon Sage is using the Sorin, Grim Nemesis card frame because I changed her MULTIVERSEID to 388816 which is the same MID in the Sorin, Grim Nemesis XML. The same is true for other Planeswalkers in the game, including Gideon, Battle-Forged and other Sparker frames. However, please note that the frames were meant to be unique so features of the illustrations won't automatically fill in. I used Photoshop to 'fill' in the 'open' parts of the frame. See the example I posted previously with Sorin, Solemn Visitor.

Concerning Ugin, the Spirit Dragon, I believe there is no official Planeswalker card using a colorless fame so there is no MULTIVERSEID to copy although a colorless Planeswalker frame is in the Art_Assets folder. Perhaps you can try using official MULTIVERSEID's to see if Ugin, the Spirit Dragon frame will display. But know that you will have to add his Subtype.

EDIT: TFM, I have an off-topic question, should I start a Magic Duels - Card Request thread? I'm having trouble coding Coercive Portal and the Delve code I created for Tasigur, the Golden Fang is forcing me to choose all cards in my graveyard. I finally created a working code for Silumgar, the Drifting Death also. These cards are needed for the deck Chakan requested.
Last edited by Tejahn on 17 May 2016, 04:41, edited 3 times in total.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: Magic Duels tests and results

Postby thefiremind » 14 May 2016, 15:04

Tejahn wrote:Indeed. And I actually wanted to test Master Warcraft now that we have the OGW/SOI update. But I surmise you've already do so.
I don't think it will magically work again, unless we get a Master Warcraft reprint or a card that does the same thing in the future.

I understood what you mean about the Planeswalkers' frames. It's a step forward, but it doesn't give us much freedom... and besides, I don't know if there are side effects from using same Multiverse IDs for different cards (sure, you could ditch the official Planeswalker in favor of the one you coded, but that's not really practical). The link between frames and Multiverse IDs is probably located inside the executable, as I suspected... why they chose to hard-code something that would make much more sense soft-coded in each card still bothers me.

Tejahn wrote:TFM, I have an off-topic question, should I start a Magic Duels Card Request thread? I'm having trouble coding Coercive Portal and the Delve code I created for Tasigur, the Golden Fang is forcing me to choose all cards in my graveyard. I finally created a working code Silumgar, the Drifting Death also. These cards are needed for the deck Chakan requested.
Sure, do it. I'll help as much as I can. However, coding a 100% working delve mechanic still seems very difficult to me (there are the usual compatibility problems with cost-changing abilities).
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Magic Duels tests and results

Postby Tejahn » 14 May 2016, 15:13

thefiremind wrote:I understood what you mean about the Planeswalkers' frames. It's a step forward, but it doesn't give us much freedom... and besides, I don't know if there are side effects from using same Multiverse IDs for different cards (sure, you could ditch the official Planeswalker in favor of the one you coded, but that's not really practical). The link between frames and Multiverse IDs is probably located inside the executable, as I suspected... why they chose to hard-code something that would make much more sense soft-coded in each card still bothers me.
Yes. Soft coding would have been much easier. And know that the games still hasn't given me any problems using the available frames for other Planeswalkers such as Ajani Vengeant who is using the Nahiri, the Harbinger frame by way of her MULTIVERSEID. I've run into no complications at all. Also, editing the illustrations to make them fit into a frame in a nice way is quick and easy.

thefiremind wrote:Sure, do it. I'll help as much as I can. However, coding a 100% working delve mechanic still seems very difficult to me (there are the usual compatibility problems with cost-changing abilities).
The code isn't 100% rule compliant but it does work somewhat. And okay, I'll start that thread when I return home. I should be able to post the tutorial for playing against your created decks soon.
Last edited by Tejahn on 17 May 2016, 04:43, edited 1 time in total.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: Magic Duels tests and results

Postby thefiremind » 16 May 2016, 09:26

Just to tell everyone who may be interested: I updated my test ZED contents in the first page. Daxos of Meletis seems to work fine (I lost so much time in trying to make it work with lands, then I discovered on Gatherer that he isn't supposed to let you play lands... #-o), and I added Lotus Cobra, Immerwolf and Moonmist.

Remember that, if Daxos doesn't let you cast something you should be able to cast, the priority bug may be to blame (if you have nothing else to cast at sorcery speed and no lands to play, the game will skip the second main phase even if Daxos exiled something for you to cast at sorcery speed).
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Magic Duels tests and results

Postby Xander9009 » 16 May 2016, 16:02

thefiremind wrote:Just to tell everyone who may be interested: I updated my test ZED contents in the first page. Daxos of Meletis seems to work fine (I lost so much time in trying to make it work with lands, then I discovered on Gatherer that he isn't supposed to let you play lands... #-o), and I added Lotus Cobra, Immerwolf and Moonmist.

Remember that, if Daxos doesn't let you cast something you should be able to cast, the priority bug may be to blame (if you have nothing else to cast at sorcery speed and no lands to play, the game will skip the second main phase even if Daxos exiled something for you to cast at sorcery speed).
That's fantastic news. :) So I take it the thread in Programming was yours?
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Magic Duels tests and results

Postby Tejahn » 16 May 2016, 22:44

thefiremind wrote:Just to tell everyone who may be interested: I updated my test ZED contents in the first page. Daxos of Meletis seems to work fine (I lost so much time in trying to make it work with lands, then I discovered on Gatherer that he isn't supposed to let you play lands... #-o), and I added Lotus Cobra, Immerwolf and Moonmist.

Remember that, if Daxos doesn't let you cast something you should be able to cast, the priority bug may be to blame (if you have nothing else to cast at sorcery speed and no lands to play, the game will skip the second main phase even if Daxos exiled something for you to cast at sorcery speed).
Thanks! I actually needed Immerwolf and Moonmist for the Tutorial DLC that I'm still refining.

thefiremind wrote:[*]Tejahn discovered that Planeswalkers' frames are linked to the Planeswalker's Multiverse ID. For example, any card using the same Multiverse ID as Jace Beleren (in Duels) will have Jace Beleren's frame. It seems there are no side effects for using the same Multiverse ID on different cards.
Also, it should be noted in the opening post that 4 ability Planeswalkers will have text problems. The abilities work fine but the text will continue going down the bottom of the card. I noticed it when I was testing Jace, the Mind Sculptor. We're visually stuck with 3 ability Planeswalkers for now which isn't bad since they are the majority.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: Magic Duels tests and results

Postby thefiremind » 17 May 2016, 09:23

Xander9009 wrote:So I take it the thread in Programming was yours?
Yeah, I saw the rule on Gatherer about a minute after I opened the thread, so I deleted it in shame... :lol:

Tejahn wrote:Also, it should be noted in the opening post that 4 ability Planeswalkers will have text problems. The abilities work fine but the text will continue going down the bottom of the card. I noticed it when I was testing Jace, the Mind Sculptor. We're visually stuck with 3 ability Planeswalkers for now which isn't bad since they are the majority.
If I had guessed about that, I would have guessed right. :mrgreen: I'll add it to the first post.

I made some experiments with suspend. It seems it's possible to code it as an alternate cost and then exile the card with a STATE_BASED_EFFECTS trigger just like the one I used for bestow. More tests are needed before calling it right, but it's very nice to see that the game doesn't freeze anymore if I exile a card I was about to cast.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Magic Duels tests and results

Postby Tejahn » 28 May 2016, 23:32

Nissa, Sage Animist - Pulls a land that enters the battlefield tapped.jpg
Nissa, Sage Animist - Pulls a land that enters the battlefield tapped

Autumnal Gloom.jpg
Autumnal Gloom

Ancient of the Equinox.jpg
Ancient of the Equinox



Here is something I noticed when testing a Delirium deck featuring Autumnal Gloom//Ancient of the Equinox. When Nissa pulls a land that enters the battlefield tapped the card goes dark and the tapped sign appears. When I first started looking through the various TDX files I always wondered where and when that symbol would used. Now, it seems I know. Also, Autumnal Gloom//Ancient of the Equinox and Soul Swallower work perfectly.

thefiremind wrote:I made some experiments with suspend. It seems it's possible to code it as an alternate cost and then exile the card with a STATE_BASED_EFFECTS trigger just like the one I used for bestow. More tests are needed before calling it right, but it's very nice to see that the game doesn't freeze anymore if I exile a card I was about to cast.
Did you ever make any more progress concerning the Suspend cards?
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: Magic Duels tests and results

Postby thefiremind » 29 May 2016, 09:05

Tejahn wrote:When Nissa pulls a land that enters the battlefield tapped the card goes dark and the tapped sign appears.
It's been a long time since I used Nissa, Sage Animist, so I'm a bit lost there... why does it look like the land is using the stack?

Tejahn wrote:Did you ever make any more progress concerning the Suspend cards?
I haven't made any new experiment.

EDIT: I didn't want to write a new post for this, so I'm editing it here.
Now that I think about it, my idea for suspend has a flaw. It would work for creatures and spells without targets, but if a spell has a target you should select it when the suspended card is actually played, while an alternate cost would need to have a legal target right away and it would ask for the target choice before exiling the card. Since I would need to fall back to coding suspend as an activated ability again, there would be no additional gain, so my experiments about it end here.
Last edited by thefiremind on 29 May 2016, 19:28, edited 1 time in total.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Magic Duels tests and results

Postby Tejahn » 29 May 2016, 11:09

I was going to test and see if it's actually on the stack with a counterspell deck later on. And okay.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: Magic Duels tests and results

Postby Tejahn » 01 Jun 2016, 10:11

Abundant Wastes.jpg
Abundant Wastes


Priority Bug Fix.jpg
Priority Bug Fix

Prority Bug Superseded.jpg
Prority Bug Superseded

Two Deceiver of Form creatures turn all of my creatures into Bane of Bala Ged - Game Over.jpg
Two Deceiver of Form creatures turn all of my creatures into Bane of Bala Ged - Game Over


EDIT: The triggered ability of Abundant Waste is an automated process so you won't have to constantly search your library each turn if you play with this deck. The land will be placed on the battlefield automatically.

Yesterday, I created a card called Abundant Waste as I was testing an Eldrazi deck that features Kozilek, the Great Distortion which will be part of the DLC I release. I grew tired of the priority bug so I also created an emblem to squash it. I finally got it working after a very long time but then I permanently deleted it on accident before making a back up copy of it. :(

The screenshot above called Prority Bug Superseded is the visual proof showing that I had it working. Also, in that same screenshot there is proof that we can assign life totals with the highest being 999,999. I've been trying to code the card again for hours to no avail. Therefore, I want to request a working code if anyone is willing to provide it. The actual card I'm referring to is the third screenshot above called Priority Bug Fix and I had it active from any zone. This you can tell because it's not on the battlefield in the Prority Bug Superseded screeny. The text on it is misleading though. I started out trying to code it as an activated ability but I couldn't get it work that way so I coded it as a static ability and I think that's when it started working correctly. I never did have a chance to correct the text because it was deleted.

Alas, Deceiver of Form has turned out to be a really fun card. I had two on the battlefield and they turned all of my creatures into the revealed Bane of Bala Ged. I put it back on top of my library after the first Deceiver of Form resolved and the second one was able to copy it as well. Needless to say, it was game over for Avacyn when I attacked because she had no permanent with which to defend.

In conclusion, this experiment proves that we can assigned individual life totals and sometime the emblems I created to come to the battlefield, regardless of which zone they are in or enter, won't do so all the time. :?

Yet, it should be noted that if the opponent play first they both always come come into play. And here is the actual code I used to try to force them to enter the battlefield:

Code: Select all
  <TRIGGERED_ABILITY active_zone="ZONE_ANY">
    <TRIGGER value="BEGINNING_OF_STEP">
    return EffectController():IsAI() == false and MTG():GetStep() == STEP_UPKEEP and MTG():GetTurnNumber() == 0
    </TRIGGER>
    <RESOLUTION_TIME_ACTION>
    if EffectSource() ~= nil then
       EffectSource():PutOntoBattlefield( EffectController() )
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
  <TRIGGERED_ABILITY>
    <TRIGGER value="ZONECHANGE_BEGIN" simple_qualifier="self" to_zone="ZONE_GRAVEYARD" from_zone="ZONE_BATTLEFIELD" />
    <RESOLUTION_TIME_ACTION>
    if TriggerObject() ~= nil then
       TriggerObject():PutOntoBattlefield( TriggerObject():GetOwner() )
    end
    </RESOLUTION_TIME_ACTION>
  </TRIGGERED_ABILITY>
thefiremind wrote:EDIT: I didn't want to write a new post for this, so I'm editing it here.
Now that I think about it, my idea for suspend has a flaw. It would work for creatures and spells without targets, but if a spell has a target you should select it when the suspended card is actually played, while an alternate cost would need to have a legal target right away and it would ask for the target choice before exiling the card. Since I would need to fall back to coding suspend as an activated ability again, there would be no additional gain, so my experiments about it end here.
I understand. Well, I'm confident more keywords will become available as time pass. Speaking of which, I ended my keywords testing a few days ago. I decided not to try to implement anything too overly complicated since I'm not sure how many people will actually gravitate towards Magic Duels since the in-game Deck Builder will currently allow only 1,023 card to be manually placed in a deck although the Card Collection screen shows at least 1,400. I know because I've done experiments copying instances of the same card hundreds of times to see if there is a limit to what the Card Collection screen will display.

Void Winnower - Can't Even Block ability working.jpg
Void Winnower - Can't Even Block ability working


thefiremind wrote:EDIT 3: I updated the first post. In the new ZED contents I removed Void Winnower (it is now an AI card so you don't need my code anymore) and added Daxos of Meletis, however I haven't tested it yet. If someone gets to test it, let me know if it works.
I tested Daxos of Meletis after you posted the new ZED and it worked properly but it suffers from the priority bug as you stated. Also, I went back to your code for Void Winnower because in the official XML the 'Can't Even' and 'Can't Even Block' codes below don't work. Your code for the second ability places the 'Can't Block' badge on creatures unable to do so and I can confirm that it works. However, I'm not sure the first ability works. The AI was still able cast cards with 'even cost' and the derived information seen when Reflector Mage affects a card isn't visible although your other cards contain the derived info.

OFFICIAL 'CAN'T EVEN' CODE
Code: Select all
   <FILTER filter_id="0">
    local filter = ClearFilter()
    filter:SetFilterType( FILTER_TYPE_PLAYERS )
    filter:Add( FE_TEAM, OP_NOT, EffectController():GetTeam() )
    </FILTER>
    <CONTINUOUS_ACTION layer="8" filter_id="0">
    if FilteredPlayer() ~= nil then
       FilteredPlayer():SetVoidWinnowerCantEven()
    end
    </CONTINUOUS_ACTION>
OFFICIAL 'CAN'T EVEN BLOCK' CODE
Code: Select all
    <TRIGGER value="CANT_BLOCK_TEST" pre_trigger="1">
    local card = TriggerObject()
    if (card:GetPlayer():GetTeam() ~= EffectController():GetTeam()) and
    (card:GetConvertedManaCost() % 2 == 0) then
       MTG():OverrideEvent()
       return true
    else
       return false
    end
    </TRIGGER>
Last edited by Tejahn on 07 Jun 2016, 14:49, edited 1 time in total.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

Re: Magic Duels tests and results

Postby Xander9009 » 05 Jun 2016, 21:42

Hey, so, I've been sort of sticking to 2014 for the most part, and only vaguely following Magic Duels. In your opinion (this is directed at everyone), is Magic Duels ready for a communal zed file? Does anyone /want/ a communal zed file? If so, can anyone give me a breakdown of the process of converting a folder to a working zed file? I can get the ball rolling. Even if only as a communal core package, with the cards being handled elsewhere.

I say that because I was considering what thefiremind said about avoiding custom functions for now because of the dependency issue. While the cards themselves have limitations about how many the game will handle, that issue isn't relevant to functions, which could make modding a lot easier.

My current idea is this: Make a "Utility" or "Core" folder structure/zed file which is update fairly frequently (it'll be tiny, so it won't be as hard to upload every hour or something like that). I'm already working on a program to detect changes in a folder so I can repack when needed rather than on a timer. That Core zed would contain functions that everyone could use, and it'll be a requirement for most any mod released. It'll help with the dependency issue by making exactly one requirement, rather than "X mod for this bit, and Y mod for this other bit".

If we do, I'd like to propose that the functions be standardized to an extent. The way I set up the CW's function files is pretty good in my opinion. They're more or less structured like this:
CW_General snippet | Open
Code: Select all
-----------------------------
--File Info------------------
-----------------------------
--A general list of functions used in cards created for the CW.

-------------------------------
--Card Chest Registers---------
-------------------------------

CW_SURGE = 90090005 -- The RSN_ObjectDC Register for checking if a card's Surge cost was paid. (Function which used this was removed in this example)

-------------------------
--Function List----------
-------------------------

--Parameters in braces {} are optional.

----CW_General_SpellMastery({oPlayer = EffectController()})
--Returns true or false based on (oPlayer's) current Spell Mastery fullfilment.
--Input: {Player}
--Output: Bool

----CW_General_GetStartingLifeTotal({oPlayer = EffectController()})
--Returns {oPlayer}'s starting life total.
--Input: {Player}
--Output: Int

----CW_General_Delirium({oPlayer = EffectController(), iCount = 4})
----Returns true/false based on if the {oPlayer} meets the requirements for Delirium (by meeting {iCount} card types in their graveyard).
--Input: {Player}
--Output: Bool


-------------------------
--Functions Definitions--
-------------------------

--Returns true or false based on (oPlayer's) current Spell Mastery fullfilment.
--Input: {Player}
--Output: Bool
CW_General_SpellMastery = function(oPlayer)
   if oPlayer == nil then
      oPlayer = EffectController()
   end
   local iCount = oPlayer:Graveyard_Count()
   local iSpellCount = 0
   if iCount >= 2 then
      for i=0,iCount-1 do
         local oCard = oPlayer:Graveyard_GetNth(i)
         if oCard ~= nil and ( oCard:GetCardType():Test( CARD_TYPE_INSTANT ) or oCard:GetCardType():Test( CARD_TYPE_SORCERY ) ) then
            iSpellCount = iSpellCount+1
            if iSpellCount >= 2 then
               return true
            end
         end
      end
   end
   return false
end

--Returns {oPlayer}'s starting life total.
--Input: {Player}
--Output: Int
CW_General_GetStartingLifeTotal = function(oPlayer)
   if oPlayer == nil then
      oPlayer = EffectController()
   end
   if oPlayer ~= nil and oPlayer:GetTeam():IsSharedLifeTotal() then
      return 30
   end
   return 20
end

--Returns true/false based on if the {oPlayer} meets the requirements for Delirium (by meeting {iCount} card types in their graveyard).
--Input: {Player, Int}
--Output: Bool
CW_General_Delirium = function(oPlayer, iCount)
   if oPlayer == nil then
      oPlayer = EffectController()
   end
   if iCount == nil then
      iCount = 4
   end
   if iCount < 1 or iCount > 8 then
      CW_General_Error("CW_General_Delirium: iCount out of bounds.")
      return false
   end
   if oPlayer ~= nil then
      local iTypeCount = 0
      local iGraveyardCount = oPlayer:Graveyard_Count()
      for i=0,7 do
         for j=0,iGraveyardCount-1 do
            local oCard = oPlayer:Graveyard_GetNth(j)
            if oCard ~= nil then
               if oCard:GetCardType():Test(i) then
                  iTypeCount = iTypeCount + 1
                  if iTypeCount >= 4 then
                     return true
                  end
                  break
               end
            end
         end
      end
   else
      CW_General_Error("CW_General_Delirium: Player is nil.")
   end
   return false
end
With the constants declared near the top, and also declared (as comments, just for making sure you don't overlap) in CW_Constants, they're easy to see and kept from interfering with one another. Each set of constants is separated based on the kind of DC it'll go into, whether it's a DuelDataChest, a PlayerDataChest, an EffectDC (the Card Data Chest referred to in the example), or RSN_ObjectDC (that's most, but not all, of them). The overall structure was based on seeing RiiakShiNal's function files.

The Constants file itself is also really helpful for letting everyone work together without stepping on any toes. That one was thought after seeing thefiremind's CHEST AND CONSTANTS file.

The function list at the top is really helpful for knowing how to call a function and what to expect back from it. (Pretty sure this one was my idea, including the {braces} for denoting optional input... It's been so long, though, that it's possible I saw it somewhere and just don't remember.)

Overall, I think it works really well for a group project.

-------

Another idea I had was related to what someone said awhile back, but I think it was in 2015, not magic duels. Is it possible to create a type-less, non-token, non-permanent card on the battlefield as a manager? If so, then it's both good an bad. Good because it can handle abilities that are otherwise difficult to achieve (e.g. Channel). Bad because it means having multiple manager tokens out will be really intrusive. If that's the case, I'd like to also include a master manager token in the Core file. Anything that needs done with a manager can use that instead of making its own. (In all of the cases I've seen except planeswalkers, they're not complicated enough to deserve their own manager anyways, as opposed to being combined with others, but planeswalkers don't need a manager token anymore anyway...)

If this idea is liked by others, then I'll make a thread for it and someone can explain to me how to turn a folder into a working zed file for this purpose.

------

Finally, do tokens have the same limitations as normal cards? I don't think they should, but I don't know for sure. If they don't, then I'll include tokens in the Core zed, too.
_______________________________
Community Wad - Community Wad Website - How to Help and Report Bugs
Discord: discord.gg/4AXvHzW
User avatar
Xander9009
Programmer
 
Posts: 2905
Joined: 29 Jun 2013, 07:44
Location: Indiana, United States
Has thanked: 121 times
Been thanked: 445 times

Re: Magic Duels tests and results

Postby thefiremind » 06 Jun 2016, 09:40

Xander9009 wrote:In your opinion (this is directed at everyone), is Magic Duels ready for a communal zed file? Does anyone /want/ a communal zed file?
I'd be totally OK with that. Also, it's in line with what I think is the best solution about the limitations on the number of cards: have a big pool of cards, then anyone can decide which cards they want to use, and include only those cards in their own card pool (the AI has no limitations because it doesn't rely on a card pool so you only need to choose which cards you want to use). In the future I may write a program that automates that process as much as possible, once we decide how it will be organized.

Xander9009 wrote:If so, can anyone give me a breakdown of the process of converting a folder to a working zed file?
This may be a point of decision: do we want the big pool packed or not? If people make their own packs with the cards they want to use, it could be fine either way.
There are some things to consider:
  • We cannot make compressed ZED files (we would need the encryption key in order to do that) so you won't save space by making a ZED file.
  • We need to use the header of the latest expansion's ZED file for our own files (again because that part needs to be encrypted and we can't encrypt one ourselves), so all the ZED files need to be rebuilt with the new header each time a new expansion hits. Using an older ZED's header gives problems with overwriting stuff.
How to make a ZED file in short | Open
If you want to make a ZED file you need either my D15Tool (as the name suggests it was a tool for DotP2015, however I extended the Converter part - and only that one, not the Workspace part which is still exclusively for DotP2015) or spirolone's MDO_CreateZed tool (it's saved as an attachment somewhere, I should make a note about where because I always have a hard time finding it :oops:). In both cases you also need the header of the latest expansion's ZED file: it's "stripped" from the original ZED file by spirolone and both his implementation and mine (which is just a conversion of his from Java to C#) attaches it to the newly created ZED file. You can find the one for SOI as an attachment, too, few pages back in this topic (it's called Data.bin, if you want to use it with my tool you need to rename it to Data_003.bin because I use the name of the bin file in order to rename the main ZED folder). You'll still find a Data_001.bin with my tool, it was made when BFZ was the latest expansion: you can safely delete it.


Xander9009 wrote:My current idea is this: Make a "Utility" or "Core" folder structure/zed file which is update fairly frequently (it'll be tiny, so it won't be as hard to upload every hour or something like that). I'm already working on a program to detect changes in a folder so I can repack when needed rather than on a timer. That Core zed would contain functions that everyone could use, and it'll be a requirement for most any mod released. It'll help with the dependency issue by making exactly one requirement, rather than "X mod for this bit, and Y mod for this other bit".

If we do, I'd like to propose that the functions be standardized to an extent.
[...]
With the constants declared near the top, and also declared (as comments, just for making sure you don't overlap) in CW_Constants, they're easy to see and kept from interfering with one another. Each set of constants is separated based on the kind of DC it'll go into, whether it's a DuelDataChest, a PlayerDataChest, an EffectDC (the Card Data Chest referred to in the example), or RSN_ObjectDC (that's most, but not all, of them).
That would be fine by me, too.

Xander9009 wrote:Is it possible to create a type-less, non-token, non-permanent card on the battlefield as a manager?
I haven't tested it yet. In DotP2015 it was impossible to make it invisible. In Magic Duels we can make emblems, which are a nice way to make cards that have effects and can't be interacted with. They won't be invisible, either (I don't know what happens if we don't give them types, it should be tested as well), but if people don't bother having emblems in order to get things done we can follow that road.

Xander9009 wrote:I'd like to also include a master manager token in the Core file. Anything that needs done with a manager can use that instead of making its own.
I have seen ManaLink 3.0 use this idea. Having that weird card out at all times makes the perfectionist in me itch a bit, but again, if other people don't bother and if we can implement more cards this way, I can live with it. :mrgreen:

Xander9009 wrote:Finally, do tokens have the same limitations as normal cards? I don't think they should, but I don't know for sure. If they don't, then I'll include tokens in the Core zed, too.
As I said at the top, the limitation is only for the player's card pool, that is, the cards you actually put in your deck through the in-game editor.
< Former DotP 2012/2013/2014 modder >
Currently busy with life...
User avatar
thefiremind
Programmer
 
Posts: 3515
Joined: 07 Nov 2011, 10:55
Has thanked: 118 times
Been thanked: 722 times

Re: Magic Duels tests and results

Postby Tejahn » 07 Jun 2016, 15:17

Xander9009 wrote:Hey, so, I've been sort of sticking to 2014 for the most part, and only vaguely following Magic Duels. In your opinion (this is directed at everyone), is Magic Duels ready for a communal zed file? Does anyone /want/ a communal zed file?...
Since thefiremind already answered your other questions I'll just comment on the above quote. I think this is a great idea. And I know I've said this all before, but the method I use to create decks I want to play against already use the Community Wad as the 'cardpool' from which I select the cards I want to use and then Riiak's DotP 2013 Deck Builder v1.4.2.1 is used to export the card XMLs and their illustrations. Although sometime I use a more higher resolution image if it's available online.

Lastly, I received a PM from a person concerning the Tutorial DLC that was interesting and understandable. So I'll be responding to their PM soon.
Tejahn
 
Posts: 430
Joined: 14 May 2013, 01:35
Has thanked: 25 times
Been thanked: 25 times

PreviousNext

Return to Magic Duels

Who is online

Users browsing this forum: No registered users and 0 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 0 users online :: 0 registered, 0 hidden and 0 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 0 guests

Login Form