#N'Garde. Vanilla-Friendly Parry and Active Block.
1 messages · Page 5 of 1
like 
This weirdness fixed for next update, or at least should be better. Once combat ends it will now block all parry behavior and force lowerGuard before detaching the script from an actor
So they shouldn't be stuck in parry/block animations anymore
Hope the placement of the cape on the cuirass feels alright. 🙂
There is some minor clipping depending on the movement of the character, but the cape itself was already quite janky.
I LOVE U
With all the talk of disarming wouldve been cool if you can knock a weapon from blocking enemy hands somehow haha, but probably way too OP and also needs some ai logic of them picking it back up or something
Foxunder made a disarming mod
there's a disarm mod
Works with this according to Dubious
Oh it does include pickup logic, thats cool, can probably interop with it to only disarm on blocking
Eh
And again probably should be a perk haha
Feature creep 
#1482416741077356692 message
barely had a chance to play with it, but no issues so far. using it along with Foxunder's mods is wild, i got parried, knocked out, disarmed and then they stole my sword and half my money
Yea i know i know, you react like that to all my ideas or offers but its ok, no hard feelings
Nah, it's not that, and your feedback was very much implemented, at least since last time you've played
But that's out of scope for sure
Yea i saw it
Man is pumping out bangers
Yea a lot of it sounds quite fun
I've been thinking about going dubious-route and installing Disarm mod as well but I don't want it to get too crazy during testing sessions with yet another big mod 😅
This, probably. can be done. If I manage feint animations. But I've shelved feints for now
Disarming on blocking makes no sense to me, On feint however
I mean disarming when you are not even attacking prob makes even less sense? On block theres a clash of weapons atleast, so a chance to like do "something" including a disarm
fair
Perk sounds good but actors would need that as well
Like the axe swing was so powerful that puny sword with whick you tried to block is now flying through the air
Yea adding perk support to actors shouldnt be that difficult
I mean, that already works, doesn't it - whatever disarm em all does
except it works not only on parry
And just randomly giving actors that satisfy skill requirements this perk
The chance to disarm is so low it’s a genuine surprise when it happens
I mean, that's good, isn't it
Nice that you are testing this
As far as i understand, yes
keeps it fresh
Hell yea
It’s super fun
Npcs disarm too it calculates weapon stats and strength I believe
Weapons weight
The thing is, you need legit perk packs for perks to make sense. We have 1 so far and it's WIP.
When it happens to me the rush to pick up my weapon is real
Because they can snatch it 
Yessss
Its not that difficult, there are few mods out there each of which just asks for 2-3 perks, + generic perks and you already have like 20
Hmmmm. No interface or anything in Disarm 'em all
ITS BEAUTIFUL
other than settings no
btw. While I have all of ya'll round. Does anyone play with Path of The Incarnate?
Yeah, once perks are actually implemented, numbers go up quickly.
? That’s mod list right?
yes
No
Something in there breaks N'Garde, but only for player
One report so far, but it's afucking 800+ modlist
I saw the modlist, but no.
onHitHandler is never reached
@tough juniper will be like: rookie numbers 
so
how the fuck do I troubleshoot that.
N'Garde works fine for NPCs, but player's onHit is never reached
meaning someone somewhere resolves it before
incorrectly
damage is still dealt, which is even weirder
Yeah PotI has a few things that dont play well with others. Hyacinth has worked with Clayby to get Sun's Dusk working on it, he might have some insights
yes, they work together alright. I've been playing with both since the start

Glad that you like it 😁
its not the size that counts...
actaully
this might be helpful
Can you give me your openmw.cfg
mods that you don't have that reporter does probably will be like 2
That will be quite a sight!
incoming 🫡
no wokkas
definitely havn't had as much time to playtest recently but yeah i didnt notice any issues
And boom, reporter's config down to ~300 lines from several thousand, just those that are missing in Dubious'
nice
Watch it being some random mesh replacer or sth. Totally unrelated and no gameplay impact 
That would be hilarious

for real, it'll be a beaded curtain from a 2022 quest mod
...
Hmm, maybe some mod earlier in liad order interrupts on hit chain, if thats even possible?
yes
Fun
Is shields up or another shield mods
but Iv'e no idea if MO2 manages it properly
oh
is it in there I wonder
nope
but good shout
If that’s the case it’s probably a mod that probably has scripts that overwrite
Could be wrong but MO2 overwrites are laborious
So theoreteically if a handler of a mod A returns false - it will interrupt all other handlers. And is a decidedly rude thing to do
but order in which handlers resolve is something I'm very unclear on
I've been told that last in first out
meaning - last in load order - first to fire and resolve
but then N'Garde would've been fine
in their log - onHit handler just never happens
which is bloody weird
If several scripts register handlers for the same event, the handlers will be called in reverse order (opposite to engine handlers). I.e. the handler from the last script in the load order will be called first. Return value ‘false’ means “skip all other handlers for this event”. Any other return value (including nil) means nothing.
yeah
Are you adding handlers on script load for player or are you waiting for some kind of event?
that's waht the docs say at least
onLoad
actually no, specifically onInit and onLoad engine handlers
oh
Probably other mods do it in script body
huh?
, the handlers will be called in reverse order (opposite to engine handlers).
so I'm registering my onHit handlers in an engine handler
my engine onLoad runs first - if I'm to believe that doc
hence my onHit is registered first, and gets resoled last
I need a coffee and someone smarter to explain 
Maybe some sicko registers them much later for whatever reason or even dynamically adds and removes a handler on say every attack animation
Or something equally perverted
Mm maybe can try point claude or qwen at mods folder and ask to check all mods that add player scripts
Its a lotta mods though, might choke
well, I haven't got those mods :D
Well, apparently now it works, somehow. But the only difference was one more log message...
I'll take it
And I'm going to post a quick update with fixed handler registration, just in case. Cause what I'm currently doing is cursed
What... what are you doing? 
adding an onHitHandler in onLoad as Mym told me to do for "compatibility" so that SE interface is ready by the time I need it
It sounded shady, but apparently a no-no in general

