<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Discworld MUD</title>
    <link href="/external/includes/style.css" rel="stylesheet" type="text/css">
    <link rel="shortcut icon" href="/favicon.ico">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <table border="0" width="95%">
        <tr>
          <td style="width:125px">
            <a href="/lpc/index.html"><img src="/external/images/logo_turtle.gif" style="border-style:none" alt="Home" width="110" height="106"></a>
          </td>
          <td valign="top">
            <br>
            <br>
            <script type="text/javascript" src="/external/includes/discworld.js"></script>
            <div id="textnav" style="visibility:hidden;position:absolute;">
              <a href="/lpc/about/">About</a>  | <a href="/lpc/playing/">Playing</a>  | <a href="/lpc/~Playtesters/">Playtesting</a>  | <a href="/lpc/creating/">Creating</a>  | <a href="/lpc/links/">Links</a> 
              <!--%textsubmenu%-->
            </div>
          </td>
        </tr>
        <tr>
          <td valign="top" style="width:125px">
            <!--%login%-->
          <p style="text-align:center" class="menu"><a href="javascript:popup('/external/java/newtelnet/java_client.shtml','JavaClient', 'width=800,height=600,resizable=yes,scrollbar=yes,toolbar=no,menubar=no,location=no,directories=no,status=no')">Play Now</a></p>

          </td>
          <td valign="top">


