#if defined(WIN32)
#include <windows.h>
#else
#include <sys/types.h>
#endif
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "merc.h"
DECLARE_DO_FUN( do_save );
void do_marry( CHAR_DATA * ch, char *argument )
{
char arg1[MAX_INPUT_LENGTH], arg2[MAX_INPUT_LENGTH];
CHAR_DATA *victim;
CHAR_DATA *victim2;
/* char buf[MAX_STRING_LENGTH]; */
argument = one_argument( argument, arg1 );
argument = one_argument( argument, arg2 );
if ( ( ch->level >= LEVEL_IMMORTAL ) )
{
if ( arg1[0] == '\0' || arg2[0] == '\0' )
{
send_to_char( "Syntax: marry <char1> <char2>\n\r", ch );
return;
}
if ( !str_cmp( arg1, arg2 ) )
{
send_to_char( "A person cannot be married to themselves!\n\r", ch );
return;
}
if ( ( victim = get_char_world( ch, arg1 ) ) == NULL )
{
send_to_char( "The first person mentioned isn't playing.\n\r", ch );
return;
}
if ( ( victim2 = get_char_world( ch, arg2 ) ) == NULL )
{
send_to_char( "The second person mentioned isn't playing.\n\r",
ch );
return;
}
if ( victim == victim2 )
{
send_to_char
( "I don't think marrying someone to themselves is a very good idea.\n\r",
ch );
return;
}
if ( IS_NPC( victim ) || IS_NPC( victim2 ) )
{
send_to_char
( "I don't think they want to be Married to the Mob.\n\r", ch );
return;
}
if ( !IS_SET( victim->act, PLR_CONSENT )
|| !IS_SET( victim2->act, PLR_CONSENT ) )
{
send_to_char( "They do not give consent.\n\r", ch );
return;
}
if ( !is_name( victim->pcdata->spouse, "(none)" )
|| !is_name( victim2->pcdata->spouse, "(none)" ) )
{
send_to_char( "They are already married! \n\r", ch );
return;
}
if ( victim->level < 1 || victim2->level < 1 )
{
send_to_char( "They are not of the proper level to marry.\n\r",
ch );
return;
}
send_to_char( "You pronounce them man and wife!\n\r", ch );
send_to_char( "You say the big 'I do.'\n\r", victim );
send_to_char( "You say the big 'I do.'\n\r", victim2 );
victim->pcdata->spousec += 1;
victim2->pcdata->spousec += 1;
free_string( &victim->pcdata->spouse );
victim->pcdata->spouse = str_dup( victim2->name );
free_string( &victim2->pcdata->spouse );
victim2->pcdata->spouse = str_dup( victim->name );
do_save( victim, "" );
do_save( victim2, "" );
/* victim->pcdata->spouse = victim2->name;
victim2->pcdata->spouse = victim->name; */
return;
}
/* else
{
send_to_char( "You do not have marrying power.\n\r", ch);
return;
} */
}
void do_divorce( CHAR_DATA * ch, char *argument )
{
char arg1[MAX_INPUT_LENGTH], arg2[MAX_INPUT_LENGTH];
CHAR_DATA *victim;
CHAR_DATA *victim2;
/* char buf[MAX_STRING_LENGTH]; */
argument = one_argument( argument, arg1 );
argument = one_argument( argument, arg2 );
if ( ch->level >= LEVEL_IMMORTAL )
{
if ( arg1[0] == '\0' || arg2[0] == '\0' )
{
send_to_char( "Syntax: divorce <char1> <char2>\n\r", ch );
return;
}
if ( ( victim = get_char_world( ch, arg1 ) ) == NULL )
{
send_to_char( "The first person mentioned isn't playing.\n\r", ch );
return;
}
if ( ( victim2 = get_char_world( ch, arg2 ) ) == NULL )
{
send_to_char( "The second person mentioned isn't playing.\n\r",
ch );
return;
}
if ( victim == victim2 )
{
send_to_char
( "I don't think divorcing someone without the other knowing is a very good idea.\n\r",
ch );
return;
}
if ( IS_NPC( victim ) || IS_NPC( victim2 ) )
{
send_to_char( "I don't think they're Married to the Mob...\n\r",
ch );
return;
}
if ( !IS_SET( victim->act, PLR_CONSENT )
|| !IS_SET( victim2->act, PLR_CONSENT ) )
{
send_to_char( "They do not give consent.\n\r", ch );
return;
}
if ( !is_name( victim->pcdata->spouse, victim2->name ) )
{
send_to_char( "They aren't even married!!\n\r", ch );
return;
}
send_to_char( "You hand them their papers.\n\r", ch );
send_to_char( "Your divorce is final.\n\r", victim );
send_to_char( "Your divorce is final.\n\r", victim2 );
victim->pcdata->spousec -= 1;
victim2->pcdata->spousec -= 1;
free_string( &victim->pcdata->spouse );
victim->pcdata->spouse = str_dup( "(none)" );
free_string( &victim2->pcdata->spouse );
victim2->pcdata->spouse = str_dup( "(none)" );
do_save( victim, "" );
do_save( victim2, "" );
/*
victim->pcdata->spouse = str_dup("none") ;
victim2->pcdata->spouse = str_dup("none"); */
return;
}
else
{
send_to_char( "You do not have divorcing power.\n\r", ch );
return;
}
}
void do_consent( CHAR_DATA * ch )
{
if ( IS_NPC( ch ) )
return;
if ( IS_SET( ch->act, PLR_CONSENT ) )
{
send_to_char( "You no longer give consent.\n\r", ch );
REMOVE_BIT( ch->act, PLR_CONSENT );
return;
}
send_to_char( "You now give consent to be Married!\n\r", ch );
SET_BIT( ch->act, PLR_CONSENT );
return;
}