These were not working for individual faction members that were in a room by themselves. This was the result of a change I made a while back to prevent aide request chains where someone requests aide, their backup arrives, attacks, requests aide, more backup comes, attacks, requests aide…
But I never intended for individual faction members to not request backup so I've added a more robust system to hopefully handle this better. The end result is that individuals will now request aide via sic/shout even if they are alone.
(Edited by Slither at 9:46 pm on 4/10/2026)
Fixed a poorly implemented gangway exit that people got stuck in, which caused us to put an emergency exit in, which caused people to be able to skip immigration checks. You can now enter the gangway, 'out' to go back to where you entered from, or board a ship if it's connected. No more skipping customs.
- You can now remove stickers on items that are not in your inventory (such as corpses in the room)
- The pronoun subbing on the removal messages has been corrected, it was opposite what it should have been, having you remove the sticker from the solvent instead of the item the solvent was removing the sticker from.
I've fixed the messaging on a critical fail during patching a piece of clothing with some material. A crit fail would never RUIN the clothing, it would just cause you to destroy the rest of the material you were using to patch the clothing.
The messaging has been updated to be more explicit.
To be clear, the patch code runs several times, and you might get some of it fixed, then crit fail and lose the reset of the patch material. This should hopefully be clear when the code runs.
There was a situation where we were checking if you had an available action during combat, and if you don't we return, because you don't have an action. This could happen after you neck snapped the final opponent. You'd still be in combat, and the check that has you leave combat, or switch you focus, wouldn't trigger because you didn't have an action. I've moved the action check to after all the other checks so this edge case should hopefully disappear.
When you scan something with a term, if you entered a command while the term was suspends doing something like checking available memory, you'd get an error when the $cu:read happened.
This is because you can't suspend a task and then call $cu:read reliably. If any input comes from the player during that time, it breaks the read.
I actually knew this, at one point, but forgot, as it doesn't come up much. I've refactored how scans work so the label is requested first and then there are suspends.
I've added a scheduled task to run arrival actions for dispatched NPCs that waits 1 second before the NPCs take action when arriving. This should allow them to visibly show up in the room.
This was most noticeable with NPCs going to bars and ordering a drink or smokes, they'd order before you saw them enter because of the way the code works. Should be fixed now.
I fixed an issue with my previous fix where I was validating against an object when i should have been validating against a WAIF. Several of the handheld security scanner commands should now be working properly again. If someone could check this and let me know if you still see issues that would be really helpful.
I had to refactor and clean up how we call the naked_msgs code, but I was able to make it so that when looking at someone their cyberware will remain collapsed if they have two paired cybers with the same design, while at the same time surfacing the full set of cyber messages in your @nakeds so that they don't appear blank like they were as they were getting collapsed.
There was a race condition where you could hit a button for another floor after arriving at the current floor, but before the doors opened (or someone called the elevator at that exact moment) which would cause the elevator to start moving and the doors to also open and let you off on the original floor you landed on.
Fixed.
If you program something like '#comment ' or '#endcomment ' or ' #comment' your program will now parse successfully despite the whitespace you added. This should make life a bit easier for y'all deckers. This only applies to commands. No other whitespace is trimmed.
- fleshrite cyber will now not contribute to 'modded / bleeding edge' style cyberware scores for short desc.
- fleshrite cyber will no longer be taken into account as part of the appearance score when as it is expected to look just like a normal bodypart / skin tone.
- You should no longer show up with cybernetic eye(s) if they are fleshrite.
I've updated the code for these trackers:
- no using trackers while OOC
- the failure to locate message is more specific (out of range or no SIC)
- if item you are tracking is in a room that isn't set up with a matrix id you'll see an OOC message about this. this basically means the room isn't configured properly, and we can't track their location as a result
- help tracker (help file on the object) has been updated.
- tracker uses :matrix_id instead of .matrix_id prop, meaning it will inherit the sub_matrix_id automatically.
The last change there should make trackers work much more often than they were, especially because many apartments and buildings use sub matrix ids now.
(Edited by Slither at 4:55 pm on 4/26/2026)
I've made some changes to how grappling hooks can be secured to rooftops from the ground. One of the biggest complaints was that if there are multiple roofs in a specific direction (seen from 'look up') you have no control over which one is targeted.
Now you do. You can do the following:
secure hook to 1st east roof
secure hook to 2nd east roof
…
It goes up to 4th, and no further, but I don't think we have anywhere with more than 4 rooftops in one direction.
Before anyone asks, yes, I'll look into doing this for jumping across rooftops as well, but that's for later.
I've implemented code on our dev server that allows me to connect an AI agent to it, and have that agent use special MOO commands to investigate bugs, determine if they are legit, already fixed, working as designed, etc. It will then leave a detailed comment readable by admin in our bug tracker, with everything it found.
This dramatically speeds up bug triage, and fixes. Instead of a single bug taking 15-90 minutes on average to fix, I can blast through them, as you've seen over the past couple months when I'm able to sit down and focus on fixing bugs.
This is a huge increase in productivity for me, as often times bug reports are vague, situational, or involve weird edge cases that are not immediately apparent. Having the AI crunch through all of these on the initial triage scan is saving me dozens if not hundreds of hours and is making it actually reasonable for us to get down to 0 bugs at some point in the future.
Currently, we have about 55 bugs submitted each month. I'd say each bug, prior to this AI implementation, was taking 30 minutes to fix. This is probably the average, as some I can fix in minutes, even without AI, and some take several hours to drill into.
That means to keep up with the submitted bugs it would take me about 27.5 hours a month, or 41.25 eight hour work days a year just to review, triage, and fix all the bugs that were submitted.
Depending on the week, I probably have on average 5 hours on the low end and 10 hours on the high end (on average, some weeks I will code for like 60 hours, but that is increasingly rare) to write code on Sindome. That means we are in the hole almost every month, and accumulating bugs and technical debt that it requires me spending time on vacation or days off to really work down.
With this AI agent code I've written, I should be able to keep up with the incoming bugs muuuuuch better, even with the limited time I have available.
All that being said… We are down to 45 bugs total. 18 private, 25 public.
215 bugs have been submitted so far this year, that vast majority are closed. 240+ bugs that were submitted in years past, were also resolved this year.
We are on pace for ~660 bug submissions this year at this rate.
Of the bugs submitted this year, 2 won't fix, 24 dupes, 4 not enough info, 4 cannot reproduce, 4 cannot be fixed, 39 working as designed, the rest are fixed or unresolved, but all the unresolved ones have been reviewed and seem to be real bugs at least on a first and second review of them (one by AI, one by me).
Of these 45 remaining bugs, the vast majority of them are not 'easy' fixes. I've already done one full pass through all of the bugs we had, and any that were straight forward to fix, I have done so.
That does mean that the rest are likely to take longer individually, because they are tricky, and may require major refactors to fix. In some cases, it means learning entire systems that some other developer made, because I need to understand how that system is intended to work. Some examples: security networks, vehicle combat, armor repair, blackjack tables, rigging.
I'll keep at it, and keep y'all informed of the progress.