package LasTres::TalkingNPC::AncianoTribuLima; use v5.36.0; use strict; use warnings; use utf8; use feature 'signatures'; use Moo; use LasTres::Flags; use LasTres::Word::Devota; 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; } $self->word_unknown($pj); } sub word_devota($self, $pj) { $self->send_response_dialog( $pj, [ { text => '¿La Devota? Suele estar en la casa de piedra.' } ] ); } sub word_unknown($self, $pj) { $self->send_response_dialog( $pj, [ { text => 'Mmmm seguro que eso es muy interesante para otra persona.' } ] ); } sub identifier { return 'anciano_tribu_de_la_lima'; } sub icon { return '/img/anciano.png'; } sub name { return 'Anciano'; } sub verb ( $self, $pj ) { if ( !$pj->knows_word( LasTres::Word::Devota->instance ) ) { return 'farfulla'; } return 'indica'; } sub wordlessly_talk ( $self, $pj ) { if ( $pj->knows_word( LasTres::Word::Devota->instance ) ) { $self->send_response_dialog( $pj, [ { text => '¿A que esperas? Ve a hablar con la Devota.' } ] ); return; } $self->send_response_dialog( $pj, [ { text => ( '¿De verdad estabas dormido?' . ' Una lastima que no hayas visto ese gran pájaro que acaba de pasar' . ' justo ahora. En cualquier caso, no deberías estar vagueando, ¿Hoy' . ' no era el día que te marchabas a la Torre? Si se hace de noche' . ' será demasiado peligroso y tendrás que salir mañana. Ve a hablar' . ' ahora mismo con la Devota, sin su bendición nadie emprende el viaje a la Torre.' . ' ¿No sabes donde puede estar la Devota? No tiene perdida, es la única casa hecha de piedra.' . ' Si no la encuentras siempre puedes preguntar a la gente de la tribu.' ) } ] ); $pj->teach_word( LasTres::Word::Devota->instance ); } 1;