Jump to content

Recommended Posts

8 hours ago, ttpt said:

Also the "only exterior" toggle seems to be non functional, it's always toggled off even if I turn "only interior" off. And even if it's turned off it's still spawning strikers in exterior zones.

 

The actual behavior I'm looking is for "only interior" on, "only exterior" off and for strikers to only spawn in interiors. Currently this doesn't work out because strikers still spawn in exteriors, The only way to get the behavior I want is to have strikers spawn disabled and only enable it when I go into an interior zone. This does make spawning automatic while I'm traveling through interior zones.

 

Another thing I can do is have the spawn disabled and go into debug to force deploy strikers. this works well when in exterior zones, because this way I can deploy strikers only when I actually want to go into the camp or fort I'm facing. And prevents just and overload of strikers when going around. I don't know how well this works in interiors because I don't know the actual range of the scan, but I think i would work well in somewhat smaller zones.

 

What I'm getting at is that while the spawn mechanics seem a bit wonky, I like the mod enough to go into menus every time I go in and out of an interior zone, but I would actually love to have an actual hotkey to force deploy strikers.

First off thanks for liking the mod this much, always makes me happy to see someone so enthusiastic. 

I took a look at the script and found the mistake. i will fix it immediantly and upload the new version.

 

Thanks for reporting the bug.

Link to comment
37 minutes ago, Ryuu N. said:

I have never ever worked with actual quest, so this will be new for me.

Hey, not a criticism. You've made a great mod. If that's not a skillset you have and not one you want to develop that's entirely fair. You've literally made something that's created joy for no money. I am glad and grateful for what you do regardless.

Link to comment
27 minutes ago, Farsh-nuke said:

Hey, not a criticism. You've made a great mod. If that's not a skillset you have and not one you want to develop that's entirely fair. You've literally made something that's created joy for no money. I am glad and grateful for what you do regardless.

No worries i was looking forward to doing some quest. I just wanted to say that i might take some time because i first have to learn how it is down. 

Link to comment

Dunno if this has been mentioned before but logically strikers can only spawn on bandits. I dug into this a little because I never got any strikerspawns on forsworn or necromancers and I figured out that deploying strikers involves getting a list of suitable actors using GetEnemyActors() in DeviousStrike_ScanQuest.psc. That script is depened on the EnemyAliases attached to the quest which are condition based. The conditions handled in the .esp and  includes the following (abbreviated for readablity):

[...]
RandomChance AND
A -- InFaction(BanditFaction) = True AND
B -- BanditSpawningActive = True OR
C -- InFaction(ForswornFaction) = True AND
D -- ForswornSpawingActive = True OR
E -- InFaction(NecromancerFaction) = True AND
F -- NecormanceSpawningActive = True OR
G -- InFaction(SilverHand) = True AND
H -- SilverHandSpawningActive = True OR
I -- InFaction(WarlockFaction) = True AND
J -- WarlockSpawningActive = True (AND)


And all of that would work perfectly if AND had a higher priority than OR. In that case it would group around the AND and therefor look like this:
(A and B) or (C and D) or (E and F) or (G and H) or (I and J)

But (as far as I know) Skyrim prioritises OR which means it actually looks like this:
A and (B or C) and (D or E) and (F or G) and (H or I) and J
That means for the mod that, for an enemy to get into the EnemyAliases, the enemy has to be a bandit and you have to have all 5 FactionSpawns toggeled ON in the MCM (this makes all the OR pairs true).

Unfortunately you will need to prioritise ANDs in your condition if you want the factions to be toggable, which means you wont be able to do it in .esp, it will have to be handled by script. (as far as I know there is no way to prioritise a AND using normal condition settings).

The behaviour described here matches my testing ingame (I only get strikers on bandits with all factions toggeled on).

I'd suggest you remove the faction conditions from the Match Conditions of all the ReferenceAliases of the quest (the other conditions can stay) and do that part in the ScanQuset script after the none check in line 17. You only increase count if the conditions are met.

Link to comment
20 hours ago, nikojaeger said:

Dunno if this has been mentioned before but logically strikers can only spawn on bandits. I dug into this a little because I never got any strikerspawns on forsworn or necromancers and I figured out that deploying strikers involves getting a list of suitable actors using GetEnemyActors() in DeviousStrike_ScanQuest.psc. That script is depened on the EnemyAliases attached to the quest which are condition based. The conditions handled in the .esp and  includes the following (abbreviated for readablity):

