Code Monkey home page Code Monkey logo

stext's People

Contributors

cocotori avatar salvadors-cabin avatar snext1220 avatar toki-sor1 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

stext's Issues

bgmも正常ではありませんでした…

共通曲でない「stream-with-robins-1」が鳴りません。
占いの方の非共通曲は鳴っているのでこちらのミス?しかしそもそも触れていないのですが…
testkomadori
gbatkomadori
filekomadori

制御ボタンにおける条件のグループ化

ボタン制御でのグループ化(フラグが何個以上揃ったら表示)

g(f01,i01,r01:scepter,...)3     … 条件が3個以上揃っていたら

g(...)1とすることで、これまでは表現できなかったor条件を表すことも可能。

互換性は維持されますが、一度、新構文を追加してしまうと、以降の構文追加は難しくなると思われるため、将来的な要件も合わせて、他に必要な条件がないかなど、ご意見戴けますと幸いです。

■ときのじさんご意見 (バグ報告移動済みのため、省略しています)

エンディングの複数bgm

RYUさんからの質問です。
一元管理のために、勝手ながら、こちらへ移動させていただきました。

endのbgmを複数設定する事はできますか?
基本的にはbadとhappyの2種しかできないようで、今作ってるミニ30でhappyを複数種類作りたいのですが、happy用bgmを設定せず、そのendシーンに@bgm:で別bgmを設定して再生されますかね?

変更後のbgm不反映について

