Cormyr and the Dalelands

General Category => Suggestions & Ideas => Suggestions Archive => Topic started by: drakaden on Dec 06, 2015, 12:58 AM

Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 06, 2015, 12:58 AM
This is inspired from the dungeon & dragon online game.

ddowiki.com/page/Assassin_enhancements

Assassin's Trick: Activate: Target opponent loses 25% of their fortification and 25% of their immunity to sneak attacks for 15 seconds. (Cooldown: 6 seconds)

Basically i am suggesting an incentive to bring assassin PrC to level 10, by creating a feat that can remove the sneak attack immunity from a target, it can be passive (at a certain % chance for it to trigger) or active (Infinite use with a cooldown between each use) at this level, this would bring the rogue characters up par to their fighter weapon masters and mages and arcane archers team mates and that would collectively help anyone who can do sneak damage.

Important tidbit, if set as an active feat it must be a free action and doesn't break stealth, the feat does not cause damage.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Nokteronoth on Dec 06, 2015, 01:33 AM
I don't think this is possible in game since immunity to crits/sneaks is typically built into a creature skin. In order to remove it, that skin would have to be changed. Far as I know anyways.

~BR
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Remmy on Dec 06, 2015, 01:40 AM
That might me hard to do in NWN because of the manner in which such immunities are applied. They are often on the creature skin and unless I am mistaken such a feat would have to cause the creature to equip a second, identical skin, minus the sneak attack immunity, for the duration of the effect.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 06, 2015, 01:45 AM
Actually the removal of specific properties on an item is possible, i can't remember it on the top of my head but it's possible.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Edge on Dec 06, 2015, 09:00 AM
drakaden Avatar
Important tidbit, if set as an active feat it must be a free action and doesn't break stealth, the feat does not cause damage.
This is probably the part that is most difficult to do in NWN. Using any action while in Stealth Mode tends to turn it off. Using an item, activating a feat or spell, anything.

Not breaking invisibility is a little easier, since that requires you doing something hostile, but I don't think it's possible to create an activated effect that won't disable Stealth Mode.

And that's hardcoded and blackboxed, I'm 99% sure, so it's probably not something we can change.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 06, 2015, 09:31 AM
Edge Avatar
drakaden Avatar
Important tidbit, if set as an active feat it must be a free action and doesn't break stealth, the feat does not cause damage.
This is probably the part that is most difficult to do in NWN. Using any action while in Stealth Mode tends to turn it off. Using an item, activating a feat or spell, anything.

Not breaking invisibility is a little easier, since that requires you doing something hostile, but I don't think it's possible to create an activated effect that won't disable Stealth Mode.

And that's hardcoded and blackboxed, I'm 99% sure, so it's probably not something we can change.
I once seen some server using feats that doesn't trigger a "using" action, as if it was a free action, though i do not remember if it break stealth or not, but if it's just too difficult there's a couple turnaround that can be usedL turn on stealth by scripting, or giving temporary invisibility, or making the feat throwing an attack.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 06, 2015, 09:36 AM
This is part of an old script i had made for some anvil forging that could remove selective properties on gear years ago:

object oPC = GetPCSpeaker();
object oNPC = OBJECT_SELF;
object oOre;
oOre = GetItemPossessedBy(GetPCSpeaker(), "Obsidianore1");
object oAnvil = GetNearestObjectByTag("ForgeAnvil1", oPC);

object oAnvilItem;
oAnvilItem = GetFirstItemInInventory(oAnvil);

int iBadProperty;
iBadProperty = 0;

itemproperty ip;

ip = GetFirstItemProperty(oAnvilItem);

while (GetIsItemPropertyValid(ip) &&
iBadProperty !=1)
{

if (GetItemPropertyType(ip) == ITEM_PROPERTY_DAMAGE_VULNERABILITY ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_ABILITY_SCORE ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_AC ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_ATTACK_MODIFIER ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_DAMAGE ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_ENHANCEMENT_MODIFIER ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_SAVING_THROWS ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_SAVING_THROWS_SPECIFIC ||
GetItemPropertyType(ip) == ITEM_PROPERTY_DECREASED_SKILL_MODIFIER ||
GetItemPropertyType(ip) == ITEM_PROPERTY_NO_DAMAGE ||
GetItemPropertyType(ip) == ITEM_PROPERTY_WEIGHT_INCREASE)
{
RemoveItemProperty(oAnvilItem, ip);
SendMessageToPC(oPC, "You succeeed to rectify the item, a bad property has been removed.");
iBadProperty = 1;
}

ip = GetNextItemProperty(oAnvilItem);
}


