#N'Garde. Vanilla-Friendly Parry and Active Block.

1 messages · Page 5 of 1

inner hare
#

yeah

rustic latch
#

like yagrwut

#

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

maiden tangle
#

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.

candid wren
#

I LOVE U

strong lynx
#

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

rustic latch
#

there's a disarm mod

#

Works with this according to Dubious

strong lynx
#

Oh it does include pickup logic, thats cool, can probably interop with it to only disarm on blocking

rustic latch
#

Eh

strong lynx
#

And again probably should be a perk haha

inner hare
#

Feature creep 36vehks

rustic latch
#

#1482416741077356692 message

waxen cliffBOT
#

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

rustic latch
#

^

#

behold

strong lynx
# rustic latch Eh

Yea i know i know, you react like that to all my ideas or offers but its ok, no hard feelings

rustic latch
#

But that's out of scope for sure

inner hare
#

Foxunder has wild mods btw

#

Worth a look

#

Check his nexus page

strong lynx
#

Yea i saw it

inner hare
#

Man is pumping out bangers

strong lynx
#

Yea a lot of it sounds quite fun

inner hare
#

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 😅

rustic latch
#

Disarming on blocking makes no sense to me, On feint however

strong lynx
#

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

rustic latch
#

fair

inner hare
#

Perk sounds good but actors would need that as well

strong lynx
#

Like the axe swing was so powerful that puny sword with whick you tried to block is now flying through the air

strong lynx
rustic latch
#

except it works not only on parry

strong lynx
#

And just randomly giving actors that satisfy skill requirements this perk

candid wren
#

The chance to disarm is so low it’s a genuine surprise when it happens

rustic latch
inner hare
strong lynx
rustic latch
#

keeps it fresh

candid wren
#

Hell yea

#

It’s super fun

#

Npcs disarm too it calculates weapon stats and strength I believe

#

Weapons weight

inner hare
candid wren
#

When it happens to me the rush to pick up my weapon is real

inner hare
#

Because they can snatch it 36vehks

candid wren
#

Yessss

strong lynx
rustic latch
#

Hmmmm. No interface or anything in Disarm 'em all

candid wren
#

other than settings no

rustic latch
#

btw. While I have all of ya'll round. Does anyone play with Path of The Incarnate?

inner hare
rustic latch
candid wren
#

No

rustic latch
#

Something in there breaks N'Garde, but only for player

#

One report so far, but it's afucking 800+ modlist

inner hare
#

I saw the modlist, but no.

rustic latch
#

onHitHandler is never reached

inner hare
rustic latch
#

so angyfargoth 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

tough juniper
#

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

eager crane
maiden tangle
tough juniper
rustic latch
#

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

inner hare
rustic latch
#

and N'Garde works for you

tough juniper
#

incoming 🫡

#

definitely havn't had as much time to playtest recently but yeah i didnt notice any issues

rustic latch
#

And boom, reporter's config down to ~300 lines from several thousand, just those that are missing in Dubious'

tough juniper
#

nice

inner hare
#

Watch it being some random mesh replacer or sth. Totally unrelated and no gameplay impact todd

#

That would be hilarious

rustic latch
tough juniper
#

for real, it'll be a beaded curtain from a 2022 quest mod

rustic latch
#

...

strong lynx
#

Hmm, maybe some mod earlier in liad order interrupts on hit chain, if thats even possible?

rustic latch
#

I mean the conflict itself is hilarious. The NPCs can block

#

the player can't

strong lynx
#

Fun

rustic latch
#

but they are using MO2 and they have moved N'Garde to the top

#

no effect

candid wren
#

Is shields up or another shield mods

rustic latch
#

but Iv'e no idea if MO2 manages it properly

rustic latch
#

is it in there I wonder

#

nope

#

but good shout

candid wren
#

If that’s the case it’s probably a mod that probably has scripts that overwrite

#

Could be wrong but MO2 overwrites are laborious

rustic latch
#

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

strong lynx
#

Are you adding handlers on script load for player or are you waiting for some kind of event?

