rem: black_urquan_intelligence (ShipPtr, ObjectsOfConcern, ConcernCounter) PELEMENT ShipPtr; PEVALUATE_DESC ObjectsOfConcern; COUNT ConcernCounter;
add: black_urquan_intelligence (PELEMENT ShipPtr, PEVALUATE_DESC ObjectsOfConcern, COUNT ConcernCounter)
context: black_urquan_intelligence (ShipPtr, ObjectsOfConcern, ConcernCounter)PELEMENT ShipPtr;PEVALUATE_DESC ObjectsOfConcern;COUNT ConcernCounter;{	PEVALUATE_DESC lpEvalDesc;	STARSHIPPTR StarShipPtr;	lpEvalDesc = &ObjectsOfConcern[ENEMY_WEAPON_INDEX];	if (lpEvalDesc->ObjectPtr			&& lpEvalDesc->MoveState == ENTICE			&& (lpEvalDesc->ObjectPtr->state_flags & CREW_OBJECT)			&& lpEvalDesc->which_turn <= 8)		lpEvalDesc->MoveState = PURSUE;	ship_intelligence (ShipPtr,			ObjectsOfConcern, ConcernCounter);	GetElementStarShip (ShipPtr, &StarShipPtr);	StarShipPtr->ship_input_state &= ~SPECIAL;	if (StarShipPtr->special_counter == 0			&& StarShipPtr->RaceDescPtr->ship_info.energy_level >= SPECIAL_ENERGY_COST			&& lpEvalDesc->ObjectPtr			&& lpEvalDesc->which_turn <= 8)		StarShipPtr->ship_input_state |= SPECIAL;	lpEvalDesc = &ObjectsOfConcern[ENEMY_SHIP_INDEX];	if (lpEvalDesc->ObjectPtr)	{#define FRAGMENT_LIFE 10#define FRAGMENT_SPEED MISSILE_SPEED#define FRAGMENT_RANGE (FRAGMENT_LIFE * FRAGMENT_SPEED)		HELEMENT h, hNext;		ELEMENTPTR BuzzSawPtr;		h = (StarShipPtr->old_status_flags & WEAPON) ?				GetSuccElement (ShipPtr) : (HELEMENT)0;		for (; h; h = hNext)		{			LockElement (h, &BuzzSawPtr);			hNext = GetSuccElement (BuzzSawPtr);			if (!(BuzzSawPtr->state_flags & NONSOLID)					&& BuzzSawPtr->next.image.farray == StarShipPtr->RaceDescPtr->ship_data.weapon					&& BuzzSawPtr->life_span > MISSILE_LIFE * 3 / 4					&& (BuzzSawPtr->state_flags & (GOOD_GUY | BAD_GUY)) ==					(ShipPtr->state_flags & (GOOD_GUY | BAD_GUY)))			{				{					//COUNT which_turn;					if (!PlotIntercept (BuzzSawPtr,							lpEvalDesc->ObjectPtr, BuzzSawPtr->life_span,							FRAGMENT_RANGE / 2))						StarShipPtr->ship_input_state &= ~WEAPON;					else if (StarShipPtr->weapon_counter == 0)						StarShipPtr->ship_input_state |= WEAPON;					UnlockElement (h);					break;				}				hNext = 0;			}			UnlockElement (h);		}		if (h == 0)		{			if (StarShipPtr->old_status_flags & WEAPON)				StarShipPtr->ship_input_state &= ~WEAPON;			else if (StarShipPtr->weapon_counter == 0					&& ship_weapons (ShipPtr, lpEvalDesc->ObjectPtr, FRAGMENT_RANGE / 2))				StarShipPtr->ship_input_state |= WEAPON;			if (StarShipPtr->special_counter == 0					&& !(StarShipPtr->ship_input_state & WEAPON)					&& lpEvalDesc->which_turn <= 8					&& (StarShipPtr->ship_input_state & (LEFT | RIGHT))					&& StarShipPtr->RaceDescPtr->ship_info.energy_level >=					SPECIAL_ENERGY_COST)				StarShipPtr->ship_input_state |= SPECIAL;		}	}}