#概要
D&D5版 SRDのモンスターデータについて、ユドナリウムのキャラクターデータを自動生成したのでその覚書。
ほぼ自分向けのメモ。
コマは以下にあるよ。
https://direboar.github.io/githubpage-test/dist/#/udonarium
#この記事書いた人のバックグラウンド
- Javaばっかりやってきた
- 最近は検証用のソースを書くことが多く、ちょこちょこNode.jsで書くようにしていた(がそこまで文法詳しくない)
#使った技術
- Node.js
- TypeScript
- Google Apps Script
#TypeScript
このへん見たりしながら導入してみた。以前仕事で少し使った程度だったがそんなに違和感なく使えた。nullに厳格だったりするあたりは最初ウザイなと思っていたが、慣れてくるとここにnullくる可能性あるのね、と気づくことができて良きってなった。
テストをjestでちょこっとだけ書いたんだけど、この辺参考にしたけどimportする際にエイリアスを設定する方法がうまくいかずハマった。
とりあえずエイリアス使わずにやってるんだがなんでだろこれ?
#XML解析
ユドナリウムはXML形式のファイルなので、XMLのパーサーが必要。また入力データ内にHTNLの断片が残っていて、これを解析するためにXMLのライブラリが必要。libxmljsが割と使いやすそうだったのでとりあえずこれを使った。
#翻訳APIの呼び出し
英文データの自動翻訳をしてみたかったので遊んでみた。DeepL翻訳はそこそこ課金がかかりそうだったので、このへんの記事を参考に、Google Apps Script経由でGoogle翻訳を呼び出して自動翻訳を行った。
これ結構いいね、個人用途で膨大ってわけじゃないデータ量だったら十分さばける。(今回だと1回の変換で、1000回以上は呼び出してそうだけど特に制限かからなかった。)遊びに使うには十分って感じか。
#ユドナリウムのコマに表示する画像ファイルの指定
imageIdentifierに、画像ファイルのSHA256ハッシュを指定するとよい模様。
<data name="image">
<data name="imageIdentifier" type="image">5dee937f4839d5c922bdd51ca80502ea3355e1bb29f69b214e78b936bf45f290</data>
</data>