If I understood correctly, try:

for( int i = 0; i < 30 or whatever; i++ )
{
 if( ( count -= thri_armor_selection_table[base_item].body_type[i] ) <= 0 )
 {
  armor_type = i;
  break;
 }
}

This should work.

Htam

Cyhawk wrote:
hello everyone. Im re-doing treasure class generation for my item generator, and im wanting to have all my % drops for specific items into a single table (so i can create an olc for it, to modify it online)

Anywho, a sub function of armor generation selects the base item type

Basicly it goes something like


        if (count <= thri_armor_selection_table[base_item].body_type[0])
        {
            armor_type = 0;
        }

else if (count <= (thri_armor_selection_table[base_item].body_type[0] + thri_armor_selection_table[base_item].body_type[1]))
        {
            armor_type = 1;
        }

else if (count <= (thri_armor_selection_table[base_item].body_type[0] + thri_armor_selection_table[base_item].body_type[1]
                    + thri_armor_selection_table[base_item].body_type[2]
        ))
        {
            armor_type = 2;
        }

(count is number_range(1, 100))

Basicly, it checks to see if various values of the table are less than the count, then finds the item Anywho, with about 30 base armor types, this code gets really ugly down the line else if (count <= ( thri_armor_selection_table[base_item].body_type[0] + thri_armor_selection_table[base_item].body_type[1] + thri_armor_selection_table[base_item].body_type[2] + thri_armor_selection_table[base_item].body_type[3] + thri_armor_selection_table[base_item].body_type[4] + thri_armor_selection_table[base_item].body_type[5] + thri_armor_selection_table[base_item].body_type[6] + thri_armor_selection_table[base_item].body_type[7] + thri_armor_selection_table[base_item].body_type[8] + thri_armor_selection_table[base_item].body_type[9] + thri_armor_selection_table[base_item].body_type[10] + thri_armor_selection_table[base_item].body_type[11]
        ))

for example ;)

Is there a way to shorten this down to say..
table.body_type[0] + table.body_type[1]?

I plan on releasing this code, and i dont want to release something this ugly

-Thri



Reply via email to