package TheGame::BadGuy; use Moose; has health => (is => 'rw', isa => 'Num'); # 0 == dead has max_health=> (is => 'rw', isa => 'Num'); # 100% health has inventory => (is => 'rw', isa => 'ArrayRef[TheGame::Item]'); sub health_percent { return $_[0]->health / $_[0]->max_health; } # ... many more attributes and methods