Jump to content

Mod Request: Any Way to Fix Assassin Full Attacks from Stealth?


Recommended Posts

Hey guys, 

 

So, I was wondering if it was possible to somehow modify how the game registered full attacks made with two weapons from Stealth/Invisibility to make the Assassin subclass for Rogue a little more enticing over the Streetfighter, especially for ranged builds? 

 

As it is now, when dual wielding, one attack fires, gets the Assassinate bonus, resolves, and reveals the character. This makes two -handed weapons like the Arquebus much more desirable for those types of builds. That doesn't mean a Pistol/Pistol Assassin can't still work, just that it won't get the benefits from both attacks. 

 

If that's not feasible with what the mod tools currently allow people to do, would adding something like, say, a scaling Poison power level bonus to the Assassin's kit be possible? Poisons are definitely a big part of the Assassin's toolkit, so something that allows for better synergy with them, especially post-Alchemy nerf, would be good as well. 

 

(Or... por que no los dos?) 

  • Like 1
Link to post
Share on other sites

AFAIK i don't there's currently any way to affect how stealth attacking / backstab works with full attacks... this has been a complaint since the beta I believe. of course i'm hardly that knowledgeable about this and i haven't kept up with the updates to the modding parameters they've added either, but my suspicion is that if someone hasn't made a mod about this yet it's because they can't. 

as for poison scaling that is definitely possible i believe since there are mods on the nexus which alter the way items and scrolls scale, and there is also another mod that makes some wizard spells, specifically the ones that cause ailments, to continue scaling with power level. sorry i couldn't be more help, but this is also a thing that interests me since assassin is my favorite class.

Edited by aweigh0101
Link to post
Share on other sites

AFAIK i don't there's currently any way to affect how stealth attacking / backstab works with full attacks... this has been a complaint since the beta I believe. of course i'm hardly that knowledgeable about this and i haven't kept up with the updates to the modding parameters they've added either, but my suspicion is that if someone hasn't made a mod about this yet it's because they can't.

 

as for poison scaling that is definitely possible i believe since there are mods on the nexus which alter the way items and scrolls scale, and there is also another mod that makes some wizard spells, specifically the ones that cause ailments, to continue scaling with power level. sorry i couldn't be more help, but this is also a thing that interests me since assassin is my favorite class.

It’s definitely fixable, just take a look at vanishing strike. I think it’s bugged because it will let u backstab even after invisible run off. So my guess is there is a hidden buff about invisible, if it is on then u will do backstab, and this hidden buff is unrelated with the invisiblity icon.

 

So in short, one just expend that buff for shadowing beyond and smoke veil to last 1 sec longer than it should, so letting full attack has a time window for backstabbing.

  • Like 1
Link to post
Share on other sites

 

AFAIK i don't there's currently any way to affect how stealth attacking / backstab works with full attacks... this has been a complaint since the beta I believe. of course i'm hardly that knowledgeable about this and i haven't kept up with the updates to the modding parameters they've added either, but my suspicion is that if someone hasn't made a mod about this yet it's because they can't.

 

as for poison scaling that is definitely possible i believe since there are mods on the nexus which alter the way items and scrolls scale, and there is also another mod that makes some wizard spells, specifically the ones that cause ailments, to continue scaling with power level. sorry i couldn't be more help, but this is also a thing that interests me since assassin is my favorite class.

It’s definitely fixable, just take a look at vanishing strike. I think it’s bugged because it will let u backstab even after invisible run off. So my guess is there is a hidden buff about invisible, if it is on then u will do backstab, and this hidden buff is unrelated with the invisiblity icon.

 

So in short, one just expend that buff for shadowing beyond and smoke veil to last 1 sec longer than it should, so letting full attack has a time window for backstabbing.

 

 

Alright, so where do we *find* this hidden buff? 

Link to post
Share on other sites

I realize I'm asking a lot out of you guys, but...

 

A: This is really beyond my comprehension to fix without breaking something...

 

B: I think if we allow more easy/varied access to Assassinate, Assassin will take its rightful place among the Rogue subclasses. 

Edited by Cyrus_Blackfeather
Link to post
Share on other sites

 

 

AFAIK i don't there's currently any way to affect how stealth attacking / backstab works with full attacks... this has been a complaint since the beta I believe. of course i'm hardly that knowledgeable about this and i haven't kept up with the updates to the modding parameters they've added either, but my suspicion is that if someone hasn't made a mod about this yet it's because they can't.

 

as for poison scaling that is definitely possible i believe since there are mods on the nexus which alter the way items and scrolls scale, and there is also another mod that makes some wizard spells, specifically the ones that cause ailments, to continue scaling with power level. sorry i couldn't be more help, but this is also a thing that interests me since assassin is my favorite class.

