89 lines
1.7 KiB
Perl
89 lines
1.7 KiB
Perl
package LasTres::Planet::Bahdder::BosqueDelHeroe;
|
|
|
|
use v5.36.0;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use feature 'signatures';
|
|
|
|
use utf8;
|
|
|
|
use Moo;
|
|
|
|
use Module::Pluggable search_path => ['LasTres::Planet::Bahdder::BosqueDelHeroe'],
|
|
instantiate => 'instance',
|
|
on_require_error => sub ($plugin, $error) {
|
|
die $error;
|
|
};
|
|
|
|
use LasTres::Planet::Bahdder;
|
|
|
|
has areas => (
|
|
is => 'ro',
|
|
builder => \&_build_areas,
|
|
lazy => 1,
|
|
);
|
|
|
|
has identifier => (
|
|
is => 'ro',
|
|
builder => \&_build_identifier,
|
|
);
|
|
|
|
has name => (
|
|
is => 'ro',
|
|
builder => \&_build_name,
|
|
);
|
|
|
|
has description => (
|
|
is => 'ro',
|
|
builder => \&_build_description,
|
|
);
|
|
|
|
has parent => (
|
|
is => 'ro',
|
|
builder => \&_build_parent,
|
|
);
|
|
|
|
with 'LasTres::SuperArea';
|
|
|
|
sub _build_identifier {
|
|
return 'bosque_del_heroe';
|
|
}
|
|
|
|
sub _build_areas {
|
|
my $self = shift;
|
|
my $hash = {};
|
|
my @areas = $self->plugins();
|
|
for my $area (@areas) {
|
|
$hash->{$area->identifier} = $area;
|
|
}
|
|
return $hash;
|
|
}
|
|
|
|
sub _build_name {
|
|
return 'Bosque del Héroe';
|
|
}
|
|
|
|
sub _build_description {
|
|
return 'El Bosque del Héroe es el pulmón del planeta Bahdder. '
|
|
. 'Se cree que solo una pequeña parte de las especies que viven en el mismo han sido catalogadas. '
|
|
. 'Los áldimor viven en este bosque en armonía con la naturaleza. '
|
|
. 'En este bosque se encuentra la Torre de hechicería Áldimor, lugar donde los áldimor más talentosos aprenden '
|
|
. 'a usar la magia para la guerra. ';
|
|
}
|
|
|
|
sub _build_parent {
|
|
return LasTres::Planet::Bahdder->instance;
|
|
}
|
|
|
|
my $singleton;
|
|
sub instance {
|
|
my $class = shift;
|
|
if (!defined $singleton) {
|
|
$singleton = $class->new(@_);
|
|
}
|
|
return $singleton;
|
|
}
|
|
1;
|