Best Of
Re: Would it be possible to auto-generate sector maps?
Announcements post #158: Arena's Come To Life.
Subject: Arena's Come To Life.
Hello Starmourners,
The time is upon us. Another little project has been completed! Certain members of each organization can now initiate and start their own arena events. There is some things to keep in mind though.
- At this time each faction may only start 2 events per sync.
- An organization is charged for starting an event 5000-6000 marks.
- Currently, the only arena allowing players to start their own events is Omni Station
So who can start events? Well, it is now a city investible power, but by default the following should be able:
Celestine: Guardian, Guardian Prime
Song: Lord Commander, Peacekeeper
Scatterhome: Accountant, Marshals, Spacemarshals.
Syntax is ARENA <INIT> <ARENA> <EVENT TYPE> CONFIRM
If you fail to use confirm, you will be told you have to. This is so people understand there is a cost and do not accidently do it willy nilly.
So have fun and start the events you know you want to!
We are working hard to bring you the best Starmourn we can.
Senzei
Mudlet 4.10 – extra command lines, background images, and more
This release has been a long time coming, thanks to the vagaries of obtaining a new code signing certificate for our Windows builds. Consequently there are a lot of changes which made it into Mudlet 4.10. Let’s go over some of the highlights!
Extra command lines
To turn on a commandline in a miniconsole, see here. To create a stand-alone, free floating command line, see here.
Background images for miniconsoles
You know what else you’ve been waiting and asking for? Background images on miniconsoles! Edru has been on a roll!
This also means that the usual c/d/heho color formatting functions now accept transparency as a parameter. See here on how to set a background image.
This also means that you can try setting a background image for the main window as well – but you might find that games often hardcode the black background, so it’s not ideal.
Math in Geyser
Have you been struggling to get your Geyser elements lined up just right and wished you could nudge it over just a few pixels? Been avoiding Geyser and using another option so you could have math in your constraints? Well, now you can use Geyser and receive all of its updates and use math in your constraints.
This means for example if you have a 32×32 label you want to center you can do so by using Label1:move(“50%-16px“,“50%+10px“), or using “50%-16px” for both the x and y when making the label.
Other Geyser Improvements
Geyser.Label also allows you to use “nocolor” as the text color, which will then allow for coloring the text via CSS. It also picked up the Geyser.Label:rawEcho(txt) function, which skips over all the formatting assistance normally provided by Geyser.Label:echo().
Geyser.MiniConsole gains Geyser.MiniConsole:display() which works just like regular display(), but outputs in the miniconsole instead of your main display.
New color functions for feedTriggers
Multi-view forever!
Telnet CHARSET support
Game admins will be happy about this feature – it is now possible to automatically set Mudlet’s text encoding – for example, to be utf8 in case your game supports emojis – using the CHARSET protocol. Big thanks to Tamarindo from StickMUD for pulling that one in.
Music/sound in MXP
Tamarindo also went ahead and added sound/music support to Mudlet’s MXP implementation. That said, there’s a much more modern Mud Client Media Protocol that you should aim to use
Scrollbar improvements
macOS 10.13 High Sierra
Apple will stop supporting 10.13 High Sierra in November 2020, and Mudlet will have to follow suit. Thus Mudlet 4.10 will be the last version to support 10.13, which had a good run of 3 years!
Credits
Thanks to all coders that have contributed to this massive release: Andre Castellanos, Damian Monogue, Eraene, Fae, Gustavo Sousa, Ian Adkins, Jonathan Mohrbacher, Kebap, keneanung, Manuel Wegmann, Matthias Urlichs, Mike Conley, Stack, Stephen Lyons, and Vadim Peretokin.
Thanks to all translators to translated Mudlet into their language: Alan Sneath (alsneath), Anubisa, emeraldboy, Hsin Hsiang Peng (Hsins), Kae (itsTheFae), Leris, Marco “M0lid3us” Tironi (wiploo), rodeos, rodeos, Vadim Peretokin (vperetokin), vingi, and 王AQ (Anselmus).
This massive piece of work would not be possible without all of you
Changelog
added:
- ability to display room names on the map (no auto-align them yet)
- an event to catch all events – `*`
- background image for miniconsoles is now possible, same as labels
- background image for the main window is now possible
- English spellchecking dictionaries are now included
- game admins can now set encoding via telnet CHARSET (so utf8 for emojis)
- miniconsoles can now have commandlines in them
- music is now supported in MXP
- option not to highlight text (history) when pressing the ↑ button
- option to use your own pathfinding algorithm instead of the built-in one
- you can now create standalone commandlines now allow you to ask the player for info
- transparency in now supported by cecho/decho/hecho
- you can now use math in Geyser constraints, ie “50% + 3px”
added & improved functions:
- ansi2string() given a string with ANSI codes in it, remove them all
- cfeedTriggers(), dfeedTriggers(), and hfeedTriggers() to enable testing color triggers
- createCommandLine(), enableCommandLine() for creating custom commandlines
- enableHorizontalScrollBar() to show a horizontal scrollbar in miniconsoles as needed
- getClipboardText() and setClipboardText() for interacting with the clipboard
- getFgColor() and getBgColor() now report how many characters the same color applies to
- getHTTP() downloadFile’s cousin and allows you to pass custom headers, joins putHTTP(), postHTTP() family for consistency
- Geyser.Label:createRightClickMenu() to create menus in labels
- Geyser.MiniConsole:display() to display straight into a miniconsole
- Geyser.UserWindow:setStyleSheet(), setUserWindowStyleSheet() to adjust the userwindow title and borders – great for dark themes
- hecho() can now set the background color only, without affecting foreground
- isActive() and exists() now work with buttons
- keepcolor parameter to replaceWildcard() and replaceAll() functions
- purgeMediaCache() to remove MCMP & MSP media files
- setCmdLineStyleSheet() to customize the font, colors, position of the command line
- setMapBackgroundColor() to change background color of the map from the usual black
- setMapRoomExitsColor() to customize the color of room exits drawn on the map
- spairs() which iterates over a table in a sorted way
- tempAlias() and tempKey() now can take Lua functions and not just text
- tempAnsiColor() trigger now works as it should
improved:
- ‘errors’ button text is now capitalized
- a message is now shown when a replay ends
- Client.Media – package messages themselves are no longer case sensitive
- compact input line option is now per-profile
- errors console now shows a horizontal scrollbar when needed
- exit line in generic mapper is now case-insensitive, and a few other triggers improved
- in case of compiling Mudlet yourself without TTS support, TTS functions won’t error anymore
- links at the end of the line now won’t be clickable in the empty space
- more accurate row and column reporting through NAWS protocol
- Mudlet logo artwork, now sharper and better-looking. Dev and PTB builds are now clearly distinguishable
- Mudlet’s savefiles are now saved with a more sorting-friendly name
- Mudlet’s usual, development and PTB icons got improved
- multiview tabbars aren’t re-arrangeable anymore, as doing so didn’t re-arrange the views anyhow
- profile history in connection dialog now translates dates
- scrolling now uses the upper pane’s height, so you aren’t missing text when scrolling, or getting too much of it
- shrinking rooms in the mapper will keep everything in its place
- string.split() now works with many more characters
- stylesheets can now manipulate color of Geyser Labels
- tabs and tab stops in profile preferences now make sense, which is a bit friendlier for a11y
- upped the limit of regex capture groups in aliases and triggers to 33
- zooming the mouse in and out in 2D mapper will keep the position more stable
fixed:
- ‘map config’ alias in generic mapper now works
- appendBuffer() now keeps links, so copying text with links in it to miniconsoles works
- crash when closing a profile with toolbars
- crash when selecting/copying text
- crash trying to move too many rooms at once via right-click
- fixed MXP with values containing =
- Materia Magica’s MXP now works better with Mudlet
- multiview now stays when you change focus between profiles
- resetProfile() to work again
- static items in HBox/VBoxes won’t be resized anymore when the box changes size
- sysDataSendEvent will no longer reveal the password
- vertical scrollbar now moves when you scroll with PgUp/PgDown
- vertical scrollbar now shrinks in size as you get more text
infrastructure:
- added some useful defaults for Visual Studio Code’s C++ integration
- building with libzip 1.70.0 that lacks version numbers now works
- cleaned up IRC code
- debug output now spams a bit less for unprintable codepoints
- deleted Github Action for clearing whitespace (more spam than help)
- enabled Github’s new CodeQL security code scanning
- fixed crash importing map with custom exit lines on Qt 5.14+ (macOS)
- internal code that only works with the main window is now in a separate class of its own, making the programmers happier
- Lua binding code cleaned up and improved for consistency and code style, now more fresh!
- Mudlet can now be built & run remotely in the browser with Github Codespaces
- Mudlet can now be built in MSYS2 on Windows
- Mudlet’s wiki is now upgraded to latest and greatest
- new PTBs are only built on days where there are new changes
- updated Linux builds to use Qt 5.12.9
Re: Where'd everybody go?
Announcements post #147: Weekly Update.
Subject: Weekly Update.
Hey Starmourners! As usual, I try to let you all know what we've been up to on a regular basis, so here's the quick, cliff's notes summary of what the team has been working on in the last week or so.
- Zersiax is continuing to do classleads implementation behind the scenes.
- Onboarding a new coder volunteer - will introduce him officially soon!
- First annual Scare the Storytellers Halloween Writing Contest! Lots of participation so far - be sure to send your entries in, it ends on October 31st at 11:59pm est!
- Designed new tracking system for organization of coder projects and ideas.
- New design for a change to how arena events will be handled. Approved, currently in review by coding team.
- Tightening up rules and regs for current and future volunteers, cleaned up wiki access, and other administrative hygiene things. (I know that probably sounds boring to you all, but its still a necessary part of running the game!)
- Even more design types added to tradeskills.
- A scattering of fun little utility scripts added across furnishings.
- Several very fancy new junk items added.
- New titles and honors rewards for Captaincy.
- Stripper pole added to Scatterhome.
There's even more stuff in progress this week, so stay tuned!
Announcements post #146: Scare the Storytellers - Halloween Contest!
Subject: Scare the Storytellers - Halloween Contest!
The Nightstalkers of Krell. The religious villains of Echanism. Mutants in the Subnet. Weird noises in the air vents of your ship. Face-stealing tentacle monsters. Spider people making your clones. Rockhoppers are creepy AF if you stop and think about it for a minute. Horror stalks the citizens of Starmourn, lurking in both imagination and reality.
We're a week out from Halloween in real life, and for the next seven days, we want you to help us bring even MORE horror to the game with our first annual Starmourn Halloween Contest! Based on an inspired suggestion by Saio (who has been on a total roll lately) we want you to send us details about the scariest legend, critter, ghost, or monster in your race's history you can come up with!
WHAT WE WANT:
A paragraph or two from you describing a creature, fear, nightmare, or terror commonly known among your character's race. Give us your space bigfoots, your slender men, your cthulhus, your ghosts, and your headless horsemen. Humans, no stories or creepypastas from current earth culture please - let's keep it unique. This is your chance to dig deep into your psyche and flesh out your understanding of your character's race. Make it weird, guys. Our bodies are ready.
================================================
Things to include in your entry:
- Who you play/what your character name is
- A name for your horror (e.g. The Foogu, slime monster of Benu Wen)
- A description of your horror (e.g. The Foogu is a massive horror of ever-increasing size and amorphous shape made of viscous, ambulatory slime. Fungus and moss grows liberally upon it, making it impossible to detect when walking in dark forests until you are already upon it.)
- A backstory, explanation, or creepypasta about why this is scary to your character's race. (e.g. Said to have been grown from unstable molecules that escaped from a laboratory of W'hoorn scientists several centuries ago, tales of The Foogu and its rise to sentience are used liberally by W'hoorn parents to make their children mind them and stay close to home. Rumor has it that those lost in the woods are absorbed by the Foogu, but don't die, remaining in a fully aware, hellish stasis, used as nutrient batteries for the monster's continued existence. Though no definitive proof of the Foogu's existence has ever been found, a plethora of photographs and grainy video footage can be found on the commsphere.)
================================================
The winning entry will receive a unique minipet loosely based on their creation (unless the winning entry is a really compellingly described version of existential dread or similar, because I just don't know how to make a creature out of that), and details about it will be added to our public wiki, solidifying the fruits of your depraved imagination into game canon forever.
Entries should be emailed to Eukelade@starmourn.com, and will be shared among game staff where they will be judged mercilessly and/or cried about while we all hug pillows and tremble vigorously. Your deadline is 11:59pm EST on October 31st. We'll take a couple days to decide, then announce the winner!
RULES
- Must include ALL required information detailed above.
- One entry per player.
- Player must already have a character of the race they are writing about, and this character must have been created before this announcement was posted. In other words, if you want to write about a Krona ghost story, you must play Starmourn as a Krona.
- Entry must be 500 words or less.
- Collaboration is ok, but only the person who submits the entry can win the prize.
Good luck, Starmourners - let's get spooky!
Announcements post #145: Some changes to bounties.
Subject: Some changes to bounties.
Hello everyone,
Over the last week or so, you may have noticed that bounties have changed a tiny bit. We've been hard at work making the system both more balanced as well as more fun, and have therefore made the following changes:
- When a bounty is placed on your head, you will now always receive a message in MSGS, rather than a notification. This way, it is easy to refer back to who bountied you, and why.
- A player can now only have two different bounties at once on their head. This number might get tweaked in the coming weeks.
- Bounties no longer automatically complete after the bounty hunter has killed their bounty. This is now done using the BOUNTY COMPLETE command, usable by the hunter.
Please note that you do not actually need to have killed the person in question in order to complete the bounty you've picked up. Want to shamelessly beg for mercy? Try to buy your hunter? Or maybe a hunter wants a favor done to make the bounty just ...quietly go away? RP away. :-)
- You can only complete one bounty every half an hour. Again, this number is subject to tweakage down the line.
We hope this makes the bounty system more dynamic and gives greater flexibility for those who would like to roleplay. We also wanted to give the person with a bounty more avenues than ...well ...being exploded to have the bounty dealt with. These changes are our first steps into making all this happen. Enjoy! :-)
-Zersiax
Announcements post #144: Starmourn's First Honors Quest!
Subject: Starmourn's First Honors Quest!
Did you miss our big time event, with the crazy boss battle and big rewards at the end?
Are you feeling sad about that?
Feel sad no longer! Even though you missed the event, the spacetime continuum is very flexible, and Chronomaster Javick Amadi still needs your* help somewhen. Go talk to him at the Gnomon Institute to see if you can enter the timestream where the battle is still happening.
Good luck with the tentacles, and enjoy the rewards!
*Note - this quest is only available for spacers level 74 and up.
Re: Tradeskill Lists? (also a super secret bonus suggestion)
Spoilered to keep the post looking short. The skills don't specifically state which items you learn when you learn a new ability, you have to check with the list in DESIGN TYPES to find out, but there's little Y and N in the list if you know it or not. Shipmodding hasn't been fleshed out as of yet, so it's an unknown as to what it does. Could behave like weapon and armor modding, might not.
Though if i had to guess, the intent for shipmodding is/was that its more like modifying what the rooms in your ship do (there's an optional argument in the ship room building command for a mod), not so much building custom engine parts. Could be just one aspect of it, who knows.
Furnishing is as follows:
You know how to craft the humblest cot or the most epic four-poster behemoth. To view the
patterns you can use see DESIGN TYPES FURNISHING.
Skill: Furnishing
Command: FURNISHING
Known: Yes
Lessons: 90 Lessons
Ability type: Noncombat utility
Base balance time: 5.00 seconds
AB FURNISHING SEATING
-- SEATING (Furnishing) -------------------------------------------------------
Pull up a chair! You've learned the ins and outs of things to sit down on. To view the
patterns you can use see DESIGN TYPES FURNISHING.
Skill: Furnishing
Command: FURNISHING
Known: Yes
Lessons: 270 Lessons
Ability type: Noncombat utility
Base balance time: 5.00 seconds
AB FURNISHING STORAGE
-- STORAGE (Furnishing) -------------------------------------------------------
After much study and practice, you've mastered the art of living your best organized life,
and can craft containers to your heart's content. To view the patterns you can use see
DESIGN TYPES FURNISHING.
Skill: Furnishing
Command: FURNISHING
Known: Yes
Lessons: 500 Lessons
Ability type: Noncombat utility
Base balance time: 5.00 seconds
AB FURNISHING SWIFTDISMANTLE
-- SWIFTDISMANTLE (Furnishing) ------------------------------------------------
Your practiced hands can quickly dismantle furniture and undo all the screws and securing
mechanisms, allowing one to pick up pieces of furniture once more.
Skill: Furnishing
Command: FURNISHING DISMANTLE
Known: Yes
Lessons: 600 Lessons
Ability type: Noncombat utility
Base balance time: 5.00 seconds
AB FURNISHING SURFACES
-- SURFACES (Furnishing) ------------------------------------------------------
Tables, counters, vanities, and desks, there's nothing you can't create which someone else
can then cover in clutter. To view the patterns you can use see DESIGN TYPES FURNISHING.
Skill: Furnishing
Command: FURNISHING
Known: Yes
Lessons: 680 Lessons
Ability type: Noncombat utility
Base balance time: 5.00 seconds
AB FURNISHING SPARKLE
-- SPARKLE (Furnishing) -------------------------------------------------------
You're an illumination expert, capable of creating lamps, glow globes, and torches that
can light up the darkest places. To view the patterns you can use see DESIGN TYPES
FURNISHING.
Skill: Furnishing
Command: FURNISHING
Known: Yes
Lessons: 900 Lessons
Ability type: Noncombat utility
Base balance time: 5.00 seconds
My Mudlet Packages for Starmourn
STELLAR - System for Tracking, Excavating, Locating, and Logistics of Astrological Resources
A Mudlet Package for space mining and harvesting resources in Starmourn.
Source: https://github.com/ssharpjr/sm-stellar
SMTT - Starmourn Terminal Tracker
A Mudlet Package for tracking hackable terminals in Starmourn
Source: https://github.com/ssharpjr/sm-terminal-tracker
SMVGN - Starmourn Voidgate Navigator
A Mudlet Package for navigating voidgates in Starmourn
Source: https://github.com/ssharpjr/sm-voidgate-navigator
Original code and data from Maruna: https://forums.starmourn.com/discussion/760/voidgates-for-lazy-people