MAGA Change Log


  • Updated color parser
  • Added cname parsing hardcode function
  • Made the 'chat' use the cname and no longer parse the chat text.
  • updated help
    • help topics
    • help attributes
    • help functions (NYI)
    • help colors
    • help =
  • added @text command
  • optimized the who command when -all is not given
  • fixed the cname parsing of the who command
  • Added a tempoarry Message Of The Day to the who command
  • Put in alias
  • Put in =' and =.


  • Made user names and aliases case insensative
  • Made the game restrict names to only starting with a letter and containing letters, numbers and underscores.
  • Added a NAME_Attribute class
  • Made alias into a hardcoded field on Things
  • Added an @alias command for setting the alias
  • Changed the logic for detecting if the sql_db connection has dropped
  • Added alias to who listing
  • Added @ex command
  • Added @password command
  • Added password check to login and changed the login dialogue


  • Changed how load() and save() were handled fixing a bug with passwords getting rest to 'password'.
  • Defined sql db layout for tracking admin powers
  • Added an (undocumented) -nosave option to the @reboot command


  • Fixed recursive bug when two (or more) players were disconnected at the same time
  • Created basic backend structure for keeping track of powers and admin ranks
  • Added @list command and admin rank and power listsings
  • Added powers to @ex for player objects


  • Finished the save/load for player powers
  • Added location and owner info to @ex
  • Made @ex check for the appropriate power
  • Added @empower command
  • Added @depower command


  • Added ; to = command
  • Updated @set comand to the new syntax (now supports targets and type and checks powers)
  • Made @ex show attribute types
  • Fixed bug with attributes of type name where they were incorrectly getting set to type string


  • Created @define command
  • Made the @define shortcut for @set check to see if the attr already exists
  • Created @remove command
  • Turned local echo off for entering password on login
  • Added command queue
  • Added atime and atime_timer attributes and functionality
  • Fixed a bug with @set where it was griping about an attribute already being defined when no defining was being done
  • Added @print command
  • Added @teleport
  • Added the MAGA's first room object #14 (The Cafe!)


  • Made @ex accept 'here' as a target
  • Fixed a segfault bug with @ex
  • Fixed a load problem with object locations
  • Added a content listing to @ex
  • Added rough look command ( Syntax test - only prints name of what you are looking at )


  • Added desc and idesc to look output
  • Fixed #id and *player (and other invalid things) for look
  • Added automatic looks on location changes
  • Added hook for objects to 'listen' to stuff.


  • Removed default odesc and pdesc msgs from ROOM objects
  • Updated the @set command to do object name lookups and recognize 'here'. Also made the 'on' optional syntax.
  • Added power check to @reboot command
  • Added power check to @shutdown command
  • Added power check to @save command
  • Updated the @define command to do object name lookups and recognize 'here'.
  • Updated the @remove command to do object name lookups and recognize 'here'.
  • Updated the @ex command to do object name lookups.
  • Added a hardcode utility function get_target() to the MAGA_Command object.
  • Updated the @alias command syntax to accept a target and added power check. (Name power)
  • Updated the syntax for the @password command. Now allows spaces in pwds and can be used by admins on other players.
  • Updated the syntax for @get
  • Added content listing to look command
  • Added complete set of ID attrs ( id, thing_id, player_id, room_id, exit_id, zone_id )
  • Added exit object
  • Added exit listing to look output for rooms
  • Added object types to @ex conetnet listing
  • Added seperate exit list for @ex on rooms
  • Fixed bug with autosave only saving once and then never again


  • Fixed bug with ID attrs not loading properly
  • Added command check for Exits (You can move now!)
  • Added msgs for exits (oenter penter oexit pexit)


  • Added @create command (For THINGs)
  • Fixed color issue with look output
  • Added sepearte listing for players to look output and hid disconnected players
  • Added arrival and departure messages when objects move (or are teleported)
  • Made @define default to str type if not given
  • Updated "help attributes"
  • Fixed @alias to accept #id and *player
  • Fixed object name lookups on @ex @set @define and @remove
  • Made 'help commands' show them as a comma seperated list
  • Fixed object name lookups on @tel
  • Added leave command
  • Added oleave and pleave msgs for leave command


  • Added @name command
  • Added support fo prefix and caption attrs
  • Added @create room command
  • Added @create exit command
  • Added @list rooms topic
  • Added say command
  • Added pose command
  • Removed exit listings when looking at a room through an exit
  • Added page command
  • Added trigger attributes
  • Added command attributes
  • Added 'help user commands' page
  • Added 'help triggers' page
  • Fixed color bleed from prefix attrs in look output


  • Added @dig command ( help @dig )
  • Tweeked the power check on creating exits so that tel power is not required if the player owns the rooms in question
  • Also tweeked the link check on exits (what actually does the move) to behave in the same manner
  • Added @destroy command ( help @destroy )


  • Added @chown command ( help @chown )
  • Created Channel object and put in default public channel


  • Added the ability for channels to save()
  • Added the ability for channels to load()
  • Added @chan command
  • Added @chan create
  • Added @chan join
  • Added @chan alias
  • Added @chan color
  • Added @chan cname
  • Added @chan leave
  • Added @chan password
  • Added @chan mod
  • Added @chan voice
  • Added @chan devoice
  • Added @chan gag
  • Added @chan ungag
  • Added @chan who
  • Added @chan list
  • Added @chan kick
  • Added @chan invite
  • Fixed being able to [to ] folks not on the channel.
  • Added @chan chown


  • Prevented objects from hearing themselves on channels to help prevent trigger loops.
  • Objects now get the channel name as %c in triggers
  • Created base Function class (MAGA_Function)
  • Created Function Arg class (Farg)
  • Created basic parser class (Function_Parser)


  • Created base working function parser engine
  • Added cname() function
  • Made the help system work with functions
  • Added get_var() / v() function
  • Added 'help function parser' page
  • Added pnum()
  • Added name()


  • Added time()
  • Made atime parse


  • Added optional timezone offset argument to the time() function


  • Put in check to prevent blank commands on objects from ever triggering


  • Fixed some help text bugs
  • Added check to prevent blank entries from being placed in the command queue
  • Added operator parsing code in the function parser
  • Added + operator ( help +oper )
  • Added - operator ( help -oper )
  • Added * operator ( help *oper )
  • Added / operator ( help /oper )
  • Added % operator ( help %oper )
  • Added ^ operator ( help ^oper )


  • Fixed bug with - when used as a negation operator (-23)
  • Added BOOL type to Function Args/Variables
  • Added to_num() function ( help to_num() )
  • Added to/' command ( help to )
  • Added to_float() function ( help to_float() )
  • Added to_str() function ( help to_str() )
  • Added to_id() function ( help to_id) )
  • Added things and exits to the @list command
  • Removed coloration from the "You peer through the exit and see:" msg.
  • Wrote initial prototype for control functions: if()


  • Added ifelse() control function


  • Added foreach()


  • Fixed bugs in foreach() and pushed to alpha
  • Modified foreach() to accept blank args for the optional args
  • Modified the parser so that function returns are parsed.
  • Added autolook on connect
  • Added aconnect check on connect
  • Modified @print to just print a blank line if no message is given
  • Fixed %c expansion in triggers
  • Rewrote backend code for stacking commands into the queue
  • Fixed time() to not return an error if no args are given
  • Added aunidle check
  • Added adisconnect check
  • Swapped %t v(t) and %n v(n)
  • Added 'help vars'
  • Swapped the default for the force argument in the to_ set of functions
  • Fixed bugs with if() and ifelse() caused by foreach() code
  • Added color()
  • Added get()


  • Added location()
  • Added @emit
  • Control function bug fixes
  • Added @remit
  • Added @boot
  • Added ACTION type attributes
  • Updated @define syntax to make the various separators optional and to allow / for setting the type
  • Updated @set so that it no longer cares if the attr already exists if the /type is given


  • Added switch()


  • Added ansi color escape stripping to triggers


  • Rewrote how v(#) and v(!) are passed into the do_function() call in the hardcode
  • Added Function type attributes
  • Made vars persist during a single call to the parser. (As opposed to before where they only persisted within the function parser call rather than the general parser)
  • Added set_var() or sv() for short
  • Added set()
  • Changed "Contents:" to "Carrying:" for players in look output
  • Fixed being able to look at objects contained by objects in your inventory
  • Fixed the default object when none is given for get() set() and loc() to be %# for commands and %! for actions and triggers


  • Made cname() less likely to bleed


  • Made it so that =.. will not trigger the thought bubbles


  • Added regex() function


  • Added rand() function
  • Added extract() function

-- SluggyQBFreak - 10 Feb 2010 -- SoaringDragon - 03 Apr 2010
Topic revision: r3 - 03 Apr 2010, SoaringDragon
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WikiMARE? Send feedback