Skip to content
/ prs Public
forked from iLPdev/prs

Mudlet Script for Procedural Realms MUD

License

Notifications You must be signed in to change notification settings

eterchun/prs

Β 
Β 

Repository files navigation

Procedural Realms Script

GitHub release (latest SemVer including pre-releases) Issues GPL License standard-readme compliant GitHub release (latest SemVer) All Contributors

Mudlet script for Procedural Realms MUD

The Procedural Realms Script [PRS] project gives Procedural Realms MUD players improved access to the advanced features of the Mudlet MUD client. By leveraging the specific "out of band" packets sent by Procedural Realms' server, PRS uses Mudlet's mapper to identifies rooms/exits, prevent creation of duplicate rooms/areas, manage instanced areas, and accurately track your character's location on the map as you move about the realm. Additional convenience features include speedwalking/pathfinding, autosetting map terrain colors, self-updating gauges for vitals, communication containers, and a user-adjustable UI layout.

Project Link: [https://github.com/iLPdev/prs]
Mudlet Forum Topic: [https://forums.mudlet.org/viewtopic.php?f=6&t=23126]

Table of Contents

Background

History

Milestones

  • v1.2.0 - EMCO Command Line Interface
  • v1.1.0 - Management of Instanced Areas
  • v1.0.0 - Dynamic Event-based Mapping Infrastructure
  • v0.12.0 - Mini-Map Congruence
  • v0.5.0 - Drag-and-Drop Package Installation

Features

  • Automatic GMCP mapping of Procedural Realms MUD, including instanced areas/zones.
  • Automatic GMCP room styling based on terrain to matches colors in PR's 'map' and 'look' quickmap.
  • Tabbed Communications Channels with CLI -- Adjustable, dockable, resizable, and no conversations lost in scroll!
  • Self-Updating Gauges for character vitals, including Hit Points, Energy, Stamina, Rage, Combo, and eXperience Points.
  • Speedwalking and pathfinding - Efficiently get where you're going - and fast!

Built With

  • Lua is the programming language
  • Edbee Library provides the text editor component for Mudlet
  • Mudlet is a cross-platform, open source, and super fast MUD client
  • MDK is a collection of Lua 'classes' and modules by @demonnic
  • Git is the version-control system for tracking changes and project management
  • ImgBot provides GitHub-integrated image optimization

Versioning

Version numbering approximates the Semantic Versioning approach.

Project Status

Status Ventis Travis (.com) branch

  • Project State: Procedural Realms Script is under active development. The application can be used, but may be unstable. We are in need of continued testing prior to moving forward with each new release.

  • Current Release: v1.2.0

^Top

Install

The Mudlet Makers could not have made it easier to install preconfigured custom aliases, triggers, scripts, keybindings, and UIs.

Package Install Method

Just like any other package as of Mudlet v4.8+, you may install PRS by simply dragging and droppping the package file into Mudlet. discMapper will then be merged into your active Mudlet profile, and you may delete the original file.

To install PRS, just follow these steps:

  1. Locate the latest release of PRS.
  2. Download the .mpackage file listed under Assets.
  3. Open Mudlet on your operating system of choice.
  4. Open an existing Procedural Realms MUD profile or create a new one.
  5. Locate the saved file on your PC.
  6. Drag and drop the file into your open Procedural Realms MUD profile.
  7. Optionally, delete the .mpackage file from your computer.

Initial Setup

Upon initial install, you will typically need to connect to the game server and resize the UI windows both horizontally and vertically to reveal their contents fully. See UI Configuration below.

Dependencies

Mudlet

  • Mudlet MUD Client application must obviously be installed on your operating system (Windows, MacOS, and Linux)
  • MDK provides EMCO and SUG support. The required code is already included in the PRS release package, requiring no additional download/install by the user.

Getting the Source

The PRS project is hosted on GitHub. All versions of the repository are available as releases.

You can also clone the entire project directly with this command: git clone [email protected]:iLPdev/prs.git

^Top

Usage

User Interface Configuration

There are two fully configurable UI elements that are currently included in PRS by default: the EMCO (Communications Tabs and Map) and the Vitals (character Stat guages) windows. The UI windows are docked on the right of mudlet's main display upon connection to the game server. The windows may be resized by dragging their borders, moved by click/dragging their window title/headings, as well as undocked or closed by clicking on their respective upper-right pop-out or close icons.

On initial usage, you will typically need to resize the windows both horizontally and vertically to reveal their contents fully. Note that the window configurations are preserved but not restored until connection to the game server has been established.

Command Line Interface

  • A command line interface exists at the bottom of the Chat, Newbie, Trade, and Local tabs within the EMCO window. To communicate through any of these channels, simply click on the empty bottom line of the tab and input your text to be sent through the corresponding communication channel.

  • @tell - You may communicate privately with another player via the game's tell command from within any of the EMCO communication tabs' CLI via @<player name> <message>. For example, entering @stack blah foo into a tab's CLI will issue tell stack blah foo to the game server.

^Top

Roadmap

The primary objective is to develop and test a minimally viable package for Mudlet that meets the requirements for includion on the list of connectable games when Mudlet starts and, in turn, to increase the playerbase of Procedural Realms.

Planned new features include:

See also the open issues for a list of proposed features (and known issues).

^Top

Maintainer

@Stack - Stop by and say hello on the Mudlet Discord Server!

^Top

Acknowledgements

  • @eterchun (Dalem) for re-energizing the project and evolving the codebase, especially after the major multiprocessor game server updates made doing so feel insurmountable.
  • @dinchak (PR Adminstrator) for mapper logic and server-side assistance, as well as developing, managing, and freely offering Procedural Realms to the world.
  • @demonnic for his seemingly indefatigable patience and help over the years.
  • @halimcme (Blizzard) for his Simple GMCP Mapper script and responsiveness to all my questions.
  • README.md:

^Top

Contributing

Contributions are what make the open source community such an amazing space to be learn, inspire, and create. Any contributions you make are greatly appreciated -- that’s the main reason discMapper is open-sourced! There are so many ways to contribute, even if you’re not a technical person. All contributions--no matter how small---are always welcome.

See the open issues for a list of ideas, questions, proposed features, and known issues.

There is not an explicit workflow requirement for this project, yet. I'm currently exprimenting with the Gitflow approach and Conventional Commits, but you don't need to.

Basically, to contribute to this project, you're invited to:

  1. Create an Issue (bug report / feature request)
  2. Fork the Repository
  3. Create your Branch (optionally reference issue in branch name; git checkout -b feature/AmazingFeature)
  4. Code Code Code
  5. Commit your Changes (incrementally with detailed commit messages; git commit -m 'Add some AmazingFeature')
  6. Push to your Branch (git push origin feature/AmazingFeature)
  7. Submit a Pull Request

Ethics

Contributor Covenant

This project follows the Contributor Covenant Code of Conduct and operates under the W3C's Code of Ethics and Professional Conduct:

W3C is a growing and global community where participants choose to work together, and in that process experience differences in language, location, nationality, and experience. In such a diverse environment, misunderstandings and disagreements happen, which in most cases can be resolved informally. In rare cases, however, behavior can intimidate, harass, or otherwise disrupt one or more people in the community, which W3C will not tolerate.

A Code of Ethics and Professional Conduct is useful to define accepted and acceptable behaviors and to promote high standards of professional practice. It also provides a benchmark for self evaluation and acts as a vehicle for better identity of the organization.

The expectation is that our community group acts according to these guidelines, and that participants hold each other to these high standards. If you have any questions or are worried that the code isn't being followed, please contact the maintainer of this repository.

Contributors

Thanks go to these amazing folks (emoji key):

Tom Dinchak
Tom Dinchak

πŸ’» πŸ€”
iLPdev
iLPdev

πŸ’» πŸ“– 🎨 πŸ€” 🚧 πŸ“† πŸ‘€ ⚠️ πŸš‡
eterchun
eterchun

πŸ““ ⚠️ πŸ› πŸ’»

^Top

License

Copyleft (2023) iLP development. Distributed under GPL v3.0-and-later. For more information, see LICENSE.

^Top

About

Mudlet Script for Procedural Realms MUD

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Lua 100.0%