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

1 messages ยท Page 4 of 1

rustic latch
#

and if you mange to time it with 0.001s window or whatever you deserve it

inner hare
#

Yeah

#

As I said, I see no difference

rustic latch
#

:P

inner hare
rustic latch
#

if you replace lines 271 to 274 in parry.lua with

    local window = masteryMultiplier * min(
        (SettingsConstants.basePerfectParryWindow + ((mainSkillCurve + secondarySkillCurve) / 100)) *
        fatiguePercentage, SettingsConstants.maxPerfectParryWindow)```
you'll immediately notice
inner hare
#

Ok, I will check

#

I have no clue. It can be placebo effect 36vehks

rustic latch
#

there should be commented out logging:status below that, if you didn't delete it. Uncomment it and look at console

#

or add logging:status("perfectParryWindow:" .. window)

#

status log messages show up always regardless of log level settings, so you can see what the actual window it gives you is, with your skill levels

inner hare
#

Is perfect block with shield supposed to give the same THUNK sound as with perfect parry?

rustic latch
#

thunk?

inner hare
#

Perfect shield blocks sound like parries

rustic latch
#

all "perfect" parries play the same "high bright metallic ding".

For anything that is not swords - it plays at the same time and at a slightly lower volume as normal parry sound.

#

why - cause I needed 100 uniquely identifiable aural feedback that "this parry is different"

#

If you can come up with what "perfect block" sound for shields would even sound like - be my guest

#

I couldn't

inner hare
#

This is minor but perfect shield block doesn't sound satisfying. It sounds as if parried with a sword.

#

No gameplay impact, though

rustic latch
#

Consider it enemy weapon ringing, instead of yours. :P

But yeah - I played with instead playing the normal shield block sound but higher pitch and louder - it sounded like ass
Which is base game armor hit sound based on armor category.

#

so I decided to go for uniquely identifiable feedback - so that you know withotu a doubt what happened

#

Does it sound silly for h2h block? Oh sure it does

#

But I can live with that

inner hare
rustic latch
#

seconds

strong lynx
#

You mean the perk framework doesnt support applying perks to noc rn?

rustic latch
#

what's your skill level? that seems low

rustic latch
strong lynx
#

Thats a shame, will have to improve that

rustic latch
#

Blur said that both me and S3ctor had the same question and more or less for the same reason. She says MR's are open

inner hare
rustic latch
#

Ah, no

#

that's in line then

#

100-140 it's also modified by current fatigue

#

so about what Id' expect

inner hare
#

Logging will be useful.

rustic latch
#

It's all there, just not exposed

#

I also don't know how expensive logging would be - cause each logging statement is evaluated individually - and It will just crap with string allocations all over if I add much more

#

Probably worryng for nothing

#

but still

inner hare
#

I akways turn off logging in mod settings unless testing

rustic latch
#

flip the LOG_LEVELS.OFF at the top of the file to LOG_LEVELS.DEBUG you'll see quite a bit already

rustic latch
#

Won't be an issue unless there are hundreds of them onframe

#

but something to keep in mind

inner hare
#

Yes, there is some cost even if no log appears in console

#

But at least it's not flooded

#

It becomes unreadable with many logs turned on

rustic latch
#

yup

inner hare
#
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:parrying, starting calcs and adjustments
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:final multiplier:0.54267940489094
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:self.baseParryFatigueCost:25
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:self.activeParryConfig.effectiveness:1.75
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:pre cost fatigue139.89785766602
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:post cost fatigue123.69260766602
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:pre cost fatigue139.89785766602
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:post cost fatigue123.69260766602
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:playing shield hit animation
[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:sending parry success event. This will play sound
[22:47:29.094 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:isParrying:true
[22:47:29.094 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:startedParry:false
[22:47:29.094 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:stopping parry
[22:47:29.094 I] L@0x1[scripts/ngarde/player.lua]:    [NGarde]:[DEBUG]:stop parry
#

is final multiplayer the damage reduction?

#

[22:47:28.448 I] L@0x1[scripts/ngarde/player.lua]: [NGarde]:[DEBUG]:final multiplier:0.54267940489094

rustic latch
#

on weak block

#

"weak"

#

well, not reduction as is - it's "multiplier" in a sense that you will receive 54% damage

inner hare
#

Ok

inner hare
#

Just for pure debug testing (absolutely not intended for final version), I think that it could be useful to display a message during parry to show % of damage received. I don't mean the console. A message box, sth like "Damage received during block: 44%; Fatigue consumed: 13". Should be easy and it should help with balance feedback IMO.

rustic latch
#

yeah, can do.

#

Unfortunately - probably tomorrow. haven't got time to do anything much today

inner hare
#

np

inner hare
#

I took a look at base AR of all standard armor and it seems that 5 is weak (like Fur or Netch), 15 is average (like Steel or Bonemold), 30 is very good (like Orcish) and 50+ is top tier (like Glass, Stalhrim or Ebony). You could use sth like 1+(AR-5)/15 as the first simple formula for determining shield effectiveness, capped at 3. To give some examples:
-> Netch Shield = 1
-> Iron Shield = 1,33
-> Steel Shield = 1,67
-> Dwemer Shield = 2
-> Orcish Shield = 2,67
-> Dreugh Shield = 3 (cap)
-> Glass Shield = 3 (cap)
-> Ebony Shield = 3 (cap)

This doesn't look bad for such a simple formula. Can always be tweaked later on.

rustic latch
#

it also lines up 1to1 more or less with what I've got going

#

yoink

#

I don't need another mad formula

#

lol

#

I've originally had heavy armor limited at 3

#

it was too much, esp for lower tiers like still and iron

#

hence 2.5

inner hare
#

yeah

rustic latch
#

but with 3 being for god tier armor

#

fair and square

inner hare
#

but it's fairer for high tier staff

#

and no arbitrary values for armor types as it's not always clear cut

rustic latch
#

yup

#

This wll make shields significantly stronger than anything else at parrying, but they already kind of are

#

So yeah, I'm yoinking that

#

and it's thematically appropriate for a shield to be useful

inner hare
#

in Vanilla, shields are the ONLY things that can "parry"

#

they should be stronger

rustic latch
#

yah

inner hare
#

and in 90% of my test fights I've been using 2h weapons

#

they work fine for parries

rustic latch
#

as they should, :P

#

I'll keep move speed penalty and sounds for shields by category, ofc,

inner hare
#

yeah

#

that's fair

rustic latch
#

but effect yeah - makes sense to separate

#

Oh, you've tested shield. I've quite heavily nerfed movespeed, esp with heavy shields when guard is raised. Feel fine, or needs adjustment?

inner hare
#

I used iron shield. Felt ok.

rustic latch
#

excellent

#

It's currently capping speed at 55%

#

when block is raised

inner hare
#

Makes sense to slow you down on approach. Constant static guard is easy with shield and needs drawbacks.

rustic latch
#

so what's going to happen for shields.

Final result will be yourFormula * valueFromSetting

rustic latch
inner hare
#

Yeah. Good balance measure.

rustic latch
#

cause, you know. Another big balance change, shield protects against arrows

inner hare
#

Exactly

#

Todd didn't think about it ๐Ÿคก

rustic latch
#

I mean.. I'm willing to bet, that if they had another year - we'd not only gotten more varied melee weapon range, but something very similar to this as a block system as well

#

At least I think so

#

problem is - they didn't have that yer

inner hare
#

They were almost broke todd

rustic latch
#

yup

#

I have a luxury of a separate stable job, even if I need to work when I want to work on the mod :P

#

And actually. I probably want to do the same armor class thing for gauntlets

inner hare
#

Yeah but lower values, I guess

rustic latch
#

ye

#

Will need to look in cs at the base armor

inner hare
#

It's the same

rustic latch
#

bleugh

#

then different formula

#

idea is - 2 heavy gauntlets add up to 1

inner hare
#

Ok

rustic latch
#

so it wil lbe "two best gauntlests add up to 1"

true umbra
#

Will there be another update soon?

#

๐Ÿค”

rustic latch
#

Not today

#

I'm stuck at work

#

I wfh, and can see discord on my personal laptop, but can't work on anything much mod wise

true umbra
#

๐Ÿ‘ป

inner hare
true umbra
#

Perfect parries and perfect shields are performed by blocking at the last moment right

#

Regardless of skill level?

rustic latch
true umbra
#

Nice

rustic latch
#

but close enough

#

simpler formula means I can use a grapher to get the visual

#

which is nice

inner hare
#

Here it doesn't need to be complex.

rustic latch
#

yeah

#

just sometihng I was very much missing while working on other formulas

#

maybe I over engineerd those

#

but too late now - redoing them would mean retesting from the ground up

inner hare
#

No need if they work

rustic latch
#

Ya'll tell me, if they do. Mathematically they produce results, but do they work - we'll really see after someone does a good 50-60 hour playthrough with it

#

Seem to feel fine, and I did a lot of setkill x in console to test, but I don't know if my "feels right" is median enough

inner hare
#

I felt that it was a bit too easy right out of the gate but good at high skill. If you implement those message boxes, it will be waaay easier to tell because all the % HP and % FAT debug data will be shown immediately. Sometimes it's hard to tell because of dmg variation. Only perfect parry is easy because of sound and 0 dmg.

rustic latch
#

Oh definitely will. Easy, just a bit annoying

rustic latch
#

no, I'm a dumbass, that would be the opposite

#

Anyway, messages first

#

then checking and tuning

inner hare
rustic latch
#

More so for players than for me, I usually have console logs open on a second monitor

#

see values immediately

inner hare
#

Fair

rustic latch
#

tail-f|grep our lord and saviour

inner hare
#

I wonder how many of playtesters did that

rustic latch
#

two decades of grepping logs - still no better solution in sight

rustic latch
#

hence I agree with the need for messages :P

inner hare
true umbra
#

@rustic latch Howdy. Not sure if this is relevant but being over-encumbered seems to cause jitters. It becomes impossible to parry and only light attacks are possible. I figured this out through the Bodily Injuries mod.

tough juniper
#

I've been encumbered a few times without experiencing jitters so it's not universal anyway, some conflict maybe

#

Or mobile related ๐Ÿค”

true umbra
#

Most likely, yeah. Bodily Injuries sometimes gives out penalties to Strength... maybe that's it?

tough juniper
#

Not sure, I'm not familiar with that mod but maybe ๐Ÿคท Maybe try with bodily injuries removed and see if the problem persists?

true umbra
#

๐Ÿ™

#

I'll go get my health damaged by a bonewalker and see if the same issue appears.

#

Seems like damage to health is the problem? Hmm...

inner hare
#

what's your encumbrance?

#

if it's sth like 285/295 then you may face issues at lower HP with Bodily Injuries until you restore HP back to a high lvl

true umbra
#

Ye, that's how I found out it was Boduly Injuries

inner hare
true umbra
#

My mistake, yeah I meant damage to health seems to be the issue

#

Could be just on my end

#

I'll take it as a feature

#

Now damage to health is fatal because only magic becomes viable

rustic latch
true umbra
#

So what this means is that if I Burden an NPC they are incapable of parrying, interesting.

rustic latch
#

burden, paralyze, exhaust so they are knocked down, damage strength etc

#

which, imo all make sense thematically, except the burden needs communicated to player

inner hare
#

Sounds fine. Just display a message when you try to parry and it's impossible.

#

Messages, hehe. New favourite gimmick.

rustic latch
#

Only makes sense to display on encumbrance, the rest, I think, are self-evident

#

paralysis, knockout etc

inner hare
#

Yeah

rustic latch
#

Good morning ya'll

** 1.0.0-RC2 **

I didn't have time for much, but a couple improvements based on feedback:

  • Fixed a bug where sparks VFX won't play on perfect block with a shield
  • Added a Can't parry right now, you're overencumbered message box
  • Gauntlests and shields now take effectiveness from base armor rating, instead of armor category
  • Better compatibility with Skill Evolution on my end, using SE interface if it's present.
    • Mym also has a new version of SE that fixes the skill gain interaction with N'Garde, so if you use SE - do update when it's posted.

The rest that's been talked about today and yesterday is not forgotten, but I'll get to it a bit later

#

And a reminder to please vote in the polls here:
#1482416741077356692 message

and here:
#1482416741077356692 message

if you didn't already

strong lynx
#

(at a reasonable blocking skill)

#

Or like that even the lightest shield will be noticeably better than blocking with a weapon

#

Also are autoblocks still in or is it all active blocking now?

#

But then on the other hand if blocking with a shield is semi-shitty it will insentifise parrying instead of turtle-blocking, and im all for that

rustic latch
#

so even shitties shield is better than a dagger or a short mace

#

with base settings

#

however

strong lynx
#

Gotcha, thats nice

rustic latch
#

the shittiest shield in the game is literally made of paper

#

well, leather

#

but same deal

#

so it will break fast

#

Fatigue cost for parrying is also currently scaled with "tool" weight. I think I may move that into constant drain formula once I get to it

#

But this effectively means that I've slotted myself into base game balance for items. - Light armor is still the best

strong lynx
#

Tbf big animals with thick skin can just tank small caliber bullets, so maybe leather is not thaaat bad

rustic latch
#

It's netch leather - I'm not convinced flying jellyfish hide will be much effective

#

But it's there

#

and is reasonably effective

strong lynx
#

Or maybe its just cos they also have a ton of flesh to them to stop the bullet, prob both

rustic latch
#

Kagouti hide armor from TR -e.g. will be much more effective

#

etc

#

just on base AR

strong lynx
rustic latch
#

Yeah, hence 1. - Slightly less effective than a 1h sword, more effective than a dagger

#

parry arc much wider than a dagger

#

but shifted left cause moving shield far to your right is not trivial

inner hare
#

Even Chitin has 10 AR

rustic latch
#

Am I about to get a "parry arc!?" message?

strong lynx
#

But im just yapping ofc, it doesnt have to be realistic, having it tied to ingame armor tiers makes a lotta sense ofc

inner hare
#

5 AR is THE shittiest

strong lynx
rustic latch
#

yeah, and with the formula you cooked up - I like the line it makes

strong lynx
#

Although technically its not an arc, its a sector, muahaha

rustic latch
#

whatever

strong lynx
#

Haha

strong lynx
#

But eh, whatevs

rustic latch
inner hare
#

Steel shield is better than 2h

rustic latch
#

steel will be 1.6 better than 2h sword

inner hare
#

Glass will be 3.0

#

Indoril 3.0

#

Dreugh 3.0

#

And shields block arrows

rustic latch
#

If/when Ralts gets back and releases/updates inventory extender - I may need to add tooltip integration and just show it all ingame

rustic latch
inner hare
#

Shield effectiveness is scalable in settings so with sth like 1.5 even a shit netch shield would have parity with daedric claymore, I guess.

rustic latch
#

yeah, if one wants to go that way

#

Those values in settings currently go 0..2, imo plenty enough to tune as one desires

inner hare
# rustic latch Fatigue cost for parrying is also currently scaled with "tool" weight. I think I...

shouldn't fatigue cost for parrying/blocking depend on the incoming damage? Intuitively, I would expect a strong hit to be harder to parry or block than a weak one and thus more tiring. In other words, Fatigue cost per parry/block scaled by player's skill and incoming damage. If not damage for reasons (e.g. technical ones), then maybe enemy weapon weight but ofc, there are HTH and creature attacks as well (which can be blocked with a shield in Vanilla and I assume that this will be the default setting here as well).

rustic latch
#

you're right on h2h - it is blockable

#

give me a sec

#

so the fatigue cost already kind of scales with incoming damage

#

what happens->
on weak parry - we reduce the attack.damage.health

#

then we add what's left to attack.damage.fatigue

inner hare
#

ah

#

then fine

true umbra
#

By the way thanks for the mod, really nice work

#

๐Ÿ˜˜

rustic latch
#

What I've described above also means that fatigue damage scales down as you get better skills

inner hare
#

and how does it scale?

#

because it's not described anywhere

#

how much on block 100, 50 and 25

rustic latch
#

yeah, yeah I know

#

docs

#

Or do you want values right now?

inner hare
#

well, if you have them

#

I assume that you have the formula

#

just not described

#

in detail

#

in a doc

#

I know that "base" is 25 by default

#

for fatigue

rustic latch
#

So, it's two formulas

there's a flat cost - for which 25 is base.

it's (25 +item.weight/10) * max(1 - (((mainSkillCurve + secondarySkillCurve) / 100) + (effectiveness * 0.1)), 0)

and then the damage cost

which is inverse of parry defence multiplier

max(1 - min(0.2 + (((secondarySkillCurve + mainSkillCurve) * fatiguePercentage) / 100) * effectiveness, 1))

let's say you took 100 health damage on a weak parry with a shield, at full fatigue, and your block skill is 65
skill curve step for this formula is 60
and let's say it was a netch shield
then
max(1 -min(0.2 + ((((60 + (5* .95) + 60 + (5* .95)) * 1 )/100) * 1,1 ),0)

at this skill level - the factor will be 0, so you will negate all incoming damage, and take no fatigue damage, but will reflect 50% of damage as fatigue back to the attacker.

at e.g. 30 skill level via the same formula you will negate about 60% of damage, half of that will go to the attacker, and 40% of original damage you will take as fatigue

skill curve is my idea of diminishing returns e.g. with curve step of 50 - every next 50 skill points are worth 5% less in this formula, so 100 skill will be counted as 95

inner hare
#

Then you ๐Ÿ™๐Ÿป . I will dig into this.

rustic latch
#

It's a bit convoluted

#

but diminshing returns thing is there for two reasons - to make fortify over 100 worth something

#

and to make skills over 100 with SE or other uncappers feel better

inner hare
rustic latch
#

Do note that at half fatigue - the damage reduction factor is literally cut in half, with default settings

#

It's plain multiplier that goes from 0 to 1, so you can't effectively defend yourself at close to zero fatigue

#

same goes for perfect parry window

#

my intent was for the player to drink potions or run in that situation

inner hare
#

Fatigue makes things dynamic, the idea is good

rustic latch
#

...But that's on full fatigue only

#

eh, I'll need to think about it

rustic latch
#
poll_question_text

Since it was intoduced did you mostly test/play with "All Attacks Hit" mode

victor_answer_votes

8

total_votes

12

victor_answer_id

2

victor_answer_text

Off

#
poll_question_text

Since it was intoduced did you mostly test/play with "Hard" mode

victor_answer_votes

5

total_votes

8

victor_answer_id

1

victor_answer_text

On

#

Well, that's decided then and align with what I want. Hardmode will be default and current default will be "quick mode". And "all attacks hit" stays off by default

#

quickmode will help for those that play with controller, or on android, or generally with lower fps, And I will state as much in the setting description

inner hare
rustic latch
#

and actually, I'm a dumbass

#

which is surprising no one

#

for those formulas

#

multiply MainSkill by 0.65 post curve, and secondary by 0.3

#

for parry defence

inner hare
#

and for block defence?

rustic latch
#

same thing

#

For DefenceRatio:

SettingsConstants.defenceSecondarySkillRatio = 0.30```