[<a href="index.shtml">Package Index</a></code> | <a href="index_std.shtml">Mudlib Index</a></code> | <a href="index_eff.shtml">Effect Index</a></code>]<br><h2>File /std/room/inherit/newspaper_office.c</h2>
An office from which a player run newspaper can be run.<p>Written by Obilix<h3>Change history</h3>
<ul><li>Pinkfish Fri Apr 27 12:08:29 PDT 2001<br/>Turned into an inherit and made to use a newspaper handler for
distributing the actual text.
</ul>
<h2>Includes</h2>
This class includes the following files <a href="include.board.h.shtml">/include/board.h</a>, <a href="include.room.newspaper.h.shtml">/include/room/newspaper.h</a>, <a href="include.move_failures.h.shtml">/include/move_failures.h</a>, /include/shops/bank.h, <a href="include.housing.h.shtml">/include/housing.h</a>, <a href="include.nroff.h.shtml">/include/nroff.h</a>, <a href="include.player_handler.h.shtml">/include/player_handler.h</a>, <a href="include.money.h.shtml">/include/money.h</a> and <a href="include.mail.h.shtml">/include/mail.h</a><h2>Class Index</h2>
<ul><li><a href="#class_category_data">category_data</a>
<li><a href="#class_our_article">our_article</a>
<li><a href="#class_payee_data">payee_data</a>
<li><a href="#class_reporter">reporter</a>
</ul><h2>Method index</h2>
<dl><ul>
<li><a href="#add_editor">add_editor</a>(string)<br/>
This method adds a new editor to the paper.
<li><a href="#add_reporter">add_reporter</a>(string)<br/>
This method adds a new reporter to the paper.
<li><a href="#add_setter">add_setter</a>(string)<br/>
This method adds a new setter to the paper.
<li><a href="#add_sponsor">add_sponsor</a>(string)<br/>
This method adds a new sponsor to the paper.
<li><a href="#board_access_check">board_access_check</a>(int, string, object, string)<br/>
This method is here to control access to a board if one is requested.
<li><a href="#delete_article">delete_article</a>(class our_article)<br/>
This method deletes any bitsof the article off the disk.
<li><a href="#do_advert_list">do_advert_list</a>()<li><a href="#do_category_add">do_category_add</a>(string)<li><a href="#do_category_cost">do_category_cost</a>(string, string)<li><a href="#do_category_cost_per_ten_chars">do_category_cost_per_ten_chars</a>(string, string)<li><a href="#do_category_list">do_category_list</a>()<li><a href="#do_category_open">do_category_open</a>(string, string)<li><a href="#do_category_remove">do_category_remove</a>(string)<li><a href="#do_everyone_status">do_everyone_status</a>()<br/>
This is the status that everyone can see, not just the employees.
<li><a href="#do_lock">do_lock</a>(int)<li><a href="#do_submit_add">do_submit_add</a>(string)<li><a href="#is_editor">is_editor</a>(string)<br/>
This method checks to see if the specified person is an editor for
the paper or not.
<li><a href="#is_locked">is_locked</a>(class article)<br/>
This method checks to see if the specified article is locked
or not.
<li><a href="#is_owner">is_owner</a>(string)<br/>
This method checks to see if the specified person is an owner of
the paper or not.
<li><a href="#is_postponed">is_postponed</a>(class article)<br/>
This method checks to see if the specified article is postponed
or not.
<li><a href="#is_reporter">is_reporter</a>(string)<br/>
This method checks to see if the specified person is an reporter for
the paper or not.
<li><a href="#is_setter">is_setter</a>(string)<br/>
This method checks to see if the specified person is an setter for
the paper or not.
<li><a href="#is_sponsor">is_sponsor</a>(string)<br/>
This method checks to see if the specified person is a sponsor for
the paper or not.
<li><a href="#load_article_text">load_article_text</a>(class our_article)<br/>
This method loads the text of an article.
<li><a href="#load_article_text_by_file">load_article_text_by_file</a>(string)<br/>
This method is used by the web, it loads the article by the file name.
<li><a href="#load_me">load_me</a>()<br/>
Loads the data in the file.
<li><a href="#move_article">move_article</a>(int, string)<br/>
This method moves an article up or down in the current article list.
<li><a href="#ownership_change">ownership_change</a>(string, string)<br/>
This method is called by the housing system when the ownership changes.
<li><a href="#query_ads">query_ads</a>()<li><a href="#query_all_articles">query_all_articles</a>()<br/>
This method returns the 'article' class bits of the articles.
<li><a href="#query_all_editors">query_all_editors</a>()<br/>
This method returns all the current editors of the magazine.
<li><a href="#query_all_payees">query_all_payees</a>()<br/>
This method returns all the current payees of the magazine.
<li><a href="#query_all_reporters">query_all_reporters</a>()<br/>
This method returns all the current reporters of the magazine.
<li><a href="#query_all_setters">query_all_setters</a>()<br/>
This method returns all the current setters of the magazine.
<li><a href="#query_all_sponsors">query_all_sponsors</a>()<br/>
This method returns all the current sponsors of the magazine.
<li><a href="#query_article">query_article</a>(string)<br/>
This method finds an article based on a string.
<li><a href="#query_article_index">query_article_index</a>(string)<br/>
This method returns the index of the article in the article array.
<li><a href="#query_article_log_file_name">query_article_log_file_name</a>()<br/>
The file name of the log file for article events.
<li><a href="#query_articles">query_articles</a>()<li><a href="#query_bank_branch">query_bank_branch</a>()<br/>
This method returns the bank branch to use for depositing money for
editions.
<li><a href="#query_category">query_category</a>(string)<br/>
This method tries to find a category based on some fuzzy matching.
<li><a href="#query_current_edition">query_current_edition</a>()<br/>
This method returns the current edition of the newspaper.
<li><a href="#query_log_file_name">query_log_file_name</a>()<br/>
The file name of the log file for events.
<li><a href="#query_next_article_file_name">query_next_article_file_name</a>()<br/>
This returns the next number to use for an article.
<li><a href="#query_owner">query_owner</a>()<br/>
This method returns the current owner of the paper.
<li><a href="#query_paper_name">query_paper_name</a>()<br/>
This method returns the name of the paper.
<li><a href="#query_proxy">query_proxy</a>()<br/>
This method returns the proxy for this room.
<li><a href="#query_the_paper_name">query_the_paper_name</a>()<br/>
This method returns the name of the paper with a 'the' in front.
<li><a href="#query_total_profit">query_total_profit</a>(int)<br/>
This method figures out the total profit from the paper.
<li><a href="#remove_editor">remove_editor</a>(string)<br/>
This method removes a editor from the paper.
<li><a href="#remove_reporter">remove_reporter</a>(string)<br/>
This method removes a reporter from the paper.
<li><a href="#remove_setter">remove_setter</a>(string)<br/>
This method removes a setter from the paper.
<li><a href="#remove_sponsor">remove_sponsor</a>(string)<li><a href="#save_article_text">save_article_text</a>(class our_article, string)<br/>
This method saves an article.
<li><a href="#save_article_text_by_file">save_article_text_by_file</a>(string, string)<br/>
This method is used by the web, it loads the article by the file name.
<li><a href="#save_me">save_me</a>()<br/>
Saves the data in the file.
<li><a href="#set_article_title_by_file">set_article_title_by_file</a>(string, string)<br/>
This method is used by the web, it loads the article by the file name.
<li><a href="#set_bank_branch">set_bank_branch</a>(string)<br/>
This method sets the bank branch to use for depositing money when
editions are made.
<li><a href="#set_owner">set_owner</a>(string)<br/>
This method sets the current owner of the paper.
<li><a href="#set_paper_name">set_paper_name</a>(string)<br/>
This method sets the name of the paper.
<li><a href="#set_proxy">set_proxy</a>(string)<br/>
This method sets up a proxy for the room.
<li><a href="#set_save_directory">set_save_directory</a>(string)<br/>
This method sets the directory we are to use for all the
temporary files and data.
<li><a href="#update_commands">update_commands</a>(string)<br/>
This method moves the player in and out of the room to fix up their
commands.
</ul><h2>Public Functions</h2>
These are functions that everyone can access.<p>
.<ul><a name="add_editor">
add_editor</a><pre>
void add_editor(string word)
</pre></br>
This method adds a new editor to the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the new editor to add

