#Perks

1 messages · Page 2 of 1

lean stump
#

Doing a bit of cleaning in FactionPerks to make the menu less cluttered. Basically making sure that all the relevant requirements are present before showing them.

@atomic venture Are hidden perks still obtainable? I was thinking of hiding perks that you already have so that the perk list doesn't become a mass of names as you obtain more - seeing as you can already see them in the Stat Window

#

Don't worry, I saw the error on the line regarding checking to see if both inFaction and correctFactionRank are true and already fixed it

atomic venture
#

Even if it is hidden

lean stump
#

Ah, I see

lean stump
#

Right, that's all sorted, so it's way less cluttered, and means you're not spammed with perks you can't unlock. This is currently available on the Github version of the mod

Next of the docket is fixing idempotent perks - had a few reports of it, and I can see how it could be happening. So going to address that, then upload the previous version and this patch together as v1.2

Then gonna work on an optional Vampires add-on

lean stump
#

Oh bugger, I messed up a bunch of code. I need to fix this

#

accidentally replaced a bunch of >= and <= with ==

lean stump
#

Phew, I was wondering why my Fighter's counterattack was proccing on every single hit

lean stump
#

Almost finished doing a big patch that fixes idempotency issues, as well as incorrect value states for Wit of House Telvanni and Magical Cartography (the stored values would zero out on booting up a new game session, but the buffs would be applied, then the cached values would be loaded, and apply to the still buffed values, leading to stacking effects)

Filtering out "harmful" effects for Wit of House Telvanni, because I couldn't find a way to keep the "downside" without it being messy

#

Currently doing a fair bit of testing for the edge cases that I can think of, and if all goes to plan, it should be up in the next day or so

lean stump
#

I FINALLY fixed the biggest issue that was causing me problems

#

Holy CRAP

#

I wanted to get it fixed before the update but I was really struggling to get it sorted

#

But it WORKS

#

I can finally cull spell effect durations through save/load, so you can't abuse it to infinitely stack effects

lean stump
#

FactionPerks 1.1.8 has been uploaded!
Fixes include:
Fixed fortify effects not applying correctly
Fixed persistence issues with Wit of House Telvanni enchantments
Fixed inter-save stacking of Mages Guild Magical Cartography
Added the following commands to help track any MG:MC issues:
"lua mg cartography dump" prints a list of all visited locations to console
"lua mg cartography clear" clears all visited locations from this save

eager fractal
lean stump
#

Major bugfix implemented:

No more stacking CastOnEffect enchants with Telvanni
No more infinitely stacking modifiers with perks that apply Fortify to dynamic stats

Guide posted on the main page to instruct people on how to fix broken modifiers

lean stump
#

Testing my 0.51 branch of the mod, adding East Empire Company, which can manipulate the amount of gold held by merchants, wish me luck!

lean stump
#

Need to fix it so it applies after a restock too, just noticed

#

But with (probably placeholder) current values:
EEC Perk 2 increases gold by 250 or 25%, whichever is larger
Perk 3 by 500 or 35%
Perk 4 by 1000 or 50%

In that screenshot, I have Perk 3, and he starts with 12000 gold base

#

Will probably look at final values around
50/10%
150/25%
250/50%

#

But also might do a tie-in with Tamriel_Data, and add a third scalar, which is 1/5/10% of your EEC Stocks

lean stump
#

Ok yeahhhh

#

This is getting funky in a cool way

#

Instead of 1/5/10% of your EEC Stocks

#

I'm doing 0.1% of the value of your total EEC stocks if you have Tamriel_Data. To a max of 20%/50%/100% (so if the value of stocks was currently 100 septims, it would be 200/500/1000 stocks)
So it's conditionally better than the base % calculator, if you've invested money. But if you don't interact with the stocks at all, you won't see the difference

#

But, this can fluctate day to day ingame

#

And certain quests can raise or lower the base value of the stock, making it easier or harder to attain

#

Right, that should be implemented - now time to see if it works

lean stump
#

Ok, the % and flat bonuses work. It's all working first try

#

Holy

#

And the restock is working too

#

AAAA

#

Losing the perks is working... regaining them is working

#

Honestly, I just want to put a bit more flavour into it, also so it's easier to see what it's actually doing

#

Oh, and I need to reach Factor rank to see if the unique effect of the Power is working

lean stump
#

Even Factor's Promise is working properly, oh boy

#

Yeah, so I just want to get the flavour down right, trim down the perk descriptions a bit so they actually fit in the block (Is there something we could do here? A scrollbar in there, or flexible text size?)

And once I've done that, bam, time to release

atomic venture
#

scrollbars on text blocks aren't really do-able 🤔
the text could be scroll-able, with work but it will be funky
changing text size will not work consistently because of GUI scaling I think

you are free to play around with the framework itself; I'm happy to take patches. you know what you are doing now 😄

lean stump
#

The OpenMW 0.51 version has been released as an optional file download - to keep it simple, just use it to replace the existing version, though installing it by itself works too, as it contains all the files

#

Factor's Promise cast, further increasing their reserver

#

Empires Coffers adds 450, because 50% of 900 is larger than 250. The Portfolio adds 137 because I want that to be a gold-sink reward, I have 1000~ stocks currently worth about 130 something.

Factor's Promise triples the value of Empire's Coffers for the next 30s - adding what should be 1350 with this logic instead of 450. But I've just noticed that's not working properly...

Even if it just adds the lower bound of 250*2 (500) then it's still 50 gold short

#

Some shenanigans are afoot

#

It worked with another merchant properly

#

Oh I'm a dumbass KEKW

#

Do you know what 2074 IS equal to?
900 + 900 + 274

#

Because I forgot to account for the fact that this acts as a replacer for the base calc, not a modifier

#

factorExtra should be base*3, not 2

#

So now it should be - in this scenario

#

900 base

#

450 * 3 = 1350
128 * 3 = 384 (stock value changed, so worth less today)
= 1734

  • 900 = 2634 gold expected with Factor's Promise
#

Fix has been uploaded

lean stump
#

Hmm, now running into an issue with the stocks value, and trying to understand why it's not working

#

I feel like I'm not seeing correct values for the stock portfolio - I'm interacting with a merchant with a base of 12000 gold, and only seeing a bonus of 144 gold - when I own 1039 shares at a current 95 value each which total to 98705
0.1% of that is 98.705

So with me being Senior Factor - I should be expecting 11844 more gold from stocks, not 144

atomic venture
#

Have you looked at Best I Can Do for code inspiration?

lean stump
#

Not yet, I'm re-reading the code to see where I could have tripped up

#

Oh that's odd

#

Wait nvm, I misread my debugs

#

I'm seeing the issue

#

Better view

#

Miscalculation in the % value

#

Thereeee we go

