#include <sys/types.h>
#include <stdio.h>
#include <string.h>
#include <time.h>
#include "merc.h"
void do_darktendrils(CHAR_DATA *ch, char *argument)
{
if (IS_NPC(ch)) return;
if (!IS_SPHERE(ch, SPHERE_ENHANCEMENT))
{
stc("#0Darktendrils is an Enhancement Sphere Ability.#n\n\r",ch);
return;
}
if (IS_SET(ch->newbits, NEW_DARKTENDRILS)) {
send_to_char("Your tendrils of darkness disappear.\n\r", ch );
REMOVE_BIT(ch->newbits, NEW_DARKTENDRILS);
}
else {
send_to_char("You call forth dark tendrils to attack your foes.\n\r", ch );
SET_BIT(ch->newbits, NEW_DARKTENDRILS);
}
return;
}
void do_nightsight( CHAR_DATA *ch, char *argument )
{
char arg [MAX_INPUT_LENGTH];
argument = one_argument( argument, arg );
if (IS_NPC(ch)) return;
if (!IS_SPHERE(ch, SPHERE_ENHANCEMENT))
{
stc("#0Nightsite is an Enhancement Sphere Ability.#n\n\r",ch);
return;
}
if (IS_VAMPAFF(ch,VAM_NIGHTSIGHT) )
{
send_to_char("The red glow in your eyes fades.\n\r",ch);
act("The red glow in $n's eyes fades.", ch, NULL, NULL, TO_ROOM);
REMOVE_BIT(ch->pcdata->stats[UNI_AFF], VAM_NIGHTSIGHT);
return;
}
send_to_char("Your eyes start glowing red.\n\r",ch);
act("$n's eyes start glowing red.", ch, NULL, NULL, TO_ROOM);
SET_BIT(ch->pcdata->stats[UNI_AFF], VAM_NIGHTSIGHT);
return;
}
void do_graft(CHAR_DATA *ch, char *argument)
{
OBJ_DATA *obj;
char arg[MAX_INPUT_LENGTH];
argument = one_argument(argument, arg);
if (IS_NPC(ch)) return;
if (!IS_SPHERE(ch, SPHERE_ENHANCEMENT))
{
stc("#0Graft is an Enhancement Sphere Ability.#n\n\r",ch);
return;
}
if ( arg[0] == '\0')
{
stc("Which limb do you wish to graft on to yourself?\n\r",ch);
return;
}
if ( ( obj = get_obj_carry(ch,arg) ) == NULL )
{
stc("You do not have that limb.\n\r",ch);
return;
}
if (!IS_SET(obj->extra_flags2, ITEM_ARM))
{
stc("That's not even an arm!\n\r",ch);
return;
}
if (IS_SET(ch->newbits, THIRD_HAND) && IS_SET(ch->newbits, FOURTH_HAND))
{
stc("You already have four arms!\n\r",ch);
return;
}
if (!IS_SET(ch->newbits, FOURTH_HAND))
{
act("You graft an arm onto your body.",ch,NULL,obj,TO_CHAR);
act("$n grafts an arm onto $m body.",ch,NULL,obj,TO_ROOM);
SET_BIT(ch->newbits, FOURTH_HAND);
SET_TIMER(ch, TIMER_FOURTH_ARM_GOING, dice(ch->generation, 6) );
WAIT_STATE(ch, 18);
extract_obj(obj);
return;
}
if (!IS_SET(ch->newbits, THIRD_HAND))
{
act("You graft an arm onto your body.",ch,NULL,obj,TO_CHAR);
act("$n grafts an arm onto $m body.",ch,NULL,obj,TO_ROOM);
SET_BIT(ch->newbits, THIRD_HAND);
SET_TIMER(ch, TIMER_THIRD_ARM_GOING, dice(ch->generation, 6) );
WAIT_STATE(ch, 18);
extract_obj(obj);
return;
}
return;
}