Cursed Raccoon Posted July 10, 2022 Author Posted July 10, 2022 14 hours ago, Farsh-nuke said: I still think a quest with npc enemies that ends in you being able to get the ability to summon your own friendly devious striker would be a cool endgame. I have never ever worked with actual quest, so this will be new for me. 1
Cursed Raccoon Posted July 10, 2022 Author Posted July 10, 2022 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.
Farsh-nuke Posted July 10, 2022 Posted July 10, 2022 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. 1
Cursed Raccoon Posted July 10, 2022 Author Posted July 10, 2022 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. 3
njaecha Posted July 17, 2022 Posted July 17, 2022 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. 2
CheddarTrauma Posted July 17, 2022 Posted July 17, 2022 (edited) 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 July 17, 2022 by Hylysi Removed obsolete file
hungvipbcsok Posted July 17, 2022 Posted July 17, 2022 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
njaecha Posted July 17, 2022 Posted July 17, 2022 (edited) 4 hours ago, Hylysi said: Give this fix a try. Devious Strike Factions Fix.7z 35.34 kB · 1 download 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 Faction Fix and additonal Logs.7z Edited July 17, 2022 by nikojaeger 3
Cursed Raccoon Posted July 17, 2022 Author Posted July 17, 2022 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. 1
njaecha Posted July 19, 2022 Posted July 19, 2022 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. 1
Cursed Raccoon Posted July 19, 2022 Author Posted July 19, 2022 (edited) 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 July 19, 2022 by Cursed Raccoon
njaecha Posted July 20, 2022 Posted July 20, 2022 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.
njaecha Posted July 20, 2022 Posted July 20, 2022 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?
Cursed Raccoon Posted July 22, 2022 Author Posted July 22, 2022 (edited) 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 July 22, 2022 by Cursed Raccoon 1
ice98a7 Posted July 24, 2022 Posted July 24, 2022 Strikers showing up but they are not attaching items onto me , the writing at top left shows but nothing attaches to me?
Farsh-nuke Posted July 24, 2022 Posted July 24, 2022 4 minutes ago, ice98a7 said: Strikers showing up but they are not attaching items onto me , the writing at top left shows but nothing attaches to me? This might sound dumb but you do have devious devices installed correctly?
ice98a7 Posted July 24, 2022 Posted July 24, 2022 19 minutes ago, Farsh-nuke said: This might sound dumb but you do have devious devices installed correctly? The items show up on the strikers?
Farsh-nuke Posted July 24, 2022 Posted July 24, 2022 (edited) 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 July 24, 2022 by Farsh-nuke
BreadDain Posted July 25, 2022 Posted July 25, 2022 (edited) 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 July 26, 2022 by BreadDain
VAAAAAAAAAAAAAAAAAAAAAAAAV Posted July 26, 2022 Posted July 26, 2022 Faction Fix file's ESP is ESP-FE. Is it intended?
Cursed Raccoon Posted July 26, 2022 Author Posted July 26, 2022 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.
Cursed Raccoon Posted July 26, 2022 Author Posted July 26, 2022 Here is the newest patch for you guys to test. It replaces the patch 2. Devious Strike 0.4.3 Patch 3.7z I have changed the new ProviderKnockdown() & ProviderKill() back to the original ResetProvider() which in theory should solve the above mentioned problems.
Cursed Raccoon Posted July 26, 2022 Author Posted July 26, 2022 17 hours ago, VAAAAAAAAAAAAAAAAAAAAAAAAV said: Faction Fix file's ESP is ESP-FE. Is it intended? Not really but i dont think it matters.
BreadDain Posted July 26, 2022 Posted July 26, 2022 (edited) 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 July 26, 2022 by BreadDain 1
Cursed Raccoon Posted July 27, 2022 Author Posted July 27, 2022 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 3
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now