【備忘録】ココフォリアに貼れるCoCとエモクロアのコマのコードフォーマットを作った話
こんにちは、カセダです。
卒業祝いで始発までカラオケで飲んだ翌日にこんなことをしています。
というのも、シナリオを作っているとNPCの頒布方法に手間取るんですよね。オフセが前提の公式シナリオと違って、オンラインでのセッションが主流となってきた現代ではシナリオからいかに早く卓の準備ができるかも重要になってきます。
ココフォリアはJavaで動作しているので、外部サイト(いあきゃら等)からJSONコードをコピー&ペーストすることで外部のデータを簡単に持ってくることができます。すごいね。
僕も詳しいことはわからないので、chatGPTに聞いてみました。
……?
頑張って解読した結果、
「文字と数値をセットで記憶できる」
「Java上で動作する」
ということがわかりました。
ステータスなどを持ってくることができる、なるほどTRPGのオンラインセッションに適してますね。
そこで僕は考えました。
「これ、フォーマット作ってNPCごとにコードをシナリオに貼ればめっちゃ便利なんじゃない?」
というのも、友人はNPCをそれぞれいあきゃらで作っていました。そのせいでマイページは大混雑。あーあ。
そこで心優しい僕が、ココフォリアに貼れるフォーマットコードを制作してやろうと思い立ったわけです。
早速、いあきゃらでサンプルのキャラを制作し、コードを書き出して数値を解析……ここでとんでもないことに気づきました。
{"kind":"character","data":{"name":"new char","initiative":50,"externalUrl":"https://iachara.com/char/5623792/view","iconUrl":null,"commands":"CC<={SAN} 【SAN値チェック】\nCC<=50 【アイデア】\nCC<=0 【幸運】\nCC<=50 【知識】\nCC<=25 【目星】\nCC<=20 【聞き耳】\nCC<=20 【図書館】\nCC<=25 【回避】\n1d3なし 【ダメージ判定】\n1d4なし 【ダメージ判定】\n1d6なし 【ダメージ判定】\nCC<=50 【STR】\nCC<=50 【CON】\nCC<=50 【POW】\nCC<=50 【DEX】\nCC<=50 【APP】\nCC<=50 【SIZ】\nCC<=50 【INT】\nCC<=50 【EDU】\n","status":[{"label":"HP","value":10,"max":10},{"label":"MP","value":10,"max":10},{"label":"SAN","value":0,"max":0}]}}
読みづれっ
そりゃそうです。そもそもこれは人が読むことは想定されておらず、ペーストしたココフォリアが読めればいいのだから。
しかし、僕が今やろうとしているのはそんなコードを人に読ませ、書き換えさせる作業。これではいけません。
早速改行でわかりやすくしてペーストしたら……エラー。
なんでだ!!!!助けてAI!!
「改行をエスケープさせな」
何???何それ?????
試行錯誤してやってみましたが、ここが限界でした。
{
"kind": "character",
"data": {
"name": "名前",
"initiative": 50,
"commands": "\nCC<=50 【近接戦闘:格闘】\nCC<=25 【回避】\nCC<=50 【STR】\nCC<=50 【CON】\nCC<=50 【POW】\nCC<=50 【DEX】\nCC<=65 【APP】\nCC<=70【SIZ】\nCC<=50 【INT】\nCC<=50 【EDU】\n",
"status": [
{"label": "HP", "value": 0, "max": 0},
{"label": "MP", "value": 0, "max": 0},
{"label": "SAN", "value": 0, "max": 0}
]
}
}
"commands"の欄に技能値が入るのですが、どうやらここを改行するとどうやってもココフォリア側との競合が発生するらしいです。
あとはこの数字を編集して、コピーしてココフォリアに貼るだけ。
そして、全く同じ容量でエモクロアも作りました。
{"kind":"character","data":{"params":[
{"label":"身体","value":"0"},
{"label":"器用","value":"0"},
{"label":"精神","value":"0"},
{"label":"五感","value":"0"},
{"label":"知力","value":"0"},
{"label":"魅力","value":"0"},
{"label":"社会","value":"0"},
{"label":"運勢","value":"0"}],
"status":[
{"label":"HP","value":10,"max":10},
{"label":"MP","value":10,"max":10},
{"label":"共鳴","value":10,"max":10}
],
"name":"名前",
"initiative":0,
"commands":"{共鳴}DM<= 〈∞共鳴〉\n({共鳴}+1)DM<= 共鳴判定(ルーツ属性一致)\n1DM<=3 〈*調査〉\n1DM<=3 〈*知覚〉\n1DM<=3 〈*交渉〉\n1DM<=3 〈*知識〉\n1DM<=3 〈*ニュース〉\n1DM<=3 〈*運動〉\n1DM<=3 〈*格闘〉\n1DM<=3 〈*投擲〉\n1DM<=3 〈*生存〉\n1DM<=3 〈*自我〉\n1DM<=3 〈*手当て〉\n1DM<=3 〈*細工〉\n1DM<=3 〈*幸運〉"}}
こっちもステータスは見やすいけど、技能の改行ができないのはめんどくさいですね。
最後にこのコードをチェックしてもらおうとchatGPTに送りつけたところ、
そんなところまで指摘してくる!?!?!?