Khoi Vinh’s review published on Letterboxd:
This feels like an attempt to create a gritty, serious policier showcase for Jackie Chan, but a Jackie Chan that’s not smiling or mugging or looking genially startled just feels like a Jackie Chan who’s stifled and held back. As a screen presence his core persona is basically irrepressible though, and eventually he does break out into his classic form, more or less, whipping out lightning fast kicks and jumps and whirlwind fight choreography that’s as impressive as anything he usually does. But that modality is so at odds with the ostensibly dour, weighty tone of the rest of the movie that it’s bewildering—what is this film trying to be? Actually, there’s an overall lack of coherence that any viewer needs to contend with, as a lot of what happens within its 107 minute runtime is pretty nonsensical. For a police procedural, the police in this movie do not proceed in a very smart way. In fact a lot of characters, good guys and bad, just do really, really dumb things. At first I wondered if that could be attributed to the pretty rough subtitles I watched. But even setting aside the dialogue, the characters’ actions are pretty head scratching, sometimes even infuriating. I know that many people can look past these defects and forgive the erratic logic in order to appreciate the Jackie Chan-ness of it all, but I can’t.
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_6cc47e08-a537-49ab-b91b-a2bb7afb2e4c" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-6cc47e08-a537-49ab-b91b-a2bb7afb2e4c'; adUnit.className = 'pw-div -tile300x250 -alignleft -bottommargin'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'med_rect_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-6cc47e08-a537-49ab-b91b-a2bb7afb2e4c'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-6cc47e08-a537-49ab-b91b-a2bb7afb2e4c'));
' ].join(''); if ( adsScript && adsScript === 'bandsintown' && adsPlatforms && ((window.isIOS && adsPlatforms.indexOf("iOS") >= 0) || (window.isAndroid && adsPlatforms.indexOf("Android") >= 0)) && adsLocations && adsMode && ( (adsMode === 'include' && adsLocations.indexOf(window.adsLocation) >= 0) || (adsMode === 'exclude' && adsLocations.indexOf(window.adsLocation) == -1) ) ) { var opts = { artist: "", song: "", adunit_id: 100005950, div_id: "cf_async_7af39d1e-a9d1-45d4-b579-52dc41955824" }; adUnit.id = opts.div_id; if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } var c=function(){cf.showAsyncAd(opts)};if(typeof window.cf !== 'undefined')c();else{cf_async=!0;var r=document.createElement("script"),s=document.getElementsByTagName("script")[0];r.async=!0;r.src="//srv.tunefindforfans.com/fruits/apricots.js";r.readyState?r.onreadystatechange=function(){if("loaded"==r.readyState||"complete"==r.readyState)r.onreadystatechange=null,c()}:r.onload=c;s.parentNode.insertBefore(r,s)}; } else { adUnit.id = 'pw-7af39d1e-a9d1-45d4-b579-52dc41955824'; adUnit.className = 'pw-div'; adUnit.setAttribute('data-pw-' + (renderMobile ? 'mobi' : 'desk'), 'sky_btf'); if (target) { target.insertAdjacentElement('beforeend', adUnit); } else { tag.insertAdjacentElement('afterend', adUnit); } window.addEventListener('DOMContentLoaded', (event) => { adUnit.insertAdjacentHTML('afterend', kicker); window.ramp.que.push(function () { window.ramp.addTag('pw-7af39d1e-a9d1-45d4-b579-52dc41955824'); }); }, { once: true }); } } tag.remove(); })(document.getElementById('script-7af39d1e-a9d1-45d4-b579-52dc41955824'));