</dl>

<ul><a name="add_reporter">
add_reporter</a><pre>
void add_reporter(string word)
</pre></br>
This method adds a new reporter to the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the new reporter to add

</dl>

<ul><a name="add_setter">
add_setter</a><pre>
void add_setter(string word)
</pre></br>
This method adds a new setter to the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the new setter to add

</dl>

<ul><a name="add_sponsor">
add_sponsor</a><pre>
void add_sponsor(string word)
</pre></br>
This method adds a new sponsor to the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the new sponsor to add

</dl>

<ul><a name="board_access_check">
board_access_check</a><pre>
int board_access_check(int type,
                       string board,
                       object previous,
                       string name)
</pre></br>
This method is here to control access to a board if one is requested.
It allows only reporters to be able to see or write to it and it
allows editors to be able to eat messages from it.


<ul><a name="delete_article">
delete_article</a><pre>
void delete_article(class our_article article)
</pre></br>
This method deletes any bitsof the article off the disk.
<br/><ul>
<li><b>Parameters:</b>
<br/>article - the article to delete

</dl>

<ul><a name="do_advert_list">
do_advert_list</a><pre>
int do_advert_list()
</pre>
<ul><a name="do_category_add">
do_category_add</a><pre>
int do_category_add(string category)
</pre>
<ul><a name="do_category_cost">
do_category_cost</a><pre>
int do_category_cost(string category,
                     string cost)
</pre>
<ul><a name="do_category_cost_per_ten_chars">
do_category_cost_per_ten_chars</a><pre>
int do_category_cost_per_ten_chars(string category,
                                   string cost)
</pre>
<ul><a name="do_category_list">
do_category_list</a><pre>
int do_category_list()
</pre>
<ul><a name="do_category_open">
do_category_open</a><pre>
int do_category_open(string category,
                     string open)
</pre>
<ul><a name="do_category_remove">
do_category_remove</a><pre>
int do_category_remove(string category)
</pre>
<ul><a name="do_everyone_status">
do_everyone_status</a><pre>
int do_everyone_status()
</pre></br>
This is the status that everyone can see, not just the employees.


<ul><a name="do_lock">
do_lock</a><pre>
int do_lock(int locked)
</pre>
<ul><a name="do_submit_add">
do_submit_add</a><pre>
int do_submit_add(string category)
</pre>
<ul><a name="is_editor">
is_editor</a><pre>
int is_editor(string word)
</pre></br>
This method checks to see if the specified person is an editor for
the paper or not.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the person to check
<li><b>Returns:</b>
<br/>1 if they are a editor

</dl>

<ul><a name="is_locked">
is_locked</a><pre>
int is_locked(class article art)
</pre></br>
This method checks to see if the specified article is locked
or not.
<br/><ul>
<li><b>Parameters:</b>
<br/>art - the article to check
<li><b>Returns:</b>
<br/>1 if it is locked, 0 if not

