So here's my quick and dirty snippet for putting mana and movement into setclass and getting rid of the gay level gains. I wanted to post this for a couple reasons:
1. *pats self on back for first successful compile after changing code*
2. Wanted to give a little back in case anyone else wants to do the same.
3. If anyone cares to look over it and let me know if theres anything Ive done that I could do better.
So without further adieu...
in tables.c
fprintf( fpout, "Mana %d\n", Class->fMana );
fprintf( fpout, "Expbase %d\n", Class->exp_base );
fprintf( fpout, "Affected %s\n", print_bitvector( &Class->affected ) );
fprintf( fpout, "Resist %d\n", Class->resist );
fprintf( fpout, "Suscept %d\n", Class->suscept );
fprintf( fpout, "Mamin %d\n", Class->ma_min ); /* Tseris */
fprintf( fpout, "Mamax %d\n", Class->ma_max );
fprintf( fpout, "Mvmin %d\n", Class->mv_min );
fprintf( fpout, "Mvmax %d\n", Class->mv_max );
case 'H':
KEY( "HpMax", Class->hp_max, fread_number( fp ) );
KEY( "HpMin", Class->hp_min, fread_number( fp ) );
break;
case 'M':
KEY( "Mana", Class->fMana, fread_number( fp ) );
KEY( "MaMax", Class->ma_max, fread_number( fp ) ); /* Tseris */
KEY( "MaMin", Class->ma_min, fread_number( fp ) );
KEY( "MvMax", Class->mv_max, fread_number( fp ) );
KEY( "MvMin", Class->mv_min, fread_number( fp ) );
break;
in act_wiz.c
class_table[rcindex]->skill_adept = 0;
class_table[rcindex]->thac0_00 = 0;
class_table[rcindex]->thac0_32 = 0;
class_table[rcindex]->hp_min = 0;
class_table[rcindex]->hp_max = 0;
class_table[rcindex]->fMana = FALSE;
class_table[rcindex]->exp_base = 1000;
class_table[rcindex]->ma_min = 0; /* Tseris */
class_table[rcindex]->ma_max = 0;
class_table[rcindex]->mv_min = 0;
class_table[rcindex]->mv_max = 0;
class_table[rcindex]->thac0_32 = 0;
class_table[rcindex]->hp_min = 0;
class_table[rcindex]->hp_max = 0;
class_table[rcindex]->fMana = FALSE;
class_table[rcindex]->exp_base = 1000;
class_table[rcindex]->ma_min = 0; /* Tseris */
class_table[rcindex]->ma_max = 0;
class_table[rcindex]->mv_min = 0;
class_table[rcindex]->mv_max = 0;
f( !str_cmp( arg2, "hpmax" ) )
{
Class->hp_max = atoi( argument );
send_to_char( "Max HP gain set.\r\n", ch );
write_class_file( cl );
return;
}
if( !str_cmp( arg2, "mamin" ) ) /* Min and Max Mana and Movement by Tseris */
{
Class->ma_min = atoi( argument );
send_to_char( "Min Mana gain set.\r\n", ch );
write_class_file( cl );
return;
}
if( !str_cmp( arg2, "mamax" ) )
{
Class->ma_max = atoi( argument );
send_to_char( "Max Mana gain set.\r\n", ch );
write_class_file( cl );
return;
}
if( !str_cmp( arg2, "mvmin" ) )
{
Class->mv_min = atoi( argument );
send_to_char( "Min Move gain set.\r\n", ch );
write_class_file( cl );
return;
}
if( !str_cmp( arg2, "mvmax" ) )
{
Class->mv_max = atoi( argument );
send_to_char( "Max Move gain set.\r\n", ch );
write_class_file( cl );
return;
}
pager_printf_color( ch, "&wAffected by: &W%s\r\n", affect_bit_name( &Class->affected ) );
pager_printf_color( ch, "&wResistant to: &W%s\r\n", flag_string( Class->resist, ris_flags ) );
pager_printf_color( ch, "&wSusceptible to: &W%s\r\n", flag_string( Class->suscept, ris_flags ) );
pager_printf_color( ch, "&wMa Min/Ma Max : &W%-2d/%-2d ", Class->ma_min, Class->ma_max ); /* Tseris */
pager_printf_color( ch, "&wMv Min/Mv Max : &W%-2d/%-2d", Class->mv_min, Class->mv_max );
if( arg1[0] == '\0' )
{
send_to_char( "Syntax: setclass <class> <field> <value>\r\n", ch );
send_to_char( "Syntax: setclass <class> create\r\n", ch );
send_to_char( "\r\nField being one of:\r\n", ch );
send_to_char( " name prime weapon guild thac0 thac32\r\n", ch );
send_to_char( " hpmin hpmax mamin mamax mana expbase mtitle ftitle\r\n", ch ); /* Tseris */
send_to_char( " mvmin mvmax second, deficient affected resist suscept skill\r\n", ch );
return;
}
in mud.h
int guild; /* Vnum of guild room */
short skill_adept; /* Maximum skill level */
short thac0_00; /* Thac0 for level 0 */
short thac0_32; /* Thac0 for level 32 */
short hp_min; /* Min hp gained on leveling */
short hp_max; /* Max hp gained on leveling */
bool fMana; /* Class gains mana on level */
short exp_base; /* Class base exp */
short ma_min; /* Min Mana gained on leveling. Tseris 10/07 */
short ma_max; /* Max Mana gained on leveling. */
short mv_min; /* Min Move gained on leveling */
short mv_max; /* Max Move gained on leveling */
};
and finally in update.c
add_hp = number_range( class_table[ch->Class]->hp_min, class_table[ch->Class]->hp_max );
add_mana = class_table[ch->Class]->fMana ? number_range( class_table[ch->Class]->ma_min, /* Mana and Move */
class_table[ch->Class]->ma_max ) : 0; /* gains by Tseris */
add_move = number_range( class_table[ch->Class]->mv_min, class_table[ch->Class]->mv_max );
add_prac = wis_app[get_curr_wis( ch )].practice;
Hope this helps somebody, and thank you to all who are helping me.
|