Max mtg wrote:You are right, Chris
It turns out that a deck begins holding not only information on it's user's initial library, but some rules to enfornce on an opponent.
I'm taking this very seriously. If we accept such changes and say "oh, it's okay, let the deck hold opponent's staring life and cards he should start with", then Forge will never come to being something simple and easily managed. Because entities named in one way will behave as if they were something else, methods will do some side calculations besides what they were meant to do.
Let me give you some examples, that I've already met and eliminated: generating cards for sale in shop at Shop UI, calculating rewards for quest both in QuestData and Gui_WinLose, passing the card list N times in order to apply N filters to the same list, copying code over and over...
I am very upset to see that my work on clearing up things, grouping functionality into classes, separating view from game logics, eliminating duplicates and keeping everything in a simple and logical way is being ruined with changes like this one.
`
Max, lets calm down and try to look at this from a reasonable and rational position. To be honest, I do not have the perfect solution to the deck issue. All I have is several years of experience gained through discussions on this forum.
Currently, some of the info for the quest opponents (battle opponents and quest opponents) are included in the .dck file. Some of this info is contained in the 4 text files "easy.txt", "medium.txt", "hard.txt" and "veryhard.txt". Some of the info is hard coded. Oh, and some of the data is in the file named "quests.txt".
The past and current systems used for creating/editing/testing these special quest opponent decks was overwhelming for most people. We have people who would like to help with this but the tech needed is holding them back.
I can remember the old days helping Dennis to create/edit/test the special quest opponent decks. I was able to help in this area but I did quickly burn out.
I also can remember when all of the human and the AI decks were contained in a single file. Ugh. This explains the no longer needed import and export commands.
Having all that metadata in a single file could be considered by some people to be confusing. But having that data spread out in so many different areas of our project may not be the best solution either.