rustic latch
#

that's waht the docs say at least

rustic latch
#

actually no, specifically onInit and onLoad engine handlers

#

oh

strong lynx
#

In actual onLoad or just in script body?

#

Yup

rustic latch
#

but that means mine are registered first cause I'm last

#

so resolved last

strong lynx
#

Probably other mods do it in script body

rustic latch
#

huh?

strong lynx
#

Huh

#

Oh, hmm

rustic latch
#

, the handlers will be called in reverse order (opposite to engine handlers).

strong lynx
#

Yea

#

Confusing

rustic latch
#

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 36vehks

strong lynx
#

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

rustic latch
#

that's fuckign evil

#

returning false in a modded handler is evil enough

strong lynx
#

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

rustic latch
#

well, I haven't got those mods :D

rustic latch
#

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

inner hare
#

What... what are you doing? ur

rustic latch
#

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
inner hare
#

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.

rustic latch
rustic latch
#

On perfect parry only base damage is applied. On weak parry it's base + remaining health damage

inner hare
#

ok, makes sense conceptually

rustic latch
#

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

inner hare
#

I'm talking about weapons. Shield get damaged the way I would expect.

rustic latch
#

yah, but same formula

inner hare
#

no block, no damage

rustic latch
#

"redistribute shield hits" iirc

inner hare
#

this is unrelated

#

it's about hits on equipment slots

#

the game makes a roll

rustic latch
#

ah, I misunderstood then

inner hare
#

shield slot is treated as an equipment slot

rustic latch
#

yeah, makes sense

inner hare
#

I will test that durability

#

will keep blocking with dai-katana

#

to see whether it's only 3

#

or more

#

no perfect parries

rustic latch
#

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

inner hare
#

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

rustic latch
#

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

inner hare
#

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 😏

rustic latch
#

Huh

inner hare
rustic latch
#

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?

rustic latch
#

Hmmm

inner hare
#

I may redownload just to be sure

rustic latch
#

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

inner hare
#

Ok. Going for those HTH stuff now + durability tests.

rustic latch
#

enemy h2h attack

inner hare
# rustic latch 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

rustic latch
#

Hmm. I see a couple places I've missed debug messages/logs in

#

going to fix that too

rustic latch
inner hare
rustic latch
#

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

inner hare
#

I still get metal sound when blocking with HTH after unequipping gauntlets. It's the same sound.

rustic latch
#

it does include that ringing sound

#

but also

#

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

inner hare
#

I'm talking about standard block

#

It sounds bad

rustic latch
inner hare
#

No metal and I hear clink

rustic latch
#

or base game armor sound like with a shield?

inner hare
#

Yeah, it sounds like shield hit

#

Bare hands

rustic latch
#

hmmm

inner hare
#

35 HTH

#

No armor

rustic latch
#

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

inner hare
#

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).

rustic latch
#

I've considered that, or h2h + unarmored

inner hare
#

Unarmored is conditional

rustic latch
#

but I'm generally using "block" as a general purpose defence skill

inner hare
#

You can be armored

rustic latch
#

But maybe we include "defence" in the martial arts implied portion of h2h

#

and use h2h twice

#

yeah, I can agree with that

inner hare
#

Yeah, I think it's unique enough

rustic latch
#

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

inner hare
#

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.

rustic latch
#

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

inner hare
#

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 36vehks

inner hare
rustic latch
inner hare
#

Huh? I think I did it with bare hands.

rustic latch
#

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.

inner hare
#

IMO perfect parry is always legit

#

It's great timing

rustic latch
#

Yah, But I'm wondering if timing may be too generous

inner hare
#

Yes

#

Good point

rustic latch
#

and if that timing calculation should include weapon effectiveness

#

one or the other or both

inner hare
#

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?

rustic latch
#

Naaah, it's more complicated than that

rustic latch
#

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

inner hare
#

Amyway, perfect parries are legit in all cases, I think. Standard ones feel too good with HTH.

rustic latch
#

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