[...]
RandomChance AND
A -- InFaction(BanditFaction) = True AND
B -- BanditSpawningActive = True OR
C -- InFaction(ForswornFaction) = True AND
D -- ForswornSpawingActive = True OR
E -- InFaction(NecromancerFaction) = True AND
F -- NecormanceSpawningActive = True OR
G -- InFaction(SilverHand) = True AND
H -- SilverHandSpawningActive = True OR
I -- InFaction(WarlockFaction) = True AND
J -- WarlockSpawningActive = True (AND)


And all of that would work perfectly if AND had a higher priority than OR. In that case it would group around the AND and therefor look like this:
(A and B) or (C and D) or (E and F) or (G and H) or (I and J)

But (as far as I know) Skyrim prioritises OR which means it actually looks like this:
A and (B or C) and (D or E) and (F or G) and (H or I) and J
That means for the mod that, for an enemy to get into the EnemyAliases, the enemy has to be a bandit and you have to have all 5 FactionSpawns toggeled ON in the MCM (this makes all the OR pairs true).

Unfortunately you will need to prioritise ANDs in your condition if you want the factions to be toggable, which means you wont be able to do it in .esp, it will have to be handled by script. (as far as I know there is no way to prioritise a AND using normal condition settings).

The behaviour described here matches my testing ingame (I only get strikers on bandits with all factions toggeled on).

I'd suggest you remove the faction conditions from the Match Conditions of all the ReferenceAliases of the quest (the other conditions can stay) and do that part in the ScanQuset script after the none check in line 17. You only increase count if the conditions are met.

 

Give this fix a try.

[removed]

 

Edited by Hylysi
Removed obsolete file
Link to comment
9 hours ago, nikojaeger said:

Dunno if this has been mentioned before but logically strikers can only spawn on bandits. I dug into this a little because I never got any strikerspawns on forsworn or necromancers and I figured out that deploying strikers involves getting a list of suitable actors using GetEnemyActors() in DeviousStrike_ScanQuest.psc. That script is depened on the EnemyAliases attached to the quest which are condition based. The conditions handled in the .esp and  includes the following (abbreviated for readablity):

[...]
RandomChance AND
A -- InFaction(BanditFaction) = True AND
B -- BanditSpawningActive = True OR
C -- InFaction(ForswornFaction) = True AND
D -- ForswornSpawingActive = True OR
E -- InFaction(NecromancerFaction) = True AND
F -- NecormanceSpawningActive = True OR
G -- InFaction(SilverHand) = True AND
H -- SilverHandSpawningActive = True OR
I -- InFaction(WarlockFaction) = True AND
J -- WarlockSpawningActive = True (AND)


And all of that would work perfectly if AND had a higher priority than OR. In that case it would group around the AND and therefor look like this:
(A and B) or (C and D) or (E and F) or (G and H) or (I and J)

But (as far as I know) Skyrim prioritises OR which means it actually looks like this:
A and (B or C) and (D or E) and (F or G) and (H or I) and J
That means for the mod that, for an enemy to get into the EnemyAliases, the enemy has to be a bandit and you have to have all 5 FactionSpawns toggeled ON in the MCM (this makes all the OR pairs true).

Unfortunately you will need to prioritise ANDs in your condition if you want the factions to be toggable, which means you wont be able to do it in .esp, it will have to be handled by script. (as far as I know there is no way to prioritise a AND using normal condition settings).

The behaviour described here matches my testing ingame (I only get strikers on bandits with all factions toggeled on).

I'd suggest you remove the faction conditions from the Match Conditions of all the ReferenceAliases of the quest (the other conditions can stay) and do that part in the ScanQuset script after the none check in line 17. You only increase count if the conditions are met.

I have striker spawn on necromancer before. I never confirm the forseworn but necromancer is definiately work for me

Link to comment
4 hours ago, Hylysi said:

 

Looking at the code, this should work, but in the ESP you changed it so that an enemy would have to be in all 5 factions at once >_>
It should work with OR between the Subject.GetInFaction() conditions but thats just an unnecessary faction check, we already check the factions in code.
 

I used your version, fixed the stuff I just mentioned and added a bunch of log statements to follow what happens while testing, and I can confirm I get spawns on forsworn now!

The randomchance is still handled in the esp, which means it's run on all enemies (no matter their factions) but in the end it doesnt matter because even those enemies that pass the chance and dont have the right faction will get sorted out by the faction check later on.
Another improvement of this is that to add another enemy faction that striker should spawn on (for example vampries) you just have to add it in the DeviousStrike_Spawns script once, instead of editing 30 ReferenceAliases in the esp.

