Gossip & News

Tia Mowry, Cory Hardrict Were Together for 22 Years Before


master mentalism tricks

[]

A true Hollywood love story? Tia Mowry and Cory Hardrict’s meet-cute was straight out of a movie — but their romance fizzled out by fall 2022.

One year after the Sister, Sister alum wrapped her hit TV series in 1999, she was swept off her feet by Hardrict while filming a horror movie. The twosome said “I do” in 2006 and went on to welcome two children, son Cree and daughter Cairo. The Family Reunion actress pointed to the pair’s firstborn son, Cree, as the inspiration for their decision to renew their vows in 2013.

“Cree was my motivation and inspiration to renew our vows,” Mowry exclusively told Us Weekly in April 2013 after celebrating five years of marriage. “Cory and I have been together for 13 years and married for five. .. However, we now have this new miracle in our lives and I wanted to celebrate our love, and what our love together created — Cree!”

Three years later, Hardrict gushed over the Twitches star on Valentine’s Day.

“16yrs later my wife still looks at me this way,” he wrote via Instagram in February 2016, sharing a black-and-white photo of the pair starring into each other’s eyes. “We met when I didn’t have a Car, Sleeping on the floor in a Studio apartment with no furniture.”

{ let bidders = [‘a9’, ‘ix’, ‘iris’]; // create a requestManager to keep track of bidder state to determine when to send ad server // request and what amazonSlots to request from the ad server var requestManager = { adserverRequestSent: false, }; //loop through bidder array and add the bidders to the request manager: bidders.forEach( function( bidder ) { requestManager[bidder] = false; } ); // return true if all bidders have returned function allBiddersBack() { var allBiddersBack = bidders // get the booleans from the object .map( function( bidder ) { return requestManager[bidder]; } ) // get rid of false values – indicates that the bidder has responded .filter( Boolean ) // if length is equal to bidders, all bidders are back .length === bidders.length; return allBiddersBack; } // handler for header bidder responses function headerBidderBack( bidder ) { // return early if request to adserver is already sent if ( requestManager.adserverRequestSent === true ) { return; } // flip bidder back flag if ( bidder === ‘a9’ ) { requestManager.a9 = true; console.log(‘second promise a9 ready’); } else if ( bidder === ‘ix’ ) { requestManager.ix = true; console.log(‘second promise ix ready’); } else if ( bidder === ‘iris’ ) { requestManager.iris = true; console.log(‘second promise iris ready’); } // if all bidders are back, send the request to the ad server if ( allBiddersBack() ) { resolve( url ); } } if ( typeof apstag == ‘object’ && apstag ) { apstag.fetchBids({ slots: [{ slotID: window.prerollTag[vHash], mediaType: ‘video’ }] }, function( bids ) { console.log( “AMI jwp amazon bid callback”, new Date().getTime(), bids ); window.jwpBids[vHash].amazon = true; if ( bids.length > 0 ) { //If we have received any bids back try { console.log(“AMI jwp amazon bid request ad”, bids[0].encodedQsParams); url = url + ‘&scp=’ + bids[0].encodedQsParams; } catch ( e ) { console.log(e); } } else { console.log(“AMI jwp amazon no bids”); } headerBidderBack(‘a9’); }); } else { headerBidderBack(‘a9’); } headertag.cmd.push( function() { headertag.retrieveVideoDemand( [{‘htSlotName’: ‘preroll’}], function( demand ) { console.log( “AMI jwp IX callback”, demand ); if ( ‘undefined’ !== typeof demand.preroll && demand.preroll.length ){ window.jwpBids[vHash].ixBids = demand.preroll[0].targeting.price; console.log( ‘AMI jwp IX Bids’, new Date().getTime(), demand.preroll[0].targeting ); var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } var keys = Object.keys( demand.preroll[0].targeting.price ); for ( var key of keys ) { custParams.set( key, demand.preroll[0].targeting.price[key][0]); } vastParams.set( ‘cust_params’, custParams.toString() ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘ix’); } ); } ); // Get main item context data window.irisContext.getContext(jwplayer(el).getPlaylistItem().mediaid).then(function(data) { // Encode the context data console.log( ‘AMI jwp IrisTV Bids’, new Date().getTime(), data.context ); // Replace the server url with the context data (this is for simple ad requests), // If you have the serverUrl dynamically configured, then you will need to append the context data // under cust_params, so this is just for testing purpose if ( data.context && Object.keys( data.context ).length ) { var vastURL = new URL( url ); var vastParams = new URLSearchParams( vastURL.search ); if ( vastParams.has( ‘cust_params’ ) ) { var custParams = new URLSearchParams( vastParams.get( ‘cust_params’ ) ); } else { var custParams = new URLSearchParams(); } custParams.set( ‘iris_context’, data.context.join(‘,’)); vastParams.set( ‘cust_params’, decodeURIComponent( custParams.toString() ) ); vastURL.search = vastParams.toString(); url = vastURL.toString(); } headerBidderBack(‘iris’); }); setTimeout(function(){ resolve( url ); }, 10000); }); } var player_jwplayer_NbRTcgGo_zhNYySv2_div = jwplayer(el).setup(videoParams).on(“ready”, function(){ var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var playerInstance = jwplayer(el); ns_.StreamingAnalytics.JWPlayer( playerInstance, { publisherId: “6036076”, labelmapping: “ns_st_pu=”AMI”, c3=”Us Weekly”, ns_st_ge=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ia=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_ce=”” + decodeURIComponent( “1” ) + “”, ns_st_ddt=”” + decodeURIComponent( “%2Anull” ) + “”, ns_st_tdt=”” + decodeURIComponent( “%2Anull” ) + “””, }); }).on(‘adsManager’, (e) => { var vHash = ‘ami’ + decodeURIComponent( ‘NbRTcgGo’ ); const { adsManager, videoElement } = e; const iasConfig = { anId: ‘928572’, campId: `${jwplayer().getWidth()}x${jwplayer().getHeight()}`, // This is dynamic based on player dimensions, but can be hard coded chanId: window.prerollTag[vHash], placementId: ‘Open Auction’, pubOrder: ‘Video’, pubId: ‘Direct’ }; if (googleImaVansAdapter) { googleImaVansAdapter.init(window.google, adsManager, videoElement, iasConfig); } }).on( ‘time’, function( e ) { var id = this.id; var pct = Math.round( e.position ); if ( ! window.amiPlayersData ) { window.amiPlayersData = {}; } if ( ! window.amiPlayersData[id] ) { window.amiPlayersData[id] = { m3: false, m10: false }; } if ( window.amiPlayersData[id][‘m3’] === false && pct >= 3 ) { window.amiPlayersData[id][‘m3’] = true; console.log( ‘3sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ‘3s played’} ); } if ( window.amiPlayersData[id][‘m10’] === false && pct >= 10 ) { window.amiPlayersData[id][‘m10’] = true; console.log( ’10sec played: ‘, id ); window.dataLayer = window.dataLayer || []; dataLayer.push( {event: ‘JWPlayEvent’, jwTime: ’10s played’} ); } }).on( ‘complete’, function( e ) { if ( window.amiPlayersData && window.amiPlayersData[ this.id ] ) { window.amiPlayersData[ this.id ][‘m3’] = false; window.amiPlayersData[ this.id ][‘m10’] = false; console.log( ‘clear played: ‘, this.id ); } }).once(“play”, function(){ var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var playerInstance = jwplayer(el); loadIrisPlugin(playerInstance, playerInstance.getConfig().plugins[“https://ovp.iris.tv/plugins/jwplayer/v2/iris-jwplayer8.adaptive.min.js”]) }).on(‘play’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language:”English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video play”); }).on(‘complete’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); // skip if the video was paused and trying to resume if (jwplayer(el).getState() !== ‘idle’ && jwplayer(el).getState() !== ‘complete’) { return; } window.permutive.track(“VideoComplete”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video event:”, e); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; }).on(‘time’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.currentTime/e.duration).toFixed(2); if ( (0.25 === progress && false === window.lock_25) || (0.5 === progress && false === window.lock_50) || (0.75 === progress && false === window.lock_75) || (100 === progress && false === window.lock_100) ) { window.permutive.track(“VideoProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 === progress ) { window.lock_25 = true; } if ( 0.5 === progress ) { window.lock_50 = true; } if ( 0.75 === progress ) { window.lock_75 = true; } if ( 1 === progress ) { window.lock_100 = true; } console.log(“Permutive video play progress ” + progress); } }).on(‘mute’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.mute) ? “sound off” : “sound on”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘fullscreen’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoEvent”, { play_id: el, //this will stay constant for all of the events emitted during the same video play event: (e.fullscreen) ? “fullscreen on” : “fullscreen off”, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() } }); console.log(“Permutive video event:”, e); }).on(‘ready’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); console.log(jwInfo); window.lock_25 = false; window.lock_50 = false; window.lock_75 = false; window.lock_100 = false; window.permutive.track(“VideoLoad”, { play_id: el, //this will stay constant for all of the events emitted during the same video play video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video load event”); }).on(‘adPlay’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); window.adInfo = e; var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.adlock_25 = false; window.adlock_50 = false; window.adlock_75 = false; window.adlock_100 = false; window.permutive.track(“VideoAdPlay”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad play”); }).on(‘adClick’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); window.permutive.track(“VideoAdClick”, { play_id: el, //this will stay constant for all of the events emitted during the same video play ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); console.log(“Permutive video ad click”); }).on(‘adTime’, (e) => { var el = decodeURIComponent( “jwplayer_NbRTcgGo_zhNYySv2_div” ); var vHash = “ami” + decodeURIComponent( “NbRTcgGo” ); var jwInfo = jwplayer(el).getPlaylistItem(jwplayer(el).getPlaylistIndex()); var progress = (e.position/e.duration).toFixed(2); if ( (0.25 >= progress && false === window.adlock_25) || (0.5 >= progress && false === window.adlock_50) || (0.75 >= progress && false === window.adlock_75) || (0.95 >= progress && false === window.adlock_100) ) { window.permutive.track(“VideoAdProgress”, { play_id: el, //this will stay constant for all of the events emitted during the same video play progress: Number(progress), ad: { duration: Math.round(window.adInfo.duration), creative_name: window.adInfo.adtitle, ad_id: window.adInfo.adId, title: window.adInfo.adtitle, video_type: “instream” //outstream }, video: { duration: Math.round(jwInfo.duration), // in seconds name: jwInfo.title, video_id: decodeURIComponent( “NbRTcgGo” ), description: jwInfo.description, published_at: new Date(jwInfo.pubdate).toISOString() }, enriched_data:{ tvchannel: decodeURIComponent( “Us%20Weekly” ), //tv channel name language: “English”, //language of the content type: “video”, keywords: jwInfo.tags.split(“,”), //keywords for the page } }); if ( 0.25 >= progress ) { window.adlock_25 = true; } if ( 0.5 >= progress ) { window.adlock_50 = true; } if ( 0.75 >= progress ) { window.adlock_75 = true; } if ( 0.95 >= progress ) { window.adlock_100 = true; } console.log(“Permutive video ad progress ” + progress); } }).setPlaylistItemCallback(function(item, index) { return waitForAmazon // Wait until Amazon is loaded. .then(() => performAsyncBidding( player_jwplayer_NbRTcgGo_zhNYySv2_div, item, index ), () => { console.log(“AMI JWP bidding FAILER”); }) // External bidding. .then(tag => { // Update the playlist item. console.log(“AMI jwp new headerbid”, tag); return Object.assign({}, item, { adschedule: [{ tag, offset: “pre” }] }); }).catch(function(e){ console.log(“AMI jwp bidding failed”, e); return item; }); // If bidding fails, use unmodified playlist item. });; clearInterval(checkJWReady); } }, 500); })(); ]]>

The All American: Homecoming star revealed he was “just a young man from Chicago pursuing a dream,” but Mowry “saw my heart and believed in me when others doubted.” He concluded: “I would give my life for you @tiamowry.”

The couple, who costarred on the reality series Tia Mowry at Home, appeared to be on good terms in April 2022 as they toasted to 14 years of marriage.

“I’ve loved you for 22 years and I’ll love you for a million more,” the former Food Network Star Kids mentor wrote via social media of her then-husband. “Happy 14th Wedding Anniversary! I love you Mr. Hardrict ️.”

Three months later, the twosome flew to Europe for the ultimate family vacation. Their happiness, however, didn’t last long once they touched back down in the states.

Mowry announced in October 2022 that the longtime couple had called it quits.

“I have always been honest with my fans, and today is no different. I wanted to share that Cory and I have decided to go our separate ways,” the Quick Fix Kitchen author wrote in an Instagram statement. “These decisions are never easy, and not without sadness. We will maintain a friendship as we co-parent our beautiful children. I am grateful for all the happy times we had together and want to thank my friends, family and fans for your love and support as we start this new chapter moving forward in our lives.”

Scroll down to relive Mowry and Hardrict’s ups and downs over the years:

Read The Full Article Here


trick photography
Brian Austin Green Playfully Trolls Friend Jennie Garths QVC Clothing Line
Brian Austin Green Playfully Trolls Friend Jennie Garths QVC Clothing Line
Mama June Selling Daughter Jessicas Uncleaned Wedding Dress After Divorce: No Stains
Mama June Selling Daughter Jessicas Uncleaned Wedding Dress After Divorce: No Stains
Celeste Rivas Family Supports Death Penalty for D4vd in New Statement Ahead of Her 16th Birthday
Celeste Rivas Family Supports Death Penalty for D4vd in New Statement Ahead of Her 16th Birthday
Kelly Osbourne Addresses Weight Loss After Dad Ozzys Death, Admits to Wearing Wig to Hide Frame
Kelly Osbourne Addresses Weight Loss After Dad Ozzys Death, Admits to Wearing Wig to Hide Frame
A Good Little Soldier – first-look review
A Good Little Soldier – first-look review
Samuel L. Jacksons Most Ridiculous Action Movie Is Streaming Free Right Now
Samuel L. Jacksons Most Ridiculous Action Movie Is Streaming Free Right Now
Remain Trailer: A Shyamalan and Sparks Joint?
Remain Trailer: A Shyamalan and Sparks Joint?
The Posthumanism of Resident Evil
The Posthumanism of Resident Evil
Billy Joel Shares Major Health Update After Having Brain Shunt Implanted
Billy Joel Shares Major Health Update After Having Brain Shunt Implanted
No Preview
How To Watch The 2026 NFL Kickoff Game – TVLine
AGT Live Blog: Who Will Get Sofia Vergaras Golden Buzzer on Final Night of Quarterfinals?
AGT Live Blog: Who Will Get Sofia Vergaras Golden Buzzer on Final Night of Quarterfinals?
What To Watch Tuesday: Snowfall Spin-Off Debuts, Jeopardy! Masters Winner Revealed, And More – TVLine
What To Watch Tuesday: Snowfall Spin-Off Debuts, Jeopardy! Masters Winner Revealed, And More – TVLine
AC/DC Concert Canceled, 100-Year Storm to Blame – See Statement
AC/DC Concert Canceled, 100-Year Storm to Blame – See Statement
Conor Oberst Announces Debut Short Film Invention 13
Conor Oberst Announces Debut Short Film Invention 13
DAngelos Son to Play Biggie Smalls in Snoop Dogg Biopic
DAngelos Son to Play Biggie Smalls in Snoop Dogg Biopic
Former AGT Contestant DeShundre Vinson Facing First-Degree Murder Charge in Nephews Death
Former AGT Contestant DeShundre Vinson Facing First-Degree Murder Charge in Nephews Death
New Mystery and Thriller Books to Read | September 8 – NewInBooks
New Mystery and Thriller Books to Read | September 8 – NewInBooks
Biographies & Memoirs to Add to Your TBR – NewInBooks
Biographies & Memoirs to Add to Your TBR – NewInBooks
6 Fantasy and Sci-Fi Books to Read Next – NewInBooks
6 Fantasy and Sci-Fi Books to Read Next – NewInBooks
Mystery & Thriller Books for Fans of Clever Clues – NewInBooks
Mystery & Thriller Books for Fans of Clever Clues – NewInBooks
The 10 Best Pieces to Shop From Madewell's Labor Day Sale
The 10 Best Pieces to Shop From Madewell's Labor Day Sale
Instead of Ballet Flats, This Is the Flat Shoe Trend Everyone Will Style With Jeans This Fall
Instead of Ballet Flats, This Is the Flat Shoe Trend Everyone Will Style With Jeans This Fall
Fashion Insiders Are Already Wearing Fall 2026s Most Elegant Loafers
Fashion Insiders Are Already Wearing Fall 2026s Most Elegant Loafers
Trust Me: These Are the Pieces Youll Reach For More Than Jeans This Fall
Trust Me: These Are the Pieces Youll Reach For More Than Jeans This Fall
Whats Wrong, Wendy? Review: A Camp Supernatural Throwback With More World Than Runtime
Whats Wrong, Wendy? Review: A Camp Supernatural Throwback With More World Than Runtime
Halloween: The Game Pulled Its Sex Minigame After Dr. Loomis Got Involved
Halloween: The Game Pulled Its Sex Minigame After Dr. Loomis Got Involved
Ignore It: Lily Collias to Star in Feature Version of the Viral YouTube Horror Short — Watch It Here
Ignore It: Lily Collias to Star in Feature Version of the Viral YouTube Horror Short — Watch It Here
This Week in Horror: Victor Miller Signs Off, Resident Evil Shows Its Hand, and the Genre Counts What It Costs
This Week in Horror: Victor Miller Signs Off, Resident Evil Shows Its Hand, and the Genre Counts What It Costs