rem: yehat_intelligence (ShipPtr, ObjectsOfConcern, ConcernCounter) PELEMENT ShipPtr; PEVALUATE_DESC ObjectsOfConcern; COUNT ConcernCounter;
add: yehat_intelligence (PELEMENT ShipPtr, PEVALUATE_DESC ObjectsOfConcern, COUNT ConcernCounter)
context: yehat_intelligence (ShipPtr, ObjectsOfConcern, ConcernCounter)PELEMENT ShipPtr;PEVALUATE_DESC ObjectsOfConcern;COUNT ConcernCounter;{	SIZE ShieldStatus;	STARSHIPPTR StarShipPtr;	PEVALUATE_DESC lpEvalDesc;	ShieldStatus = -1;	lpEvalDesc = &ObjectsOfConcern[ENEMY_WEAPON_INDEX];	if (lpEvalDesc->ObjectPtr && lpEvalDesc->MoveState == ENTICE)	{		ShieldStatus = 0;		if (!(lpEvalDesc->ObjectPtr->state_flags & (FINITE_LIFE | CREW_OBJECT)))			lpEvalDesc->MoveState = PURSUE;		else if (lpEvalDesc->ObjectPtr->mass_points				|| (lpEvalDesc->ObjectPtr->state_flags & CREW_OBJECT))		{			if (!(lpEvalDesc->ObjectPtr->state_flags & FINITE_LIFE))				lpEvalDesc->which_turn <<= 1;			else			{				if ((lpEvalDesc->which_turn >>= 1) == 0)					lpEvalDesc->which_turn = 1;				if (lpEvalDesc->ObjectPtr->mass_points)					lpEvalDesc->ObjectPtr = 0;				else					lpEvalDesc->MoveState = PURSUE;			}			ShieldStatus = 1;		}	}	GetElementStarShip (ShipPtr, &StarShipPtr);	if (StarShipPtr->special_counter == 0)	{		StarShipPtr->ship_input_state &= ~SPECIAL;		if (ShieldStatus)		{			if (ShipPtr->life_span <= NORMAL_LIFE + 1					&& (ShieldStatus > 0 || lpEvalDesc->ObjectPtr)					&& lpEvalDesc->which_turn <= 2					&& (ShieldStatus > 0					|| (lpEvalDesc->ObjectPtr->state_flags					& PLAYER_SHIP) /* means IMMEDIATE WEAPON */					|| PlotIntercept (lpEvalDesc->ObjectPtr,					ShipPtr, 2, 0))					&& (TFB_Random () & 3))				StarShipPtr->ship_input_state |= SPECIAL;			if (lpEvalDesc->ObjectPtr					&& !(lpEvalDesc->ObjectPtr->state_flags & CREW_OBJECT))				lpEvalDesc->ObjectPtr = 0;		}	}	if ((lpEvalDesc = &ObjectsOfConcern[ENEMY_SHIP_INDEX])->ObjectPtr)	{		STARSHIPPTR EnemyStarShipPtr;		GetElementStarShip (lpEvalDesc->ObjectPtr, &EnemyStarShipPtr);		if (!(EnemyStarShipPtr->RaceDescPtr->ship_info.ship_flags				& IMMEDIATE_WEAPON))			lpEvalDesc->MoveState = PURSUE;	}	ship_intelligence (ShipPtr, ObjectsOfConcern, ConcernCounter);/*	if (StarShipPtr->RaceDescPtr->ship_info.energy_level <= SPECIAL_ENERGY_COST)		StarShipPtr->ship_input_state &= ~WEAPON;*/}