cotn/notes/
cotn/src/
/***************************************************************************
 *  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
 *  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
 *                                                                         *
 *  Merc Diku Mud improvments copyright (C) 1992, 1993 by Michael          *
 *  Chastain, Michael Quan, and Mitchell Tse.                              *
 *                                                                         *
 *  In order to use any part of this Merc Diku Mud, you must comply with   *
 *  both the original Diku license in 'license.doc' as well the Merc       *
 *  license in 'license.txt'.  In particular, you may not remove either of *
 *  these copyright notices.                                               *
 *                                                                         *
 *  Dystopia Mud improvements copyright (C) 2000, 2001 by Brian Graversen  *
 *                                                                         *
 *  Much time and thought has gone into this software and you are          *
 *  benefitting.  We hope that you share your changes too.  What goes      *
 *  around, comes around.                                                  *
 ***************************************************************************/
 /***************************************************************************
 *                                 _/                            _/        *
 *      _/_/_/  _/_/      _/_/_/  _/    _/_/    _/    _/    _/_/_/         *
 *     _/    _/    _/  _/        _/  _/    _/  _/    _/  _/    _/          *
 *    _/    _/    _/  _/        _/  _/    _/  _/    _/  _/    _/           *
 *   _/    _/    _/    _/_/_/  _/    _/_/      _/_/_/    _/_/_/            *
 ***************************************************************************
 * Mindcloud Copyright 2001-2003 by Jeff Boschee (Zarius),                 *
 * Additional credits are in the help file CODECREDITS                     *
 * All Rights Reserved.                                                    *
 ***************************************************************************/

/*
 * A quick hack to get support for the mud sound protocol by Jobo.
 */

#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "merc.h"

/* Point to the location on the net where the sound files
 * are located. If no location are given, the players will
 * have to download the sound files before they use the
 * sound protocol.
 */
#define SOUND_URL  ""

void do_music(CHAR_DATA * ch, char *argument)
{
        if (IS_NPC(ch))
                return;

        if (IS_SET(ch->act, PLR_MUSIC))
        {
                REMOVE_BIT(ch->act, PLR_MUSIC);
                send_to_char("Music disabled.\n\r", ch);
                send_to_char("!!MUSIC(Off)", ch);
        }
        else
        {
                SET_BIT(ch->act, PLR_MUSIC);
                send_to_char("Music enabled.\n\r", ch);
                update_music(ch);
        }
        return;
}

void do_sound(CHAR_DATA * ch, char *argument)
{
        if (IS_NPC(ch))
                return;

        if (IS_SET(ch->act, PLR_SOUND))
        {
                REMOVE_BIT(ch->act, PLR_SOUND);
                send_to_char("Sound disabled.\n\r", ch);
        }
        else
        {
                SET_BIT(ch->act, PLR_SOUND);
                send_to_char("Sound enabled.\n\r", ch);
        }
        return;
}

void send_portal(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(portal.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_redspell(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(red.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_purplespell(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(purple.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_greenspell(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(green.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_yellowspell(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(yellow.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_bluespell(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(blue.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_howl(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(howl.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_detonate(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(detonate.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_eagle(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(eagle.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_thunder(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(thunder.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_teleport(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(teleport.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_decap(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(decap.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void send_losthead(CHAR_DATA * ch)
{
        char      buf[200];

        if (!IS_SET(ch->act, PLR_SOUND))
                return;
        xprintf(buf, "!!SOUND(losthead.wav U=%s)", SOUND_URL);
        send_to_char(buf, ch);
        return;
}

void update_music(CHAR_DATA * ch)
{
        char      buf[200];

        if (!ch->in_room || !ch->in_room->area)
                return;
        if (!IS_SET(ch->act, PLR_MUSIC))
                return;
        send_to_char("!!MUSIC(Off)", ch);
        xprintf(buf, "!!MUSIC(%s L=-1 U=%s%s)",
                ch->in_room->area->music, SOUND_URL,
                ch->in_room->area->music);
        send_to_char(buf, ch);
        return;
}