rustic latch
rustic latch
inner hare
#

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.
inner hare
rustic latch
#

Yah, I will post in a little bit

inner hare
#

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.

rustic latch
#

Yeah. I also probably need to lower the combat distance for h2h

#

they seem to dance just out of their own range

inner hare
#

I see durability damage. Seems to be working ok. Switching to new version.

inner hare
#
  • 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 36vehks

rustic latch
#

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?

inner hare
#

Ok

#

debug and logs on

#

no damage, no messages

rustic latch
#

yeah, checking

inner hare
rustic latch
#

yeah, good call

inner hare
#

and before HP and FP. Shouldn't be likethat

#

🙂

rustic latch
#

And both would only show up if both were present

inner hare
#

makes sense

rustic latch
#

Ah, dammit. Found it

inner hare
#

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

rustic latch
#

one of "its" at least

inner hare
#

typo...?

rustic latch
#

but in one place where it should multiplied - it was still referring to negatedDamage instead of negatedDamage.health

#

can't multiply a table

inner hare
#

he could do it

rustic latch
#

just glad it's not js or ruby todd , there it would've silently multipled the array

#

and got a string out of the other side

inner hare
rustic latch
#

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

inner hare
#

I once boosted enemy STR to 500 for testing

#

but he one-shoted me

rustic latch
#

that's 1000 h2h and 1000 str

#

had to set my hp and fatigue to 10k to survive

inner hare
#

nice to see caps working

rustic latch
#

I'm also dividing damage negated by 400

#

before adding it to the scale

inner hare
#

must be scary to fight Super Saiyan guards doitswit

rustic latch
#

lad is resting now. reflected fatigue damage got him down

inner hare
#

lmao

rustic latch
#

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

inner hare
#

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.

rustic latch
#

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

inner hare
#

that was me

rustic latch
#

ah

inner hare
rustic latch
#

right

inner hare
#

it's ok now

#

just thinking out loud

rustic latch
#

No, I mean. Let me make distance keeping a setting

#

And we can test side by side

inner hare
#

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

rustic latch
#

Well, maybe. Still I definitely like combat distance more with it enabled than otherwise

inner hare
#

oh yeah

#

it looks more natural

#

and fluid

#

although in the testing showcase, the old one, you weren't using Mercy

rustic latch
#

maybe just add a buffer distance somehow, so that it's not one unit that makes the different

inner hare
#

with Mercy, NPC behaviour is more varied

rustic latch
inner hare
#

sometimes they power walk, sometimes they run at you, sometimes they spam attacks

#

things like that

rustic latch
#

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

inner hare
#

they use Mercy behaviour if it's activated

#

but no matter. Not anything pressing.

rustic latch
#

Yeah. I'll think about it, am messing with obstacle detection anyway

#

^ Fixed the bugs found so far

rustic latch
# rustic latch

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

inner hare
#

100% is ok as well

rustic latch
#

fair

inner hare
#

where are my options?

#

did you change sth?

#

there?

rustic latch
inner hare
#

reloadlua, same thing

rustic latch
#

There you go

#

fatfingered somethign in the settings file

inner hare
#

Yeah. Settings working now. Weapon parries work as expected. Messages appear semi-reliably.

#

SE feats display is much better.

rustic latch
#

Semi reliably?

inner hare
rustic latch
#

Oh. I know. You have all-attacks-hit off, right?

inner hare
#

when I get no dmg

#

yes

#

do I look like someone who would play on easy mode? doitswit

rustic latch
#

Right, so currently you can parry missed attacks. It's really only there to allow you to stagger them with a perfect parry

inner hare
#

ah

#

ok

rustic latch
#

and for better feedback, holding parry and hearing "whoosh" and nothing else was weird

inner hare
#

maybe it should be a message

rustic latch
#

yeah

inner hare
#

for debug consistency

#

not sure whether it's related to this damage negated: ,

rustic latch
#

it is

inner hare
#

ah

rustic latch
#

same would happen with tgm

inner hare
#

that explains things

rustic latch
#

cause there was no damage of any kind