If you manage to somehow make this line work in the code you can get yer backstab immunity removed from the piece of gear, it's been a long time since i last did some major scripting so i would need to do some researching myself:
ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB)
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Edge on Dec 06, 2015, 09:37 AM
I'll leave script questions up to our scripter, but i wouldn't get my hopes up for something like that.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 06, 2015, 09:41 AM
Edge Avatar
I'll leave script questions up to our scripter, but i wouldn't get my hopes up for something like that.
Yea, no sweat, just throwing the idea.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Deleted on Dec 06, 2015, 03:50 PM
First, DDO resource is not a valid 3.5 resource.  It's 4th edition, and an MMO.  We're generally against house ruling in abilities.

Second, sneak immunity is built in for a reason and balance issues with dungeons.  Like it or not, it's there for a reason.

Third, if we were to allow this, it would be more than an assassin's trick.  Rogues, at the very least, would have it as a feat option after level 10.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Garage Trashcan on Dec 06, 2015, 05:18 PM
belladonna Avatar
Dec 6, 2015 15:50:55 GMT -5  @belladonna said:
First, DDO resource is not a valid 3.5 resource.  It's 4th edition, and an MMO.  We're generally against house ruling in abilities.

Second, sneak immunity is built in for a reason and balance issues with dungeons.  Like it or not, it's there for a reason.

Third, if we were to allow this, it would be more than an assassin's trick.  Rogues, at the very least, would have it as a feat option after level 10.



While you're correct, DDO is the 3.5 MMO, Neverwinter (Online) is the 4th Ed MMO.

Personally I'd prefer if sneak attack immunity were just straight up removed from most creatures like later editions did. The only thing broke. About it is how easy it is to get sneak attacks in NWN, which is why it won't happen.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: suddenperihelion on Dec 06, 2015, 07:33 PM
Edge Avatar
This is probably the part that is most difficult to do in NWN. Using any action while in Stealth Mode tends to turn it off. Using an item, activating a feat or spell, anything.

Not breaking invisibility is a little easier, since that requires you doing something hostile, but I don't think it's possible to create an activated effect that won't disable Stealth Mode.

And that's hardcoded and blackboxed, I'm 99% sure, so it's probably not something we can change.

Actually the -hardest- part about this proposal is making it work with Pale Masters, as they gain sneak attack immunity as a class feature rather than as an item property.

Nevertheless, I managed to pull it off on another server. So it is technically possible. But it sounds like this is rejected on balance grounds anyhow, so moot point.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Atomic Twinkie on Dec 07, 2015, 09:11 AM
*cough cough*
If player has sneak attack
then check if target is immune
if target is immune
then deal [x] damage (where X is a flat number based on rogue+assassin levels)
else do nothing.

The only REAL big problem with this is that it'd be a small script that would be running every single time a character does a sneak attack. Unless it's tied to an ability then it'd run for the amount of time the ability runs for. Could potentially be cool.

Edit: Can even make it slashing or piercing damage, so it does give them a bit more capability against undead but doesn't instantly make them undead killing monsters.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: suddenperihelion on Dec 07, 2015, 09:53 AM
There isn't, in default NWN, a hook to fire a script when a sneak attack happens. However, you could work around that by using a global OnHit event to check every time an attack happens, then ask if the target is in a sneak attack situation, and if so do extra damage if the target is immune to sneak attack (which would basically be a duplicate of what the engine already does internally).

Duplication tends to be a bit less computationally efficient in terms of use of resources on the host machine, so it wouldn't be my first choice of how to do it. My experience suggests that the overwhelming majority of resource use is generated by AI scripts, and stuff like the global OnHits I have done are essentially negligible in their resource use (Linux has an NWNX plugin that lets you monitor exactly which scripts/processes are eating up resources).