For FatigueCost:
```SettingsConstants.fatiugeCostMainSkillRatio = 0.4
SettingsConstants.fatiugeCostSecondarySkillRatio = 0.2```
#

So for those formulas:
fatgiue cost
(25 +item.weight/10) * max(1 - (((mainSkillCurve*0.4 + secondarySkillCurve*0.2) / 100) + (effectiveness * 0.1)), 0)
parry defence:
max(1 - min(0.2 + (((secondarySkillCurve0.65 + mainSkillCurve*0.3) * fatiguePercentage) / 100) * effectiveness, 1))

max(1 -min(0.2 + (((((60 + (5* .95))*0.65 + (60 + (5* .95))*0.3) * 1 )/100) * 1,1 ),0)

true umbra
#

๐Ÿ‘ป

inner hare
rustic latch
#

yeah. Except you'll need a separate formula to get the skillCurve

inner hare
#

yeah, I just put the number there

rustic latch
#

that's fair

inner hare
#

but skill curve seems simple from what you described

#

since it's impact is pretty minimal 5-100

#

if you go with 95 for 100

rustic latch
#

relatively yes

inner hare
rustic latch
#

it's x = x / 1( * 1.05*n )
where n is the step number and x is step length

then for the last step - you just take whatever is left and multuply it by 1.05*n
so for first step divisor is 1, for second it's 1.05 for third 1.1025 etc

rustic latch
#

I've started the skill curve thing with base divisor being 2, that was falling off way too fast. 1.1 even seemed too fast. So 1.05 it is

inner hare
#

I think I got this. This is the result for iron shield with 50 block, 100% Fatigue

rustic latch
#

means you'll take 16.8% damage

#

yup

inner hare
#

time to run some simulations ๐Ÿ˜

#

another one to the list, lmao

#

my testing folder is now big

rustic latch
#

Doing lords work. I'm not great at technical writing and number crunching

inner hare
#

so these calcs are for standard parries/blocks

#

perfect parry always means 0 dmg

#

right?

rustic latch
#

yup

inner hare
#

and parry window is affected by skill

rustic latch
#

let me just get you all of them

#

since you already understand what "curve" means

#

Perfect Parry window:
curve step 45
masteryMultiplier = 0.5 + (0.05 * min(10, max(0, (mainSkill + 1 - self.perfectParryThreshold))))

        (SettingsConstants.basePerfectParryWindow + ((mainSkillCurve + secondarySkillCurve) / 100)) *
        fatiguePercentage, SettingsConstants.maxPerfectParryWindow)```

SettingsConstants.perfectParryMainSkillRatio = 0.4
SettingsConstants.perfectParrySecondarySkillRatio = 0.15
SettingsConstants.maxPerfectParryWindow = 0.5
SettingsConstants.basePerfectParryWindow = 0.05```