Note: the logs in the screenshot dont match those in the fix I uploaded, I changed it to be more clear after I took the screenshot

devious strike spawn on forsworn.png

Devious Strike Faction Fix and additonal Logs.7z

Edited by nikojaeger
Link to comment
17 hours ago, nikojaeger said:

Dunno if this has been mentioned before but logically strikers can only spawn on bandits. I dug into this a little because I never got any strikerspawns on forsworn or necromancers and I figured out that deploying strikers involves getting a list of suitable actors using GetEnemyActors() in DeviousStrike_ScanQuest.psc. That script is depened on the EnemyAliases attached to the quest which are condition based. The conditions handled in the .esp and  includes the following (abbreviated for readablity):

[...]
RandomChance AND
A -- InFaction(BanditFaction) = True AND
B -- BanditSpawningActive = True OR
C -- InFaction(ForswornFaction) = True AND
D -- ForswornSpawingActive = True OR
E -- InFaction(NecromancerFaction) = True AND
F -- NecormanceSpawningActive = True OR
G -- InFaction(SilverHand) = True AND
H -- SilverHandSpawningActive = True OR
I -- InFaction(WarlockFaction) = True AND
J -- WarlockSpawningActive = True (AND)


And all of that would work perfectly if AND had a higher priority than OR. In that case it would group around the AND and therefor look like this:
(A and B) or (C and D) or (E and F) or (G and H) or (I and J)

But (as far as I know) Skyrim prioritises OR which means it actually looks like this:
A and (B or C) and (D or E) and (F or G) and (H or I) and J
That means for the mod that, for an enemy to get into the EnemyAliases, the enemy has to be a bandit and you have to have all 5 FactionSpawns toggeled ON in the MCM (this makes all the OR pairs true).

Unfortunately you will need to prioritise ANDs in your condition if you want the factions to be toggable, which means you wont be able to do it in .esp, it will have to be handled by script. (as far as I know there is no way to prioritise a AND using normal condition settings).

The behaviour described here matches my testing ingame (I only get strikers on bandits with all factions toggeled on).

I'd suggest you remove the faction conditions from the Match Conditions of all the ReferenceAliases of the quest (the other conditions can stay) and do that part in the ScanQuset script after the none check in line 17. You only increase count if the conditions are met.

Big thanks for reporting this issue, while testing i was always trying stuff with bandits and thought the other factions should work too because i didnt know of the prioritization. 

 

4 hours ago, nikojaeger said:

Another improvement of this is that to add another enemy faction that striker should spawn on (for example vampries) you just have to add it in the DeviousStrike_Spawns script once, instead of editing 30 ReferenceAliases in the esp.

Funny, this was also one of my biggest critiques on the ReferenceAliases.

 

Thanks for sending a fix i will give it a try and upload it.

Link to comment

Oh I forgot to mention it because it rather minor, but in DeviousStrikeLibs there should be PlayerChecks in ProviderKnockdown() and ProviderKill(), so that when the player uses a devious weapon they wont kill themself when triggeringing a punish or transferAll event.

All this needs is a
 

If Provider != PlayerRef
	;Provider.Kill() / Provider.DamageActorValue("Health", 9999.0) here
EndIf

where the kill / damage health function calls are.

Link to comment
4 hours ago, nikojaeger said:

Oh I forgot to mention it because it rather minor, but in DeviousStrikeLibs there should be PlayerChecks in ProviderKnockdown() and ProviderKill(), so that when the player uses a devious weapon they wont kill themself when triggeringing a punish or transferAll event.

All this needs is a
 

If Provider != PlayerRef
	;Provider.Kill() / Provider.DamageActorValue("Health", 9999.0) here
EndIf

where the kill / damage health function calls are.

huh i thought there was... 
 

I changed it a little different than you suggested. I put the player check in the ProviderKill() function.

Devious Strike 0.4.3 Patch2.7z

Edited by Cursed Raccoon
Link to comment
20 hours ago, Cursed Raccoon said:

huh i thought there was... 
 

I changed it a little different than you suggested. I put the player check in the ProviderKill() function.

Devious Strike 0.4.3 Patch2.7z 44.89 kB · 2 downloads

Yo, I checked out your fix that should also prevent the player from killing themselfs. But, and I'm sorry that I just keep coming back but I just play the game a find stuff, the method will kill any NPC that is not the player (even essential actors, because of the SetEssential(false) right before) like for example followers.
Thinking about it, the only time a provider should be killed after an event is when the provider is a striker right?
So i though maybe instead for checking if the provider is someone we shouldn't kill, how about we check if it the provider is a stiker and only then call the kill?
I think I'll just wank in a Provider.IsInFaction(FactStriker) and be done with it.