However, I was under the impression that a global OnHit was an architectural choice that C-D had decided against.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Atomic Twinkie on Dec 07, 2015, 10:10 AM
Global OnHit counters tend to cause massive amounts of lag, since it's constantly waiting, and when there's, let's say 2 parties killing things with an average of 3-5 hits per melee person, sometimes more, you start getting like ~12 requests per 6 seconds that it has to sit there and figure out. That's not saying it's a massive ask for a small script, but it adds to everything else that's already running. That's why a skill that you acquire on a level (which I believe would require a .tlk update anyways) that lets you hit the button and for some time the script runs for only you would be more efficient.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: suddenperihelion on Dec 07, 2015, 10:45 AM
I like the idea you are proposing in principle, but the problem with it is that it would require a new temporary OnHit item property to be applied to the weapons. I recall there being an issue with multiple temporary OnHits not stacking...? Of course, you could fix that stacking issue by routing them all through a global OnHit handler (which would, if anything, be LESS CPU-intensive than the other potential fix, which would be having multiple OnHit scripts open and close independently)... But that basically just brings it back to my original proposal.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 07, 2015, 05:19 PM
suddenperihelion Avatar
I like the idea you are proposing in principle, but the problem with it is that it would require a new temporary OnHit item property to be applied to the weapons. I recall there being an issue with multiple temporary OnHits not stacking...? Of course, you could fix that stacking issue by routing them all through a global OnHit handler (which would, if anything, be LESS CPU-intensive than the other potential fix, which would be having multiple OnHit scripts open and close independently)... But that basically just brings it back to my original proposal.
Actually you don't need an onhit on your weapon to do that, OnPhysicallyAttacked can check if the last attacker has the Feat to do it (If its a passive) and in that case the condition apply itself, in the case of an active feat then the feat is activated, not by means of the weapon.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: trylobyte on Dec 07, 2015, 08:06 PM
Just to mention, DDO isn't a valid reference for...  anything tabletop, really.  Having played it for years in the past, it's very different than whatever tabletop ruleset it was originally based on.  I think it should be treated as its own edition.

On the core concept of the thing, if you make something that removes sneak attack immunity it then becomes a mandatory pick-up for anyone with a reasonable sneak attack due to the popularity of undead and golems in the mid-to-high tier dungeons.  It also makes HiPS builds the go-to for soloing everything, since they can combine the immunity removal with spamming HiPS to solo nearly anything they can hit flat-footed.  I'm rather against having anything be so good it's mandatory if it can be avoided (which may be sour grapes since mages got a lot of spells nerfed for being too good).  Additionally, sneak attack immunity is the downside to the rogue's getting a potentially-huge number of d6 damage dice for free against whatever is targeting someone else, which is already a boost from tabletop (where flanking is a lot harder to get sneak attacks from).
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: suddenperihelion on Dec 07, 2015, 08:55 PM
drakaden Avatar
Actually you don't need an onhit on your weapon to do that, OnPhysicallyAttacked can check if the last attacker has the Feat to do it (If its a passive) and in that case the condition apply itself, in the case of an active feat then the feat is activated, not by means of the weapon.
I tend not to like putting mechanical functionality into AI scripts, because the feature can break if any builder uses a different AI script on the creature, or if the AI is disabled. It's just problematic design.

And OnPhysicallyAttacked happens just as often as OnHit anyway, so you don't actually have any benefit in terms of lag reduction by shuffling it around between one or the other.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 07, 2015, 09:03 PM
trylobyte Avatar
Just to mention, DDO isn't a valid reference for...  anything tabletop, really.  Having played it for years in the past, it's very different than whatever tabletop ruleset it was originally based on.  I think it should be treated as its own edition.

On the core concept of the thing, if you make something that removes sneak attack immunity it then becomes a mandatory pick-up for anyone with a reasonable sneak attack due to the popularity of undead and golems in the mid-to-high tier dungeons.  It also makes HiPS builds the go-to for soloing everything, since they can combine the immunity removal with spamming HiPS to solo nearly anything they can hit flat-footed.  I'm rather against having anything be so good it's mandatory if it can be avoided (which may be sour grapes since mages got a lot of spells nerfed for being too good).  Additionally, sneak attack immunity is the downside to the rogue's getting a potentially-huge number of d6 damage dice for free against whatever is targeting someone else, which is already a boost from tabletop (where flanking is a lot harder to get sneak attacks from).
I agree that a build with a lot of sneak damage can destroy everything with HiPS, if the sneak immunity is not around so much, however the build is rendered useless when it's only source of damage is nullified.... Which is a pet peeve i got.

It would be nice to have at least a partial bypass of the immunity, like 25 or 50% damage instead of 0.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Deleted on Dec 07, 2015, 09:11 PM
Uhm, as one of the higher level end rogues... Sneak attacks are nice, but when you have 5-7 attacks a round, you're still dealing massive damage.

And, in case it got overlooked before, we're not interested in nullifying sneak attack immunity or bypassing it at this time.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: Vincent07 on Dec 07, 2015, 09:31 PM
Yeah, this won't be happening.
Title: Assassin's trick: Removal of Sneak attack immunity
Post by: drakaden on Dec 08, 2015, 12:40 AM
Vincent07 Avatar
Yeah, this won't be happening.
I did not really expect a pass for this suggestion but it was still worth throwing the idea, thanks for listening and taking time to reply to it.