Internal Mechanics

From LegendMUD
Revision as of 04:13, 8 September 2019 by Lirra (talk | contribs) (β†’β€ŽThe Fight System)
(diff) ← Older revision | Latest revision (diff) | Newer revision β†’ (diff)
Jump to navigation Jump to search

If you would Learn aught of the Secrets of Alchemy that did lead to such Wonders, you have come to the Proper Place...

Much of the invisible stuff that keeps the mud running has been redone on Legend. Perhaps the principal change is the acts system coded by Sadist, which permits highly interactive mobs and rooms, enabling the detail that is the trademark of LegendMUD. Since many people have logged on in the past to ask questions like, "are your scripts pre-emptive or cooperative multitasking?" here's a little explanation of some of the things done to the server to enhance gameplay.

The Acts System[edit]

An easy to learn and very powerful script system for mobiles and rooms.

The acts system on Legend is what makes much of the rest of the mud possible. It is a fairly simple mud language that is easy to learn yet quite powerful. As an example of its capabilities--Legend uses NO C special procedures at all. Instead, any mobile and any room may have the ability to use acts.

What can it do? Well, acts can be used for simple trigger actions, of course, as in when a mob says something to you when you walk into the room. They can also respond to virtually any action that can be performed on the mud. On top of that they have the capability to perform random actions, actions at specific times (such as an hour of the day, upon death or upon creation, etc), and to call fully recursive procedures. Mobiles and rooms can also give each other instructions for complex performances and actions.

Mobs using acts have the ability to use any normal player command on the mud, plus they have a large array of mobile-only commands, ranging from the simply cosmetic (echoing and directed emotes) to the immortal (transparent teleportation) to the truly powerful ones that alter the database. Since rooms and mobs can fully interact, it permits things like area maps that change on the fly depending on any number of possible circumstances, alteration of player stats or mob stats, and so on. Since creators may also create and assign internal flags in their area files, not to mention check many possible factors ranging from stats to whether it's dark outside, the possible circumstances are limited mostly by the talent and imagination of the builder.

Legend's acts are also capable of multitasking (both pre-emptive and cooperative) and every mob has its own event queue. Blocks of act code can be inherited across multiple mobiles, allowing generic behaviors for types of creatures or for the populace of a given city.

Acts are written in the area file, right with each room or mobile, unlike stock Merc MobProgs which must go in a separate file. Since the language is powerful enough to severely mess up the server, we only load updates at mud reboots in order to prevent nasty things from happening. No recompilation of the server is necessary, though--just reboot and your new quest is ready for action.

Examples of common uses of acts beyond the usual triggers for atmosphere are wide-ranging. In several areas you will find horses that are all the same mob but appear in a wide range of colors (and as stallions, mares, or geldings), are tame and follow their owners onto ships, and will obey simple orders. These are done purely in acts.

Quests and Exploration XP[edit]

Acts put to good use.

Quests are a central part of the LegendMUD experience. They are all written entirely and exclusively in the mud acts language. This language permits us to construct difficult puzzles.

On Legend quests grant experience points to those who complete them, and as there are literally dozens of them (a recent count tallied well over 60 of them, and more written all the time), this can be quite a substantial amount of XP. Quests are required to travel between different time periods on the mud.

Typically, one finds quests on Legend by reading messages on the local boards, and listening carefully to what the mobiles have to say. Some are quite simple, and might only involve bringing a specific item to someone; others might ask you to help get a lovelorn couple married, resolve the problem of drought in a village, or at the most extreme end of difficulty, live out the entire stories of Beowulf and his monstrous enemies, or that of Aladdin and the magical lamp.

None of these quests require any immortal intervention. They're entirely automated. Some do require certain levels of ability, or groups, to complete.

Another way of gaining experience on LegendMUD is simply to explore. Certain locations on the mud will give you credit simply for finding them. The more you wander through our areas, the better.

Regeneration and Resets[edit]

No more tick triggers and general area repops!