inner hare
#

well, definitely have to do sth with that ","

#

maybe 0

#

whatever

rustic latch
#

the comma is just what Mym adds

inner hare
#

just so it doesn't look like a bug

rustic latch
#

I pass an empty string in in that case

inner hare
#

so just 0

#

hm

#

or "miss"

#

I dunno

rustic latch
#

Yeah

#

miss may be better

inner hare
#

ok

#

dude, this explains so much

rustic latch
#

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:

inner hare
#

is HTH defence factor supposed to be the same regardless of HTH skill?

rustic latch
#

no

#

no special handling there

inner hare
#

then sth is not right

#

wait a sec

rustic latch
#

are you way below iron plam threshold and tryingto block weapons?

#

15 h2h,
no gauntlets:

#

those were both misses, but still

inner hare
rustic latch
#

HANDTOHAND effectiveness:0
Are you sure gauntlets are on?

inner hare
#

ok, they were

#

they got demolished

#

during testing

#

condition loss

#

but

rustic latch
#

let me check the full log

inner hare
#

I tweaked HTH

#

several times

#

including to 100

rustic latch
#

hmmm

#

HANDTOHAND effectiveness:0.5375

#

(with one adamantium bracer)

#

let me stare at it for a minute

inner hare
#

just punched the skeleton again. No gauntlets. HTH 100. Defence factor 15%, same as before.

rustic latch
#

punched or got punched?

#

seems to work on my end

#

definitely needs a staring session

inner hare
#

I get punched with guard on

#

HTH 100

#

definitely should make a difference

rustic latch
#

yah

#

hang on

inner hare
#

HTH 100

#

I noticed the jittering you mentioned before for keeping distance. Maybe slight delay/cooldown or tolerance isn't a bad idea.

tough juniper
#

Damn auto emote keeps 🔥ing off to when I'm trying to read..

rustic latch
# inner hare

That was a non-h2h attack you were defending against, right?

inner hare
#

Yes

rustic latch
#

ok

inner hare
rustic latch
#
  • properly taking threshold for iron palm ( level when h2h without gauntlets becomes effective against weapons)
  • fixed some display weirdness for parrying missed attacks
inner hare
#

Lmao at it being RC5 36vehks

rustic latch
#

I have two options

#

roll with it

inner hare
#

I wonder how many versions there were

rustic latch
#

or go back to 0.8 something

inner hare
#

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 angyfargoth. Mandalorian is good as well (this is the way).

rustic latch
#

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

inner hare
#

Soon you will be adding HTH special moves 36vehks

inner hare
#

Roundhouse kicks

#

BTW imagine getting punched with Wraithguard

rustic latch
#

That's on Iron Fist to handle tbh

inner hare
#

Yeah

inner hare
#

well, progress is good. HTH works both with gauntlets and without them. Perfect parries work as expected. Messages are consistent. Clean SE feats display.

rustic latch
#

I'm bracing for a "but"

inner hare
#

there is one tiny little problem I encountered once with the latest update

#

only once

#

but

rustic latch
#

do tell

inner hare
#

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

rustic latch
#

lmao

inner hare
#

I think I will enable SE logs as well just to see if sth broke

#

I've never seen anything like this 😄

inner hare
rustic latch
#

could it somehow passed in a negative scale?

#

dammit and I don't log that

inner hare
#

I was blocking with HTH

#

couldn't replicate during the next session

#

it's only this save

rustic latch
#

a normal block?

inner hare
#

both, probably

rustic latch
#

and is the save fucked now?

inner hare
#

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.

rustic latch
#

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

inner hare
#

hmm

rustic latch
#

100 not actual value

#

but you get the idea

#

shouldn't be a point where condition is not met

inner hare
#

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.

#

I also wonder why one of my gauntlets got to 0 condition but wasn't unequipped

#

I thought that broken items are unequipped automatically

rustic latch
#

Otherwise it's way too easy to stunlock an opponent with quick attacks

inner hare
#

ok

rustic latch
#

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

inner hare
#