#
    local stockComp = 0
    if hasTamrielData then
        local s         = EEC_STOCK_BONUS[rank] --Gets current rank's stock limits
        local portfolio = getEECPortfolioValue()
        local stockRaw  = (math.floor(portfolio * s.pct)) / 100 -- calculates the percent value of the total stock
        local stockCap  = math.floor(baseGold  * s.cap) -- Sets the cap to the % value of the merchant's base gold
        local stockValue = math.floor(baseGold * stockRaw) -- Sets the % value of the stock amount in regards to the merchant's gold
        stockComp = math.min(stockValue, stockCap) -- Gets the lower value of the current percent value or the rank cap

So I was calculating the portfolion by multiplying it by 0.001 - effectively doing a divide by 100, but the issue was is that calculates the % value of the portfolio, which is used in other sections of the code, I needed to further divide that by 100 to get the correct value to multiply baseGold with later

stockCap works properly, finding the % value of the stock cap from the table, and multiplying the merchan'ts base gold by that amount to find the max amount of gold I can give them.

I forgot to add stockValue, to find the amount of gold the portfolio % would grant, and I was just adding the % value (128 in the previous example) of the portfolio instead of multiplying that value by the merchant's base gold to find the amount that would give (when it should have been baseGold * floor(1.28, 1.00)

#

Now for the other test, with Factor's Promise

#

(6000 + 12000) * 3 = 54000

  • 12000 = 66000

Oh dear, the previous Factors Promise was working correctly, it was the stocks that were broken

#

welp, easy fix

#
  • 2 is 36000
  • 12000 is 48000

Correct!

#

I wonder if it was because I calculated the bonus without the Promise first, and then added Promise

#

Yes

#

Right, time to fix that

lean stump
#

All sorted and uploaded now :3

lean stump
#

Before I start working on SkillPerks - I'm gonna take some time to learn the UI stuff, and see what I can do with it.

All the more opportunities to learn new skills, especially now that FactionPerks is in a place I'm happy with

atomic venture
#

Woo! UI stuff is annoying sometimes but it can be very rewarding

lean stump
#

I feel like making a comfortable UI can improve the flow of a mod by a lot

#

No offence intended to you - seeing as the framework works wonders, but the UI is usable at best, I still run into a few issues with it myself

#

But, it's already better than what I can currently make

atomic venture
#

No offense taken 36vehks

lean stump
#

Currently WIP, not working entirely the way I expected, but steps are coming

#

Need to tweak other UI stuff, but it's functioning!

#

It becomes just as easy as adding in a category into the requirements

#

Currently, a Category is a table made up of 3 entities

#

It's entirely optional

#

1: String - Dictates the tab at the top which it will belong in - the tabs are dynamically generated

#

2: String - Titles the dropdown menu in it's respective tab

#

3: Integer - Dictates the order within the dropdown menu that it will be sorted by

#

Gonna do a bit more testing, then will branch it from your main, if that's ok @atomic venture ? Just so I can do version control when it's in a state I'm more happy with

#

Oh, I also bound the scrollwheel, so it doesn't loop around in this version - that got really frustrating xD

lean stump
atomic venture
#

Cool! Yeah please feel free to fork or whatever. Just keep it AGPL etc

eager fractal
lean stump
#

Man, UI design is frustrating, this is why I struggled in Website Design in college xD

unreal scaffold
#

fuck CSS

#

all my homies hate CSS

lean stump
#

I've got tabs working, got categories working, and I've got in-type ordering working

unreal scaffold
lean stump
#

I've changed some wording to make things a bit more understandable

The buttons at the bottom now read "Acquire" and "Exit"
Current perk points, and the cost of the currently selected perk are displayed next to the buttons

unreal scaffold
#

And while the tabs at the top look nice, I doubt its scalability

lean stump
#

But somehow, every time I change something, the description box breaks

unreal scaffold
#

second list with groups to the side or folders would've been a more reliable option imo

lean stump
#

That does make me think I can instead tab by mod, then the categories specified in the mod files themselves dictate their sorting within that instead

#

There's a bunch of ways to do it

unreal scaffold
#

the design is very human todd

atomic venture
#

double scroll list is very nice imo

#

but if you break controller controls I'll cry

lean stump
#

That's a truth, I need to ensure my changes are controller compatible

lean stump
#

Hhhhhh, I can get the text layout and costs places nicely, but that pushes the buttons out of the menu

atomic venture
#

Ui is frustrating 😞

lean stump
#

UI design always makes me want to pull my teeth out - but I know it's so conducive to good user experience

#

I explained it to my friend:

It's like editing a Word Document, and moving a picture around - the stereotypical meme. Except you don't know that it's messed up until you've saved it and sent it out on an email

atomic venture
#

LivelyMap was the most complicated UI I will ever do in openmw. Totally nuts, mixed in 3d

#

Got burned out a long time after that one

lean stump
#

I got it working!

#

That was hellish

#

Still fixing some more issues though, "excessive" requirements (in my case, regional branches of factions) is causing requirements cutting off. So working on that

#

I might see if I can make a "Flavour" and an "Effects" text set

atomic venture
#

Maybe you could extend requirements to have a visibility flag and just not print it

#

Actually, make a custom requirement that contains a bundle of faction requirements and set your own requirement text. That is the best way

lean stump
#

Probably, that was one thing I was gonna tackle after this - I just want to be able to view flavour and mechanical text without it becoming a massive blob

lean stump
#

still trying to fix these damn text clipping issues ;-; I think I'm almsot there

dull igloo
#

I've been really enjoying the faction perks mod after having the issues I was facing fixed

atomic venture
#

@lean stump would you like edit permissions on the perk framework nexus page, or are you planning to publish your fork separately there?

lean stump
#

Once my fork is more complete, we can talk about it, I'm still ironing out a lot of bugs, including one that causes a CTD ^_^;

#

Pagination is... annoying to achieve. But I want to be able to have perks that list multiple effects without it becoming just a huge blob of text xD

#

And something is causing a CTD and idk quite what, so lots of experimenting

atomic venture
#

You can fake it by adjusting position to negative values in the child, and make the parent a constant size widget

#

You won't be able to render a scrollbar though

lean stump
#

Yeah, the scrollbar was noted, was creating buttons that changed pages

#

Oh, and don't worry, I've been keeping controller compatability ;)

#

My current goal is:
Visually compress requirements if they're a table of sub-requirements, and reduce the space between lines to increase space on the page
Display a (optional) Flavour Text section - this is displayed no matter what page of the Description you're on
If the Description gets too long (or if spacers are placed in for manual control) split the description into multiple pages to not clutter the page

lean stump
#

I added a little more for legibility on my end (Effect x:)

But it works!

#

Working on adding something that changes:
"Mages Guild Evoker, Skyrim Mages Guild Evoker, Cyrodiil Mages Guild Evoker, Hammerfell Mages Guild Evoker"
in Requirements