It’s definitely fixable, just take a look at vanishing strike. I think it’s bugged because it will let u backstab even after invisible run off. So my guess is there is a hidden buff about invisible, if it is on then u will do backstab, and this hidden buff is unrelated with the invisiblity icon.

 

So in short, one just expend that buff for shadowing beyond and smoke veil to last 1 sec longer than it should, so letting full attack has a time window for backstabbing.

 

 

Alright, so where do we *find* this hidden buff? 

 

 

I'm not familiar with modding, but my best bet is looking at vanishing strike, not sure if the code is accessible to modders or not, maybe some dev can help :3

Link to post
Share on other sites

 

 

 

AFAIK i don't there's currently any way to affect how stealth attacking / backstab works with full attacks... this has been a complaint since the beta I believe. of course i'm hardly that knowledgeable about this and i haven't kept up with the updates to the modding parameters they've added either, but my suspicion is that if someone hasn't made a mod about this yet it's because they can't.

 

as for poison scaling that is definitely possible i believe since there are mods on the nexus which alter the way items and scrolls scale, and there is also another mod that makes some wizard spells, specifically the ones that cause ailments, to continue scaling with power level. sorry i couldn't be more help, but this is also a thing that interests me since assassin is my favorite class.

It’s definitely fixable, just take a look at vanishing strike. I think it’s bugged because it will let u backstab even after invisible run off. So my guess is there is a hidden buff about invisible, if it is on then u will do backstab, and this hidden buff is unrelated with the invisiblity icon.

 

So in short, one just expend that buff for shadowing beyond and smoke veil to last 1 sec longer than it should, so letting full attack has a time window for backstabbing.

 

 

Alright, so where do we *find* this hidden buff? 

 

 

I'm not familiar with modding, but my best bet is looking at vanishing strike, not sure if the code is accessible to modders or not, maybe some dev can help :3

 

 

Here's hoping. Is there any way to... summon a dev who could provide us some insight? 

 

*Waves around some coffee and ramen*

Link to post
Share on other sites

Imho the mechanic works as should be, but anyway i will try to explain why that happens and why isn't easy to fix

 

The issue is about the invisible status effect ,  it vanish when the first attack fire

so the problematic part is this one:  "ClearWhenAttacks": "true"

Full attacks are two consecutive attacks (thnks to @MaxQuest for the pic)

 

fullattacks.png
 

Then I don't see a way to make it works , "ClearWhenFullAttacks" doesn't exist and, even if it existed, when the primary attack resolve it would not clear anymore the invisibility effect