yeah, makes sense

rustic latch
#

Actually, should add swim knockout and swimknockdown too

inner hare
#

damn, when I switch to HTH lvl 100 for testing, this is how it feels:

rustic latch
#

yup

inner hare
#

might play a HTH monk next time

rustic latch
#

Spellsword allows enchanting fists, IronFists takes gauntlets into account for damage, and there's block/parry here

#

should be fire

tough juniper
inner hare
#

damn, when everything works, those feats are beautiful

rustic latch
#

Nice

inner hare
#

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

rustic latch
#

🔥

inner hare
#

⚔️

#

weapon, shield, hth, all nice

inner hare
#

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.

rustic latch
#

only their own

#

At least I'm not doing anything with opponent weapon reach

inner hare
#

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

rustic latch
#

That may be Mercy's doing

#

cause I definitely don't move them in that case

rustic latch
#

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

inner hare
#

as suggested before, maybe only for those who have weapons with long reach?

#

and you can make it a toggle

#

call it EXPERIMENTAL

rustic latch
#

:P

#

Only long reach may make sense

inner hare
#

yeah because it's less of an issue

#

it makes sense for them to keep you at bay

#

and be cautious

rustic latch
#

base game - longer reach weapons are staves, 2h axes, 2h blunt and spears iiirc

inner hare
#

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.

rustic latch
#

oh, motherfucker, rieklings are bad

#

I may need to blacklist them

#

they are weapon users but rig doesn't match up at all

inner hare
#

ah

rustic latch
#

so the little mofo just jitters in place, and doesn't actually ever parry

#

or do anything useful

inner hare
#

I think that they may be only case like that

#

in Vanilla, at least

rustic latch
#

They have special animations too

#

knockdown when hit

inner hare
#

actually... are hill giants from Tamriel Data considered weapon users? Because you don't want them to be considered as such, lol

rustic latch
#

Let me spawn one

inner hare
#

there are 2 types

#

one creature and one NPC

#

let's just say that his hits shouldn't be parriable and he shouldn't parry as well, lmao

rustic latch
#

Nah, we good

inner hare
#

those are some mofos btw

rustic latch
#

as they should be

inner hare
#

yeah

inner hare
#

right... so it's only theoretical for now

rustic latch
#

the race yeah

amber slate
#

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.

rustic latch
rustic latch
#

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

inner hare
#

well, there are new mechanics, new animations, skill scaling and new AI

rustic latch
#

yup

inner hare
#

maybe check the fucking gobbos for animations as well

rustic latch
#

yah

#

Well, goblins is better, I think... They don't seem to try to parry, though I'm not sure why

inner hare
#

BTW folks, if you are struggling, here is a short guide on how to deal with enemies when using N'Garde:

  1. First order of business is preparation. Check your equipment. Be mindful of condition.
  2. Make sure to spot the enemy first. Check what they are wielding.
  3. Check whether there is more than one enemy nearby. Try to avoid groups if possible.
  4. Once you are sure that the encounter is manageable, make sure you have potions under hotkey.
  5. All done? Good.
  6. Now shoot the pathetic n'wah in the back with an arrow as a sneak attack, loot their worthless corpse and move on.
rustic latch
#

LMAO

#

realism (not quite intentionally) achieved

#

just shoot the mofo

eager crane
#

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

rustic latch
#

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

young aspen
#

I don't remember how it works in the base game - can one parry or block missiles?

rustic latch
#

no

#

not in the base game

inner hare
rustic latch
#

How's enemy archer behaviour for ya'll on current version?

jagged hamlet
inner hare
#

A shitton

#

Because it was just in Seyda Neen

rustic latch
#

Mea culpa

inner hare
#

But only this one broke

#

Wtf "nan" even is? It's a crusader, not a babysitter.

rustic latch
#

not-a-number

#

meaning something that was being interprted as number, is actually not, so NaN

inner hare
#

not-an-n'wah

jagged hamlet
#

Once you beat these feats you're good

inner hare
#

In fact, it's not

#

