No, sorry, not create_mobile, my bad, load_mobiles. Should have a section something like this:
if ( letter == 'C' || letter == 'Z' ) /* Realms complex mob -Thoric */
{
pMobIndex->perm_str = fread_number( fp );
pMobIndex->perm_int = fread_number( fp );
pMobIndex->perm_wis = fread_number( fp );
pMobIndex->perm_dex = fread_number( fp );
pMobIndex->perm_con = fread_number( fp );
pMobIndex->perm_cha = fread_number( fp );
pMobIndex->perm_lck = fread_number( fp );
pMobIndex->saving_poison_death = fread_number( fp );
pMobIndex->saving_wand = fread_number( fp );
pMobIndex->saving_para_petri = fread_number( fp );
pMobIndex->saving_breath = fread_number( fp );
pMobIndex->saving_spell_staff = fread_number( fp );
ln = fread_line( fp );
x1=x2=x3=x4=x5=x6=x7=0;
sscanf( ln, "%d %d %d %d %d %d %d",
&x1, &x2, &x3, &x4, &x5, &x6, &x7 );
pMobIndex->race = x1;
pMobIndex->height = x3;
pMobIndex->weight = x4;
pMobIndex->speaks = x5;
pMobIndex->speaking = x6;
pMobIndex->numattacks = x7;
if ( !pMobIndex->speaks )
pMobIndex->speaks = race_table[pMobIndex->race].language | LANG_BASIC;
if ( !pMobIndex->speaking )
pMobIndex->speaking = race_table[pMobIndex->race].language;
ln = fread_line( fp );
x1=x2=x3=x4=x5=x6=x7=x8=0;
sscanf( ln, "%d %d %d %d %d %d %d %d",
&x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8 );
pMobIndex->hitroll = x1;
pMobIndex->damroll = x2;
pMobIndex->xflags = x3;
pMobIndex->resistant = x4;
pMobIndex->immune = x5;
pMobIndex->susceptible = x6;
pMobIndex->attacks = x7;
pMobIndex->defenses = x8;
}
else
{
pMobIndex->perm_str = 10;
pMobIndex->perm_dex = 10;
pMobIndex->perm_int = 10;
pMobIndex->perm_wis = 10;
pMobIndex->perm_cha = 10;
pMobIndex->perm_con = 10;
pMobIndex->perm_lck = 10;
pMobIndex->race = 0;
pMobIndex->xflags = 0;
pMobIndex->resistant = 0;
pMobIndex->immune = 0;
pMobIndex->susceptible = 0;
pMobIndex->numattacks = 0;
pMobIndex->attacks = 0;
pMobIndex->defenses = 0;
}
change it to such:, in the appropriate place, I think its:
if ( letter == 'C' || letter == 'Z' ) /* Realms complex mob -Thoric */
{
pMobIndex->perm_str = fread_number( fp );
pMobIndex->perm_int = fread_number( fp );
pMobIndex->perm_wis = fread_number( fp );
pMobIndex->perm_dex = fread_number( fp );
pMobIndex->perm_con = fread_number( fp );
pMobIndex->perm_cha = fread_number( fp );
pMobIndex->perm_lck = fread_number( fp );
pMobIndex->saving_poison_death = fread_number( fp );
pMobIndex->saving_wand = fread_number( fp );
pMobIndex->saving_para_petri = fread_number( fp );
pMobIndex->saving_breath = fread_number( fp );
pMobIndex->saving_spell_staff = fread_number( fp );
ln = fread_line( fp );
x1=x2=x3=x4=x5=x6=x7=0;
sscanf( ln, "%d %d %d %d %d %d %d",
&x1, &x2, &x3, &x4, &x5, &x6, &x7 );
pMobIndex->race = x1;
pMobIndex->height = x3;
pMobIndex->weight = x4;
pMobIndex->speaks = x5;
pMobIndex->speaking = x6;
pMobIndex->numattacks = x7;
if ( !pMobIndex->speaks )
pMobIndex->speaks = race_table[pMobIndex->race].language | LANG_BASIC;
if ( !pMobIndex->speaking )
pMobIndex->speaking = race_table[pMobIndex->race].language;
ln = fread_line( fp );
x1=x2=x3=x4=x5=x6=x7=x8=0;
sscanf( ln, "%d %d %d %d %d %d %d %d",
&x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8 );
pMobIndex->hitroll = x1;
pMobIndex->damroll = x2;
pMobIndex->xflags = x3;
pMobIndex->resistant = x4;
pMobIndex->immune = x5;
pMobIndex->susceptible = x6;
pMobIndex->attacks = x7;
pMobIndex->defenses = x8;
}
else
{
pMobIndex->perm_str = 10;
pMobIndex->perm_dex = 10;
pMobIndex->perm_int = 10;
pMobIndex->perm_wis = 10;
pMobIndex->perm_cha = 10;
pMobIndex->perm_con = 10;
pMobIndex->perm_lck = 10;
pMobIndex->race = 0;
pMobIndex->xflags = 0;
pMobIndex->resistant = 0;
pMobIndex->immune = 0;
pMobIndex->susceptible = 0;
pMobIndex->numattacks = 0;
pMobIndex->mvr = 0;
pMobIndex->attacks = 0;
pMobIndex->defenses = 0;
}
Just the part for non-complex mobs. If that doesn't work, it means that the value was written into the files, and if so, that something else entirely. |