ldmud-3.2.9/doc/
ldmud-3.2.9/doc/efun/
ldmud-3.2.9/mud/
ldmud-3.2.9/mud/heaven7/
ldmud-3.2.9/mud/heaven7/lib/
ldmud-3.2.9/mud/lp-245/
ldmud-3.2.9/mud/lp-245/banish/
ldmud-3.2.9/mud/lp-245/doc/
ldmud-3.2.9/mud/lp-245/doc/examples/
ldmud-3.2.9/mud/lp-245/doc/sefun/
ldmud-3.2.9/mud/lp-245/log/
ldmud-3.2.9/mud/lp-245/obj/Go/
ldmud-3.2.9/mud/lp-245/players/lars/
ldmud-3.2.9/mud/lp-245/room/death/
ldmud-3.2.9/mud/lp-245/room/maze1/
ldmud-3.2.9/mud/lp-245/room/sub/
ldmud-3.2.9/mud/lp-245/secure/
ldmud-3.2.9/mud/morgengrauen/
ldmud-3.2.9/mud/morgengrauen/lib/
ldmud-3.2.9/mud/sticklib/
ldmud-3.2.9/mud/sticklib/src/
ldmud-3.2.9/mudlib/uni-crasher/
ldmud-3.2.9/pkg/
ldmud-3.2.9/pkg/debugger/
ldmud-3.2.9/pkg/diff/
ldmud-3.2.9/pkg/misc/
ldmud-3.2.9/src/autoconf/
ldmud-3.2.9/src/bugs/
ldmud-3.2.9/src/bugs/MudCompress/
ldmud-3.2.9/src/bugs/b-020916-files/
ldmud-3.2.9/src/bugs/doomdark/
ldmud-3.2.9/src/bugs/ferrycode/ferry/
ldmud-3.2.9/src/bugs/ferrycode/obj/
ldmud-3.2.9/src/bugs/psql/
ldmud-3.2.9/src/done/
ldmud-3.2.9/src/done/order_alist/
ldmud-3.2.9/src/done/order_alist/obj/
ldmud-3.2.9/src/done/order_alist/room/
ldmud-3.2.9/src/gcc/
ldmud-3.2.9/src/gcc/2.7.0/
ldmud-3.2.9/src/gcc/2.7.1/
ldmud-3.2.9/src/hosts/
ldmud-3.2.9/src/hosts/GnuWin32/
ldmud-3.2.9/src/hosts/amiga/NetIncl/
ldmud-3.2.9/src/hosts/amiga/NetIncl/netinet/
ldmud-3.2.9/src/hosts/amiga/NetIncl/sys/
ldmud-3.2.9/src/hosts/i386/
ldmud-3.2.9/src/hosts/msdos/byacc/
ldmud-3.2.9/src/hosts/msdos/doc/
ldmud-3.2.9/src/hosts/os2/
ldmud-3.2.9/src/hosts/win32/
ldmud-3.2.9/src/util/
ldmud-3.2.9/src/util/erq/
ldmud-3.2.9/src/util/indent/hosts/next/
ldmud-3.2.9/src/util/xerq/
ldmud-3.2.9/src/util/xerq/lpc/
ldmud-3.2.9/src/util/xerq/lpc/www/
#include "room.h"
object beggar;

#undef EXTRA_RESET
#define EXTRA_RESET extra_reset();

/*
 * Make these arrays global, so they only have to be initialized once.
 */
string chat_str, a_chat_str, function, type, match;

extra_reset() {
    no_castle_flag = 1;
    if (!present("knife")) {
        string weapon;
        weapon = clone_object("obj/weapon");
        weapon->set_name("knife");
        weapon->set_class(5);
        weapon->set_value(8);
        weapon->set_weight(2);
	move_object(weapon, this_object());
    }
    if (!beggar) {
	beggar = clone_object("obj/monster");
	beggar->set_name("beggar");
	beggar->set_level(3);
	beggar->set_al(200);
	beggar->set_race("human");
	beggar->set_long("A really filthy looking poor beggar.\n");
	beggar->set_hp(30);
	move_object(beggar, this_object());
	if (!function) {
	    function = allocate(1);
	    type = allocate(1);
	    match = allocate(1);
	    function[0] = "give_beggar";
	    type[0] = "gives";
	}
	beggar->set_match(this_object(), function, type, match);
	if (!chat_str) {
	    chat_str = allocate(3);
	    chat_str[0] =
		"Beggar says: Please, give money to a poor beggar!\n";
	    chat_str[1] =
		"Beggar says: Why can't I find any money ?\n";
	    chat_str[2] =
		"Beggar says: two coins please !\n";
	}
	if (!a_chat_str) {
	    a_chat_str = allocate(1);
	    a_chat_str[0] = "Beggar says: Why do you do this to me ?\n";
	}
	beggar->load_chat(1, chat_str);
	beggar->load_a_chat(20, a_chat_str);
    }
}

TWO_EXIT("room/vill_road1", "south",
	 "room/pub2", "east",
	 "Small yard",
	 "A small yard surrounded by houses.\n", 1)

give_beggar(str) {
    int money;
    string who;

    say("Beggar says: Thank you.\n");
    if (sscanf(str, "%s gives you %d gold coins.", who, money) != 2)
	return;
    if (beggar->query_money() >= 12 &&
	    environment(beggar) == this_object()) {
	beggar->init_command("east");
	beggar->init_command("buy beer");
	beggar->init_command("drink beer");
	beggar->init_command("west");
    }
}