 
                
        
     
                
        
     
                
        
     
                
        
    {"reserved", {99, 99, 99, 99},
     NULL, TAR_IGNORE, POS_STANDING,
     0, 0, "", ""},
@@    {"acid blast", {20, 37, 37, 37},
     &Character::spell_acid_blast, TAR_CHAR_OFFENSIVE, POS_FIGHTING,
     20, 12, "acid blast", "!Acid Blast!"},
    {"armor", {5, 1, 37, 37},
     &Character::spell_armor, TAR_CHAR_DEFENSIVE, POS_STANDING,
     5, 12, "", "You feel less protected."},
    {"bless", {37, 5, 37, 37},
     &Character::spell_bless, TAR_CHAR_DEFENSIVE, POS_STANDING,
     5, 12, "", "You feel less righteous."},
    {"blindness", {8, 5, 37, 37},
     &Character::spell_blindness, TAR_CHAR_OFFENSIVE, POS_FIGHTING,
     5, 12, "", "You can see again."},@@    {"backstab", {37, 37, 1, 37},
     &Character::spell_null, TAR_IGNORE, POS_STANDING,
     0, 24, "backstab", "!Backstab!"},
    {"disarm", {37, 37, 10, 37},
     &Character::spell_null, TAR_IGNORE, POS_FIGHTING,
     0, 24, "", "!Disarm!"},
    {"dodge", {37, 37, 1, 37},
     &Character::spell_null, TAR_IGNORE, POS_FIGHTING,
     0, 0, "", "!Dodge!"},
    {"enhanced damage", {37, 37, 37, 1},
     &Character::spell_null, TAR_IGNORE, POS_FIGHTING,
     0, 0, "", "!Enhanced Damage!"},
        
         
                
        
     
                
        
     
                
        
     
                
        
     
                
        
     
                
        
     
                
        
    if ( ( level < skill_table[sn].skill_level[klass] )
|| ( skill_table[sn].skill_level[klass] > LEVEL_HERO )
@@ || ( !skill_table[sn].spell_fun == NULL ) )
continue;
{"disarm", {1, 1, 10, 1},
@@     &Character::spell_null, TAR_IGNORE, POS_FIGHTING,
     0, 24, "", "!Disarm!"},
    {"dodge", {37, 37, 1, 37},
     NULL, TAR_IGNORE, POS_FIGHTING,
@@     0, 0, "", "!Dodge!"}, 
                
        
     
                
        
     
                
        
     
                
        
    if ( ( level < skill_table[sn].skill_level[klass] )
|| ( skill_table[sn].skill_level[klass] > LEVEL_HERO )
|| ( !skill_table[sn].spell_fun == spell_null ) )
continue;
Gives:
commands.cpp: In member function 'void Character::do_skills<std::string>":
commands.cpp:3184: error: invalid use of member (did you forget the '&' ?)
make: *** [commands.o] Error 1
if ( ( level < skill_table[sn].skill_level[klass] )
|| ( skill_table[sn].skill_level[klass] > LEVEL_HERO )
|| ( !skill_table[sn].spell_fun == &Character::spell_null ) )
continue;
Gives:
commands.cpp: In member function 'void Character::do_skills<std::string>':
commands.cpp:3184: error: invalid operands of types 'bool' and 'void (Character::*)(int, int, void*)' to binary 'operator=='
make: *** [commands.o] Error 1
 
                
        
     
                
        
     
                
        
     
                
        
    if ( ( level < skill_table[sn].skill_level[klass] )
|| ( skill_table[sn].skill_level[klass] > LEVEL_HERO )
|| ( skill_table[sn].spell_fun != &Character::spell_null ) )
continue;