Anyway:
- on combat end disabling all parry behaviour on NPC for the split second script exists before it is detached
- Fixed addOnHitHandler, for more predicatble behaviour
Movement looks good. So far I've not witnessed previous issues with pathfinding. Once I witnessed somebody getting stuck near the door which he tried to open, but it's sth that can happen without the mod as well.
I'm impressed with how well actors with decent skill handle parrying. It can make some fights way more difficult. You need to be more careful with timing.
How do you scale durability dmg? I've not seen any weapon getting more than 3 dmg per hit on parry. Not sure if intended.
That goal achieved then. Although in my testing I felt that I may need to tune it down sometimes
give me a sec
On perfect parry only base damage is applied. On weak parry it's base + remaining health damage
ok, makes sense conceptually
So inverse of base game behaviour - at higher skill your shield breaks slower instead of faster
base game - durability damage is always the same, but you block much more often at high skill
so shields break
I'm talking about weapons. Shield get damaged the way I would expect.
yah, but same formula
well, frankly, it makes sense for the shield to get damaged only on hit 
no block, no damage
Also true, but OMW already has a setting that changes that in the launcher
"redistribute shield hits" iirc
ah, I misunderstood then
shield slot is treated as an equipment slot
yeah, makes sense
I will test that durability
will keep blocking with dai-katana
to see whether it's only 3
or more
no perfect parries
Should be more, as long as there's any health damage you're still getting. If the shield works as expected - this should too, same code path
There's only a special case for h2h
to redirect damage to gauntlets
I will do more testing with HTH. From experience, it seems that blocking with HTH gets good way too soon.
and I mean blocking
not perfect parries
but I will test more
Does it? Let me know - the effectiveness handling for that was annoying af
Oh. And btw. Fatigue damage if there's any on that attack also goes into durability
but before conversion, so only if there's any base fatigue damage
Block scaling looks way more sensible now. I get skill gain as expected. It's variable. All good. However, feat display is all wrong 😅 . Mismatched text or no text. Also, it gets confusing with HTH hits when they apply Fatigue damage only. SE treats that as Avoided Fatigue Loss (50% impact for skill scaling by default) and it's displayed as a separate line. Here, however, I think that you didn't implement separate display/handling for this case. Anyway, while skill gains seem to be working, feat display/text is all over the place 😄
I know that you love the UI 😏
Huh
yeah, going to do some HTH testing right now
I thought I changed display in the last update. So the fields should be "Damage Parried", "Timing" and "Enemy"
Or did I do that after posting?
using this
Hmmm
I may redownload just to be sure
Nah, should be fine. I was runnnin on way too little sleep yesterday, and that was posted "asap" cause of addOnHitHandler thing
so you have correct version
I just made more changes afterwards
enemy h2h attack
it would be good to hide Damage Parried when it's 0 and it was Fatigue damage which was avoided. It should be displayed instead.
I see that you use Fargoth as the punching bag
Just spawned him in the vivec arena, he has convenient one word id
Hmm. I see a couple places I've missed debug messages/logs in
going to fix that too
And yeah - this is not right, need to update it. That's should show avoided damage whether it's fatigue or health, but for some reason it's zero there
I had my suspicions but kept quiet because I thought that maybe Arena crowd interfered 
Naah, looking at it now - I'm doing something really weird for attacks that have only fatigue damage in them... Let me review that
and debug logs/messages are not in that path
I still get metal sound when blocking with HTH after unequipping gauntlets. It's the same sound.
it should play this
it does include that ringing sound
but also
the base it's overlayed with this
which is base h2h block sound
ringing is there for one reason - so that "perfect" parry has exact same unique identifier no matter what weapon/shield you use
you hear this one on standard block?
No metal and I hear clink
or base game armor sound like with a shield?
One sec
Yeah, it sounds like shield hit
Bare hands
hmmm
that means sound didn't get reset after gauntlets got unequipped
let me see
I misunderstood you last time then
hmm, not sound. "material" record
I think I see where it happens
Not sure how legit Block skill increase is for HTH. Maybe it should be HTH main and secondary like it is with shields (Block main/secondary).
I've considered that, or h2h + unarmored
Unarmored is conditional
but I'm generally using "block" as a general purpose defence skill
You can be armored
yeah, or armor skill for gauntlets
But maybe we include "defence" in the martial arts implied portion of h2h
and use h2h twice
yeah, I can agree with that
Yeah, I think it's unique enough
Oooh. I see what's going on with gauntlets/hands material mapping. I only apply "bare hands" first time weapon is unequipped, not when gauntlets are lost
let me fix that
Cool
Is it only the sound btw? HTH blocking seems strangely strong. I'm not talking perfect parries. Standard block. I don't understand this "perk", either, but boosting HTH block further at 40 seems weird. It's not a high skill level. Shouldn't HTH be more like short blade in terms of effectiveness? It only gets good on high skill lvl. Otherwise, you have to rely on perfect parries, avoid getting hit, wear gauntlets or tank it. Anyway, I think that I know what is contributing to the power lvl here. Parries reflect Fatigue. HTH uniquely deals Fatigue with hits. Therefore, everything contributes to enemy KO happening sooner. It's a good case for nerfing HTH blocks a little bit IMO.
Yah
I think setting that level to 70 or something may work better
Would mean that defending against weapons with h2h before 70 is impossible without good gauntlets
maybe even 80
or 90
And man, I know that you go for consistency with perfect parry sound, but I expect to hear some cool satisfying Khajiiti kung fu sound or sth that this metal clink is weird 
But you can perfect parry, right?
with gauntlets,
Huh? I think I did it with bare hands.
after I change it I mean
hmm
actually, no. You'll be fine,
Yeah, perfect parries will work
they don't take weapon effectiveness in the formula
now I'm thinking maybe it should.
Yah, But I'm wondering if timing may be too generous
and if that timing calculation should include weapon effectiveness
one or the other or both
Iirc you use 1 for HTH, anyway
Maybe it should be skill only. I mean, do we want to make good things even better and bad even worse?
Naaah, it's more complicated than that
I mean this
So, real h2h effectiveness, is 0+ ( L gauntlets effectiveness, + R gauntlet effectiveness) + bonus from Iron Palm (0.5 at threshold skill level, 1 at threshold+10), capped at 1.2 and multiplied by the value in settings
Amyway, perfect parries are legit in all cases, I think. Standard ones feel too good with HTH.
and if enemy attack is also h2h - the h2h effectiveness is always 1.2
basically values in setings are "x% of whatever the fuck I'm doing under the hood"
expressed as 1 = 100%, 1.5 = 150% etc
Right. Let me review it. It may be getting to threshold too early, and I'll need to doublecheck if gauntlet effectiveness gets reset properly when removed
And I realized I didn't respond to this - if you find a fitting soun - let me know, I've spent quite a few hours at royalty-free sound repos - it's not hopeless, but I didn't find anything better
The way I imagine HTH blocking to work:
- at low skill it's the worst option for standard blocks;
- blocking boosts HTH only since it's unique enough. There is precedent for this already with shields. This is a similar case, i.e. other secondary skill makes less sense;
- perfect parries are always legit even with bare hands just as it is with everything else. They may be hard, but this is your hand grab, weapon grab, kick or whatever. You had great timing, you reap the benefits.
- 40 skill is not high skill lvl. It's sth a starting character may have. Most Legion veterans probably have around 30-40 due to training/experience alone and they don't have Ultra Instinct. If there is a blocking boost, it should happened at higher skill like 70+. Actors should probably know this as well so they don't spend too much time keeping the guard up while it's not that effective.
ok, I will retest after all the tweaks
Yah, I will post in a little bit
HTH can be a strong skill btw. I know that many players ignore it, but if you know what you are doing, it gets very strong very quickly. Blocks boost it further because of enemy Fatigue damage (it all stacks) so it's not that some nerfs are undeserved.
Yeah. I also probably need to lower the combat distance for h2h
they seem to dance just out of their own range
I see durability damage. Seems to be working ok. Switching to new version.
- HTH gauntlet/no gauntlet block sounds seem correct
- new bug: sometimes perfect parry sound doesn't play at all. Both with weapons and HTH. In such cases, you see stagger but hear no sound
- new bug: I blocked with HTH (no gauntles) and dai-katana, keeping the guard constantly until I ran out of Fatigue. It received no damage at all. It was skill lvl 40-45.
SE feats look like this. Enemy shown, good. No dmg negated info, bad. How is timing even calculated btw? I just keep the guard up and it's 100%.
oh, and no messages for blocking
kept the guard up
kept getting hit over and over again
no dmg
no message
Fatigue goes down, but I'm invincible while keeping guard up
I even set my Block and Long Blade to 0 mid-combat to test the difference. Same result. Something seems fucked.
I bet that it's some typo. 1000 somewhere instead of 100 or sth 
Hold up
let me see
100% is perfect parry, or first microsecond after the perfect parry elapsed( even though that will likely still be 99%)
damage negated seems to come in both on perfect and normal... hmmm
do you have debug logs enabled?
can you get me your log?
yeah, checking
if this is how it's supposed to look, then I definitely suggest putting a space before and after ; 
yeah, good call
And both would only show up if both were present
makes sense
Ah, dammit. Found it
if it matters, I will say that NGarde is the last mod in my load order and the bugs I mentioned (no dmg and missing sound from time to time) didn't happen before
one of "its" at least
typo...?
nah, that's my fuckup. I've separated negated damage by health and fatigue
but in one place where it should multiplied - it was still referring to negatedDamage instead of negatedDamage.health
can't multiply a table
just glad it's not js or ruby
, there it would've silently multipled the array
and got a string out of the other side
how is it possible that you weren't getting the bug here? Was it because Fargoth attacked you with fists?
ye
the one place where it was called was when attack had no fatigue component
called like that*
all code paths entered correctly
some weird display when tgm is on, but meh. And also added an exception for that
nice to see caps working
must be scary to fight Super Saiyan guards 
lmao
Now, to figure out why messages are not showing up
Alright
Think we are ok
let me check a couple of things over and I'll replace the zip
about the keeping distance thing... I'm wondering whether you need to use it for standard weapons and HTH at all. I mean, if reach is 1.0, then maybe it's just best to leave it to Vanilla and Mercy. Keeping at the edge only makes sense if you have a weapon with longer reach.
I mean yeah
probably
but the whole thing was implemented cause in one of my demo videos someone noticed they are really in licking distance
which was weird
that was me
ah

