예제 #1
0
파일: oun_info.cpp 프로젝트: mecirt/7k2
//----------- 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;
}
예제 #2
0
파일: otrainee.cpp 프로젝트: 112212/7k2
//------ Begin of function Trainee::is_own --------//
//
int Trainee::is_own(int firmRecno)
{
	return nation_array.player_recno && is_nation(firmRecno, nation_array.player_recno);
}