gabrielefilipp / SmartHunter

A complete overlay for Monster Hunter: World on PC
https://www.nexusmods.com/monsterhunterworld/mods/2556
MIT License
309 stars 140 forks source link

part damage and status bars #44

Open chipsnsallsa opened 4 years ago

chipsnsallsa commented 4 years ago

Maybe not the right place for this, but I'm honestly not sure where else it would go. In previous versions, there was the ability to hide the bars for monster part health and status buildup on monsters from the overlay entirely, rather then adjusting the delay before they hide themselves. Is that a possibility to add back in? I tried poking around with my very limited experience with coding, but was unable to figure a way to do so. Even removing the data on parts and statuses from the MonsterData file didn't do a thing. Apologies if this is the wrong place for this kind of question.

yonguelink commented 4 years ago

You still can, if I'm understanding right. The customization options are all in the Config.json file.

If you want to hide the parts entirely, you can set the ShowUnchangedParts setting to false and to hide the status entirely you can set the ShowUnchangedStatusEffects.

If you only want to hide the bars, you can switch ShowBars to false.

EDIT: If you want more customization, you'll need to edit the Default.xaml file... which is not trivial if you don't know what you're doing. See the How to create and use new skins section in the README for more info on that.

chipsnsallsa commented 4 years ago

I have both ShowUnchangedParts and ShowUnchangedStatusEffects set to false, but even then every time you hit a part or apply status, they flash up for however long you have the delay set to, since they're no longer considered Unchanged parts. Best I've been able to do is set HidePartsAfterSeconds and HideStatusEffectsAfterSeconds to smaller and smaller values but they still pop up and disappear every time you hit with something.

gabrielefilipp commented 4 years ago

There is an option inside Config.json, under "MonsterWidget", named "IncludeStatusEffectGroupIdRegex" with the dafault value of ".*". Just change tha value to "nope" of whatever you want

Karido0717 commented 4 years ago

What should i change to exactly? I changed the default value to ".*|Head|Tail" last version, but it seems like it doesnt work now.

theindomie commented 4 years ago

to hide the bars for monster part health MonsterWidget.IncludePartGroupIdRegex: ".*", change to MonsterWidget.IncludePartGroupIdRegex: "", this will make the regex to ignore everything , exactly what you want. (fyi : . in regex meaning any char, and is to include the whole word as 1 word instead of eachchar) to hide status buildup on monsters `MonsterWidget.IncludeStatusEffectGroupIdRegex: ".", to MonsterWidget.IncludeStatusEffectGroupIdRegex: "",`

i havent test it myself but it's basic regex , it should work how it meant to be

yonguelink commented 4 years ago

For some reasons, "" does not exclude things (well, at least on my end), I had to input ^$ (which, respectively, signifies start of string and end of string).

I've noticed that the Regex is matched against the GroupId instead of the actual part (or status)... which leads to things like checking if StatusEffect matches the regex instead of (what I expected after digging a little) LOC_STATUS_EFFECT_VIOLATED... I feel like the regex should be matched against either the NameStringId OR the actual value after translation.