To instead be parsed as
"Mages Guild Evoker in: Morrowind, Skyrim, Cyrodiil or Hammerfell"

lean stump
#

This one doesn't have flavour text and description seperated, but still loads and doesn't CTD

#

And it compresses the multi-requirement down

#

Hell yeah

#

Automatic pagination for perk descriptions that exceeds the character limit also work

#

(just splits by word amount, not by section, allows for longer descriptions, but doesn't make it as bite size as manual pagination)

lean stump
#

@atomic venture I leave this up to you, technically, the only changes are in perkpage.lua and perk.lua
I'd be happy for you to merge it with your main file.

Though I need to test controller compat a bit more, my controller broke - the code should work though
left and right on dpad changes the current tab
left face button opens/closes current dropdown
left and right shoulder buttons changes description page

I am unsure how to get the scroll to skip the hidden perks currently, but it shouldn't be too hard for me to get working soon, and for the currently "selected" perk to be more visibly selected so that it's more visible for controllers

But if you'd prefer to keep it separate - then I would probably either upload them as a set of replacer files either as a standalone mod (with PerkFramework as a requirement, obviously. I'd only upload the two files, not the entire mod) or as optional files for FactionPerks and other Perk mods I would make

#

Credit will obviously be given, as I wouldn't gotten this far without your work to begin with

atomic venture
#

What you have to do is this:
Add an AUTHORS file and put our names in it.
Update the copyright notices in all the files you changed to point to the AUTHORS file.
Don't remove the LICENSE file.
If you upload to Nexus, you need to select "custom permissions" and direct them to the License file.

This is all you are required to do per the license. You can reupload the whole mod if you want, provided you follow those rules

lean stump
#

👍

atomic venture
#

I'm happy to either give you edit perms on the framework mod in nexus, or if you want download credit I can point a link to your fork on my version of the mod

lean stump
#

I suppose my question would be: Would you want these functions in the base mod, or not? Because that dictates the direction more I feel

atomic venture
#

I like them and would want them in the base mod. We can upload it as v2, and keep the old version around if people prefer it for some reason

lean stump
#

Sounds good to me, I'll just update the files as you've requested and push that to my branch

atomic venture
#

Cool, I'll give you edit perms in Nexus

#

You already have perms 😆

lean stump
#

ooh, I'll update the readme too to contain the new sections of building a perk

lean stump
#

Do we want the base version, or this one to be considered the default?

#

Might be safer to direct it to the new version, so that people using auto-downloading methods don't grab one that is incompatible with categories and flavour text if they download the version of my mods that contain those

atomic venture
#

Yeah make the new one the default. Keep the old in case there is a bug

lean stump
#

Done :3

crystal comet
#

Right?

lean stump
#

I mean, that's why I focused on patching that CTD so much, and blur's suggestion to just push the text into negative space instead of dividing into seperate bites worked perfectly

#

Honestly, one thing that's useful being the only current perk mod, is that it's easier to identify what is causing errors

crystal comet
#

I've never heard of any bugs in Morrowind or Morrowind mods trollvehk .

lean stump
#

We don't have bugs, we have Shalks and Scribs

crystal comet
#

Features doitswit

lean stump
#

I can't test the controller functionality, but as far as I can tell, it should work fine.
Next thing I need to add for my own sanity in that case is:
Scrolling skips unavailable perks/menus
Currently Selected perk is highlighted a bit more visibly (might not be needed if the scrolling thing is done)
Obtained perks are displayed in a different colour to unavailable ones, to make it easier to parse visually

dull igloo
lean stump
#

The current release version of FactionPerks doesn't currently have the flavourtext and categories etc

#

But

dull igloo
#

Bet

dull igloo
lean stump
#

Categories in this version are applied to all of the perks

Only flavour text and manual pagination mainly applied to East Empire Company, but I will sit down later tonight and work through the other factions

#

The other factions are getting it automatically applied where needed, and the branch requirements are being compressed for visual clarity

dull igloo
lean stump
#

Please do, there's only so much testing I can do myself xD

dull igloo
#

major issue, The perk framework is NOT working for me, I can't bring up the menu at all and I think I'm noticing that the spells with the perks aren't working (the one that applies chameleon when sneaking for example)

#

I've tried both the console command and resting

lean stump
#

Anything in the lua log?

dull igloo
#

How do I actually look at that? New to morrowind

lean stump
#

F10

#

Anything in red text is important

dull igloo
#

Honestly, I'm getting stuff in red text but nothing to do with the perks, just another mod I have

lean stump
#

what happens when you try to open the perk menu?

dull igloo
#

absolutely nothing

lean stump
#

Hmmm

dull igloo
#

It does work when I go back to the old version of the perk framework tho

lean stump
#

Lemme double check something

#

I might have missed a file

#

Oh did i forget the manifest and list files somehow, let me make sure

dull igloo
#

yeah just went back to the old framework to make sure, still works fine

#

the new one almost acts as if the mod doesn't exist

lean stump
#

Yup, I forgor some files

dull igloo
#

brother forgor💀

lean stump
#

Wait this is odd, it's showing in the git files, let me check again

#

Why is this working for me then

#

Do you mind showing me your mod list?

dull igloo
#

is there an easy way to do that?

lean stump
#

Should just be able to screenshot your mods in the launcher?

dull igloo
#

got you

lean stump
#

Ah, I think I see

dull igloo
#

I think this is better

lean stump
#

Did you place the files from the new framwork into the existing folder, or did you delete the old one and replace it with the new one?

dull igloo
#

I did the first thing you said, then I deleted all the files in the framework and replaced them with the new ones

lean stump
#

Because if you deleted and replaced, just check to make sure the file path is still accurate for both of them

dull igloo
#

nope, still nothing

#

I just put the new files in the folder itself and added it to my directories

#

and it's still not working

lean stump
#

Try replacing the current file in ErnPerksFramework/Scripts/pcp with this, might be it

#

Just trying to narrow things down

#

I'm just confused, because it's file-for-file the same as the one I'm playing on right now

dull igloo
#

still nothing

#

I even tried a test save to see if it was a new save only thing, this shit is just not working

lean stump
#

That would normally suggest an error when the game loads, but there's nothing in the log at all?

dull igloo
#

I even unloaded every single mod except for perk framework and what it needs (and I think tamriel rebuilt) but nothing

lean stump
#

OH

#

I think I see

#

You're loading the spells after the mod itself

#

Try the other way around

dull igloo
#

nope

#

still nothing

lean stump
#

Huh

dull igloo
#

yeah it's the framework completely, The other issue must of been something else cause I respec and readded the perk and the chameleon actually worked.

#

i do have more info

lean stump
#

Without a log, it's hard to tell what's going wrong, especially when it's working on my end

lean stump
dull igloo
#