Parry Cooldown (NPC only):
curve step 60
parryCooldownRatio = max(1 - ((mainSkillCurve + secondarySkillCurve) / 100) * fatiguePercentage, 0)
parryCooldown = max(SettingsConstants.baseParryCooldown * parryCooldownRatio,SettingsConstants.minParryCooldown)
if attack was ranged:
parryCooldown = parryCooldown / self.rangedThreatCooldownDivisor

SettingsConstants.parryCooldownSecondarySkillRatio = 0.35
SettingsConstants.minParryCooldown = 0.5
SettingsConstants.baseParryCooldown = 2.5```
#

Reaction Time(NPC Only). This one is a doozy:
curve step 60
factor = max(1 - ((mainSkillCurve + secondarySkillCurve + speedCurve) / 100), 0)
reactionTimeExtra = 0.0 + random(-0.050, 0.050))
reactionTime = SettingsConstants.npcReactionTimeMin + (SettingsConstants.npcReactionTimeBase * factor) + reactionTimeExtra
if not self.quickMode then reactionTime = reactionTime - 0.1 -- flat decrease to reaction time for hard mode end
if Helpers:rollNdM(1, 100, 93) > 0 then reactionTime = reactionTime - 0.1 end
reactionTime = max(reactionTime, SettingsConstants.npcReactionTimeMin) min again, so that it still can't go below minimum

SettingsConstants.npcReactionTimeBase = 0.55
SettingsConstants.npcReactionTimeSpeedFactor = 0.5
SettingsConstants.npcReactionTimeMainSkillFactor = 0.5
SettingsConstants.npcReactionTimeSecondarySkillFactor = 0.2```


ParryHold Duration (NPC Only):
curve step 60
```local ratio = max(1 - ((mainSkillCurve + secondarySkillCurve) / 100), 0)```
```local holdDuration = SettingsConstants.parryHoldBaseDuration + (1 * ratio)```

```SettingsConstants.parryHoldBaseDuration = 0.6
SettingsConstants.parryHoldDurationMainSkillRatio = 0.55
SettingsConstants.parryHoldDurationSecondarySkillRatio = 0.45```

Stagger Cooldown:
curve step 100
```cooldown = max(SettingsConstants.staggerCooldownMin + ((strengthCurve + enduranceCurve + secondarySkillCurve) / 100),
        SettingsConstants.staggerCooldownMax)```

```SettingsConstants.staggerCooldownMin = 0.4
SettingsConstants.staggerCooldownMax = 2.2
SettingsConstants.staggerCooldownStrengthRatio = 0.75
SettingsConstants.staggerCooldownSecondarySkillRatio = 0.1
SettingsConstants.staggerCooldownEnduranceRatio = 0.8```


And you have fatigue cost and parry defence factor already
inner hare
#

ha ha, docs on DIscord 36vehks

#

