#Mercy: Combat AI Overhaul - BETA

1 messages ยท Page 2 of 1

carmine cloak
#

they are being carefull, they usually dont chase you down like idiots

#

sometimes they do, some of them are more inclined, but usually they will strafe, wait, engage and disengage

#

thats the vibe mod is going for

icy crypt
#

๐Ÿ‘

carmine cloak
#

but again, for real, if you can kind of reliably evade their attacks while fighting please record and show

#

that i would certainly want to fix

#

but just running away is fiiine, its just how mercy vibes

icy crypt
#

Ok, ok, then my original question is still relevant, I want charge behavior, fast movement outside of reach with lock to one direction, if you only move backward/cast spell/etc you will be eventually hitten by enemy

carmine cloak
#

well, as ive just said, spellcasting and bows are treated differently

#

you should be always chased down when you are in range

#

i mean when you are using ranged weapons

#

again, try it and show me what you talking about, show me whats happening and explain what you think should be different. Cos so far everything you mention is already a part of mercy

#

oh yea, sometimes they will stop when doing their attack, but again thats intended

#

sometimes

#

some of them

icy crypt
#

No problem, I wanted to implement more engage combat when you need actively dodge enemies attack from longer range

carmine cloak
#

its an intended difference in how different characters fight

carmine cloak
#

cmon man, haha

icy crypt
#

I will check what you said

carmine cloak
#

just show me

icy crypt
#

Yep

carmine cloak
#

also, again, imo what you want and how you want to fix it - doesnt match

#

what you want is more danger and edge to ranged combatants

#

how you want to fix it - by boosting npc speed - which is unfair

#

how imo it should be fixed - by nerfing player speed when the cast or shoot a bow

#

this way if you purely run away - well have fun, run away, but if you try to shoot - you put yourself in danger

#

ofcourse with enough patinece and high enough speed you can still kite them in an open field, but thats kinda fair

#

although i have some idea of what might be happening and in which case they might be stopping for too long ๐Ÿค” But not sure, not in a mood to test mercy, so if youll do some recording and show how you kind of interact with them - this playtest infor will be much more sueful. Im too used to interacting with my own stuff.

icy crypt
#

I tested this one more time, if I ran the same speed as enemy the just chase me

carmine cloak
#

thats a game mechanic

#

speed is a stat ingame

#

if you are faster than the enemy - you are faster that the enemy

#

you earned it

#

haha

#

i guess we just have a very different outlook on this

#

its just from a pure gamedesign perspective - if enemies can always chase you down even if your speed stat is explicitly higher than theirs - then you essentially invalidating an importance of a speed-stat-mechanic

#

make shooting a bow slow you down, honestly, that will just fix the whole issue

icy crypt
#

no no, slowing down things just a very cheap way to do this

#

no one likes this

carmine cloak
#

speeding up enemies when they dont have enough speed stat to justify that speed - is a very cheap way to do this

#

no one likes this

#

jsut a different look on gamedesign

#

i gotcha

#

agree to disagree

icy crypt
#

I not want to speed them up

#

I want charge, like souls klike games

carmine cloak
#

they are already charging, in game terms

#

they run speed is their charge

#

they cant run faster

#

physically

#

they are incapable

#

they are not trained

icy crypt
#

when they close to you, they shortly attack faster in single direction but open opportunity to dodge and counter attack

#

they spent more stamina, and other stuff, and not doing this when you too far away

#

just short engage mechanic

#

one of the side effect is not abble to run backward at the same speed, since they will eventually hit you

carmine cloak
#

are you describing how it is now or are you proposing how you want it to be? cos the whole short engagement thing when you are close and not short engaging when you are far - is what they already do

icy crypt
#

offtopic, your mod works as you described, I can't dodge their attack in close range, no matter what

carmine cloak
#

look, what i can say is that mercy can accomodate any kind of behaviours - if you want to use the api, there is even a visual behaviour tree tool for it

#

so if you want to implement something very soulslike and specific, like behaviour trees are probably the best way to do it

icy crypt
#

great, I will check

carmine cloak
#

mercy is more about randomised things and different emergent behaviours, rather than souls-like encounters. I personally think that soulslike encounters should stay in soulslikes. But if you want to do something like that - all power to you, id love to try it one day ๐Ÿ™‚

icy crypt
#

that the same problem which GGG tried to solve in poe2, most of the enemies have those charged attacks, so player can't always just run

#

the investment should be like twice more than just diff for 10points in speed

carmine cloak
#

yea the question of balancing this tipping point is a good question, if you have barely more speed you already can infinitely kite

#

but again, slowdown when drawing bows, but you dont like that

#

also all mace skills in POE2 get you stuck in place ๐Ÿ™‚

#

so thats one of the ways to do it

#

and im pretty sure shooting xbows and bows slows you down

#

not entirely sure

#

but pre sure

#

but funny you mentioned it, just been running it with a friend today, bought it at the very beginning of early access

#

thing's a blast

#

especially monk

icy crypt
#

like poe is stats check game similarry to morrowind

carmine cloak
#

but poe is also a bit different, enemies are practically always faster then you are, in morrowind they are not

icy crypt
#

but for last 5 years they tried to add skills check

carmine cloak
#

all enemies are faster and movement speed buffs on items are very rare

#

i mean atleast in 1st playthough, im sure theres plenty op bs in endgame

#

didnt play that

icy crypt
#

I have around 1k hours, just enjoy your time ;D

carmine cloak
#

i mean poe2 ofc

#

poe1 - naw not my cup

icy crypt
#

Ohh only 100k in 2

carmine cloak
#

too fast, too frantic, too boring

#

zoom zoom everyone dies

icy crypt
#

did you tried ssf ? ๐Ÿ˜„

carmine cloak
#

it doesnt matter, i lose interest as soon as game becomes trivial, and it becomes trivial after a first hour

icy crypt
#

like poe1 is nearly perfectly balances stats check game

carmine cloak
#

in act 3 in poe1 i was teleporting all over the map, putting totems, teleporting away and looking at xp bar tick up

#

its just pointless, game is playing itself

icy crypt
#

yeah this is not game, game starts at red maps + endgame content

carmine cloak
#

i know there be more challenge ahead allegedly, but whats a point of going through a slog for a promise of something good later

#

id rather do something thats already good

carmine cloak
#

poe2 is a blast cos you actually see monsters and have to fight them, positioning, movement, all that stuff

#

not just one-click-blast-the-screen

carmine cloak
icy crypt
#

because every hour provides you with more and more build opportunities

#

up to the point when you can fight the hardes content

#

anyway, thanks for discussion, I will check behaviour editor and try to do things there

carmine cloak
#

fun, but gotta go, gotta sleep

#

ha, same, yea if you have questions let me know, maybe its a bit intimidating, but its very handy

carmine cloak
#

not releasing it on nexus for now, want someone to test it

sleek raven
#

Mercy makes this guard join the duel, there is a reason why this happens. Without mercy, the guard stands still and does not react. This location is Ald Marak, Kogotel in TR

carmine cloak
#

dont remember whats the mod name but there was something that makes guards more reactive

thin nexus
carmine cloak
#

yes, that's the one i meant, thanks!

sleek raven
#

At first I also thought it was the protective guards, but I created a proper blacklist and this one guard continued to react and join in about the duel. I checked it on an installation without any mods and it doesn't respond, I checked on the same list with Mercy only installed and it starts responding. And I don't understand why Mercy influences this particular guard

carmine cloak
#

yea its a bit strange. Theres a system in there that pulls nearby enemies if you attack one of them, probably guard is a "friend" of one of the combatants and gets pulled, not sure if theres any way to figure that its a friendly due and not pull anyone

#

but most likely i can introduce a user-friendly black list for mercy as well

#

most likely can allow to black list by cell id, npc record id and both

left flower
#

Best combat mod ever. Thank you. It changes roleplay entirely.

carmine cloak
boreal pagoda
carmine cloak
#

finally someone tested it haha, great

mortal crane
#

@boreal pagoda is one of them, thank you!

boreal pagoda
#

Thank you for the great work, both of you

twilit cave
#

Is there a way or a mod to make enemies cast spells faster? like speed up the actual animation?

carmine cloak
#

if you are into lua coding yourself - look into animation interface in openmw lua docs, it allows to override animation speed when anim starts playing

earnest mortar
#

Nevermind - found info from mym that is compatible

#

But what should be loaded firt? Mercy or take Cover?

mortal crane
finite arch
earnest mortar
#

Speed haste isn't player only?

finite arch
left flower
#

Yes, sadly it is. But quick cast too. When you set higher speed of spell casting in the mod options, it will work only in first person on you. So it couldn't make NPCs casting spells faster. And it also has some conflict with first person animations rouge style of @carmine cloak . Then the speed up doesn't work even in first person.

twilit cave
#

Damn

#

I just want spells of all kinds to be harder to manually dodge

boreal pagoda
#

If you want something more challenging

boreal pagoda
#

Never leave the batcave without it

twilit cave
boreal pagoda
#

Very true, I'm glad you're using it though. The challenge is refreshing but I can't think of any mods that affect enemy speed like that with spells

mortal crane
twilit cave
carmine cloak
#

anyone here who experiences noticeable stutters every half a second - few seconds while using mercy?

#

can you please try this version:

#

but ensure that you dont have any other heavy mod running and mercy IS actually your culprit - the easiest way will be first turning mercy off and checking if stutters are indeed goen - and then trying this new optimised version

#

After that also please try setting "lua profiler = false" at the bottom of settings.cfg (in My Games/OpenMW/) and see if that improves anything

