package NetHirc::Database;

use strict;
use warnings;

use YAML ();

sub new
{
    shift;
    my $filename = shift;
    return YAML::LoadFile($filename) if $filename;
    return YAML::Load(<<EOYAML);

channel_mode_comments:
  '+b': |-
    ^^^^ In %s, a sense of foreboding surrounds %s...
  '+i': |-
    ^^^^ A sign appears outside %s: "By Invitation Only!"
  '+k': |-
    ^^^^ You hear someone locking the %s door...from the outside.
  '+l': >-
    ^^^^ %s suddenly feels a lot more cramped, like it could only hold %d
    creatures.
  '+m': |-
    ^^^^ A strange silence falls over %s.
  '+n': |-
    ^^^^ The windows of %s glow more brightly now.
  '+o': |-
    ^^^^ In %s, %s glows silver for a moment.
  '+p': |-
    ^^^^ A sign appears on the outer doorknob of %s: "Do Not Disturb!"
  '+s': |-
    ^^^^ Suddenly, you can't see the door to %s!
  '+t': |-
    ^^^^ The signpost outside %s is surrounded by a shimmering light!
  '+v': |-
    ^^^^ In %s, the smelly sock vanishes from %s's mouth!
  '-b': |-
    ^^^^ In %s, the ward against %s is lifted!
  '-i': |-
    ^^^^ The "By Invitation Only" sign outside %s crumbles to dust!
  '-k': |-
    ^^^^ You hear someone unlocking the %s door.
  '-l': |-
    ^^^^ %s suddenly feels a lot less cramped.
  '-m': |-
    ^^^^ Suddenly, it is noisier in %s.
  '-n': |-
    ^^^^ The windows of %s are not glowing as brightly now.
  '-o': |-
    ^^^^ In %s, %s glows black for a moment.
  '-p': |-
    ^^^^ The "Do Not Disturb" sign is removed from the outer doorknob of %s.
  '-s': |-
    ^^^^ The door to %s reappears!
  '-t': |-
    ^^^^ The shimmering light around the signpost outside %s fades.
  '-v': |-
    ^^^^ In %s, a smelly sock appears in %s's mouth.

classes:
  - Archaeologist
  - Barbarian
  - Caveman
  - Elf
  - Healer
  - Knight
  - Priest
  - Rogue
  - Samurai
  - Tourist
  - Valkyrie
  - Wizard

complaints:
  - There are other keys on the keyboard, you know.
  - Hello?  Anyone?  Bueller?
  - I'm sorry, that's entirely too kinky for me.
  - Oh, really?
  - How fascinating!
  - I always wondered what you meant by that.
  - You're enjoying this, aren't you?
  - Freedom of speech, yes.  Freedom of whitespace?  Well...
  - I think you've had enough fun for today.
  - Have you considered all the options that the other keys offer you?
  - Ooh, that tickles!
  - You are getting sleepy.
  - I'll bet you like to jump up and down for hours on end.
  - Make up your mind.
  - Is that where the "ANY" key is on YOUR keyboard?
  - I can't believe they put me in one of these things!
  - You must type something other than whitespace, SIR.
  - You've not enough clue.  Mine more clue.
  - For help, type "/! kill -1 -1".
  - Kids, don't try this at home.  We're trained professionals.
  - Are you threatening me!!!??
  - I've got your deep meaningful discussion right here, pal.
  - Ask not for whom the ^G tolls.
  - What we have here is failure to communicate.
  - Insufficient content.  Please add more and try again.
  - Wake up, Neo.
  - Confucious say too much.
  - I'm exercising my right to not listen.
  - It's the internet's fault!
  - This product not manufactured or distributed by Whitehall Laboratories.
  - This space intentionally left blank.
  - Isn't this a lot more fun than "double-clicking your mouse?"
  - You're not on battle.net.  Stop hitting Enter.
  - Now we are so happy, we do the dance of joy!
  - Stay cool!
  - This is not a weird conversation.  This is completely normal.
  - Type or die!
  - All signs point to 'Whatever.'
  - Beep beep beep.  Beep beep beep.  Beep BEEP BEEP.
  - I'm ready to support your next move.
  - Get a real job.
  - You need to push yourself harder.
  - This message has been ROT-13 encrypted twice for higher security.
  - Penalty, not talking.
  - Penalty, hitting the Enter key with the wrong hand.
  - PEBKAC detected. Aborting mission. Press Ctrl-Alt-Del to continue.
  - You are incapacitated and will slowly die, if not aided.
  - ls IS A POWERFUL COMMAND!
  - Let me tell you about my mother!
  - May I ask you a personal question?
  - Segmentation fault (core dumped):  could not open complaints.txt.
  - Yes.
  - No.
  - You don't say!
  - Yeah, right.
  - If you're killed, you've lost a very important part of your life.
  - Hurry up, I don't have all day.  All right actually I do.
  - I am part of a disturbing trend.
  - Computers can do anything.  They are like magic.
  - END OF LINE
  - Stop whining!
  - You lack discipline!
  - Don't you trust me?
  - The Internet?  Is that thing still around?
  - This is an unauthorized thought process.
  - I think you've had enough fun for today.
  - That is humor.  I recognize that.
  - Would you like to see my collection of bad pickup lines?
  - Are you metal enough to be reading this?
  - Say what you mean, mean what you say, and explain it again when I'm sober.
  - Ooh... that felt kinda nice.
  - I have seen your aura and it's ugly.
  - This sentence is completely devoid of humor, hence it is a complaint.
  - YOU ARE NOT HAVING FUN HARD ENOUGH!
  - Interpretive dance is not a valid occupation.
  - No matter where you are sitting right now, you have bad seats.
  - Best viewed when drunk.
  - Quiet!  The Machine has spoken!

  
deities:
  - Anhur
  - Thoth
  - Ptah
  - Loki
  - Odin
  - Offler
  - Susanowo
  - Raijin
  - Issek
  - Brigit
  - Lugh
  - Poseidon
  - Hermes
  - Athena
  - Anshar
  - Ishtar
  - Crom
  - Mitra
  - Huhetotl
  - Camaxtli
  - Quetzalcoatl
  - Moloch
  - Erevan Ilesere
  - Aerdrie Faenya
  - Solonor Thelandira
  - The Lady
  - Blind Io
  - Amaterasu Omikami
  - Huan Ti
  - Chih Sung-tzu
  - Shan Lai Ching
  - Manannan Mac Lir


disasters:
  - You hear a distant squeak.
  - A board squeaks loudly under your feet.
  - You hear a distant explosion.
  - KABLAMM!!  You triggered a land mine!
  - You are caught in a bear trap!
  - You fall down the stairs.
  - You are frozen by the floating eye's gaze!
  - You are splashed by acid!
  - You feel guilty.
  - You have a sad feeling for a moment, then it passes.
  - Your brain is on fire!
  - You choke on your food.
  - You hear the footsteps of a guard on patrol.
  - You hear the chime of a cash register.
  - The air crackles around the gnomish wizard.
  - You rebalance your load.  Movement is difficult.
  - You hear a monster behind the boulder.
  - KLUNK!  The pipes vibrate noisily.
  - You summoned a water demon!
  - Oh, wow, great stuff!  Everything looks so cosmic now!
  - You stagger...
  - You hear an elephant stepping on a peanut.
  - Whew!  You survived that attempt on your life.
  - This tepid water is tasteless.
  - You faint from lack of food.
  - There was a rattlesnake hiding under a statue of a mountain centaur!
  - Wait, that's a large mimic!
  - The leprechaun hits!  Your purse feels lighter.


formats:
  Caccepted: |-
    ## Excellent, then we shall proceed.
  Clist: |-
    ?? Do you *really* want this Big Long List? [yn]
  Cnames: |-
    ?? Do you *really* want this Big Long List of Names? [yn]
  Crefused: |-
    ## Fine, see if I care!
  Ebadchannel: |-
    ## You think to yourself, "What a funny name for a channel!"
  Ebigbrothercommand: |-
    **** Big Brother does not know how to %s.  Have a nice day.
  Ecantlog: >-
    ## A logging daemon appears, hands you a card that reads "%s," and vanishes
    in a huff.
  Ecountalready: |-
    ## You already have a counter labeled %s!
  Ecountcommand: |-
    ## You can't get your counters to %s.
  Ecountfile: |-
    ## Your counter tells you that it needs a filename.
  Ecountstart: |-
    ## The counter labeled %s tells you: %s
  Ecountstop: |-
    ## The counter labeled %s fades, and tells you: %s
  Edisconnect: |-
    ## You are not in contact with %s.
  Eecho: |-
    ## %s %s %s...
  Eeval: |-
    ## The voice of The Dark One booms: %s
  Eignore: |-
    ## You think to yourself, "What a strange thing to ignore!"
  Eison: |-
    ## Being confused, you pray to the wrong god!
  Elogcommand: |-
    ## Logging daemons don't know how to %s!
  Elogging: |-
    ## You already have a logging daemon following you!
  Elogsamefile: |-
    ## The logging daemon is already writing on a scroll labeled "%s"!
  Eme: |-
    ## You flap your arms in vain.  It is cold and empty out here.
  Emsg: |-
    ## You think to yourself, "What a strange name for a creature!"
  Emultiquery: |-
    ## You can't decide which of your %d telepathic connections to sever.
  Enocmd: |-
    ## You don't know any spells named "%s".
  Enocmdsrc: |-
    ## You don't know the "%s" spell mentioned on line %d of the "%s" scroll.
  Enocount: |-
    ## You have no counters!
  Enocountserver: |-
    ## You have no counters for the Great Wizard %s!
  Enologfile: |-
    ## A logging daemon hands you a note that reads "I need a filename."
  Enoqueries: |-
    ## You aren't telepathically linked to anyone!
  Enotinchannel: |-
    ## You don't have %s in your knapsack!
  Enotlogging: |-
    ## You can't see any logging daemon here.
  Epart: |-
    ## You may not part with what you do not specify!
  Epipe0: |-
    ## KABLAMM!  Your piped process triggered a land mine!
  Epipe1: |-
    ## There is something etched in the floor here: "Error in %s, %s"
  Epipesay: |-
    ## Your pipe falls to the ground and clatters loudly.
  Esay: |-
    ## You shout into the darkness.  The silence out here is oppressively heavy.
  Esconnect: |-
    ## The key fits in the lock, but does not turn.
  Eserver: |-
    ## The Great Wizards are too busy ignoring you.
  Esocket: |-
    ## Your spell fizzles out.  The words "%s" form in your mind.
  Esource: |-
    ## The succubus whispers gently in your ear: "%s, lover."
  Esquit0: |-
    ## You start bashing %s with your scroll labeled %s.
  Esquit1: |-
    ## %s does not appear amused.
  Estats: |-
    ## You think to yourself, "What a strange statistic!"
  Esummon: |-
    ## It's difficult to summon infernal creatures without knowing their names.
  Esystem0: |-
    ## You hear a distant explosion.
  Esystem1: |-
    ## There is something written here in the dust: "Error in %s, %s"
  Etweak: |-
    ## The spellbook's runes say: "%s"
  Euserhost: |-
    ## You feel a strange sense of emptiness.
  Ewallops: |-
    ## This scroll is blank.
  Ewhois: |-
    ## You feel materially poor.
  Ewhowas: 
    ## Your memory seems clouded.
  Poper: |-
    ?? So you wanna be an IRCop, eh?  What's the secret handshake?
  Wdisconnect: |-
    ## I'll assume that you want to disconnect from %s.
  Whappyslash: |-
    ## Happyslash! You meant to type that, right?
  Woperpasswd: |-
    ## I hope that's your password, 'cuz I'm sending it...
  Wpart: |-
    ## I'll assume that you want to leave %s.
  Wquerystop: |-
    ## I'll assume that you no longer want to talk to %s.
  action: |-
    (*) %s %s
  admin: |-
    ## %s
  adminemail: |-
    |==| The administrator may be contacted at %s.
  adminloc: |-
    |==| %s
  adminme: |-
    |==| A scroll labeled "%s" appears in your hand.
  away: |-
    {{ %s is away: %s
  badchannelkey: |-
    ## This key does not fit the lock on the door to %s.
  banlist: |-
    [| In %s, the ban against %s was placed by %s on %s.
  bannedfromchan: |-
    ## The voice of %s booms, "You have been banned from %s, mortal!"
  bigbrother_off0: |-
    **** Greetings, Citizen!  You have disabled Big Brother.
  bigbrother_off1: |-
    **** You are making a mistake.  Big Brother is your friend!
  bigbrother_on0: |-
    **** Greetings, Citizen!  You have enabled Big Brother.
  bigbrother_on1: |-
    **** You have made the right decision.  Big Brother is your friend!
  bigbrotherl: |-
    **** Big Brother will remember up to %d words.
  bigbrotherp: >-
    **** Probabilities are %d to revise, %d to keep, %d to discard, %d to
    announce.
  bigbrotherstat: |-
    **** Big Brother is %s.  Have a nice day.
  bigbrothersyn: |-
    **** Your words offend Big Brother.  Have a nice day.
  cannotsendtochan: |-
    ## Your spell bounces harmlessly off of %s.
  channelcreate: |-
    ## From your careful analysis, you can tell that %s has been here since %s.
  channelisfull:
    ## There is no room for you in %s!
  channelmode: |-
    ^^^^ In %s, %s reads a scroll of %s %s.
  channelmodeis: |-
    ## The door to %s has the ancient runes %s inscribed upon it.
  channels: |-
    ## Your current inventory: %s
  chanswitch: |-
    ## You spin and face %s.
  clientinfo: |-
    Really read a scroll labelled %s? [ynq]
  commands0: |-
    ?? Available commands: 
  commands1: |-
    ??	%s
  complaint: |-
    @*?! %s
  connect0: |-
    -- Hello, %s, Welcome to NetHirc!
  connect1: |-
    -- You have been commanded to retrieve the Amulet of Yendor.
  connect2: |-
    -- Go with the wisdom of %s, young %s!
  countclear0: |-
    ## You carefully shake the counter labeled "%s".
  countclear1: |-
    ## All the numbers from the realm of the Great Wizard %s vanish!
  countclearall: |-
    ## You vigorously shake the counter labeled "%s".  It is spotless now!
  countclose: |-
    ## You drop the counter labeled "%s".
  countend: |-
    ## Your counter labeled "%s" has no more to tell you.
  countfooter: |-
    ## The Great Wizard %s finishes telling you of numbers.
  countheader: |-
    ## The Great Wizard %s gives you some numbers:
  countopen: |-
    ## You pick up a glowing counter named %s.
  countstateoff: |-
    ## You have no glowing counters.
  countstateon: |-
    ## Your counter called "%s" is currently glowing.
  countstats: |-
    ## %-12s  %10d lines  %10d words  %10d bytes
  countserver: |-
    ## Your counter for "%s" tells you the following:
  countstart: |-
    ## Your counter labeled "%s" starts glowing.
  countstop: |-
    ## Your counter labeled "%s" is no longer glowing.
  cping: |-
    [CTCP] PING from %s:
  csource: |-
    [CTCP] SOURCE from %s
  cversion: |-
    [CTCP] VERSION from %s
  crping: |-
    [CTCP] PING reply from %s: %s
  crsource: |-
    [CTCP] SOURCE reply from %s: %s
  crversion: |-
    [CTCP] VERSION reply from %s: %s
  ctcp: |-
    [CTCP] %s
  debug: |-
    ~*~*~*~ Debugging for %s toggled ~*~*~*~
  disconnect: |-
    *POOF!* You are cut off from %s!  You hear "%s" in the distance.
  dumpola: |-
    DUMPOLA %02d: %s
  echo_off: |-
    ## The acoustics of the room change subtly.
  echo_on: |-
    ## Echo echo echo...
  finger: |-
    %s the %s gets angry!
  goof: |-
    ## The voice of %s booms: "%s, mortal!"
  goof0: |-
    ## The voice of %s booms: "%s"
  help: |-
    ?? %s: %s
  hsstatus: |-
    ## Happyslash handling is currently %s.
  invite: |-
    (( %s beckons seductively to you, "Come join me in %s."
  inviteonlychan0:
    ## A giant guards the door to %s, and demands to see your invitation.
  inviting: |-
    )) You beckon seductively to %s, "Come join me in %s."
  isnton: |-
    _\__ Your wand detects nothing.
  ison: |-
    __/_ Your wand detects something: %s
  join: |-
    >> %s (%s@%s) has wandered into %s.
  join_key: |-
    ## You try your key in the lock...
  joining: |-
    ## You see a door labeled %s here.  You move to open it...
  kick: |-
    *OUCH!* %s yells "%s" and kicks %s out of %s!
  kill: |-
    *OUCH!* %s hits you with %s!  You have died.
  lastchannel: |-
    ## You have been kicked out of your last channel!
  links: |-
    -=-=- %s %s %s
  list: |-
    |--| In %s, there are %d creatures discussing %s.
  list1: |-
    |--| In %s, there is %d creature discussing %s.
  listend: |-
    |==| The Great Wizard %s concludes the Ritual of Lists.
  liststart: |-
    |==| The Great Wizard %s begins the Ritual of Lists.
  logfilename: |-
    nethirc.%d.%d.log
  logstart0: |-
    ## A logging daemon appears!
  logstart1: |-
    ## The logging daemon scribbles on a scroll labeled "%s."
  logstarttext: |-
    ********** nethirc log pid %d started %s UTC **********
  logstop0: |-
    ## The logging daemon vanishes!
  logstop1: |-
    ## The scroll labeled "%s" drops to the floor.
  logstoptext: |-
    ********** nethirc log pid %s stopped %s UTC **********
  motd: '%s'
  mynick: |-
    ## You shudder and change from %s into %s!
  namelist: |-
    ===>  %s
  names: |-
    ===> You see %d creatures in %s.
  needmoreparams: |-
    ## You feel that your %s spell is missing something.
  nextchannel: |-
    ## You turn and face %s.
  nextchannel0: |-
    ## You turn and face the %s of the Great Wizard %s.
  nick: |-
    ## %s shudders and changes into %s!
  nicknameinuse: |-
    !! The Great Wizard %s bellows, "That nickname is already in use, mortal!"
  nochanlist: |-
    ## Your knapsack is empty!
  nochannel: |-
    ## You don't have %s in your knapsack.
  nochannels: |-
    ## It is pitch black.  You might get eaten by a grue.
  nocount: |-
    ## Your knapsack doesn't have any counters in it.
  nomotd: |-
    ## The Great Wizard %s currently has no great wisdom to impart to you.
  noservers: |-
    ## You are no longer in contact with any Great Wizards.
  nosuchchannel: |-
    ## You can't see any %s here.
  nosuchnick: |-
    ## You can't see anyone named %s here.
  nosuchserver: |-
    ## You look for a Great Wizard named %s, but you fail to find one.
  notice: |-
    -%s- %s
  notopic: |-
    ## Nothing is written on the floor of %s.
  oaction: |-
    (*) %s/%s %s
  onechannel: |-
    ## Your knapsack only has one item in it: %s
  onick: |-
    ## In the realm of %s, %s shudders and changes into %s!
  onotice: |-
    -%s/%s- %s
  ooaction: |-
    (*) %s/%s/%s %s
  opart: |-
    << %s (%s) has left %s %s.
  opriv_from: |-
    *%s/%s* %s
  oquit: |-
    << %s (%s) says "%s" and vanishes from the realm of %s!
  paction: |-
    (*%s*) %s %s
  paction_to: |-
    >%s< (*) %s %s
  part: |-
    << %s (%s@%s) has left %s.
  pipe: |-
    ## Using your adept plumbing skills, you install a "%s" pipe to %s.
  pipeclosed: |-
    ## The "%s" pipe to %s politely disconnects itself.
  plain: |-
    %s
  priv_from: |-
    *%s* %s
  priv_to: |-
    >%s< %s
  public: |-
    <%s> %s
  public_otherchannel: |-
    <%s/%s> %s
  public_otherserver: |-
    <%s/%s/%s> %s
  querystart: |-
    ## You start concentrating on %s, trying to form a telepathic link...
  querystop: |-
    ## Your telepathic link to %s evaporates.
  queryswitch: |-
    ## You resume concentrating on %s.
  quit: |-
    << %s (%s) says "%s" and vanishes!
  rehashing: |-
    #-#-# The Great Wizard %s casts the rehashing spell on %s.
  selfkick: |-
    *OUCH!* %s yell "%s" and kick %s out of %s!
  selfmode: |-
    ## You quaff a potion of %s%s.
  server: |-
    *** %s
  serverinv: |-
    ## You are currently in contact with: %s
  serverswitch: |-
    ## You step into the domain of the Great Wizard %s.
  servertime: |-
    [DING!] %s claims that it is now %s.
  signal: |-
    The SIG%s hits!  You die...
  snotice: |-
    -%s- %s
  source: |-
    Still under development, ask me privately
  sourcedone: |-
    ## You finish reading the scroll labeled "%s."
  sourcestart: |-
    ## You begin reading the scroll labeled "%s."
  status: |-
    [%d] NetHirc: %v%o%O%n(%p) %c(%m) {%s} %a
  switchaway: |-
    ## The Great Wizard %s raises his staff and says "%s, %s."
  time: |-
    %a %e %b %Y %T
  topic: |-
    (%s) %s
  topicchange: |-
    ## %s scrawls something in the dust:
  topicinfo: |-
    ## It is signed by %s and dated %s.
  topicpre: |-
    ## Something is written on the floor here:
  traceclass: |-
    ## Class %d entries linked: %s
  traceoper: |-
    ## Operator number %d is %s.
  tweakend: |-
    ## You finish reading the spellbook labeled "%s."
  tweakstart: |-
    ## You start reading the spellbook labeled "%s."
  umodeis: |-
    ## The ancient runes "%s" are tattooed in glowing letters on your forearm.
  unknownmode: |-
    ## You think to yourself, "Wait, there is no '%s' spell."
  userhost: |-
    --> %s is %s
  userinfo: >-
    There is something written in the dirt here: "Th?s spa?e no? unint?ntio?ally
    n?t ?eft unbla??."
  verboten0: |-
    **** Greetings, Citizen!  Effective immediately, all discussion involving:
  verboten1: |-
    ****    %s
  verboten2: |-
    **** is prohibited.  Have a nice day.
  verboten3: |-
    **** Remember, Big Brother is your friend!
  verboten4: |-
    **** Big Brother objects to the following words:
  verboten5: |-
    **** Big Brother currently does not object to any words.
  version: |-
    Return of the Son of NetHirc! version %s
  wallops: |-
    [WALLOPS] -%s- %s
  wasnonick: |-
    *??* The voice of %s whispers: "I do not recall anyone named %s."
  whoischannels: |-
    :::: %s is on %s.
  whoisidle: |-
    :::: %s is %s seconds idle, signon time %s.
  whoisnochannels: |-
    :::: %s stumbles about in darkness.
  whoisoperator: |-
    :::: %s is wielding %s.
  whoisserver: |-
    :::: %s is here via %s.
  whoisuser: |-
    :::: %s is %s@%s or "%s."
  whoreply: |-
    %-10.10s %-9.9s %-3.3s %s@%s (%s)
  whowasuser: |-
    :::: %s was %s@%s or "%s."
  yourebannedcreep0: |-
    ## %s blocks your way and says to you:
  yourebannedcreep1: |-
    %s
  youreoper: |-
    ## %s hands you %s and says "%s".


help: 
  admin:
    usage: "/admin [server]"
    description: >-
      Requests administrative information from the current server,
      or the named server.
  away:
    usage: "/away [message]"
    description: >-
      With a message, marks you as being away from the keyboard.
      With no arguments, marks you as being back from a period of awayness.
  bigbrother:
    usage: "/bigbrother {on|off|status}"
    description: >-
      Big Brother is your friend.  You should enable Big Brother.  
      Big Brother will watch your conversations and occasionally remind 
      you what words are bad for you.  Have a nice day.
#  cmdchar:
#    usage: "/cmdchar"
  count:
    usage: "/count {show|start|stop|status} [server|filename]"
    description: >-
      Keep statistics on how loquacious your fellow IRCers are.
      With start, you must provide a filename.  With show, you
      may provide a server name or the word "all".  Stats are
      persistent between sessions as long as you provide the 
      same file name and connect to the same server every time.
  ctcp:
    usage: "/ctcp {command} {nick} [text]"
    description: >-
      Send the CTCP request to the specified nick, optionally attaching the
      specified text.  Can send bogus CTCPs; don't expect responses.
#  debug: officially undocumented
  describe:
    usage: "/describe {nick} {text}"
    description: Like /me, but only sent to the person you name.
  disconnect:
    usage: "/disconnect [server]"
    description: >-
      Disconnect from your current server, or the named server.
#  echo:
  help:
    usage: "/help [topic]"
    description: >-
      Ask for help on a given command.  Help does its best to be short and
      sweet.  In the usage descriptions, things in {braces} are required, and
      those in [square brackets] are optional.
  info:
    usage: "/info [server]"
    description: >-
      Request information about IRC server software from your current server,
      or the named server.
  inventory:
    usage: "/inventory [server]"
    description: >-
      Remind yourself what channels you've joined on the current server, 
      or on the named server.
  invite:
    usage: "/invite {nick} {channel}"
    description: >-
      Invite that user to that channel.  You must be in the channel.
  ison:
    usage: "/ison {nick}"
    description: >-
      Ask the server if the given nick is in use.
  join:
    usage: "/join {channel} [key]"
    description: >-
      Join the named channel, using the given key if requested.
  kick:
    usage: "/kick {channel} {nick} [message]"
    description: >-
      Kick a user out of a channel, optionally with a message for them to
      ponder.  You must have channel ops in that channel.
  list:
    usage: "/list [pattern]"
    description: >-
      Request a list of channels from the server.  If you do not give a
      pattern, you must confirm that you really want the whole list.
  log:
    usage: "/log {restart|start|status|stop} [filename]"
    description: >-
      Start, stop, or restart logging.  Or simply ask if you are logging.
      Note that you must specify a filename with 'start' and 'restart'.
      If you don't provide a command, 'status' will be assumed.
#  lusers:
  me:
    usage: "/me {pose}"
    description: >-
      Make a silly pose or action in your current channel.
  mirror:
    usage: "/mirror {text}"
    description: >-
      Say the given text in your current channel, but reversed.
  mode:
    usage: "/mode {target} [modebits] [arguments]"
    description: >-
      Without modebits or arguments, ask what the mode is on a user
      or channel.  With modebits, changes modes for the given target.
      You need only worry about arguments if you are changing modes
      for a channel.  It is recommended that you read up on what the
      various modes do before changing modes.
  motd:
    usage: "/motd [server]"
    description: >-
      Ask for the Message Of The Day from your current server, or
      the named server.
  msg:
    usage: "/msg {nick} {text}"
    description: >-
      Send a private message to the named user.
#  my:
  names:
    usage: "/names [channel]"
    description: >-
      Request a list of names on a given channel, or on all channels.
      If you do not ask for a channel, you will have to confirm that you
      really want the whole list.
  next:
    usage: "/next"
    description: >-
      Switch to the next channel you joined or query you started
      on the current server.
  nick:
    usage: "/nick {newnick}"
    description: >-
      Ask to change your nick to something new.
  notice:
    usage: "/notice {nick|channel} {text}"
    description: >-
      Send a notice to the named nick or channel.  Use sparingly.
  part:
    usage: "/part [channel]"
    description: >-
      Leave the current channel, or the named channel.
  pigl:
    usage: "/pigl {text}"
    description: >-
      Speak in Pig Latin.
#  ping:
  pipe:
    usage: "/pipe {command} [args ...]"
    description: >-
      Take the output of the given command and say it out loud into
      your current channel.
  pipemsg:
    usage: "/pipemsg {nick} {command} [args ...]"
    description: >-
      Take the output of the given command and send it privately to 
      the given nick.
  query:
    usage: "/query [nick]"
    description: >-
      Start a private conversation with the given nick.  Without a nick,
      stops such a conversation, unless you have multiple queries going,
      in which case it complains.  You may have multiple queries,
      and /next will move through them just like it does with channels.
  quit:
    usage: "/quit [message]"
    description: >-
      Disconnect from all IRC servers, optionally leaving a witty message
      in your wake.
#  quote:
  say:
    usage: "/say {message}"
    description: >-
      Normally you do not need to type /say since that command is
      assumed.  But if your message begins with the command character,
      this can be used to send it without confusing NetHirc about
      what you meant.
  server:
    usage: "/server {hostname} [nick] [password]"
    description: >-
      Connect to the named server, optionally with the given nick
      and password.  If you do not specify a nick, NetHirc will use
      the nick from your current server.  If you are already
      connected, you will simply switch your focus to that server.
  shuffle:
    usage: "/shuffle {text}"
    description: >-
      Rearrange your words randomly as you say them out loud.
#  source:
  system:
    usage: "/system {command} [args ...]"
    description: >-
      Runs the command, with arguments.  You get to see the output,
      but nobody else does.
  time:
    usage: "/time [server]"
    description: >-
      Ask for the local time on your current server, or the named server.
  topic:
    usage: "/topic {channel} [topic]"
    description: >-
      Asks for the current topic on the named channel, or attempts to set
      a new one.
  userhost:
    usage: "/userhost {nick} [nick ...]"
    description: >-
      Ask for the user and host string for the named users.
  users:
    usage: "/users [server]"
    description: >-
      Ask your current server or the named server how many local and
      global users are connected.
  version:
    usage: "/version [server]"
    description: >-
      Ask your current server or the named server what version of software
      it is running.  May also reply back with a brief summary of capabiities.
#  wallops:
  who:
    usage: "/who {pattern}"
    description: >-
      Search for all users who match a pattern.  The pattern can be based
      on nick, user, or host.
  whois:
    usage: "/whois {nick}"
    description: >-
      Gets detailed information about a user who is currently connected.
  whowas:
    usage: "/whowas {nick}"
    description: >-
      Gets detailed information about a user who used to be connected.
      May return information for several previous connections by
      that nickname.
  yoda:
    usage: "/yoda {text}"
    description: >-
      Munges your text through a nondeterministic Yodapproximator before
      saying it out loud.  Like /shuffle, but observes punctuation boundaries.


ordinary_monsters:
  - giant ant
  - killer bee
  - soldier ant
  - fire ant
  - giant beetle
  - queen bee
  - acid blob
  - quivering blob
  - gelatinous cube
  - cockatrice
  - jackal
  - werejackal
  - little dog
  - dog
  - large dog
  - wolf
  - werewolf
  - warg
  - winter wolf
  - hell hound pup
  - hell hound
  - Cerberus
  - floating eye
  - freezing sphere
  - beholder
  - kitten
  - housecat
  - jaguar
  - large cat
  - tiger
  - gremlin
  - gargoyle
  - winged gargoyle
  - hobbit
  - dwarf
  - bugbear
  - dwarf lord
  - dwarf king
  - mind flayer
  - manes
  - homunculus
  - imp
  - lemure
  - quasit
  - tengu
  - blue jelly
  - spotted jelly
  - ochre jelly
  - kobold
  - large kobold
  - kobold lord
  - kobold shaman
  - leprechaun
  - small mimic
  - large mimic
  - giant mimic
  - wood nymph
  - water nymph
  - mountain nymph
  - goblin
  - hobgoblin
  - orc
  - hill orc
  - Mordor orc
  - Uruk-hai
  - orc shaman
  - orc-captain
  - rock piercer
  - iron piercer
  - rothe
  - mumak
  - leocrotta
  - wumpus
  - titanothere
  - baluchitherium
  - sewer rat
  - giant rat
  - rabid rat
  - wererat
  - rock mole
  - cave spider
  - giant spider
  - scorpion
  - lurker above
  - trapper
  - white unicorn
  - gray unicorn
  - black unicorn
  - fog cloud
  - dust vortex
  - ice vortex
  - energy vortex
  - steam vortex
  - fire vortex
  - baby long worm
  - baby purple worm
  - long worm
  - purple worm
  - grid bug
  - xan
  - yellow light
  - black light
  - zruty
  - couatl
  - Aleax
  - Angel
  - ki-rin
  - Archon
  - bat
  - giant bat
  - vampire bat
  - plains centaur
  - forest centaur
  - mountain centaur
  - baby gray dragon
  - baby red dragon
  - baby white dragon
  - baby orange dragon
  - baby black dragon
  - baby blue dragon
  - baby green dragon
  - baby yellow dragon
  - gray dragon
  - red dragon
  - white dragon
  - orange dragon
  - black dragon
  - blue dragon
  - green dragon
  - yellow dragon
  - air elemental
  - fire elemental
  - earth elemental
  - water elemental
  - brown mold
  - yellow mold
  - green mold
  - red mold
  - shrieker
  - violet fungus
  - gnome
  - gnome lord
  - gnomish wizard
  - gnome king
  - giant
  - stone giant
  - hill giant
  - fire giant
  - frost giant
  - ettin
  - titan
  - minotaur
  - stalker
  - jabberwock
  - Keystone Kop
  - Kop Sergeant
  - Kop Lieutenant
  - Kop Kaptain
  - lich
  - demilich
  - master lich
  - kobold mummy
  - gnome mummy
  - orc mummy
  - elf mummy
  - human mummy
  - ettin mummy
  - giant mummy
  - red naga hatchling
  - black naga hatchling
  - golden naga hatchling
  - guardian naga hatchling
  - red naga
  - black naga
  - golden naga
  - guardian naga
  - ogre
  - ogre lord
  - ogre king
  - gray ooze
  - brown pudding
  - black pudding
  - quantum mechanic
  - rust monster
  - garter snake
  - snake
  - water moccasin
  - pit viper
  - python
  - cobra
  - troll
  - ice troll
  - rock troll
  - water troll
  - Olog-hai
  - umber hulk
  - vampire
  - vampire lord
  - Vlad the Impaler
  - barrow wight
  - wraith
  - Nazgul
  - xorn
  - ape
  - owlbear
  - yeti
  - carnivorous ape
  - sasquatch
  - kobold zombie
  - gnome zombie
  - orc zombie
  - elf zombie
  - human zombie
  - ettin zombie
  - giant zombie
  - skeleton
  - straw golem
  - rope golem
  - leather golem
  - wood golem
  - flesh golem
  - clay golem
  - stone golem
  - iron golem
  - human
  - wererat
  - werejackal
  - werewolf
  - Woodland-elf
  - Green-elf
  - Grey-elf
  - elf-lord
  - Elvenking
  - nurse
  - shopkeeper
  - guard
  - Oracle
  - aligned priest
  - high priest
  - soldier
  - sergeant
  - lieutenant
  - captain
  - watchman
  - watch captain
  - Wizard of Yendor
  - ghost
  - shade
  - water demon
  - horned devil
  - succubus
  - incubus
  - erinys
  - barbed devil
  - marilith
  - vrock
  - hezrou
  - bone devil
  - ice devil
  - nalfeshnee
  - pit fiend
  - balrog
  - mail daemon
  - djinni
  - giant eel
  - electric eel
  - kraken
  - newt
  - gecko
  - iguana
  - baby crocodile
  - lizard
  - chameleon
  - crocodile
  - salamander
  - long worm tail
  - archeologist
  - barbarian
  - caveman
  - cavewoman
  - elf
  - healer
  - knight
  - priest
  - priestess
  - rogue
  - samurai
  - tourist
  - valkyrie
  - wizard
  - Elwing
  - Arch Priest
  - Master of Thieves
  - Twoflower
  - Norn
  - Wizard of Balance
  - Minion of Huhetotl
  - Chromatic Dragon
  - Goblin King
  - Cyclops
  - Ixoth
  - Nalzok
  - Master Assassin
  - Dark One
  - student
  - chieftain
  - neanderthal
  - High-elf
  - attendant
  - page
  - acolyte
  - thug
  - ninja
  - roshi
  - guide
  - warrior
  - apprentice
  - jumbo shrimp
  - giant pigmy
  - gnu
  - killer penguin
  - giant cockroach
  - giant slug
  - maggot
  - pterodactyl
  - tyrannosaurus rex
  - basilisk
  - beholder
  - nightmare
  - efreeti
  - marid
  - rot grub
  - bookworm
  - doppelganger
  - shadow
  - hologram
  - jester
  - attorney
  - sleazoid
  - killer tomato
  - amazon
  - robot
  - battlemech
  - rhinovirus
  - harpy
  - lion-dog
  - rat-ant
  - grue
  - Christmas-tree monster
  - luck sucker
  - paskald
  - brogmoid
  - dornbeast
  - Ancient Multi-Hued Dragon
  - emu
  - kestrel
  - xeroc
  - venus flytrap
  - creeping coins
  - hydra
  - siren
  - killer bunny
  - rodent of unusual size
  - Luggage
  - Ent
  - tangle tree
  - nickelpede
  - wiggle
  - white rabbit
  - snark
  - pushmi-pullyu
  - smurf
  - tribble
  - Klingon
  - Borg
  - Ewok
  - Totoro
  - ohmu
  - youma
  - earthquake beast
  - Invid
  - Terminator
  - boomer
  - Dalek
  - microscopic space fleet
  - Ravenous Bugblatter Beast of Traal
  - teenage mutant ninja turtle
  - samurai rabbit
  - aardvark
  - witch doctor
  - one-eyed one-horned flying purple people eater
  - fiendish vampiric half-dragon paragon dire were-beholder
  - were-shriner
  - Justice Bringers
  - Fascist Four


scrolls:
  - KIRJE
  - READ ME
  - GARVEN DEH
  - TEMOV
  - FOOBIE BLETCH
  - VELOX NEB
  - HACKEM MUCHE
  - VE FORBRYDERNE
  - ANDOVA BEGARIN
  - DUAM XNAHT
  - ELAM EBOW
  - KERNOD WEL
  - YUM YUM
  - THARR
  - VENZAR BORGAVVE
  - VERR YED HORRE
  - ELBIB YLOH
  - PRIRUTSENIE
  - LEP GEX VEN ZEA
  - DAIYEN FOOELS
  - PRATYAVAYAH
  - XIXAXA XOXAXA XUXAXA
  - JUYED AWK YACC
  - ZELGO MER


self_mode_comments:
  '+c': |-
    ^^^^ You are involuntarily tuned into the security camera.
  '+d': |-
    ^^^^ The inner workings of the server become transparent to you.
  '+f': |-
    ^^^^ Your I-line sensors are magically repaired!
  '+i': |-
    ^^^^ You can barely see yourself.
  '+k': |-
    ^^^^ The server's slavering fangs become apparent to you.
  '+n': |-
    ^^^^ You feel like you can detect transformations...
  '+o': |-
    ^^^^ You glow silver for a moment.
  '+r': |-
    ^^^^ You are given a radio link to the Rejection Department.
  '+s': |-
    ^^^^ Your hear faint mumblings in the distance.
  '+w': |-
    ^^^^ You see words forming in the clouds in the sky...
  '+y': |-
    ^^^^ You hear loud mumblings in a nearby room.
  '+z': |-
    ^^^^ You feel mentally linked to other artifact-wielders.
  '-c': |-
    ^^^^ Your no longer see images from the security camera.
  '-d': |-
    ^^^^ The inner workings of the server become opaque to you.
  '-f': |-
    ^^^^ Your I-line sensors are hopelessly scrambled.
  '-i': |-
    ^^^^ You appear solid again.
  '-k': |-
    ^^^^ The server's slavering fangs are no longer visible.
  '-n': |-
    ^^^^ You no longer feel like you can detect transformations.
  '-o': |-
    ^^^^ You glow black for a moment.
  '-r': |-
    ^^^^ Your radio link to the Rejection Department is taken away!
  '-s': |-
    ^^^^ You no longer hear faint mumblings in the distance.
  '-w': |-
    ^^^^ The cloud shapes no longer make sense to you.
  '-y': |-
    ^^^^ The loud mumblings seem to have ceased suddenly.
  '-z': |-
    ^^^^ You no longer feel mentally linked to other artifact-wielders.


unique_monsters:
  - Barney the dinosaur
  - Medusa
  - Croesus
  - Charon
  - Juiblex
  - Yeenoghu
  - Orcus
  - Geryon
  - Dispater
  - Baalzebub
  - Asmodeus
  - Demogorgon
  - Death
  - Pestilence
  - Famine
  - Lord Carnarvon
  - Pelias
  - Shaman Karnov
  - Earendil
  - Hippocrates
  - King Arthur
  - Lord Sato
  - Ashikaga Takauji
  - Lord Surtur
  - Thoth Amon
  - Evil Iggy
  - Smokey the Bear
  - Godzilla
  - King Kong
  - Audrey II
  - Mighty Joe Young
  - Mighty Joe Jung
  - Phil, the Prince of Insufficent Light
  - Commander Skullpuss


weapons:
  - a long sword named Excalibur
  - a runesword named Stormbringer
  - a war hammer named Mjollnir
  - a battle axe named Cleaver
  - an Orcish dagger named Grimtooth
  - an Elven broadsword named Orcrist
  - an Elven dagger named Sting
  - an athame named Magicbane
  - a long sword named Frost Brand
  - a long sword named Fire Brand
  - a broadsword named Dragonbane
  - a long sword named Demonbane
  - a silver saber named Werebane
  - a silver saber named Grayswandir
  - a long sword named Giantslayer
  - a war hammer named Ogresmasher
  - a morning star named Trollsbane
  - a long sword named Vorpal Blade
  - a katana named Snickersnee
  - a long sword named Sunsword
  - the Sceptre of Might
  - the Staff of Aesculapius
  - the Longbow of Diana
  - the Tsurugi of Muramasa


EOYAML
}

1;
__END__


syntax highlighted by Code2HTML, v. 0.9.1