{
			"$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
			"DebugName": "Shadowing_Beyond_SEInvisible",
			"ID": "3b4bf424-b037-49f2-8567-135b50668268",
			"Components": [{
					"$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
					"StatusEffectType": "Invisible",
					"OverrideDescriptionString": -1,
					"UseStatusEffectValueAs": "None",
					"BaseValue": 1,
					"DynamicValue": {
						"Stat": "None",
						"SkillDataID": "00000000-0000-0000-0000-000000000000",
						"ClassID": "00000000-0000-0000-0000-000000000000",
						"MultiplyBy": 1,
						"Operator": "Add"
					},
					"KeywordsIDs": ["fe80a668-dcb3-4cea-ae2e-70d47dc91348"],
					"DurationType": "UseDurationTime",
					"Duration": 10,
					"MaxStackQuantity": 0,
					"ApplicationBehavior": "UseLongerDurationIfAlreadyApplied",
					"ApplicationType": "ApplyOnStart",
					"IntervalRateID": "00000000-0000-0000-0000-000000000000",
					"StackedChildrenApplyEffects": "false",
					"ApplicationPrerequisites": {
						"Conditional": {
							"Operator": 0,
							"Components": [{
									"$type": "OEIFormats.FlowCharts.ConditionalCall, OEIFormats",
									"Data": {
										"FullName": "Boolean IsPartyMember(Guid)",
										"Parameters": ["7d150000-0000-0000-0000-000000000000"],
										"Flags": "",
										"UnrealCall": "",
										"FunctionHash": 1895597204,
										"ParameterHash": 1991113203
									},
									"Not": true,
									"Operator": 0
								}
							]
						}
					},
					"TriggerAdjustment": {
						"TriggerOnEvent": "OnPostAttackRollCalculated",
						"TriggerOffEvent": "None",
						"ValidateWithAttackFilter": "false",
						"ParamValue": 0,
						"ValueAdjustment": 0,
						"DurationAdjustment": 0,
						"ResetTriggerOnEffectTimeout": "false",
						"MaxTriggerCount": 2,
						"IgnoreMaxTriggerCount": "false",
						"RemoveEffectAtMax": "true",
						"ChanceToTrigger": 1
					},
					"PowerLevelScaling": {
						"UseCharacterLevel": "false",
						"BaseLevel": 0,
						"LevelIncrement": 1,
						"MaxLevel": 0,
						"ValueAdjustment": 0,
						"DurationAdjustment": 0
					},
					"IsHostile": "false",
					"ClearOnCombatEnd": "false",
					"ClearOnRest": "false",
					"ClearOnFoodRest": "false",
					"ClearWhenAttacks": "true",
					"ClearOnDeath": "false",
					"HideFromCombatTooltip": "false",
					"HideFromCombatLog": "false",
					"HideFromUI": "false",
					"VisualEffects": [{
							"VisualEffect": "prefabs/effects/abilities/rogue/fx_shadowing_beyond_start.prefab",
							"AttachPoint": "Root",
							"AttachMode": "Position",
							"MeshType": "None",
							"Loop": "false",
							"Event": "OnStart"
						}
					],
					"MaterialReplacementID": "00000000-0000-0000-0000-000000000000",
					"AttackFilter": {
						"KeywordsIDs": [],
						"KeywordLogic": "Or",
						"Range": "None",
						"ClassTypeID": "00000000-0000-0000-0000-000000000000",
						"Source": "None",
						"DefendedBy": "None",
						"Empowered": "false",
						"Disengagement": "false",
						"Stealthed": "false",
						"UseStealthLinger": "false",
						"PowerLevel": 0,
						"PowerLevelOperator": "EqualTo",
						"ChanceToApply": 1,
						"AttackHostility": "Default"
					},
					"AttackTargetFilter": {
						"KeywordsIDs": [],
						"KeywordLogic": "Or",
						"Race": "None",
						"IsKith": "false",
						"HealthPercentage": 0,
						"HealthOperator": "EqualTo",
						"Distance": 0,
						"DistanceOperator": "EqualTo",
						"HasDOT": "false",
						"IsMarked": "false",
						"TargetHostility": "Default"
					},
					"ExtraValue": 0,
					"OverridePenetration": 0,
					"DamageTypeValue": "All",
					"KeywordValueID": "00000000-0000-0000-0000-000000000000",
					"RaceValue": "None",
					"StatusEffectTypeValue": "None",
					"ItemValueID": "00000000-0000-0000-0000-000000000000",
					"AfflictionTypeValueID": "00000000-0000-0000-0000-000000000000",
					"StatusEffectsValueIDs": [],
					"AttackValueID": "00000000-0000-0000-0000-000000000000",
					"AttackOverrideValue": "None",
					"EventValue": "OnApply",
					"ClassValueID": "00000000-0000-0000-0000-000000000000",
					"WeaponTypeValue": "None",
					"AttackHitType": "None",
					"SkillValueID": "00000000-0000-0000-0000-000000000000",
					"AudioEventListID": "00000000-0000-0000-0000-000000000000",
					"BedRestDaysMinimum": 0,
					"BedRestDaysMaximum": 0
				}
			]
		}
Edited by kilay
  • Like 3
Link to post
Share on other sites

@kilay What if you set ClearWhenAttacks to False? Then set a trigger on attack to proc on attack. Let's say your invisibility has 10 sec duration, currently last 6 sec. After your first attack, reduce the duration to 1 second. So you are still allowed to do backstab in that 1 sec.

 

The problem is i'm not sure if you can reduce the duration by dynamic seconds, if you can only set a static number, then this is not doable, if you can get how long your invisibility last, then u can just reduce it by (current duration - 1) second so you are still able to backstab in that time window.

Edited by dunehunter
Link to post
Share on other sites

@kilay Another solution is, do not touch ClearWhenAttack parameter, but grant the user another 1 second of invisibility after your first attack, then you are qualified to do another attack from invisible, and grant backstab. I think this is easier to implement.

 

Edit: If both solution doesn't work, maybe take a look at vanishing strike code, I can help ya if you want.

Edited by dunehunter
Link to post
Share on other sites

@kilay Another solution is, do not touch ClearWhenAttack parameter, but grant the user another 1 second of invisibility after your first attack, then you are qualified to do another attack from invisible, and grant backstab. I think this is easier to implement.

 

Edit: If both solution doesn't work, maybe take a look at vanishing strike code, I can help ya if you want.

 

Honestly, if that worked, it'd make playing Assassin a heck of a lot more desirable. That said, there's also the issue of Shadowing Beyond costing 3 Guile, when you might want to use that Guile for other things. 

 

