Jump to content

Is there a way to convert base damage from insta damage to damage over time?


Recommended Posts

I recently installed a mod called Power Armor Machine (Fallout TV series) which makes it so enemies fly when you punch them. But the problem is if you one hit them, it just plays the boring vanilla death animation and they don't fly. I found through the Pain Train perk that the last upgrade does damage. And if their health is low enough, they still fly but die mid air. I tried replicating this through a spell by adding a new damage type to the unarmed power armor weapon entry and attaching a bleed spell to it, then lowering base damage to 1 or 0. While it did work, one major issue is that spell damage doesn't scale up with mods and perks that increase unarmed damage, so essentially I'm stuck with the same amount of damage regardless of upgrades/perks. If there's a way to make spell damage scale up or preferably make base damage be dealt over a period of time via script or something, I'd much appreciate the help.
Disclaimer: I have no knowledge of script making/writing, although I can copy paste a new script in CK.

Link to comment
Share on other sites

I've not tried this but perks have Mod Enchantment Power and Mod Spell Magnitude entry points that may do what you want, e.g. if you look at the Iron Fist perks in Creation Kit or FO4Edit, you can replace Mod Weapon Attack Damage with one of the aforementioned. You'd then need to replace the weapon condition with the appropriate enchantment or spell condition, to make sure the perk is triggered by your enchantment or spell.

I would also add multiple sub-effects to the enchantment / object effect, each conditioned on the player's strength, e.g. GetValue ActorValue: 'Strength' == 1.0000 Run on Player. (FO4Edit for some reason doesn't let you run conditions on the player directly, so you'll have to 'run on reference' and then select PlayerRef.) The game adds 0.1 to your damage multiplier per strength point, so your effects would be something like:

Effect #0: Magnitude 5.00, duration 5; condition GetValue ActorValue: 'Strength' == 1.00 Run on Player.

Effect #1: Magnitude 5.50, duration 5; condition GetValue ActorValue: 'Strength' == 2.00 Run on Player.

Effect #2: Magnitude 6.00, duration 5; condition GetValue ActorValue: 'Strength' == 3.00 Run on Player.

Effect #19: Magnitude 14.50, duration 5; condition GetValue ActorValue: 'Strength' >= 20.00 Run on Player.

Doing this with a script would be very inefficient, certainly in terms of how long it would take to write, and probably in terms of its effect game performance as well.

Edited by adb3nj
Link to comment
Share on other sites

On 6/1/2024 at 12:07 PM, KriticalGuy said:

While it did work, one major issue is that spell damage doesn't scale up with mods and perks that increase unarmed damage, so essentially I'm stuck with the same amount of damage regardless of upgrades/perks. If there's a way to make spell damage scale up or preferably make base damage be dealt over a period of time via script or something, I'd much appreciate the help.

I don't know of any vanilla way to get the precalculated damage output the player can actually deal (based on their current perks, spells and such) at a given time (e.g. when about to punch an enemy in Power Armor) to apply it later (for example when the enemy is already flying). Not even in Papyrus actually.

You can set the base damage of the unarmed weapon damage to 0, even suppress the damage the NPC would take, then apply a detrimental effect (e.g. a "Health ActorValue damaging Magic Effect") on them but not with the actual damage that was suppressed because the formula is hardcoded in the EXE.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...