</dl>

<ul><a name="is_owner">
is_owner</a><pre>
int is_owner(string word)
</pre></br>
This method checks to see if the specified person is an owner of
the paper or not.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the person to check
<li><b>Returns:</b>
<br/>1 if they are a owner

</dl>

<ul><a name="is_postponed">
is_postponed</a><pre>
int is_postponed(class article art)
</pre></br>
This method checks to see if the specified article is postponed
or not.
<br/><ul>
<li><b>Parameters:</b>
<br/>art - the article to check
<li><b>Returns:</b>
<br/>1 if it is postponed, 0 if not

</dl>

<ul><a name="is_reporter">
is_reporter</a><pre>
int is_reporter(string word)
</pre></br>
This method checks to see if the specified person is an reporter for
the paper or not.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the person to check
<li><b>Returns:</b>
<br/>1 if they are a reporter

</dl>

<ul><a name="is_setter">
is_setter</a><pre>
int is_setter(string word)
</pre></br>
This method checks to see if the specified person is an setter for
the paper or not.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the person to check
<li><b>Returns:</b>
<br/>1 if they are a setter

</dl>

<ul><a name="is_sponsor">
is_sponsor</a><pre>
int is_sponsor(string word)
</pre></br>
This method checks to see if the specified person is a sponsor for
the paper or not.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the person to check
<li><b>Returns:</b>
<br/>1 if they are a sponsor

</dl>

<ul><a name="load_article_text">
load_article_text</a><pre>
string load_article_text(class our_article art)
</pre></br>
This method loads the text of an article.


<ul><a name="load_article_text_by_file">
load_article_text_by_file</a><pre>
string load_article_text_by_file(string fname)
</pre></br>
This method is used by the web, it loads the article by the file name.


<ul><a name="move_article">
move_article</a><pre>
int move_article(int index,
                 string up_down)
</pre></br>
This method moves an article up or down in the current article list.
<br/><ul>
<li><b>Parameters:</b>
<br/>index - the index of the article to move
<br/>up_down - move it up or down

</dl>

<ul><a name="ownership_change">
ownership_change</a><pre>
void ownership_change(string old_owner,
                      string new_owner)
</pre></br>
This method is called by the housing system when the ownership changes.
<br/><ul>
<li><b>Parameters:</b>
<br/>old_owner - the old owner
<br/>new_owner - the newowner

</dl>

<ul><a name="query_ads">
query_ads</a><pre>
class advert * query_ads()
</pre>
<ul><a name="query_all_articles">
query_all_articles</a><pre>
class article * query_all_articles()
</pre></br>
This method returns the 'article' class bits of the articles.
<br/><ul>
<li><b>Returns:</b>
<br/>all the articles.\

</dl>

<ul><a name="query_all_editors">
query_all_editors</a><pre>
string * query_all_editors()
</pre></br>
This method returns all the current editors of the magazine.
<br/><ul>
<li><b>Returns:</b>
<br/>all the current editors

</dl>

<ul><a name="query_all_payees">
query_all_payees</a><pre>
mapping query_all_payees()
</pre></br>
This method returns all the current payees of the magazine.
<br/><ul>
<li><b>Returns:</b>
<br/>who is to be payed and how much

</dl>

<ul><a name="query_all_reporters">
query_all_reporters</a><pre>
string * query_all_reporters()
</pre></br>
This method returns all the current reporters of the magazine.
<br/><ul>
<li><b>Returns:</b>
<br/>all the current reporters

</dl>

<ul><a name="query_all_setters">
query_all_setters</a><pre>
string * query_all_setters()
</pre></br>
This method returns all the current setters of the magazine.
<br/><ul>
<li><b>Returns:</b>
<br/>all the current setters

</dl>

<ul><a name="query_all_sponsors">
query_all_sponsors</a><pre>
string * query_all_sponsors()
</pre></br>
This method returns all the current sponsors of the magazine.
<br/><ul>
<li><b>Returns:</b>
<br/>all the current sponsors

</dl>

<ul><a name="query_article">
query_article</a><pre>
class our_article query_article(string match)
</pre></br>
This method finds an article based on a string.
<br/><ul>
<li><b>Returns:</b>
<br/>the article