Things broke because of new feats

rustic latch
#

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

inner hare
rustic latch
#

fck daedra are scary now btw

#

had to enable tgm as I got to testign them

#

on a lvl 20 char

inner hare
#

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.

rustic latch
jagged hamlet
inner hare
#

I don't have other logs than the ones posted

rustic latch
#

oh ffs. Why would TR devs mark dwemer centurions as "can use weapons"

#

that's for those that can equip weapons

#

ah, nvm

inner hare
#

Yeah

rustic latch
#

dammit and I was hoping I'd not need to remove weapon wielding dreugh

#

but nope, those too

#

shame

inner hare
# jagged hamlet Then I'd need Lua errors from the logs, if it even happens again

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.

#

this is all I have

rustic latch
#

Why on earth would Tamriel Data need 19 different types of goblin 36vehks

inner hare
#

Different models?

#

For various regions?

rustic latch
#

sort of

#

but all of them are there twice

#

once for Cyr and once for Mw

#

Anyway, blocklist done

inner hare
#

Have you fought Almalexia? 36vehks

rustic latch
#

56 records for base game and major data mods

#

not too bad

#

oh, actually

#

the fucking alma

#

can't spawn her in

#

she disappears

inner hare
#

Then teleport to Mournhold Temple

#

And startcombat there

rustic latch
#

brb gonna kill gaenor real quick

inner hare
#

"Quick"

#

5 hours later...

rustic latch
#

I haven't been to mournhold on this save yet

robust sundial
#

If anyone is bored can someone post a video of how hand to hand looks with n’garde? Specifically both enemies being unarmored

rustic latch
#

Welp, that's 58 exceptions

#

Almalexia also

rustic latch
tough juniper
#

Love that sfx datchim

amber slate
#

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

rustic latch
#

Will require quite a bit of edge case handling, but I tihnk it can be done

robust sundial
#

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

young aspen
#

this and nine sols I really gotta get my parry skills down

inner hare
candid wren
#

Down for fixes

tough juniper
#

I was wondering where it was 😅

candid wren
#

Gone gone would be cool to have again or other immersion with training in guilds

rustic latch
#

Slider - also maybe, OpenMW doesn't have a native slider rendered. Iirc Ownlyme made one, but I'll need to ask to use it

rustic latch
rustic latch
rustic latch
robust sundial
#

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

rustic latch
#

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

rustic latch
#

@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

candid wren
#

Ok ok

#

Again no shields up

rustic latch
#

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

rustic latch
candid wren
#

Oh the mod that adds active shielding

rustic latch
#

Ah, you shouldn't need it with N'Garde running

candid wren
#

Ok

rustic latch
#

Ah, I see I've missed your question about it yesterday.

#

Apologies

#

So N'Garde completely replaces what "Shields Up" does

inner hare
#

Shields Up sounds like an obvious incompatibility

rustic latch
#

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

inner hare
rustic latch
#

Completely reasonable yeah

#

but casues a bunch of issues with restore spells, e.g.

inner hare
#

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

rustic latch
#

That's not particularly high bar 36vehks

inner hare
#

Good. Then even if sth didn't work, you would still top stock TES experience todd

rustic latch
#

But we stand on the shoulders on those that came before us. Shield's up was a definite inspiration, as were Oblivion ans Skyrim

inner hare
#

it sometimes reminds me of KCD

#

although it's more tricky there

#

because you have to match the attack direction

rustic latch
#

Yeah, definitely and inspiration as well

inner hare
#

this kind of combat doesn't fit Morrowind that well, though

#

I mean, so much dependent on player's dexterity

rustic latch
#

Yeah, I was considering directional parry

#

but

#

no

#

a) too many new animations

#

b) It would mean reimplementing Mount&Blade combat in MW

inner hare
#

it will already be challenging enough for a typical player

rustic latch
#

And while I'm very fond of M&B combat - I don't think it fits

inner hare
#

it works there

#

doesn't need to be copied 1:1

rustic latch
#

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

inner hare
#