GBATでの
●シーン1の設定
@@
@main:WinterPub
@happy:@END02
@bad:@town01
@bgm:
w:WinterPub「冬の酒場にて」:bgm:しんさんわーくす:dova-s.jp/bgm/play5472.html
@@
●badendシーンの設定
@@
@EnD:bad
r1:さあ無に還ろう:1:その意気やヨシ!( ´∀`)Ь
@Result:r1
@@
としているのですが…あ、「@bgm:」は入れ忘れていて今入れましたが、badendbgmも現状鳴っていないようです。

「ボタンを等間隔に成立」が反映されていない?

>非表示中のボタンがある場合に生じる空行を除去(ボタンを等間隔に成立)
がどうも反映されていないようです。
占いの診断前の「これじゃ!」が広い空間にポツンと表示されてしまってますが…

自由アイテムの新設

任意の場所で使用できる自由アイテム。数の概念を持っており、複数持つことも可能。利用時はステータス画面から個数を修正

<free-items>
  <free-item id="fi01" name="Gold">売買のためのお金</free-item>
  <free-item id="fi02" name="回復役"></free-item>
</free-items>

<scene free-items="fi01:10, -f02:2"> → fi01を10個入手、fi02を2個削除(削除は手動と割り切った方が良いかも)

緩募: free-itemという用語がイマイチなので、何か良い単語があれば

■ときのじさんご意見
「ラミディア」のようにGP(金貨)を管理したり、使用回数の制限があるアイテムを登場させたりする時に便利そうですね!削除も指定できれば、よりアイテム管理が楽になると思うのですが、他のシステム等に不具合が出たり、実装のハードルが高い場合は、手動として割り切るのが良いと思いました。
free-item>魔法発動ボタンでもあった問題なのですが、耳慣れない(見慣れない)言葉を使用すると意味が伝わりにくくなってしまうので、個人的には現状ままも良いかなと思いました。もしくは、今までのitemと今回のfree-itemを合体させて「item」とするのはどうでしょう?(既存シナリオに相当影響が出てきてしまいますが、アイテム欄を1つにまとめられたら良いかなぁと;;)

既存のアイテム(<items>)の中で表すことも可能ではありますが、いわゆるイベントアイテム(従来)と自由アイテムとは区別しなければならないため、なにかしらis-freeのような属性で管理することになるかと思います。と考えると、大本で分けておいた方がシナリオ開発者の皆さんにとってもすっきりかもしれません。

懸案

free1、free2、stars属性を追加した結果、実は、自由アイテムの必要性が薄れたかもしれません。暫くはご意見待ちますが、「こんな使い方をしたい!」等の要望が出ない場合は廃案にするかも。

楽曲のシステム共通化

SText標準で提供している楽曲をシステム共通化する。現在、シナリオ個々に共通した音源を同梱しているため、STextのサイズが肥大化している。これを共通化することで、サイズを軽量化するのが目的。

<init>
 <bgm main="@field01" happy="@clear01" bad="sigh" />
</init>

@~が標準楽曲、それ以外はシナリオフォルダーから読み出すようにする。
また、bgm属性についても同様

■ときのじさんご意見
私もGitHubからSText本体をダウンロードする際に、かなり時間が掛かるようになってきて、容量のことを気にし始めていました。もし別々のシナリオでも同曲を1つのデータとして共有できるのであれば、今後の事を考えるとその方が良いと思います。

懸案

  • 既存シナ全てに影響するため、最低限、スタッフ全員の同意のもとで行いたい
  • 標準楽曲は番号で良いか(識別が意外と面倒なので、一単語で命名しておいた方が良さそう)

敵リストへの撃破チェック追加

#39 からの派生です。
RYUさんの要請を受けて、1シーンに複数敵が発生する場合にのみ、
行先頭にチェックボックスを表示します。

あくまでその敵を撃破したかどうかを自己管理するためのもので、機能は持ちません。
マニュアルでフォローできればと思いますが、一寸わかりにくい場合には、オンオフのアイコンにした方が良い、かも?

free1~3属性の固定値指定

scene要素のfree1~3属性について、現在は指定値を加算/減算するだけですが、
実は決め打ちで「この値にしたい」という要件がありそうに思えました。
@Salvadors-cabin さんのラミディアなどでWP、DP、金貨などはそんな感じ?

<scene free1="!15">

こちらは必要であれば実装する、というレベルなので、必要かどうか声がけください。

モンスター/罠リストのアイコン画像化

#39 からの派生です。
手軽にできるものから対応していければと思います。

  • モンスター一覧のアイコン追加
  • attack属性の修正
  • element属性の修正(非互換)

本件、GitHub Pagesのみで対応済みで、Playgroundだけ本件に対応したデータに移行しています(10/15 17:00現在)。他のシナリオでは敵表示が乱れるので注意してください。
少し待って問題なさそうであれば、各シナリオの修正をお願いしていければと思います。

対応表(コードより抜粋)

// 状態異常&攻撃の表示名
state_names: { '': '正常', 'poison': '毒', 'frozen': '凍結', 'stone': '石化', 'curse': '呪い', 'forget': '忘却', 'physics': '物理', 'magic': '魔法' },
// 属性の表示名
element_names: { 'earth': '地', 'fire': '火', 'water': '水', 'wind': '風', 'spirit': '霊' }

一定確率で表示するボタンの設置

一定確率で表示すべき移動ボタンを実装したいと思います(たとえば以下は、40%の確率で表示されるボタン)。

[ボタンキャプション](リンク先番号 "rand40")

■ときのじさんご意見
演出としては有りかなとは思います。ただ、使用例のケースでは、「運が悪いと40%が引けずになかなかボタンが表示されない(ボタンに気付かない)」といった問題も出てくると思いますので、利用の際には注意が必要かもしれません。
※「魂の選択」では既に修正済みですが、KRM初期値によるルート分岐問題と類似しているかなと。

上記、まさに仰る通りかと思います。
用途としては、以下を想定しています。

  • 隠れシーン
  • 村中で任意人数の村人を登場させたい(1人だったり5人だったり、いつも同じ人がいる、という状況を避けたい)場合

ただし、後者はある程度確率は高くして、特定の人から話を聞くために、シーンを行き来しなければならない、という状況は防がなければならないと思います(そもそも、キーとなる人物については利用すべきではない)。

BONUSダイアログの表示崩れ

Windows8.1/Chrome 69.0.3497.81(64 bit)にて確認。
※iPhone/Safariでは該当アイテムが入手できず未確認

BONUSダイアログで<ギャルのパンティー>をクリックすると、ダイアログの上下に白い空白が表示されてしまう。
default

本文のルビ指定

文中にルビを振れるための文法を追加する。

${電子出版|でんししゅっぱん}

■ときのじさんご意見
個人的には必須とまではいかない印象なのですが、魔法やアイテム等の格好良い読み方、難しい読みの漢字など、ルビが振れると演出や読み易さも強化されると思います。
※以前、同人誌の台詞で漢字にルビが振られていて海外の読者様がとても助かった、というお話をお見掛けしたことがありますね。

仰る通りだと思います。純粋な追加案件で、互換性の問題もないので、記法などに追加のご意見がなければ、対応を進めたいと思います。

リンクボタンの条件に「or」が使いたい

ドラゴンモードの解放条件の件で、サルバさん経由でRYUさんからリンクボタンの仕様についてご相談がありましたので、情報を共有致します。

r1001:キングスライムと戦った:1:合体イベントは割愛で。
r1021:ゴブリンマスターと戦った:2:うぬの無力さ、その身で知れい!(オマエガナー)
r1028:オークキングと戦った:3:自称の王様って…キツない?
r1071:ブラッドフラッターと戦った:3:夕日♪輝~くフラッシュ逆光~に♪奴の影!!
r1072:レーベン繁殖期と戦った:4:俺の恋路をジャマする奴ぁ~俺に蹴られて死んじまえ!!
r1075:ホームラントロルと戦った:4:やったね、パパ!明日はホームランだ!(古い上によく知らない)

自分としては第一部を遊んでもらった事を条件にしたいのですが、ボスがらみの実績が裏ルートにしか無いのでこうなってしまいます。

ちょうどよい実績を新たに作る事も考えてますが、それだとすでにキッチリ遊んでる方がやり直さなければならない事になるので…

条件にorが使えると、上記or新規の例えば「クラーケンを倒した」にできていいんですが。

こちらの機能について「実装できそう」「代わりになりそうな機能がある」等、ご意見をいただけましたら幸いです。
よろしくお願い致します。

scenario.xml(サンプル&テンプレート)更新

Playgroundで利用している機能テスト以外の.xmlが古くなっているので、修正をかけます。

ただ、マニュアル、機能テストデータ、テンプレートと並行してのメンテナンスが困難になってきているため、以下のように再編の予定です。

  • 機能テストデータ(現状維持)
  • テンプレートにコメントとして要素/属性の説明を挿入
    • マニュアルからはGitHubの該当ページにリンク
  • Playgroundの[空テンプレート]は上記のものをもとに提供
    • [説明付きテンプレート](コメントあり)
    • [説明なしテンプレート](コメントなし)

以下制作中のテンプレート
https://github.com/snext1220/stext/blob/master/stext/playground/scenario_ref.xml

なお、最近のUpdateで @toki-sor1 さんのUtil「道場」も陳腐化しつつあり、どのように更新していくべきかは悩ましいところです。

現在、Playgroundに試験的に反映させていますが、イマイチ見難く、こちらで一本化するのは難しいかもしれません。皆様のご意見伺いながらではありますが、一旦、[Confirmed]を外して継続検討にさせていただくかもしれません。

SGML Script機能

シーン内での簡易なスクリプト機能を有効にします。
メモ段階です。

機能

  • ${set} 変数設定
  • ${p} 変数出力
  • ${func} マクロ定義
  • ${call} マクロ実行

「七惑星の欠片」をシナリオ側で自動加算させる機能

「戦国ソーサリアン外伝・上杉謙信の章」にて「全ての星を+4する事」と指示がありますが、繰り返してプレイする際に、手動で<七惑星の欠片>を加算するのがやや手間に感じられました。
(『少女は英雄を語りて』でも同様の指示があり、こちらも手間でした)

戦闘時にドロップする<七惑星の欠片>は、自動加算されなくても良いと思うのですが、シナリオ中で<七惑星の欠片>の加算が指示されている場合、自動的に加算される機能があると便利だと思います。
(減算については、欠片がないのに減算処理→エラー発生となるような気がするので、今まで通り手動が望ましいと思っています)

状態異常によるステの自動更新

ステータス画面で状態異常を選択した時の処理を自動反映

  • 毒:シーン単位のHP-1
  • 石化/忘却:経過シーン数の記録
  • 呪い:低い方のテキストボックスを黒潰し?(不要?)

#当初はステータス表示を変更しようと考えていましたが、矛盾が結構発生しそうなのでママとしました(将来的に自動計算時に加味すれば十分か)。

#18 の問題とも関連するため、あまり軽々しくは動かせませんが、操作性は格段に向上しそうです。

ドロップアイテムの指定

RYU さんから以前に出ていたリクエストを、備忘録的にこちらに移動しています。

実際やってみてやはり、敵が置いていく星は設定できるようになりませんかね?普通に計算式の後にでも。出現させる敵属性に制限がかかるのもあれなんですが、入手できる星の数も管理したい所です。

トースト表示に関する疑問や問題

以前からあったトースト表示に関する疑問と、戦闘計算結果がトースト表示される事に対する問題が発生すると考えたので別でIssue立てました。

以前から疑問だったのですが、トースト表示される時間ってランダムですか?
長文が一瞬しか表示されなかったり、数文字なのにずっと表示されたりするんですが…
しかも一度決まった時間は変更されないようで、一瞬しか表示されない長文をイライラしながらカチカチクリックする事も結構あります。

で、今回このままで行くと「戦闘計算結果がトースト表示される」という事で、今までのリザルトや敵説明のようにトースト内容を別で見たりもう一度見たり、ができないとなるとこれはもう…

「トースト表示はクリックするまで消えない」

を提案します。
今までは避けてこられたトースト表示の重複も戦闘計算結果では起こるので、次の表示分は表示待ちとして先の表示分がクリックされて消えたら次が表示、で。
もちろんずっと表示されてるのも困るので、シーンを移動したら強制的に待ち分も全て消える、で。
これは表示を見ずに進んでしまう可能性がありますが、さすがに自己責任でよいかと。

で、これであれば戦闘計算結果を見ながらステダイアを開いて色々な反映が出来るので、そのスレを自動計算に少しでも対応させるためには、これが最低限必要と考えていますが…

どうでしょうか?

[戻る]ボタンの廃止

著しく互換性を損なう可能性がある修正になります(特にドラスレは影響甚大)。まずは問題として提示していますが、システム内部の影響要調査のため、言うことが二転三転したらスミマセン

stars、free1/2の導入によって、[戻る]での移動によって何度も該当ステが加減算されるなど、問題が出始めています。今後、自動化を進めていくと、更に問題が顕著になっていくと思われます。

もともと[戻る]は潜在的な問題も多かった機能なので、この辺で廃止できればと。

代案

ないわけではないですが、正直避けたいものばかりでは。

  • [戻る]時にはstars属性などによる更新を無効化することは可能かも?(ただし、実装が複雑化する上、2個以上戻った時には同じことなので悩ましい。加算済みのシーンを記録するのは影響が大きすぎるのでお許しを)
  • シナリオ単位に[戻る]の有効/無効を選ばせる(こちらも、ルールの混在という意味でも、システムが複雑化するという意味でも、あまり気が進みません;)

開発用メモ

createScene: function(scene_num, cond)

createScene: function(scene_num, info)

  • prev:前sceneのid値
  • reverse:戻るによる移動か
  • cond:移動時の条件式

reverse時、prevロールバック、currentシーンの処理は行わない

updateXxxxx

  • Util.updateItems(scene.attr('items'));
  • Util.updateFlags(scene.attr('flags'));
  • Util.updateStars(scene.attr('stars'));
  • Util.updateFrees(scene.attr('free1'), scene.attr('free2'));
  • Util.updateResults(scene.attr('result')); …ロールバック不要

var cond = (item.indexOf('-') === 0);
if (reverse) { cond = !cond; }
if (cond) { ... }

  • 星はもとにもどせない!
  • updateStarsByMagicは元に戻せない(何で移動したかが不明)

ミニゲーム連携

ゲーム画面から外部のミニゲーム(たとえばオセロなど)を起動するための機能。ミニゲームの結果に応じて、処理を振り分けるなど。
ただし、画面サイズなども様々あることを考えると、何処迄連携するかは微妙で、場合によってはただ起動するだけ(結果の判定は手動)となる可能性も。であれば、現状のリンク機能だけでも?そもそもニーズがあるかも含め、ご意見いただければ幸いです。

■ときのじさんご意見
ミニゲームという発想は面白そうだと思いました!しかし、STextシナリオに組み込むとSTextの特徴である手軽さやテンポへの影響がやや気掛かりなので、個人的には、ミニゲームはミニゲーム単品で遊びたいという気持ちの方が強いですね。

確かに^^; 現時点で高度な連携が難しい&その他優先度の高い案件があると思われることから、追加でご意見がなければ一旦保留としたいと思います。

オリジナル曲が再生されない?

標準楽曲共通化&敵星ドロップ指定対応アプデ、ほぼ問題なく動作しましたがアプデ前は正常に再生されていた「stream-with-robins-1」(小鳥)が再生されません。
アプデで何か条件変更があったかと思うのですが…
考え付く所で
・ハイフンを無くす>曲名を「StreamWithRobins1」としてGBAT側も変更しGithubテストでSGML化してみましたがダメでした。
・最初もデータ量を減らさないと再生されなかったのでまた1.3MB>970MBに減らしてみましたがダメでした。
というかGithubテストでは再生されているので、オリジナル曲自体のサーバーへの入れ方がおかしい?

「直前のシーンへの戻る」機能

RYUさんからのリクエストです。
一元管理のために、勝手ながら、こちらへ移動させていただきました。

具体的には「キャッシュから直前のシーン番号を見て、そのシーンへ”進む”ように自動的に設定されるキー」という事です。 巻き戻す的な意味ではないので、素人考えですがあまり問題なくできそうな気がするのですが・・・

大きな文字が使える?

ちょっと気になっているのですが、GithubTestのプレイグラウンドにある「タイトルテスト1~3」と書かれた大きな文字、というのは文章などで設定できるのでしょうか?

scene要素のhp/mp属性

#39 からの派生です(以前戴いたリクエストの復活案でもあります)。

scene要素にHP/MP自動更新するためのhp、mp属性を追加したいと思います。
いずれもゼロ未満になっても特にガードはしない予定です。

<scene hp="-5" mp="-5">  … HP/MPをそれぞれ-5で更新
<scene hp="-5..-1"> … HPを-5~-1の範囲で更新
<scene hp="full"> … HPを全快

テキストでなんらかの説明があることを前提にしていますので、特にトーストなどの表示もしない予定です。

Nextサイトのバナー修正

先日の議論でNexrtMVが廃案になったことで、
Nextサイトトップ(http://www.web-deli.com/sorcerian/next/default.aspx )のバナーを
修正する必要があります。

大変お手数ですが、以下バナーのリサイズ版を作成戴くことは可能でしょうか。
http://www.web-deli.com/sorcerian/next/images2/stext00.png

bynameで、また、お忙しいところ恐縮ですが、ときのじさんご検討頂けますと幸いです(High扱いですが、対応はどこかで必須というだけで、急ぎというわけではございません)。

# 単純にリサイズのみにするか、デザインの変更も加えるかは、ときのじさんご判断にてお願いいたしますm(_ _)m

隠しフラグの削除機能

ネコで、アイテムをフラグ代わりに利用されていたことを受けてのIssueです。

従来、フラグの削除機能は「進行が戻ることはない」という理由から設けてきませんでしたが、リクエストがあれば、隠しフラグ限定で削除を可能にできればと思います。

<scene flags="-f01,-f02">

ネコについてはシーンを分ければ対応は可能なので、Scene30企画限定の問題(&優先順位は低め)とは思いますが、コンパクトに表せるのは悪いことではないので。

王さまbotの複数人管理について

王さまbotの複数人管理について、質問です。

例えばモーメントなどを作る時、「通知」の欄を
見ることがあるかと思います。
そうすると、他の人がログインしたときに
通知の数字が消えてしまいますよね・・・多分。

最新情報に気づきにくくなってしまうかなと思いますが、
なにか運用ルールはありますか?

モーメント制作に関して言えば、
ハッシュタグの検索だけでもなんとかなると思うので、
わたしの方では通知を見ない、という運用もできるかと思います。

メインで利用される方(今はときのじさん?)が
一番やりやすい運用にするのがいいと思いますので、
こうしてくれ、というのがありましたら
教えてください。

free3の追加

#7 よりの派生です。
ダイアログボックスのレイアウトを変更しない範囲で、ということで、まずはfree3を追加しました。
伴い、以下の要素も対応予定です。

  • ダイアログでのfree3属性の読み書き
  • scene要素のfree3属性
  • free3による分岐
  • GBAT2STextへのfree3追加

Tweetボタンへの対応

以下のご要望を受けてのIssueです。
https://twitter.com/ishikawanonoich/status/1051839680314888192

実装中にエラーが発覚したため、仕様を変更しています。ご了承ください

シーン内の任意の文字列を[Tweet]ボタンに反映可能にします。

  • ${tweet}~${/tweet}で該当箇所を括ることで、これをTweetボタン側で引用可能に
    • その配下ではMarkdownによる太字などは不可
    • ${tweet}の利用は1個/scene
  • シーン個別の設定の他に、シナリオ既定のテキストを指定可能に

SGML

<init>
  <intro description="王様の杖を探し出す駆け出しの物語" />
</init>

GBAT

intro:王様の杖を探し出す駆け出しの物語

10/16現在、対応し、GitHub Pagesにのみ反映しています。Playgroundのscene0~2へ移動することで変化を確認できるはずです(本番リリースにはdecember updateの非互換更新(element属性)への各シナリオの対応が必要です)

テキストカラーの追加

以前からあったテキストカラーにWhiteを追加します。

選択反転するまで判読できないテキストの用途で利用します。

4. みんな、%white%ソーサリアン%/%!

戦闘関連の半自動化&機能向上

#2 を受けて、Issueを分離しています。

互換性の問題が大きい問題の為、他の改定案件を先行しながら、進めます。
一度修正してしまうと、方向転換が困難のため、既存/将来シナの用途を想定しながらのご意見戴ければ幸いです。
# 本Issueの中でも、とりあえず影響の小さい1、2番目を優先して、3、4番目の対応は最後になるかと(現在は関連するテーマを見渡すためにまとめていますが、より具体化してきたところで更に分離の予定です)。

enemy要素にdrop属性(ドロップアイテム)を追加

<enemy drop="tue:3">

  • イベントアイテム、自由アイテム、七惑星の欠片などを指定可能(ただし、初期改定では欠片のみを許可)
  • drop属性無指定の場合は、従来通り、敵の属性に応じてカケラをランダム入手
  • 【懸案】[ステータス反映]ボタンで反映のため、イベントアイテムは入手忘れが心配

モンスター一覧のアイコン追加(ときのじさんへ要相談)

  • 各sceneに表示するモンスターの属性/攻撃方法をアイコン化
  • 項目追加にと伴う横幅の節約のため、アイコンで見た目をシンプル化

[ステータス反映]ボタンで反映

  • ボタンクリックでダメージ式をステータスに自動判定可能にする
  • プログラム的に認識できるよう、ダメージ式の制限を強化する(下記)
  • 【懸案】自動計算なので、ダイスの意味が曖昧に(ダイスクリックでボタンクリックが中途半端?)
  • 【懸案】ボタンを何度もクリックしてしまうおそれあり(トースト表示すべき?) → ボタンクリックでステータスダイアログを開くか(面倒だが、視覚的に確認はできる)
  • 【懸案】状態異常は自動化しないという意見あり(自動手動混在が中途半端なのが気になる)

ダメージ式の制限強化

以下の形式で統一する。

nL+nR+n-nSTR-nINT-nDEX-nKRM

ただし、以下の制約があります。

  • nは任意の数値
  • 符号(̟プラスマイナス)は差し替え可能
  • すべての項は省略可能&順番も入れ替え可能
  • カッコは利用できない

既存のシナリオでダメージ式を利用していないものは修正の必要あり(互換性の問題)

以下は実装用メモ

var ex = /([\+\-]?)(\d*)(R|L|STR|INT|DEX|KRM)?]?/gi;
var str = "-L+2R+2STR+5STR-350";
let result;
while ((result = ex.exec(str)) != null) {
  if (result[0] === '') { break; }
  console.log(result);
}

種族/性別などをシナリオごとに限定

シナリオ単位に生成される種族/性別/年齢を限定(=初期化)できるようにする。
「美しき花嫁」のように特定性別が前提となる、または「ロマンシア」のように特定の職業が前提となるシナへの対応が目的です。

<init>
  <constraint race="FIGHTER,WIZARD" sex="MALE" age="YOUNG"  />
</init>

上で挙げている他に、制限を付与したいものがあれば、リクエスト願います。

stars属性、魔法分岐ボタンの仕様変更

#18 で[戻る]ボタン廃止の問題が出ていますが、現在、[戻る]を廃止せずに、戻る時に状態をロールバックする方向も、並行して検討しています。

その場合には、以下の点が問題となります。

stars属性の減算

対象の星がゼロ未満になった場合にゼロ丸めをしていますが、ロールバックができなくなります。そのため、ゼロ未満になる場合に、そのまま負数にすることを検討しています(エラーにしても良いのですが、多分無敵モードが使いにくくなる)。あるいは減算は不可にするのもありかとは。

魔法分岐ボタン

同じく、魔法分岐ボタンでは移動先で星を減算していますが、[戻る]に際してどのボタンでの移動かが判定できないため、ロールバック不可の対象です。そこで、以下のように移動先でmagic属性を明示する方向にできないかと(元々のサルバさん案です)。

<scene magic="NOILA-TEM">

いずれも新機能の仕様変更になりますが、各シナリオに展開する前に、修正するならば修正した方が影響は押さえられるかと。

もちろん、そもそもロールバックせずに[戻る]ボタンを無効化すればいいではないか、と言うご意見もありかとは。

SText公式サイト刷新

原作31周年を過ぎてからの案件ですが、備忘録代わりに。
時間はありますが、今後活動方針にも依るかと思うので、ゆるゆると議論していければと思います。

前提

ウソサイト(0401)と、本物コンテンツ(AllAbout)の混在がそろそろ混乱のもとになりかけているので、Next姉妹サイトとしてのAllAboutサイトを作る時が来たのかなと。
また、世の中的にhttps対応が求められているのもその理由です。

基本は、メニューとヘッダーロゴだけを入れ替えて、ほぼ現状のNextサイトのテンプレートを再利用、程度で考えていますが^^;、これを機会に、こうした要素を入れておきたい、などあれば、このスレでご意見いただければ幸いです。

想定しているメニュー(左メニュー)

  • Next0401ページへのリンク(現在のAllAboutロゴのような感じで)
  • About(現在のAllAboutページ)
  • Gamebook(STextページを以下に分割)
    • About(概要)
    • Scenario(シナリオ・将来的には検索機能も)
    • Utility(ユーティリティ)
  • Gallery(0401と同様の感じ。作品ごとに)
  • Staff(新設。作品ごとに)

懸案

  • トップページ(現在の0401では15シナリオの起動メニュー)に相当する箇所をどうするか(ノーアイデア)
  • そもそもAll About企画の総合ページにするか(統一感はあるが、現時点ではSTextの比重は大きくアンバランス)、SText独立ページにするか(収まりは良いが、毎回サイト立ち上げはめんどい)

シーン内での簡易な条件分岐

謙信、ドラスレなど拝読していての案です(以前、Excelベースでも出ていた内容の亜案です)。

以下のような、特定のフラグ/アイテムを所有している場合にだけ表示されるブロックを表現できるようにしても良いのかなと。

${if i10}
i10を所有している場合にだけ表示されるテキスト
${/if}

現状でもシーンを分ければ良いだけなので、あまり複雑な実装まで手掛ける気はなく、フラグ/アイテムがある場合(複合条件はなし、not条件もなし)、程度かなと。

気軽に、あるフラグ/アイテムがある場合にテキストを追加したい場合の用途、を想定しています。
優先順位的には低だとは思いますが、完全に新機能なのと、実装する際には後から変更は影響が大きくなる恐れがあるため、互換性問題あり、としています。

欠片が2回目から正常に加算されない

Windows8.1/Chrome 69.0.3497.100(64 bit)にて確認。
「少女は英雄を語りて」で<七惑星の欠片>を加算するシーンが幾つもあり、
該当のシーンでは新たに「stars="2,2,2,2,2,2,2"」のような設定を加えました。

しかし、1回目の加算では「月2個」と正常に加算されるものの、
2回目の加算から「月22個」という風に加算され、
3回目の加算では「月222個」という風になってしまいます。

default

O/Dにシナリオ最新版(修正中)とセーブデータをアップ致しました。
(欠片入手前にフラグを取得するシーンがあるため、データには余裕を持たせています)

以下のシーンにて動作のご確認をお願い致します。

  • Scene 09113 → 09100(正常加算)→ 中略 → 13000(異常加算)

※デバッグの方でページを指定して各シーンに飛んだ時には、2回目も正常に
 加算されていたりと、症状が出る条件がいまいちよく分かりません…。
(02:22追記:欠片を入手したシーンで「SAVE STATUS」を押すと再現できました。
 右上の×アイコンで閉じた時は、この症状が出ませんでした)

敵星と説明トーストがおかしく?

Githubtestでbgmテスト中ですが、bgmは正常に鳴っていますが敵が置いていく星の表示が「undefined」となり、説明文トーストも切れています。
ともに現状のままで対応だったと思いますが…

githubtest
to-suto1
to-suto2
gbat

表組みのスタイル付け

表組みについて、現在、STextでは明確なスタイルが定義されていないため、表は枠線が出ない、など若干使いづらい面がありました。

これらを利用できるように、スタイルを追加できればと。

戦闘関連の半自動化(互換性維持版)

#10 が長引いているため、一旦そちらをCloseにし、新たなIssueを立ててまいります。
諸々ご意見戴いて、やはり非互換更新は難しいと判断したため、最大限、互換性を維持する案としてまとめ直しています。
※但し、**としては大きな修正となるため、[Compatibility]を付けています。

1

以下詳細です(以前のIssueからの引継ぎもあり)。

★済★モンスター一覧のアイコン追加など、デザインの修正

  • 各sceneに表示するモンスターの属性(5種類)/攻撃方法(7種類)をアイコン化
  • 項目追加にと伴う横幅の節約のため、アイコンで見た目をシンプル化
  • ステータス変更のためのボタン(後述)のデザインも見栄え要検討

@toki-sor1 さん>本IssueがConfirmedになったところで詳細相談させてくださいm(_ _)m

★済★attack属性の修正

  • これまでは「物理」「魔法」「毒」などの値を受けていましたが、「physics」「magic」「poison」...などに改める
  • 旧値の場合は、後続の自動計算機能は無効化(互換性維持)
  • つまり、「物理毒」のような独自値も引き続き許容する

★済★element属性の修正(非互換)

  • 同様に、設定値をearth、water、fire、wind、spiritに改める
  • 当初、表示するだけであれば表示値で、としたのですが、設定時の誤りの原因になったり、独自拡張が出てしまったので、今後はできるだけ英単語の設定値を決めたいと思います。
  • 今回、唯一の非互換です。

[ダメージ式]ボタンでダメージ値を反映

  • [L-STR]のようなボタンクリックでダメージ式、状態異常をステータスに自動反映する
    • 複数回クリックできるので、基本的な戦闘には対応できるはず
  • プログラム的に認識できるよう、ダメージ式の制限を強化する(下記)
  • 与えた結果はトーストで表示し、ユーザーが認識できるように
  • 【懸案】自動計算なので、ダイスの意味が曖昧に(ダイスクリックでボタンクリックが中途半端?)

ダメージ式の制限強化

以下の形式で統一する。

nL+nR+n-nSTR-nINT-nDEX-nKRM-nFREE1-nFREE2-nFREE3

ただし、以下の制約があります。

  • nは任意の数値
  • 符号(̟プラスマイナス)は差し替え可能
  • すべての項は省略可能&順番も入れ替え可能
  • カッコは利用できない

既存のシナリオで戦闘自動化に対応する場合、ダメージ式を修正戴く必要があるかもしれません(ここは非互換といえばそうですが、先の通り、自動化を見送るという選択肢もあり)

追加仕様:ダメージ式を「*」はじまりとすることで、自動計算を抑制し、互換性を維持する(表示時には「*」は除去される)。

★済★[ドロップアイテム]ボタンで星、freeXに反映

  • [火星×3]のようなボタンクリックで該当する星を自動反映する
    • 複数回クリックできるので、ある程度柔軟に対応できるはず
    • 結果はトーストにて通知
  • 現状は星、FreeXのみを許可

皆さまへの質問

議論の発散を防ぐため、以下に議題ポイントをまとめました。お手数ですが、こちらに沿ってご回答戴けますと幸いです。

  1. 既存のシナで半自動化に対応できそうか(修正は勿論必要なものの、凡そは可能と見込んでいます)
    • ドラスレは旧仕様ママと想定すると、少女英雄が一番影響が大きい?(ラミディアは敵へのダメージのみと割り切れば適用できそう)
    • 修正できなさそうな場合は、該当箇所をお教え戴けますでしょうか
  2. 将来のシナでの利用に耐えられそうか(+αで必要な機能がある場合、お教えください)
  3. その他、上記の懸案について、ご意見お願いします

STextも気付いてみたら、Monthly Updateでその他の(半)自動化が強化された結果、大きなところでは戦闘の自動化を残すのみとなってきました。是非、皆さまのご意見をお待ちしております。
# この改定+簡易ステータス表示をもう少し強化すれば、ステータスダイアログを開く機会が極端に減るのかな、と期待しています。

実装用メモ

var ex = /([\+\-]?)(\d*)(R|L|STR|INT|DEX|KRM|FREE1|FREE2|FREE3)?]?/gi;
var str = "-L+2R+2STR+5STR-350";
let result;
while ((result = ex.exec(str)) != null) {
  if (result[0] === '') { break; }
  console.log(result);
}

[ドロップアイテム]ボタンで星、freeXに反映

#39 からの派生です。

互換性には影響しない& #39 でも殊更に反対意見がないようだったので、実装してみました。現在、GitHub Pagesのみ反映していますので、ご確認戴けますと幸いです。

@toki-sor1 さん>ボタンは暫定的にデザインしていますが、枠線色、背景色、文字色など良いものがあればご指定願いますm(_ _)m

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.