when I update the framework, it pops up multiple times in the scripts menu section

#

like three sections for "ErnPerkFramework"

lean stump
#

Do you mind trying again, and copying that text into here? You can click+drag to select the text in the log, and ctrl+v to paste it

#

Just wanna see what it's doing

dull igloo
#

yeah let m,e just go back to the new framework

#

The Morrowind Files

lean stump
#

I'm seeing a ton of errors for "omw acheivements" and "Alteration Movement"

dull igloo
#

exactly, but I'm not seeing anything for the perk framework

lean stump
#

What gets me is that I run Alteration Movement too, and I don't get those errors

#

Just to confirm, what version of openMW are you running?

dull igloo
#

0.51.00 RC

lean stump
#

Ok, same as me

dull igloo
#

update with out the mods causing clogging up the log with errors

lean stump
#

Huh that's

#

That's not me - I don't call for any animations

dull igloo
lean stump
dull igloo
#

nope

#

I tried it

lean stump
#

hmm

#

Why the hell odes it work for me and not for you

#

That's what I'm wondering

dull igloo
#

I got one last idea and if it's this, the game is dumb

lean stump
#

Based and true

dull igloo
#

nope the game surprisingly is not dumb

#

I'm officially lost

#

I might just have to stick to the old framework and just see if more people trying it out figures out the issue

#

I also gotta actually work on music lol

lean stump
#

Yeah, just remember to switch back to the non-Flavour patch perks on the old framework

dull igloo
lean stump
#

That's

#

Odd, but good at least

#

I guess it just doesn't process the flavour text or categories

#

But everything else is fine

#

Right, I've tried installing the git version of the mod - which should be identical to the one on my pc

#

Aaand it works perfectly for me

dull igloo
#

hey I'm back, weird thing I got (because I'm procrastinating the music) so, I'm on the older framework, older version of the faction perks on the nexus mods. They all work, but upon loading my saves with the perks, It stops working.

lean stump
#

That's odd, I didn't touch any of the save stuff

dull igloo
#

I mean, when I load a save, the perk with chameleon stops working

#

It works perfectly fine otherwise

lean stump
#

Oh hmm

#

You're getting the stats still right

#

But no chameleon?

dull igloo
#

yeah

lean stump
#

That's one of the first perks I made, so I think I know why

#

Lemme check

dull igloo
lean stump
#

Just a single file change, I've uploaded it to the git, but this is the only one you need to change if I know how it was failing

#

I think the issue was that it wasn't saving that you had the variable that allows you to cloak. But the flag was already changed so it didn't update

#

That's my current theory

#

Am going to go make some dinner, so if I don't respond, that's why 👍

eager fractal
#

I would be glad to test this next week on clean install. Just to clarify do I need your Git Clone and the PerkFramework Git Clone?

dull igloo
eager fractal
#

Maybe a stupid question but should "lua perks" always open the perk menu, even if I'm not eligibly for any perks? Then I would not work with my fresh install either I'm afraid.

#

Ok I guess my setup is failing since I cheated wrong? I just set my intelligence and willpower to 100 and PCRaiseRank "Mages Guild" a few times. The first time i "enablemenulevelup" i get the perk menu, although the word wrap feature is not active (maybe I cloned the wrong repo).
After that the menu does not open, even with "lua perks" and even if i do "lua respecperks" before that. Can't see anything in the log either. Is my setup wrong?
The only thing I see are these warnings which I guess are irrelevant:

[22:47:58.654 W] unused key 'horizontal' in props
[22:47:58.654 W] unused key 'autoSize' in props
[22:47:58.657 W] Warnings generated for LuaFlex named 'detailLayout':
[22:47:58.657 W]   in content[0]:
[22:47:58.657 W]   Warnings generated for unnamed LuaWidget:
[22:47:58.657 W]     unused key 'arrange' in props
[22:47:58.657 W]     in content[0]:
[22:47:58.657 W]     Warnings generated for unnamed LuaImage:
[22:47:58.657 W]       unused key 'alignment' in layout
[22:47:58.657 W]   in content[2]:
[22:47:58.657 W]   Warnings generated for unnamed LuaText:
[22:47:58.657 W]     unused key 'alignment' in layout
[22:47:58.657 W]   in content[3]:
[22:47:58.657 W]   Warnings generated for LuaFlex named 'vflex':
[22:47:58.657 W]     in content[1]:
[...]
lean stump
lean stump
#

The word wrap issue with the requirements is an issue resolved in the Expanded framework

#

Because it compresses down multi-branch requirements

lean stump
#

Pushed an update to the Expanded Framework!

Changes

  • Improved and fixed controller/keyboard navigation
  • Highlighted perks that have already been obtained
  • Scrolling/Navigating now skips unavailable perks
dull igloo
lean stump
#

Woohoo!!

#

I wonder what fixed it? But regardless, I'm happy that it does

dull igloo
#

Ok i think I noticed something

#

It does the thing I was talking asbout where the abilities and stuff like that don't work unless I type "lua perks" in the console

#

then it works all fine

#

so I think it's just something where it's not initializing the perks I have

#

but it's perfectly fine afterwards

lean stump
#

It takes a few moments to initialise all the perks

flint portal
#

Mod looks great and I think I'll give it a shot but I have question regarding balance, doesnt this make game strictly easier because perks === free skill, attri points?

lean stump
lean stump
pine birch
#

@lean stump . Hi

Got a report of no-skill gain happening with N'Garde installed.

Looks like it actually happens in:

[string "scripts/factionperks/fperks_il.lua"]:113: attempt to compare number with boolean

It's in your Imperial Legion SkillUseHandler:

