Home Artists Posts Import Register

Downloads

Content

Hey! It's time for one last test round before release.

Some legacy conditions have been consolidated into more generic ones that have additional variables, for example IsEquippedRightType and IsEquippedLeftType are now IsEquippedType with an additional boolean variable that defines whether it's supposed to look at the left or right weapon.

The numeric value condition component can now read actor values or behavior graph variables, so many conditions (e.g. IsActorValueBaseLessThan, ValueEqualTo) have been converted into a more generic one called CompareValue.

All legacy conditions should be converted correctly so everything should work as it was before. To keep things clean for release, I've not added any special backwards compatibility logic, so unfortunately some of the values from old .json configs won't be read correctly, mostly ones containing numeric values. Like previously, if you haven't edited conditions, this doesn't concern you.

I've added a SubmergeLevel condition. A few more are on the way, and the API will allow other SKSE authors to add new conditions.

I've also added an additional bool value to HasMagicEffect and HasMagicEffectWithKeyword - which will switch it into a mode that will only check active effects, as requested.

I've added a UI scale setting - it's pretty ugly but that's pretty much how it's gonna be with ImGui. I could dabble more with stuff like custom fonts but honestly I want the mod to be out already, it's taking way too long.

I've improved the blending on clip interruptions - it's no longer blending from a static pose, it's now playing the previous animation at the same time, and blending them together.

I've added a welcome banner that tells you how to open the menu, as it seems some people are still unaware that the UI exists. You can also now rebind the key in the settings.

You can now disable a submod, or separate animations in a submod. I'm not sure that was in 0.8 already, I think it wasn't? Anyway, that's a thing.

I've also added numerous small fixes while reorganizing the code. I still have a bit more to clean up, and I need to start writing up the Nexus mod description.

Please let me know if you notice any of the conditions not working as intended!

EDIT 0.9.1: Added some more verbose logging when failing to read a json file.