right
the thing is, it makes perfect sense to keep you at bay if they have a spear, staff, warhammer - the things with high reach
but if it's 1.0 then whatever
Well, maybe. Still I definitely like combat distance more with it enabled than otherwise
oh yeah
it looks more natural
and fluid
although in the testing showcase, the old one, you weren't using Mercy
maybe just add a buffer distance somehow, so that it's not one unit that makes the different
with Mercy, NPC behaviour is more varied
I don't have it active most of the time
sometimes they power walk, sometimes they run at you, sometimes they spam attacks
things like that
Specifically to test how behavior that I modify works
And then again
in that old demo - distance wasn't anything I did something with, either mwscript that handles that sparring session in TR, or vanilla behaviour's fault
Yeah. I'll think about it, am messing with obstacle detection anyway
^ Fixed the bugs found so far
And about timing, basically it's how close you were to perfect parry. Probably good idea to change display to "perfect" instead of 100%
0% means - nowhere near
100% is ok as well
fair
reloadlua, same thing
Yeah. Settings working now. Weapon parries work as expected. Messages appear semi-reliably.
SE feats display is much better.
Semi reliably?
yeah, sometimes they don't appear
Oh. I know. You have all-attacks-hit off, right?
Right, so currently you can parry missed attacks. It's really only there to allow you to stagger them with a perfect parry
and for better feedback, holding parry and hearing "whoosh" and nothing else was weird
maybe it should be a message
yeah
it is
ah
same would happen with tgm
that explains things
cause there was no damage of any kind
the comma is just what Mym adds
just so it doesn't look like a bug
I pass an empty string in in that case
Hmmm. Looks like when an attack was going to be a miss it still has attack.damage.fatigue on it, but it's 0
Well, that's fine too then:
is HTH defence factor supposed to be the same regardless of HTH skill?
are you way below iron plam threshold and tryingto block weapons?
15 h2h,
no gauntlets:
those were both misses, but still
gauntlets on. I changed my HTH multiple times for testing.
HANDTOHAND effectiveness:0
Are you sure gauntlets are on?
let me check the full log
hmmm
HANDTOHAND effectiveness:0.5375
(with one adamantium bracer)
let me stare at it for a minute
just punched the skeleton again. No gauntlets. HTH 100. Defence factor 15%, same as before.
punched or got punched?
seems to work on my end
definitely needs a staring session
HTH 100
I noticed the jittering you mentioned before for keeping distance. Maybe slight delay/cooldown or tolerance isn't a bad idea.
Damn auto emote keeps 🔥ing off to when I'm trying to read..
That was a non-h2h attack you were defending against, right?
Yes

