void do_bankai( CHAR_DATA * ch, char *argument )
{
OBJ_DATA *obj, *tmpobj;
OBJ_INDEX_DATA *pObjIndex;
char arg1[MAX_INPUT_LENGTH];
argument = one_argument( argument, arg1 );
if( ch->bBankaiLearned && argument[0] == '\0' )
{
for( tmpobj = ch->first_carrying; tmpobj; tmpobj = tmpobj->next_content )
{
if( tmpobj->pIndexData->vnum == 5 )
{
unequip_char( ch, tmpobj );
obj_from_char( tmpobj );
extract_obj( tmpobj );
ch_printf( ch, "&zYou suppress your bankai...\n\r" );
ch->current_reiatsu = ch->base_reiatsu;
xREMOVE_BIT( ch->act, PLR_POWERUP );
return;
}
else if( tmpobj->pIndexData->vnum == 4 )
{
unequip_char( ch, tmpobj );
obj_from_char( tmpobj );
extract_obj( tmpobj );
xREMOVE_BIT( ch->act, PLR_POWERUP );
}
}
pObjIndex = get_obj_index( 5 );
obj = create_object( pObjIndex, ch->level );
obj->name = str_dup( ch->bname );
obj->short_descr = str_dup( ch->bname );
obj = obj_to_char( obj, ch );
ch_printf( ch, "You release %s!\r\n", ch->bname );
act( AT_ACTION, "$n releases the awesome power of $s bankai!\r\n", ch, NULL, NULL, TO_ROOM );
equip_char( ch, obj, WEAR_WIELD );
ch->current_reiatsu = ch->base_reiatsu * 10;
xSET_BIT( ch->act, PLR_POWERUP );
return;
}
else if( !ch->bBankaiLearned )
{
if( !ch->zname )
{
ch_printf( ch, "&RYou must have a zanpakutoh first...&g&w\r\n" );
return;
}
if( !str_cmp( arg1, "str" ) )
{
ch->mod_str = 10;
}
else if( !str_cmp( arg1, "dex" ) )
{
ch->mod_dex = 10;
}
else if( !str_cmp( arg1, "int" ) )
{
ch->mod_int = 10;
}
else if( !str_cmp( arg1, "con" ) )
{
ch->mod_con = 10;
}
else if( !str_cmp( arg1, "lck" ) )
{
ch->mod_lck = 10;
}
else if( !str_cmp( arg1, "hit" ) )
{
ch->max_hit += 500;
}
else if( !str_cmp( arg1, "mana" ) )
{
ch->max_mana += 1000;
}
else if( !str_cmp( arg1, "hitroll" ) )
{
ch->hitroll += 8;
}
else if( !str_cmp( arg1, "damroll" ) )
{
ch->damroll += 8;
}
else
{
ch_printf( ch, "Please choose a valid upgrade choice. Use the word contained in ' '.\r\n" );
ch_printf( ch, "Syntax: bankai < upgrade choice > < bankai name >\r\n" );
ch_printf( ch, "Example: bankai str Tenka Zangetsu\r\n\n" );
return;
}
if( argument[0] == '\0' )
{
ch_printf( ch, "You must name your bankai!\r\n" );
return;
}
for( tmpobj = ch->first_carrying; tmpobj; tmpobj = tmpobj->next_content )
{
if( tmpobj->pIndexData->vnum == 4 )
{
unequip_char( ch, tmpobj );
obj_from_char( tmpobj );
extract_obj( tmpobj );
}
}
ch->bname = argument;
ch->bBankaiLearned = 1;
pObjIndex = get_obj_index( 5 );
obj = create_object( pObjIndex, ch->level );
obj->name = str_dup( ch->bname );
obj->short_descr = str_dup( ch->bname );
obj = obj_to_char( obj, ch );
ch_printf( ch, "You call forth %s for the first time!\r\n", ch->bname );
act( AT_ACTION, "$n releases the awesome power of $s bankai!\r\n", ch, NULL, NULL, TO_ROOM );
equip_char( ch, obj, WEAR_WIELD );
ch->current_reiatsu = ch->base_reiatsu * 10;
xSET_BIT( ch->act, PLR_POWERUP );
return;
}
else
{
ch_printf( ch, "Syntax: bankai < letter upgrade choice > < bankai name >\r\n\n" );
ch_printf( ch, "Upgrades:\r\n" );
ch_printf( ch, "-------------------------------------\r\n" );
ch_printf( ch, "'str' - +10 strength\r\n" );
ch_printf( ch, "'int' - +10 intelligence\r\n" );
ch_printf( ch, "'dex' - +10 dexterity\r\n" );
ch_printf( ch, "'con' - +10 constitution\r\n" );
ch_printf( ch, "'lck' - +10 luck\r\n" );
ch_printf( ch, "'damroll' - +8 damroll\r\n" );
ch_printf( ch, "'hitroll' - +8 hitroll\r\n" );
ch_printf( ch, "'mana' - +1000 mana\r\n" );
ch_printf( ch, "'hp' - +500 hp\r\n" );
ch_printf( ch, "\n\n**Note: Type 'bankai' by itself to recall your bankai if you've already made it once\r\n" );
return;
}
}
|