⚠ DEVELOPMENT SERVER — SAFE TO EDIT⚠

John Carpenter's Spotlight on Mental Illness Brings Jarring Insight to Joker

Error message

  • Deprecated function: Using ${var} in strings is deprecated, use {$var} instead in require_once() (line 132 of sites/all/libraries/bad-behavior/bad-behavior/core.inc.php).
  • Deprecated function: Optional parameter $type declared before required parameter $key is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $file declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $entity declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $values declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $view_mode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $langcode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
  • Deprecated function: Optional parameter $view_mode declared before required parameter $langcode is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Optional parameter $terms declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Optional parameter $args declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
  • Deprecated function: Return type of EntityStructureWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 292 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityListWrapper::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::hasChildren() should either be compatible with RecursiveIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::getChildren() should either be compatible with RecursiveIterator::getChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataWrapperIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
  • Deprecated function: Return type of EntityMetadataArrayObject::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).

FTC Statement: Reviewers are frequently provided by the publisher/production company with a copy of the material being reviewed.The opinions published are solely those of the respective reviewers and may not reflect the opinions of CriticalBlast.com or its management.

As an Amazon Associate, we earn from qualifying purchases. (This is a legal requirement, as apparently some sites advertise for Amazon for free. Yes, that's sarcasm.)

Joker Year of the Villain

John Carpenter is a master of horror. Getting his name on the marquee of a DC Comic book about the brand's most notorious mass murderer and psychopath should have been headline news. Maybe it was and I just read the wrong headlines.

Regardless, it was enough of an impetus to bring me temporarily out of my comic book malaise to purchase this issue, despite the cover art -- which isn't bad, but which depicts the Joker as wearing bad makeup rather than physically looking the way he does. Red Hood? Ace Chemicals? Vat of acid? Any of that ringing any bells, Philip Tan?

Anyway, the best way to get to know a character in-depth isn't to focus on that character, but to learn about him through his interactions with another character. In this case, a henchman with mental illness to whom the Joker seems to have taken a shine: Six of Hearts. He's with Joker during yet another breakout from Arkham, during a time while Bane is in charge of Gotham City. Being newly released, he goes on a spree of chaos, only to find that without Batman...

....he's going ignored.

Gotham City must have a crimefighter. A dynamic duo.

And so Joker takes on the mantle of the Batman, with Six of Hearts as his Robin. And evildoers, beware -- and everyone else.

Throughout the tale, we learn of Six's back story -- how he suffered from mental illness as a child, how his father abused him until he retaliated. He even mentions in his internal dialogue how Joker is different, because those who suffer mental illness are far more likely to be victims that perpetrators, a sentiment reiterated in our interview with Dr. Susan Lewis about the JOKER movie.

It's when he makes his break from the Joker, having had too much, that he has a breakthrough into the Joker's psyche, one we as the readers should have made a long time ago. Because the Joker is cunning, smart, manipulative, and tactical.

Which aren't a combination of skills you find among the mentally ill.

Anthony Burch cowrites this tale of mania and terror, and for fans of the Joker character, the issue is sure to be one to generate discussion for months to come.

That art though...

Advertisement