"softer measure detection" - yagrwut what do you mean?

rustic latch
#

Fencing Measure
Distance between two fencers where they can reach each outher

In Measure - within that distance

Out of measure - further away

inner hare
#

ah, so it's that keeping distance thing we've been talking about for so long?

rustic latch
#

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

rustic latch
#

Should fix that wiggle-jiggle thing

inner hare
#

Perfect

rustic latch
#

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

candid wren
#

I’ll definitely start a new pl with this instead of shields up

rustic latch
#

Both should be safe to add and remove mid playthrough

inner hare
#

is Shields Up lua-based?

#

probably changes GMST as well

#

those are usually safe to change mid-game

rustic latch
#

Does, but not much

#

It just increases max block chance by like 10 or 20 percent

#

And the rest is lua

inner hare
# rustic latch Anyway: ** 0.8.1 ** - a list of exceptions for CanUseWeapons creatures that ha...
  • 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.

candid wren
#
Nexus Mods :: Morrowind

(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

Nexus Mods :: Morrowind

(Combine with Charge Attack Parry!) Get weightier charged attacks! You'll be slowed while you're charging them up depending on weapon weight and your strength, but you'll get a different attack buff a

inner hare
#

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.

rustic latch
#

I've no idea how "charge attack parry" works

#

but from the name - may be uninstall it, yeah

rustic latch
# inner hare - keeping distance feature works better. Actors tend to be a little bit more agg...
  1. 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"
  2. I'm looking into that, realistically probably the best call is to leave archers alone for that and let vanilla/mercy handle them
  3. 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.
  4. Still in notes - I'm not sure I like it, we have fatigue based chance. I'll add it and see how it feels
  5. 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.
copper raft
rustic latch
#

Also for #5 I can't change your value in settings, I can only change the default

rustic latch
# inner hare

[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

candid wren
#

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

rustic latch
#

Is the setting page there?

#

And if not - is there anything in the log?

candid wren
#

Yeaaa it’s there

#

It’s probably steam input not reading the change or something

#

I’m not by my laptop to see

rustic latch
#

hm, not sure about that one. But if you can't figure it out - please send me the logs

candid wren
#

Oh no the input works

rustic latch
#

Steam input is that thingy to play games that not really support controller with a controller, right?

candid wren
#

I was saying it didn’t at first but a quick load fixed it

rustic latch
candid wren
#

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

rustic latch
#

Nice, well, I haven't tested extensively with the controller, but should work, I think

candid wren
#

PS5 controller with the extra touch pad up top can read as regular key presses and all

rustic latch
#

Nice

#

Well, let me know how it goes for you

candid wren
#

Imma assume all enemies that usual carry weapons will parry?

rustic latch
#

Yea. Mostly. There are some exceptions like rieklings and goblins. But all npcs will and dremoras, etc will too

candid wren
#

Cool

#

Ain’t wanna just run in a tomb

rustic latch
#

Skellies will too 36vehks

inner hare
rustic latch
#

Fair, but you're probably the only person who does :D

rustic latch
#

not in game yet, just poking at it in a spreadsheet

inner hare
rustic latch
#

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 todd NPCs in game that have crap skill for their main weapon, but - I'll accept that

rustic latch
#

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

candid wren
# rustic latch Well, let me know how it goes for you

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

inner hare
hearty scroll
#

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)

inner hare
#

(skill+(agility/5)+(luck/10))x(0,1+1,25xfatigue%)

#

I think this is peak for enemy parry chance doitswit

#

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%.

tough juniper
#

Lol nah looking good feels_good_guar

jagged hamlet
#

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

inner hare
rustic latch
#

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

rustic latch
inner hare
#

it's so beautiful having the feats be recognized in a coherent manner datchim

#

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

rustic latch
jagged hamlet
rustic latch
#

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

jagged hamlet
rustic latch
#

I've tweaked that slightly, and added a minimum of 0.01 to scale, although it always should be bigger than that

rustic latch
inner hare
#

I'm glad it came up now

#

otherwise people would soon blame somebody for "breaking their game" 36vehks

rustic latch
#

oh yeah

inner hare
#

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

rustic latch
inner hare
#

additional benefit is that all sort of magic effects, item buffs and debuffs as well HBFS modifiers will apply

rustic latch
#

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

inner hare
#

yeah, understandable

rustic latch
#

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

inner hare
#

random chance

rustic latch
#

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
rustic latch
inner hare
#

it's NCD

#

but I understand

rustic latch
#

yeah

#

right

#

ncg

inner hare
#

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

rustic latch
#

So you did:

inner hare
#

fortunately, it's sth that almost no mod touches

#

most modders don't give a shit even when they change the mechanics

rustic latch
#

Ye, but - it's a very nice touch

inner hare
#

oh yeah

#

consistency datchim

rustic latch
#

especially if someone uses it in a bigmodlist

inner hare
#

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

rustic latch
#

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

inner hare
#

does it make sense for N'Garde to be used without GMST changes?

rustic latch
#

No

inner hare
#

so it should be core

rustic latch
#

But I can make second file depend on the first file

inner hare
#

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

rustic latch
#

Again better formatted:

  1. Two files - used either or:
    1. GMST edit and vanilla description
    2. GMST edit and NCG description
  2. Two files - used either together or just #1
    1. GMST edit and vanilla description
    2. Only NCG description
inner hare
#

yeah 😄

#

it's the simplest IMO

rustic latch
#

yeah

inner hare
#

most intuitive. You only enable if you have ncg. Otherwise, you ignore it.

rustic latch
#

Thoughts on messing with weapon skill descriptions?

inner hare
#

I ignored it because they were vague enough

#

talked about effectiveness

rustic latch
#

Fair

inner hare
#

nothing broken there

#

Block is the most complex one

rustic latch
#

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

inner hare
#

yep

rustic latch
#

use not strike

#

good

rustic latch
#

Fuck, taking a screenshot of this tooltip in the launcher is tricky

inner hare
#

oh man, the formula for the parry window is quite complex because of this skill curve stuff 36vehks

rustic latch
#

I may have overcooked

#

:P

inner hare
#

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?
rustic latch
#
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.

  1. 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
  2. first curve value is "minimum of skill curve step and skill value" multiplied by factor (0.35 for perfect parry window main skill)
  3. Having gotten that - we iterate skillCurveLength times.
  4. 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.
  5. Add the remaining skill points that were not enough to fill the entire step
  6. 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))

