cotn25/area/
cotn25/src/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include "merc.h"


void do_religion(CHAR_DATA *ch, char *argument)
{
int i;
int x;
char chosen[MSL];

char diety[MAX_STRING_LENGTH];
char arg1[MAX_INPUT_LENGTH];
char arg2[MAX_INPUT_LENGTH];
char arg3[MAX_INPUT_LENGTH];
char buf[MAX_STRING_LENGTH];
unsigned long int value = 0;

argument = one_argument( argument, arg1 );
argument = one_argument( argument, arg2 );
argument = one_argument( argument, arg3 );

save_gods();


  if (arg1[0] == '\0')
  {
send_to_char("Religion        : Chosen          : Souls  \n\r",ch);
send_to_char("\n\r",ch);
for (i=0;i<22;i++)
{
if (i==0) sprintf(diety,"0  Athiest     ");
if (i==1) sprintf(diety,"1  Astinus     ");
if (i==2) sprintf(diety,"2  Chemosh     ");
if (i==3) sprintf(diety,"3  Hiddukel    ");
if (i==4) sprintf(diety,"4  Nuitari     ");
if (i==5) sprintf(diety,"5  Sargonnas   ");
if (i==6) sprintf(diety,"6  Zeboim      ");
if (i==7) sprintf(diety,"7  Branchala   ");
if (i==8) sprintf(diety,"8  Habbakuk    ");
if (i==9) sprintf(diety,"9  Kiri-Jolith ");
if (i==10) sprintf(diety,"10 Majere      ");
if (i==11) sprintf(diety,"11 Mishakal    ");
if (i==12) sprintf(diety,"12 Solinari    ");
if (i==13) sprintf(diety,"13 Chislev     ");
if (i==14) sprintf(diety,"14 Gilean      ");
if (i==15) sprintf(diety,"15 Lunitari    ");
if (i==16) sprintf(diety,"16 Reorx       ");
if (i==17) sprintf(diety,"17 Shinare     ");
if (i==18) sprintf(diety,"18 Sirrion     ");
if (i==19) sprintf(diety,"19 Zivilyn     ");
if (i==20) sprintf(diety,"20 Takhisis    ");
if (i==21) sprintf(diety,"21 Paladine    ");



sprintf(buf,"%-12s : %-15s : %-12d -> \n\r", diety, // religion_data[i].godname, 
religion_data[i].chosen, gods[i].souls); //religion_data[i].souls); 
send_to_char(buf,ch);
}
}
return;
}

void load_religions()
{
  int i;   
  FILE *fp;

  if ((fp = fopen("../txt/religions.txt", "r")) == NULL)
  {
    log_string("Error: religions.txt not found!");
    exit(1);
  }
  religion_data[0].godname = " ";
  religion_data[0].chosen = " ";
  religion_data[0].souls = 0;

  for (i = 1; i <= MAX_RELIGION; i++)
  {
    religion_data[i].godname = fread_string(fp);
    religion_data[i].chosen = fread_string(fp);
    religion_data[i].souls = fread_number(fp);
  }
  fclose(fp);
}

void save_religions()
{
  FILE *fp;
  int i;
  char buf[20];

  if ((fp = fopen("../txt/religions.txt","w")) == NULL)
  {
    log_string("Error writing to religions.txt");
    return;
  }
  for (i=1;i<=MAX_RELIGION;i++)
  {
    fprintf(fp, "%s~\n", religion_data[i].godname);
    fprintf(fp, "%s~\n", religion_data[i].chosen);
    fprintf(fp, "%d\n", religion_data[i].souls);
  }
  fclose (fp);
}


void update_religions( CHAR_DATA *ch )
{
  int i,j;
  bool changed = FALSE;
  char buf[20];

  if (IS_NPC(ch)) return;
  if (ch->level > 6) return;

  for (i = 1; i <= MAX_RELIGION && !changed; i++)
  {
    if (!str_cmp(ch->name,religion_data[i].chosen))
    {
	if (ch->relrank == 5) religion_data[i].chosen = ch->name;       

      changed = TRUE;
      i = MAX_RELIGION +1;
    }
  }
  for (i = 1; i <= MAX_RELIGION && !changed; i++)
  {
    if (ch->relrank == 5)
    {
      free_string(religion_data[i].chosen);
      religion_data[i].chosen = str_dup(ch->name);
      changed = TRUE;
      i = MAX_RELIGION+1;
    }
  }
  if (changed) save_religions();
  return;
}


