Please update Quest Plugin, it really sucks. The logic is pretty bad. The fact it would even consider picking a "Basic Mage" over a "Mage" because it has a class id card is bad. Something you should fix and make it exclude deck names with BASIC in it unless a last resort. The fact it does not set back the desired Custom Deck and just puts in a random deck when it is done is bad. List goes on, but I have already put more time than I wanted into this. Only reason I am posting the code is because I had to rewrite it AGAIN, because your patcher overwrites addons. So please take my code and make it suck less. Also. Please fix the relogger so when you hit stop.. it actually stops instead of restarting after a few minutes anyways. That sucks too.
Hi Phelon, thanks for your feedback. Let me walk you though a few things to help you avoid the frustrations you are talking about. First, the Quest plugin is a pretty simple plugin that serves one basic purpose: to randomly choose decks to do quests. The option to continue doing quests after the fact was added not to offer a functionality of playing a single deck, but rather to keep the bot running with random decks after doing quests. I can't remember why it was added other than it was requested at the time, and the implementation was good enough to stay. The plugin comes with source for people to make changes, or at least see how to do some basic things with the bot. However, since it's our code, the updater will update it, because that's how the updater works, it keeps all our files up to date. If you want to make changes to the plugin, all you need to do is copy and paste the Quest folder and rename it, for this example I'll use "PhelonQuest". So now, your plugin folder will look like this: https://gyazo.com/0659660196262739e669c33b02e9c37d Now, you can open up Quest.cs inside the PhelonQuest folder and make some basic changes to make your plugin standout. Change the Name property to return "PhelonQuest" and the Author to "Phelon". Save and load up the bot. You should now see this in the plugins window: https://gyazo.com/695a2cc16bb84172b0405ad05d7d7c16 This is now essentially "your plugin" and the updater won't touch it! Your changes shouldn't be lost, but still I would highly recommend you check into a source control system, either SVN or Git based, to keep track of your work to help avoid any accidents with losing work. We use Assembla mostly, but other things exist. Alright, so that should take care of the updater issues, and how to keep your code safe. Now for the issue you're talking about in terms of quest decks. The Quest plugin was updated to take 17 deck names that you can ignore from being used. If you don't want your "Basic Mage" deck from being picked, all you have to do is put it into one of the "Ignore Deck Name" slots on the Settings gui, and it will no longer be included. That's it! The purpose of those ignore slots, is to help the bot avoid picking decks you might not want it to. However, not everyone has custom decks for each class, so making the bot ignore those Basic Decks is a bad idea as the plugin wouldn't work for everyone anymore. Furthermore, you can now edit those Basic Decks, so just because the deck is named that, doesn't mean it's not a modified or custom deck, so the idea of ignoring them isn't a valid approach. It's only a little bit of typing to ignore those decks if you don't want them in the settings, so that's why our code is setup how it currently is. We understand that our basic plugin cannot cater to everyone's desires, but since it looks like you know what you want and how you want it, I've hopefully provided you with the info you need to avoid future frustrations with this. If you have any other questions on the matter, feel free to ask. Happy coding!
I do understand how the updater's work, I just didn't know yours did the same thing since this technically isn't made by the buddy team. Here is some helpful suggestions to make this work better for everyone. Since you took the time to respond to me I might as well give you some design feedback. Basic Deck Issue: The problem is the logic that will select a random deck that could include a basic deck. You would want to use a basic random deck as a last resort, so it should try to eliminate the basic decks from the initial Linq query you run. There is very limited logic in this plugin with regards to how it choose's it deck. Spending about 30 minutes on this could vastly improve it. Settings: I suggest making your settings based on an account rather than a global settings. Since every account is different people might want different settings for different accounts. Custom Deck Selection: Randomizing Decks at the end of the Quest Plugins is bad. It should cache the desired Custom Deck and then replace it when it is done with questing. It should also use the Custom Deck when possible for Class Quests and non Class Quests as the first choice if applicable. Ignore Decks: This is very broad and would be better suited for letting players select the deck they want per class. Instead of telling it what you don't want, since this could be a lot more broad range depending on accounts, make it so you can set it to what you do want to use for each class. This way you can set the deck names in each account to the ones that match. It would make it a lot more user friendly. Relogger: Make the stop function actually workand not a generic pause that will restart itself. Make the quest functionality not un-check itself. Make it check to see if it has the right account logged in when you start the relogger.
The Buddyupdater is used to update Hearthbuddy. The relogger project is separate and isn't updated through the Buddyupdater (so none of my replies cover that project, but I can forward your issues to the author). We'll take it under consideration, but the plugin as implemented works and does exactly what it's supposed to. That's not to say things couldn't be made a lot more advanced, but we also use the setup we do to allow people to do this themselves, and share it with the community to replace what we offer. Before I myself would invest into updating the current set of plugins, there's a lot of other core project improvements that the time would be better spent on first, as it'd require all plugins to be rewritten quite a bit for the non-API specific stuff. It's already configuration based. When you start up the bot, you choose a configuration to use, which then persists though your botting session. This fits well with Hearthstone because the game offers no in-game login/logout system, and you must exit the client and go through battle.net to start things again. Everyone sees things differently, and while we can't cater to everyone's desires, if the basics we provide isn't good enough as time goes on, we'll make adjustments. Our design allows people to do almost anything they want instead and share it with the community, so if you think your way is a lot better, then we encourage you to give it a try! A more advanced plugin should implement something along the lines of listing all the possible quests and then allowing users to customize all the aspects of it, but don't underestimate or devalue simplicity of things that work. Short term, the ignore list was required because of the addition of 9 other deck slots that overlap the basic decks. The "something" was better than "nothing". I can forward these to the guy that develops the relogger, or you can post in the relogger thread, and I'm sure it'll be taken under consideration. Thanks for your feedback!
Thanks, Phelon! Now Quest plugin works almost fine. One thing: if HB closed while quest not completed, next time deck will be previous basic deck (or another deck used for quest). Could you make some impovements like additional field with quest's deck or refuse any changes in desired deck field? Question to devs: maybe these changes possible in native quest plugin?