interfaces.SkillProgression.addSkillUsedHandler(function(skillId, params)
    if skillId ~= "block" then return end

    local rank = getILRank()
    if not rank >= 3 then return end

not sure how rank can be boolean, getILRank seems like it can't return that, haven't dug deeper. But I trigger skillUse via a pcall, and it seems that your handler breaks under certain circumstances.

lean stump
# pine birch <@189131800545722369> . Hi Got a report of no-skill gain happening with N'Garde...

Thanks for the report, this helped me learn more about how lua actually functions here. I did some digging, and apparently "not" is a higher order operator than ">="

So it was being parsed as

if (not rank) >= 3

This would make it return Nil if rank was a number, then attempt to compare that to 3, which would cause the error.

So I just need to change it to

if not rank or rank > 3

Feel free to change that in your own version, and I'll make an update to the ones on Nexus

pine birch
#

Can't you do if not (rank >= 3)?

#

Duh, no. It can be nil

#

Disregard

lean stump
#

👍

lean stump
#

If anyone is willing to answer, I have put together a Google Form to help me collect some community suggestions for SkillPerks

The current working idea will total a whopping 270 perks (Technically 162, but the weaker perks have upgrades)

A perk at skill level 25, that upgrades at 50, 75, and 100
A perk at skill level 50 that upgrades at 100
2 Perks at level 75 that are mutually exclusive, and has the player choose between a generic buff or a skill-specific buff
2 perks at level 100 that requires the level 100 version of the level 25 perk, and one of the level 75 perks. This acts as an evolution of the level 75 perk to give a feeling of mastery.

Because of the sheer number of additions, I will work on this one category at a time, (Combat, Stealth, Magic) but will take suggestions for any skill that is not currently finished or in progress.

Suggestion Form:
https://forms.gle/8LUTkBz8ERY7ih7j7

#

For anyone who wants to read a little design idea, here's the rough notes:

#

OpenMW SkillPerk Mod Notes

Core Pattern

Each Morrowind skill gets 10 perk entries:

Slot Level Purpose
A1 25 Main skill perk, first version
A2 50 Upgrade to A1
A3 75 Upgrade to A2
A4 100 Final upgrade to A3
B1 50 Secondary perk
B2 100 Upgrade to B1
C1 75 Generic buff choice
D1 75 Skill-specific buff choice
C2 100 Generic mastery, requires A4 and C1
D2 100 Skill mastery, requires A4 and D1

Design Goals

  • Give every skill an identity without turning the mod into a huge overhaul of the skill system itself.
  • Make level 25 feel like the skill has opened up.
  • Make level 50 and 75 add direction, not just bigger numbers.
  • Make level 100 feel like mastery.
  • Keep generic choices useful for broad builds.
  • Keep skill-specific choices more flavorful and more strongly tied to what the skill does.
  • Create a framework that can be used by other developers, should they want to add perks to their own custom skills.

Good Perk Idea Checklist

Use this when deciding whether an idea belongs in the tree.

  • Does it fit the skill fantasy?
  • Is it easy to explain in one short sentence?
  • Can Perk Framework/OpenMW support it cleanly?
  • Does it interact with existing systems in a fun way?
  • Is the level requirement appropriate?
  • Does the level 100 version feel like an evolution, not just a repeat?
#

Slot Notes

A Chain: Level 25, 50, 75, 100

This is the main identity perk for the skill. It should be reliable and always relevant to someone investing in that skill. This represents - beyond just the game's expected growth of efficacy - improvements in effectiveness. More damage from weapons, less impedence from armour etc.

B Chain: Level 50, 100

This can be narrower, stranger, or more build-defining than the A chain. It only needs two versions, so it should be easy to understand. Think of it like a generic "ability" that the skill grants, maybe a fully charged Blunt attack has a chance to knock enemies prone for example.

Level 75 Choice

C1 is the generic buff. It can support many builds and does not have to be deeply tied to the skill. It gives mild character-wide benefits, but does not grant effects that would exactly define a character build.

D1 is the skill-specific buff. It should feel like the player is leaning into that skill's personality.

Level 100 Mastery Choice

C2 evolves the generic level 75 choice. Maybe it grants it some capabilities that some builds really want, maybe it just empowers it, maybe it gives it additional effects.

D2 evolves the skill-specific level 75 choice. Triples down on what the skill evokes.

Both require A4, so the player needs full mastery of the skill's main chain before taking the capstone.

lean stump
pine birch
#

It wasn't on my install

lean stump
#

Ah

pine birch
#

I got a bug report for ngarde, and debug logging tells the user which mod's skillusedhandler failed

lean stump
#

I think I need to tweak the detection a little bit regardless, the counter damage is still triggering when there's damage taken - when the idea was to only deal damage if no damage was taken

#

But I'm not seeing any skill handler errors on my install anymore

pine birch
#

attack.damage is a table

#

check for attack.damage.health == 0

#

or attack.damage.fatigue == 0

maybe both, as h2h attacks are usually fatigue, but can have both with mods

lean stump
#

damage is a table

pine birch
#

yes

#

cause it has health and fatigue components

lean stump
#

Thank you!

pine birch
#

really also check for
if not attack.damage

#

cause that can happen

#

I mean attack.damage can be nil.

So check if the table itself exists, and check values on the underlying fields and that they exist

#

you will also trigger on misses

#

so maybe check for attack.successful too

#

that one is a bool

#

IIrc you want it to trigger on blocked attacks. And it's a bit funny cause with n'garde one can parry/block missed attacks, but I'm not certain base game allows that

lean stump
#

Huh, I thought I did, I might have mixed up memories of the FG counterattack.

In Vanilla, a block is something rolled after a successful attack is checked iirc.

pine birch
#

^ What I got from nexus this morning

lean stump
#

Does N'Garde turn parried misses into Successful attacks, but nulls them anyway?

lean stump
pine birch
#

It can turn all misses into "glancing blows" but two processes are unrelated

lean stump
#

Ahh

late hinge
#

Sorry to interrupt, but if I may ask:

Is it possible to affect the results of a damage roll?

lean stump
#

I need to see if unsuccessful attacks = 0 damage or nil damage

pine birch
#

Also - there's no "damage roll"

late hinge
#

Make a weapon not do max damage.

#

Trying to think of something interesting for the suggestion form.

pine birch
#

quick attack - min damage, longhold - max damage

late hinge
#

So can you affect that?

pine birch
#

it's jank, but yes

lean stump
late hinge
#

I wanted to think of something that's not necessarily Shield or Sanctuary for Unarmored.

#

Was thinking of something lowering the possible max damage amount

lean stump
#

NPC damage works differently, they randomly choose a charge level and attack at that, but technically, you could read the damage and change it. But I'm not sure if that works because the damage was already applied.

Maybe you can intercept it, and apply the adjusted amount, but I'm not 100% sure

late hinge
#

Thank you!

pine birch
#

you can easily do that

#

in the onhit handler

#

change the damage, pass it along

#

it is not yet applied when onhit fires

#

you don't need to care about charge (attack.strength) either imo

#

just drop the damage by e.g. 10% and move on

late hinge
#

Considering whether or not to lean into the religious element of factions that favor Unarmored.

#

Scaling damage reduction based on... something.

lean stump
#

Oh Arrean, does the fatigue loss from a block/parry get carried by attack.damage? Or is it applied as a seperate effect?

late hinge
#

Personality would fit the IC, not sure about TT.

pine birch
lean stump
# late hinge Personality would fit the IC, not sure about TT.

Just remember, the suggestion form is for SkillPerks, not FactionPerks.

As far as I am concerned, until I want to add TR/PT factions as an expansion, FactionPerks is complete.

Try to relate skill effects to the skill itself, and it's capabilities, more than it's relations to other things

lean stump
#

That should make things tidier, and still work with both Vanilla and N'Garde.

No need to check if it's successful or not, because I still want it to trigger on Missed Parries. But it won't trigger if the attack misses and wasn't parried or blocked, because it won't trigger the handler looking for a Block skill event

#

Hmm, still triggering when I'm dealt damage

#

Derp, I checked for AND not OR

late hinge
#

Unarmored is non-threatening. Caius goes without armor or weapon to seem like a harmless addict. Priests and monks go unarmored to show their faith. Vampire factions also favor Unarmored, but not entirely sure why.

versed jewel
#

the non-threatening aspect also is interesting actually. Not sure how it could go. like, it could be interpreted as both being underestimated (easier to taunt people into attacking? ennemies less likely to flee?) or being more approachable (boosting chances of "admire" success? boosting disposition?)

late hinge
#

Being armored is the default position for most classes and factions. Even the stealth-focused MT and TG favor Light Armor for it's greater protection at minimal weight cost. You probably have a very specific role in mind if you choose to forego armor.

sick ice
#

Ordinator had a perk, I don't remember the exact mechanism, but it gave you a stacking buff that expired when you got hit

lean stump
#

@pine birch If an attack is not fully blocked, I'm assuming that damage isn't carried through by attack.damage, and applied after the fact, right?

pine birch
#

you will be incorrect

versed jewel
pine birch
#

vanilla only ever blocks full damage.

N'garde can let some damage through, it is still carried by attack.damage

lean stump
#

Huh, then why is it that when I check for if no damage is dealt, the reflect still goes off?
If damage was dealt, then it shouldn't fire

#

Unless

#

Ohhhh

sick ice
#

also perhaps specific for n'garde usage: give you a resistance bonus when you're in the blocking stance with a shield. Or similarly when you raise your shield to block you get some small window of 100% reflect with a sufficnetly long cooldown.

lean stump
#

I think I understand

#

It's doing damage after the onHit handler is checked, right?

sick ice
pine birch
lean stump
#
interfaces.Combat.addOnHitHandler(function(attack)
    ilLastAttacker     = nil
    ilFatigueBeforeHit = 0

    local rank = getILRank()
    if not rank then return end
    if not attack.attacker or not attack.attacker:isValid() then return end
    if not attack.sourceType == interfaces.Combat.ATTACK_SOURCE_TYPES.Melee then return end
    if attack.damage then --If the attack has damage inside it
        local healthDmg  = attack.damage.health  or 0 -- Get the health damage dealt
        local fatigueDmg = attack.damage.fatigue or 0 -- Get the fatigue damage dealt
        if healthDmg ~= 0 and fatigueDmg ~= 0 then return end -- If the attack did ANY damage, then do not return damage
    end

    ilLastAttacker     = attack.attacker
    ilFatigueBeforeHit = types.Actor.stats.dynamic.fatigue(self).current
end)

This is how the onHit is tracked

#
    if skillId ~= "block" then return end

    local rank = getILRank()
    if not rank and rank > 3 then return end
    if not ilLastAttacker or not ilLastAttacker:isValid() then return end

    local blockSkill = types.NPC.stats.skills.block(self).modified
    local reflectDmg = math.floor(blockSkill * 0.25)

    ilLastAttacker:sendEvent("FPerks_TakeDamage", { amount = reflectDmg })

    local fatigueNow  = types.Actor.stats.dynamic.fatigue(self).current
    local fatigueCost = math.max(0, ilFatigueBeforeHit - fatigueNow)

    if fatigueCost <= 0 then
        fatigueCost = reflectDmg * IL_FATIGUE_PROXY_SCALAR
        print("IL Resolve: fatigue delta was 0, using proxy: " .. fatigueCost)
    else
        print("IL Resolve: fatigue delta precise: " .. fatigueCost)
    end

    local restorePercent = IL_FATIGUE_RESTORE[rank]
    local fatigueRestore = math.floor(fatigueCost * restorePercent)

    if fatigueRestore > 0 then
        local fatigue    = types.Actor.stats.dynamic.fatigue(self)
        local maxFatigue = fatigue.base + fatigue.modifier
        fatigue.current  = math.min(fatigue.current + fatigueRestore, maxFatigue)
    end

    ambient.playSound("health damage")

    print("IL Resolve: reflected=" .. reflectDmg
        .. " fatigue restored=" .. fatigueRestore
        .. " (" .. (restorePercent * 100) .. "% of " .. fatigueCost .. ")")

    ilLastAttacker     = nil
    ilFatigueBeforeHit = 0
end)```

This is the Skill handler
#

But

sick ice
#

re: monk types - something that would let you hit harder (use more fatigue) to deal more H2H damage

lean stump
#

The damage is being dealt between the onHit, and the skillHandler check

#

I think

pine birch
#

...

#

Even if it is - I'm not sure how it's relevant.

#

Also - why do you even need the skillUsedHandler here?

lean stump
#

To make sure that Block triggers. Because I have another effect in the mod which can reduce damage to 0

#

And because it is able to regenerate a % of fatigue used when blocking

pine birch
#

That's a fragile way to do it

lean stump
#

Oh?

pine birch
#

give me a sec

#

try this:

interfaces.Combat.addOnHitHandler(function(attack)
    ilLastAttacker     = nil
    ilFatigueBeforeHit = 0

    local rank = getILRank()
    if not rank then return end
    if not attack.attacker or not attack.attacker:isValid() then return end
    if not attack.sourceType == interfaces.Combat.ATTACK_SOURCE_TYPES.Melee then return end
    if not attack.damage then return end
    if attack.damage then --If the attack has damage inside it
        local healthDmg  = attack.damage.health  or 0 -- Get the health damage dealt
        local fatigueDmg = attack.damage.fatigue or 0 -- Get the fatigue damage dealt
        if healthDmg > 0 and fatigueDmg > 0 then return end -- If the attack did ANY damage, then do not return damage
    end

    ilLastAttacker     = attack.attacker
    ilFatigueBeforeHit = types.Actor.stats.dynamic.fatigue(self).current
end)
lean stump
#

Yup that works!

#

ty ty

pine birch
#

you forgot to check if attack.damage exists at all

lean stump
#

At first I was thinking that

#

If attack.damage was nil, then it's the same as no damage being dealt, so it should be ok

pine birch
#

Or rather - you didn't early out if it doesn't

lean stump
#

But somehow checking to see if nil damage wasn't true, that resolved the issue of if damage WAS dealt

#

Coding amirite

#

Wait nevermind, it worked once, then didn't work a second time

#

Whaaaa

lean stump
#

I'll take another look at it later

atomic venture
#

@lean stump I think your expanded version is missing the latest update

#

Having installed Expanded Framework, I'm no longer seeing any option in the Script Menu to have it open on rest.

lean stump
#

Ah yeah, likely, I'm not using NCG, so I forgot about that patch

#

I'll get on that

lean stump
atomic venture
#

You can test by setting the mod setting to on and then resting

lean stump
#

Will try that shortly

#

Hm, the mod has disappeared from the scripts settings list

#

Helps to not accidentally remove settings.init()

#

Ok, the fix works, just need to upload that to Nexus now.

#

Uploaded, Expanded Framework should now be compatible with NCG!

copper owl
#

This is amazing work. I might be tempted to try and make my own perk addition for this.. A bunch of small things, starting with a perk for each skill then expanding from there maybe.. Then again my Lua scripting is rusty- And by rusty, i mean its crumbled to dust-

lean stump
copper owl
#

Yehh

lean stump
#

I'm making my own Skill Perks too, but that's in the style and structure of my own. (Dear god there's going to be so many)

#

The more perks the merrier!

copper owl
#

is there a way to fortify an attribute/skill without keeping you from leveling it.

lean stump
#

Apply it as a modifier, instead of through an Ability

copper owl
#

Modifier, gotcha

lean stump
#

Remember to ensure that perk effects are idempotent, like instead of just applying the modifier (which will cause it to be applied every time the save is loaded), set a flag that applies the modifier when true, and removes it when removed.

copper owl
#

Okay that makes sense

unreal scaffold
#

If you want, I can share a pdf with some of the ideas thrown around during its development

copper owl
#

i actually found that myself

unreal scaffold
#

🤝

lean stump
#

Just pushed a fix to nexus for FactionPerks!

Followers, NPC's, and other combatants no longer accidentally trigger Mephala's Kiss (MT4) when the player is Sneaking

Apparently I forgot to filter the trigger to check if the incoming attack was from a Player, and just checked to see if the player was sneaking xD

#

That's been in the mod since day 1 apparently, so I'm honestly surprised it took this long to be noticed

lean stump
#

A few idea documents for SkillPerks that I've collated - some a more developed that others, some are just placeholders until I see how implementation goes:

sick ice
#

this is smart stuff, I like the focus on how the skills work base game

#

especially things that change your gameplay incentive - like alchemy creating a playstyle that you always want to slam a potion, alteration you always want to be messing with feather/weight/shield effects

#

mysticism always be soul trapping

#

I feel like that gets you out of your gameplay rut a little bit

lean stump
#

I feel like I'm always pushing towards "Just run Absorb Health spells bro, that way you don't die if it gets Reflected"

So I wanted to push other effects, and while Mysticism's A-chain of perks is closely tied to Enchant, I feel like that's a given because of how closely intertwined they are as skills in the first place

sick ice
#

Yeah, it's so easy to fall into meta gaming or jack of all trades in morrowind

#

incentives to branch out are good

lean stump
#

But that's why the C perks for Myst make Reflect/Absorb less of an issue (C Perks being ones that are generically useful)
Whilst the D perks (specialised for that skill) are "Fuck it, we Absorb it ALL"

versed jewel
# lean stump Combat Skills:

Idea for Axe :

This seems oriented towards enemy armor, but that would make some perks with no effect against unarmored opponent. I tend to think you wouldnt want to get hit by an axe without armour though.

-> what of high-mastery perk adding a bonus when hitting an enemy with damaged/no armour?
Could be a classic bleed, straight up bonus damage, or maiming effect (but since other weapon specialise in disabling effects, and straight damage is boring, I tend to favour the DOT option).
It would also be in line with the damaging armour theme : damage armour, then reap the benefit?

lean stump
#

Also, I might see if I can detatch the stat buffs in FactionPerks from spells, and make them part of the perk itself, and then see if I can tie that in to Stat Window Extender to show up as a different "source"

lean stump
versed jewel
#

Love the idea of fear on kill though. I already picture the barbarian wearing little armour, berserker like, and the fear would help survivability in group encounters

lean stump
#

I always found Axe struggled in group fights unless you were strong enough to oneshot, because Axes tend to be so slow

#

Was thinking of having the demoralize be based off of the level of the killed enemy, so you could literally "cut their leadership off"

versed jewel
#

Though fear would have to be carefully balanced to be an asset. Not too short duration/range to still be helpfull, while not too long because running after your ennemies when youre a melee fighter can be annoying ahah

Also, does demoralize count as an attack? Thinking of impacts towards potential friendlies in the area. It makes sense they would also be impacted somehow, but you dont want to make them start a fight with you afterwards, right?

sick ice
#

For the axe demoralize I was definitely thinking of like, axe murderer archetype but I’m not 100% sure the neatest way to do it

lean stump
#

So it wouldn't cause bounties, or make people attack you iirc

sick ice
#

Blunt having some sort of concussive force, a stacking blind+sound effect would also be vibey

#

Get knocked around the head, trouble hitting or casting

lean stump
versed jewel
#

sound impacts how they dodge, not how they hit, right?

lean stump
#

Sound is casting chance

#

Blind is hit chance

versed jewel
#

I rarely play any illusion so Im often confused, sorry ^^

lean stump
#

Sound is potentially stronger than Silence - because an enemy with Sound will still attempt to cast spells, but a Silenced one will switch to weapons

crystal comet
lean stump
lean stump
#

Working on adding some integration with AAM and Stat Window Extender - still ironing out some kinks. Want to move representation of the stats gained from spell effects to just modifiers, then AAM and Stat Window Extender can display the exact numbers

#

The negative value is because of a weird interaction between one perk's effects being removed, and another being added

#

Goddamnit, now I need to fix idempotency again.

I watch my block go from 30 (without perks) to 40 with IL2. Save and load, watch it go to 40, save and load again, and watch it go to 50 etc

#

But I fixed the negative stat issue

#

Oh I think I know why - unlike the previous method, with Abilities (which can't stack, so it was never an issue) - the stat modifiers are saved to the character, but then when the save is loaded, it runs setRank again for each perk, and re-grants all the stat bonuses and the like

#

I can simply fix that by adding a flag first - having that be saved onSave, and loaded onLoad - and checking to see if the player has the flag. If they do, they don't need to run that setRank. otherwise, they can

atomic venture
#

What's AAM?

lean stump
# atomic venture What's AAM?

AbilitiesAreModifiers

I don't even use it personally to perform that function (just toggled it off in the settings) but it has an interface hook with Stat Window Extender that allows you to display where modifiers are coming from inside the tooltip of the stat

atomic venture
#

Ah ok

rigid holly
lean stump
lean stump
pine birch
#

CHARGE_THRESHOLD is a shared constant defined in skillperks_shared.lua. Approximately 0.8-1.0 seconds.

thats 2 to 6 times longer than real max charge durations

lean stump
#

Nothing is finished or final yet

#

Just general ideas that I'm comfortable with

#

Is full charge really only like 0.2s? That feels way too quick

pine birch
#

Depends. 2h sword thrust is 145 ms

#

2h sword chop is 300 something iirc

#

bow is just under 500

#

it's the distance between start and max attack keys in the animation group

#

you can get it dynamically in lua:

local maxTime = animation.getTextKeyTime(actorSelf, maxKey)
local minTime = animation.getTextKeyTime(actorSelf, minKey)
local drawTime = 0
if maxTime and minTime then
    drawTime = maxTime - minTime
end
#

^ the list of weapon animation groups

pine birch
#

the key format you'd need to pass into getTextKeyTime is
groupname: keynamer
e.g.
weapononehand: chop max attack

#

I was doing my testing between min and max attack

#

but maybe you'd want to do between start and max attack

#

if it's for player you also need to detect which attack type they are using. And self.controls.use lies. So you may need to hack around that by reading movement at the beginning of the attack -
self.controls.movement is fwd/bckwd
self.controls.sideMovement is self explanatory.

0/0 - chop
any/0 - thrust
0/any - slash

lean stump
#

Stuff like this is exactly why I shared to document. Other people know more than me, and it helps me understand where my knowledge is lacking

pine birch
#

maybe take a quick look at threat.lua of n'garde.
I am using all these textKey shenanigans to detect the attack strength/ draw strength for bows. It is missing the movement thing, as I've abandoned that particular part, but everything else I've described above is there

lean stump
#

Question for people:

I'm getting a little stuck when it comes to general direction in regards to a few skills -

I've got an idea to either reward the player or punish enemies when dodging in Light Armour, any thoughts as to what should happen?

What do you guys see Mercantile perks doing? This one is quite hard I've found, because a lot of things I were originally thinking, seem to be either impossible, or too hard for me understand how to do currently.

For Security - I can already give a chance to not use durability, and can easily make it so that if you interact with a locked object that you have a 100% chance of unlocking with your equipped tool, it auto-opens. But what else would you want the perks to achieve?

#

For Sneak - What can I even do? The engine doesn't expose too much, and I don't want to just do the thing that my Morag Tong perks do. What would someone who is skilled in Sneak be able to do that the game doesn't already grant?

Speechcraft - just granting increased Disposition, or improving the success rates of Disposition effects is boring, because you already get that. What could perks grant that feel appropriate for Morrowind's systems?

sick ice
#

For mercantile, I think you could look at how Make a Profit handles it although it may overlap.

#

Giving vendors more gold, bypassing sale restrictions

rigid holly
#

Without Inventory Extender, there are very few things you can do as far as Mercantile and merchants aside from changing their barter gold

#

There are a few mods which give mercantile xp on successful barters which I haven't looked into, 95% of my mod is abusing using inventory extender in some way or another

sick ice
#

I wonder if you could do something like insert bargain items into vendor inventories

#

Would incentivize you to go around trading if you could hunt a special deal

rigid holly
#

You could, but then you'd be dealing with resolving inventories, mapping items to specific services, and modifying their prices with however you want to do that, I'm assuming from createRecordDraft or load but personally it's not something I would do

sick ice
#

😕

#

Speechcraft and Security idk

#

I like how Ordinator let you use picks on automatons and also made use of traps, but that seems outside the scope

sick ice
lean stump
#

Hmmm... I wonder if I could do something funky

#

Whenever you buy multiple items, the value of the cheapest one (with max value determined by perk or skill) has it's cost refunded to you

#

Could perhaps track that value per day, so you can't just swipe an entire merchants cheap stock though

sick ice
#

Bulk Buy Eligible

#

Somewhat boring, give you a sneak bonus while you have a probe or lock pick in hand

#

Earnest: speechcraft failures are half as bad

#

Trustworthy: Friends will lend you money

lean stump
#

I guess I could check for UI mode change, compare current disp to disp when the UI last changed and if it goes down, increase the disp to a % of the difference

rigid holly
lean stump
rigid holly
#

In that case, you can do just about anything with bartering haha

#

I modify prices, change the haggling formula, remove filters for the items that are tradeable, just to name a few

sick ice
#

Code Switch: disposition/speechcraft bonus matching clothes to NPC class

#

Poor clothes = bonus with common people sort of thing

#

I’m just spitballing

lean stump
#

Hmm, I might just require more mods to be installed for SkillPerks to work properly. I've been thinking about it in a largely empty environment, but the more I look, the more limited the hooks are without other frameworks or systems exposing them

sick ice
#

Does intimidate work better with a weapon drawn? Maybe something that gives you that bonus without a weapon.

Not super useful but vibey.

#

You could also do some sort of specialization? Better intimidate, worse admins or something

lean stump
sick ice
#

What I really want from speechcraft is a way to avoid combat

#

Since it already has sort of domain dominance in NPC interaction

#

Like adds a calm power equal to your speech

#

If only we had some sort of aura effect

lean stump
# sick ice What I really want from speechcraft is a way to avoid combat

See, that sort of thing is possible - just boost the Disposition of nearby NPC's enough. Hell, you can get the same in vanilla when chugging Telvanni Bug Musk.

The issue is, that doesn't feel like a Morrowind thing. MERCY does it well enough, but it doesn't feel like a thing that a perk would do

atomic venture
#

For mercantile, you could do these-

  • reset merchant available gold instantly to their base value if it goes below their base value (or some other trigger to do it)
  • increase their base value
  • insert items into their inventory so they have more variety
#

Get bonus money for selling gems and ingots

#

Some interop with the Bricca bank

lean stump
#

I think I'm gonna do a Bank Overhaul as a seperate mod honestly. I can see so much that the game could do, that it doesn't currently

#

Thinking about Speechcraft D, I can picture something simple, but honestly quite useful for a talker character

#

D1 Reducing / D2 negating - the disposition penalty for faction rivalries

atomic venture
#

Could add a dialogue option when you get caught by a guard

#

Also a way to get around being shut out of dialogue when you're a vampire

#

A way to sell contraband

#

Bribe refunds

sick ice
#

I feel like the hard thing for speechcraft is effects that you wouldn’t also get just by raising disp

#

Using speech

lean stump
#

That is the hard part yeah

atomic venture
#

I don't really see the difference in-game

versed jewel
atomic venture
#

Speed boost during sneak is doable and good

#

Maybe also you get invis 100% for 1 sec when you first start sneaking and there's no non-companion actor in close range

sick ice
#

there's a skyrim mod or mechanic that gave you a shoadw cloak effect on entering sneak

lean stump
lean stump
#

This structure for Speechcraft feels fun - values are not final, as always. Might shift around some of the benefits, like the 2nd half of the B chain benefits probably fit D chain better, then current D chain becomes part of B chain, but at reduced strength

copper owl
#

I wonder if a reverse blind effect could even work

lean stump
#

Negative Sound is cool, it boosts your spell casting success chance

copper owl
#

I was thinking negative blind being applied by a perk to not only fortify your hit change but also be a buffer in case there's an item or spell that gives blind to the player.

lean stump
#

Mechanically identical in 90% of scenarios

#

But it's own flavour

copper owl
#

yeee