#

much appreciated

#

That is - this should mostly fix stutters outside combat in npc-heavy areas

#

might also improve stutters in combat

spark blade
carmine cloak
#

lua profiler = false turn off lua profiler, which is a ui and an engine logic for tracking lua memory consumption (lua profiler tab is in f10 menu). Allegedly keeping it off can increase lua mods performance

#

@visual estuary hey there, you had some problems with mercy stutters recently, if you'll feel like testing a new version - check the version above and let me know if its better

spark blade
carmine cloak
#

no idea, i did only a very surface-level testing

#

but just from the logic of things - everything should be ok

#

maybe some weirdness when actors begin to warnt you not to come closer, maybe an audio glitch in the beginning, or them starting to run towards and then stopping

#

not sure

#

should really break-break

#

more like some minor weirdness

boreal pagoda
#

Max, anything in particular you want to test out with that new Mercy update?

carmine cloak
#

@boreal pagoda thanks for asking - one thing in particular when i expect something weird might is for those npcs that warn you not to come closer - it might be that for split second they'll start running towards you or even speaking something and then it will be abruptly cut and they will stop and start warning you, or maybe 2 voicelines will overlap (what they started speaking in beginning, and warning not to apraoch)

#

so to test if anything like that happens and if its noticeable

#

and in general if anything weird happens in comparison to regular mercy, in combat especially

#

but i dont have anything more specific than this

#

and also ofcourse if you had stutters outside combat - to see if they are gone, thats the main thing

boreal pagoda
#

Thank you, Max. I'll update and pay close attention. I'll try and give some feedback tonight. I appreciate all the hardwork lately. Thank you again.

boreal pagoda
#

One thing I did notice is that in scripts Mercy is called " LuaPhysics" and there are no options for Mercy, it appears to be misnamed. And I should say, I don't have LuaPhysics installed ATM.

#

Uninstalling Mercy removed LuaPhysics from the scripts, etc. strange haha

boreal pagoda
#

Max, I find that performance is greatly improved, I'm not noticing any jarring stuttering or delayed cell transitions, and/or load times

#

I'm also running a significant amount of Lua mods as well, and I can't seem to notice any jarring decrease in performance. In view of that, I'd say it's greatly improved.

#

In terms of combat, I have encountered anything out of the ordinary that I would not have seen in previous versions. That being said, I'm going to continue to test more combat scenarios with the verbal warnings.

#

Thank you, Max. I appreciate it.

#

Lastly, I haven't noticed any overlapping with the vo but some NPCs that warn me still engage in combat, etc

carmine cloak
#

you sure you dont have experiments installed?

#

weird

carmine cloak
boreal pagoda
#

I don't have it installed my friend. I check nexus and someone made a similar comment about not being able to see the settings for Mercy. I'm going to do some more exterior town fighting as well for testing but it's great so far. Ty

carmine cloak
#

np, thanks for testing, ill get back to it some time later and figure whats wrong with options

spark blade
#

Noticed a small performance boost, less hitching in vivec. Narsis is still all over the place, but that city is massive.

#

Also having the issue of the Lua physics menu showing up in the scripts tab

dawn carbon
#

Yeah I saw ops going down 9k to 6k with beta in Narsis just chilling. But if you get crime spotted fps will start to crawl with like 200k ops.

carmine cloak
#

Ops are kinda meaningless unless they affect fps

#

and how is it in comparrison to regular mercy?

sick nimbus
#

NPCs constantly aggro on me instead of summons or companions even if allies hit them non stop, is this intended?

carmine cloak
#

in experimental performance version or in regular version?

#

I think summon aggro should work the same as in vanilla

boreal pagoda
#

Max, I do notice in experimental that enemies will yell their warnings but still attack?

carmine cloak
#

hmm

#

yea thats weird

#

do they all do that

#

do they attack right away, or do they wait as usual

#

usual behaviour is them warning you, standing there waiting for some time and only attacking if you come closer or like 5-10 sec pass without you leaving their line of sight

dawn carbon
carmine cloak
#

or drawing a bow on them and such

boreal pagoda
paper nacelle
#

like the demo videos on the nexus page are great but it's impossible to get a feel for how much it impacts things until you actually like, use it

carmine cloak
#

Ay, glad Mercy fit in your pixelated world ๐Ÿ™‚

#

That backstab was so low though haha

carmine cloak
#
  • so those are intended
finite arch
#

I have a question, what is the high performance version?

carmine cloak
#

check top thread in nexus comments

#

its attempting to fix issues mentioned there

#

if you dont experience those - you dont need it

left flower
boreal pagoda
#

Max, I'm about to test latest version. Thank you

boreal pagoda
carmine cloak
#

Ok everyone, another version is up - an update to experimental performance

#

now should improve in-combat performance as well

#

Did pretty much every openmw lua optimisation im aware of, so it's as good as it gets most likely

boreal pagoda
#

Love the new options in the scripts too, thanks Max. Fantastic work as always

#

Going to test this new update today

carmine cloak
#

u welcome, enjoy!
I've tested the update quickly by fighting some buncha guards in a fort and it was fine

#

but i havent tested summons, companions or anything like that

boreal pagoda
#

Okay I'll try with summons/companions as well

finite arch
#

I'm having no stutter on my mali device, I suppose also PC users will notice the performance boost

patent dune
#

Hey, sorry if this was asked in this thread already but discord search is stupid. Is this mod compatible with Pursuit (OpenMW)?

Nexus Mods :: Morrowind

Actors can travel through cells to pursue their target.

left flower
spark blade
#

Will this Experimental version eventually be the main one or is it meant to be a performance friendly alternate?

carmine cloak
#

@left flower

#

and thanks for recording the demo

upbeat violet
#

Would setting the likelihood modifier of sth like surrendering to 0 disable NPCs from picking that option?

spark blade
#

Which is odd.

#

Switching back to main version for now.

spark blade
#

Hmm, cranking up my background physics threads to 6 really boosted performance as well.

boreal pagoda
spark blade
#

It is odd

#

Oh and the performance boost I got from upping threads was with the normal version.

sudden crow
left flower
thin nexus
carmine cloak
#

its a bug, but its amazing, maybe one day ill add it as a feature

swift sphinx
#

Hahaha that is brilliant. The NPCs are already smarter than you programmed them

left flower
left flower
#

I've experience it in a very short test. Most enemies have attacked me even after yielding. The only one, who didn't attack me after she's yielded, was my dismissed follower.

#

Well, I've tested it again. I thought it was a matter of disposition, but no. I've decreased my follower's disposition and she yielded as intended.

carmine cloak
#

nono, its not a matter of disposition for sure

#

for the sake of performance, some checks that were done every frame are now done every 0.5sec in optimised version, most likely this messes up with yielding logic somehow

left flower
#

I hope you'll be able to fix it, because my game really runs smoother with the experimental version. At least that's my impression.

carmine cloak
#

not for now, eventually maybe, im kind of tired with all this modding, for now it is what it is. Not a bug but a feature, sometimes npcs will jsut try and backstab you ๐Ÿ™‚

left flower
#

Backstab with bare hands. I'm afraid it affects most NPCs.

earnest mortar
carmine cloak
carmine cloak
sudden crow
carmine cloak
#

yeeting those for sure as well

buoyant shadow
#