</dl>

<ul><a name="query_article_index">
query_article_index</a><pre>
int query_article_index(string match)
</pre></br>
This method returns the index of the article in the article array.
<br/><ul>
<li><b>Returns:</b>
<br/>the article index

</dl>

<ul><a name="query_article_log_file_name">
query_article_log_file_name</a><pre>
string query_article_log_file_name()
</pre></br>
The file name of the log file for article events.
<br/><ul>
<li><b>Returns:</b>
<br/>the article log file name

</dl>

<ul><a name="query_articles">
query_articles</a><pre>
class our_article * query_articles()
</pre>
<ul><a name="query_bank_branch">
query_bank_branch</a><pre>
string query_bank_branch()
</pre></br>
This method returns the bank branch to use for depositing money for
editions.
<br/><ul>
<li><b>Returns:</b>
<br/>the bank branch to use

</dl>

<ul><a name="query_category">
query_category</a><pre>
string query_category(string category)
</pre></br>
This method tries to find a category based on some fuzzy matching.
<br/><ul>
<li><b>Parameters:</b>
<br/>category - the category to lookup
<li><b>Returns:</b>
<br/>the fixed up category name

</dl>

<ul><a name="query_current_edition">
query_current_edition</a><pre>
int query_current_edition()
</pre></br>
This method returns the current edition of the newspaper./
<br/><ul>
<li><b>Returns:</b>
<br/>the current edition of the newspaper

</dl>

<ul><a name="query_log_file_name">
query_log_file_name</a><pre>
string query_log_file_name()
</pre></br>
The file name of the log file for events.
<br/><ul>
<li><b>Returns:</b>
<br/>the log file name

</dl>

<ul><a name="query_next_article_file_name">
query_next_article_file_name</a><pre>
string query_next_article_file_name()
</pre></br>
This returns the next number to use for an article.
<br/><ul>
<li><b>Returns:</b>
<br/>the next article number

</dl>

<ul><a name="query_owner">
query_owner</a><pre>
string query_owner()
</pre></br>
This method returns the current owner of the paper.
<br/><ul>
<li><b>Returns:</b>
<br/>the owner of the paper

</dl>

<ul><a name="query_paper_name">
query_paper_name</a><pre>
string query_paper_name()
</pre></br>
This method returns the name of the paper.
<br/><ul>
<li><b>Returns:</b>
<br/>the name of the paper

</dl>

<ul><a name="query_proxy">
query_proxy</a><pre>
string query_proxy()
</pre></br>
This method returns the proxy for this room.
<br/><ul>
<li><b>Returns:</b>
<br/>the proxy for the room

</dl>

<ul><a name="query_the_paper_name">
query_the_paper_name</a><pre>
string query_the_paper_name()
</pre></br>
This method returns the name of the paper with a 'the' in front.
<br/><ul>
<li><b>Returns:</b>
<br/>the name of the paper

</dl>

<ul><a name="query_total_profit">
query_total_profit</a><pre>
int query_total_profit(int num_articles)
</pre></br>
This method figures out the total profit from the paper.


<ul><a name="remove_editor">
remove_editor</a><pre>
void remove_editor(string word)
</pre></br>
This method removes a editor from the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the editor to remove

</dl>

<ul><a name="remove_reporter">
remove_reporter</a><pre>
void remove_reporter(string word)
</pre></br>
This method removes a reporter from the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the reporter to remove

</dl>

<ul><a name="remove_setter">
remove_setter</a><pre>
void remove_setter(string word)
</pre></br>
This method removes a setter from the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the setter to remove

</dl>

<ul><a name="remove_sponsor">
remove_sponsor</a><pre>
void remove_sponsor(string word)
</pre>
<ul><a name="save_article_text">
save_article_text</a><pre>
void save_article_text(class our_article art,
                       string text)
</pre></br>
This method saves an article.


<ul><a name="save_article_text_by_file">
save_article_text_by_file</a><pre>
void save_article_text_by_file(string fname,
                               string text)
</pre></br>
This method is used by the web, it loads the article by the file name.


