#Burglary Overhaul

1 messages · Page 1 of 1 (latest)

candid night
#

Stuff to do:

  • Trespassing
  • Resolve pending thefts just before a guard talks to you
  • Item stack handling
  • Put abandoned stolen items back and restore ownership (shopkeepers could tidy up)
  • Don't count followers as witnesses (exclude guards)
  • Don't count bandits as witnesses?
pallid brook
#

I will repost this here for convenience. Just some possible ideas regarding implementation of trespassing:
-> trespass warning after entering the cell
-> small trespassing bounty if spotted (same as opening locks illegally)
-> ignore check if the spotter has more than 70 Disposition with the player
-> maybe the bounty could be cleared if you get the disposition with the spotter up to 70? It could be a fun system (you can use magic or persuasion to avoid the bounty) and it will probably prevent some weird edge cases
-> trespassing bounty could also be cleared if there are no witnesses alive
-> ignore check if the spotter is a non-guard NPC that belongs to the same faction as the player and the player has equal or higher rank (that will prevent weird edge cases as well)
-> ignore check if the player has a key (stolen or not, you don't have to pick the lock so it's not suspicious and AFAIK you said that checking the stolen flag is impossible)
-> ignore check if the area is wilderness (I think that you can detect that by checking whether resting is legal in a place - if it is, then it means that it's wilderness of some sorts, e.g. a cave, tomb, ruin)

#

Other random idea: routine guard searches for stolen loot after high value stuff was stolen. Let's say you steal high value Glass stuff from the Ghostgate. You wouldn't be able to just walk with this openly in Ald'run or Balmora with 0 risk. Words would get out very quickly (esp with teleportation magic available) and local authorities or crime syndicates or maybe even some factions would be on the lookout. Guard searches could be randomly initiated by dialogue after high value thefts and would sort of represent real investigations. The player could resolve this with persuasion, bribery or simply by keeping stolen stuff away, i.e. behaving like you would expect a real thief to behave.

candid night
candid night
#

It's a total hack but I could watch for any bounty increases and resolve pending thefts right then as well as when you leave the cell. That should fix the guard issue

pallid brook
# candid night Oh geeze you could even spawn in imperial inspectors / detectives that hang arou...

It all depends on how complex this feature can get while still functoning in the context of the whole game. It's easiest to use the guards because they are used everywhere for the same purpose. They can easily search the player for stolen goods. However, other options would be available as well. Faction mercenaries, thugs, bounty hunters, other thieves employed to steal things back. Maybe you could even pay the TG to make the searches go away like with the bounty. Many things can be considered :). I just started with sth universal to get the idea going and in order to nudge the player to behave like a thief would. Note that even the mere existsance of such a feature puts the player on guard (hehe) and promotes doing immersive things like using stashes in some hideouts, avoiding bringing stolen goods to cities after high value robberies or avoiding cities altogether for some time, preparing some cash for bribes etc.

candid night
#

Being able to read the stolen flag would make this sooo much easier. Maybe I should just persist it permanently for all stolen items, then I can also keep ownership info. Yet another method on the interface

#

Still get into an issue with stacking items. Those might need exceptions. That's a bummer for diamonds and books and stuff

pallid brook
#

Other smaller ideas, but relevant for thieves: 1. Night time could boost the player sneaking skill in exteriors. 2. Torches/lanters could lower player sneaking skill in a radius. 3. Bad weather could increase sneaking skill, while sunny weather could decrease it (all just in exteriors ofc).

pallid brook
candid night
#

The delayed application of the bounty will be a problem.

I'm starting to think I should apply the penalty immediately instead of when you leave. This would make Burglary compatible with most things and would simplify my spaghetti code. Kinda breaks what I was going for though.

candid night
#

I'm working on some fixes now to make detection and nwnb-ness more reliable. I also implemented the thing where if your bounty goes up, I immediately resolve any stolen items. It's just not reliably triggered

pallid brook
candid night
#

Maybe people are more interested in just making burglary harder though

pallid brook
#

I see the immersion appeal, but it doesn't change that much, I think. Only guards react to player bounty, anyway. The delay also isn't long and you would still keep the witness system, I guess. The advantage of the instantenous system seems to be better compatibility and less jank (like guard arresting you in the same cell and the bounty still applies outside so it's another arrest). It's probably at least worth considering. Food for thought 🧠

candid night
#

Yeah it would certainly make things less janky. It basically requires me to make nwnb-ness mandatory though. Maybe that's fine

candid night
#

Released 0.8.0!

  • I fixed a bunch of weird behaviors. Things should be more reliable now.
  • If a crime you do gets reported, it's counted as having been spotted. Additionally, if you get reported, all pending thefts will be processed immediately rather than waiting until cell exit. This makes getting caught by guards behave like you'd expect, with an accurate bounty.
  • Added new interface methods so you can hook into onSpotted and onTheft events in your own mods. This should be able to power trespassing and detective mods.
candid night
#

stuff remaining to get out of alpha:

  • don't count followers as witnesses.
  • come up with a way to handle stacks
pallid brook
candid night
#

Figured out how to handle stacks correctly most of the time

candid night
#

Stacks and bandit handling all done, just got to publish it on nexus now. will do that later today

#

this officially gets the mod out of alpha, and is technically feature complete

candid night
#

1.0.0 is out!

golden marsh
#

I was crazy about this mod but the incompatibility with no witness no bounty was a nono. Thanks for implementing it😭 ❤️

pallid brook
#

Congratulations on 1.0 release 😀 . Trespassing system sounds like a natural next step. This mod and Go Home! mod will be fire 🔥

candid night
candid night
#

First pass at trespassing has been released in 1.1.0. Also introduced a keyring (don't use it yet, I just found a bug)

candid night
#

Removed the keyring. Realized it wouldn't work on slave bracers

#

The trespassing implementation is super basic.
If you use a door that has a key associated with it, I check if you have the key. If you do (or if you used to have it) then you're allowed in the area. Otherwise you aren't. Only works for doors that go to new cells

candid night
#

There's still one stack bug left that bothers me a lot. If you have an item and then pick up a duplicate of it, it won't be counted as theft. Maybe I can get around it with more code in the onActivate method

pallid brook
candid night
#

I think I can get around the last stack bug by tracking the owner of the last activated object and override the owner on the next item detection check

pallid brook
#

I will also note that there are various storerooms and other cells inside shops etc. which are locked. If you enter them, you get transferred to a different cell. Definitely private 😉

#

Go Home may additionally lock some homes and shops at night and move NPCs around, but it doesn't add new keys.

sly latch
#

you should check whether the key that the player has is, itself, marked as stolen

candid night
candid night
candid night
#

1.1.2 just has some more stack handling corner case bug fixes and also a trespassing alert

#

Item ownership stuff is now as solid as I can possibly get it

tawdry ether
#

With 100% resistance to magic, you constantly receive the "You resisted magic" message

grim geyser
# candid night Yeah I think I can manage that with the existing code without too much extra wor...

This would be a nice touch, there will only be a few niche cases where you steal the key off a bandit and enter a new area which is locked. Also, if you ignore the bandits and lockpick your way into a new section you will be reported (it's very rare but it happened to me in (modded) Minabi, where the slaves reported me for trespassing 🙂 - but like I said, a very niche thing). All in all, great mod, 10/10 would trespass the ungrateful slaves again.

pallid brook
#

slaves (NPCs with Slave class) probably should be ignored as spotters, anyway.

grim geyser
#

Not necessarily, I can imagine cases where a slave would report a crime - for fear of reprisal if nothing else

#

Although it would simplify some things, true

pallid brook
jagged tokenBOT
#

I will repost this here for convenience. Just some possible ideas regarding implementation of trespassing:
-> trespass warning after entering the cell
-> small trespassing bounty if spotted (same as opening locks illegally)
-> ignore check if the spotter has more than 70 Disposition with the player
-> maybe the bounty could be cleared if you get the disposition with the spotter up to 70? It could be a fun system (you can use magic or persuasion to avoid the bounty) and it will probably prevent some weird edge cases
-> trespassing bounty could also be cleared if there are no witnesses alive
-> ignore check if the spotter is a non-guard NPC that belongs to the same faction as the player and the player has equal or higher rank (that will prevent weird edge cases as well)
-> ignore check if the player has a key (stolen or not, you don't have to pick the lock so it's not suspicious and AFAIK you said that checking the stolen flag is impossible)
-> ignore check if the area is wilderness (I think that you can detect that by checking whether resting is legal in a place - if it is, then it means that it's wilderness of some sorts, e.g. a cave, tomb, ruin)

candid night
candid night
#

Might work on an icon next that pops up while sneaking if you are spotted

#

I can also make Spotted trigger if you just hang around the NPC while not sneaking, and also when you activate them for a conversation

candid night
#

More robust spotting, trespassing bug fix, and trespassing on owned doors coming in about an hour

#

The owned doors change might work with doors locked by Go Home!

candid night
#

Uploaded 1.1.4

glad knoll
#

Thanks for the update, my friend!

uncut trout
#

This might just be the mod of the year, at least for gameplay purposes

limpid coral
#

Sophisticated!

candid night
#

Oh I think I could do a sneak meter. Just take the lowest elusiveness - awareness score of all nearby NPCs

#

I'll need to actually take facing into account before I do that though

sharp stream
#

I occasionally get the "no witnesses" message prompt when I don't think I should. I don't know what's triggering it yet, just that it happens sometimes when I'm just moving through town

grim geyser
#

Some thoughts on trespassing - overall it's a great improvement. However, the trespassing message sometimes appears without any reason - I use BCOM and it happens I exit the Black Shalk Cornerclub (after having rented a room), or when I enter the house of the Dunmer trader in the working district of Balmora. Lastly, it messes up some quests, like Tsyia's Skooma Pipe, also in Balmora, where you need to go through a locked door to reach the quest target. I'm not sure if a temporary blacklist could be applied to certain quest targets.

candid night
#

I'm working on cleaning up some event processing, which should fix the messages popping up when you don't expect. It's a tough one.

A blocklist is a great idea. It'd have to be defined by destination and target cell. If you can get me the records for those cells you'd like to block it'd help me out when I get to working on it. I don't have bcom

grim geyser
#

Sure, I'll try. The first (vanilla) cell is: Balmora, Tsiya's House. Whenever I enter the cell I immediately get the trespass message and a reported crime every few seconds, although the NPC has no line of sight to me - she's on the floor above.

candid night
#

Ty, I'll tackle this next

#

Released 1.1.5, which should have less aggressive alerts and some nasty race condition bugs fixed. It's getting really complicated in there so it's hard to test 😭

candid night
candid night
#

Trespassing triggers when I enter "Mournhold, Royal Palace: Courtyard" after teleporting to the dlc

maiden glade
#

I grabbed this mod right away when I read it's description. It's fascinating that some 20 years later, Bethesda games don't come close to this mods level of complexity and gameplay engagement in regards to the thievery system.

I had a thought about the implementation of a more nuanced approach to NPCs noticing theft, based on a few variables that I thought I'd share.

As the system is currently, as long as your noticed, and something goes missing, a bounty is registered into the system. This works fine on paper, and is a step up from the normal systems in honestly ALL of todds games. But what if it's something inconsequential?

Where does that line get drawn? How?

Let's say you steal a quill from a library. Would someone notice that?

If you stole the fishing rod from a peasant who's only job was to fish, would he notice? (Yes)

What if you stole a single common shirt from a clothier with thousands of gold worth of stock?

I think ultimately, the best way to approach designing this level of complexity might involve checks when entering a cell that calculate the total wealth within the cell (not worn on bodies), and then scaling against that with a %.

  • For example, entering a peasants dirt hut, and stealing his only prized possession, a fishing rod, might only be worth 5 gold. BUT, if the things in his hut are, totaled, only worth 35 gold? You just stole 15% of his entire net worth! He's going to notice.

  • Another example might could be a Tavern, where you steal a single fork on a table on your way out. Let's say it's value in the total tavern only constituted 1% of the total value of the cell. Would the vendor notice? Or care?

I think ultimately, an addition like this would be the next step in such an amazing mod like this, but I don't have the know how on how to integrated it as both lightweight, and intelligently.

Either way, I can't way to try this mod out, and bugtest the hell out of it. Thank you for such an interesting mod!

candid night
# maiden glade I grabbed this mod right away when I read it's description. It's fascinating tha...

I've been thinking about this and there's one small gotcha when it comes to implementing it:

I don't want to inspect the contents of containers until the player opens them to check. Doing so will resolve the contents if they are leveled.

Maybe this could be approximated just by summing the value of stuff in their personal inventory rather than every container they own. Maybe with a level modifier or something.

Also I'm really glad you're excited to try it out! Interest in the mod keeps me working on it

maiden glade
#

Each container that isn't unique and contains generated loot has a levelled list applied to it though, right? You could always have the system auto generate a median value for those crates.

"Misc Swamp Outlaw Cave Loot Boxes" - 250g
"Locked Large Chest Ancestral Tombs" - 200g

#

etc

#

It wouldn't be wholly accurate, but it would keep things from calling and getting overly complicated

candid night
#

I'll have to look into the API. I don't remember seeing a way to read the levelled list info

weak frigate
grim geyser
candid night
#

1.1.7 is released! This has these fixes:

  • Line of Sight checks are now made when determining if you are spotted. This should fix some cases where you were getting spotted through the ceiling.
  • The passive (non-voice) radius has been increased a little.
  • Facing direction multiplier is now implemented, so we're basically fully matched to the vanilla game mechanics now when it comes to sneaking.
  • Quasi exteriors are excluded from trespassing checks (hopefully this fixes Mournhold).
candid night
#

Maybe I could do a console command to add cells to an override list. Then it would be easier to get a good list with the correct record IDs, which I can then use as a default list

#

Just seems like there are going to be a lot of overrides for trespassing

#

Maybe a heuristic that checks if there are a bunch of owned items in the target cell. If there aren't many, don't count it as trespassing

candid night
#

Released 1.1.8 which messes with the trespassing rules

#

Hopefully no more false positives

#

Also stolen keys don't matter if the door is owned

candid night
#

Released 1.2.0 which adds a configurable HUD icon for Spotted status. Also swapped out the title art

candid night
#

Next set of changes will wait until Go Home! integration happens

maiden glade
#

I found a replicateable bug that I don't think is intentional.

#

If you place a stolen object in a container, and then take it back out, NPCs will recognize that the item was stolen, and flag you for theft, even if it's your own container, even if it's unowned, etc.

That's not the issue, that's just the inherent system.

The issue is the mechanic of "Companion Share", a system where you can give items to NPCs to use.

It's in the vanilla game, and is called on for many modded in companions.

Placing a stolen object into an NPCs inventory using the system does nothing. Taking it back out, on the other hand, causes the NPC to report you on the spot.

On top of the "reported theft", the NPCs disposition with you also plummets, acting as if you've stolen directly from them.

I'm not sure how you would reconcile this, but perhaps there's a unique reference to containers that are utilized with "companion share" that you could effectively blacklist?

EDIT: This only occurs when "Spotted".

EDIT 2: Getting random bounties when interacting with ANYTHING in a "companion share" container.

candid night
#

Thanks for the bug report!
I'm not sure how companion share works. Which mod is the companion from?
There's really two issues here-
Companions will Spot you
Something about that inventory share window is not being picked up by the dialogue/barter check

candid night
#

Ah I could probably test this vs the pack rat in Mournhold.

It might be a mwscript 'Companion' variable set to 1

candid night
#

Copying this bug report here so I don't forget it:

Hi, ive been getting this message in my log when i start the game:

[20:45:19.439 E] Global[scripts/ernburglary/global.lua] eventHandler[ErnBurglaryonNewItem] failed. Lua error: [string "scripts/ernburglary/global.lua"]:54: thieveryKey() bad cellID
[20:45:19.439 E] stack traceback:
[20:45:19.439 E] [C]: in function 'error'
[20:45:19.439 E] [string "scripts/ernburglary/global.lua"]:54: in function 'thieveryKey'
[20:45:19.439 E] [string "scripts/ernburglary/global.lua"]:87: in function 'getCellState'
[20:45:19.439 E] [string "scripts/ernburglary/global.lua"]:708: in function <[string "scripts/ernburglary/global.lua"]:705>

candid night
candid night
#

I'll post an update tonight with these fixes:

  • border around the spotted icon
  • companion inventory won't trigger theft
  • use backup cell ID for race condition
candid night
#

I've been working on a companion mod to this one that adds radiant heist quests to the thieves guild. I was planning on releasing it as a different mod, but now I'm wondering if I should just include it as a separate, sibling data file in this one

#

Anyone have preferences on this?

pallid brook
hollow sorrel
#

I think so long as it's a separate file to enable, it can go stand-alone or with this. Either gives folks the option to use it or not.

#

If you make it a separate mod, then you can boast about multiple mods, not just this! Bonus win! 😄

candid night
#

Thanks for the feedback! I think I'll release it separately so I don't spam people with updates they don't care about

snow yoke
#

Not sure and sorry if this was already discussed- but current saving and reloading resets your “spotted” status

#

Effectively rendering this mod exploitable

candid night
#

That's a new bug, thanks for reporting 👍

outer grail
#

Hey hey! Coming over here from the other mod channel. Does burglary overhaul include that one shrine feature?

#

It’s not a big deal, I was just curious because I was thinking about making a mod for it if there isn’t already one out there. It’s a very silly thing though 🤣

candid night
#

Ah no, this mod doesn't do shrine stuff. I was just talking about how to apply an effect without absorption

outer grail
#

Oh word! Rather than shrines, what do you use it for?

candid night
outer grail
#

Interesting, and without lua that would be absorbed by spell absorption?

candid night
outer grail
#

Yeah I figured. I actually had no idea that atronach absorbed shrine blessings until very recently and even though it’s not a huge problem and you can just spam shrines, I wondered how this could even be solved 🤣

#

Mods like fair care are also absorbed by atronach too. It’s a funny birth sign

candid night
#

Another bug report so I don't forget about it:

 [12:53:19.958 I] Global[scripts/ernburglary/global.lua]:    DEBUG: multiplying value of Kwama Meat (10) by count 5.
[12:53:19.958 I] Global[scripts/ernburglary/global.lua]:    DEBUG: using backup owner for Kwama Meat
[12:53:19.958 I] Global[scripts/ernburglary/global.lua]:    DEBUG: assessing 5 new item: Kwama Meat(@0x3767): not owned by anyone
[12:53:19.958 E] Global[scripts/ernburglary/global.lua] eventHandler[ErnBurglaryonCellChange] failed. Lua error: Object is not available: @0x3764
[12:53:19.958 E] stack traceback:
[12:53:19.958 E]     [C]: in function '__index'
[12:53:19.958 E]     [string "scripts/ernburglary/global.lua"]:480: in function 'resolvePendingTheft'
[12:53:19.958 E]     [string "scripts/ernburglary/global.lua"]:673: in function 'onCellExit'
[12:53:19.958 E]     [string "scripts/ernburglary/global.lua"]:685: in function <[string "scripts/ernburglary/global.lua"]:680>
[12:53:19.958 E]     [C]: in ?
[12:53:19.967 I] L@0x1[scripts/ernburglary/player.lua]:    DEBUG: sending spotted by event for r_bc_n_reeds
[12:53:19.968 I] Global[scripts/ernburglary/interface_test.lua]:    DEBUG: onSpottedChangeCallback(table: 0x022871d1b870 {
[12:53:19.968 I]   spotted = false,
[12:53:19.968 I]   cellID = Esm3ExteriorCell:-2:-9,
[12:53:19.968 I]   player = object@0x1 (NPC, "player"),

just as i leave Arrille's 
candid night
candid night
pallid brook
candid night
pallid brook
candid night
pallid brook
#

Well, I don't know how you choose quest targets. If they are in containers, then container lock lvl and trap check as well as nearby NPC and/or owner lvls are some possibilities. Items outside containers could also be perceived as easier to take. If the owner belongs to a faction, then that also may be perceived as more difficult as it may be trickier for some players.

#

Distance check may be another factor, if that's possible. Far away target = harder.

candid night
#

Those are all great 😃

pallid brook
#

For the faction check, maybe it could be perceived as harder if the player is in the same faction as the owner.

weak frigate
# candid night Those are all great 😃

The conditions to show the spotted icon don't work well for me.
With the "sneaking" setting, the icon is hidden at first, but then it appears when I press Shift, which is my key to force walking, then it never disappears, even when toggling the sneak mode (Ctrl for me)

#

It actually disappears when I change cell

#

It also appears when I first crouch, but then is never removed when I quit the sneak mode

candid night
#

It only triggers when you start walking or stop walking for me (I don't use auto walk)

candid night
#

Mwscript is not something I like

weak frigate
candid night
# weak frigate Yes I do

I can't reproduce this on my end. It's normal that the icon only sets/resets while you are moving. I can't get the icon to stick on though

weak frigate
candid night
weak frigate
#

Oh and I play in first person view

candid night
#

Yeah me too, that shouldn't be a problem

#

Oh I repo'd it:

  1. Get spotted.
  2. Enter stealth.
  3. Hit auto run.
  4. Unstealth.
  5. Walk around
#

False alarm on repo. Can't do it

#

When you look at the log I'm mostly interested in lines containing "Spotted Icon"

#

When you toggle sneak off you need to take a step afterward

candid night
weak frigate
#

hmm I only have 5 minutes, so I'll just send you a log where I press shift and the icon appears

#

Here I just move forward, then backward, and the icon appears during the backward move

#

I don't sneak, I don't press shift to walk, I'm just with autorun

#

Maybe it's not related to shift or control. If I stay still, no icon, but when I move the icon appears shortly after

candid night
#

it's normal that the icon doesn't hide/unhide while you are not moving

#

I don't think it's related to your controls either

#

do you have any animation mods installed? are you using animation blending?

#

I have these set in my settings.cfg:

[Game]
use additional anim sources = true
smooth animation transitions = true
#

asking if there's a better way to detect sneak mode here: #lua-scripting message

jagged tokenBOT
#

Is there a more reliable way to determine if the player is in sneak mode other than registering handlers on interfaces.AnimationController.addTextKeyHandler ?

weak frigate
weak frigate
#

If I stay still, no icon, if I move forward for half a second and then stop, the icon appears after approx one second

candid night
candid night
#

wow that's annoying:

[01:09:21.585 I] Global[scripts/ernburglary/interface_test.lua]:    DEBUG: onSpottedChangeCallback(table: 0x7f8ee48cf1d0 {
[01:09:21.585 I]   spotted = true,
[01:09:21.585 I]   npc = object0x1050ed4 (NPC, "tolvise othralen"),
[01:09:21.585 I]   cellID = seyda neen, arrille's tradehouse,
[01:09:21.585 I]   player = object@0x1 (NPC, "player"),
[01:09:21.585 I] })
[01:09:21.618 I] L@0x1[scripts/ernburglary/alerts/player.lua]:    DEBUG: Spotted Icon: hiding
[01:09:21.619 I] Global[scripts/ernburglary/trespass/global.lua]:    DEBUG: Player was spotted.
#

something doesn't seem right there. I put up a new version at that link with some more logging

candid night
#

Ah it stuck on me once after being spotted and then taking a stilt strider 😩

weak frigate
candid night
# weak frigate Here is the log with the last version

Thanks!

[10:30:40.424 I] L@0x1[scripts/ernburglary/alerts/player.lua]:    DEBUG: Spotted Icon: hiding. spotted: true, sneaking: false
[10:30:40.425 I] Global[scripts/ernburglary/trespass/global.lua]:    DEBUG: Player was spotted.

This log shows that the icon should have been hidden because you weren't sneaking (but you were still spotted). Since the icon was stuck on though, something strange must be going on with the icon hiding code.

candid night
#

@red thorn here lol

red thorn
#

nice one!

#

i was way off

#

iv had a pretty confusing time in general, trying to figure out whats going on in my game was interesting. i was getting an error when i leave Arrille's about some kwama meat he had. it seems like its stuck trying to resolve a bounty for the meat even if it doesnt exist anymore. every time i walk out the door it tries again, it pretty odd. i still need to find out how the ownership is set by the mod Hunterwind

#

the thing is it wont stop trying to resolve even if i eat all the meat and reloadlua, is there a way to purge the script or something?

candid night
#

The mod tries to save state per cell in a big nested table. I should be able to add a check if the item doesn't exist anymore. I'll need to add a lua command that can be called in the console so you can purge state

candid night
weak frigate
candid night
#

Released a new version that fixes dubiousnpc's problem but probably won't fix yours, mym

weak frigate
#

my original request was to prevent having a permanent red icon on my active effects icon bar

#

it constantly catches my attention

#

I think you could achieve that by altering the active effects instead of active spells

candid night
#

Whew! Ok I can check it out later

outer grail
#

Question, I haven’t downloaded this mod yet (mostly because I like being op since my character mostly wears medium armor), but how does camouflage work with detection? If I enter a building with camouflage active and I’m not spotted, will I still get flagged as a burglar?

candid night
#

Note to self: in radiant theft, does the placement of a macguffin into a container with a levelled list resolve that container forever? Might need to restrict to non-levelled containers

red thorn
#

This is something I e been wondering about. Is there a way to set a point to spawn an item? I was thinking about ways to randomly restock a shops shelves

#

It would be cool to be able to set spawn points to hide randomized items around in the world

candid night
#

I thought about casting rays from the actor until it hits a wall and then cast down from there to get a point in space. Then I could place the item out there

#

More tweaks would be needed to ensure the item isn't overlapping other items

#

Ultimately I think doing it procedurally would be a looooot of effort for something that is still janky

#

Most things would only fit on the floor

#

Also finding the macguffin will be such a pain in the ass if it's small like a moon sugar or an amulet

#

Might be neat to have a detection spell equivalent

red thorn
#

Yeah chances of frustration are pretty high with that, I bet ownlyme would add it to Hudmarkers if you asked 🤔

candid night
#

Working on some fixes and narsis support for Radiant Theft too

weak frigate
candid night
weak frigate
#

Alright, thx for the option

candid night
#

Fixed a bunch of bugs in Radiant Theft. Narsis wasn't showing up in the target list 😬

#

Released as 0.1.1

pallid brook
# candid night Released as 0.1.1

I still think that rewards should have some scaling. Surely we can base it on something. Even distance alone as it makes sense that a heist in a nearby city pays worse than a quest half a world away.

candid night
candid night
candid night
#

Critical bugfix released in 0.1.2, please update so you won't get super frustrated

candid night
#

New releases:

  • Burglary Overhaul: Patch for OpenMW 0.50 compatibility. The Sneak Drain penalty is now optional.
  • Radiant Theft: Better selection of target cells. Repeats are deprioritized and the max distance is a soft max distance.
weak frigate
candid night
#

Radiant Theft thoughts:

I think I'll work on prioritizing non-sacks next for containers. Then if we get a chest or desk, I can proactively lock it if it isn't locked.

One issue I'm running into is that in huge TR cities, it's very very hard to track down where the target container is. This is even more difficult because the NPC might not be in the same cell as the container they own. Not sure how to handle this diegetically

candid night
#

Added some localizations in the latest release and also changed the Spotted icon (and made it so you can override the icon with something else). I can't mark the mod as compatible with more than one language in Nexus 🙁

candid night
#

Radiant Theft: Added prioritization to container selection so sacks, urns, and baskets, and unlocked containers will be chosen less often. Haven't made a release on nexus for it yet

pallid brook
candid night
pallid brook
#

Can't you exclude everything with "sack" in the name?

candid night
#

That's what I'm doing with prioritization, yeah

pallid brook
#

It should be reliable. Sacks tend to be... sacks 😆

candid night
#

Ok! 😜

pallid brook
#

Have you seen a sack named differently?

candid night
#

I just want the failure mode of running the mod in a different localization of MW to be graceful. That's what I was thinking

#

I can make that work if I instead look for chest or desk though

candid night
#

The lock difficulty scales based on Thieves Guild rank, which also is a component of the reward

candid night
red thorn
#

Nice!

candid night
#

New feature to consider: level up Sneak based on unspotted item value theft

red thorn
#

Ooh yeah that's good, what do you think of tracking location too? Like stealing from a palace or dangerous enemies, iirc FreshLoot has some clever way of calculating threat level of an area. Such interesting times

candid night
#

Area danger is an interesting idea, but I don't know about it. Usually palaces will have more value of stuff to steal and more guards, so we already get more XP per danger for free

candid night
#

Sneak XP gain is now released in 1.3.0!

pallid brook
weak frigate
#

But NCGDMW applies an exponential skill reduction to slow down the skill progression at high level, and mods that add XP for new actions may not do that. Not a big deal, but such external gains may become the easiest way to increase skills at high levels.

#

I could add an interface function that takes a skill id and gain, and returns the new gain value according to NCGDMW's skill reduction setting.

candid night
#

I divide the incoming XP by a power of the base skill value (think I settled on 1.7)

little frigate
#

Thank you for the update

#

I'm curious, is there incompatibility with Pause Control and Shop Around? I'll have to do more testing. Thank you.

candid night
little frigate
#

I'll do some thorough testing today and report back. Thank you for all the hardwork.

candid night
#

Does it handle gain past 1? I had trouble scaling correctly if it would cause a level up while advancing progress

weak frigate
candid night
#

Thank you! I'll update the code I'm using to match that

weak frigate
#

No problem. Min and max are settings defined by the player.

weak frigate
#

So you'll get different factors based on what you set for min and max, and what the player set

little frigate
#

Ohhh thank you both

#

This is great that they'll have interop

pallid brook
weak frigate
#

But I have to find a way to detect when a skill used handler is manually called from another mod

#

Currently it will work if you use the scale field of the options parameter, and you add another field for NCGDMW

candid night
#

I need to read up on the skill used handler. I guess I could just trigger it multiple times if an item was super expensive

weak frigate
#

Like 1 means normal gain, 2 means double...

candid night
#

That's perfect, will go that route then datchim

weak frigate
# candid night That's perfect, will go that route then <:datchim:595224332272140298>

Could you please add a "manual = true" param? This way NCGDMW knows the trigger comes from another mod and then it won't override the gain, won't try to scale the gain...
Example:

I.SkillProgression.skillUsed(core.stats.Skill.records.unarmored.id, { scale = 1 / 8, useType = I.SkillProgression.SKILL_USE_TYPES.Armor_HitByOpponent, manual = true })
candid night
#

Ah I was going to set the gain just based on item value and then let the game work it out when using the skill progression interface. Like take the log of the item price and set that as the base?

candid night
#

I'm away from the computer right now, can't check anything

weak frigate
#

But as Morrowind has very expensive items (Daedric...), I would first apply some sort of log function on it

#

For example, price^0.5 / 20, and possibly cap the result at 2, 3, 5, or 10

#

With this formula, the scale would be 100% for a price at 400

#

And it would be 1100% for an item valued 50K

#

You can also cap the min scale value to 10%, 25%, or 50%...

weak frigate
candid night
candid night
#

Published in 1.3.1

weak frigate
#

But I think I'll have to change how NCGDMW overrides the default gains: Prevent override if the user didn't change the default value

#

I won't be able to code anything before August 18th though

pallid brook
#

As for skill gain, I would keep it low. It should be just a nice bonus, not an optimal way of levelling IMO

weak frigate
ivory jay
#

I found a potential bug, should I describe it here, or in nexus?

candid night
candid night
candid night
ivory jay
# candid night Here is great, thank you 😀

I think your mod collides with Graphical Herbalism somehow.

When picking plants, there is a slim chance (maybe 1/20?) that the plant is not visually "picked", and no item is being added. When saving, then reloading after picking, the plant is now visually picked.

I did some testing, and the issue only seems to happen with your mod active. There is no error in the log.

candid night
pallid brook
#

And Vanilla already has some Sneak scaling btw

weak frigate
candid night
ivory jay
# candid night That's bizarre! Are you running with a Graphical Herbalism mod or just the built...

I'm on 0.50 nightly. I just use the OpenMW graphical herbalism. I think one still needs these assets, right?
https://www.nexusmods.com/morrowind/mods/46599

Only mod modifying the herbalism would be the fixes from Optimization Patch.

Did some tests again, I can still reproduce it! 😮

Nexus Mods :: Morrowind

Now works with OpenMW! MWSE Graphic Herbalism harnesses the power of lua and mesh switchnodes, allowing this mod to be run without an esp or standard scripts. This dramatically optimizes performance c

candid night
# ivory jay I'm on 0.50 nightly. I just use the OpenMW graphical herbalism. I think one stil...

Weiiird!

Here's my load order:

<snip>
data="../mods/Gameplay/GraphicHerbalismMWSEandOpenMWEdition/00 Core + Vanilla Meshes"
data="../mods/Gameplay/GraphicHerbalismMWSEandOpenMWEdition/01 Optional - Smoothed Meshes"
data="../mods/Performance/MorrowindOptimizationPatch/05 Graphic Herbalism Patch"
data="../mods/Gameplay/GraphicHerbalismMWSEandOpenMWEdition/00 Correct UV Ore + README"
data="../mods/Performance/ProjectAtlas/00 Core"
data="../mods/Performance/ProjectAtlas/01 Textures - MET"
data="../mods/Performance/ProjectAtlas/02 Urns - Smoothed"
data="../mods/Performance/ProjectAtlas/03 Redware - Smoothed"
data="../mods/Performance/ProjectAtlas/04 Emperor Parasols - Smoothed"
data="../mods/Performance/ProjectAtlas/07 Graphic Herbalism Patch"
<snip>
burglary
#

Can you enable debug logging inside BO settings and check the log?

tepid grotto
# candid night Tried overriding the crime interface and I'm having no luck- https://github.com/...

would there be some way to do it post-detection? I have no idea what all can be tracked, but player is in non-hostile cell and steals something, is detected, every NPC goes into combat. There must be something in those events you can hook into and intercept, then pacify all the NPCs, identify the owner of the stolen item (???), and make that npc do a forcegreet etc.? Maybe even not care about the owner, just the nearest previously hostile npc (might be a bit odd here and there)

candid night
tepid grotto
#

ha, clever

candid night
#

it could be possible to pacify after the fact but it will be a hacky mess

ivory jay
tepid grotto
#

everything I do is a hacky mess so I don't see the problem there, sorry 😛

ivory jay
candid night
#

I wonder if graphic herbalism is checking if the inventory is resolved in order to decide to change the mesh or not

ivory jay
candid night
ivory jay
candid night
# ivory jay what is the issue with levelled lists?

I turned off force-resolving of inventories. So if an item appears from a levelled list, I might not be able to determine the owner based on the container it is in. so you might be able to steal things from containers containing levelled lists without any issues (BO after-the-fact theft, not normal theft)

#

yes I just confirmed on my end that this breaks BO for levelled lists

#

sorry @ivory jay , the fix is bad 😔

candid night
#

posted in #development-main message

jagged tokenBOT
#

If you resolve a container's inventory during onActivate in 0.50 (not seen in 0.49, but I could be blind) then Graphic Herbalism fails to update the mesh. #1385285370249482240 message
I think the Graphic Herbalism feature is relying on the inventory not being resolved

candid night
#

@tepid grotto I think you can get the behavior you want by setting iCrimeThresholdMultiplier to 0. then you'd get manual control over NPC fight thresholds (I think)

candid night
little frigate
#

Thank you for the update ❤️

#

The Ncgdm compatibility is fantastic. Ty both

candid night
#

I think I'm sending negative scale values if you steal an item worth less than 10 gp 🤣

ivory jay
#

For whatever reason I'm getting a 10 gold bounty each time entering Drulene Falen hut, it wasnt even locked. Why could that be?

candid night
#

And I'm guessing you have a follower that is reporting you

ivory jay
candid night
#

Yeah that would do it

#

There's a bunch of heuristics to guess if you're trespassing or not and they sometimes fail

little frigate
#

Hey my friend, I made a post on nexus. I'm not sure if this helpfuk but I have the current dev and latest burg, and also use better bars

#

[13:33:54.532 E] Error in callback: Lua error: [string "scripts/ernburglary/alerts/player.lua"]:61: attempt to perform arithmetic on field 'iconOffsetX' (a nil value)
[13:33:54.532 E] stack traceback:
[13:33:54.532 E] [string "scripts/ernburglary/alerts/player.lua"]:61: in function 'makeIcon'
[13:33:54.532 E] [string "scripts/ernburglary/alerts/player.lua"]:84: in function 'drawSpottedIcon'
[13:33:54.532 E] [string "scripts/ernburglary/alerts/player.lua"]:99: in function 'fn'
[13:33:54.532 E] [string "scripts/ernburglary/settings.lua"]:108: in function <[string "scripts/ernburglary/settings.lua"]:106>
[13:33:54.532 E] [C]: in function 'set'
[13:33:54.532 E] [string "scripts/omw/settings/common.lua"]:127: in function <[string "scripts/omw/settings/common.lua"]:122>
[13:33:54.532 E] [C]: in ?
[13:33:54.532 E] Error in callback: Lua error: [string "scripts/ernburglary/alerts/player.lua"]:61: attempt to perform arithmetic on field 'iconOffsetX' (a nil value)
[13:33:54.532 E] stack traceback:
[13:33:54.532 E] [string "scripts/ernburglary/alerts/player.lua"]:61: in function 'makeIcon'
[13:33:54.532 E] [string "scripts/ernburglary/alerts/player.lua"]:84: in function 'drawSpottedIcon'
[13:33:54.532 E] [string "scripts/ernburglary/alerts/player.lua"]:99: in function 'fn'
[13:33:54.532 E] [string "scripts/ernburglary/settings.lua"]:108: in function <[string "scripts/ernburglary/settings.lua"]:106>
[13:33:54.532 E] [C]: in function 'set'
[13:33:54.532 E] [string "scripts/omw/settings/common.lua"]:127: in function <[string "scripts/omw/settings/common.lua"]:122>
[13:33:54.532 E] [C]: in ?
[13:33:54.533 E] Error in callback: Lua error: [string "scripts/ernburglary/alerts/player.lua"]:61: attempt to perform arithmetic on field 'iconOffsetX' (a nil value)
[13:33:54.533 E] stack traceback:

candid night
#

Oh interesting! Thank you for the logs 🙂

#

In the meantime, try changing your icon offset horizontal value and then saving the settings

little frigate
#

Hmm it seems to resolve it temporarily but does dim out again if I reload hmm

candid night
#

You may need to change the setting and then save your game

little frigate
#

Ty my friend

red thorn
#

heya ive been getting this in my log, i havent encountered any issues with it, just if its useful.. [12:02:16.445 E] Global[scripts/ernburglary/global.lua] eventHandler[ErnBurglaryonCellChange] failed. Lua error: Object is not available: @0x925
[12:02:16.445 E] stack traceback:
[12:02:16.445 E] [C]: in function '__index'
[12:02:16.445 E] [string "scripts/ernburglary/global.lua"]:476: in function 'resolvePendingTheft'
[12:02:16.445 E] [string "scripts/ernburglary/global.lua"]:674: in function 'onCellExit'
[12:02:16.445 E] [string "scripts/ernburglary/global.lua"]:686: in function <[string "scripts/ernburglary/global.lua"]:681>
[12:02:16.445 E] [C]: in ?

weak frigate
red thorn
weak frigate
#

changing the load order can change the game object ids which is not good for mods, unless they explicitly handle such cases

candid night
red thorn
pallid brook
#

Started a new playthrough with this mod. I'm never going back to Vanilla. It's such a fun addition that really makes you think more like a thief, actively avoiding detection. It just works todd .

pallid brook
#

Btw default bonus Sneak for unnoticed theft is way to high IMO. I changed it to 0.001 and it's still good. Default was 0.1 IIRC. Playing with NCGD btw.

#

Spotted system works well. Trespassing is quite cool.

red thorn
candid night
pallid brook
candid night
#

A value of 1 is equivalent to a pickpocket

#

Maybe I can just subtract your current sneak level first

pallid brook
#

Maybe the higher the skill, the higher the wealth requirements for additional skill progress. It shouldn't be a very generous feature by default IMO.

weak frigate
weak frigate
#

I would take a fraction of a base gain, and if NCGDMW is detected, I would use it's interface to add a skill used handler so NCGDMW apply its multiple reductions

candid night
# weak frigate I would take a fraction of a base gain, and if NCGDMW is detected, I would use i...

I'm digging into right now actually. This is what I currently have:

"data" is the value of a stolen item

local sneakTerm = 5 * types.NPC.stats.skills.sneak(pself).base
    local scaled = math.min(2, settings.sneakXPScale() * (math.log(data / sneakTerm)))
if scaled > 0 then
        interfaces.SkillProgression.skillUsed(core.stats.Skill.records.sneak.id,
            {
                scale = scaled,
                useType = interfaces.SkillProgression.SKILL_USE_TYPES
                    .Sneak_PickPocket,
                manual = true
            })
    end

weak frigate
#

Ah yes, nice.
You can remove the manual parameter as I found a way to make manual triggers work fine with NCGDMW.

#

The base x5 seems high to me.

candid night
#

It's a problem with all the wacky super high item costs

weak frigate
#

If NCGDMW is detected I wouldn't use a scaled value as NCGDMW already does that

#

I meant I wouldn't scale on the skill level

candid night
#

ah ok

#

do you have an example for using the interface? 🙏

weak frigate
#

There is an example in the doc

#

Hmm

#

Actually you do it the right way by triggering the skill use

candid night
#

ok cool 😄

#

thanks for double checking me

weak frigate
#

I just realized I should not use the incoming scale param, it works with regular skill uses, but the gain value will be broken for manual triggers as you do

#

I think you should just detect whether NCGDMW is loaded and in such a case don't scale on the skill level

#

if I.NCGDMW ...

candid night
#

ok, one sec

#
local sneakTerm = 3 * types.NPC.stats.skills.sneak(pself).base
    if interfaces.NCGDMW then
        sneakTerm = 10
    end
    local scaled = math.min(2, settings.sneakXPScale() * (math.log(data / sneakTerm)))
weak frigate
#

Perfect. Now you just have to find a balanced base value

candid night
#

I'll also set the max scale to 1 when NCGDMW is there

weak frigate
#

What is data?

candid night
#

it's the value of the stolen item

candid night
#

Ok, 1.3.5 is out!

  • Reduced XP gain.
  • "lua notrespass" command to mark a door as ignored.
  • Seyda Neen Census Office is ignored
little frigate
#

Thank you for this fantastic mod

pallid brook
# candid night It's a problem with all the wacky super high item costs

Some caps or modifiers definitely need to be in place. It's not just about uber expensive items. If you steal a few decent ones it will quickly add up. I think that the most expensive individual item I managed to steal so far had about 700-800 value. Steal ten 250-300 ones and it's 2500-3000 (and this is a more common occurence). IMO the formula could include player sneak skill so the higher the skill, the more gold needed for the same gain (it gets harder and harder and it would be nonlinear). Also, burglaries with no owner or guards in the same cell/within certain distance should probably have much less of an impact as there is no risk of being spotted so it feels like a freebie.

red thorn
#

any other fixes? i might stay with my hardcore census version if theres nothing too pressing in the update

candid night
candid night
golden marsh
#

Do you think this mod is compatible with BO? https://www.nexusmods.com/morrowind/mods/54638

Nexus Mods :: Morrowind

This mod allows to use brute force to open most doors and containers. It also locks the doors of most shopkeepers/NPCs/Guilds at night (optional and editable, activated by default). Breaking locks is

candid night
pallid brook
#

Random idea. Increased chance of getting spotted based on the number/weight and value of stolen goods. The idea is that if you have to carry a lot of stolen stuff or steal sth really valuable then it will be easier for NPCs to notice. IIRC currently you replicate Vanilla's sneak formula. This new feature could act as a modifier with caps so it doesn't get ridiculous. 0-50% would probably be fair (I think that % is better than some static penalty as it works at all stages of the game). It would be best to make the penalty configurable, though 😉

candid night
pallid brook
#

You could even subtly show the penalty with a faded Spotted icon.

candid night
#

Yeah that's a good point

#

Not sure about the icon edit. The spotted status is so complicated and the icon makes people think it's just on/off rather than on/off for every NPC

pallid brook
#

Wait, it isn't on and off?

candid night
#

Maybe I could do a floating eye above each NPC that has seen you while you are in sneak mode

#

It's on/off for each npc

pallid brook
#

Ok but unless you kill them, all it takes is just 1

pallid brook
#

It would fill up

candid night
#

They all need to be dead if you want no witness no bounty to take effect

#

But each NPC only cares about their own items, except guards who care about everything

pallid brook
#

I remember that old version didn't even have no witness no bounty integration

#

But witness system was there for burglaries

candid night
#

NWNB mode entirely replicates NWNB except it doesn't check for followers

pallid brook
candid night
#

Then BO won't reset bounties once you leave a cell

pallid brook
#

All witnesses dead

candid night
#

If you use NWNB and BO then the BO bounty might get overridden by NWNB

pallid brook
#

I don't use NWNB

candid night
#

Ok then I'm not following

pallid brook
#

OK

#
  1. There is NWNB option in BO menu
#
  1. I turned it off
#
  1. Does it affect burglaries? All witnesses dead and I leave the cell. Will I get the bounty for being spotted?
candid night
#

It does affect burglaries. If you steal stuff while spotted, then kill all witnesses before leaving the cell, you will not get a bounty. Additionally, any bounties you accrued while in the cell will also be deleted

pallid brook
candid night
#

Oh man it's early

pallid brook
#

I want to know the behaviour with the option off 😀

candid night
#

Ok, with it off, you will get a bounty once you leave the cell if you were spotted while inside the cell

pallid brook
candid night
#

Doesn't matter if they die

pallid brook
#

Ok

#

Thank you

pallid brook
candid night
#

Before 8 here, haven't had coffee yet

candid night
#

We got through it though lol

pallid brook
#

Have a good coffee

candid night
#

Ty

pallid brook
golden marsh
#

Question, I'm doing this quest in TR where a guy attacks me through dialogue, so no foul murder, I kill him, I loot him, and as soon as I walk to a different cell I get a 750 bounty. This happens in an exterior cell, is it because I'm looting him?

candid night
golden marsh
#

Oh it's a Camonna tong guy that killed a thief guild member, maybe he took his sword? But I'd be kicked of the TG right? Which is not happening

candid night
#

Getting kicked out is not a default setting value (you would need to opt into that)

#

If I remember correctly, it reduces your reputation. And if it would go below 0, it kicks you out

golden marsh
#

The guy is Menas rivul in hlan oek

candid night
#

Should make a console command that dumps ownership info or something

#

Oh! You can turn on debug mode and then look at the log

#

That would tell you everything

golden marsh
#

I'll check that

pallid brook
#

I have no idea whether it's possible with current LUA capabilities, but a new feature adding the ability to pay money to remove stolen flags from items would be quite cool. It could be offered by shady characters and could be limited to non-unique items (the ones that appear in the leveled lists) as it makes sense that unique stuff would be always recognised as stolen goods. Price would be based on item value ofc. It could be a potential money sink for thieves as well as a measure against NPCs always recognising common items as their own when you try to sell them the same item type (it would still need to be done each time after stealing if you want to make sure that it's safe so no easy way out).

candid night
#

Ooooh, that's a cool idea

#

and it's totally possible with current Lua functions

#

the roadblock for that is that it would require some custom UI to do it

golden marsh
#

I saw there's an update, no problem if I update mid-save right?

candid night
pallid brook
#

BTW noticed that if you rent a room, put sth in the container then not marked with the red cursor when you hover over it (as it belongs to you), leave and then go back and take your stuff, it may be registered as a crime/bounty. Can be quite annoying and it took me a while to realise what's going on yagrwut .

candid night
#

Only way I can think of dealing with that would result in an ever-growing save file

golden marsh
#

Blurpanda I really want to thank you because for the first time ever I'm enjoying a stealth character in Morrowind, really I'm having a blast with this mod. For the first time I feel immersed because you have fixed the biggest issue for me which was "why the hell can I loot your whole house if you saw me entering, and then leave through the door while you're watching me without any consequences". That makes stuff much harder, but then it balances out because you made leveling sneak much easier, and in a way that totally makes sense, leaving a place undetected with your bag full of loot and getting the sneak level up notification is sooo satisfying.

pallid brook
#

I'm getting trespassing bounty in Oran Plantation, Oran Manor: Atrium (TR) and I don't know why. It's not closed from the outside at all (doesn't require a key from what I can see) and I'm Hlaalu, yet I get crime reported message for no known reason.

candid night
pallid brook
#

I know that it's not locked, though. It just shows as a door with no lock.

candid night
#

The trespassing check actually doesn't care if the door is locked. I probably should include some sort of memory for doors so it tracks if it's ever been locked on activate, but this will generate issues with Go Home w/ Locking Doors 🤔

golden marsh
#

Literally the same happened to me at Oran's plantation a few hours ago, and it happens everytime, I was about to ask and saw this

#

Not locked, didnt even picked up anything in that cell, just walked there and entered the manor through the front door and got a 20 septim bounty, i thought nothing of it but next time I entered the same thing happened

candid night
#

Alright, I'll have another go at the trespassing rules later

pallid brook
golden marsh
#

Don't know if this info is useful, but it happens even if no one detected me before entering through the door

pallid brook
#

Yep

#

I probably get it when an NPC detects me inside, I think. It would be ok if the area was restricted but it's not. I mean, not in any visible way.

candid night
golden marsh
#

I see. Question not related to the bug: if the owner of the house is outside of their house and see me breaking in, in that case it does count as trespassing?

candid night
pallid brook
#

It sounds like sth that makes sense to be added

golden marsh
#

Also entering to the watch towers at Oran plantation causes a bounty, is like the whole area is illegal to be at haha, again, no lockpicinkg or anything, I'm even a member of house hlaalu which is the faction that owns the plantation, so weird.

#

how does the debug option work? do I just turn it on check openmw.log after getting the bounty?

#

is it too dangerous to turn off tresspasing for the time being?

candid night
golden marsh
#

Oh ok, i asked because it says: only recommended for new games

pallid brook
golden marsh
#

I see, thanks!

candid night
#

1.3.6 released!

#

Fewer false positives when determining if you are trespassing. Cached sneak checks so the frequency is more in-line with Vanilla.

#

Now trespassing can only happen if the door was ever locked when you enter its cell, plus the normal other factors

pallid brook
#

Thx for continued updates datchim

pallid brook
#

Potential ideas for future updates collected in one place for convenience:

  1. NPCs get bonuses to spotting the player depending on the value and weight of stolen items the player is carrying. Penalty would be configurable, max default would be 50% (which means that formula you use for spotting checks would be 50% harder at max penalty). The penalty would be displayed with a loot bag icon slowly filling up.
  2. New NPC service - removing stolen item flags. Only available for generic items (the ones that appear in the levelled lists) below a configurable value. Service cost based on item value. Service offered by TG (members only) and pawnbrokers (available to everyone but 70+ disposition required).
  3. Guards searching for stolen good after big burglaries. This would be represented by a random chance of initiating dialogue with the player if the player is close to the guard and detected. The duration of the search checks would be based on the value of stolen goods and it would be real-time based to avoid cheese. The available options would be: 1) allow the search check: guards conifiscate stolen goods and contraband if found as they are part of an investigation, leave the player alone if not found; 2) bribe the guard (chance based on Mercantile), 3) convince the guard to leave you alone (chance based on Speechcraft and Disposition), 4) resist (treated as a crime). There would be a cooldown if the player passes a search check to avoid annoyance (too frequent dialogue prompts).
pallid brook
#

Report: I got trespassing bounty for entering General Casik's cell in Ebon Tower's Dungeon by using a key (which was given to me). Using the latest version.

candid night
pallid brook
#

Sounds like an improvement 🙂

candid night
#

not going to work. the ownership info evaporated

golden marsh
#

I feel like I'm not getting XP from stealing undetected, for example my sneak is level 62, and I have 87% exp, I entered a place undetected and stole items with a combined value of 500 septims and I didn't get a single point of exp, is it normal for the sneak level? The higher my sneak goes the higher the value of items to lvl up?

#

I mean I know I can just increase the multiplier but I rather leave stuff as they come by default

golden marsh
#

Nvm I guess is just very difficult to get xp that way at higher sneak levels, I stole like 1.5k and finally saw the xp increase 1% haha, but that's fine

candid night
golden marsh
#

That actually makes sense 👍🏻

pallid brook
candid night
pallid brook
#

That bad, huh? todd

candid night
#

Released 1.3.7 which should stop breaking Better Bars

red thorn
#

hey I was just thinking, could the detection be based partially on your sneak skill? so if the detection runs when they speak then compare it against skill to make it a bit more like the MW rng style. just a thought

red thorn
#

oh cool 36vehks

pallid brook
#

Idea: port this Skyrim mod to BO. Obviously doesn't have to be 1:1 as it can made even better, hehe. Still, I think it's cool. https://www.nexusmods.com/skyrim/mods/117693

Nexus Mods :: Skyrim

City Bag Checks gives guards the job of randomly checking bags for illicit goods when approaching a major city.

outer grail
#

I’ve def found some Skyrim mods that are easy enough to backport (?) to Morrowind, just have to figure out which ones are worthy enough

outer grail
#

Guess that's SHOP territory though

pallid brook
#

But yeah, sounds like SHOP

pastel spade
#

Hi!
So, if I understood everything correctly, if you are spotted inside a place, and you steal something, you'll always be "the guilty one" right? Would it be possible to have something more "dynamical"?
Say something depending on "the number of npc" in the place? e.g. if I am stealing something in the mage guild, why should I be the guilty one and not someone else? Is it possible also to "store" the information, and only get the bounty a few hours later? It is weird to be immediatly reported for something as soon as you left.

Very interesting mod however! Looking forward for some stealing left and right 😁

candid night
pastel spade
candid night
pastel spade
#

so if I have yet to actually use any key to open a door, I am good to go 🙂 ?

candid night
#

Yeah you'll be fine

#

Wow that accidental comment out of context looked really horrible

gloomy ingot
pastel spade
#

To be fair, both SHOP and Burglary Overhaul are very close to the annoying problem of no proper sleep schedule for most NPC, which can be moving sneaking to hard but funny to close to impossible 😅 . Without proper sleeping, I do have a slight preference with the way it is done here however. I really hope we'll be able to have NPC sleeping at some point 😁

gloomy ingot
#

Although it would only work on the opened, flat beds and bedrolls. Other like hammocks or boxed beds would be impossible that way

pastel spade
#

Interesting. Does this approach also work with a proba of "waking" them?

gloomy ingot
#

You can code that for sure

#

I have an idea to bring stealthing more to oblivion system but this is far away still in SHOP tasks queue

gloomy ingot
candid night
gloomy ingot
#

The blind is to ensure the NPC won't see nothing even if the engine does something weird regarding detection

gloomy ingot
candid night
#

I was really hoping to see 'the dark project' be released for sneaking revamp

gloomy ingot
#

Which leads to my plans for real stealth overhaul which would apply dynamic blind value to npcs depending on being in the radius of light sources. I cannot wait to actually testing that after I unburden myself from the backlog of SHOP and QuickSelect, as well as pending release of lua proj physics

#

With PBR this plan has a right to be, interiors are extremely dark, this might be a way to make it happen

candid night
#

Ah yeah blind is definitely in there

gloomy ingot
#

In light sources and areas it would not apply any blind but if you move to shadows and depending on distance from light sources (and its magnitudes) then it would blind the nearby npcs accordingly

candid night
#

If sneak was dehardcoded it'd be a lot easier

gloomy ingot
#

Oh for sure, but that's my idea for that overhaul whatsoever

#

The only one that could actually work since I thought of different solutions

#

And then coding the dousing light script from MWSE would actually make sense

#

To connect it into AIO experience

candid night
#

Blind 100 isn't guaranteed no detection. I wonder if you can go over 100

gloomy ingot
#

Is it though? I am gonna test it rn

candid night
#

The Sneak discipline is the art of moving unseen and unheard. Skilled sneaks are also adept pickpockets. Note that the skill does not improve simply from use and having the "sneak icon" on the screen. Despite the icon display, the skill only improves when within a certain distance of a creature or NPC. Sneak is a very useful skill, as it allows ...

gloomy ingot
#

Hmm that makes it a bit harder

#

How to counteract this formula totally I wonder

pallid brook
gloomy ingot
#

The main point I'm looking to fix is the instant detection that takes out the sneak game pretty much, so when varied visibility with light sources is paired with NPC blind, it might work nicely along with another strengthening tactic that would be to apply additionally to the player either more sneak, agility, luck or chameleon to the player during the sneaking without being detected)
(Sneak + Agility/5 + Luck/10 - Shoe weight) * (0.5 + Distance to Target/500) * (0.75 + 0.5 * Current Fatigue/Maximum Fatigue) + Chameleon Magnitude

#

Or applying chameleon that is, nothing impossible at this point tbh.

candid night
#

It just needs to have a time component. The longer you are close, the higher the proximity detection bonus

#

Instead of instant

gloomy ingot
#

Indeed, but before it's exposed in API then we have to resort to such workarounds

#

I've particularly liked the Oblivions system with the eye getting fulfilled and then you're detected - so you have a visual cue on your current situation

#

This one might make the only sense paired with PBR lighting

#

But, it might be easier because of the Spot Chance which incorporates the NPC stats, not the player stats:
Spot Chance
The target's chance to spot the player while they are Sneaking is equal to
(Sneak + Agility/5 + Luck/10 - Blind Magnitude) * (0.75 + 0.5 * Current Fatigue/Maximum Fatigue) * Direction Multiplier

So just making it 0 Sneak, Agility and Luck of the NPC will essentially make it 0 chance to detect the player since the whole first bracket will be 0

#

Or just making sneak 0 and applying blind equal to the agility/5 and luck/10 which will make it 0 again

weak frigate
#

hey @candid night I post this here because there is no dedicated thread for Slow Magicka Regen.
I sometimes have Lua errors with your mod when Skill Evolution increase the game time (with mwscript) for specific skill uses (armorer, alchemy, enchant):

[10:28:48.875 E] L@0x1[scripts/ernslowmagickaregen/actor.lua] eventHandler[regenMagicka] failed. Lua error: [string "scripts/ernslowmagickaregen/actor.lua"]:105: deltaTime for actor @0x1 is -2245.9419250488
[10:28:48.875 E] stack traceback:
[10:28:48.875 E]     [C]: in function 'error'
[10:28:48.875 E]     [string "scripts/ernslowmagickaregen/actor.lua"]:105: in function <[string "scripts/ernslowmagickaregen/actor.lua"]:84>
[10:28:48.875 E]     [C]: in ?
#

This error breaks my sent events, which are never processed if they happen at the same time

#

You can test with the last version of Skill Evolution by creating batches of potions, then resuming the game (if your alchemy window is paused). It happens for around 25% of my tests.

candid night
#

Oh weird! I wonder why it breaks unrelated events. 🤔

#

Maybe it would be fixed if I didn't return an error and just did a normal print?

weak frigate
#

but I don't know why you get a negative value when I forward the time

candid night
#

Yeah that's also very strange

weak frigate
#

also, I see you do the full check twice per second, I think for a regen mod it would be enough once per sec or more.
Checking all active actors has a cost.

    deltaTime = deltaTime + dt
    if deltaTime < 0.5 then
        return
    end
candid night
#

If I'm going to optimize I think I'll shove all the actors from nearby into a list and then process one per frame

weak frigate
candid night
#

@weak frigate I released 1.2.4 which I hope will fix the issue you saw

weak frigate
weak frigate
#

@candid night I just noticed that waiting properly restors my magicka, while resting seems to only restore as much as vanilla does

candid night
#

Yeah someone else also reported that.
I'll need to think about how to tackle it

weak frigate
#

or it's delayed

pastel spade
dull garnet
#

Quick question regarding this mod's compatibility with No Witness No Bounty: does it also emulate that for other crimes such as murder? Or only theft?

candid night
dull garnet
#

I'll just toss nwnb then

#

Cool mod, btw

candid night
#

Ty 😊
It's definitely my most popular

pastel spade
candid night
pallid brook
#

I could never get Sneak EXP feature to work in a satisfactory manner. Mod settings are much less responsive than one would expect. Therefore, I use value which works perfectly. 0 datchim

candid night
#

Dang maybe I'll revisit it then

pallid brook
meager bison
#

@candid night can you please explain whats the purpose of that isTalking check

#

why is detection contingent on that?

candid night
meager bison
#

ha, smart

#

trying to udnerstand how to expand this to all actors, not just npcs, it seems like this line in awareness is the only one that requires NPC-ness

local sneakTerm = types.NPC.stats.skills.sneak(actor).modified

for non-NPC do you have any idea what should happen?

#

source code does

#

which doesnt help at all, maybe it returns some default val if observer is not an NPC hmm

candid night
#

Creatures don't have skills, but they do have some equivalent that is based on level or something

meager bison
#

ok, apparently they do have base skill values for different skil specialisations, and those are available in lua

#

#development-main message

jagged tokenBOT
pallid brook
pastel spade
# candid night Dang maybe I'll revisit it then

To be fair, I love the idea, and I think it could be awesome to have, but maybe I'll only put it on to try for a stealthy character. I manage to reach level 18 in the skill wayyyy to fast in my opinion, just by stealing a few valuable items ^^'. I think something like 10% of a level max would be a good spot for me.

meager bison
#

@candid night nothiced something

#

i believe that at the side it will be 1 in current impl, not 1.5, mentioning only in case this is important for your logic somehow somewhere

mossy venture
#

Hm, I keep getting the Spotted thinv even while outside and not sneaking

#

When an NPC talks to me

#

Is this intended behaviour? 😅

#

Oh ok it is

pallid brook
mossy venture
#

(I looked into it a bit)

#

Yeah 😅

meager bison
candid night
meager bison
#

oh yea, sure, I'll add them

#

what about compatibility with burglary overhaul, my stuff only runs when character is sneaking. Since burglary runs its own detection checks - they might conflict I assume. Any easy was to make it all play nice together?

candid night
#

All you gotta do is invoke the "spotted" function in the BO api whenever a player is spotted, and pass in override=true to disable BO checks 😁

meager bison
#

that sounds great, thanks!

#

yet, will that override both sneak and non-sneak detection though? Or it doesnt matter?

#

my mod only affect detection while sneaking

candid night
#

Oooh interesting. I'll need to put a workaround in I guess 🤔

#

Since I'd still need proximity to trigger Spotted

#

Unless you bake that in too

meager bison
#

I was trying to optimise it as much as I can, so honestly would like to avoid checking distance on every actor every frame unless sneaking, if you can add a separate override for sneak and non-sneak that be nice, sounds like it will be easier if its on your side

candid night
#

Yeah I can do that 🤘

pallid brook
#

I got a key to Tel Gilan Eggmine. I opened the door with a key. Got the bounty inside todd

candid night
#

I wonder if it's some weird special door

#

I'm taking a short break from modding because I'm actually playing the game right now 😅

pseudo wharf
#

Have been seeing this error in my logs lately. Likely nothing game breaking, but still

[00:46:27.208 E] Global[scripts/ernburglary/global.lua] eventHandler[ErnBurglaryonCellChange] failed. Lua error: Object is not available: @0x100c5
[00:46:27.208 E] stack traceback:
[00:46:27.208 E]     [C]: in function '__index'
[00:46:27.208 E]     [string "scripts/ernburglary/global.lua"]:476: in function 'resolvePendingTheft'
[00:46:27.208 E]     [string "scripts/ernburglary/global.lua"]:674: in function 'onCellExit'
[00:46:27.208 E]     [string "scripts/ernburglary/global.lua"]:686: in function <[string "scripts/ernburglary/global.lua"]:681>
[00:46:27.208 E]     [C]: in ?
candid night
#

Are you deleting items often?

#

I wonder if there is some mod doing that automatically

pseudo wharf
#

Maybe, but I can't say for sure. Does crafting count as deleting ingredients?

#

I'm definitely not deleting anything intentionally, though

outer grail
#

Although alchemy does the same thing 0.o though I guess alchemy isn’t lua

candid night
little frigate
#

Thank you I will test it tonight. Should it load after or before Sneak! Thank you again

candid night
#

This partly relies on pending changes to Sneak!

little frigate
#

Sounds great. Thank you my friend as always

gloomy ingot
candid night
gloomy ingot
#

It has to do with the detected icon as I've looked through it

#

but no worry it happens to every pre 0.51 lua ui mods lol

candid night
#

now that there's an official rc1 tarball I'll check

gloomy ingot
#

Thank you!

pseudo wharf
#

@candid night to stop BO from spamming warnings in logs, you need to comment 74th line in alerts/player.lua

Example:

        content = ui.content { {
            type = ui.TYPE.Image,
            props = {
                resource = ui.texture {
                    path = path
                },
                size = util.vector2(size, size)
            },
            -- size = util.vector2(size, size)
        } }
#

figured it would be easier to message you here instead of making a whole PR

pallid brook
candid night
#

I'm hoping to get some feedback on rc2 before I release it

#

Changing BO is scary because it's a mess and I haven't looked at it in a long time

pallid brook
#

@candid night r So I was looking at my phone and look what I found. Just know that it's now a part of Internet history 36vehks

#

Does Todd know, though? todd