inner hare
#

😄

#

you sure went with complexity here

rustic latch
#

I mean, once I wrote it down - it's not as bad, but yeeeah

inner hare
#

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

rustic latch
#

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

inner hare
#

mainskill is weapon, secondary is block?

#

or block/block

#

or HTH/HTH

#

?

#

because 2 are always used

rustic latch
#

yes

#

correct on all three counts

inner hare
#

great

#

I think I have it

#

I think the results I have here are correct for the formula

rustic latch
#

Seems about right

#

oh, and effective fatigue multiplier can't go below 0.15 as with other formulas

rustic latch
#

Absolute fire. Nav Ray is exactly what I needed

inner hare
# rustic latch Seems about right
  • 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:
rustic latch
#

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

inner hare
#

it gets easier to tune the numbers once real examples are used

rustic latch
#

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

inner hare
#

or even 1,2

#

I will show you sth

#

this is 1.5, lmao

rustic latch
#

:D

inner hare
#

so 1.2-1.25 seems fine for cap

#

there should be some room for the effect to be useful

rustic latch
#

Agreed

inner hare
#

note that once it expires, you get a debuff

#

because your current fatigue gets lowered

#

it can fuck you up sometimes

rustic latch
#

Dammit, the way I've implemented the variation for fatigue effects makes this tricky

inner hare
#

you use current/max

#

no cap

rustic latch
#

Current max - then passed through this:

#

the last one with new cap added

inner hare
#

so it's ok

rustic latch
#

I'm looking at the first one, and not sure how to add the 1.2 cap there without it being stupid