rem: supox_intelligence (ShipPtr, ObjectsOfConcern, ConcernCounter) PELEMENT ShipPtr; PEVALUATE_DESC ObjectsOfConcern; COUNT ConcernCounter;
add: supox_intelligence (PELEMENT ShipPtr, PEVALUATE_DESC ObjectsOfConcern, COUNT ConcernCounter)
context: supox_intelligence (ShipPtr, ObjectsOfConcern, ConcernCounter)PELEMENT ShipPtr;PEVALUATE_DESC ObjectsOfConcern;COUNT ConcernCounter;{	STARSHIPPTR StarShipPtr;	PEVALUATE_DESC lpEvalDesc;	GetElementStarShip (ShipPtr, &StarShipPtr);	lpEvalDesc = &ObjectsOfConcern[ENEMY_SHIP_INDEX];	if (StarShipPtr->special_counter || lpEvalDesc->ObjectPtr == 0)		StarShipPtr->ship_input_state &= ~SPECIAL;	else	{		BOOLEAN LinedUp;		COUNT direction_angle;		SIZE delta_x, delta_y;		delta_x = lpEvalDesc->ObjectPtr->next.location.x				- ShipPtr->next.location.x;		delta_y = lpEvalDesc->ObjectPtr->next.location.y				- ShipPtr->next.location.y;		direction_angle = ARCTAN (delta_x, delta_y);		LinedUp = (BOOLEAN)(NORMALIZE_ANGLE (NORMALIZE_ANGLE (direction_angle				- FACING_TO_ANGLE (StarShipPtr->ShipFacing))				+ QUADRANT) <= HALF_CIRCLE);		if (!LinedUp				|| lpEvalDesc->which_turn > 20				|| NORMALIZE_ANGLE (				lpEvalDesc->facing				- (FACING_TO_ANGLE (StarShipPtr->ShipFacing)				+ HALF_CIRCLE) + OCTANT				) > QUADRANT)			StarShipPtr->ship_input_state &= ~SPECIAL;		else if (LinedUp && lpEvalDesc->which_turn <= 12)			StarShipPtr->ship_input_state |= SPECIAL;		if (StarShipPtr->ship_input_state & SPECIAL)			lpEvalDesc->MoveState = PURSUE;	}	ship_intelligence (ShipPtr,			ObjectsOfConcern, ConcernCounter);	if (StarShipPtr->ship_input_state & SPECIAL)		StarShipPtr->ship_input_state |= THRUST | WEAPON;	lpEvalDesc = &ObjectsOfConcern[ENEMY_WEAPON_INDEX];	if (StarShipPtr->special_counter == 0			&& lpEvalDesc->ObjectPtr			&& lpEvalDesc->MoveState == AVOID			&& ShipPtr->turn_wait == 0)	{		StarShipPtr->ship_input_state &= ~THRUST;		StarShipPtr->ship_input_state |= SPECIAL;		if (!(StarShipPtr->cur_status_flags & (LEFT | RIGHT)))			StarShipPtr->ship_input_state |= 1 << ((BYTE)TFB_Random () & 1);		else			StarShipPtr->ship_input_state |=					StarShipPtr->cur_status_flags & (LEFT | RIGHT);	}}