Change Log 1.6.5
This is a
HUGE update to how Epidemic works in the back-end, and has some fairly significant changes for the players and for server owners.
I'm going to give a little background on the update (you can skip to "On to the changes.." if you'd like) and then get right into the changes.
Background:
The update to 1.6.5 was driven with one major goal in mind, and that was to get us ready for 1.7.0 (The Biological Warfare update). The stepping-stone approach from 1.6.2 to 1.7.0 was to accommodate the changes, and save me having to focus on both back-end changes and biological warfare changes in a single update.
The biggest change for Epidemic came back in 1.5 when multiple ailments were allowed per player. It opened up Epidemic to more changes, and got us away from players nursing a minor ailment in order to avoid a bigger one. That was absolutely vital for biological warfare, and while it existed, it wasn't being used properly. 1.6.5 was planned as where multiple ailments would really start to shine, and we'd move cures away from Ailments and into their own file. At least.. that was the plan.
What actually happened was this. I removed Cures from Ailments, making old cures into legacy cures, then realized that I now had multiple different, but very similar structures in place. Cures, Custom drinks, Relief potion, infection cure, boiled water, snow-melt water and temperature relief recipes. They all worked on a similar basis, but were in no way related. And so remedies were born. Remedies replace all of those individual objects into a single entry that can perform any of their features. (You can read more about Remedies here:
https://torpkev.github.io/epidemic_docs/remedies).
While moving all of these into Remedies, I ended up having to deprecate huge amounts of code as they just didn't do anything once the conversion to Remedy was done, so while working through removing old code, I ended up rewriting about 80% of the plugin code in order to properly support remedies and multiple ailments, as well as standardizing, removing duplicate code blocks and making the code more efficient in general.
The deprecated code in 1.6.5 will likely be removed in another stepping stone update PRIOR to 1.7.0, meaning if you are coming from pre-1.6.5, you will need to install 1.6.5 BEFORE 1.7.0 in order to get the conversion of existing files etc.
1.6.5 is now (finally) ready and has a ton of new features with the remedies, removes a lot of the bloat from the config.yml file and should run much more smoothly, and I'm looking forward to getting 1.7.0 ready and released, finally bringing full on biological warfare to Epidemic.
On to the changes..
If you read the above, you already know there are a
LOT of changes. I won't list every little change (honestly, I didn't document them all or it'd have been a novel), but I will outline the major changes below. But before I do, a warning:
If you're updating from a pre-1.6.5 install of Epidemic, there are several major changes to the mechanics of Epidemic that should be considered
BEFORE upgrading. If you are a new user, or if you're doing a fresh install, then please read the below, but don't worry about any of the conversion changes - there is a whole set of pre-configured ailments and remedies you can use, modify or even discard and create your own.
Please note that when converting from a pre-1.6.5 version, the Ailments and your main config.yml files
will be overwritten. You must backup your Epidemic folder
BEFORE updating as you will likely lose a number of comments etc.
Cures are no longer tied to Ailments
Prior to 1.6.5, each ailment could have a single cure, which allowed the cure to be saved in the Ailment folder. This is no longer the case. With remedies, you can have multiple cures for a single ailment, or a single remedy that cures multiple ailments. During the conversion process, your cure will be exported out into a Remedy file. It is highly recommended that you review this prior to use.
Multiple use remedies are available ONLY for 1.14+
Secondary infections have been removed from the game
Prior to version 1.5, only a single ailment could be applied to a player at a time. This prevented any additional ailment being used for the secondary infection. With 1.5 multiple ailments became available as an optional config setting. With 1.6.5, this is no longer optional. Multiple ailments are now enabled by default and cannot be changed.
As Epidemic can now handle multiple ailments easily, the secondary infections were a very limited approach to a follow-up infection, instead they have been replaced with secondary ailments, which is a small but very important distinction. The major difference here is that the secondary ailment has its own ailment record. It will still be triggered in the same way as a secondary infection, but is truly its own ailment. The other major difference this causes is that previously you could not cure the original ailment until you had cured the infection, now you can cure the original ailment or infection in either order. If you cure the secondary ailment, it will not be applied again by the original ailment (unless cured and then the player gets the ailment again).
With this change, we no longer needed the relief potion or infection cure from the main config.yml file - these have been removed from the game. The conversion process will automatically create the secondary infection ailments and remedies for you, but again, it is highly recommended that you review these prior to use.
Please note that because the secondary ailment has its own ailment record, it could have its own secondary ailment of its own. This is referred to as ailment chaining and is
NOT recommended or supported.
Custom Drinks
Custom drinks are a fairly new feature added to Epidemic with version 1.5.5, however, they mimic a number of features found in Remedies, so became redundant. You can now create remedies for each custom drink and modify the various configuration options as needed. The conversion process will automatically convert these for you.
Temperature Relief Potions
Similar to custom drinks, the temperature relief potions became redundant when alongside remedies as remedies can apply heat/cold symptom relief. The conversion process will automatically convert these for you.
Default Thirst Potions
Similar to custom drinks, the custom thirst potions became redundant when alongside remedies as remedies can apply thirst modifiers, so have been replaced with remedies. The conversion process will automatically convert these for you.
Drinking from a non-boiled cauldron can now make you sick
The same logic that decided if dirty water could make you sick has now been applied to drinking from a cauldron without a campfire beneath it.
/epidemic cures has been replaced with /epidemic.recipes
As cures have been deprecated and are automatically converted, there is no need for /epidemic cures, however, /epidemic recipes provides a very similar interface for remedies.
Permission Changes
The following permission changes have been made, however, the old permissions can be still be used, but are considered deprecated and WILL be removed in an upcoming update.
epidemic.cures.take has been replaced with
epidemic.remedy.take
epidemic.cures.display has been replaced with
epidemic.recipes.display
Added API
Developers can now hook into Epidemic via the API.
Two events are exposed; Affliction and Remedy. There are also 5 functions open to the API which give access to cure the player, get the current afflictions, get a list of available ailments and remedies and also to get the players temperature.
JavaDocs are available here:
https://torpkev.github.io/epidemic_docs/javadocs
Updated Documentation
Documentation has been moved to
https://torpkev.github.io/epidemic_docs
Please put any issues or suggestions right into the Issues option on the github page:
https://github.com/torpkev/epidemic_docs/issues
Finally, as always, if you have any questions or concerns, please visit the Discord channel and let me know in the #epidemic channel.
https://discord.gg/7a47xSX