void do_relset(CHAR_DATA *ch, char *argument)
{
  CHAR_DATA *victim;
  char arg1[MAX_INPUT_LENGTH];
  char arg2[MAX_INPUT_LENGTH];
  char arg3[MAX_INPUT_LENGTH];
  int i;
  char relname[MSL];
  char value[MAX_INPUT_LENGTH];
  char buf[MAX_STRING_LENGTH];




  argument = one_argument(argument, arg1);
  argument = one_argument(argument, arg2);
  one_argument(argument, arg3);

  if (arg1[0] == '\0' || arg2[0] == '\0' || arg3[0] == '\0')
  {
    send_to_char("Syntax       : relset <religion> <field> <value>\n\r", ch);
    send_to_char("Valid fields : Godname, Chosen, Souls\n\r", ch);
    return;
  }

//  for (i = 0; i < 22; i++)
//  {
//  religion_data[i].godname = relname;
  
//  if (!str_cmp(arg1,relname))
  if (!is_number(arg1))
  {
    send_to_char("Please pick a valid god.\n\r", ch);
    return;
  }
  i = atoi(arg1);
  if (i < 1 || i > MAX_RELIGION)
  {
    send_to_char("Please pick a real religion.\n\r", ch);
    return;
  }
  if (!str_cmp(arg2, "godname"))
  {
    free_string(religion_data[i].godname);
    arg3[0] = UPPER(arg3[0]);
    religion_data[i].godname = str_dup(arg3);
  }
  if (!str_cmp(arg2, "chosen"))
  {
    if ( ( victim = get_char_world( ch, arg3 ) ) == NULL )
    {
       send_to_char("They aren't here.\n\r", ch );
        return;
    }
    free_string(religion_data[i].chosen);
    arg3[0] = UPPER(arg3[0]);
    religion_data[i].chosen = str_dup(arg3);
    victim->relrank = 5;
  }
  else
  {
    do_relset(ch, "");
    return;
  }
// } // end of the for loop
  send_to_char("Done.\n\r", ch);
  save_religions();
  return;
}


void do_relpromote(CHAR_DATA *ch, char *argument)
{
  CHAR_DATA *victim;
  char arg1[MAX_INPUT_LENGTH];
  char arg2[MAX_INPUT_LENGTH];
  int i;
  char relname[MSL];
  char value[MAX_INPUT_LENGTH];
  char buf[MAX_STRING_LENGTH];




  argument = one_argument(argument, arg1);
  argument = one_argument(argument, arg2);

  if (arg1[0] == '\0' || arg2[0] == '\0')
  {
    send_to_char("Syntax       : relpromote name rank \n\r", ch);
    return;
  }


  if (ch->relrank != 5)
  {
    send_to_char("You are not the Chosen of your religion.\n\r", ch);
    return;
  }
  if ( ( victim = get_char_room( ch, arg1 ) ) == NULL )
  {
    send_to_char( "They aren't here.\n\r", ch );
    return;
  }
  if (ch->god != victim->god)
  {
    send_to_char("They are not the same religion as you are.\n\r", ch);
    return;
  }


  

	if (!str_cmp(arg2,"junior"))
	{
	victim->relrank = 1;
	send_to_char("You are now a Junior member of the Religion.",victim);
	return;
	}
	if (!str_cmp(arg2,"senior"))
	{
	victim->relrank = 2;
	send_to_char("You now a Senior member of the Religion.",victim);
	return;
	}
	if (!str_cmp(arg2,"deputy"))
	{
	victim->relrank = 3;
	send_to_char("You now a deputy of the religion.",victim);
	return;
	}
	if (!str_cmp(arg2,"second"))
	{
	victim->relrank = 4;
	send_to_char("You now second in command of the reliigon.",victim);
	return;
	}

  else
  {
    do_relpromote(ch, "");
    return;
  }
  send_to_char("Done.\n\r", ch);
  save_religions();
  return;
}