Pass custom variable from template.php to *.tpl.php template.php > THEMENAME_field_CONTENT_TYPE(&amp;$variables)
I am trying to check each field as it passes through...

if( $variables['element']['#field_name'] == 'field_I_am_looking_for' )
{
    if( $variables['element'][0]['#title'] == 'value_I_am_looking_for' )
    $variables['newVariableName'] = 'NewVariableValue';
}


or for Booleans...

$variables['newVariableName'] = True;


But in *.tpl.php file, when I do this...

&lt;?php if( isset( $content['isIcebreaker'] ) ): ?&gt;
&lt;pre&gt;It's What You're Looking For!&lt;/pre&gt;
&lt;?php endif; ?&gt;


...Nothing happens.

Specific Details...
The custom content type is called 'Netrunner Card' and all cards have 0 or more 'subtypes'. The subtypes field is a taxonomy_reference field. One of those subtypes is 'Icebreaker' and I'm trying to set $variables['isIcebreaker'] = True; whenever a card has the subtype of 'Icebreaker' and then test against that in node--netrunner-card--full.tpl.php.

Basically, in regular-speak, when a card has 'Icebreaker' as one of its subtypes, I want to add in some custom div's and other content in the node--netrunner-card--full.tpl.php for those cards. But the custom variable isn't making it over. I'm uncertain as to what I'm doing wrong.

SIDE NOTE If there is a better way to do what I am trying to do, I would appreciate those answers as well. However, regardless, I would still love to know the appropriate, Drupal Best Practices way of passing custom variables from template.php to a *.tpl.php file.

CODE VIEW
I have split off my template.php and included the new file as sort of an extended template.php. Here are posts of both my template.php and my tpl file.

template_netrunner_card.php

node--netrunner-card--full.tpl.php

ANSWER: I used the preprocess_node function like so...
Every element key in the root of the $variables array will be available in the template file as an actual variable. The mechanics behind this is in theme_render_template(), which uses PHP's extract() function on the theme's variables.

So when you look at $content in the template file, that corresponds to $variables['content'] in the preprocess function. 

Similarly, if you add $variables['newVariableName'] in the preprocess function, it will be available at $newVariableName in the template file.

If you want to add it to the content array, you need to do so explicitly in the preprocess function, e.g. $variables['content']['newVariableName'] = ...

Bear in mind that the content array is supposed to be a render array, so that's probably not the best place for it. The way you have it currently is fine, just use if (isset($newVariableName)): in place of your current array_key_exists condition.

Your current method is considered best practice for passing variables from preprocess functions (whether in template.php or a module file) to template files, you don't need to change anything in your thinking there.