I updated the descriptions and icons and some other stuff. It's recommended now to keep the vanilla sneak attack reactions and the hidden ones enabled simultaneously so you can use the right reaction when necessary. If you have any questions about how the reactions work, read the in-game descriptions or the main description page here or the patch notes first.
Wait I did some testing and it seems like jumping already doesn't break stealth in vanilla? I made a mod for it, but it seems to still work after I disabled it.
Works perfectly, thank you for creating this! I don't get why vanilla forces you out of the hiding after a sneak attack, it kinda defeats the entire purpose and makes playing a sneak-based character extremely annoying. Now I can finally thrive!
"if i'm not hidden, i can't hide after using sneak attack"
This is intentional. It's supposed to only let you stay hidden if you were already hidden. Unless you mean that you can't use your hide action from your hotbar afterwards?
"if i'm hidden, it's done without asking, even if in the reaction tab i set to ask for it"
The "Hiding Reaction Sneak Attack" reactions are used for the reaction sneak attacks. Do you have those set to ask?
the intentional thing...i don't like it, but ok, that's your mod
Hiding Reaction Sneak Attack (free) is a different thing from hiding sneak attack (reaction cost) After using HRSA i should be asked if i want to use HSA (if it's set on ask) both if i have HRSA set on ask and on auto. Those are 2 different reactions
This is what happens 1) HRSA ask, HSA ask = i get popup for using sneak attack, hiding is auto 2) HRSA auto, HSA ask = i don't get popup for using sneak attack, hiding is auto 3) HRSA ask, HSA auto i get popup for using sneak attack, hiding is auto 4) HRSA auto, HSA ask = i don't get popup for using sneak attack, hiding is auto
1 and 3 are the same. 2 and 4 are the same....it doesn't matter what i set to HSA i'm using the version with no check but even if there is no check i see that the reaction point is used so it's performing the reaction. Sometimes i may want to keep the reaction for something else (uncanny dodge, opportunity attack, mage slayer etc etc) so it should be asked if i want to hide again or not.
Since this can be done only while already hidingi think the "no stealth check" is my fav version. i would have chosen the check if i could pass from visible to hidden after using sneak attack
Okay so I guess maybe I should have just made it all into one reaction after all to avoid the confusion, but I didn't want to do that because of some unintended interactions it might have caused. I did try to explain all of this stuff about the different reactions in the in-game descriptions of them as well.
Anyway HSA actually isn't used at all for reaction sneak attacks, it's only used for the sneak attack weapon actions that are on your hotbar.
When you use HRSA, you will stay hidden as long as you succeed the stealth check. This is the whole reason for using that reaction. If you want to choose not to stay hidden then what you can do is enable the regular sneak attack and use that reaction instead. I know I mentioned earlier that you should disable the regular sneak attacks, but I meant to do that only when you set the reactions to work automatically. If they are all enabled and set to ask then you can choose one or the other when attacking. The only problem with this is the bug I've mentioned with some of the ranged attacks where when set to ask the sneaking will often be removed right when the reaction pops up. With melee attacks however it should work just fine and even with ranged attacks it kinda depends on which type of weapon you are using or which weapon action and it's also a bit random sometimes.
Also HRSA actually does use your reaction, but the confusing part is that it only does this when you are actually staying in hiding. You don't see the big purple mark on it in the list of reactions, because it's sort of set up in the code separately although I did mention in the description of the reaction that it uses your reaction if you are hiding.
HRSA using reaction is really confusing since, as you said, i don't see the reaction symbol next to this reaction Names are also confusing but i can chenge these just editing localization files And, if you know how do it i would change icons too. Sneak attack icon is more appropriate but maybe you can turn them to blu
Idk if I'll bother with the icons, but for the naming I could maybe change them to something like:
Hiding Sneak Attack (Weapon Action)
Hiding Sneak Attack (Reaction)
Hiding Sneak Attack (Reaction) (Critical Hit)
I'm also not sure if there is some way I could hide the throwing thing from view entirely, because there's really no reason to toggle it off. Somehow it seems like Uncanny Dodge despite being a reaction is not listed in the reactions, but is instead a passive you can toggle, I could maybe look into that.
Also the reaction symbol is present when you set it in the "Cost" property, but since I wanted it to only use your reaction point when staying in hiding I can't just put it in as the cost as that would mean it would be spent every time.
Don't worry about uncanny dodge. there is already a mode that makes it a toggleable reaction. as passive it was triggering too many times that i didn't want and it was stealing the reaction point
I know the sneak attack doesn't cost any reaction point but your reaction is also making the rogue to hide and it actually uses a reaction point, so it must be shown so that when i hit an enemy i can choose to use the "free" standard sneak attack or the one that cost a reaction point but also tries to keep us in stealth
By uncanny dodge I meant I could just look at how it's able to hide the reaction from the list in the code and apply that to the throw reaction. I'm not going to modify uncanny dodge itself.
HRSA only uses the reaction if you are already hidden while using it. If you use it while not hidden then it works like a regular sneak attack. I made it this way so you can still use it while not hidden.
As I said before, you can use the vanilla sneak attack reaction if you're hidden and don't want to spend your reaction point to stay hidden.
i know but i want the reaction symbol to be shown if i'm choosing a reaction that costs a reaction point Probably if there is no distinction between the initial status (visible or sneaking) you could probably show it
i tried to remove some thing but nothing changed and i was able to see the cost of the reaction but i don't know if i changed something else and i was unable to make it work as i want (hiding even attacking when visible)
But what this does is that it will always cost a reaction to use it, regardless of whether you are hiding or not. Though if you change it to make you hidden every time even if you weren't already hiding then in that case this would be fine.
If you want to make it work like this then you should also remove the other references to the reaction point as those would no longer be necessary:
Remove "HasActionResource('ReactionActionPoint',1,0,false,false,context.Source)" from data "Roll".
If you want the reactions to make you hidden while you're not already hidden then remove the "HasStatus('SNEAKING', context.Source)" checks and maybe try adding "ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, 1)" to either data "Success" or data "Properties" depending on the version of the mod.
i already did the things to show the reaction cost. i also added a neak attack charge cost or we can use this new sneak attack and the default sneak attack in the same turn (haste potion) since they are 2 different actions
i have to look into other things like the the default sneakattack and sneaking status because i made changes to those too.
The HRSA uses the stats from the regular sneak attack with:
using "Interrupt_SneakAttack"
So the sneak attack charge is spent even if that's not listed separately.
However if you modify the cost to include the reaction point then it will override the value from the original sneak attack which yes does mean that you need to add the sneak attack charge cost again. So you didn't do anything wrong, I'm just clarifying that my version of the mod should already have the sneak attack charge cost.
This allows me to hide when i'm attacing not hidden BUT it doesn't work if i'm already hidden
new entry "Interrupt_SneakAttack_Stay_Sneaking" type "InterruptData" using "Interrupt_SneakAttack" data "DisplayName" "ha3ed6c3cg758dg4208gbcdag2c5037d6e20b;1" data "Description" "h50537342g93b8g4ce9g8dc5g89eabec013f9;4" data "ExtraDescription" "hdf435b65gb41eg44f1gb4d5gbef8c582091d;1" data "Icon" "Action_Hide" data "Properties" "IF(IsMeleeAttack()):DealDamage(LevelMapValue(SneakAttack), MainMeleeWeaponDamageType);IF(IsRangedAttack()):DealDamage(LevelMapValue(SneakAttack), MainRangedWeaponDamageType);IF(HasPassive('MAG_ForcefulSneakAttack_Passive', context.Source)):DealDamage(1d4, Force,Magical)" data "Success" "ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, 1)" data "Failure" "" data "Cost" "ReactionActionPoint:1;SneakAttack_Charge:1" data "InterruptDefaultValue" "Ask;Enabled"
One of the passives in the mod removes the sneaking if you don't have the STAY_SNEAKING status, that is supposed to be triggered when you don't use the reaction. So you can add: ApplyStatus(OBSERVER_OBSERVER, STAY_SNEAKING, 100, 1).
Also for the ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, 1) I think change the 1 to -1. If it's set to 1 it will usually only last one turn where as -1 should make it infinite.
edit: The -1 might actually cause the sneaking to be toggled off if it's already on now that I think about it. Maybe do it like this:
I'm gonna release one more update to this maybe tomorrow and after that I'll probably move on to other things. The update will have:
-New descriptions and names to hopefully make things more clear. -Icons for the HRSA changed into the sneak attack icons to make it more obvious that they are alternative versions of the vanilla sneak attack reaction. -I figured out a way to prioritize the hiding sneak attack over the vanilla ones in a way that it will trigger the hiding one when you are hiding if you have them both enabled and set to trigger automatically. With this I should be able to make the reaction cost symbol visible in the reaction list.
new entry "Interrupt_SneakAttack_Stay_Sneaking" type "InterruptData" using "Interrupt_SneakAttack" data "DisplayName" "ha3ed6c3cg758dg4208gbcdag2c5037d6e20b;1" data "Description" "h50537342g93b8g4ce9g8dc5g89eabec013f9;4" data "ExtraDescription" "" data "Conditions" "Self(context.Source,context.Observer) and ((WieldingFinesseWeaponInSpecificHand(context.Observer,false) and IsMainHandAttack()) or (WieldingFinesseWeaponInSpecificHand(context.Observer,true) and IsOffHandAttack()) or IsThrowAttackRoll() or (WieldingWeapon('Ammunition', false, true, context.Observer) and IsRangedWeaponAttack())) and HasDamageEffectFlag(DamageFlags.Hit) and not IsCritical() and not IsKillingBlow() and (HasDamageEffectFlag(DamageFlags.AttackAdvantage) or HasAllyWithinRange('SG_Incapacitated',1.5)) and not HasDamageEffectFlag(DamageFlags.AttackDisadvantage) and not (SpellId('Projectile_SneakAttack') or SpellId('Target_SneakAttack')) and not AnyEntityIsItem()" data "Success" "IF(not HasStatus('SNEAKING', context.Source)):ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, -1);ApplyStatus(OBSERVER_OBSERVER, STAY_SNEAKING, 100, 1)" data "Failure" "" data "Cost" "ReactionActionPoint:1;SneakAttack_Charge:1" data "Properties" "IF(IsMeleeAttack()):DealDamage(LevelMapValue(SneakAttack), MainMeleeWeaponDamageType);IF(IsRangedAttack()):DealDamage(LevelMapValue(SneakAttack), MainRangedWeaponDamageType);IF(HasPassive('MAG_ForcefulSneakAttack_Passive', context.Source)):DealDamage(1d4, Force,Magical)"
This seems to work but i just realized i could make it much easier (at least for me). My fault if we both wasted time on this
i could have used the same method i used for my mod but instead of using the spell with darkness i could have added a new version of shout_hide costing a reaction point instead of action or bonus action
It's not the same because this way i can move (if i have movement speed) before using the reaction but.....its much easier for me to do
i made my own Assassin mode that include something very similar, with 2 main differences. My assassin also creates a small darkness cloud (so he can hide every time even in the middle of the enemies) but it's usable only if he kills someone using a reaction. I would like to have a version without the darkness and the necessity to kill someone, but i want it to be a reaction and not free (so i can buff damage when hiding). Can you make a version where remaining in stealth is a reaction?
Ok, so I think I managed to make this work. Probably don't wanna make a habit out of doing requests like this since it eats up my free time, but it was interesting to do since I hadn't modded reactions before.
Did you want it with the stealth check or without? Should it spend the reaction point?
To make a reaction is not that hard. i did it myself when i was doing my mod. you just have to unlock an interrupt action. My problem is that i didn't find anything that was working "On Kill" . i think the check is needed. Maybe i find a way to give a stealth bonus on kills.
I think unlocking the action for rogues was the part that took me the longest to figure out lol. Class spells have their own list where you can add and remove stuff so I assumed it would work in a similar way. But I think I managed to get it working pretty well so I can upload it later today or tomorrow.
There is an "OnDeath" reaction which could maybe also work for the enemy you're killing.
The versions with the reaction are up now. Edit: I maybe should have added a check for the reaction if you are actually sneaking while doing a sneak attack. I think the way it works now is that it will always ask it when doing a sneak attack and if you're not sneaking then it's pretty much pointless to use it. I can maybe fix that tomorrow, shouldn't take long.
Also for the kill thing you could maybe also try "OnCastHit" and then in the conditions add "IsKillingBlow()".
I actually just released the updates to remove the reaction when you are not sneaking. But I'm not planning to do more updates beyond that since I'd rather work on other mods.
ok unfortunately it's not working for what i prefer. It works only when you use the sneak attack action but NOT when sneak attack is used as a reaction (that is free, so the reaction point should be still available for anything else) Using Sneak attack as reaction is much better because you may kill someone with the basic attack and so you can choose to keep the sneak attack for an off hand attack (when dual wielding) and in act 3, when you get that dagger, you can apply the boosted damage on sneak attack because damage from basic attack and sneal attack are splitted (basic attack applies vulnerability so sneak attack does double damage)
Yeah I think I considered the reaction thing at some point, but wasn't sure how necessary it would be to implement. I think it would have to be done in a different way since I'm not sure if I can just add the "stealth" flag to the reaction attack without adding it to regular melee attacks basically.
I might actually still consider adding this feature, because it's something maybe other people would be interested in too.
i'll keep track of the mod for future updates. And i don't know if you can just add what you added to target_sneakttack also to interrupt_sneakattack. I saw that the requests for your mod's reaction is popping up at the beginning of the attack (when also the use of sneak attack is asked). i think that it should appear after hitting the enemy OnAttack ---> Sneak attack reaction On(if)Hit ---> Stay hidden reaction
The problem with doing the reaction after the attack is that the attack is what would normally remove sneaking. So I'd need to set up some other way for the sneaking to get disabled, but only if you don't use the reaction, I'm not sure if you can add properties to reactions specifically when not using them.
i don't think i understand what you mean. You don't have to put a reaction in a different reaction and i didn't watch how you did your mod so maybe you did something i'm not thinking. I said you should try to do something that is possible to happen when someone attacks a worlock with shield Shield reaction is proposed before the attack hits you, but if it the attacks hits you anyway you can still use hellish rebuke. well.. you can because you refused to use shield. Both reactions cost 1 reaction point so in this case you have to choose but since sneak attack doesn't cost a reaction point you should be able to have both reactions. I don't know if the "to hit" reactions are the same as the "to be hit" reactions.
Maybe i can try looking into your mod and see what you did and see if i can try something or not but i'm in a period that i prefer playing....sometimes i stops playing and i enjoy more doing some mods
Getting another reaction working after the attack probably isn't that hard, but I was more-so talking about the mechanics of how the sneaking has to be removed if the stay hidden reaction isn't used. Right now the sneaking status is removed by the attack unless you use the reaction to prevent that. But if the reaction happens afterwards then I can't use the attack to remove it as then it would already be removed by the time you are given the choice to remove it or not. So I'll have to remove the sneaking status some other way.
I'll try and figure out how to do it. I did already kinda get the reaction sneak attack working with the stay hidden reaction, but I'll see if I can change it so that the reaction happens after the sneak attack.
So I tried to make this work in a few different ways, but I always ran into some problems and inconsistent behavior. The closest I got to making it work was a solution where I made staying hidden after a sneak attack like an alternate version of the regular sneak attack reaction so that they are prompted at the same time and you get to choose one of them or neither. I added a passive with an "OnCastResolved" event that would then remove the sneaking after the attack that prompted the reaction is finished if you didn't use the staying hidden reaction. This seemed to work fine with melee attacks, but not with ranged attacks. When using a melee attack the reaction is prompted almost immediately upon you hitting an enemy, but with ranged attacks there seems to be a bit of a delay and what happens is that by the time the reaction is prompted the sneaking status is already removed by the "OnCastResolved" event. Not sure why it works this way, I think it could just be down to them having different animations or something. I could maybe release that version, but with the caveat that it's not really good with ranged attacks.
I did also try some ways of moving the reaction to take place a bit earlier, normally it's during "OnCastHit" so basically after the attack has hit. But moving it kinda comes with its own problems, like having the reaction before the attack hits would mean you don't necessarily know if you've hit or how much dmg you've done yet so you wouldn't even know if you'd need to use the sneak attack reaction at all.
I could maybe also do some kind of version that just has the reaction for staying in sneaking separately before the sneak attack reaction. But then you might end up in a situation where you use the staying hidden reaction before the attack and then don't actually use the sneak attack because you missed or killed the enemy with just the regular attack dmg or maybe you just choose not to use the sneak attack. Though maybe this would also be fine as a way of staying hidden after just a regular attack? Preferrably it would still only be usable once per turn though, so it'd have to use your reaction and then if you used your sneak attack reaction on the same turn then you couldn't stay hidden anymore if you'd already used the reaction for staying hidden earlier.
Ok, so I can probably maybe release a version of this today. It's the one I mentioned in my previous comment that I said doesn't work with ranged attacks, but from what I can tell it seems like that issue only occurs if the reaction is set to ask you before using it. If you just have it enabled as an automatic reaction then it should usually work.
So the way it's set-up is that it's basically an alternate version of the regular sneak attack that applies the sneak attack dmg and also lets you stay hidden. It triggers at the same time as the normal sneak attack and you can't use them both at the same time. The regular sneak attack will still be in the game, but if you want to use the hiding sneak attack then you should disable the regular sneak attack from the spellbook. Or you can set them to ask you before using in which case you can choose to use either one, but as I mentioned earlier it usually does not work properly with ranged attacks if the asking is turned on. With ranged attacks I'd suggest turning off the regular sneak attack entirely and have the hiding sneak attack trigger automatically. If you have both the regular sneak attack and the hiding sneak attack enabled and set to trigger without asking then it seems like it will prioritize the vanilla sneak attack reaction and then you can't stay hidden. I don't really know how to make the game prioritize the other reaction.
Also another thing to note is that I've set it up in a way that it will cost a reaction to use, but only when you are using it while hidden. So basically if you are not hidden you can use the "hiding" sneak attack like a regular sneak attack. This is just for convenience and qol.
Ok I'll probably release it tomorrow since I just remembered you can use sneak attack reaction with throw attacks too and got caught up working on that lol. I think I managed to get it working with throw attacks in one way, but I still wanna test some other solutions that might be better.
Okay so I uploaded the new versions. Kinda tedious updating 8 different versions tbh lol. I ended up adding a separate reaction for the throwing attacks, because otherwise they would just remove the sneaking status before you get to use the reaction for it. I wanted to just make it into a hidden passive feature, but I couldn't get it working with that so it's listed as a separate reaction now and you should just keep it enabled all the time if you want to stay hidden after doing thrown sneak attacks.
And as I said before, you should disable the regular sneak attack reactions if you want to stay hidden because the regular reactions are usually prioritized by the game and will remove your sneaking status. Setting them to ask will also let you choose the reaction to use, but this does not work with ranged attacks properly so it's best to have them trigger automatically.
Ok so weird question. I just installed your mod, it's great, but. But. Now in combat my characters get attack of opportunity on allies so I had to disable the automatic reaction. Could it be a bug or conflict with some other mod or smth? I'm asking you cause it's one of the very few my recently installed mods.
Ha. I just tried to run the game with and without your mod and the problem disappeared. Guess it was just a weird glitch. Sorry for bothering you, love your mod)
amazing, this should have been a buff from the start! building the entire character for 1 stealth kill in a battle is just not worth it in most cases. Also amazing picture <3
60 comments
i don't understand if i'm doing something wrong
if i'm not hidden, i can't hide after using sneak attack
if i'm hidden, it's done without asking, even if in the reaction tab i set to ask for it
This is intentional. It's supposed to only let you stay hidden if you were
already hidden. Unless you mean that you can't use your hide action from
your hotbar afterwards?
"if i'm hidden, it's done without asking, even if in the reaction tab i set to ask for it"
The "Hiding Reaction Sneak Attack" reactions are used for the reaction sneak attacks. Do you have those set to ask?
Which version did you download?
Hiding Reaction Sneak Attack (free) is a different thing from hiding sneak attack (reaction cost)
After using HRSA i should be asked if i want to use HSA (if it's set on ask) both if i have HRSA set on ask and on auto. Those are 2 different reactions
This is what happens
1) HRSA ask, HSA ask = i get popup for using sneak attack, hiding is auto
2) HRSA auto, HSA ask = i don't get popup for using sneak attack, hiding is auto
3) HRSA ask, HSA auto i get popup for using sneak attack, hiding is auto
4) HRSA auto, HSA ask = i don't get popup for using sneak attack, hiding is auto
1 and 3 are the same. 2 and 4 are the same....it doesn't matter what i set to HSA
i'm using the version with no check but even if there is no check i see that the reaction point is used so it's performing the reaction. Sometimes i may want to keep the reaction for something else (uncanny dodge, opportunity attack, mage slayer etc etc) so it should be asked if i want to hide again or not.
Since this can be done only while already hidingi think the "no stealth check" is my fav version. i would have chosen the check if i could pass from visible to hidden after using sneak attack
Anyway HSA actually isn't used at all for reaction sneak attacks, it's only used for the sneak attack weapon actions that are on your hotbar.
When you use HRSA, you will stay hidden as long as you succeed the stealth check. This is the whole reason for using that reaction. If you want to choose not to stay hidden then what you can do is enable the regular sneak attack and use that reaction instead. I know I mentioned earlier that you should disable the regular sneak attacks, but I meant to do that only when you set the reactions to work automatically. If they are all enabled and set to ask then you can choose one or the other when attacking. The only problem with this is the bug I've mentioned with some of the ranged attacks where when set to ask the sneaking will often be removed right when the reaction pops up. With melee attacks however it should work just fine and even with ranged attacks it kinda depends on which type of weapon you are using or which weapon action and it's also a bit random sometimes.
Also HRSA actually does use your reaction, but the confusing part is that it only does this when you are actually staying in hiding. You don't see the big purple mark on it in the list of reactions, because it's sort of set up in the code separately although I did mention in the description of the reaction that it uses your reaction if you are hiding.
Names are also confusing but i can chenge these just editing localization files
And, if you know how do it i would change icons too. Sneak attack icon is more appropriate but maybe you can turn them to blu
Hiding Sneak Attack (Weapon Action)
Hiding Sneak Attack (Reaction)
Hiding Sneak Attack (Reaction) (Critical Hit)
I'm also not sure if there is some way I could hide the throwing thing from view entirely, because there's really no reason to toggle it off. Somehow it seems like Uncanny Dodge despite being a reaction is not listed in the reactions, but is instead a passive you can toggle, I could maybe look into that.
Also the reaction symbol is present when you set it in the "Cost" property, but since I wanted it to only use your reaction point when staying in hiding I can't just put it in as the cost as that would mean it would be spent every time.
I know the sneak attack doesn't cost any reaction point but your reaction is also making the rogue to hide and it actually uses a reaction point, so it must be shown so that when i hit an enemy i can choose to use the "free" standard sneak attack or the one that cost a reaction point but also tries to keep us in stealth
HRSA only uses the reaction if you are already hidden while using it. If you use it while not hidden then it works like a regular sneak attack. I made it this way so you can still use it while not hidden.
As I said before, you can use the vanilla sneak attack reaction if you're hidden and don't want to spend your reaction point to stay hidden.
Probably if there is no distinction between the initial status (visible or sneaking) you could probably show it
i tried to remove some thing but nothing changed and i was able to see the cost of the reaction but i don't know if i changed something else and i was unable to make it work as i want (hiding even attacking when visible)
data "Cost" "ReactionActionPoint:1"
to "Interrupt_SneakAttack_Stay_Sneaking".
But what this does is that it will always cost a reaction to use it, regardless of whether you are hiding or not. Though if you change it to make you hidden every time even if you weren't already hiding then in that case this would be fine.
If you want to make it work like this then you should also remove the other references to the reaction point as those would no longer be necessary:
Remove "HasActionResource('ReactionActionPoint',1,0,false,false,context.Source)" from data "Roll".
Then in properties remove:
"and HasActionResource('ReactionActionPoint',1,0,false,false,context.Source)):ApplyStatus(OBSERVER_OBSERVER, USE_REACTION, 100, 1)"
If you want the reactions to make you hidden while you're not already hidden then remove the "HasStatus('SNEAKING', context.Source)" checks and maybe try adding "ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, 1)" to either data "Success" or data "Properties" depending on the version of the mod.
i have to look into other things like the the default sneakattack and sneaking status because i made changes to those too.
using "Interrupt_SneakAttack"
So the sneak attack charge is spent even if that's not listed separately.
However if you modify the cost to include the reaction point then it will override the value from the original sneak attack which yes does mean that you need to add the sneak attack charge cost again. So you didn't do anything wrong, I'm just clarifying that my version of the mod should already have the sneak attack charge cost.
new entry "Interrupt_SneakAttack_Stay_Sneaking"
type "InterruptData"
using "Interrupt_SneakAttack"
data "DisplayName" "ha3ed6c3cg758dg4208gbcdag2c5037d6e20b;1"
data "Description" "h50537342g93b8g4ce9g8dc5g89eabec013f9;4"
data "ExtraDescription" "hdf435b65gb41eg44f1gb4d5gbef8c582091d;1"
data "Icon" "Action_Hide"
data "Properties" "IF(IsMeleeAttack()):DealDamage(LevelMapValue(SneakAttack), MainMeleeWeaponDamageType);IF(IsRangedAttack()):DealDamage(LevelMapValue(SneakAttack), MainRangedWeaponDamageType);IF(HasPassive('MAG_ForcefulSneakAttack_Passive', context.Source)):DealDamage(1d4, Force,Magical)"
data "Success" "ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, 1)"
data "Failure" ""
data "Cost" "ReactionActionPoint:1;SneakAttack_Charge:1"
data "InterruptDefaultValue" "Ask;Enabled"
Also for the ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, 1) I think change the 1 to -1. If it's set to 1 it will usually only last one turn where as -1 should make it infinite.
edit: The -1 might actually cause the sneaking to be toggled off if it's already on now that I think about it. Maybe do it like this:
data "Success" "IF(not HasStatus('SNEAKING', context.Source)):ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, -1);ApplyStatus(OBSERVER_OBSERVER, STAY_SNEAKING, 100, 1)"
-New descriptions and names to hopefully make things more clear.
-Icons for the HRSA changed into the sneak attack icons to make it more obvious that they are alternative versions of the vanilla sneak attack reaction.
-I figured out a way to prioritize the hiding sneak attack over the vanilla ones in a way that it will trigger the hiding one when you are hiding if you have them both enabled and set to trigger automatically. With this I should be able to make the reaction cost symbol visible in the reaction list.
i tried to add
ApplyStatus(OBSERVER_OBSERVER, STAY_SNEAKING, 100, 1) in Success line together with SNEAKING (without STAY_) but it didn't work
type "InterruptData"
using "Interrupt_SneakAttack"
data "DisplayName" "ha3ed6c3cg758dg4208gbcdag2c5037d6e20b;1"
data "Description" "h50537342g93b8g4ce9g8dc5g89eabec013f9;4"
data "ExtraDescription" ""
data "Conditions" "Self(context.Source,context.Observer) and ((WieldingFinesseWeaponInSpecificHand(context.Observer,false) and IsMainHandAttack()) or (WieldingFinesseWeaponInSpecificHand(context.Observer,true) and IsOffHandAttack()) or IsThrowAttackRoll() or (WieldingWeapon('Ammunition', false, true, context.Observer) and IsRangedWeaponAttack())) and HasDamageEffectFlag(DamageFlags.Hit) and not IsCritical() and not IsKillingBlow() and (HasDamageEffectFlag(DamageFlags.AttackAdvantage) or HasAllyWithinRange('SG_Incapacitated',1.5)) and not HasDamageEffectFlag(DamageFlags.AttackDisadvantage) and not (SpellId('Projectile_SneakAttack') or SpellId('Target_SneakAttack')) and not AnyEntityIsItem()"
data "Success" "IF(not HasStatus('SNEAKING', context.Source)):ApplyStatus(OBSERVER_OBSERVER, SNEAKING, 100, -1);ApplyStatus(OBSERVER_OBSERVER, STAY_SNEAKING, 100, 1)"
data "Failure" ""
data "Cost" "ReactionActionPoint:1;SneakAttack_Charge:1"
data "Properties" "IF(IsMeleeAttack()):DealDamage(LevelMapValue(SneakAttack), MainMeleeWeaponDamageType);IF(IsRangedAttack()):DealDamage(LevelMapValue(SneakAttack), MainRangedWeaponDamageType);IF(HasPassive('MAG_ForcefulSneakAttack_Passive', context.Source)):DealDamage(1d4, Force,Magical)"
This seemed to work in my game at least..
i could have used the same method i used for my mod but instead of using the spell with darkness i could have added a new version of shout_hide costing a reaction point instead of action or bonus action
It's not the same because this way i can move (if i have movement speed) before using the reaction but.....its much easier for me to do
My assassin also creates a small darkness cloud (so he can hide every time even in the middle of the enemies) but it's usable only if he kills someone using a reaction.
I would like to have a version without the darkness and the necessity to kill someone, but i want it to be a reaction and not free (so i can buff damage when hiding).
Can you make a version where remaining in stealth is a reaction?
Did you want it with the stealth check or without? Should it spend the reaction point?
My problem is that i didn't find anything that was working "On Kill" .
i think the check is needed. Maybe i find a way to give a stealth bonus on kills.
There is an "OnDeath" reaction which could maybe also work for the enemy you're killing.
Also for the kill thing you could maybe also try "OnCastHit" and then in the conditions add "IsKillingBlow()".
unfortunately it's not working for what i prefer.
It works only when you use the sneak attack action but NOT when sneak attack is used as a reaction (that is free, so the reaction point should be still available for anything else)
Using Sneak attack as reaction is much better because you may kill someone with the basic attack and so you can choose to keep the sneak attack for an off hand attack (when dual wielding) and in act 3, when you get that dagger, you can apply the boosted damage on sneak attack because damage from basic attack and sneal attack are splitted (basic attack applies vulnerability so sneak attack does double damage)
I might actually still consider adding this feature, because it's something maybe other people would be interested in too.
And i don't know if you can just add what you added to target_sneakttack also to interrupt_sneakattack.
I saw that the requests for your mod's reaction is popping up at the beginning of the attack (when also the use of sneak attack is asked). i think that it should appear after hitting the enemy
OnAttack ---> Sneak attack reaction
On(if)Hit ---> Stay hidden reaction
I said you should try to do something that is possible to happen when someone attacks a worlock with shield
Shield reaction is proposed before the attack hits you, but if it the attacks hits you anyway you can still use hellish rebuke. well.. you can because you refused to use shield. Both reactions cost 1 reaction point so in this case you have to choose but since sneak attack doesn't cost a reaction point you should be able to have both reactions.
I don't know if the "to hit" reactions are the same as the "to be hit" reactions.
Maybe i can try looking into your mod and see what you did and see if i can try something or not but i'm in a period that i prefer playing....sometimes i stops playing and i enjoy more doing some mods
I'll try and figure out how to do it. I did already kinda get the reaction sneak attack working with the stay hidden reaction, but I'll see if I can change it so that the reaction happens after the sneak attack.
I did also try some ways of moving the reaction to take place a bit earlier, normally it's during "OnCastHit" so basically after the attack has hit. But moving it kinda comes with its own problems, like having the reaction before the attack hits would mean you don't necessarily know if you've hit or how much dmg you've done yet so you wouldn't even know if you'd need to use the sneak attack reaction at all.
I could maybe also do some kind of version that just has the reaction for staying in sneaking separately before the sneak attack reaction. But then you might end up in a situation where you use the staying hidden reaction before the attack and then don't actually use the sneak attack because you missed or killed the enemy with just the regular attack dmg or maybe you just choose not to use the sneak attack. Though maybe this would also be fine as a way of staying hidden after just a regular attack? Preferrably it would still only be usable once per turn though, so it'd have to use your reaction and then if you used your sneak attack reaction on the same turn then you couldn't stay hidden anymore if you'd already used the reaction for staying hidden earlier.
I hope this wasn't too confusing lol.
So the way it's set-up is that it's basically an alternate version of the regular sneak attack that applies the sneak attack dmg and also lets you stay hidden. It triggers at the same time as the normal sneak attack and you can't use them both at the same time. The regular sneak attack will still be in the game, but if you want to use the hiding sneak attack then you should disable the regular sneak attack from the spellbook. Or you can set them to ask you before using in which case you can choose to use either one, but as I mentioned earlier it usually does not work properly with ranged attacks if the asking is turned on. With ranged attacks I'd suggest turning off the regular sneak attack entirely and have the hiding sneak attack trigger automatically. If you have both the regular sneak attack and the hiding sneak attack enabled and set to trigger without asking then it seems like it will prioritize the vanilla sneak attack reaction and then you can't stay hidden. I don't really know how to make the game prioritize the other reaction.
Also another thing to note is that I've set it up in a way that it will cost a reaction to use, but only when you are using it while hidden. So basically if you are not hidden you can use the "hiding" sneak attack like a regular sneak attack. This is just for convenience and qol.
I'll test it when ready
Thanks for your efforts
And as I said before, you should disable the regular sneak attack reactions if you want to stay hidden because the regular reactions are usually prioritized by the game and will remove your sneaking status. Setting them to ask will also let you choose the reaction to use, but this does not work with ranged attacks properly so it's best to have them trigger automatically.
Also amazing picture <3