- properly taking threshold for iron palm ( level when h2h without gauntlets becomes effective against weapons)
- fixed some display weirdness for parrying missed attacks
Lmao at it being RC5 
I wonder how many versions there were
or go back to 0.8 something
No, no, let's get over 9000
It's always good to have the opportunity to post Vegeta and Thanos memes. It's the most important thing
. Mandalorian is good as well (this is the way).
We'll get to vegeta memes in time, but
** 0.8.0 **
- better SE feats Integration and display
- h2h sounds fix
- Sanity rework for weak and perfect parry handling distinction
- Better handling for fatigue only and fatigue + health attacks
- h2h gauntlets effects fix for sound and effectiveness on equipment change
- defult h2h iron palm threshold to 70
- h2h effectiveness under the hood capped at 1.1, down from 1.2 (settings value still applies as multiplier)
- perfect parry window max lowered to 400 ms and skill ratios lowered slightly (main skill 0.4 -> 0.35, secondary 0.15 -> 0.13)
- handtohand is now primary and secondary skill for h2h blocking (no longer uses block skill)
- more logs and better logs
- properly taking IronPalm threshold
- clearly wasn't ready to be called RC, and I'm not too proud to admit that.
Also, the fucking h2h has so much special handling around it - it's ridiculous
Soon you will be adding HTH special moves 
That's on Iron Fist to handle tbh
Yeah
well, progress is good. HTH works both with gauntlets and without them. Perfect parries work as expected. Messages are consistent. Clean SE feats display.
I'm bracing for a "but"
there is one tiny little problem I encountered once with the latest update
only once
but
do tell
during one testing session, somehow during HTH blocking half of SE broke. Sth like this never happened during several playthroughs 😅
I have no fucking clue what that even is
"nan" and invisible skill levels
I made a log from that session
ironically, SE feats are displayed correctly and cleanly
lmao
I think I will enable SE logs as well just to see if sth broke
I've never seen anything like this 😄
@jagged hamlet do you have any idea what this could be? 
I was blocking with HTH
couldn't replicate during the next session
it's only this save
a normal block?
both, probably
and is the save fucked now?
perfect and normal
yeah
this save, yeah
it's over there
the bugs have the high ground
so besides breaking SE and some jittering, I have to say that things look good 😄
(so far)
I will fight the bandits in the cave on the broken save. See whether sth appears in the log.
here are some more logs, maybe it will help. Ironically, SE functions seem to be working. It's as if display was fucked for several skills and this "nan" appeared.
as for jiterring/keeping distance, sometimes the enemy can get semi-frozen in place. They won't move until you move.
yeah, that's when they are exactly on the line
which is weird
cause I made conditions inclusive
= 100 for one and < 100 for another
hmm
100 not actual value
but you get the idea
shouldn't be a point where condition is not met
yeah. Maybe "release" them from keeping distance from time to time or add some random factor or whatever. Just so it will look more natural and happen less often.
is perfect parry stagger always the same? Sometimes it looks as if there was no stagger at all.
the sound, the message and no dmg happens
but I see no stagger
not reliable. Sometimes.
maybe you will notice sth if it's not intended
I also wonder why one of my gauntlets got to 0 condition but wasn't unequipped
I thought that broken items are unequipped automatically
It randomly plays one of 5 builtin hit animations. But, there's a stagger cooldown - meaning after an actor is staggered they can't be staggered again for between 0.4 and 2.2 seconds depending on strengthn endurance and block
Otherwise it's way too easy to stunlock an opponent with quick attacks
ok
And that stagger cooldown applies to everythign excep knockdown and knockout animations.
if you get them down - you've earned it, but otherwise can't stunlock
yeah, makes sense
Actually, should add swim knockout and swimknockdown too
yup
might play a HTH monk next time
Spellsword allows enchanting fists, IronFists takes gauntlets into account for damage, and there's block/parry here
should be fire
high praise indeed
Nice
can't break the game again
no clue, lol
nice to observe gradual degradation of blocking efficiency with Fatigue
when I make those first blocks at full Fatigue with Orcish Towershield, nothing gets through
then more and more
feels great
🔥
Golden Saint kicked my ass 😅 . Parried my strikes, staggered me. Kept healing herself due to Fair Care. Cast lightning shield spell on herself boosted by Magic Rebalance which meant that I suffered dmg per each hit I actually made. I also received HP debuff due to No More Excessive Healing because I healed too much. Mod combos, lol. Fun times.
keeping distance sometimes makes enemies with weapons with reach shorter than your own weapon waste too much time because instead of pursuing you aggressively, they are trying to keep you at bay. The thing is, it's much easier for you to keep them at bay, so they really struggle with finding that spot.
Huh, they should nto count your weapon reach at all
only their own
At least I'm not doing anything with opponent weapon reach
I'm not sure whether they "count" it.
but a grab a spear and fight someone with a short sword and shield
you should notice this in 1-2 fighting sessions
huh
spawned in a riekling to test another thign
and yeah
I see that
wtf
ok
I'm seriously considering scrapping the whole thing about distance now
as suggested before, maybe only for those who have weapons with long reach?
and you can make it a toggle
call it EXPERIMENTAL
yeah because it's less of an issue
it makes sense for them to keep you at bay
and be cautious
base game - longer reach weapons are staves, 2h axes, 2h blunt and spears iiirc
don't make it hardcoded by type
check weapon reach
weapons can have varied reach in Vanilla and mods sometimes
and 2H axes actually have 1.0 in Vanilla. Spears, staves and warhammers have longer reach.
oh, motherfucker, rieklings are bad
I may need to blacklist them
they are weapon users but rig doesn't match up at all
ah
so the little mofo just jitters in place, and doesn't actually ever parry
or do anything useful
actually... are hill giants from Tamriel Data considered weapon users? Because you don't want them to be considered as such, lol
Let me spawn one
there are 2 types
one creature and one NPC
https://en.uesp.net/wiki/Tamriel_Data:Giant here you have a Giant
let's just say that his hits shouldn't be parriable and he shouldn't parry as well, lmao
https://en.uesp.net/wiki/Tamriel_Data:Hill_Giant this is Hill Giant NPC race. Not sure whether it's even used anywhere.
Hill Giants are large, long-lived humanoids.
Nah, we good
those are some mofos btw
as they should be
yeah
right... so it's only theoretical for now
the race yeah
Bummed to hear the mod got bumped down from RC status, but don't be too hard on yourself. Even in its current state, I'd miss this mod significantly if were to play without it.
Nah, I'm not too proud to admit it wasn't ready
and it wasn't. Ya'll can still play and have fun with pre-release versions
but we better polish it up before it goes up on nexus
Considering it realistically - it's a bigger departure from base game than it seems
so issues were and are to be expected
well, there are new mechanics, new animations, skill scaling and new AI
yup
maybe check the fucking gobbos for animations as well
yah
Well, goblins is better, I think... They don't seem to try to parry, though I'm not sure why
BTW folks, if you are struggling, here is a short guide on how to deal with enemies when using N'Garde:
- First order of business is preparation. Check your equipment. Be mindful of condition.
- Make sure to spot the enemy first. Check what they are wielding.
- Check whether there is more than one enemy nearby. Try to avoid groups if possible.
- Once you are sure that the encounter is manageable, make sure you have potions under hotkey.
- All done? Good.
- Now shoot the pathetic n'wah in the back with an arrow as a sneak attack, loot their worthless corpse and move on.
unironically, attacking them from the back is actually very effective now that they're capable of blocking 90% of your front attacks. Having a companion who draws their attention really helps
hmmm, I wonder if we can do turn rate slowdown or delay in combat
so that flanking works
cause parry arc is less than 180 degrees even for widest ones
160 is max
Roight. So 160 creatures marked as "Can use weapons" in TD, OAAB and base game
hmmm
some of those are rieklings
guess I have my evening sorted
I don't remember how it works in the base game - can one parry or block missiles?
Fireball to the face works as well*.
*use Shockball against Dunmer
How's enemy archer behaviour for ya'll on current version?
Did you play with the previous SE beta with your current save?
I think this save received many SE and Ngarde updates.
A shitton
Because it was just in Seyda Neen
Mea culpa
not-a-number
meaning something that was being interprted as number, is actually not, so NaN
not-an-n'wah
As I changed the feat stats format for the final version, previous recorded feats can break the tooltips and maybe the skill values
Once you beat these feats you're good
I doubt it's this
In fact, it's not
Things broke because of new feats
I will doublecheck what I'm sending to SE, to make sure scale is never lower than 0 etc
When I'm done testing creatures
halfway down the list, only 22 exceptions so far
mostly rieklings and gobbos
I even have the same save and everything works. It broke during 1 test session. Several skills "broken" with invisible numbers + "nan".
fck daedra are scary now btw
had to enable tgm as I got to testign them
on a lvl 20 char
BTW for enemy block/parry rate, I think that Vanilla block chance may serve as inspiration. Obv, appropriate skills should be used (Block/Weapon+Block/HTH), but I think that skill, agility and luck are good here, with skill mattering the most and luck the least.
I've implemented a fatigue based chance already, but I'll note this down
Then I'd need Lua errors from the logs, if it even happens again
I can send you the broken save game if you want
I don't have other logs than the ones posted
oh ffs. Why would TR devs mark dwemer centurions as "can use weapons"
that's for those that can equip weapons
ah, nvm
dammit and I was hoping I'd not need to remove weapon wielding dreugh
but nope, those too
shame
this is the broken savegame ("Quicksave") and a screenshot which shows the bugs: invisible skill levels for several skills and "nan" text. I guess that the savegame is loadable even if you don't have some of the mods since they are not important in this case. As you can see, the bug affected even sth completely not related to combat like Armorer. I also have two logs generated during the testing sessions. SE logs were turned on only after I noticed the bugs.
and here is the save game I used countless times for testing, on many versions, and it never generated bugs like this. Literally the same place. I just spawned skeletons and fought them by using HTH.
NGarde I'm using
this is all I have
Why on earth would Tamriel Data need 19 different types of goblin 
sort of
but all of them are there twice
once for Cyr and once for Mw
Anyway, blocklist done
Have you fought Almalexia? 
56 records for base game and major data mods
not too bad
oh, actually
the fucking alma
can't spawn her in
she disappears
brb gonna kill gaenor real quick
I haven't been to mournhold on this save yet
If anyone is bored can someone post a video of how hand to hand looks with n’garde? Specifically both enemies being unarmored
Nothing too special. here, some sparrign with Caius
Love that sfx 
I wish sparring was a proper thing in Morrowind
I suppose you can just piss off a summoned creature and spar that way, but that requires magic
I've never really liked training as a mechanic, in any TES game, really
It's a good gold sink but it just feels kind of...phony
Will require quite a bit of edge case handling, but I tihnk it can be done
Would it be possible to have a slider to decrease or increase the size/magnitude of the sparks when parrying in the mod settings? I know it’s in line with how other effects look with vanilla Morrowind spells/effects, but I think I’d like to play around with it
this and nine sols I really gotta get my parry skills down
I think that Wolfweim made FG training mod.
I was wondering where it was 😅
Gone gone would be cool to have again or other immersion with training in guilds
Ehhh, probably? I haven't messed with that part of VFX attachment
Slider - also maybe, OpenMW doesn't have a native slider rendered. Iirc Ownlyme made one, but I'll need to ask to use it
Dammit, almost half a year
I don't see an option to scale the VFX size, it will need to be individual models for each size increment, and I can't really do that
Ah okay no biggie. I do like the effects but personally would prefer them to be a little less large but it’s very much a nonissue
Yeah, so it's a small bit of lua API weirdness, we can scale VFX we spawn somewhere in the world, but we can't get actor rig "bone" positions to spawn these sparks as those, and then we can't scale VFX that we spawn on actor model
@candid wren , but yes, depending on how dual wielding is done - if it's a "shield with a weapon model" - you'll parry with it, if it's Dual Wielding Weapon mod - likely it will parry with your right hand weapon
Do test and let me know. I don't see why it wouldn't. But I'm open to adding compatibility if there are issues
wdym?
Oh the mod that adds active shielding
Ah, you shouldn't need it with N'Garde running
Ok
Ah, I see I've missed your question about it yesterday.
Apologies
So N'Garde completely replaces what "Shields Up" does
Shields Up sounds like an obvious incompatibility
and does more for weapons
and imo - does it cleaner - cause the only thing Shields Up does is omegabuff your block skill while you're holding block
well, a couple more debuffs etc, but the principle of it
We also use the same shield Animation with Shield's Up creator permission
yeah, I never liked that kind of implementation. I understand why such methods were used, though. It was reasonable considering the goal and some players realllyyy wanted active blocking.
this mod should offer better blocking and parrying than stock Morrowind (which doesn't even have parrying) and Oblivion and Skyrim as well. Definitely offers a more fluid experience.
Oblivion was probably the worst, as usual
That's not particularly high bar 
Good. Then even if sth didn't work, you would still top stock TES experience 
But we stand on the shoulders on those that came before us. Shield's up was a definite inspiration, as were Oblivion ans Skyrim
it sometimes reminds me of KCD
although it's more tricky there
because you have to match the attack direction
Yeah, definitely and inspiration as well
this kind of combat doesn't fit Morrowind that well, though
I mean, so much dependent on player's dexterity
Yeah, I was considering directional parry
but
no
a) too many new animations
b) It would mean reimplementing Mount&Blade combat in MW
it will already be challenging enough for a typical player
And while I'm very fond of M&B combat - I don't think it fits
eh, probably
Anyway:
** 0.8.1 **
- a list of exceptions for CanUseWeapons creatures that have non-standard rigs and are incompatible with N'Garde animations and handling
- softer measure detection - should be no more wiggle at the edges of each zone. Let me know how it feels
- restored cleanup timer for scritp detach on fencer actors
- slider setting renderer from Ownlyme, using it for parry SFX volume setting.
- swim knockout animations not affected by stunlock prevention
wrong fucking file
"softer measure detection" -
what do you mean?
Fencing Measure
Distance between two fencers where they can reach each outher
In Measure - within that distance
Out of measure - further away
ah, so it's that keeping distance thing we've been talking about for so long?
In this specific case - it doesn't just switch logic as soon as it passes a unit threshold - there's a grace distance before next behaviour applies
yah
Should fix that wiggle-jiggle thing
Perfect
and should prevent them from just stopping
Also - asked Ownlyme for the slider, wanted to see if I can scale VFX too, not just SFX, but no dice
I’ll definitely start a new pl with this instead of shields up
Both should be safe to add and remove mid playthrough
is Shields Up lua-based?
probably changes GMST as well
those are usually safe to change mid-game
Does, but not much
It just increases max block chance by like 10 or 20 percent
And the rest is lua
- keeping distance feature works better. Actors tend to be a little bit more aggressive and behave less stupidly if the player is using a spear. One thing I'm wondering about is whether you turn off your movement tweaks if the actor is fleeing. Fleeing behavior can be kind of janky in Morrowind, but it's probably best not to mess with it here.
- I did some tests against skeleton archers. It feels mostly Vanilla-like. Some sidestepping could help them if they are backed against a wall or if there is water behind them. It's a similar thing as with other actors who want to keep distance, though, so not specifically related to archers.
- messages show info about reflecting fatigue damage to the attacker when blocking arrows with a shield. Is it really applied? It definitely shouldn't. In such case the message is fake, though, which is minor but just sth I noticed.
- as mentioned before, balance-wise I think that it would fit the mod the best if parry chance was partially affected by AGI and LCK. Most actors in-game have the same LCK (40) so there wouldn't be much variety here, but it would still affect those who have different LCK and there are cases like that both in Vanilla and in modded content. AGI is much more variable. For general enemy parry chance scaling, I think that you could tone it down a little for enemies with lower skill. I haven't looked at the formula you use for that yet, though. Basing it all on skill, AGI and LCK + Fatigue should provide some variety. As a bonus, the actors will be effected by HBFS, just as they are with Vanilla Block 😉
- in the settings, I still see skill thresholds for perfect parries at 40. I'm unsure what exact impact they have and whether it applies to enemies as well, but I still think that using such a low number is a little strange since it's basically sth any character with a major weapon skill will have at lvl 1-2. I know that in the end, it's raw numbers that matter, but conceptually, 50 seems more appropriate.
using my cave test save, I managed to fuck up SE stats again
this time I came prepared
here is the debug log with Ngarde and SE logs enabled
it's relatively short
@jagged hamlet take a look when you wake up. Seems important. I think it may be related to the way SE reacts with Ngarde handlers, but I'm no expert here.
Also should I also uninstall these too - https://www.nexusmods.com/morrowind/mods/52180#
(Combine with Weighty Charged Attacks!) Turn your charged attacks into parries! You'll be slowed while you're charging them up depending on weapon weight and your strength, but you'll get a different
I think I have Weighty Charged Attacks on. Not sth N'Garde affects, I think, since it's related to attacks only and you can't parry while you are charging your attack.
I've no idea how "charge attack parry" works
but from the name - may be uninstall it, yeah
- I'm not touching fleeing behaviour - Really the only tweaks currently are "back off if too close", "walk, not run, if close but not too close"
- I'm looking into that, realistically probably the best call is to leave archers alone for that and let vanilla/mercy handle them
- No fatigue is reflected when an attack is ranged. It's just that it is a bit tricky to stuff everything into one message and lua doesn't really support inline conditional statements.
- Still in notes - I'm not sure I like it, we have fatigue based chance. I'll add it and see how it feels
- Perfect parry threshold in settings was never touched, I've only touched the skill ratio that affects the window length, it was 40% of the skill, now 35%. The threshold is separate.
There shouldn't be any reason to because Solthas' mod doesnt apply the same way
Also for #5 I can't change your value in settings, I can only change the default
[00:41:14.055 I] L@0x1[scripts/skill-evolution/player.lua]: DEBUG: Scale handler: Skill "block", scale 0 -> 0.00000, gain 0.000 / 0.000 -> nan
fuck, may be me fucking up?
let me see
Hmmm.. Not seeign anything obvious, may need mym to weigh in
Loaded in with this and nothing came up immediately need to get in a proper fight, had to quick save/and load right after removing shields up tho might just be openmw
Yeaaa it’s there
It’s probably steam input not reading the change or something
I’m not by my laptop to see
hm, not sure about that one. But if you can't figure it out - please send me the logs
Oh no the input works
Steam input is that thingy to play games that not really support controller with a controller, right?
I was saying it didn’t at first but a quick load fixed it
Yea it’s a god send
Ah, sorry, I misunderstood
Make of my games are retro or old windows ports of old games and it’s super easy to config
There isn’t a sky on openmw I can’t set
Nice, well, I haven't tested extensively with the controller, but should work, I think
PS5 controller with the extra touch pad up top can read as regular key presses and all
Imma assume all enemies that usual carry weapons will parry?
Yea. Mostly. There are some exceptions like rieklings and goblins. But all npcs will and dremoras, etc will too
Skellies will too 
I reset mod settings every update to check defaults
Fair, but you're probably the only person who does :D
Hmmm. I kind of like the results this produces
not in game yet, just poking at it in a spreadsheet
Note that I used it as inspiration since it's Vanilla. Not saying it has to be 1:1. Vanilla also has caps but you know that since you set both to 0 😁
yup
I would probably want to replace block with mainSkill in this one
It's more likely to be higher, for chosen weapon. And I want the block/parry chance to skew high anyway
there some
NPCs in game that have crap skill for their main weapon, but - I'll accept that
What's different about this one compared to the previous approach also - is that on high skill enemies are much more likely to try and parry while low on fatigue. Maybe need to move out fatigue factor outside
It’s very fun for lack of better words honestly, I feel myself actively having to thing about my surroundings, where enemies are and positioning rolling, parrying, blocking and parrying feels so smooth honestly
Sounds like a good idea. Making enemies less likely to parry on low Fatigue is as much to their benefit as the player. It just makes sense as getting KO makes the fight easier and it rarely happens in Vanilla unless you use HTH and/or magic.
Been keeping an eye on this for a while, it looks very exciting! will probably try this out on my next install.
I'm curious : is there a reason NOT to make AGI and LCK influence parry chance, in addition to fatigue? (aside from being more work ig)
(skill+(agility/5)+(luck/10))x(0,1+1,25xfatigue%)
I think this is peak for enemy parry chance 
high variety for enemies, high values on 100% Fatigue all across the board, high Fatigue impact (which is good for making things dynamic)
max cap can be used as well, but you use cooldowns, anyway. Maybe just 99%.
Seems like N'Garde is providing a scale 0 sometimes, which breaks SE's stats
@rustic latch
I should add a failsafe for it, like stopping the handler chain when scale is 0
I pushed a fix, but you may need to use the broken skills to fix it
Nexus?
I don't think it fixes UI display retroactively. Skills will increase and feats will be recognized, but "nan" BS is kept.
Hmmm. I've added a limiter to not send negative scale before, didn't think 0 may break it too. I'll add that as well
It's not that much work. And to an extent this is already handled by reaction time and parry cool down on low level / skill enemies.
But having formulas resemble vanilla a bit more and integrate more stats is not a bad thing. This will also offer a better chance curve imo.
it's so beautiful having the feats be recognized in a coherent manner 
the only thing left there is changing the Vanilla skill description so it doesn't lie to the player with N'Garde installed
I find it also cool to observe how getting tired gradually makes blocks weaker
And yah. Added it last night. just in version published - it never occurred to me that 0 would be a prolem too, not just negative numbers
OpenMW applies the scale you provide on the skill gain before calling the handlers, and as I need to know the original skill gain, I do gain/scale
Makes sense then
So on my end - value was only ever 0 if the parry was bad enough as to not deflect any damage - either very low skill or fatigue, and was done very late after perfect parry window expired
Damn. Then I'll have to do another update that fixes existing saves
I've tweaked that slightly, and added a minimum of 0.01 to scale, although it always should be bigger than that
We're slightly in luck cause I'm still not published, so fewer broken saves cause of me :D
I'm glad it came up now
otherwise people would soon blame somebody for "breaking their game" 
oh yeah
moving to perfect parry window calcs now... I will convert the formula to excel straight from the code from 0.8.1b
this should make sure that I will be using the current numbers
mostly interested in skill threshold
and how it interacts with the rest
I think I like it. And with high skill level enemies we are less likely to run into fatigue issues in the first place, so they'll parry even more reliably than this suggests
additional benefit is that all sort of magic effects, item buffs and debuffs as well HBFS modifiers will apply
Oh yeah
and for the rest of the formulas - the whole reason I am doingthat "diminishing returns" thing and adding stats and skills into the mix is to make sure values over 100 from fortify effects or SE are valuable
yeah, understandable
Now, I need to sit down and mess with obstacle detection. Enemies now can tell if they "can move" left right or back and will try and sidestep into a free direction
But it's a bit aggressive at the moment
cooldowns, delay...
random chance
and if all 3 fail - move to the nearest pathgrid node
something like that
but actually, let me post version without that, but one that doesn't send 0 scale to SE
- WillParry formula update. Takes main skill, agility and luck into account. (skill+(agility/5)+(luck/10))x(0,1+1,25xfatigue%)
- Potential fix for SE weirdness - making sure we never pass scale that is zero ( Confirmed this is the fix by Mym )
- Better debug message builder
Now. The problem here - I don't think there's a way to edit description in lua, and if I can't do it in lua - I'll either need to ship two ESP/omwaddon files (SE and no SE) or drop the idea :/
and yeah, it's actually the simplest to make an optional ncd skill description patch
base for Vanilla
optional for NCG
I even wrote suggestons for both 😄
none of the mods which change skill descriptions will be compatible
So you did:
fortunately, it's sth that almost no mod touches
most modders don't give a shit even when they change the mechanics
Ye, but - it's a very nice touch
especially if someone uses it in a bigmodlist
definitely
if N'Garde makes it to some of the MOMW modlists in the future, ngd description fix can be installed by automatic installer
but for now, it can just be an optional file
even if somebody doesn't install it, it's not actually a big deal
but it's a nice touch, as you said
What do you think - two files and you enable either or, each with corresponding description and block GMST changes. Or one file with block GMST and vanilla desription and another with only NCG skill description
so you enable both in the second case
does it make sense for N'Garde to be used without GMST changes?
No
so it should be core
But I can make second file depend on the first file
what I would do is to add ncgdescriptionpatch which only changes that 1 skill description
literally
you load it after the main file
and it will replace the Vanilla version
Again better formatted:
- Two files - used either or:
- GMST edit and vanilla description
- GMST edit and NCG description
- Two files - used either together or just #1
- GMST edit and vanilla description
- Only NCG description
so 2, got it
yeah
most intuitive. You only enable if you have ncg. Otherwise, you ignore it.
Thoughts on messing with weapon skill descriptions?
Fair
Long Blade skill lets one use broadswords, sabers, longswords, claymores, katanas, and dai-katanas effectively.
Develops your strength and agility a good amount each, and your speed a bit.
yeah
yep
Fuck, taking a screenshot of this tooltip in the launcher is tricky
oh man, the formula for the parry window is quite complex because of this skill curve stuff 
I have the mastery multiplier ready, perfectparrythreshold, base, max, fatigue % and such. However, you also use main and secondary skill curve and while it looks easy at a glance - you just add them and divide by 100 - the way you calculate them is not exactly clear to me.
local secondarySkillCurve = self:getStatCurve(secondarySkill, SettingsConstants.perfectParrySecondarySkillRatio,
skillCurveStep)```
Maybe let's use some real examples here. Can you give me the values (results) for 45 main/secondary and 50?
function ParryController.getStatCurve(self, statValue, factor, skillCurveStep)
local skillCurveLength = floor(statValue / skillCurveStep)
local skillModulo = statValue % skillCurveStep
local curve = {}
local multiplier = factor
table.insert(curve, min(statValue, skillCurveStep) * multiplier)
for i = 1, skillCurveLength - 1 do
multiplier = factor / (1 * (SettingsConstants.baseSkillCurveDivisor * i))
table.insert(curve, skillCurveStep * multiplier)
--logging:debug("multiplier:" .. multiplier)
end
if skillModulo < statValue then
table.insert(curve, skillModulo * (multiplier / SettingsConstants.baseSkillCurveDivisor))
end
-- for _, v in ipairs(curve) do
-- logging:debug("curveValue:"..v)
-- end
return Helpers.sum(curve)
end
So here. And let me try and explain step by step.
- take the current skill value and skill curve step. -> determin curve length by dividng skill value by step and taking the integer part of that. Step for perfect parry window is 45
- first curve value is "minimum of skill curve step and skill value" multiplied by factor (0.35 for perfect parry window main skill)
- Having gotten that - we iterate skillCurveLength times.
- on each iteartion multiplier is divided by "skillCurveDivisor" * iteration step number. divisor is 1.05. So here 0.35 / 1.05 on first step, 0.35 / 2.10 on second step etc.
- Add the remaining skill points that were not enough to fill the entire step
- Take a sum of these values
For perfect parry window main skill
if the value of skill is 45 - we have just one curve step, so result will be 45*0.35 = 15.75
if it's 50 - we have 15.75 from first step, and then we the remaining 5 becomes 4.761904762 * 0.35 = 1.666666667 for a total of 17.416666667
If it is let's say 95 skill then we have 3 steps
(45 * 0.35) + ((45* 0.35)/1.05) + ((5 * 0.35)/(1.05*2))
I mean, once I wrote it down - it's not as bad, but yeeeah
pretty sure it's possible to achieve sth similar with a simpler formula, but I don't want to mess with it. I just want to check the values and see whether anything can be improved balance-wise
so thx for the example
Yeah, fairly certain one can do it with a simpler formula. I think I was dead set on making values over 100 mean something which led me to this
mainskill is weapon, secondary is block?
or block/block
or HTH/HTH
?
because 2 are always used
great
I think I have it
I think the results I have here are correct for the formula
Seems about right
oh, and effective fatigue multiplier can't go below 0.15 as with other formulas
Absolute fire. Nav Ray is exactly what I needed
- I agree with parry window threshold being 40. Once I converted the formula, I finally understood what it meant and it works ok gameplay-wise, I think, since it prevents parry window from being too generous for starting characters and minor skils, but skill lvl 50 is actually the real "base" value here which seems right.
- I think it's prudent to cap max Fatigue Percent at 125%. You can get it above 100% by using Fortify Fatigue effect (it only affects current Fatigue, not maximum Fatigue) and it may get you into max parry window too easy if it's left unchecked, considering how impactful Fatigue % is in the formula. Most of the time it won't matter at all since Fortify Fatigue isn't used all that often, but it's a good anti-cheese and balance measure. Leave the room for the effect to be useful without making it too strong.
- IMO it's a bit too easy to reach max parry window since you get the max at 75 Block. Since character development is at RPG's core, I propose a slight tweak to constant mods you use (0.35->0,33, 0.13->0.1) in order to push the ceiling a bit higher. Most of the time, the differences should be slight, but I think that they should work well for gameplay. Here is the simulation for 100% Fatigue:
Completely forgot about fortify fatigue - yeah it'll be over 1. I'll add a cap.
Hmmm, so going form 0.4->0.35 and 0.15->0.13 wasn't enough. Fair - let's do that, I was looking to tune them a bit further down anyway
it gets easier to tune the numbers once real examples are used
oh, definitely
What I was doing half the time is spawn an enemy, toggle ai, enable logs and mess with thier skill levels
This is much appreciated stuff you're doing
1.25 you think? hmmmm
1.2
so 1.2-1.25 seems fine for cap
there should be some room for the effect to be useful
Agreed
note that once it expires, you get a debuff
because your current fatigue gets lowered
it can fuck you up sometimes
Dammit, the way I've implemented the variation for fatigue effects makes this tricky
so it's ok
I'm looking at the first one, and not sure how to add the 1.2 cap there without it being stupid
