Dragon Age: Origins

File information

Last updated

Original upload

Created by

Tinman

Uploaded by

tinman06

Virus scan

Safe to use

About this mod

Add new tactics commands related to potion use (including stamina potion commands), add stamina potions as drops, and optional potion cooldown tweaks.

Requirements
Permissions and credits
Improved Potions v1.1 (formerly "Stamina potion cooldown tweaks")

PURPOSE
Add some new tactics commands related to health poultices and lyrium potions that are a little bit smarter than the default "Use most/least powerful" commands. I have also extended the original and new tactics commands to work with the stamina potion mod (http://www.dragonagenexus.com/downloads/file.php?id=144).
Add stamina potions as random drops.
Optional cooldown duration and sharing tweaks (based on Combat Tweaks and with a similar balance) are also available, and are meant to make the game more difficult since the default 5s separate cooldown for each potion makes the game ridiculously easy if you have a large supply of potions.



NEWS
3/13/2011 Added an optional patch that fixes the problems with the "Enemy clustered with X allies" condition in Advanced tactics 3.1. Requires Improved potions and all of its pre-req's. Installation instructions are included in the readme with the file. A few things may still need some tweaks - see the comment I posted here and on the AT comments page and leave me feedback if you think anything needs adjusting.
2/28/2011 Added an update to the potion drops script that should prevent any potion drops while you are in the fade during the broken circle quest. This is my first time having to mess with plot flags and I don't have a save at that point handy to test if it worked, so please leave me some feedback about whether it worked or not. To install just put it in your "zz Improved Potions" directory in the override folder. I will include it in the dazip with the next update.
2/27/2011 v1.1 released. Fixed a bug with the "Use Best" potion commands that would cause them to not work if you were lacking more than 200 of the stat it was trying to restore. Incorporated the stamina potion drops patch into the new version.
2/19/2011 Uploaded an optional update that improves overall stamina potion drop rates and allows the quality and # of potions that drop to scale with the creatures level not just rank. See the included readme for the details.
2/14/2011 Happy Valentines Day! I have fixed the packaging problem with v1.01 in v1.02 so the new commands should work properly now. Sorry for the issues - I'm still learning the toolset and how to package things correctly. The mod should work with CNTS v3.2 or v4 without any extra installation steps other than installing the dazips and any patches required for optional features or mods not made by me. To uninstall v1.0/1.01 uninstall the dazip then delete any files/folders in the override directory or a subfolder of the override directory named "Improved Potions" or "tin_impr_pot_package.erf".
2/11/2011 v1 of the new Improved Potions mod has been uploaded. All previous files have been moved to the "old files" section and will no longer be supported.
2/11/2011 Changed the name to "Improved Potions" since I have extended my scope beyond just stamina potions.



FUTURE PLANS
Implement shared potion cooldowns for all 3 potion types using event manager instead of direct script changes, for those that don't use combat tweaks or another mod with the same effect.
I will consider making a non-Advanced Tactics/CNTS version if I get enough requests.


IMPLEMENTATION
Unfortunately I was unable to implement the new tactics commands as abilities due to the way the tactics and ability systems interact (or lack thereof). All checks for the validity of the ability (has the right potion, doesn't already have full health/mana/stamina, etc) have to be done in the tactics system or else the tactic is ALWAYS marked as being successfuly executed. If the ability actually fails and can't be executed, the tactics system doesn't know it which causes it to start at the top of the tactics list the next time instead of after the last one that failed, regardless of if the ability was actually able to be executed or not based on checks in the ability code. The end result was an infinite loop in your tactics that caused anything below the "use X stamina potion" command to not be executed because the tactics list was reset to the top after every false "execution" of the ability, but the ability wasn't put in cooldown because the actual execution failed and was therefore available to be used immediately when the tactics system went to it again.

Bottom line is I had to modify the tactics scripts directly to implement the new tactics commands in the same way as the existing "use X potion" commands. Rather than using the vanilla game code I instead used my modded advanced tactics sources so that this mod would be compatible with Advanced Tactics 3.1 (http://www.dragonagenexus.com/downloads/file.php?id=181) and my custom number of tactics mod v3.2+ (http://www.dragonagenexus.com/downloads/file.php?id=1480). Unfortunately making these mods compatible is equivalent to requiring them, but thats not so bad because they are pretty much essential for any DAO player and you should be using them anyways :).

The file that was modified is at_ai_main_h_2.nss, and all other scripts that use that header file (at_perception_appear.nss, at_command_complete.nss, and cnts_attacked.nss) had to be recomplied. The new scripts are installed into the override directory so that they override their original versions that are both installed via DAZIP (CNTS v3.2 is an exception, and the old files must be manually deleted).

Cooldown tweaks
The potion cooldown tweaks are set at 8/9/10/11s for health, 10/11/12/13s for lyrium, and 10/11/12/13s for stamina for ranks 1/2/3/4 of each type respectively. The slightly staggered cooldown durations makes the higher level ones slightly less effective compared to lower level ones to balance difficulty some since you will be better geared at the end of the game. Low lvl health potions are set with a shorter cooldown than the combat tweaks flat 10s since the game can be very hard at the beginning if you use difficulty increase mods + nightmare, with the highest lvl having a slightly longer cooldown that in CT. Lyrium potions are all a few seconds above health since mages can also use health potions and an amount of mana can result in more healing effect than that same amount in health. Stamina potions get double nerfed - they have the same cooldown as lyrium potions (my mod) and only have 1/2 the effectiveness of lyrium/health potions (as set by stamina potion mod author). This is to balance out the fact that warriors can do more dps without abilities than mages can without spells.

Shared cooldowns
Having "shared" cooldowns means that when any type of potion (health, lyrium, or stamina) is used and that specific potion type and rank goes on cooldown, all other potion ranks of that same type are also set to the same cooldown. This is to prevent you from being able to use a greater health poultice and then a health poultice back to back to heal faster than using 2 greater health poultices in a row since you would have to wait for the cooldown to finish in the latter case. You can also have a global potion cooldown that causes every potion type and rank to go on cooldown when any type/rank is used, but I don't feel that is very realistic so I don't provide a optional file to do it.

"Smart" potion commands
I wanted a "smart" potion command that would use whichever potion fit my current health/mana/stamina needs the best, instead of using one that filled too much or too little or having to use multiple tactics to find the best one to use based on the relatively coarse % health conditions available in the tactics menu. The new commands I have added are "Use [potion type]: Best" for each of the 3 types. What they do is calculate how far below max your current level is, and then use the weakest potion that will fill you to max. If you had 100 max health but 10 currently and had 1 of each type of health poultice, using the "Use Health Poultice: Best" command would result in a normal health poultice being used, since it restores 100 health ((not taking into account positive attribute modifiers or negative game difficulty modifiers) and you were lacking 90 (lesser only restores 50 so wouldn't be enough). If the "best" potion to fit your needs is not available (you don't have one or it is on cooldown), it will try to use the potion 1 rank lower next, then 1 rank higher if that one was also not available. It will continue that pattern until it finds a potion to use, and if it can't find any the tactic fails and it goes on to the next one. I also added in the default use most/least powerful command for stamina potions.



COMPATIBILITY
This mod requires advanced tactics, custom number of tactics slots, and the stamina potion mod, and should be compatible with anything those mods are compatible with (including combat tweaks). It will be partially compatible with other mods that may override the same ability ID entries in abi_base.gda, but there may be side effects such as potion cooldowns being wrong or the new ability names not appearing. If you have any questions about compatibility with other mods post them in the comments and I will look into it. If they aren't compatible I will post compatibility patches if possible.



INSTALLATION
Install the DAZIP file using DAO mod manager (recommended, haven't tested with other mod managers or DAUpdater), then follow the instructions in the included readme for any of the optional features you want.



UNINSTALLATION
Uninstall with DAO mod manager, then delete the "zz Improved Potions" folder from your override directory manually.



CREDITS
All credit for the Advanced Tactics mod goes to anakin, I used his scripts for compatibility purposes only, and did not make any changes to his mod other than adding support for mine.
All credit for the stamina potion mod goes to DangerousFat, I used some of his item and icon resources for continuity with his mod. It was his mod that really inspired me to make this one, and I have his permission to continue to make improvements to his mod.