About this mod
As a Blood Mage, you'll now be able to use Sacrifice on your enemies as well to heal yourself.
- Permissions and credits
As a Blood Mage, you'll now be able to use Sacrifice on your enemies as well to heal yourself.
By default, this ability takes 20% of health away from your allies. But when used on enemies, it deals only 20 damage.
So this change cranks up that value a bit higher to make an impact on the enemies. This means that if you use Sacrifice on your allies, it'll instantly kill them.
Currently, I do no know if it's possible to keep the default state of this ability when used on allies, and have new values when used on enemies.
I attempted to balance out the values of damage dealt and healing received (with and without upgraded Sacrifice) based on other damage abilities and healing abilities and their cooldowns.
If you want to manually do this:
1. Download pyGFF and GDApp
2. Open pyGFF and using its extract feature get abi_base.gda from the <path_to_game>\packages\core\data\2da.rim file
3. Open that abi_base.gda inside the GDApp and find the ID 309010, Label MAGE_BLOODMAGE_SACRIFICE
4. Scroll to the right and find the column 'target_type' and change it to either 4 if you want the ability to only work on enemies or change it to 6 if you want it to work on both allies and enemies.
5. Change column 'target_auto' to either 0 or 1 depending if you want the ability to auto cast on the selected target or if you want to manually select a target yourself.
6. Now scroll all the way to the right and change the value of the column 'float_5' to the amount of damage you want Sacrifice to do. By default, it's 0.20 (and other decimals). This being originally an ability that targets allies, that means it does 20% of their health. But if you target an enemy, it'll only do 20 damage instead. Which is nothing. This mod changes that value to 2.88, which means that the damage dealt to an enemy is 288. But if you use it on an ally it'll do 288% damage of their health and of course instantly kill them. Currently, I am not sure how to make the spell do both flat damage to enemies and % to allies.
7. You can also change the value of 'float_5' for Sacrifice's update trait. Which is ID 309011 and Label MAGE_BLOODMAGE_SACRIFICE_UPGRADE_1. The mod has it set to 1.65 which adds additional 165 damage to the 288 from the base spell if you get the upgrade.
8. Once you are done with the changes, delete all the other rows in this file until only these two remain. Check the '[Del] key removes the row' at the top of GDApp and hold the Del key on your keyboard until you remove them all. I don't know how to select multiple rows at once. Be careful not to delete the two Sacrifice related rows.
9. Go to File> Save As and name it something "unique", like abi_base_sacrifice.gda. Put that gda file inside of your override folder and that should be all.
Additional links and other information I wrote as I was playing around with this mod:
https://wiki.nexusmods.com/index.php/Modifying_spells_and_abilities_for_Dragon_age_2
https://wiki.nexusmods.com/index.php/Abi_base.gda
[Personal preference]
MAGE_BLOODMAGE_SACRIFICE float_5 is 2.5 and float_6 0.3
MAGE_BLOODMAGE_SACRIFICE_UPGRADE_1 float_5 is 1, float_6 is 0.1 and float_7 is 2
This means that every 20 seconds you can deal 250 damage and heal for 30% of the enemies current max health without upgraded Sacrifice.
With upgraded Sacrifice you deal 350 damage and heal for 80% (would have been 40% if float_7 was set to 1 cause it's a modifier) of the enemies current max health.
And if you kill an enemy with this ability, you won't get any additional healing like you would with allies. Which in a way makes more sense cause they are lacking blood to give from all that damage they suffered.
Seems fair enough when compared to other single target damage abilities and healing spells.
Note: 'Healing to this character' also affects these values
Note2: Damage type is physical damage
Note3: If float_5 is set for MAGE_BLOODMAGE_SACRIFICE_UPGRADE_1, float_7 can not be 0. Otherwise, you won't get any healing back.
[Allies]
float_5 is damage dealt to allies in %. Formula is <inserted value> x 100. Example: 0.2 is 20%, so allies take 20% damage of their max health
float_6 is healing received from the damage dealt to allies in %. Formula is <inserted value> x 100. Example: 1 is 100%, so if you dealt 39 damage to an ally, you will be healed for 39
float_7 is healing received if your ally dies from the Sacrifice ability. Formula is <inserted value> x 100. Example: 2 is 200%, so if you dealt 39 damage to an ally and they die, you will be healed for 78
[Enemies]
float_5 is fixed damage value dealt to enemies. Formula is <inserted value> x 100. Example: 2.5 is 250, so enemies hit with this ability will suffer 250 damage. Unless they are weak and have negative resistance to physical damage. Those will be hit for even more.
float_6 is healing received based on how much health currently the enemy has in %. Formula is <inserted value> x 100. Example: 0.3 is 30%, so if the enemies health bar is full, you will get healed by 30. As the enemies health bar decreases, so will the amount of healing you get (less blood for them to give I guess)
float_7 is a modifier for float_6. So if you set it to 2 and your float_6 is 0.3 (30% of enemies current health bar), that means you will get 60% of enemies current health bar instead.