EDIT 0.9.2:
Fixed some keyword conditions having duplicated keyword components
Any UI input should now be reset when the game window loses focus (keys like tab shouldn't "stick" anymore when alt-tabbing)
Added a fallback for the unfortunate case where another SKSE plugin breaks the SKSE plugin messaging system
Fixed parsing legacy arguments, the string was not terminated early enough (it's pure luck that it didn't break more and be immediately noticeable)
Fixed the menu button not being correctly initialized to Insert

EDIT 0.9.3: Cleaned up a ton, and optimized performance/reduced memory overhead. Not measured though, it's probably not much, but still.
Random condition results now reset on animation loop. This means that when an animation loops, the conditions will be re-evaluated with fresh random rolls. There's a new flag that can be set in a submod that will keep the random results on loop, if desired.
Improved the animation log a bit and added new settings
Added an IsReplacerEnabled condition

Please let me know if something happened to the overall stability of the mod, a ton of things have changed internally in 0.9.3 and I might have missed some edge cases. The mod shouldn't be the cause of any crashes in any situation at this point.

EDIT 0.9.4: More clean up, and added several new conditions:

  • IsCurrentPackage
  • IsWornInSlotHasKeyword
  • Scale
  • Height
  • Weight
  • MovementSpeed
  • CurrentMovementSpeed
  • WindSpeed
  • WindAngleDifference
  • CrimeGold

Also fixed some bugs and a crash.

Comments

metrocube

I can't wait to try. Thank you very much!

Anonymous

Thank you Ersh. The latest 0.8.1 was already very good in term of DAR compatibility. In fact, I didn't experience any problem since installing it. Great work!

Smooth

It's amazing how close the official release is! thank you

Anonymous

Thanks for the update, but somehow when I installed OAR even with the EVG Conditionals OAR led to unusual animations which led to my characters and my own run like this https://imgur.com/a/y3VdRvU. Note that I'm using a couple of DAR animations like Gesture Animation and Lively Animation Remix mods. I'm also using 1.6.640 (AE). Hope this will be resolved. Though my animations are back to normal when I converted back to DAR. Thanks again for the update and look forward for the release.

Ersh

Have you updated EVG Conditional Idles OAR? I've uploaded a new archive because of the changes to the json format in 0.9.0, the old version could probably result in injured/tired animations playing like that. Forgot to mention that you should reinstall them.

Anonymous

Hi Ersh, I seem to have a weird bug with the GUI. Whenever I try to update (legacy) conditions and I click in one of the input fields, it starts selecting every input field in a loop, which stops me from editing the one input field I actually want to edit. Edit: It worked again after I restarted Skyrim, but that's still weird and I'm not sure what happened.

Anonymous

Okay so it stopped after pressing tab again, so it breaks if I switch via ALT + TAB. Well that's interesting. Anyway another problem I found: The legacy condition IsEquippedRightHasKeyword(WeapTypeKatana) is incorrectly read, it reads the keyword as WeapTypeKatana). Also if I want to change the keyword, there are two input fields for the keyword to enter, but only the one below works. :) Edit: These two mentioned input fields are saved into the config.json, which results in: "conditions": [ { "condition": "IsEquippedHasKeyword", "requiredVersion": "1.0.0.0", "Keyword": { "editorID": "WeapTypeKatana" }, "Keyword": { "editorID": "WeapTypeKatana" }, "Left hand": false } Edit 2: IsEquippedRightHasKeyword(WeapTypeKatana) AND is read as "WeapTypeKatana) AND" so it seems that you forgot to include the end ) as a limit when you're reading the string, at least I think that's the problem. :D

Anonymous

Hey Ersh. Sorry for the stupid question, but how can I close your mod menu and play the game? Every time I click LB - your mod menu shows up.

Ersh

0.9.0 and 0.9.1 had a bug that caused the menu key to not be initialized to Insert correctly. Either rebind the key in Settings menu or delete the ini so it's recreated.

Anonymous

I'm using 0.9.2 and I cannot play normally because the left mouse button switches the overlay of your mod. I don't understand how to change this button either... I'm not a modder, I just want to play with the installed animations, I don't want to make any changes, It was working fine for me before this issue. Please help to solve the issue, otherwise I will return to DAR.

Ersh

Like I said, it was just a bug. Things happen. Delete the .ini (SKSE\Plugins\OpenAnimationReplacer_beta.ini, if you're using Mod Organizer 2 it'll be in the overwrite folder) so it's regenerated on launch with the correct default button.

DarkPhoenix

I just had a game where it started loading random animations right at the beginning (I believe it activated the animations for There Is No Umbra even though I'd just started and hadn't even begun the quest yet), and when I cleared out the cache, I got a consistent CTD on startup afterwards.

Ersh

Post a crash log? Sounds like your game went pretty crazy though.

Anonymous

0.9.2 - Everything is working like a Charm! +++++++

vai1lyn

There seems to be an issue with some legacy conditions using v0.9.2 in my game. I want to have specific idle animations when the player is wearing a spell in the left hand, and certain types of weapons in the right. To minimize the conditions, I have generated keywords "AnimCndSp", "AnimCndM1" and "AnimCndM2", and distributed it to spells and weapons using Keyword Item Distributor. Then, I have the following (legacy) condition for the idle: IsEquippedRightHasKeyword("AnimCndM1") OR IsEquippedRightHasKeyword("AnimCndM2") AND IsEquippedLeftHasKeyword("AnimCndSp") However, the animation is not triggered ingame. This approach worked fine using v0.8. The IsEquipped*Type conditions don't seem to be affected by this, since most of my MCO movesets use this and still work. I have checked the KID log, and the keyword is distributed correctly in the runs for 0.9, so I don't think it is a KID issue. Edit: to confirm that Type conditions aren't affected, here is a conditions.txt for a dagger moveset: A: IsEquippedRightType(2) AND B: IsEquippedLeftType(0) OR C: IsEquippedLeftHasKeyword("AnimCndSp") This moveset works fine when wearing only a dagger (A -> true, B -> true, C -> false, global -> true), but doesn't work when having a spell in the left hand (even though it should, since A -> true, B -> false, C -> true, global -> true)

Ersh

Yeah. New features like keyword literals aren't supported in the legacy format anymore. That was a leftover from the early stages of OAR when I hadn't finalized the new structure yet. The support actually broke by accident when I reworked some things recently, and you just made me aware of that. However I was already considering removing support, because it ultimately makes no sense (and possibly sends the wrong message) - keyword literals are not in DAR, so this legacy structure would fail to be read correctly if the user has DAR installed, anyway. So any sort of dual compatibility where a mod would work both in DAR and OAR is not possible in this case. To use new features, use the new structure, basically. Don't expect any new stuff to work in legacy structured mods - there's 100% backwards compatibility with DAR structured mods, but no new things. There's a super easy way to convert a DAR config to OAR - when a legacy mod is loaded, it's automatically converted to the new format, with all the new features disabled like they would be with DAR. So when you find it in the ingame UI, you can turn on author mode and click "copy submod config to clipboard" - everything will be in OAR format ready to be pasted into a config.json into your OAR structured mod. Or you can turn on user mode and save a user config, and copy that user config into your folder and rename it to config.json. Both ways result in the same thing and will save you a bunch of time. You could also copy/paste the condition set if you have both the legacy version and new version loaded.

vai1lyn

Hey! Using version 0.9.X, I have noticed that some of attacko's bosses (f.i. Nirwinye) don't use their full moveset anymore. I have debugged this using the ingame GUI, and it looks like the runtime legacy condition converter seems to incorrectly convert some percent checks to static value checks. For instance, Nirwinye has a second phase that triggers at less than 66% percent of health. Here is the original DAR condition, as provided in attacko's mod: NOT IsActorBase("Skyrim.esm" | 0x000007) AND IsEquippedRight("ShadowofMereth v 0.1.esp"|0x02e80a) AND IsActorValuePercentageLessThan(24, 0.66) AND NOT HasMagicEffect("ShadowofMereth v 0.1.esp"|0x06127D) AND Random(0.99) However, ingame, the health check fails, even if the boss is largely below the threshold. Here is a screenshot of the OAR GUI (note: priorities have been altered compared to original mod): https://imgur.com/a/76dbvqh This shows that the health check is still red, despite the boss being damaged enough (as displayed in the boss bar). Furthermore, it says that the compared value is interpreted as a static 0.66, instead of the 66% of the original. I know that I can manually fix it by converting & adapting the configs, but I just wanted to mention it since it breaks out-of-the-box backwards-compatibility and might confuse a lot of users at release :) Edit: forgot to add the screenshot link :D

Ersh

Thanks for the detailed report! Seems like an oversight, should be a simple fix.

VioLeTXD

Will this work out of the gate with any existing DAR-based animation mods I have installed?

theoneGalen

I apologize for the ignorance, but which versions of the game does this plugin work with? I am building a list from 1.6.640.

Ersh

All of them (well aside from pre 1.5.97 but nobody should care about those)

Smooth

I'm excited to be able to apply multiple animations with MovementSpeed

vai1lyn

The new conditions are a game changer! For instance Scale/Height in regards to something like Animated Traversal, or IsCurrentPackage in scenes :D

Ersh

I'll have a thread on the Nexus page for more condition suggestions :D

Anonymous

Would you send me the exact version 0.9.0? I would really be thankful.

Ersh

I don't think I have it anymore if it's not uploaded here. Why would you want it? It's massively outdated.