znmud-0.0.1/benchmark/
znmud-0.0.1/cmd/
znmud-0.0.1/cmd/emotes/
znmud-0.0.1/cmd/objects/
znmud-0.0.1/cmd/tiny/
znmud-0.0.1/doc/
znmud-0.0.1/farts/
znmud-0.0.1/lib/
znmud-0.0.1/lib/combat/
znmud-0.0.1/lib/core/bodytypes/
znmud-0.0.1/lib/engine/
znmud-0.0.1/lib/farts/
znmud-0.0.1/logs/
# Filename: mxpelements.rb
# Author: Craig Smith
#

require 'gettext'

# Defines the base MXP elements the mud will use
module MXPCodes
  include GetText
  bindtextdomain("engine")

  MXP_BEG = "\x03"
  MXP_END = "\x04"
  MXP_AMP = "\x05"

  MXP_BEGc = 3
  MXP_ENDc = 4
  MXP_AMPc = 5

  AMPc = 38
  LTc  = 60
  GTc  = 62

  def mxptag(arg)
	MXP_BEG + arg + MXP_END
  end

  def mxpmode(arg)
	"\x1b[#{arg}z"
  end

  # This is provided during the welcome message when MXP is supported
  # This basically works like a stylesheet to let the client know
  # what kind of tags to expect
  def init_mxp_elements
	help = _("Right click for menu")
	msg = mxpmode("6")
	msg << mxptag("!-- Setup MXP elements --")
	msg << mxptag("!ELEMENT Ex '<COLOR Red><send>' FLAG=RoomExit")
	msg << mxptag("!ELEMENT Rname '<COLOR Green>' Flag=RoomName")
	msg << mxptag("!ELEMENT RDesc '<p>' FLAG=RoomDesc")
	msg << mxptag("!ELEMENT Hp '<FONT COLOR=Green>' FLAG=\"Set hp\"")
	msg << mxptag("!ELEMENT MaxHp FLAG=\"Set maxhp\"")
	msg << mxptag("!ELEMENT Mv '<FONT COLOR=Yellow>' Flag=\"Set mv\"")
	msg << mxptag("!ELEMENT MaxMv FLAG=\"Set maxmv\"")
	msg << mxptag("!ELEMENT Prompt FLAG=\"Prompt\"")
	msg << mxptag("!ELEMENT Motd FLAG=MOTD")
	msg << mxptag("!ELEMENT Inv FLAG=Inv")
	msg << mxptag("!ELEMENT StoreList Flag=StorList")
	msg << mxptag("!ELEMENT GroundObj \"<COLOR Yellow><send href='" + _("get") + " &name;|" +
			_("look") + " &name;' hint='#{help}|" +
			_("Get") + " &desc;|" + _("Look at") + " &desc;'>\" ATT='name desc'")
	msg << mxptag("!ELEMENT InvNormal \"<send href='" + _("drop") + " &name;|" +
			_("wield") + " &name;|" +
			_("look") + " &name;|" +
			_("junk") + " &name;' hint='#{help}|" +
			_("Drop") + " &desc;|" +
			_("Wield") + " &desc;|" +
			_("Look at") + " &desc;|" +
			_("Junk") + " &desc;'>\" " +
			"ATT='name desc'")
	msg << mxptag("!ELEMENT InvContainer \"<send href='" + _("drop") + " &name;|" +
			_("wield") + " &name;|" +
			_("look") + " &name;|" +
			_("look in") + " &name;|" +
			_("drink from") + " &name;|" +
			_("junk") + " &name;' hint='#{help}|" +
			_("Drop") + " &desc;|" +
			_("Wield") + " &desc;|" +
			_("Look at") + " &desc;|" +
			_("Look in") + " &desc;|" +
			_("Drink from") + " &desc;|" +
			_("Junk") + " &desc;'>\" " +
			"ATT='name desc'")
	msg << mxptag("!ELEMENT Fountain \"<send href='" + _("drink from") + " &name;|" +
			_("look in") + " &name;' hint='#{help}|" +
			_("Drink from") + " &desc;|" +
			_("Look in") + " &desc;'>\" " +
			"ATT='name desc'")
	msg << mxptag("!ELEMENT Buy \"<send href='" + _("buy") + " &name " + _("from") + " &merchant;' " +
			"hint='#{help}|" +
			_("Buy") + " &name;'>\" " +
			"ATT='name merchant'")
	msg << mxptag("!ELEMENT Player \"<COLOR Cyan><send href='" + _("look") + " &name;|" +
			_("kill") + " &name;' hint='#{help}|" +
			_("Loot at") + " &name;|" +
			_("Kill") + " &name;'>\" " +
			"ATT='name'")
	msg << mxptag("!ELEMENT NPC \"<COLOR Cyan><send href='" + _("look") + " &name;|" +
			_("kill") + " &name;' hint='#{help}|" +
			_("Loot at") + " &name;|" +
			_("Kill") + " &name;'>\" " +
			"ATT='name'")
	msg << mxptag("!ELEMENT Monster \"<COLOR Cyan><send href='" + _("kill") + " &name;|" +
			_("look") + " &name;' hint='#{help}|" +
			_("Kill") + " &name;|" +
			_("Look at") + " &name;'>\" " +
			"ATT='name'")
	msg << mxptag("!ELEMENT Merchant \"<COLOR Cyan><send href='" + _("list") + " &name;|" +
			_("look") + " &name;' hint='#{help}|" +
			_("List items for sale") + " &name;|" +
			_("Look at") + " &name;'>\"" +
			"ATT='name'")
	msg << mxptag("!ELEMENT Food \"<send href='" + _("eat") + " &name;|" +
			_("drop") + " &name;|" +
			_("look at") + " &name;' hint='#{help}|" +
			_("Eat") + " &desc;|" +
			_("Drop") + " &desc;|" +
			_("Look at") + " &desc;'>\" " +
			"ATT='name desc'")
	msg << mxptag("!ELEMENT Corpse \"<send href='" + _("get all corpse") +
			"' hint='" + _("Search the corpse") + "'>\"")
	msg << mxptag("!ELEMENT EatCorpse \"<send href='" + _("eat corpse") +
			"' hint='" + _("Eat the corpse") + "'>\"")
	msg << mxptag("!ELEMENT Logo \"<IMAGE URL='http://znmud.com/images/zombienation-concept.gif'>\">")
	msg
  end

end