good, good

#

๐Ÿ“‹

rustic latch
#

Copied it out into a docs file already

inner hare
#

you could consider displaying block/parry effectiveness for currently equipped shield or weapon by using Stat Window Extender

#

in a tooltip

#

not that it's important for gameplay

#

UI only

#

the AI stuff (cooldowns, reactions etc.) is sth that the player is not meant to see so not relevant for the UI

rustic latch
rustic latch
inner hare
rustic latch
inner hare
#

currently equipped

#

the only thing that makes sense

#

if nothing equipped, then HTH. Actually... is Block important for HTH blocking as well?

rustic latch
#

It is

inner hare
#

ok

rustic latch
#

I thought about using unarmored instead

#

but block for consistency

rustic latch
#

bleugh

#

I thought i've fixed permissions

#

hang on a sec

inner hare
rustic latch
inner hare
#

ok

rustic latch
#

Try wiki now

inner hare
rustic latch
#

28 doesn't seem right

#

oh, no hold on

#

half of 58

inner hare
#

yeah

rustic latch
#

I need my coffee

#

:P

inner hare
#

wiki works now

rustic latch
#

excellent

#

I'll fill it out as I have time

#

Probably separate individual formulas into their own pages, and add plain text descriptions

inner hare
#

fatigue hit for the defender is just the remaining damage?

#

or the substracted?

rustic latch
#

yeah

#

remaining

#

so that as you get better - you get less fatigue damage and enemy gets more

inner hare
#

ok, so HP dmg = FAT dmg for the player

#

it's basically dmg * parry defence

rustic latch
#

yeah

inner hare
#

cool

rustic latch
#
  • the flat value we got earlier
inner hare
#

item weight factor isn't too significant. Nothing to worry about here

rustic latch
#

I didn't want to make it significant cause items weights in the game are stupid

inner hare
#

yes because they are not even pure weight

rustic latch
#

and all over the place

inner hare
#

it's more like weight unit

#

it's abstracted as we have no volume in-game

rustic latch
inner hare
#

if it was "realistic", you would be able to carry 100 swords easily

#

and that's stupid as well

rustic latch
#

Eeeeh

#

that's like 80 kilos best case

#

I wouldn't call that "easily" :P

inner hare
#

10 watermelons aren't THAT heavy

#

try carrying them

rustic latch
#

Nah, that's fair. I'm just saying if it was realistic weights - we'd need realistic carry capacity too

inner hare
#

yeah

#

item volume

#

like backpack grid

rustic latch
#

and that's "encumbered and slow" at like 30 kg

inner hare
#

and items which you have equipped are not the same as carried

#

30 kg spread over the body is different than 30 kg in a backpack

rustic latch
#

even if it packed in a good modern backpack and you're in a decent shape - lugging aroudn 30-40 kg is not trivial

inner hare
#

but that's not this mod ๐Ÿ˜„

rustic latch
#

Yeah, it isn't thank fuck

#

Not dealing with that :P

inner hare
rustic latch
#

We've used to go camping in the mountains, And I was on water duty. ~30 liters of water in a good modern alpine pack, 3km there and back. I was in much better shape then - but I do know how it feels

#

Not fun to lug around

inner hare
#

I think that knights actually had it easier than modern soldiers in terms of carried equipment. Armor weight was distributed over the whole body. They didn't have to carry ammo and such. They had squires. They didn't even have to use backpacks.

#

squire alone means that you basically have a servant

rustic latch
#

To some extent yeah. But not every man-at-arms was a knight with a squire, and e.g. in 14-16th they've carried comparable equipment

#

but well made armor is surprisingly easy to move around in yeah

inner hare
#

I think Roman legionnaires could be more similar to modern soldiers overall

rustic latch
#

In terms of luggin a fuckton on the march - yeah

inner hare
#

they carried everything and constructed forts

#

they were like players with shitton of stuff 36vehks

rustic latch
#

yup

inner hare
rustic latch
#

what

inner hare
#

check it out

rustic latch
#

nvm

#

I've put ratios in the wrong palce

inner hare
#

ok

#

so it's 0,3 for secondary, 0,65 for main

#

?

rustic latch
#

in code getStatCurve handles ratios, so they are not in that formula

#

yeah

inner hare
#

ok

rustic latch
#
SettingsConstants.defenceSecondarySkillRatio = 0.30```
#

questionable why the order is reversed there, compared to everything else, not like it matters, but I'll swap them around -that's why I got confused when typing up the formula here

inner hare
#

๐Ÿ™‚

rustic latch
#

Yeah, it's correct in code:

local secondarySkillCurve = self:getStatCurve(secondarySkill, SettingsConstants.defenceSecondarySkillRatio,skillCurveStep)```
inner hare
#

I'm not sure I converted that part right but I will make sure. At 0 Fatigue it doesn't matter at all whether you have 0 skill or 1000 skill for parry defence. The result is always the same.

#

if that's intended, then I will say that it's a bit dubious

#

if I converted sth wrong, then I will fix it

rustic latch
#

Why is it dubious?

#

You're exhausted and any poke will bring you down gasping for air on the ground?

#

20% defence is the absolute minimum I allow in that situation, as a last resort ineffective attempt at defence

inner hare
#

what is dubious is that it doesn't matter whether you have skill 5 or skill 100

#

or 1000

rustic latch
#

And it shouldn't at 0 fatigue, I think

#

base game at 0 fatigue - you can't fight effectively, any hit will knock you out

#

why this would be different

inner hare
#

this isn't how Vanilla works. You will get much lower hit chance at 0 Fatigue, for example. Not the same hit chance for skill 5 and skill 100. Skill still matters. Same with attributes.

rustic latch
#

I see what you mean

inner hare
#

you are still a very experienced fighter at skill 100. Makes sense that you can deal with it in a better way than a Seyda Neen grunt.

#

I agree that Fatigue should have high impact. Just not the same for 0 in all situations.

#

note that if you get KO on the ground, then you will get penalized for that, anyway. You cannot retaliate.

#

then parry defence doesn't matter

#

it matters only when you are standing

rustic latch
#

But you won't be standing for any length of time

#

if you try to parry - you are down

inner hare
#

if you get KO, then that's fair

rustic latch
#

immediately, btw

#

cause there's a passive drain too

inner hare
#

it can get to 0

#

actually

#

but that's besides the point. KO is KO. You are lying on the ground. Before that, it's a different story. As long as you are standing, other stuff should matter and that's why it seems dubious to give static result for parry defence at Fatigue 0 no matter what.

rustic latch
#

What I'm trying to say is that "as long " won't be long at all

#

approaching 0 not long

inner hare
#

flat cost 0

#

parry defence 0,8

rustic latch
#

I mean... What we can probably do. Is move the fatigue multiplier to the outside of the formula? and maybe cap it at like 90%? So anything below 10% fatigue is the same, but slightly different based on skill level

inner hare
#

this is Morrowind hit chance for comparison

#

as you can see, Fatigue has a big impact, but everything else matters as well even at 0 Fatigue

rustic latch
#

yeah, that's what happening at 50% fatigue effect formula settings

#

well, basically

inner hare
rustic latch
#

yeah, so that fatigue multiplier never goes below 10%

#

so it can't set skill values to 0

inner hare
#

this is better than it being static

#

the impact is still huge

#

but not static

rustic latch
#

I mean - 10% damage reduction imo is generous

#

at that level of exhaustion

#

how about 15%?

inner hare
#

I'm not sure what you mean by generous here

rustic latch
#

that formula was dumb, I put the thing in a wrong place

#

Like this:
(1 - min((SettingsConstants.baseParryDefenceFactor + (((mainSkillCurve + secondarySkillCurve)) / 100) * self.activeParryConfig.effectiveness) * fatiguePercentage, 1))

inner hare
# rustic latch I imagine fatigue 0 being almost lethal levels of exhaustion, esp in combat. So ...

we know from other Vanilla formulas that it's not exactly lethal. It's just high impact. However, I want to make sure that we are talking about the same thing here. Capping Fatigue effect at 15% makes skill more imporant, not less. Here you can see parry defence 0,61 and 0,79 with 15%. For comparison, with 10% it would be 0,79 and 0,67. Therefore, skill matters more at 15% than at 10%. I'm all for capping the effect at that higher 15% level btw. Just note that it makes skill matter more, not less.

