//----------- Begin of function Unit::is_camouflage ----------// // // pass viewerNation -1 to test if camouflage is on/off // int Unit::is_camouflage(int viewerNation) { Spy *spyPtr; // #### begin Gilbert 31/3 #####// if( cur_action == SPRITE_ATTACK ) // don't be invisible while attacking return 0; // #### end Gilbert 31/3 #####// if( spy_recno && (spyPtr = spy_array[spy_recno]) && spyPtr->true_nation_recno != viewerNation && spyPtr->camouflage_count > 0) return 1; else if( item.ability(ITEM_ABILITY_INVISIBLE) && !is_nation(viewerNation) ) return 1; // do not call item.use_now(), not appropriate. Let next day to decrease item.para // ##### patch begin Gilbert 14/7 #####// // else if( unit_id == UNIT_JAPANESE_SPU && !is_nation(viewerNation) && rank_id != RANK_KING ) // return 1; // ##### patch end Gilbert 14/7 #####// else return 0; }
//------ Begin of function Trainee::is_own --------// // int Trainee::is_own(int firmRecno) { return nation_array.player_recno && is_nation(firmRecno, nation_array.player_recno); }