LegendMUD tries to avoid two common pitfalls of muds with two small changes to the code. It's quite common on many muds to see players gathered outside certain areas anxiously awaiting 'repop,' when magically and all of a sudden the area is repopulated. On Legend, however, every single mob and every single item can have its own reset set to any tick length whatsoever. This means that areas are rarely 'empty' and that new mobs appear gradually as you go, rather than all at once. A great increase in realism.

On top of that, acts have the ability to load mobiles and items as well. If you kill all the cats and dogs in a region, don't be surprised to find a dearth of kittens and puppies later--the younger versions aren't in resets at all, but rather are created by the older versions. And the kittens and puppies might also grow up as they age! Some mobiles hunt for their food as well.

It is not only mobiles who have a different regeneration scheme. On Legend, the triggers for sleeping over the tick for max hp are useless. Instead of granting regeneration to players at the tick based on their current position, Legend does it based on their activity over the whole past tick. Those who sleep more are commensurately rewarded--those who take a quick nap when the tick comes find that they might as well have stayed awake.

The Fight System[edit]

No more rounds, plus a detailed proficiency system.

LegendMUD doesn't use rounds. It might LOOK like we use rounds, for when you're in combat, everyone gets messages in clumps. But internally, Legend uses a free-flowing roundless combat where every combatant has their own delay between attacks. This leads to a complex yet easily learned combat system based on fight pulses.

Under this system, those who specialize in a type of weaponscraft are rewarded. There are proficiences in swordsmanship, arms training, and fencing, and each proficiency offers several levels. The further you advance in your chosen specialty, the faster you will attack. This results in a very gradual shift in your attack speed. Since internally rounds are simply regular intervals at which combat progress is reported, you may, depending on your delay between blows, find yourself attacking once in one round and twice in the next, slowly building up to the maximum possible nine attacks per round.

Every weapon on Legend also has a quality rating. You'll find it a lot easier to attack quickly with a finely balanced Damascus steel longsword than with a clumsy, poorly weighted bronze sword. And a magical blade like Hrunting, passed down in thane Hrothgar's family for generations, and given to Beowulf as a reward for killing Grendel--well, that's likely to be better yet.

Natural aptitude counts for something too. The heavier the weapon, the harder it is to attack quickly with it. But a weapon heavy to some is light to others, and so a player's stats affect which choice of proficiency will serve them best--if one's talent is in the dexterous discipline of fencing, one will simply do much poorer when picking up a club, which most of all requires stamina.

One final observation about this fight system--there is also a whole proficiency set for missile weapons where it is not speed but rather accuracy that makes the day. Look under Fun stuff for a discussion of Legend's missile weapons system.

Customizable Interface[edit]

Hey--you're going to live on this mud. You may as well be able to make it comfortable!

LegendMUD supports color--you can select between ANSI color for an ANSI capable terminal, AVATAR color if you have access to something that supports it, or choose to simply have the raw color codes sent to you for interpretation by your client or terminal software.

Color is used in dozens of places in the mud, enough places in fact that there are a couple dozen color registers, any of which you can set to any ANSI color you like. You can customize the color of room titles, descriptions and contents, exits, tells, channel names, the person using the channel, and the channel message, socials/emotes, fight messages, and even track your health status in your prompt by having your hp, move and mana change colors by stages as they decrease and increase. HELP COLOR on the mud has a more detailed explanation of how to customize these.

You can also simply enter COLOR SET CHANNEL GREEN and it will automatically configure those registers in shades of green for you. You can choose between shades of black, red, green, cyan, blue, white, yellow and purple. And you can always restore all of the mud's default color settings with COLOR SET DEFAULT.

But color is just the tip of the iceberg for customizability on Legend. Do you want a verbose score display or one neatly presented on a nice scroll? Do you want to see every single bit of the action as you fight, or are you accustomed to terse messages like the ones offered on other muds? Do you like knowing about new mail when you login, or not? What do you feel should be in your prompt? A whole host of options allows you to customize many aspects of Legend's interface to your tastes.