<ul><a name="set_article_title_by_file">
set_article_title_by_file</a><pre>
void set_article_title_by_file(string fname,
                               string title)
</pre></br>
This method is used by the web, it loads the article by the file name.


<ul><a name="set_bank_branch">
set_bank_branch</a><pre>
void set_bank_branch(string bank)
</pre></br>
This method sets the bank branch to use for depositing money when
editions are made.
<br/><ul>
<li><b>Parameters:</b>
<br/>bank - the bank branch to use

</dl>

<ul><a name="set_owner">
set_owner</a><pre>
void set_owner(string person)
</pre></br>
This method sets the current owner of the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>person - the new owner

</dl>

<ul><a name="set_paper_name">
set_paper_name</a><pre>
string set_paper_name(string name)
</pre></br>
This method sets the name of the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>name - the new name of the paper

</dl>

<ul><a name="set_proxy">
set_proxy</a><pre>
void set_proxy(string proxy)
</pre></br>
This method sets up a proxy for the room.  A proxy means all the commands
are mirrored to the real location, so save files do not get messed up.
You set this if you have any extra rooms you want to be able to control
the paper.
<br/><ul>
<li><b>Parameters:</b>
<br/>proxy - the proxy to set

</dl>

<ul><a name="set_save_directory">
set_save_directory</a><pre>
void set_save_directory(string dir)
</pre></br>
This method sets the directory we are to use for all the
temporary files and data.  The actual pubished data will be stored
by the newspaper handler.
<br/><ul>
<li><b>Parameters:</b>
<br/>dir - the directory to put stuff in

</dl>

<ul><a name="update_commands">
update_commands</a><pre>
void update_commands(string word)
</pre></br>
This method moves the player in and out of the room to fix up their
commands.
<br/><ul>
<li><b>Parameters:</b>
<br/>word - the player to move

</dl>


<h2>Protected Functions</h2>
These are functions that only objects inheriting the class can access.<p>
<ul><a name="load_me">
load_me</a><pre>
void load_me()
</pre></br>
Loads the data in the file.


<ul><a name="save_me">
save_me</a><pre>
void save_me()
</pre></br>
Saves the data in the file.



<h2>Classes</h2>
These are nice data types for dealing with...  Data!<p>
<ul>
<li><a name="class_category_data">
category_data</a><pre>
class category_data {
                      int cost_per_add;
                      int cost_per_ten_chars;
                      int open;
}

</pre>
<li><a name="class_our_article">
our_article</a><pre>
class our_article {
                    class article art;
                    int flags;
                    int length;
                    int suggested_payment;
}

</pre>
<li><a name="class_payee_data">
payee_data</a><pre>
class payee_data {
                   int paid;
                   string message;
}

</pre>
<li><a name="class_reporter">
reporter</a><pre>
class reporter {
                 int date_added;
                 int num_articles;
                 int total_payed;
}

</pre>
</ul>
</td>
</tr>
<tr>
<td valign="bottom" align="center">
<table>
<tr>
<td align="center" class="imgcell">
<a href="http://validator.w3.org/check?uri=referer"><img src="/external/images/valid-html401" alt="Valid HTML 4.01 Transitional" height=31 width=88 border=0></a>
</td>
</tr>
<tr>
<td align="center" class="imgcell">
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img height="31" width="88" style="border-style:none" src="/external/images/vcss" alt="Valid CSS!"></a>
</td>
</tr>
<tr>
<td align="center">
<a href="/lpc/html_css.html" style="font-size:smaller">Read More</a>
</td>
</tr>
</table>
</td>
<td align="left" valign="top">
<h3></h3>
<p class="copyright">Brought to you by CMOT Dibbler's <a href="/lpc/sausages.html">Sensational Sausages</a>; buy one while they're hot.<br>
Copyright &copy; Discworld MUD, <a href="javascript:popup('/external/java/newtelnet/java_client.shtml','JavaClient', 'width=800,height=600,resizable=yes,toolbar=no,menubar=no,location=no,directories=no,status=no')">Play Now</a>, <a href="http://www.topmudsites.com/cgi-bin/topmuds/rankem.cgi?action=in&amp;id=pinkfish" rel="external">Vote</a>.</p>
</td>
</tr>
</table>
</body>
</html>