On poisons, should the PL be scaled up with Assassin, or are poisons fine as they are? 

Link to post
Share on other sites

ClearWhenAttack = False

 

And 

 

"TriggerAdjustment": {
"TriggerOnEvent": "OnPostAttackRollCalculated",
"TriggerOffEvent": "None",
"ValidateWithAttackFilter": "false",
"ParamValue": 0,
"ValueAdjustment": 0,
"DurationAdjustment": 0,
"ResetTriggerOnEffectTimeout": "false",
"MaxTriggerCount": 2,
"IgnoreMaxTriggerCount": "false",
"RemoveEffectAtMax": "true",
"ChanceToTrigger": 1
}
 
Is this percentage or static number? Maybe change this to -90% if it is a percentage? So after your first attack, your duration is reduced by 90% and hopefully u can make another attack after that.
Link to post
Share on other sites

Or make a new ability Shadowing_beyond_temp, duration 1 second, and change here:

 

"TriggerOnEvent": "OnPostAttackRollCalculated",
"TriggerOffEvent": "None",

 

to 

 

"TriggerOnEvent": "OnPostAttackRollCalculated",

"TriggerOffEvent": "Shadowing_beyond_temp",

 

But one thing to concern is you don't want to trigger a loop after the second attack so no trigger on event shall be selected for the 'Shadowing_beyond_temp' event.

 

Edit: Oh, I remember that you don't need to create a new effect, you can use Whisper of the wind as a reference because it has a similar effect, just look at how it works and and a similar script to other invisible abilities so hopefully it will work.

 

You can first grant Whisper to assassin, see if it works with backstab. If it works, then u are good to go :)

 

7QBxExv.png?1

Edited by dunehunter
Link to post
Share on other sites

The Backstab status effect is where the bonus damage is coming from, and it's not really a problem to make a duplicate of Backstab that doesn't require stealth and has a time or usage limitation that would allow the OH attack to do more damage.

 

The problem is limiting that second Backstab application to the OH weapon and not a 2h weapon. That I can't seem to find a solution for.

Link to post
Share on other sites

Yeah, I'm a little... daunted by all of that, so I was hoping that other folks who are a little more versed in this sort of thing could share their expertise in the skill coding and such. I feel like I'd be more liable to start working on it, but flub something and get frustrated.

 

Hmm... I wonder if modifying Shadowing Beyond to look like WotW (While possibly dropping the Guile cost to 2) AND giving a scaling PL bonus to the effects of poisons would be too much? 

Link to post
Share on other sites

Guys remember how i opened  my reply

 

 

Imho the mechanic works as should be

 

Edited by kilay
Link to post
Share on other sites

Or make a new ability Shadowing_beyond_temp, duration 1 second, and change here:

 

"TriggerOnEvent": "OnPostAttackRollCalculated",

"TriggerOffEvent": "None",

 

to 

 

"TriggerOnEvent": "OnPostAttackRollCalculated",

"TriggerOffEvent": "Shadowing_beyond_temp",

 

But one thing to concern is you don't want to trigger a loop after the second attack so no trigger on event shall be selected for the 'Shadowing_beyond_temp' event.

 

Edit: Oh, I remember that you don't need to create a new effect, you can use Whisper of the wind as a reference because it has a similar effect, just look at how it works and and a similar script to other invisible abilities so hopefully it will work.

 

You can first grant Whisper to assassin, see if it works with backstab. If it works, then u are good to go :)

 

7QBxExv.png?1

 

btw OnPostAttackRollCalculated isn't an ability but a enumeration . You can't make a new one (or at least i guess)

but you can try with

 

OnActivateAttack: Event fired when the target enters an attack animation

 

StatusEffectEventType

Edited by kilay
Link to post
Share on other sites

I understand that OnPostAttackRollCalculated is not an ability, it's a trigger condition u can use to call some other event, like my post earlier, my guess is u can add some extra event on that trigger, to proc a invisible on hit effect to yourself. Which might help u land a backstab with offhand attack.

  • Like 1
Link to post
Share on other sites

I understand that OnPostAttackRollCalculated is not an ability, it's a trigger condition u can use to call some other event, like my post earlier, my guess is u can add some extra event on that trigger, to proc a invisible on hit effect to yourself. Which might help u land a backstab with offhand attack.

 

Or in this case, an extra Assassinate for a dual Full Attack. 

Link to post
Share on other sites

What about giving a few light weapons, such as daggers and rapiers, the ability to do a modified Backstab effect when used under certain conditions (like for ex. when used during invisibility).

That would be good enticement for supporting the classical interpretation of dual-wielding with a lighter off-hand weapon.

  • Like 1
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...