package LasTres::TalkingNPC::Chaman; 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 (!$pj->get_flag(LasTres::Flags::ASKED_FOR_DEVOTA_VETERANO_CALIZOR)) { $self->send_response_dialog($pj, [ { text => 'No tengo tiempo para esto, estoy preparando el ' . 'ritual de esta noche.' } ]); return; } if (!$pj->get_location_flag(LasTres::Flags::TEMPORAL_HAS_PRAYED)) { $self->send_response_dialog($pj, [ { text => 'Recuerda que lo primero que tienes que hacer al entrar a' . ' este sitio sagrado es rezar a la diosa Ayazel.' . ' Lo que me quieras decir puede esperar hasta entonces.' } ]); return; } 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) { ... } sub word_ayazel($self, $pj) { ... } sub word_unknown($self, $pj) { $self->send_response_dialog( $pj, [ { text => 'Solo Ayazel sabe a que te refieres con eso.' } ] ); } sub identifier { return 'chaman_tribu_de_la_lima'; } # sub icon { # return '/img/anciano.png'; # } sub name { return 'Chamán de Ayazel'; } sub verb ( $self, $pj ) { return 'susurra'; } sub wordlessly_talk ( $self, $pj ) { $self->send_response_dialog( $pj, [ { text => 'Ayazel te protegerá en tu viaje por el bosque, me lo dijo en sueños hace 2 noches.' } ] ); } 1;