Newbie question: Help with these if statements?
The following program i have write but i get a problem.
If i use single if for each team and whatever string i write it gets values from the last team.
if i use else if i get values from the first team.
How i shall write it to get the potion value from the right team for the string i type.
Something i miss, but i cant figure it out
Code:
void do_create_potion( CHAR_DATA* ch, const char* argument)
{
OBJ_DATA *ingredient;
OBJ_DATA *potion;
int selection;
int dice;
int check;
dice = number_percent();
check = LEARNED(ch, gsn_create_potion) + (get_curr_int(ch)/2);
ingredient = get_obj_carry(ch, argument);
selection = rand() %3;
if(argument[0] == '\0' || !str_cmp(argument, ""))
{
send_to_char( "Brew what?\r\n", ch );
return;
}
if(str_cmp(argument, "alit hide"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_INTELLIGENCE), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_POISON_RESISTANCE), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_PICKPOCKET), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_DETECT_INVISIBILITY), 0);}
}
if(str_cmp(argument, "ampoule pod"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_WATER_BREATHING), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_PARALYSIS), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DETECT_INVISIBILITY), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_WILLPOWER), 0);}
}
if(str_cmp(argument, "ash salts"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_AGILITY), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_MAGIC_RESISTANCE), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DISEASE_IMMUNITY), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_RESTORE_MAGICKA), 0);}
}
if(str_cmp(argument, "ash yam"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_INTELLIGENCE), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_STRENGTH), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DISEASE_RESISTANCE), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_SNEAK), 0);}
}
if(str_cmp(argument, "bittergreen petals"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_RESTORE_INTELLIGENCE), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_INVISIBILITY), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_ENDURANCE), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_MAGICKA), 0);}
}
if(str_cmp(argument, "black anther"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_AGILITY), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_FIRE_RESISTANCE), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_ENDURANCE), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_ALCHEMY), 0);}
}
if(str_cmp(argument, "black lichen"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_STRENGTH), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_FROST_RESISTANCE), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_AGILITY), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_POISON_IMMUNITY), 0);}
}
if(str_cmp(argument, "bloat"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_MAGICKA), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_INTELLIGENCE), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_WILLPOWER), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_DETECT_INVISIBILITY), 0);}
}
if(str_cmp(argument, "bonemeal"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_RESTORE_AGILITY), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_PICKPOCKET), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_FATIGUE), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_PERSONALITY), 0);}
}
if(str_cmp(argument, "corkbulb root"))
{
if(selection == 0)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_AGILITY), 0);}
if(selection == 1)
{potion = create_object(get_obj_index(OBJ_POTION_FIRE_RESISTANCE), 0);}
if(selection == 2)
{potion = create_object(get_obj_index(OBJ_POTION_DRAIN_ENDURANCE), 0);}
if(selection == 3)
{potion = create_object(get_obj_index(OBJ_POTION_FORTIFY_ALCHEMY), 0);}
}
if(check < dice)
{
if(ingredient != NULL)
{
ch_printf( ch, "You brew a %s.\r\n", potion->name);
obj_to_char(potion, ch);
extract_obj(ingredient);
learn_from_success(ch, gsn_create_potion);
}
else
{
send_to_char( "You don't have this ingredient.\r\n", ch );
}
}
else
{
ch_printf( ch, "You failed brewing.\r\n");
extract_obj(ingredient);
}
}