Larian Studios
Posted By: Luckmann Is there a way to make Skills ignore Armor? - 16/10/17 03:33 PM
That is, for the purpose of applying an effect.

I've been trying to fix Slowdown Arrows by having them:

• Do Earth damage instead of Physical, partially because there's actually not a single arrow that does Earth damage at the moment.
• Have them create a very small puddle of oil underneath the target.
• Have it always apply Slow, because currently, Slow is resisted by Magic Damage unless the slow comes from Oil.

I have no problem whatsoever with the first two, but I can't find a way to do the last one.
So if you look at Slow's status entry, you'll see this:
Code
new entry "SLOWED"
type "StatusData"
data "StatusType" "CONSUME"
data "ForGameMaster" "Yes"
data "InitiateCombat" "No"
data "DisplayName" "SLOWED_DisplayName"
data "DisplayNameRef" "Slowed"
data "Description" "SLOWED_Description"
data "DescriptionRef" "|Reduced Movement speed by [1]%. Cured by Hasted, Adrenaline.|"
data "DescriptionParams" "Stats:Stats_Slowed:MovementSpeedBoost"
data "Icon" "statIcons_Slowed"
data "FormatColor" "Red"
data "StatusEffect" "RS3_FX_GP_Status_Slowed_01"
data "SavingThrow" "MagicArmor"
data "ImmuneFlag" "SlowedImmunity"
data "StatsId" "Stats_Slowed"
data "StackId" "Stack_Slowed"

Specifically: data "SavingThrow" "MagicArmor"
A way to get around this would be to create your own Slow (which is preferrable than overriding the original), and remove the saving throw.
Originally Posted by LaughingLeader
So if you look at Slow's status entry, you'll see this:
Code
new entry "SLOWED"
type "StatusData"
data "StatusType" "CONSUME"
data "ForGameMaster" "Yes"
data "InitiateCombat" "No"
data "DisplayName" "SLOWED_DisplayName"
data "DisplayNameRef" "Slowed"
data "Description" "SLOWED_Description"
data "DescriptionRef" "|Reduced Movement speed by [1]%. Cured by Hasted, Adrenaline.|"
data "DescriptionParams" "Stats:Stats_Slowed:MovementSpeedBoost"
data "Icon" "statIcons_Slowed"
data "FormatColor" "Red"
data "StatusEffect" "RS3_FX_GP_Status_Slowed_01"
data "SavingThrow" "MagicArmor"
data "ImmuneFlag" "SlowedImmunity"
data "StatsId" "Stats_Slowed"
data "StackId" "Stack_Slowed"

Specifically: data "SavingThrow" "MagicArmor"
A way to get around this would be to create your own Slow (which is preferrable than overriding the original), and remove the saving throw.
Wouldn't that risk resulting in double-slows, if you, say, would be hit by the home-made slow while standing in Oil?

Either way, that's super-helpful just for the fact that actually making my own effect hadn't occurred to me - I have only messed with Skills using the Stats editor so far and I guess I'm having tunnel vision.
Originally Posted by Luckmann
Wouldn't that risk resulting in double-slows, if you, say, would be hit by the home-made slow while standing in Oil?

You can avoid double Slowed if you use the same Stack ID as the original Slow - that way only one can be applied at the same time. You can even customize your slow by making it have a different Stats ID, which would allow you to change how much it slows them. If you use the same Stats ID as the original Slowed, you'll retain the same stat changes.

Code
data "StatsId" "Stats_Slowed"
data "StackId" "Stack_Slowed"

StatsId entries are located in the Potion table by the way.
Originally Posted by LaughingLeader
Originally Posted by Luckmann
Wouldn't that risk resulting in double-slows, if you, say, would be hit by the home-made slow while standing in Oil?

You can avoid double Slowed if you use the same Stack ID as the original Slow - that way only one can be applied at the same time. You can even customize your slow by making it have a different Stats ID, which would allow you to change how much it slows them. If you use the same Stats ID as the original Slowed, you'll retain the same stat changes.

Code
data "StatsId" "Stats_Slowed"
data "StackId" "Stack_Slowed"

StatsId entries are located in the Potion table by the way.
Thanks a lot for your help, man. Truly, truly appreciated.
And here's the finished thing, in case anyone is interested:

http://www.filedropper.com/slowdownarrowfix-mod

Appears to work like a charm! One thing that might look like an oddity is the 2 turn duration, but that's only really noticeable outside of combat, and it's because 1 turn will be "eaten" when the enemy turn comes around. Oil itself lasts for 1 turn, but renews whenever you're in oil, so 2 turns on an enemy = 1 effective turn.

Threw me off for a second (because I did the testing outside of combat).

Obviously, it's a proper non-.pak mod, so it goes into /data/ and can be freely edited, distributed, picked apart, learned from, whatever.
I was just thinking yesterday as I was making some skills, how can I make a skill insta-freeze, given that it passes an accuracy check and a % chance check, and in doing so bypass a physical or magical armour check. Ala, % chance status piercing.

Very informative thread, thanks to you both!
© Larian Studios forums