/*******************************************
 * Banking code made by Firehed of RotK    *
 * mustang.tamarisk.ab.ca port 6900.  Just *
 * add the following stuff into the files  *
 * that it says (it's pretty easy to do)   *
 *******************************************/
/*** SAVE.C ***/
 /** frwite_char **/
    if (ch->pcdata->bank != 0)
 fprintf( fp, "Bank  %d\n", ch->pcdata->bank     ); /** fread_char **/
  /* case 'B': */
 KEY( "Bank",        ch->pcdata->bank,       fread_number( fp ) );
/*** MERC.H ***/
 /** PC_DATA **/
int                  bank;
/*** TABLES.C ***/
/** in the 'const struct flag_type area_room[] =' section **/
    {   "bank",			#,	TRUE	},
/** replace # with a free variable **/
/** in the 'const struct flag_type room_flags[] =' section **/
    {	"bank",			ROOM_BANK,		TRUE	},


/*******************************************************
 * For this code, all you need to do is add the stuff  *
 * below somewhere in a .c file (Mine's in act_info.c) *
 * and just do a clean make, and you should be set :)  *
 * Don't forget to add it into interp.c/h as level 1   *
 *******************************************************/



void do_balance ( CHAR_DATA *ch, char *argument )
{
    char buf[MAX_STRING_LENGTH];
    sprintf( buf, "{GYou have {W%d{G platinum in the bank.\n\r", ch->pcdata->bank );
    send_to_char( buf, ch );
    return;
}
void do_deposit ( CHAR_DATA *ch, char *argument )
{
    char arg[MAX_INPUT_LENGTH];
    char buf[MAX_STRING_LENGTH];
    int amnt;

    if (IS_NPC(ch))
	{
	return;
	}

    if (!IS_SET(ch->in_room->room_flags, ROOM_BANK))  
    {
	sprintf( buf, "But you are not in a bank.\n\r" );
	send_to_char( buf, ch );
	return;
    }

    one_argument( argument, arg );

    if ( arg[0] == '\0' )
    {
	sprintf( buf, "How many coins do you wish to deposit?\n\r" );
	send_to_char( buf, ch );
	return;
    }

    amnt = atoi( arg );
    
    if ( amnt >= (ch->platinum + 1) )
    {
	sprintf( buf, "{R%s{G, you do not have {W%d{G coins.\n\r", ch->name, amnt );
	send_to_char( buf, ch );
	return;
    }

    ch->pcdata->bank += amnt;
    ch->platinum -= amnt;
    sprintf( buf, "{R%s{G, your account now contains: {W%d{G coins, after depositing {W%d{G coins.\n\r", ch->name, ch->pcdata->bank, amnt );
    send_to_char(buf, ch );
    return;
}

void do_withdraw ( CHAR_DATA *ch, char *argument )
{
    char arg[MAX_INPUT_LENGTH];
    char buf[MAX_STRING_LENGTH];
    int amnt;

    if (IS_NPC(ch))
	{
	return;
	}
    if (!IS_SET(ch->in_room->room_flags, ROOM_BANK))  
    {
	sprintf( buf, "But you are not in a bank.\n\r" );
	send_to_char( buf, ch );
	return;
  }

argument = one_argument(argument, arg);

    if ( arg[0] == '\0' )
    {
	 sprintf( buf, "How many coins do you wish to withdraw?\n\r" );
	 send_to_char( buf, ch );
	 return;
    }

    amnt = atoi( arg );
    
    if ( amnt >= (ch->pcdata->bank + 1) )
    {
	sprintf( buf, "{R%s{G, you do not have {W%d{G coins in the bank.\n\r", ch->name, amnt );
	send_to_char(buf, ch );
	return;
    }

    ch->platinum += amnt;
    ch->pcdata->bank -= amnt;
    sprintf( buf, "{R%s{G, your account now contains: {W%d{G coins, after depositing {W%d{G coins.\n\r", ch->name, ch->pcdata->bank, amnt );
    send_to_char( buf, ch );
    return;
}
/* This has nothing to do at all with bank, but its
   a fun little code to get someone's attention! */


void do_beep ( CHAR_DATA *ch, char *argument )
{
    CHAR_DATA *victim;
    char arg[MAX_INPUT_LENGTH];
    char buf[MAX_STRING_LENGTH];

    if (IS_NPC(ch))
	return;

    argument = one_argument( argument, arg );

    if  ( arg[0] == '\0' )
    {
	send_to_char( "Beep who?\n\r", ch );
	return;
    }

    if ( !( victim = get_char_world( ch, arg ) ) )
    {
	send_to_char( "They are not here.\n\r", ch );
	return;
    }

    if ( IS_NPC(victim))
    {
	send_to_char( "They are not beepable.\n\r", ch );
	return;
    }

    sprintf( buf, "\aYou beep %s.\n\r", victim->name );
    send_to_char( buf, ch );

sprintf( buf, "{$BBBBBB    {^EEEEEEE {#EEEEEEE  {MPPPPP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB   BB   {^EE      {#EE       {MPP  PP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB    BB  {^EE      {#EE       {MPP   PP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB    BB  {^EE      {#EE       {MPP   PP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB   BB   {^EE      {#EE       {MPP  PP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BBBBBB    {^EEEEE   {#EEEEE    {MPPPPP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB   BB   {^EE      {#EE       {MPP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB    BB  {^EE      {#EE       {MPP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB    BB  {^EE      {#EE       {MPP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BB   BB   {^EE      {#EE       {MPP{0\n\r");
    send_to_char( buf, victim );
sprintf( buf, "{$BBBBBB    {^EEEEEEE {#EEEEEEE  {MPP{0\n\r");
    send_to_char( buf, victim );
    sprintf( buf, "from %s.\n\r", ch->name );
    send_to_char( buf, victim );
    return;
}