ぷに★さくら・InterQ共通。
キャラクターが脳内で会話する妄想を記述する
MOSOコマンド
を拡張。
従来はキャラクターごとに内部コマンドを追加していたが、
登場人物が増えるたびにスクリプトを書き足すのもアレなので、SAY %1 %content で
%1 が %content と喋ったことにできるようにしてみた。
package HNS::Hnf::Command::MOSO;
use vars qw(@ISA $Template $EndTemplate $NumAttr $IsOneline $AllowCommands
$IsBeginSection $CountName $OmittableEnd);
@ISA = qw(HNS::Hnf::Command::List);
$AllowCommands = ['ULARA', 'SIORI', 'NAYUKI', 'TAYU', 'MSIORI', 'SAY'];
$Template = qq(<!--BEGIN_MOSO-->\n<blockquote class="moso">\n);
$EndTemplate = qq(</blockquote>\n<!--END_MOSO-->\n);
package HNS::Hnf::Command::SAY;
use vars qw(@ISA $Template $EndTemplate $NumAttr $IsOneline $AllowCommands
$IsBeginSection $CountName $OmittableEnd);
@ISA = qw(HNS::Hnf::Command::Decoration);
$Template = qq(<div class="say">【%1】「%content」<br></div>\n);
$NumAttr = 1;
で、
MOSO
ULARA ……
SAY 智代 どうした、うらゝ。元気がないな
/MOSO
と書くと
【うらゝ】「……」
【智代】「どうした、うらゝ。元気がないな」
となるという塩梅。
ちなみにInterQ版ではhns-lite/moso.phというファイルに書いてrequireしていたが、
ぷに★さくら版ではdiary/ulara/theme.phの中に書いてある。