If an NPC surrenders, your followers and summons proceed to fight them, no matter what (also, protective guards, but that's kinda offtopic).

#

(I have installed tons of mods, so maybe I'm misremembering, but that feature is from this mod, IIRC.)

carmine cloak
#

yea, surrendering npc is still in combat, no other npc is aware of a concept of surrender

buoyant shadow
#

Aha, a known issue, sorry for bothering.

carmine cloak
upbeat violet
#

Understandable that you're taking a hiatus from the mod, it has been a massive undertaking. :)

If you do ever come back, I wonder if it'll be possible to figure out why sometimes when Interventioning with Julan, he'll shout a combat line ("You n'wah!" etc) when we arrive. It's harmless, but a little startling. Currently I'm reasoning it as him expressing his hatred for the false/foreign gods whose help he had to call for to teleport. ๐Ÿ˜„

carmine cloak
#

hmm

#

@upbeat violet probably its not connected in any way whatsoever, but just a hunch - try disable AI voicelines in mod settings - does this stop him from shouting at you?

upbeat violet
#

I had already disabled the lines as soon as that became a possibility

#

So no, he still shouts them. They are vanilla lines too from what I remember. I have subtitles on but I don't recall seeing the line pop up in text tho.

carmine cloak
#

but he's not walking in cercles and pretending to fight you, only shouts the lines?

upbeat violet
#

he only shouts it once when we arrive

carmine cloak
#

hu, haha so weird

#

have you used other npc companions - do they do the same?

upbeat violet
#

Julan's a bit weird in general, so I'm not even 100% sure it's purely from Mercy. I have Attend Me for its companion UI, and every time I switch indoor/outdoor cells, Julan's lil UI element disappears for a second before reappearing, while other companions stay solid.

So far have only really been traveling with Julan since I came back to MW, but I recently picked up Arvesa as well, just haven't interventioned with her in tow yet. Will have to get back to you at some point.

upbeat violet
#

Okay, it seems Arvesa's yelling out as well upon intervention.

And disregard the bit about the Attend Me UI, they both seem to be blipping out and in upon cell change.

carmine cloak
#

ok thanks for the info

#

maybe they just hate teleportation

#

haha

ebon tusk
#

I've been using this mod for probably like 200 hours and I can't recommend it enough. The surrender mechanic and seemingly hectic movements during combat is what I absolutely adore.

My only issue (apart from performance, but I could live with those) is that NPCs will struggle to catch up with the player that tries to disengage (e.g. to cast a healing spell, chug a potion etc) from a melee fight - they often continue to strafe (thus missing completely) even after catching with the player instead of punishing them properly. Maybe there should be some sort of override that forces NPCs to be more aggressive again based on player HP? Or maybe a simple check that ignores the usual mod commands for a few moments if a player turned away (in the case someone uses a mod that disables running backwards) etc

carmine cloak
carmine cloak
#

but yea they dont really push you as much as vanilla ones when you try to disengage, probably it should be less forgiving in that regard, specifically when you pull out ranged/spell, but for now it is what it is, maybe one day ill come back to it

paper nacelle
#

i've REALLY enjoyed fights with this, they feel so much more dynamic and "human"

#

the surrendering is a big part of it but also just the way they'll yell at you to keep your distance and only charge in if you ignore them

#

extremely comfy when i'm just going from place to place or poking my head into a cave to see what's in it to not need to stop and murder everyone

mortal crane
carmine cloak
#

they get spooked

#

also filtering out self will allow you to just heal without any punishment whatsoever, will make it even easier

#

already you can squeeze in a quick heal if you are fast enough and they react too slowly

mortal crane
carmine cloak
#

but ofcourse its not the actual reason - they just cant leave the strafing behaviour instantly, no good reason for that - its just how it is

#

so they usually need to finish it before they chase you due to your spell

ebon tusk
stoic tapir
#

would it be possible to make NPCs grieve and like cry out if you kill one of their allies?

carmine cloak
#

they already do that occasionally, or atleast they should

#

theyll be like "you will pay for this!"
ofc only those npc that have AI voicelines which is only probably like 1/2 or 2/3 of all race/gender combos

stoic tapir
#

thats really cool, thanks!

grizzled estuary
#

Yeah I remember "I'm not gonna fall that really it easily"

carmine cloak
#

btw if anyone wants to generate more voicelines (if you have elevenlabs sub or some good local tts) and add them - its possible even as a separately published voicepack. There are explanations on how to register voicelines, on mercy github

#

Quite a few race/gender combos still have no mercy voicelines at all

boreal pagoda
#

Hey Max, I've been doing more testing with the experimental version. It runs really well. The only minor issue I encountered was that sometimes enemies will surrender their bound weapons, etc. Other than that, no problems. Thank you.

thin nexus
#

Suggestion: add a popup message telling you to install Behavioral Tree dependency if you still didnt

#

I noticed something wrong only 15hrs into my latest playthrough yagrwut

left flower
carmine cloak
#

but also now you can check script setting to verify that mercy is there...

#

although maybe setting still be there even if dependancy is broken

#

thats possible

thin nexus
#

It would make more sense to implement more thorough dependency check engine-side. Like with ESPs, even if it would happen in the runtime

thin nexus
carmine cloak
#

yea that makes sense, for sure

mortal crane
#

Many mods need to show the player such notifications, for missing dependencies, or incompatible plugins found, or specific required procedures...

Currently you can get multiple windows showing everywhere on new game, or game loading.

It would be nice to have an utility mod that listens to event notifications and shows them in an organized way, with a validation button on each one.

gusty coral
#

I've been trying this out for a few days and it's a concept with a lot of potential but it really suffers from biting off more than it can chew at the moment. Attempting to make the AI more realistic unfortunately makes it feel LESS realistic, because it's unfortunately a bit lacking. But! It has a lot of potential as I said, so I'd like to point out some flaws and offer some suggestions.

Knocking an actor out via fatigue (eg. via hand to hand attacks) is supposed to make them unconscious, but they still speak their voice lines and make decisions like giving up or calling for help when knocked out. They also get up to beg for mercy and then promptly lay back down, which is silly.

One of the best features in the mod is that actors run away and call in allies when low on health. However, HAVING help doesn't seem to affect their decision tree very much. They'll still lay down their weapons at low health even with a healthy ally at their side, when they really should be falling back and letting the ally take the lead, or run away and get help while the other holds you off.

I think the decision-making should be considering whether or not an actor is part of an active team so they both make the same decisions (maybe not at the same time but if one actor runs away or gives up, the other one should start making decisions as if they are alone). Probably the more people you're fighting the lower the threshold for panicking should be, too. So if you're fighting three people and kill one of them, the other two become more likely to give up, but as long as all three of them are alive they're still confident in winning even at low health.

Also it seems that once an actor has begged for mercy, they'll never do it again, even if the situation changes. It makes sense that if you attack them then, they realize they're in a fight to the death and will fight. But if you back off, sheathe your weapon, don't attack for a while, they should become more hesitant and eventually give up.

#

Same if an actor gives up, but later rejoins the fight because an ally showed up (or they were called into action as an ally by someone else you're fighting), they should start re-evaluating their decisions based on team fighting. Ie rejoin the fight or run for help, and then if the tides turn against them, beg for mercy again if needed (if you'll let them).

#

Maybe actors should be able to pick their weapons back up if they change their mind, but that might be a whole other can of worms.

median plover
#

a bandit gave up and i left her alone for a minute and then i was able to talk to her, that was really cool. i also observed with Roaring Arena one of the combatants put down his sword, attempting to give up, it looked amazing because it happened just as the opponent swung at his head for the final blow. i dont think that needs to be fixed though, just some interesting observations

left flower
#

I think the mod is complete. I'm using the experimental light version for a long time. And attacks with bare hands after surrendering don't appear anymore. It was maybe because I've changed the mod version in current playthrough? I don't know. When an enemy surrenders, I step aside and don't bother him for a sec. And everything is fine. I'm afraid adding more complicated features to the mod could result in issues and bugs.

#

The mod is excellent right now.

median plover
#

Knowing mym's track record for excellence there's probably room for improvement but I agree that it's in good shape

gusty coral
#

Well the experimental version just crashed my game so I'm not sure about complete

mortal crane
gusty coral
#

Not sure exactly. I installed it, it tanked my framerate and eventually openmw stopped responding

#

perhaps eventually is the wrong word, 'in short order' is more correct

left flower
#

I see. Well, in my case it has made my game less lagging and works well. I just avoid surrending actors for few secs after yielding.

gusty coral
#

I just tried it again and it worked well and seemed more performant, although the actor behavior still feels kinda jank with actors surrendering over and over again, or re-engaging willy nilly

crimson dust
#

i've had good luck with the experimental version

left flower
#

Well, just don't irritate them for maybe four-five seconds after yielding and they act alright.

carmine cloak
#

Yea, surrendering can be problematic in experimental, sorry, for now it is what it is ๐Ÿ™‚ If ill ever feel like getting back to it (not doing any morrowind modding currently) - i will look into improving the experimental ver, it will probably become the main ver then

spark blade
#

Did 0.50 RC improve performance for the main version?

magic pulsar
spark blade
#

Blessed

vocal flower
solid bone
#

This mod just made Sottilde's Code Book quest a whole lot more realistic. Just like Percius Mercius said: "These orders you've been given seem okay with me. Just try not to kill Sottilde to get that book. I've heard she's a pushover. I'm sure you can convince her to hand it over."

Thieves Guild viable without having to kill her!

carmine cloak
#

heard a word that this breaks in 0.5, is that the case?

magic pulsar
static timber
#

Do you think an option that lets you limit how many npcs activate the Mercy script would be good for performance?

magic pulsar
#

I have no idea. I know that the mod is making many checks so it can affect performance even outside combat.

#

it's a banger of a mod but it's def not optimised

#

still can't imagine playing without it as it's a game-changer

#

I've never even contemplated removing Mercy, ha ha

static timber
#

True

#

I have roaring arena mod so it should be perfect with Mercy

median plover
magic pulsar
#

Surrendering is cool. The only issue is that the NPCs also try surrendering to creatures and that your summons/followers ignore surrenders so they always finish off the NPCs and you cannot decide to spare them then.

median plover
#

its pretty funny though

#

"he's surrendering, get him!"

magic pulsar
static timber
#

Cybvep which mercy version are you playing with?

#

The experimental one?

magic pulsar
#

I also use Fair Care and Take Cover. Full package.

static timber
#

If you have the standard version, you can try out the experimental one to see if it benefits your fps

magic pulsar
solid bone
#

One weird experience I have is NPCs who don't immediately aggro and "don't get closer, no need for a fight". Every single time I avoid them the combat "script" or whatever you call is still running so after a few moments they start chasing me anyway. Not sure if this is a bug or if that's just how it works? If so... its just kinda a fake dialogue sequence to give you time to exit a dungeon but in the exterior they'll end up chasing you unless you outrun them or teleport.

magic pulsar
carmine cloak
#

Ah, gotcha, was already asked, nvm

carmine cloak
magic pulsar
solid bone
carmine cloak
#

I usually blame openmw lua for being unoptimised, but im also lazy to microoptimise each section of code in such a big mod

carmine cloak
#

Unless im forgetting that i coded that in as well

carmine cloak
#

And yes its safe mid-playthrough

solid bone
#

Another question. Perhaps off-topic to this mod in particular but I'll ask anyway:

  • Is it vanilla behavior that enemies you are in combat with, that sometimes even if you use invisibility or a super strong chameleon (100+) that they will still lock on to your position and attack you? I've noticed this most clearly with guards who seem to be super aware of me if I am on death warrant for example. I need to have 150+ chameleon or something before they reset and exit combat.
  • A sub-question here is There's a super strange behavior where the guards would move in super-slow-motion towards my positon when my chameleon threshold is just a few points of magnitude too low for them to lose track of me
#

I have a video recording of the latter scenario if interested

carmine cloak
#

Haha, sounds weird, if they are chasing you out of combat, i.e to do a "stop right there you criminal scum" - then most like it has nothing to do with mercy. If in combat - 50/50, not sure, theres some logic that handles chameleon, but it should not affect how easy it is for npcs to spot you in general

#

But if you chameleon literally mid combat i think theres a chance both for them to ditch or to continue fighting (in that case they are just relying on their hearing and on you putrid smell or whatnot)

solid bone
#

100% happens for the "stop right there you criminal scum" phase. Maybe chameleon is more likely to escape combat after it though. I am interested to compare now ๐Ÿ˜› So they have a heightened detection if you are on high bounty that bypasses most of your stealth?

carmine cloak
#

Actually dont know how this vanilla behaviour works, i wont be sirprised if they just straight up ignore your chameleon, because guard magic

solid bone
#

So, in that video I had console player->setchameleon 100

carmine cloak
#

But since you say it works at 150

#

Thats weird

solid bone
#

If I entered sneak mode they would have a harder time seeing me... and enter this slomo phase. If I stand up (since my sneak skill in this test was so low) - they would sometimes start running at me instead.

carmine cloak
solid bone
#

I think when I was fooling around with this I also tested with adding another chameleon spell on top of it, where they would lose aggro.

#

Yeah I use Dynamic Actors and animations stuff, so I also noticed that he's trying to go into a pose every other frame. But I think it is related to him going in and out of aggro to me over and over.

#

So its like they exit combat... try to do an "AFK pose" with arms to the chest, but they immediately go back into combat. And this happens several times per second.

#

...and its scaled with how sneaky I am xD. So if I only had say... 80 chameleon they might just be running straight at me

#

Anyhow... Its probably got nothing to do with your mod. I just wonder if it is vanilla behavior or if its my frankenstein modpack I am using causing it.

static timber
#

Are you running your mods through openmw.cfg only? If you don't mind me asking

solid bone
#

I use MO2 to provide a virtual data folder. openmw launcher/config/load order all set up accordingly thereafter.

static timber
#

Oh i see

#

Maybe try running mercy mod only if you have the chance to see if it's really the mod itself or your other mods causing conflicts

solid bone
#

Yeah I'm too curious to not test these things a bit more. I think I already tried to disable Mercy but I have forgot my conclusions about it.

#

Its mostly annoying that even invisibility doesn't work to stop getting chased. But I'm not sure if its vanilla random behavior (and my knowledge/skill issue) or something borked about my install.

static timber
#

Haven't tried invincibility/chameleon yet with Mercy. Might test it out tomorrow lol

#

Time to ๐Ÿ’ค๐Ÿฅฑ

magic pulsar
carmine cloak
solid bone
#

Ok I did some testing. 5 videos recorded. But I think I only need to share one of them...

https://www.youtube.com/watch?v=wX_7VwqVVS0

So I think there are a couple things going on here:

  1. I walk close enough to the Ashlanders, they see me and activate their AI logic. Mercy stand back set to 1000 makes them "not looking for a fight". Okay. So try backing off. I managed to break LoS so this appears to be working as Max Yari says it does.
  2. Even though I broke LoS. Combat is still engaged with these NPCs. This part is vanilla behavior I suspect... and would reset only after 3 in-game days passes.
  3. If I stay within the same cell but behind cover. The NPCs keep their stance on "not looking for a fight" but it seems the Mercy script has to "reapply?" this every now and then - triggering their voicelines despite not seeing me anymore (this is kind of annoying because the voices sometimes sounds way closer than they are (and often cut out halfway through) - furthermore these voices are also heard in fights between other NPCs that taunt eachother (one notorious example is Ordinators fighting some NPC at Bal Ur - this one is super weird because I thought it was something wrong with my game and NPCs being stuck underground while also aggroing onto me xD. You can hear them while just travelling from Fields of Kummu to Suran.)
  4. If I go back within Line of Sight, set stand back to 1, go as far away as possible without leaving the cell - the NPCs are still in combat with me and will eventually decide to fight instead and start running to me. <--- This part often makes little sense. Maybe a distance calculation can be in addition to just line of sight? Performance implications regarded of course.

I also did some invisibility testing. I think this is just vanilla behavior, but it seems if you are close enough to an NPC while going invis, they will still "see you". So you have to either break LoS or successfully enter sneak mode.

#

Reading the wiki on invisibility... "completely undetectable". Not sure about that!

https://gitlab.com/OpenMW/openmw/-/issues/7337
https://gitlab.com/OpenMW/openmw/-/merge_requests/2203

So this explains why it sometimes won't save your life if you are already in combat.

#

Hiya, so this has happened to me a couple of times and I'm trying to understand what is happening. Some enemies can see through invis. Most notably Dark Brotherhood assassins, but it also happened with some random fighters in the Hlaluu underworks. I tried finding an answer online but no luck. Everything I found said Invis makes you "completely ...

misty sentinel
misty sentinel
misty sentinel
solid bone
misty sentinel
solid bone
solid bone
#

Is there a blacklist for NPCs that cannot yield? I just had Bolvyn Venim yield to me which is kinda "anti-lore" ๐Ÿ™‚

solid bone
#

Same for Dark Brotherhood Assassins... It even becomes a crime if you attack them if surrendering after they exit combat. ๐Ÿค”

misty sentinel
#

You really are bugtesting everything to the fullest, I like that. ๐Ÿ˜…

median plover
magic pulsar
#

Guards should probably not surrender in Mercy because of their hardcoded behaviour (they will keep trying to chase/arrest the player even with no weapons).

solid bone
#

I hope unique "boss" NPCs aren't going to surrender. Like, what if Dagoth Ur does?

magic pulsar
#

NPCs should also not surrender to creatures ๐Ÿ˜… . This mostly impacts guards, though, as other NPCs rarely fight anyone besides the player and their followers.

magic pulsar
carmine cloak
#

No blacklist yet but ill add it whenever ill make the next update

misty sentinel
median plover
#

Vodunius with the master strategy ๐Ÿ˜†

carmine cloak
#

Not sure whats happening though, dude throwing darts and then goes fistin, looks about right?

#

Also you can attach objects to bones in lua now!?

median plover
#

he's literally pulling the darts out of his own body to throw them back 36vehks

misty sentinel
carmine cloak
#

Yes i remember you sharing it with darts bouncing around - that was quite cool

#

Btw maybe youll also want to add some vfx to those projectiles hitting surfaces, lua physics already uses that surface hit vfx mod api, so should be a seamless extension if you want to add some additional flavour

misty sentinel
carmine cloak
#

By default lua phys applies vfx randomly so they are not spammed, but you can just lift vfx application code from lua phys... but yeah maybe its complex, dont remember, probably i should expose a simple method for that, if not yet

misty sentinel
# carmine cloak By default lua phys applies vfx randomly so they are not spammed, but you can ju...

I want to also ask, since there was physics bug that the projectile/objects hit the thin air when NPC was dead/knocked (it assumed as if the NPC was standing) out and I had to fix that which involves editing your framework. Also some other edits or added functions regarding marksman to make them work in . How can we do this when/if I want to release marksman physics mod? Can I upload modified framework along with my mod? Or you want to pull the changes on release?

carmine cloak
#

I can pull the changes, can you submit a PR? If you already did and mentioned that before - sry, im forgetting things ๐Ÿ™‚

#

And will credit you with the update as well

misty sentinel
#

I will do that when I finish my mod so I am sure then nothing else has to be changed

misty sentinel
#

@carmine cloak I've made the pull request

short jolt
# carmine cloak :0

I just realized, you can probably "convert" the empire , shogun and napoleon total war cloth/sails behaviour .logic files for sails and cloth projectile hits as a base for an openmw lua fabric projectile hit simulation .

The standard bearers in units with the flags also have wind logic and musket ball reaction.

https://www.youtube.com/shorts/RtxIEcu33LQ

This clickbaiter is the only short i could find that shows its naval aspect.

Discover surprising facts about real 18thโ€“19th century naval combat โ€” from cannon tactics to how ships actually fought at sea.
Which one surprised you the most?

#AgeOfSail #HistoryShorts #NavalHistory #TallShips #AgeOfSailFacts #18thCentury #NapoleonicWars #MaritimeHistory #SailingHistory #HistoricalFacts

โ–ถ Play video
misty sentinel
#

I dont know exactly how

short jolt
#

Come to think of it actually, ntw has probably the most sophisticated vfx and particle based system for its time as well, later games actually regressed.

Its very user friendly to mod as well, well worth looking into, then repurposing into openmw etc etc.

Well, you basically cross reference mods .pack files which essentially store spreadsheet db values and logic in lua, xml etc, with lots of user friendly GUI frontend mod tools at hand to boot, official and none official.

magic pulsar
#

convert Ikit Claw's nuke 36vehks

short jolt
#

The particle effect.xml manager is over 16000 lines of code...thats the scariest thing you can mod, but the llm gang can help.

short jolt
magic pulsar
short jolt
carmine cloak
#

i doubt something like cloth behaviour is convertible since theres no way to drive cloth or skeletal meshes from lua in omw currently

misty sentinel
#

@carmine cloak sorry for nagging you again about it but is there any chance youโ€™d have a few minutes of free time any time soon to look through (and merge) the pull request on LuaPhysics github? Thanks

carmine cloak
#

No worries, depends on your definition of soon ๐Ÿ™‚ Ill be much more free next week for sure, but this week - dont know.

#

Is it urgent, is it blocking release of your mod?

misty sentinel
#

But I don't want to be a problem, so whenever is fine

carmine cloak
#

Gotcha, no worries, im just quite busy with writing a thesis. I will try to do it as soon as possible, but cant guarantee anything until tuesday

#

Also in case ill forget (which is possible) - please bother me again ๐Ÿ™‚

misty sentinel
#

Thanks once again, and sorry for the inconvenience I might've caused you

carmine cloak
#

No worries!

misty sentinel
carmine cloak
#

@misty sentinel hey was wondering, does you projectile mod only affect throwables, or you hacked it into bows and xbows somehow as well?

misty sentinel
#

It is almost finished, squashing last bugs slowly

carmine cloak
#

Woaaah, would you mind explaining how did you do it for bows? Are you taking over the whole attack sequence, or just removing the vanilla projectile somehow?

misty sentinel
#

I did it by detecting the text key for animation of attack, itโ€™s divided into a lot of separate anims so you can detect the exact moment you want to intercept by playing the same cloned animation as different file which when did right it doesnโ€™t trigger the vanilla projectile. Itโ€™s very timing sensitive

#

Thanks to @granite monolith, without him and his knowledge and help with anim files I wouldnโ€™t get there

carmine cloak
#

Oh yeah that makes sense, thanks for the explanation, it will potentially conflict with animation replacers though, right?

misty sentinel
#

Ive yet to check, although as far as I remember I have installed 3rd person alt attacks and it works just fine. Although it would not be ultra hard to add another preset for another animation set

carmine cloak
#

oo just realised that probably its not possible to also add subtle trails to projhectiles, that would've been coool

#

even maybe using distortion vfx that omw supports

misty sentinel
#

I havenโ€™t thought of it, might check it some time later post-release

median plover
#

Ohh you could probably make some cool "spells" like that. A projectile shaped like a fireball that bounces around exploding? For a separate mod surely but it's an interesting thought ๐Ÿค”

carmine cloak
#

Should be possible i imagine. Alsoo erriding spellcasting system/anim in a similar fashion should be possible as well

misty sentinel
#

Maybe itโ€™s possible as a vfx to be a custom spellcast but that doesnโ€™t get us anywhere regarding physics for spellcast impact havok-like effects like Oblivion. The function is already built into your phys framework obviously - the impulse - but to have the physics activated it must be an item, not vfx. But I guess that also could be worked around with an invisible item launched together with the vfx or something๐Ÿ˜… Added to bucket list of my next mods haha

carmine cloak
#

oh right, huh, i mean, what if we dont use vfx at all but rather have those vfx as items? I mean its all just a nif anyway

#

will that break anything?

#

I guess it will mean if you are dextrous enough youll be aple to pickup vfx midflight?

#

Can you do that with projectile arrows now?

misty sentinel
#

Its technically possible but not probable to happen

#

With spell vfx (or vfx as item) it would be easier since the spell projectile is a large object, the arrow/bolt/dart is really thin and small and barely noticeable mid flight

carmine cloak
#

can do some megajank and forcefully remove vfx from player's inventory and put it at the place it was ahaha

#

but a pickup tooltip poping up here and there - if that be noticeable, yea, thats subpar

misty sentinel
#

The pop up is not noticeable so we are good. And for the physics spell cast I would need to make in the CS dummy misc items for each of the spell schools projectiles with the corresponding nifs for effects. So this will bring on even more jank and code gymnastics ๐Ÿคฃ

carmine cloak
#

i dont really see a need to replace existing spell projectiles, the way they work will not be enhanced by physics in any way

#

they just fly straight and explode

#

but for potential custom magic - yea

misty sentinel
carmine cloak
#

probably a spell api will be released soon i hope, foal was working on it i believe for quite a while

#

and yes it certainly wouldve been nice to have objects flying around cos of spells

magic pulsar
carmine cloak
#

Yes, I'll most likely look into it soon, thanks ๐Ÿ™‚

magic pulsar
#

Perfect. I've been playing with Mercy for a year and consider it a must-have, so I will gladly check the "experimental" version with better performance once that known bug is fixed.

carmine cloak
#

what else was there super pressing? I think ill have enough motivation only for a single pass. Quite a few people requested a way to blacklist specific actors - will add that. Anything else?

magic pulsar
carmine cloak
#

yea those i can fix

magic pulsar
#

blacklists - well, Vivec Arena duels are to the death so surrendering there is pretty pointless both in Vanilla as well when using Roaring Arena - Betting and Bloodletting mod

carmine cloak
#

ill add a way to blacklist surrenders specifically

#

including by a cell id

magic pulsar
#

ok

carmine cloak
#

anything else, anything weird happening with companions?

magic pulsar
#

maybe it's best to leave that up to the player? It can be risky, though. Some things may break.

#

blacklist Dark Brotherhood assassins as well ๐Ÿ˜…. Some people mentioned that they surrender and it's weird.

carmine cloak
#

people will be able to blacklist whatever they want, i wont fill in blacklists myself, also see nothing wrong with dark brootherhood surrendering

#

hmm, summons and companions attacking surrendering enemies is an interesting issue, will see what i can do

magic pulsar
#

I once saw a vampire surrendering with no voice lines at all.

#

pretty niche thing, I guess

#

everything worked, though

#

mechanically

carmine cloak
#

half of the races/genders have no voice lines ๐Ÿ™‚

carmine cloak
#

If anyone want to test a new optimised version without a previously mentioned surrender bug - heres a super secret release just for you

#

it technically should run even faster than previous version... atleast outside combat that is, not much I can do if you fight a dozen npcs

median plover
magic pulsar
#

Cool

carmine cloak
#

just dont tell anyone you got it here, its a secret exclusive only between us

#

shhh

magic pulsar
#

Nobody needs to know

static timber
#

I'll be gate keeping this๐Ÿคซ

normal imp
#

glad to see you back, max! does Mercy touch anything with AI prioritization of the player vs followers? I'm playing a summoner and I'm curious about whether I should install a mod that forces AI to target the player but I'll leave it if Mercy is already calculating it

carmine cloak
#

no, in regards to target priority - it should do whatever engine tells it to do, and probably will be compatible with mods affecting it

boreal pagoda
#

Woah thanks Max for this

static timber
#

I can confirm on my cheap ass phone, the new mercy update doesn't dip my fps anymore during fights against multiple npcs

carmine cloak
boreal pagoda
#

There is definitely a performance increase and cell transition load times are seamless. I haven't encountered the surrender bug as well.

#

The only issue I've seen is some weird interaction with either T4rg3t5 or CHIM 2099, where the cell "freezes". However it doesn't, crash I can still access the main menu/options and load. It's almost as if combat is paused/completely frozen.

carmine cloak
#

D:

#

erm, any errors in f10 console?

#

can you walk around and such, or its all completely frozen except menus

#

move your camera around?

boreal pagoda
#

44.417 E] Error in frame: Invalid attack type value: 5
[11:32:44.436 E] Error in frame: Invalid attack type value: 5
[11:32:44.458 E] Error in frame: Invalid attack type value: 5
[11:32:44.480 E] Error in frame: Invalid attack type value: 5
[11:32:44.502 E] Error in frame: Invalid attack type value: 5
[11:32:44.526 E] Error in frame: Invalid attack type value: 5
[11:32:44.558 E] Error in frame: Invalid attack type value: 5
[11:32:44.585 E] Error in frame: Invalid attack type value: 5
[11:32:44.612 E] Error in frame: Invalid attack type value: 5
[11:32:44.642 E] Error in frame: Invalid attack type value: 5
[11:32:44.664 E] Error in frame: Invalid attack type value: 5
[11:32:44.706 E] Error in frame: Invalid attack type value: 5
[11:32:44.725 E] Error in frame: Invalid attack type value: 5
[11:32:44.761 E] Error in frame: Invalid attack type value: 5
[11:32:44.789 E] Error in frame: Invalid attack type value: 5
[11:32:44.812 E] Error in frame: Invalid attack type value: 5
[11:32:44.836 E] Error in frame: Invalid attack type value: 5

#

My only theory is the two aforementioned mods. But a positive note, improvement greatly improved. Will be testing Reanimationsv2 shortly. Ty so much

carmine cloak
#

never seen anything like that

#

impressive

#

and currently published version from nexus does not do that?

boreal pagoda
#

Yes I just tested

#

It appears that chim is the culprit

#

I'm sorry I meant it does do it on the one in nexus haha

median plover
#

yeah i can confirm i have the same issue

boreal pagoda
#

Thank you for testing my friend

#

I'm glad you could confirm it

median plover
misty sentinel
#

Also I have a bug from even the old version to inspect - if the NPC has a ranged weapon and is not in melee range of player, he will not equip the ranged weapon. Only when coming up to the NPC/actor very closely then it will proceed to equip and use the ranged weapon.
EDIT: also voicelines are being played when the game is paused/console is open so some processes are working outside of the gameplay for sure

carmine cloak
#

i think voicelines might be doing that in general, atleast i dont think i have control over that

#

or you mean like voicelines which werent event started before you paused?

#

re ranged weapon - strange, what will they do instead, try to chase you down, or just stand there? And you sure they behave differently in vanilla?

misty sentinel
# carmine cloak or you mean like voicelines which werent event started before you paused?

It looks like the event is looping for playing a voice during combat when pausing at that time (the one from Mercy, not vanilla)
For ranged weapon itโ€™s easy check, add any ranged wpn to an NPC through console and start the fight, itโ€™s using h2h/melee weapon depending on what he has available and only when coming closest possible to him he equips the ranged. I will check more tommorow since I am in bed already ๐Ÿ‘

carmine cloak
#

mmm, well, mercy does some weird things in there, I believe it lets vanilla control ranged characters if their ranged skill is a primary skill

#

if they are primarily a melee char, but with ranged weapon - mercy will treat them as melee

#

but openmw still sometimes can squeeze in its own decision of switching a weapon, so probably thats a reaason why its a bit of a mess

#

if this is not happening to all ranged - then its fine, just a downside that wont be fixed anytime soon as ideally it requires properly implementing ranged characters into mercy

#

like from what i remember - I did encounter quite a few characters who would start throwing darts at me and such, so it must be that the thing works atleast to some extent

misty sentinel
#

I will check later how it works vanilla and with mercy to be completely sure

#

Since the seyda neen first cave bandit uses its ranged weapon just fine so it might be an edge case

static timber
#

Hmmm an option in the settings that lets you limit how many NPCs does mercy take effect on is possible?

#

Just my personal opinion seeing even just two or three npcs being effected by mercy is already pretty immersive for me

static timber
#

That also yeah

carmine cloak
#

if that was not a primary reason - what was a primary reason?

normal imp
#

If I could offer a suggestion for something to look at in the future - is it possible to make the AI more intelligent about how to choose between targeting the player vs followers? I am using the mod that forces the AI to choose the player over their follower/summons, which does feel more balanced than vanilla. However, the AI will ignore the summon even if they can't reach/attack the player.

#

If it were possible to have the AI prioritize the player until they can't attack or reach them, then swap to attacking the follower, that would be awesome

carmine cloak
#

a lot of people will be unhappy about it because then summons will lose their value a lot, this really highly depends on what kind of character you play and what you use summons for. For now Mercy is not affecting target selection in any way - openmw does it, so any mod that changes that should work with mercy as well I think.

#

For now, not planning to introduce target selection system, but in the future It could be done, if that future will ever come

#

I would've rather done some damage-amount aggro based system and added some intelligence or something checks to enemies for them to figure out which target to prioritise

carmine cloak
#

@vivid crystal any ideas?

#

ideally this should make companions ignore targets that surrendered

boreal pagoda
left flower
carmine cloak
#

New is light, light is new main

#

In fact its even lighter than light

#

Its helium practically

left flower
#

Awesome. I'll try it later.

hushed agate
#

It techincally goes 0..4:

for attack types. Maybe there's a i+1 somewhere in Mercy?

boreal pagoda
#

Thank you for reporting this. So it must be something in Mercy

hushed agate
#

Imma ask S3ctor if he got any bug reports

#

However

#

Sicne my mod is in dev - I got this specifically after I've added self.controls.use = self.ATTACK_TYPE.NoAttack to prevent NPCs from attacking during stagger

boreal pagoda
#

Please let me know how it goes

#

Thank you for stumbling onto this. I wasn't sure what was causing it

hushed agate
#

see #lua-scripting - far as we can see, both myself and S3ctor use the enum and assign the value correctly. If there's a bug somewhere inside mercy - I can't tell

hushed agate
#

It is however a pretty obvious incompatibility, even if Mercy doesn't blow up on its own. We try to modify NPC behaviour in combat, so does Mercy

carmine cloak
#

Ive also been looking into it

#

Is that ATTACK_TYPE 0 indexed?

#

I thought it starts from 1

#

What mercy does is at some point it picks an attack from a list of strings slash,shrust,chop and the does use = ATTACK_TYPE[attack]

#

So im not entirely sure how in the world that results in 5

#

And im almost sure im not doing use +1 anywhere

carmine cloak
hushed agate
carmine cloak
#

didnt know that "view" exists, always struggled with things like looking into userdatas if i want to debug

hushed agate
#

ye, you can do it directly in console

hushed agate
#

cause +1 on 0, woud just result in 1 and be Any

carmine cloak
#

loop, that applies an index as an attack type, yea i get what you mean, but i dont think so

hushed agate
#

but for 1,5 do will get us 5 and invalid attack

carmine cloak
#

strangest part is that it only breaks with some other mods

hushed agate
#

Another thing

#

is this happens specificaly on NPCs.

#

Not on player

carmine cloak
#

so if there +1 somewhere - that should only break on thrust

hushed agate
carmine cloak
#

or maybe i+1 idea was not related to this?

#

but either way haha, so far i find it quite curious

hushed agate
#

well, if we have enum that goes zero to four and we get a throw on 5 somewhere - it usually means we have an off by one error somewhere. That's what I meant

carmine cloak
#

somewhere

hushed agate
#

ye

carmine cloak
#

and you are also not doing attack type arithmetics nor looping i assume?

hushed agate
#

nope.

setting it directly to an enum value

#
local function onUpdate(dt)
    if dt > 0 then
        if isDead(self) then return end
        npcParryController:updateEquippedIfChanged(self)
        if npcParryController.isStaggered then
            self.controls.use = self.ATTACK_TYPE.NoAttack
        end
        if npcParryController.isParrying then
            self.controls.use = self.ATTACK_TYPE.NoAttack
        end
    end
end
``` in actor script, just to prevent attacks while either stagger animation is playing, or an NPC is holding a guard
carmine cloak
#

i wonder if its possible that something goes crazy inside the engine and it adds + 1 for some reason

#

thing is mercy npcs do use thrust attacks on appropriate weapons and if that doesnt break - then it means they are capable of using 4 ATTACK_TYPE

#

but then with other mods installed it does break, so weird

hushed agate
#

I'm going to re-enable Mercy and test something in a little bit

carmine cloak
#

doesnt look like the error message itself is not trust-worthy

carmine cloak
carmine cloak
#

i can see how this is going sideways if for some reason ATTACK_TYPE userdata itself has wrong values and has 5 for thrust for some wild reason when our mods are active

#

but like, that feels so far-fetched

hushed agate
#

Right. So test A. Actor script not attached to an NPC - no issue

#

well crap. Can't repro now with Mercy enabled O_o.

carmine cloak
#

bwahaha

#

ghost in the machine :<

hushed agate
#

I'll keep Mercy enabled, will see if it comes back. There was a bit of an actor.lua rewrite on my end between then and now, most importantly I now attach it dynamically, so we'll see

hushed agate
#

Unrelated to the above.

Seeing this with some scripted npc vs npc fights in Tamriel Rebuilt. E.g. in the training hall of Old Ebonheart Fighter's Guild (in the basement)

there are two NPCs that spar there:

[02:42:40.840 E] L0x90781e5[scripts/maxyari/mercycao/improvedai.lua] eventHandler[Mercy_CombatStateChanged] failed. Lua error: [string "scripts/maxyari/mercycao/improvedai.lua"]:906: attempt to index global 'sender' (a nil value)
[02:42:40.840 E] stack traceback:
[02:42:40.840 E] [string "scripts/maxyari/mercycao/improvedai.lua"]:906: in function <[string "scripts/maxyari/mercycao/improvedai.lua"]:902>
[02:42:40.840 E] [C]: in ?

#

What's weird - there wasn't a single NPC on screen ( or player) for that matter that was attacking at the moment.

#

Neither was my parry actor script attached to any NPCs.

#

scripts/maxyari/mercycao/settingspageplayer.lua 0 0 B 0 B NA
scripts/maxyari/mercycao/settingspageglobal.lua 0 0 B 0 B NA (global script)
scripts/maxyari/mercycao/improvedai.lua 5 66 KB 1176 B 0 -30508 B
scripts/maxyari/mercycao/improvedaiglobal.lua 29 9216 B 0 B NA (global script)
scripts/maxyari/mercycao/improvedaiplayer.lua 9 0 B 0 B NA

And Mercy is using negative RAM lmao

hushed agate
#

Right. Tested the same place with parry-mod disabled. Mercy still froze. Interestingly it doesn't recover on reloadlua, but does recover in a few minutes(?) on its own. Pretty sure at this point that whatever CHIM or my wip-parry does -is not realted to this issue

#

Tried debug prints in several places in mercy, don't see a value of 5 though. Weird stuff

#

That OE FG basement might be a good place to test though. As I was able to get it to freeze pretty reliable several times in a row

carmine cloak
carmine cloak
#

in general freezing is suuuper weird and smells like an engine issue, esp since, as far as I remember, people said you can move your camera around while its "frozen"

#

lua can freeze if it does an infinite loop - but then it freezes proper

hushed agate
carmine cloak
#

Gotcha, are you using my dynamic camera mod? Prob a person that reported moving cam used that

#

And it does its own mouse cam handling

hushed agate
#

No, I do not, just the native camera with over the shoulder enabled

carmine cloak
#

Yea prob thats why

hushed agate
#

makes sense

boreal pagoda
hushed agate
#

๐Ÿคทโ€โ™‚๏ธ no clue at this point

boreal pagoda
#

Yeah it's very interesting and odd

carmine cloak
#

Btw is it happening per chance specifically only when fighting h2h enemies?

hushed agate
dull sparrowBOT
#

Right. Tested the same place with parry-mod disabled. Mercy still froze. Interestingly it doesn't recover on reloadlua, but does recover in a few minutes(?) on its own. Pretty sure at this point that whatever CHIM or my wip-parry does -is not realted to this issue

hushed agate
#

I never had CHIM on this install. My mod doesn't even save any data. So I've tried disabling it, and got it to freeze with just mercy

hushed agate
carmine cloak
#

Not 2h, h2h, i.e fists!

hushed agate
#

ah

#

msiread

#

no

#

in OE FG basement - my char wasn't even fighting

#

just observing the spar between the two that train there

#

both of them use 1h swords

carmine cloak
#

I mean enemies are using h2h

#

Ahhh

#

Hmm, well that was a guess i guess haha

#

Whats an oe fg basement?

hushed agate
#

Old Ebonheart Fighters guild

carmine cloak
#

Know a cell name per chance i can coc to?

hushed agate
#

Tamriel Rebuilt - if you have it

#

give me asec

carmine cloak
#

Dont have it yet but can install, not an issue

hushed agate
#

coc "Old Ebonheart, Guild of Fighters: Basement"

#

got the freeze in there, with only Mercy enabled several times in a row

#

just chill for a couple minute with console open and watch the npcs fight

carmine cloak
#

Thanks a lot, ill sit there and will hope for magic to happen

hushed agate
#

actually. Let me test something

carmine cloak
#

And you tried logging what value mercy sets to use, right? And its never 5?

hushed agate
#

yeah

carmine cloak
#

Thats mental

hushed agate
#

I'm not sure I caught all places

#

but I've shoved a bunch of prints in there

#

Ok, ultimate test:

carmine cloak
#

Can it be some other random mod doing that, something that we dont suspect but all of you have installed

#

But i dont

hushed agate
#

ah, fuck, need TR too don't I lmao

#

Ok, same test. Test character, just TR and Mercy

hushed agate
#

well, no. Can't repro with just mercy so far.

#

no idea at this point

#

thing is - it never happens without mercy

#

and now I can't reproduce with full modlist either...

#

fck

boreal pagoda
#

Do you have any Lua NPCs mods? Maybe I have something similar so we can narrow it down

hushed agate
#

go home of stuff that touches npc's directly

#

My profiler output(this one with mercy disabled) if you have any scripts that are on this list -we can narrow it down further

boreal pagoda
#

Thank you

#

I'll start with Go Home, dynamic Animations, and third person alt

#

Since they touch NPCs

carmine cloak
#

Easier thing to try is : open your mods folder in vsc and search for .use + 1 or .use = 5 or .use in general

#

@boreal pagoda @hushed agate

boreal pagoda
#

Will do that right away

carmine cloak
#

@hushed agate when you tested mercy only, you sure it was active? I thought maybe you removed lua behaviour trees and the mercy didnt even start at all

carmine cloak
#

if they edit mercy state

#

although im currently not seeing how this can be in another mod if error reports mercy lua file, such a confusing issue

hushed agate
#

yeah, it did start, I saw the logs

hushed agate
carmine cloak
#

its probably use + 1, should have spaces around

hushed agate
#

tried that as well

carmine cloak
#

can you please open improved ai lua and at line 774 or around, right below omwself.controls.use = state.attack

#

put this logging lines

#

print("Use:",omwself.controls.use,state.attack)
print("ATTACK_TYPE:")
view(omwself.ATTACK_TYPE)

#

reproduce the issue and send me the logs?

#

although ensure that view() actually prints something, it should be a table with attack type values, not sure if view by itself prints, maybe it should be print(view(omwself.ATTACK_TYPE)) instead

hushed agate
#

Can't right now, need to step away

#

but will take a look later

carmine cloak
#

yea, i mean in general whenever youll have time and desire

#

no rush

#

thanks a bunch!

boreal pagoda
#

Thank you Max, I will try and investigate tonight

carmine cloak
boreal pagoda
#

It's a long shot but would fall children's third person alt attacks cause this type of problem? I feel like I can replicate the issue more with it enabled. Hmmm let me try and figure out how to add those lines

boreal pagoda
#

Hey Max, I saw that the author of this mod released an optional patch for Mercy. It may fix the issue we've been experiencing. I don't know if you want to take a look at it

hushed agate
#
      local useVal = state.attack
      if useVal ~= nil and (useVal < 0 or useVal > 1) then useVal = 1 end
      omwself.controls.use = useVal

ImproveAi.lua - line 774 replaced with these three. Not sure I agree with the "fix".

It will prevent any bullshit, should. But what it also does is replaces Chop/Slash/Thrust with Any in the assignment

#

check for <0 fine

#

check for nil, fine

#

I don't understand why check for > 1 instead of >4

#

No other changes in the file that I can see

boreal pagoda
#

Yeah I'm not entirely sure about the changes but I wonder if it's a lead

hushed agate
#

well

#

it's not

#

what it does is it handles unexpected values at the destination

#

we're no closer to understanding where they are coming from

#

it is very much a ifx

#

I'd probably do >4

#

instead of >1

#

but it is a fix

#

just that - we still have no idea why it is needed in the first place

#

so, if the value is not nil and out of bounds - we update it to an acceptable value and pass it along. Cool. But how the fuck was it 5 in the first place?!

boreal pagoda
#

I'm not entirely sure my friend. I have been going through the mods that are attached to NPCs

#

Really no leads but my observation on third person alt attacks hmm. It could be in my head haha

hushed agate
#

I'm really not sure it's related. Specifically. I also have it installed.

But just grepping over my entire mod directory - only two mods that even reference ATTACK_TYPE, and controls.use is my parry wip and mercy

#

You obviously don't have my parry mod

#

so.. yeah. It's odd

boreal pagoda
#

I am looking forward to testing your parry mod. It looks awesome

hushed agate
#

not ready for long play though

boreal pagoda
#

Thank you my friend. I will test it tonight

carmine cloak
hushed agate
carmine cloak
#

the camera spin is re dynamic cam mod, somehow mercy getting erross also corelates with dynamic camera breaking

#

maybe mercy getting error stops all lua code and cos of that dynamic cam mod can not detect an anim during which it should be prevented from working (otherwise itll spin during those anims)

#

but i dont think theres a direct causality there, just a corelation

hushed agate
#

Specifically cause all the errors we get spammed with in logs when this happens are from c++ not from lua

carmine cloak
#

oh... how do you know? lemme find them here and take a look again

hushed agate
#

the "invalid attack" thing

#

not in lua files shipped with openmw install

#

at least grep tells me so

hushed agate
#

throw std::logic_error("Invalid attack type value: " + std::to_string(static_cast<int>(attackType)));

carmine cloak
#

ah right, i was for some reason under impression that that error directly points at improvedai.lua

hushed agate
#

And by that I meant - I don't know where error happens, but the throw happens in c++

carmine cloak
#

but it doesnt, its a general cpp error

#

that changes things

#

then it does look like it might be something that some other mod does in theory

hushed agate
#

yup

still something happens downstream!?

hushed agate
#

which would be stupid, but possible

#

problem is we weren't able to find a mod that does that

carmine cloak
#

what if its openmw lua code, i.e lua stuff bundlend with openmw that does it?

#

although then you would've been able to repro it on mercy only

hushed agate
#

Beyond my competence level to diagnose

#

And - the dumb thing - that evening I wasn't able to repro on full modlist either

#

so can't tell

carmine cloak
#

yea, just thinking out loud, you helped a lot, thanks for that, im not expecting you to sit there and poke at it until its fixed

hushed agate
#

So, it definitely happens. But for the life of me - I can't find a way to reliably reproduce

carmine cloak
#

gonna pull tamriel rebuilt today and see if i can trigger it on my end

hushed agate
#

Foxunder mentions "many hand-to-hand" combatants - but it definitely happened in my case when there was non one h2h

#

oh.

#

except

#

it often happens when combat ends

#

of the cases I observed

#

right as they sheathe the weapons

carmine cloak
#

fuck

#

i think i found something finally

#

in the source code

#

well, if i trust chatgpt explanation on what those bit ops do, cos i have no clue about bit ops

hushed agate
#

#include <iostream>

int main() {
    int mUse = 1;
    for(int i=0;i < 5;i++)
    {
        int test = i | 1;
        std::cout << test;
        std::cout << "\n";
    }
}
1
1
3
3
5

#

more specifically:

#include <iostream>

int main() {
    int mUse = 1;
    for(int i=0;i < 5;i++)
    {
        int test = i | 1;
        std::cout << i;
        std::cout << "|";
        std::cout << test;
        std::cout << "\n";
    }
}```

produces:
```0|1
1|1
2|3
3|3
4|5
#

I couldn't begin to presume why there's a bitwise or there.

carmine cloak
#

hmm does that mean that EACH time someone tries to do a stab - this will trigger? Prob not, not sure how that flag spellOrAttack flag is set, probably only when i try to set .use while attack is already ongoing or something

hushed agate
#

It's been way too long since I've done any serious c++

carmine cloak
#

and thanks a lot for testing that bit op

hushed agate
#

Not each time

#

depends on that flag yes

#

the other bitwise op the & ~1

gets you

0|0
1|0
2|2
3|2
4|4

carmine cloak
#

maybe initial intent here was something like "if already attacking dont allow use to be 0"?

#

but now it just implodes

#

cos few years ago use only supported 0 or 1

#

and im sure using that bitwise op there instead of sane person math results in absolutely insane performance gains lmao

hushed agate
#

bit ops tend to do that, yes

#

especially if it's checked many times every frame

boreal pagoda
#

Please let me know if I can help and test with anything

carmine cloak
carmine cloak
#

just needs to be fixed

boreal pagoda
#

Okay brother let me know

#

Thank you

hushed agate
#

So a bit of a report. I've been playing with Mercy patched in a way Foxunder did, and my parry mod. I still don't exactly understand what was is the original intent of that c++ line, but seems like handling the value in lua in that way actually "fixes" it, without noticeable change in NPC combat behaviour

carmine cloak
#

As ive mentined like 3-4 times, itdoes change npc behaviour, it might be not noticeable visually but they will not be picking attack directions correctly with that fix

#

Bcs their attack directions are random with this fix it will look ok and play ok on average, so if things break for you without a fix its ofc better than no fix

#

Or maybe they use in-engine attack picking logic with that fix, not sure

hushed agate
#

that "noticeable" on my end is doing a lot of heavy lifting

#

yeah, not sure if it's random or purely engine side

carmine cloak
#

Btw that bitop did make sense when use only supported 0 or 1, it essentially forces use value the to always be 1 when attack is in progress and 0 when its not

#

But then i added support for other values and didnt notice that bitop line will break (i didnt even know what it does tbh), so everything broke

#

Interestingly enough the case where attack is true and use is 4 seems to somehow be a very niche case, maybe its a result of 2 mods messing with use vals at the same time

#

And then everything break, so noone ever noticed it before although issue was there from the very start

hushed agate
#

Yeah, it's very odd how it arrives specifically at that throw

#

Especially since naively - attackOrSpell == true and use == 4 should be relatively common

carmine cloak
boreal pagoda
#

I will get a reproduction

boreal pagoda
#

Hmmm

#

This is a mystery

magic pulsar
carmine cloak
#

Yea this issue is quite random

boreal pagoda
#

Here's the log, omw is only a couple of days old

boreal pagoda
#

You can see that it spams the log when it happens with that value

carmine cloak
#

thanks for the effort, but logs dont really help, I needed a way to reproduce it, error itself is clear enough

#

but it seem like devs already rolling out some fix for it, although when this happens exactly is still unclear, whenever it happens - shouldnt happen anymore

#

so all good, thanks

boreal pagoda
#

No problem brother

#

It's very odd

next python
regal sequoia
#

Hey fellas im having trouble getting the Lua Behaviour Tree working.

Iยดve appended it to my OpenMW Launchers Data Directory like any other mod but that doesnt seem to be the way to do it

next python
regal sequoia
median plover
#

at least, there's nothing else to installing it

median plover
regal sequoia
#

Did that and Mercy is still not working

#

even though I got the settings for it in my options

#

and I have "Use navigation mesh for pathfinding" enabled

#

on the nexus page it says
"- Ensure that MercyCAO Compatibility Patches.omwscripts is at the very bottom of your Content Files list in the OpenMW launcher"

I do not have a "MercyCAO Compatibility Patches.omwscripts". That was not included in the download

#

where do I get this file

next python
boreal pagoda
#

For the bahvior tree you just have to data path to it

#

It doesn't require an extra omw script

#

The compatablity patch is no longer required

regal sequoia
#

I see

#

Then I must have some other mod thats conflicting with mercy

#

how could I go about testing this out ?

#

Could I in some way prioritize mercy and see if that works to make sure that it is another mod thats conflicting with it and not an issue with the install

#

@boreal pagoda

#

I dont think I have anything that should conflict with it so im not sure it is that

carmine cloak
#

Man i again forgot to remove that compatibility patches thing from description

#

@regal sequoia how do you know that its not working if you see options for it in settings?

regal sequoia
carmine cloak
#

Sad

#

Any errors in f10 console?

regal sequoia
carmine cloak
#

Where did you put them?

#

Try and follow installation instructions again for both, but without making any assumptions, just do what it states

regal sequoia
#

"Lua error: module not found: scripts.behaviourtreelua2e.lib.behaviour_tree"

regal sequoia
#

omg it works

#

Idk what I did differently but it all works

#

this shit is awesome man

#

you made this ?

#

this with the Vanilla friendly parry mod, solthas combat, ReAnimation v2 and 3rd Person animations is so peak

carmine cloak
#

whats a vanilla friendly parry though, want to take a look

carmine cloak
#

oh, i kind of didnt know its called vanilla-friendly parry ahah, but yea thats what i though about

regal sequoia
#

I cant wait to get jumped by a gang of racist dunmer

carmine cloak
#

self defence you know, they were racist

#

jumped me

#

all that

#

๐Ÿ™‚

hushed agate
kind path
#

@carmine cloak
I've been hacking around with claude for a while to create a creature parallel to Mercy.

It's mostly AI generated (after coding all day for work I didn't want to dive into learning OpenMw lua scripting etc) - it's not really something I think I'd want to release and maintain, nor is it super well tested but thought it would be fun to at least post the .zip here for people to play around with if they wanted as I think it does add a layer of dynamism that's quite fun even as it is now.

BUT don't want to distribute something that is basically an AI generated derivative of your work if you don't want that, so I won't share it if you don't want me to.

carmine cloak
#

Naw its fine share it here, although i do expect things to break hillariously haha

#

And I appreciate the interest and effort!

#

If it will work fine im also fine w you posting it on nexus or wherever

kind path
boreal thistle
#

Just wanna say how cool this is that even player companions can have enough of it and surrender to the enemies

magic pulsar
#

Looking at 0.51.0 RC1 changelog... is that soft lock/freezing bug fixed?

hushed agate
buoyant shadow
carmine cloak
#

Ahaha what in the monthy python is going on

#

Just in case chec if any errors in f10 logs

buoyant shadow
#

Like this?

[09:10:39.070 I] L@0x11c3[scripts/maxyari/mercycao/improvedai.lua]:     Use:    3       3
[09:10:39.070 I] L@0x11c3[scripts/maxyari/mercycao/improvedai.lua]:     ATTACK_TYPE:
[09:10:39.070 E] L@0x11c3[scripts/maxyari/mercycao/improvedai.lua] onUpdate failed. Lua error: [string "scripts/maxyari/mercycao/improvedai.lua"]:777: attempt to call global 'view' (a nil value)
[09:10:39.070 E] stack traceback:
[09:10:39.070 E]        [string "scripts/maxyari/mercycao/improvedai.lua"]:777: in function <[string "scripts/maxyari/mercycao/improvedai.lua"]:486>
[09:10:39.070 E]        [C]: in ?
[09:10:39.135 I] L@0xdd7[scripts/maxyari/mercycao/improvedai.lua]:      Use:    0       0
[09:10:39.135 I] L@0xdd7[scripts/maxyari/mercycao/improvedai.lua]:      ATTACK_TYPE:
[09:10:39.135 E] L@0xdd7[scripts/maxyari/mercycao/improvedai.lua] onUpdate failed. Lua error: [string "scripts/maxyari/mercycao/improvedai.lua"]:777: attempt to call global 'view' (a nil value)
[09:10:39.135 E] stack traceback:
[09:10:39.135 E]        [string "scripts/maxyari/mercycao/improvedai.lua"]:777: in function <[string "scripts/maxyari/mercycao/improvedai.lua"]:486>
[09:10:39.135 E]        [C]: in ?
[09:10:39.146 I] L0xc07780d[scripts/maxyari/mercycao/improvedai.lua]:   Use:    0       0
[09:10:39.146 I] L0xc07780d[scripts/maxyari/mercycao/improvedai.lua]:   ATTACK_TYPE:
[09:10:39.147 E] L0xc07780d[scripts/maxyari/mercycao/improvedai.lua] onUpdate failed. Lua error: [string "scripts/maxyari/mercycao/improvedai.lua"]:777: attempt to call global 'view' (a nil value)
[09:10:39.147 E] stack traceback:
[09:10:39.147 E]        [string "scripts/maxyari/mercycao/improvedai.lua"]:777: in function <[string "scripts/maxyari/mercycao/improvedai.lua"]:486>
[09:10:39.147 E]        [C]: in ?
carmine cloak
#

weird, are you doing something special to trigger it?

#

erm, theres no .view at that line, nor in that file...

#

are you using a mercy patch from some other mod? Dont

#

instead update to latest mercy and to latest openmw

hushed agate
#

is there a view(? cause that is the ingame console convention - I don't think it works in actual scripts

#

But sounds like a dirty patch, yeah

carmine cloak
#

maybe its just an older version of mercy, i vaguely remember adding "view(" at some point and then realising my mistake, not even sure it was in mercy though, but i guess it probably was

buoyant shadow
buoyant shadow
#

Reinstalling from the latest revision seems to have fixed the issue. Once again, thanks.

gloomy void
#

[06:43:49.625 E] stack traceback: [06:43:49.625 E] [string "scripts/maxyari/mercycao/scripts/gutils.lua"]:288: in function 'isMarksmanWeapon' [06:43:49.625 E] [string "scripts/maxyari/mercycao/scripts/gutils.lua"]:397: in function 'getDetailedStance' [06:43:49.625 E] [string "scripts/maxyari/mercycao/scripts/behavior_nod..."]:667: in function 'shouldRun' [06:43:49.625 E] [string "scripts/behaviourtreelua2e/lib/node_types/int..."]:29: in function 'shouldRun' [06:43:49.625 E] [string "scripts/behaviourtreelua2e/lib/behaviour_tree..."]:203: in function 'run' [06:43:49.625 E] [string "scripts/maxyari/mercycao/improvedai.lua"]:760: in function <[string "scripts/maxyari/mercycao/improvedai.lua"]:486> [06:43:49.625 E] [C]: in ? [06:43:49.633 E] L0x105a3b7[scripts/maxyari/mercycao/improvedai.lua] onUpdate failed. Lua error: [string "scripts/maxyari/mercycao/scripts/gutils.lua"]:288: attempt to index local 'weaponRecord' (a nil value)

#

This loops in the terminal as its happening

carmine cloak
#

ha thats pre cool, well i guess lockpick neutralises them

#

certainly a bug, will prob fix one day, thanks!