Artificial Environment

The Artificial Environment or AE for short, also known in magic-based locales as the Aetheric Environment, is a system to create a server-client architecture within a MUSH for the purpose of adding non-standard gameplay and environments.

World Server
The main processor for the AE, including admin functions for registration and access as well as storing information on the world itself and all the necessary user functions. DBREF is referenced in code as #WRLD.

Description: A massive cylindrical obsidian monolith, with intricately carved runes covering every bit of its surface. They're glowing a pale blue, which you suppose is kind of cool.

AHEAR: @assert [u(admin`fn`istoolreg,%0)]=[u(admin`fn`senderror,%1,badtool)];@assert [u(admin`fn`isuserreg,%1)]=[u(admin`fn`senderror,%1,baduser)];[u(admin`fn`parse,%1,%2)]

LISTEN: ae * * *

ADMIN cmd reg fn  auth checkprivilege // test whether a user is authorized to request a certain command istoolreg // test whether a device is on the registry > [gt(match(u(admin`registry`tool),%0),0)] isuserreg // test whether a user is on the registry > [gt(match(u(admin`registry`user),%0),0)] newreg getallnames // test to see if a desired character name is already in use parse setregname > [attrib_set(#WRLD/admin`userdata`%0`regname,%1)] setregtime > [attrib_set(#WRLD/admin`userdata`%0`regtime,secs)] senderror > [pemit(%0,ansi(hr,u(str`error`%1)))] registry tool // list of device dbrefs authorized AE access user // list of user dbrefs authorized AE access userdata (dbref) // all data is sorted by this in case user decides to change name privilege // 9 superuser, 0 locked out, 1 unlocked regtime // secs taken when user first registered regname // MUSH name that was in use when user first registered aename // name as shown to other AE users STR error badcmd > ERROR > Command not recognized. badtool > ERROR > This device is not authorized to access the AE server. baduser > ERROR > You are not authorized to access the AE server. priv > ERROR > You are not authorized to perform this operation. WORLD area (name) // the world isn't organized by dbref extname // optional extended name string for displaying spaces or special characters shortdesc // users have an option to see shorter room descriptions fulldesc // or complete ones if they choose exits // names of 'connected' rooms combatstate // optional attribute for use when #CBAT is functional fn  move // exists as the 'go' command shop // interact with merchant POIs craft // create new weapons, armor, items, etc.  say pose semipose

Combat Server
The secondary processor for the AE that is focused on storing combat- or RPG-related functions such as calculating damage, determining random drops, maintaining the list of weapons and armor, or other similar things that are specifically only necessary when the AE evolves beyond being just a social environment. DBREF is referenced in code as #CBAT.

Description (inactive): A massive cylindrical obsidian monolith, with intricately carved runes covering every bit of its surface. They're not glowing or anything, so you suppose whatever this thing is meant to be doing isn't being done right now.