rustic latch
inner hare
#

ah, then ok

#

it's the Vanilla way

#

I'm all for it

rustic latch
#

And I like those numbers

#

40% defence at 100/100

#

about 20 at 5/5

#

all of that with 0 fatigue

inner hare
rustic latch
#

well 39

#

but how do you get 33?

inner hare
#

ah, ok

#

you mean 15%

#

ok

rustic latch
#

yeah

inner hare
#

39

rustic latch
#

I like the 15% numbers

inner hare
#

yep

#

ok

#

as for flat fatigue cost, I like what I'm seeing. It seems like sth easy to balance just by tweaking the base cost if necessary. 25 seems like a good base. Item weight has a subtle impact, nothing crucial but it's still there. This is good considering the way Vanilla uses weight and all the item overhauls floating around.

rustic latch
#

Good, now I think I'm going to clamp the fatigue percent impact for the rest of the formulas that use it too

#

only makes sense

inner hare
#

I'm taking it one thing at a time ๐Ÿ˜„

rustic latch
#

Oh, it was/is at the same level of impact - meaning it plunged formulas straight to 0

#

parry cooldown

#

perfect window

#

etc

inner hare
#

...

#

good that it's being playtested ๐Ÿ˜„

rustic latch
#

you're never at 0 fatigue long

#

you drink a potion or you are dead

#

or teleport away

inner hare
#

I actually fought at 0 Fatigue plenty of times

#

it's not as "deadly" as you suggest

#

but it's the source of mudcrab memes

#

can't hit a mudcrab

#

yeah...

#

because of 0 Fatigue and 5 skill

rustic latch
#

It is with additional fatigue cost that I have, cause the act of raising guard will tick 3 points of fatigue damage and you're down on the ground

inner hare
rustic latch
#

^That's good

#

about what I was aiming for

inner hare
#

not with your default setting atm

rustic latch
#

I mean, probably

#

but we've solved it, so all good :P

#

Now, need to renamed the "fatigue effects" setting and update description

#

cause it now affects all calcs that use fatigue

inner hare
#

wait for other stuff

rustic latch
#

Sure, am not doing much right now besides taking notes and coding the work stuff on the work laptop

#

Also, noticed that formatting got all fucked on that formulas wiki page. Will need to redo it

inner hare
#

So far I'm liking parry defence calculations. With high quality shield, you can get to 100% damage reduction quite easily but that only lasts while Fatigue level is very high. I'm wondering whether Max will read this as he suggested that shields were underpowered. An Ebony Shield with 3.0 effectiveness will give 100% damage reduction at skill level 30. 100%. I repeat, no damage at 30 skill. However, one caveat. Only at very high Fatigue level, i.e. sth like 95-100%. Since you will get flat cost, that won't last long and you will soon start receiving some damage on default settings.