Link to comment

Oh and the way you do it right now should not work at all if RemoveStrikerDevices is false:
ProviderKnockdown will skip ahead to ProviderKill() which won't do anything unless RemoveStrikerDevices is true.
 

We also need ProvderKill() to remove the essestial status from actors after the transfer event, which should happen on all characters except character which were essential before (to not fuck around with the essential status of NPCs).

Can't we just use the same behaviour as in TargetKnockdown with SetGhost() and PlayIdle(BleedOutStart) to knock down the Provider, so that we wont have to worry about essesntial status at all?

Link to comment
On 7/20/2022 at 5:53 PM, nikojaeger said:

Yo, I checked out your fix that should also prevent the player from killing themselfs. But, and I'm sorry that I just keep coming back but I just play the game a find stuff, the method will kill any NPC that is not the player (even essential actors, because of the SetEssential(false) right before) like for example followers.
Thinking about it, the only time a provider should be killed after an event is when the provider is a striker right?
So i though maybe instead for checking if the provider is someone we shouldn't kill, how about we check if it the provider is a stiker and only then call the kill?
I think I'll just wank in a Provider.IsInFaction(FactStriker) and be done with it.

 

On 7/20/2022 at 6:23 PM, nikojaeger said:

Oh and the way you do it right now should not work at all if RemoveStrikerDevices is false:
ProviderKnockdown will skip ahead to ProviderKill() which won't do anything unless RemoveStrikerDevices is true.
 

We also need ProvderKill() to remove the essestial status from actors after the transfer event, which should happen on all characters except character which were essential before (to not fuck around with the essential status of NPCs).

Can't we just use the same behaviour as in TargetKnockdown with SetGhost() and PlayIdle(BleedOutStart) to knock down the Provider, so that we wont have to worry about essesntial status at all?

 

Yes sensei you are absolutly right, i think these mistake come from a long time of not modding. I really have gotten rusty over time...

I will take a look at it and try my best this time :P.

Edited by Cursed Raccoon
Link to comment
24 minutes ago, ice98a7 said:

The items show up on the strikers?

 


Yeah, that's how it works. How it's supposed to work. The devious strikers can't attach the devious devices if you don't have devious devices installed. And since devious devices is clothing there are problems that can result if you don't have the bodyslide for it built right.

Edited by Farsh-nuke
Link to comment

Mid level "Relentless Striker"'s are missing devious weapons for some reason. Can't tell if it is a compatibility issue (probably not), but all of my late game strikers run without weapons.
Edit: seems like they consider high level weapon in their disposition more valuable than striker weapons. Although I am not sure if they get their transfer weapons at all.

Edited by BreadDain
Link to comment
23 hours ago, BreadDain said:

Mid level "Relentless Striker"'s are missing devious weapons for some reason. Can't tell if it is a compatibility issue (probably not), but all of my late game strikers run without weapons.
Edit: seems like they consider high level weapon in their disposition more valuable than striker weapons. Although I am not sure if they get their transfer weapons at all.

 

The problem is that every class has a relentless striker (cause i am lazy), so the instance you encountered could have been a mage that wasnt able to use their own spells, which has happend before. 

Link to comment
1 hour ago, Cursed Raccoon said:

 

The problem is that every class has a relentless striker (cause i am lazy), so the instance you encountered could have been a mage that wasnt able to use their own spells, which has happend before. 

I'm actually pretty positive that not only just Relentless type is affected, seem like they are all missing their weapons, all types at all levels, at the start of the game it wasn't an issue and I didn't install new mods. Like if the problem has accumulated over period of time.

Can probably clean the save file from the mod and see if there is the difference. I am not excluding the possibility that some AI modification does that, I have enough of those installed.

Edit: found the cause, archers are affected. They are lacking arrows to shoot ?

Edited by BreadDain
Link to comment
On 7/26/2022 at 11:36 PM, BreadDain said:

I'm actually pretty positive that not only just Relentless type is affected, seem like they are all missing their weapons, all types at all levels, at the start of the game it wasn't an issue and I didn't install new mods. Like if the problem has accumulated over period of time.

Can probably clean the save file from the mod and see if there is the difference. I am not excluding the possibility that some AI modification does that, I have enough of those installed.

Edit: found the cause, archers are affected. They are lacking arrows to shoot ?

 

Haha i didnt expect that. There you go i have added arrows to their inventorys again. Hope this works 

 

Devious Strike 0.4.3 Patch 4.7z

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use