LasTres/lib/LasTres/TalkingNPC/VeteranoCalizor.pm

134 lines
3.6 KiB
Perl

package LasTres::TalkingNPC::VeteranoCalizor;
use v5.36.0;
use strict;
use warnings;
use utf8;
use feature 'signatures';
use Moo;
use LasTres::Flags;
use LasTres::Word::Devota;
use LasTres::Word::Ayazel;
use parent 'LasTres::TalkingNPC';
sub talk ( $self, $pj, $word = undef ) {
$self->SUPER::talk( $pj, $word );
if ( !defined $word ) {
$self->wordlessly_talk($pj);
return;
}
$self->word_talk($pj, $word);
}
sub word_talk($self, $pj, $word) {
require LasTres::Word::Devota;
if ($word->identifier eq LasTres::Word::Devota->instance->identifier) {
$self->word_devota($pj);
return;
}
if ($word->identifier eq LasTres::Word::Ayazel->instance->identifier) {
$self->word_ayazel($pj);
return;
}
$self->word_unknown($pj);
}
sub word_devota($self, $pj) {
$self->send_response_dialog(
$pj,
[
{
text => '¿Buscas a mi esposa? Seguramente este rezando o junto a ese'
. ' chamán de pacotilla, suele rezar en ese pequeño santuario a'
. ' Ayazel, visitalo ahora que todavía sigue en pie...'
. ' Maldito sea el día que le enseñé a la gente a edificar'
. ' en piedra.'
}
]
);
$pj->teach_word( LasTres::Word::Ayazel->instance );
}
sub word_ayazel($self, $pj) {
$self->send_response_dialog(
$pj,
[
{
text => 'Eso de la Diosa de la Luna me parece una tontería, no me'
. ' creo ni una palabra y ese chamán es un charlantán, pero creo'
. ' que algo tiene que haber. Los cálizor tenemos nuestro propio Dios y'
. ' es mucho más interesante que esa Diosa. ¿Qué nos importa'
. ' lo que pase en la Luna si vivimos en tierra firme?'
}
]
);
}
sub word_unknown($self, $pj) {
$self->send_response_dialog(
$pj,
[
{
text => 'Mmmm, me lo tengo que pensar.'
}
]
);
}
sub identifier {
return 'veterano_calizor_tribu_de_la_lima';
}
# sub icon {
# return '/img/anciano.png';
# }
sub name {
return 'Veterano Cálizor';
}
sub verb ( $self, $pj ) {
return 'vocifera';
}
sub wordlessly_talk ( $self, $pj ) {
if ($pj->get_flag(LasTres::Flags::TALKED_FIRST_TIME_VETERANO_CALIZOR)) {
$self->send_response_dialog(
$pj,
[
{
text => 'Echo de menos la cerveza de mi tierra, pero no volvería allí ni'
. ' loco, y eso a pesar de esos malditos conejos que no nos dejan vivir.'
}
]
);
return;
}
$self->send_response_dialog(
$pj,
[
{
text => (
'¿Ya te quieres marchar de la tribu hacia la torre?'
. ' ¡Qué rápido creceis los jovenes!'
. ' ¡Cuando te conocí me llegabas por aquí!.- Con su mano se señala la rodilla.-'
. ' Este bosque es un lugar peligroso y endiablado, deberías quedarte aquí,'
. ' tendrías más seguridad y harías feliz a este pobre viejo.'
. ' ¿Qué ya lo tienes decidido? No puedo hacer nada para'
. ' evitar que persigas tus sueños, en ese caso ven a buscarme'
. ' más tarde, estoy preparandote una sorpresa que quizás'
. ' te proteja aunque yo no esté.'
)
}
]
);
$pj->set_flag(LasTres::Flags::TALKED_FIRST_TIME_VETERANO_CALIZOR);
}
1;