Anyway, I think that the general approach is right, same as differences in shield quality (iron shield won't give the same result as daedric). What I would suggest, though, is adding a toggle for scaled guard cost. The idea is to keep that static Fatigue cost (3 by default ATM) as base and add an optional multiplier scaled by skill. Make it noticeable but not too strong unless the player deliberately uses such a setting. Proposed formula: staticguardvalue+scaledguardvalue*(1-skill/100). For example, with 3 as static and 5 as the scaledguardvalue, at 25 it would be 3+3,75, at 50 skill it would be 3+2,5 and at 100 it would be 3+0. Clear skill differences but it's never too high as even 6-7 guard Fatigue cost doesn't lower Fatigue by much (natural Fatigue regen still applies). At 100 skill level you are down to static only. All of this would be optional.

Note that I deliberately made the formula simple af.

rustic latch
#

Yeah, imo that one should be simple af

#

And I agree with the rest

#

So you think another setting
e.g.
base fatigue drain cost = 3
and
additional fatigue drain cost let's say also 3

#

or 4

#

by default, and it will slide from 7 to 3 over the couse of leveling up

#

and will probably use block skill for it

inner hare
#

Yeah.

rustic latch
#

Yeah, I agree with that

inner hare
strong lynx
#

Wil that all work with TR and modded shields as well out of the box?

inner hare
#

If he uses AR only, it should

#

I doubt that Arrean created a whitelist here

#

He probably just checks (base) AR of equipped shield slot item

rustic latch
#

there's no reason it won't work with modded items

#

including silly things like books implemented as "shields"

#

etc

#

There's no white/blacklists

dusk palm
# inner hare

This is inaccurate
The dunmer would simply call the nord a slur

eager crane
#

if it's a general question about modded equipment used in fencing, I confirm that it works out of the ๐Ÿ“ฆ

rustic latch
#

There's no reason it wouldn't. As long as the mod is not broken, or implemented in a fantastically silly way

rustic latch
#

local armorRating = self.recordEquippedL.baseArmor

#

and similar for gauntlets/bracers

maiden tangle
robust sundial
#

Sorry if this has already been asked, but is the parrying automatic or do you use a button press to block? I haven't had a chance to try this out yet

inner hare
#

Button

#

Try it, @robust sundial . Mod is very fun datchim

rustic latch
#

Do try the latest version and let me know. We've yapped a bit since, so here's the latest released archive.

I'm hoping to get it on nexus in the next week or so, but needs a bit more testing before that and I have been swamped on my actual work

inner hare
#

No attachment

rustic latch
#

Yeah

#

didn't go through

inner hare
robust sundial
#

What's the default key to block/parry? Also how would I change it?

rustic latch
#

OpenMw can't do defaults

candid wren
#

Iโ€™ve been looking at this a ton and love everything about it canโ€™t wait to try it, I shouldnโ€™t use this with shields up?

rustic latch
#

go into settings -> scripts-> find N'Garde

#

set it to whatever you like

robust sundial
#

Ah yeah, so I made a one handed sword into a two handed sword with GRIP, the animation is off which is not unexpected because GRIP does have this without N'Garde but it's more hidden since the hands/arms are always mostly out of sight

#

It's really more the weapon model's handgrip not being made to support two hands

rustic latch
#

yeah, that's the kind of animation weirdness I was referring to

#

It's present on some base game weapons, e.g. the Daedric Croissant, but that's the price we pay - can't exactly do animation per weapon model

robust sundial
#

Right, that makes sense. Would it be possible to be able to switch between charging an attack and blocking? For example, hold down LMB to charge attack, then at the same time hold down RMB to switch to blocking, without attacking in between? It works great the other way around, going from blocking to charging attack (Hold RMB to block, then simultaneously hold LMB to attack, then release RMB to no longer block)

rustic latch
#

Animations don't blend well, and it doesn't play well either

#

Abstractions and engine limitations apply, RL the difference between parade/attack is much more nebulous, but can't really do that ingame

robust sundial
#

Cool, that also makes sense as well!

#

And when an NPC blocks with a wooden spear, it makes a wooden block noise, different than the metallic noise between metal weapons. However, I noticed when I was fighting an NPC who was hand to hand, the NPC would block with his fists, but it would make a metallic clang as if blocking with a metal weapon

rustic latch
#

If they had gauntlets on - I play native "armor hit" sound based on armor category

#

however

#

if the NPC perfect parries - manages to parry your attack just as it is about to hit - I overlay this "high, bright ring" sound - which uniquely identifies that specifically perfect parry has happened. When that happens - the attacker gets briefly staggered allowing for counter attacks

#

It sounds a bit silly for h2h I agree, but I prefer clear aural feedback in this case

#

that sound always means "perfect parry"

robust sundial
#

Ahh gotcha

#

You already thought of everything lol

rustic latch
#

About a lot of things, not everyting probably

#

Mod has been in development for over a month and in public testing for just under a month, so I've had time to polish certain things

rustic latch
robust sundial
rustic latch
#

They should be keeping much longer distance from you

#

at the edge of their weapon range

robust sundial
#

Yup, backing up away defensively

rustic latch
#

doitswit The most evil thing I've done with this mod is teaching spear enemies to backpedal

robust sundial
#

Lol yup just like the player would do

#

I'm playing N'Garde with Path of the Incarnate modlist, so it might be an incompatibilty, but it doesn't seem like I'm able to block/parry enemy attacks

rustic latch
#

huh

#

it didn't break that way yet for anyone

#

however - you say your NPCs do parry successfully?

robust sundial
#

I thought it was low character block skill, but then I made a character with 40 block and it hasn't activated yet

#

Yes the NPCs are working perfectly it looks like

rustic latch
#

are you doing weapon parry or shield?

robust sundial
#

I tried both. The animations for them work great

rustic latch
#

Ok

#

Send me your openmw.log please

robust sundial
#

It's in documents > my games > OpenMW > openmw.log right? For some reason my .log has a modified date of 1/3/2026

robust sundial
#

Hmm I wonder why it didn't generate a log when I exited out of OpenMW

#

I have these in a different location

rustic latch
#

Log is not generated on exit

#

it's written continuosly while the game is running

#

that doesn't look like correct folder

robust sundial
#

I was looking to see if it got saved somewhere else for some reason, but the log here is old and hasn't been updated. I might try reinstalling the modlist to see if that fixes it

rustic latch
#

can you just get me that log file?

#

jsut in case windows is beying a lying bitch as always

robust sundial
#

Yeah I'll message you

#

Actually message me, I can't message you due to your settings

rustic latch
#

sent you a friend request, but you can just attach the log here

inner hare
#

btw if it's not done already, you could make actors less eager to parry/block at low Fatigue. Since it may result in a KO, it's actually smart.

rustic latch
#

I actually didn't implement parry chance at all. Not sure if it'll make much difference for NPCs - they often have stupid high fatigue

#

but makes sense to do

inner hare
#

NPCs have same fatigue as the player (just a sum of 4 attributes). Creatures don't.

rustic latch
#

Probably will go simple with it, 100% chance at full, and slowly scaling down

inner hare
#

and I KOed many of them

rustic latch
#

to like 50

inner hare
#

yeah

#

but you don't have to start scaling from 100% Fatigue

#

more like 75% Fatigue = 100% and 0 Fatigue = 50%

rustic latch
#

75%-100% - 100% chance, maybe? and then slowly going down to 50

rustic latch
inner hare
#

great minds think alike

#

I've been also thinking how best to implement witchering (deflecting arrows with a weapon), if it was to be done. Not even needed for the first official version, just sth to consider for the future. I think it could be a toggle and work like this: perfect parry only and parry window is twice as hard. In other words, all or nothing effect and much more difficult than standard parries.

rustic latch
#

and separating it doesn't feel good

inner hare
#

I agree. For NPCs, I wouldn't even consider it for low skill lvl ones. Basically, enable it only for those who have very high skill. Maybe even only a particular weapon type.

#

not a priority, anyway

#

you definitely don't want to see guards deflecting arrows with halberds as a standard thing or sth

rustic latch
#

It's very tricky to have them properly do that for ranged attacks

inner hare
#

sure

rustic latch
#

timing is hard

#

especially if the player doesn't use one of overhauls that speeds up projectiles

inner hare
#

could be player-only as well considering that it's perfect parry only

rustic latch
#

cause they are stupid slow in vanilla

inner hare
#

yeah

#

it's almost mandatory

rustic latch
inner hare
#

yeah, I mean ranged only here

#

I can see how it would be hard to teach them that

rustic latch
#

well, maybe. It's actually in the maybe section of the todo

#

it's been suggested before

inner hare
#

and frankly, in many situations it would feel off

#

you don't want to see a guard deflecting your arrow with a warhammer

#

this isn't fun

rustic latch
#

yup

inner hare
#

and doesn't seem believable

#

so there are issues

#

but if Almalexia did it, nobody would bat an eye

rustic latch
#

Basically only swords seem believable, and only cause we are used to it from movies and games

inner hare
#

it's not really a smart thing to do IRL

rustic latch
#

I used to do a bit of re-enactments

#

and had a pleasure of beign an archer at a demo once

inner hare
#

even if it may be technically possible in some circumstances

rustic latch
#

15kg bow

#

blunt soft tipped arrows

#

safe as can be

#

dude told me he can deflect my shots with a sword

#

lol, lmao even

inner hare
#

I saw some videos with "samurai" doing things like that

#

never knew if it was staged BS or not

rustic latch
#

40 meters roughly distance, incredibly low powered bow, arrows with not great flight cause of the soft tip

#

still stuck him with every single one

inner hare
#

hehehe

rustic latch
#

it feels roughly like a medium strength punch

#

dude deserved it

#

:P

inner hare
#

well, it's stupid to even consider for low skill. That's why I called it witchering. Just may be sth cool for super high skilled players. Limiting it to perfect parries and making it much harder seems like a good start.

rustic latch
#

Still MW is a fantasy land of gods and heroes

#

so, it's on todo in the maybe section

inner hare
#

pretty sure Vivec could swat an arrow with mind alone, lmao

rustic latch
#

However - as I said before - I quite like the gameplay part of "dammit they have bows and I have no shield, run for cover" - feels natural

inner hare
#

yeah

#

and it's good to make shields and weapons different

rustic latch
#

As does, "you mofos thought, I brought a tower shield"

#

So, I'm still thinking about it. But definitely like a 1.5 feature or something

inner hare
#

Vanilla Block skill description:

"Block skill allows one to use shields to block any melee attack. A successful block removes all damage from the attack."

Suggested change for N'Garde version:

"Block skill affects the effectiveness of using shields to block melee and ranged attacks and slightly contributes to effectiveness of weapon parries. A well-timed block or parry removes all damage from the attack."

NCG-compatible version:

"Block skill affects the effectiveness of using shields to block melee and ranged attacks and slightly contributes to effectiveness of weapon parries. A well-timed block or parry removes all damage from the attack.

Develops your agility and endurance a good amount each, and your strength a bit."

This should make it coherent and Vanilla-like without providing false information.

rustic latch
#

I can override those via Stats Window Extender, right?

#

Need to check how exactly to do that

#

I can check if NCG/SE is installed and provide one or the other

inner hare
#

That would be the best as then no patch required. Otherwise, manual change.

SE doesn't change skill descriptions AFAIK. NCG does.

rustic latch
#

Let me check if NCG has an interface so I can easily see that it's on

#

Oh, yeah it does

rustic latch
#

๐Ÿง

rustic latch
#

default is yes, as was behaviour till now, but if someone finds this silly - they can now change it

rustic latch
#

๐Ÿง

** 1.0.0 RC3 **

  • Setting to display debug messages ( on parry only )
  • Setting to display debug logs (get spammed nerds)
  • Setting to forbid/allow/shield only blocking non-fencer creatures
  • Skill gain on block/parry now triggered as scale, not flat value. 2 on perfect parry, 2 - (2*(seconds since perfect parry window closed, up to 0.5))
  • Parry chance for NPCs, 100% parry chance at 75%-100% fatigue, scaling down to 50% at 0 fatigue.
  • Hard mode now default. Setting is now for quick mode - quick mode recommended for mobile, low fps etc. In quick mode parry becomes active as soon as the button is pressed.
  • Fatigue impact now clamped at 85% maximum for all formulas that use it, meaning that effective fatigue ratio as used in the calculations is never lower than 0.15
  • Fatigue formula setting renamed to better reflect that.
  • Static+Scaling fatigue drain on holding guard. 3 and 4 by default. Scaling cost is governed by block skill, scales down to 0 at 100 block
  • Weak parry offers slightly (up to bonus 25%) better protection the closer to the end of perfect parry window it happens
  • Slightly slower shield raise animation to bring it in line with the rest of them
  • Animation speed normalized between normal and quick mode

In progress, but I need rest:
sidestep during backpedaling in measure manager - need to figure out how to cast rays to the back and sides of an NPC for obstacle detection.

rustic latch
#

well, actually. Slightly more info on perfect parry as well for debug messages. No other difference compared to previous file

true umbra
#

Nice

strong lynx
#

Theres a way to get a closest navmesh point using the navigation package, or cast a nav ray, those might help you with obstacle detection

rustic latch
candid wren
#

lol itโ€™s a fan fave but itโ€™s edited from the vanilla textures

uncut sun
#

custom

#

nice

rustic latch
#

Should just be on nexus already 36vehks

candid wren
#

Yea I wanna learn to add the cape from that armor to the netch curass

uncut sun
#

i have been working on a armor overhaul mod for ages. it makes a few armors that are light armor into medium, so i need more light armor

uncut sun
#

general idea. light is not really armor, it might make you survive an extra attack so you can run away. medium is a generalist, there are light medium and heavy medium, think dreugh or bonemold as light and metal chain or similar as heavy, both are in the medium category. heavy is heavy. very heavy and very protective. the best light armor will be about as about as good as the worst to next worst heavy

#

i considered making a thread about it, asking for balancing advice

#

maybe i should

#

the light armor is custom

rustic latch
#

Interesting. And what about glass?

#

I'm guessing it goes into medium in your estimation?

uncut sun
#

glass i made medium. that is why chitin is also. it was the boyant armiger problem

#

it also made sense to make it medium because dreugh is medium aswell

#

my general thought is can you put it in a backpack it is light. that implies a notion of malleability

#

anyway i will stop talking about my little project in you thread

rustic latch
#

Nah, you're good

#

And that makes sense - if it's basically cloth - it won't offer too much protection

#

stil more than we usually imagine, but general armor logic is abstracted away in game

#

Imagine if we could do KCD style layered armor system. Oh if only inventory slots were dehardcoded :P

#

gambeson's/arming doublets as an underlayer, etc etc

uncut sun
#

i don't like how armor works anyway. i had an idea the other day about a different way to do it. strength and weight are already a good way to moderate not using to heavy armor, and having it affect stealth could discurage you from trying to be a thief in full steel plate. my idea came from the impact effect mod. when you miss you still "hit" them, but no damge is dealt

#

what if armor rating was always applied no matter the skill level, but the dodge chance is what was effected? that was my idea

#

if you had 5 heavy armor and wore a full set, you would always get hit. if you had 100 in it your full evasion chance would be apllied

rustic latch
#

That's actually a nice way to balance it

rustic latch
#

-1 effective sneak for each point of weight on boots

uncut sun
#

it would fix the issue of waering full deadric but being less protected than wearing cloth. it would also make hit connect mopre often while still having dice rolls in the game, only coming in to effect later in progression

rustic latch
#

Yeah, the only issue is - I don't know how to communicate that to the player in game, but it's not like the native system is well communicated

uncut sun
#

idk either man, i just had the idea

rustic latch
#

No, I love it

#

if it needs any lua to be implemented - I'll be happy to help

#

not 100% sure how to nicely modify hitchance, cause what I do here is meh, but can definitely supplement it

#

assuming you're combining the two, otherwise the latter can be implemented purely in lua probably

#

well, with some caveats. I can see some cursed workaronds to the "effective skill level" so that we always get full AR, but get dodge nerfed into oblivion

young aspen
#

Iirc thereโ€™s a mwse mod that does that

#

Nimblearmor?

#

Maybe not 100%

willow bridge
#

N'garde is a great name. Good job

rustic latch
#

Thankya

rustic latch
willow bridge
#

I haven't, but I am really eager to

rustic latch
#

recent versions are stable and only in need of balance and incompatibility feedback. Still not sure what caused that issue with POTI yesterday - where NPCs could parry, but player couldn't.

So please do if you have time and inspiration.
Otherwise, if you want to wait for release - that's cool

willow bridge
#

I'll try to make time to do it today

uncut sun
#

i know i said to not worry to much about external animation mods, but i encountered this

rustic latch
#

I'm not 100% what is the issue? That's a shortsword, right?

uncut sun
#

yes it's shortsword with the reanim v2 mod

rustic latch
#

Right

#

and I'm using reanimation too

#

it's supposed to do that far as I can tell - that's, at leat for now, the best I could come for short blades as aniamtion that makes sense, kind of like 1h sword, but with extra left arm movement to imply additional support

#

it's not great

#

but

#

If you're referringto snapping it does sometimes - not really sure why it does that - should blend to that point in animation

#

^ same one on my end

#

if there's some issuse I'm not seeing - do let me know

uncut sun
#

the eldritch being know as morrowind animation. we will never know

#

i was refering to the snapping

rustic latch
#

right

#

yeah, no idea

#

thing is - I start animation from lower point than that

#

if anything it should snap down

#

but it snaps up and to the right

#

And you see actually on my vid it snaps only from active idle - where pose is held, when PC starts waving sword around after no input is given for a while blending from there works fine

#

bloody weird

#

main wtf

#

1h axe uses the same animation and doesn't snap

uncut sun
#

tried turning anim blending off. block animation starts down as it should. IDK

uncut sun
#

so it would only be an issue for shortblade

rustic latch
#

mask and priority on shortblade was different from axe

#

still a bit jank, but better

#

No snapping at least

#

Thank you for the report!

#

I'll post an update later today with this included

uncut sun
#

WOW

rustic latch
#

And we have integration with Skill Evolution's Feat system. Pending official SE Update:

rustic latch
inner hare
rustic latch
#

Not touching max at all

#

just passing a scale number to SE

inner hare
#

Then 487% should be impossible

rustic latch
#

which 2 + damage negated/100

#

generally

#

that was with setting guards strength to 1000

#

actualy, I should add enemy name to the stat

inner hare
#

Doesn't matter. SE has caps.

rustic latch
#

I don't do anything with them

#

๐Ÿคทโ€โ™‚๏ธ

#

neither in my SE settings nor in code

inner hare
#

I asked mym ๐Ÿ˜„

rustic latch
#

I see, yeah

maiden tangle
# uncut sun what is that armor?

The whole armor set or just some pieces?

Like the others said, itโ€˜s a mix of edited meshes and textures from the vanilla game, Tamriel Data and several bits of details from armor sets of other creators like Mage Robes by Melchior Dahrk and Daggerlad by Ashstaar.

The cape, most people are asking for is from a reachmen shirt of the Skyrim section of Tamriel Data.

Uploading it to Nexus might be poroblematic in terms of copyright ๐Ÿ˜…

maiden tangle
candid wren
#

This one

maiden tangle
# candid wren

Ah, the TR one with several scarves in front.
Should the cape have the pattern of one of the scarves?

candid wren
#

If you could to the same pattern as your if possible

maiden tangle
#

Pattern of the texture can be translated onto it. The red or the white one? Both together in one texture might look really off on the cape

maiden tangle
inner hare
#

Scaled Fatigue cost for guard seems to be working nicely so far datchim

rustic latch
#

Nice

#

I've also added more logs and better debug messages on my end, will post it sometime later today

candid wren
#

If you could to the same pattern as your if possible

#

Some sort of darker tone ig

uncut sun
rustic latch
#

the cape part at least

uncut sun
#

i'm going to need to learn blender to finish my simple small gmst edit mod... sigh

rustic latch
#

Blender comes for us all

inner hare
#

I remember the old days when animations were almost untouchable in Morrowind

rustic latch
#

oh yeah

#

we've come a long way

maiden tangle
uncut sun
#

don't get your hopes up. it's a whole lot of values to edit

maiden tangle
uncut sun
#

technically it is "done", but only for vanilla. no one plays vanilla however. with tr i am not even close

inner hare
# rustic latch goddammit. And removed test sideMovement from NPCs

Using this, I get no Block skill gain with SE when using Iron Shield or Steel Shield. I get Block skill gain when parrying with Iron Naginata, though, and with Iron Mace, so it's sth with shields, I think. I know that you changed stuff in the meantime. I'm talking about this version as it's published for testing.

inner hare
#

When using N'Garde, I think that NPC pathfinding becomes worse. I did many tests in the cave near Seyda Neen. WIth N'Garde on, certain patterns can be observed. The Dunmer in the room often gets stuck near the rock instead of following the route around it. The Dunmer mage often gets stuck on wooden bridge or falls down from it. With N'Garde off, in the same place, the NPCs seem to take more sensible routes.

#

I'm wondering whether it may be related to "keep distance" logic which is being used

#

using Mercy in both cases btw

rustic latch
#

Hmmm. that is interesting. I'll need to retest that once logic is updated

inner hare
#

maybe apply it only when distance is closer as these NPCs get stuck while relatively far away

#

or pick stupid routes

inner hare
#

ah

#

interesting

#

it's definitely observable, though

rustic latch
#

Anyway, bloock skill gain doesn't work for me either with shields

inner hare
#

ha

rustic latch
#

so maybe it's a one for mym

inner hare
#

so yeah

#

sth with shields

#

weapons work

#

I get increases

#

I try to switch weapon types in order not to get false impressions

eager crane
#

interesting how he got locked in the fist blocking animation after he's surrendered via Mercy

rustic latch
inner hare
#

also, do you affect NPCs when they have spellcasting stance? I saw an NPC who looked as if he was trying to keep distance while using spells. On touch spells...

inner hare
#

yeah

maiden tangle
# inner hare using Mercy in both cases btw

Yep, noticed a similar problem sometimes, especially when using summons. When having one on one encounters, it often works fine, but as soon as I have a compation or several summons, actors that get affected by NGarde tend to "run away" endlessly and get stuck on obstacles, as if they're not using nav meshes anymore (independently from the "run away" behavior per se).

inner hare
#

oh

#

good that it's not just me, then

#

and yes, it's as if navmesh disappeared or sth

#

you can notice how much better pathfinding is with navmesh, lol

rustic latch
#

well, it's cause it did :P

inner hare
#

I mean, OMW is much better than Vanilla

#

in Vanilla you get those stuck encounters far more often

inner hare
rustic latch
#

Anyway -

  1. Pathing
  2. shield bugfix - just a typo, thankfully
  3. Ignore measure in non-weapon stance
inner hare
#

testing is giving good results

#

we found many issues

#

many were fixed

rustic latch
#

For shields - line numbers probably changed between test version so, locate this line in parry.lua core.sendGlobalEvent("ngarde_ParrySuccess", params)
on the line below it change lowe() to lower()

inner hare
#

btw I saw an Ordinator falling through stairs in Arena and dying

#

it reminded me so much of old Vanilla issues

#

that now I'm wondering whether it's related to this mod somehow 36vehks

#

because of navmesh stuff

#

or sth

rustic latch
#

well , that one at least is probably not me ๐Ÿ˜…

#

I don't do anything with navmesh itself

inner hare
#

what do you do?

#

do you affect actors outside combat?

rustic latch
#

it's just that for distance keeping I modify actor movemment

rustic latch
inner hare
#

ok

#

definitely remove all influence if no active weapon stance is on

#

just in case

#

if not done already

rustic latch
#

if no combat - there's no script

inner hare
#

ok

#

that wasn't in combat

rustic latch
#

that wasn't me then

inner hare
#

ok

#

damn Ordinators

rustic latch
#

in combat - for mage stance I've jsut added a check

true umbra
#

Can we get much higher?

rustic latch
true umbra
#

Nice

inner hare
#

good

rustic latch
#

well, rather it will only process weapon stance

inner hare
#

actually, maybe just send the actual files, if they are ready for testing?

#

with weapon stance and all

#

unless it's not done

rustic latch
#

well, maybe

#

give me a minute

inner hare
#

ok

true umbra
#

๐Ÿค”

#

The mod is growing

inner hare
#

btw when fighting a skeleton, I used Orcish Towershield and turned notifications on. Block Skill 35. Despite the fact that notifications gave me info about some damage being received while my fatigue got lower, I wasn't getting any dmg at all.

#

only fatigue. All this was while I just kept the guard up. No damage - literally 0 - until I stopped blocking or got Fatigue to 0 so it was KO. It was weird because notifications kept showing what should be happening (more damage gets through as Fatigue gets lower) but it didn't reflect gameplay.

rustic latch
#

Alright, check this out then.

1.0.0 RC4

  • More and better debug logs and messages
  • Integration with Skill Evolution Feat system(SE Update required, ignore for now)
  • fixed 1h shortblade animation
  • fixed typo that prevented shield skill gain
  • no measure keeping in non-weapon stance
#

still working on other distance keeping and obstacle detection stuff

rustic latch
inner hare
#

ah

#

ok

#

so I will get to testing

#

shortly

#

with RC4

#

lol, it's like OMW

rustic latch
#

I was hoping I'd release by now

inner hare
#

I wonder which RC will be the last one

rustic latch
#

no going back to 0.X.X

#

and release is 1.0.0

#

so we stuck here now

#

lmao

inner hare
#

yeah, sorry for that. I just deliberately try to break sth when testing ๐Ÿ˜…

rustic latch
#

Nah you good

#

release will be better for it

inner hare
#

at least it means fewer issues to fix LATER

rustic latch
#

if I can fix distance keeping stuff, may need to scrap that one and rely on vanilla or mercy for behaviour completely

#

backpedaling NPCs are fun, but

inner hare
#

It may be v. 1.1 if you don't manage get it right for 1.0

rustic latch
#

actually

#

hold up

inner hare
#

Holding

#

Skeleton pummeled me, but my Block increased.

rustic latch
#

This should be significantly better for NPC movement. When too near you I only force them to back off a couple paces

#

and force them to walk last couple meters, instead of run, makes more sense in my mind

inner hare
inner hare
inner hare
#

Immediately noticeable

rustic latch
#

do they jiggle for you?

inner hare
#

What?

rustic latch
#

cause that's been fucking annoyign for me

#

sometimes when at the threshold of "too far" and "too far but walk" they just freeze for a sec

#

and do a little wiggle

inner hare
#

Ah, I think I saw this once

rustic latch
#

unless I tell them to "go forward" but that "go forward" is what's causing other issues

inner hare
#

It's better now, though

rustic latch
#

yeah, cause I removed all movement directives except back off to weapon reach if too close

#

you should still be able to back them to a wall, or over the bridge or something

inner hare
#

More Mercy behaviour is noticeable now and they don't get stuck so often

rustic latch
#

but there native detection or marcy should take over

#

... I wonder where's a good ledgy location to test that

inner hare
#

Hard to say

rustic latch
#

probably some roof somewhere tbh

inner hare
#

Spell stance stuff works ok now

rustic latch
#

so, need to do ledge and obstacle detection

#

dammit

rustic latch
rustic latch
inner hare
# rustic latch yeah, it's going way down

As for this, I will elaborate on the cap I mentioned in SE thread. In SE mod settings, there are skill scaling caps for every skill type affected by SE. You said you didn't touch this. Then it means that by default for Blocking, it should be 10-400%, for example. Skill gain should never exceed 400% in such case. If you change the cap to 300% or 500%, then those values should be respected for coherence in N'Garde. And so on. This is what meant. I'm not sure whether it was clear because many things were being discussed there at the same time.

rustic latch
#

Nah, all good - but I understood that I'd need either an update on SE side to autoforce them, or an update that will do that and let me override them

#

Meaning - that specifically won't be on my end

inner hare
#

that I'm not sure of because I only understand half of the things mym is saying on the purely technical side 36vehks

#

but I'm sure it's solvable. It's just a cap.

rustic latch
#

Yeah, I can read those settings if I want to

#

and apply

#

But imo the enforcement should probably happen on SE side

#

and Mym was going to change how stats are passed in to SE, for feats so - probably then

inner hare
#

ok

rustic latch
#

And reading on my end would be a bit jank - I'll need the groupKey and it's only in Mym's code, so I'll have hardcode the value and if it ever changes -it'll break

inner hare
#

ok

#

mod is fun af btw. I'm having fun while dying to skeletons, getting hit by mudcrab to test creature exemptions and keeping guard up in order to gradually get pummeled by a warhammer-wielding maniac.

#

it's not always the norm for testing sessions

rustic latch
#

Well, I had to get something right, hadn't I?

inner hare
rustic latch
#

Now that's a badge of honor

Gonna swap your ๐Ÿง for datchim on the thread reactions 36vehks ?

inner hare
#

I consider this mod to be Mercy-like in terms of overall gameplay impact, i.e. sth that it's hard to play without once you got that first taste.

rustic latch
#

It's something i've been missign in MW for two decades

#

So, here I am

amber slate
#

I appreciate how well-weaved into the core of the game N'garde is

inner hare
#

one thing which is annoying in many combat-focused mods is that they are player-only. This is a pitfall that this mod avoids, fortunately. It seems to be well integrated into the game.

#

ninja'ed!

amber slate
#

it's not just "you have a perfect parry now lol" it integrates with the base systems really well

rustic latch
inner hare
rustic latch
#

Other combat mods I've seen are either "whole different game" or "player got stronger for no good reason"

#

Hence, we are here

inner hare
rustic latch
inner hare
#

fuck-the-player policy

#

but on a more serious note, rampant OP stuff is prevalent in combat-focused mods

#

not only here (MW) but also in other TES games

rustic latch
#

oh yeah. Skyrim combat mods come to mind