Version 1.2.0 Released!


Hey folks! You may have seen the v1.6.2 update to Core Engine, and a part of our major update to how our Library works required that we update Core Engine, Shop, and Deck Editor all at once. Let's get into it!

Fixes/Changes in this Update

  • Complete overhaul of Deck Editor windows as a product of the Library overhaul.
  • Changed parameters to match.
  • Added utility function actor.isCurrentDeckLegal().
  • Fixed bug where starting decks would contain cards that weren't the same cards that would be in the actor's Library. Ghost cards.
  • Added parameters for whether DP should be enabled and/or visible.
  • Replaced safety skill with a custom skill that provides better feedback to the user.
  • Fixed Param Descriptions in DeckEditor referring to Simple Library

New Features

  • Even More Deck Restrictions!

Deck Restrictions have been expanded. In addition to min size and max size, the following have been added:

<Deck Restrictions>
Min Type typeName: X
Max Type typeName: X
Seal Type typeName
Seal Type typeName if [expression]
</Deck Restrictions>

Min/Max Type works just like Min/Max Size, but for the amount of cards of the specified Type.

Seal Type is special because if the condition is met (or if there is no condition) that type of card won't even appear in the Deck Editor for the actor that has that restriction.

There are two more restrictions for Actors and Classes, but they're special:

Require [expression]
Requirement Message: [string]

Any Deck will be considered illegal if its Require conditions are not met; but underneath each Require notetag there should be a Requirement Message notetag which contains the message that should appear in the Deck Selector Window if that condition isn't met.

But that's not all - we've added another skill-specific restriction that has made us revamp the Skill Notetags:

<Deck Restrictions>
Max Copies: X
Require [expression]
</Deck Restrictions>

Max Copies works just like it previously did, but now it's couched inside a <Deck Restrictions> notetag.

The Require tag works just like it does for the Require Card Passive - but instead of determining if a card is playable, it determines if a card can be added to a deck.

  • Added the ability to "lock" deck presets.


You can now add the "immutable" notation inside a <decklist> notetag to set that particular decklist as uneditable.

If a deck is immutable, it will have an icon beside it to indicate it. You can configure the icon in plugin parameters.

  • Two new Plugin Commands: AddCardToDeck and RemoveCardFromDeck.

AddCardToDeck adds a card to an actor's deck. That's why we called it that. But beyond that, you can specify a deck name, or say "%current" to refer to the currently equipped deck, and then specify whether adding the card to the deck adds it to the library as well.

RemoveCardFromDeck works the same way, except actually the opposite. With it, you can specify if removing the card from the deck removes it from the library as well.

Be careful with these! You can make a deck illegal if you're not careful. We've added a new function called actor.isCurrentDeckLegal() which returns true or false to help you out.

  • Replaced safety skill with a custom skill that provides better feedback to the user

When a user makes an actor who has no legal decks because their default decklists don't meet any minimum requirements, we populate their decklists with a "safety skill" which isn't actually a part of the actor's Library. We originally did this so that users wouldn't end up softlocked on the Deck Editor scene because they couldn't make a legal deck.

But some folks incorporated the safety skill into the design of their game, and then became frustrated by weird interactions and confused that the safety skill's ID couldn't be changed. They understandably saw these as bugs in an incomplete feature. In reality, we never meant for people to use the safety skill this way.

So we've improved the safety skill by making it worse. Now, its card is bright pink and impossible to miss, it has an error message written directly on it so you don't even need to open the console to see what's wrong, and it's unplayable in battle.

  • Extra setting for EquipCards

If you're using EquipCards, there's a new parameter to determine what happens when you gain cards through equipment. By default, the cards are added to an actor's Library and therefore are available within their Deck Editor. But now there's an option to hide them from the Deck Editor and instead add them directly on top of the current deck at the start of battle.

Since they're not technically a part of the deck, cards added through EquipCards under this setting would not contribute to a deck's legality/illegality, and so they could be used to get around restrictions in fun and interesting ways.

What to Look Forward to

  • Card List UI
Magic the Gathering Arena: Dino Pancakes Deck (Red/Green Dinos) | MMOHuts

This is an alternate UI scheme where the current deck is shown as a list instead of as a grid of cards. Our current design is nice and symmetrical but that doesn't meet every project's needs. The list mode would also make it amenable to showing more Cards of a deck as once if you have a game that uses larger Decks. We would also adapt the Card Preview so that it followed the cursor while you navigated the list. This would also allow us to make sorting filters (arranging your library by Name, Cost, Set etc.) which would speed up deckbuilding process.

  • More Deck Stats

The Deck Status Window has a lot of potential. We want to add a few more visual elements, like a Cost Curve and a Type Pie Chart.

Is there anything inherently bad about this mana curve? : r/mtg

We want to give users the tools to determine which of these stats are relevant to their game and change their presentation accordingly. There will generally be a Minimized and Maximized form of the UI Element. We will do our best to get it to work for both Grid and List UI Setups.

  • Auto Deck Generator
Developer Insights: Smart Deck Builder - Hearthstone
Now that we have some deckbuilding rules in place, we want to be able to use those to make the player's task of building a Deck. Many Digital Card Games since Hearthstone have a feature where the player can specify some "core" Cards they would like to build and then they hit a button that automatically populates the current deck with legal cards from the library. This would be great for games with lots of cards that could otherwise give decision paralysis to some players, and it'd even be a good testing feature for developers.  Especially we get to the stage of being able to easily import/export Decks.

Neel made me write this one. It seems hard.

Final Thoughts

The biggest features of a deck editor are in! I'm really happy with where it is now, though of course our work is never done. 

With Deck Editor it feels like Neel is the brains and I'm the brawn; he knows what UI designs are most useful, what a player is looking for in deck editors, and what features a developer might want beyond just what has already been requested, and I can brute strength my way into a working plugin using that blueprint. If you have a designer in your life be sure to treat them nice!

Special Thanks to all our lovely Patrons  and their support of our work. Without whom this update would not have happened :)



Card Game Combat is developed by MythAtelier, LLC. We can be contacted for commissions and other business inquiries at our Email.

If you would like to support our work and have a say in what plugins come next, please be sure to check out our Patreon.  

If you are looking to ask questions about Card Game Combat or talk with other developers, feel free to join our Discord.

Files

Deck Editor (v1.2.0) - Plugin Files 391 kB
71 days ago

Get Deck Editor - CGC Expansion - MV/MZ

Buy Now
On Sale!
20% Off
$12.50 $10.00 USD or more

Leave a comment

Log in with itch.io to leave a comment.