noitaのmodを作ってみたい

noitaのmodを作りました。
敵を倒すと、普通の金塊ではなく血の金塊がドロップし、スペルかパークが1つドロップします。
常時詠唱、マナ高・容量低、素早い杖、常時詠唱の4つのパークのうちのいずれかがドロップする確率が15%、その他のパークが落ちる確率も15%、残りの70%でスペルがドロップします。
敵の体力と攻撃頻度にも倍率をかけました。

競合してしまうmodは調べておりません。
また、noitaの秘密に当たるスペルやパークがドロップする可能性もありますので、ネタバレ注意です。

乱数のシード値を現在の時間から取りたかったのがあまりうまくいかなかったので、乱数を扱いたいとき、その時の経過フレーム数で毎回シード値を再設定しています。
なので同じフレームで敵を倒すと一緒のものがドロップしてしまいます。

以下は制作ログ的な何かです。

7/20
noitaにはmodを作る人向けの規約が用意されているのでしっかりと目を通しておきます
Luaを使って記述していくので少々勉強しておきます
・ –[[ ]]でコメントアウト
・ 変数の型はあまり意識する必要がない(動的に変化する)
・ 変数はどこでも宣言でき、指定がない限りグローバル変数
・ if (条件式) then 処理 elseif(条件式) then 処理 else 処理 end
・ while (条件式) do 処理 end
・ Numeric for/for 初期値,終了値,増加量 do 処理 end/初期値のところでループ変数を宣言
・ function 関数名 (引数) 処理 end/戻り値はreturn
・ 変数に関数も代入できる
init.luaを作成しました
ナイトメアのinit.luaを読んで雰囲気をつかんでみます
7/21
ナイトメアのコピペで開始位置にパークは置けました
しかしどこの処理がお金を落とす部分になっているのかが分かりません
drop_moneyといういかにもそれっぽいものはあるのですがよく分かりません
このファイルの仕組みを理解してみようとは思いますが
7/22
敵を倒したときにパークを出させることに成功しました
3ついっきに出てしまうのですが、パークのテーブルを作ってそこからランダムで1つ当てて変数に入れてあげればperk_spawn_with_nameで呼び出せると思います。
確率でスペルとパークのどちらがドロップするかは制御するつもりですが、トリックキルだと敵を倒してもパークが落ちません。どうしてでしょう?
7/23
トリックキルでもパークは落ちるようにできました。
スタートした時点でどこでも杖編集とトリック血の金塊は強制的に所持している状態にしたいです。
→スタート時点でどこ杖とトリック血の金塊はとることが出来ました。
バランス調整も考えて出てくるパークのテーブルを作りたいです。
7/24
杖をスポーンさせたいです。とりあえずパーク3%、杖10%、スペル87%と言うふうに考えております。
敵の倍率もできるなら時間で傾斜をかけていきたいです。
7/25
杖をスポーンさせるのが私の技術力では無理だったので、敵を倒したときのドロップで杖強化系のパークが出やすくしてみます。
敵が倒れると、パーク5%、杖強化系のパーク3%、残りの92%でスペルという感じにしたいと思います。
7/26
perk_spawn_with_name関数に変数を入れたいんですけど反応しません。けっこう頑張ったのですが無理そうです。なので出現させたい84個のパークを全てifelseで済ませてしまいましょうか。非効率的ですが、プログラマーじゃないのでちょっと他の方法が思いつかなかったです。死ぬエンティティを生成するパークは処理が難しくなってしまうので省いてしまう予定です。
7/27
パークのドロップはできました。次はスペルをドロップさせます。単純に量が多いのでテーブルを作るのがより大変です。
8/24
お久しぶりです。何とか完成させることができました。
パークのテーブルを作るのに手こずっていました。(単純に量的に)


お問い合わせ(googleフォームリンク)
間違えの指摘等はこちらにお願いします 気軽に送信できます