血まみれと死亡状態マーカー
(ケン・バウアーによる寄稿)
このスクリプトは、体力が半分以下に低下したコマには「血まみれ」状態を示す赤マーカーを、体力が0以下に低下したコマには「死亡」マーカーを自動的に付与します。 健康はゲージ1に蓄積されていると想定される。
on("change:graphic", function(obj) {
if(obj.get("bar1_max") === "") return;
if(obj.get("bar1_value") <= obj.get("bar1_max") / 2) {
obj.set({
status_redmarker: true
});
}
else{
obj.set({
status_redmarker: false
})
}
if(obj.get("bar1_value") <= 0){
obj.set({
status_dead: true
});
}
else{
obj.set({
status_dead: false
});
}
});
闇が迫っている…
このスクリプトは、コマが移動するたびにその光の半径を10%減少させます。 「ランプの油がなくなる」といった高ストレス状況をシミュレートするのに最適です。
on("change:token", function(obj, prev) {
//実際に移動した場合のみ実行する。
if(obj.get("left") == prev["left"] && obj.get("top") == prev["top"]) return;
obj.set({
light_radius: Math.floor(obj.get("light_radius") * 0.90)
});
});
プレイヤーまたはキャラクターとしてsendChatを実行する
(ブライアン・シールズによる寄稿)
これはチャット:メッセージイベントスクリプトで使用できる数行のコードです。イベントをトリガーした主体がプレイヤーかキャラクターかに応じて、sendChatメソッドで正確にメッセージを送信できるようにします。
on("chat:message", function(msg) {
var message = '';
// `message'の内容を判定
var characters = findObjs({_type: 'character'});
var speaking;
characters.forEach(function(chr) { if(chr.get('name') == msg.who) speaking = chr; });
if(speaking) sendChat('キャラクター|'+speaking.id, message);
else sendChat('player|'+msg.playerid, message);
});