まるちゃん 2019/10/15 16:18

ツクールにおける召喚魔法の作成について(敵の数を増やすスクリプトは暫定でおいておきます)

(2019/10/17)諦めました!
こういうスキルを作ることにしました
敵全体の戦闘不能なメンバーを対象にする
それらを復活させてアンデットとする
アンデットは味方をランダムに攻撃する
新しい記事でこれを少しまとめたい


いくつかやるべきことを決めよう
・敵のHP表示の調整(新たに作るかも?)
・召喚魔法の作成
・スキルのアニメーション設定
・敵のステータスの決定(遊びながら作る)
・敵の経験値とゴールドの設定(わからん)
・魔法の装備(遊びながら作る)
・装飾品の作成(これはすぐ作るべき)
・アーティファクトの作成(ダンジョン制覇記念)

アーティファクトについて
ドラクエの賢者の石みたいなすごくいい感じのアイテムだったり
持っているだけでつよつよな感じのやつがほしい
ドロップは固定にするかランダムにするか悩む

変数に最大出現数を設定してモンスターの数を増やします
増やし方は敵グループに設定しているモンスターを適当に

モンスター出現数.txt (2.50kB)

ダウンロード

召喚魔法について悩んでいます。やっぱりほしい
今回のゲームではパーティーの人数は控えを入れないで4人と決めています
しかし、召喚魔法をつくるということはパーティーに1人ついかすることになります
僕はスクリプトを作るとき他のゲームでも使えるように考えながら作成します
そのため今回のゲームではパーティー人数を考慮しなくてよくても
他のゲームで作るとき使用する可能性があるので無視して作りたくありません

戦闘に参加するメンバー数が変化すると起こる問題は
召喚魔法を使用したあとにメンバーの入れ替えをすることで
規定以上のメンバーを無理やり参加させることが可能になることです

そしてもう1つ作るルールとしてはHPをもたないということ
~~タッツウ召喚という特技がテリーのワンダーランドでありました
やっぱりこれもHPを持ちません~~
HPを持つということはステータスとして表示する必要があり
プレイヤーは召喚した対象も死なないように回復魔法をかけると考えます
召喚魔法はバフが乗るものとして考えたほうが面白いのです
Game_Battler をスーパークラスにもつオブジェクトであるべきです
さらに行動順序の決定には俊敏性の情報が必要です
テリワンではタッツウが行動する順番はいつも最後に行われていました

これを許すことができれば楽に作れると思います
ターン終了時に発動する自動スキルを習得するステートを作成すればいいのです
このスキルはコモンイベントを呼び出して擬似的な行動を作成すればよいのです
このとき問題としては複数召喚することができないということです
やっぱりTPをいい感じに増やして複数体召喚できたほうが強くて面白いです

コモンイベントでアクターを追加すればいいと考える人もいます
しかしアクターは区別することができません(たしか)
もし召喚魔法を扱えるアクターが複数いたときバグとなります
冥界にいるアンデットナイトは1人だけだから1体しか召喚できない設定にして
バグではないと主張することはできます
もちろん回避手段として全員召喚魔法が使えたと仮定して
4体分の召喚対象を作ることで回避することはできます
しかし、このやり方だと最大で4体しか召喚できません
いっぱい作っておけば大丈夫だろうという安易な考えに流れてもいいかもしれません
36人召喚対象を作っておいたけれど
意地悪な人がいて37人目の召喚ができませんとか言われるかも?

なんとなくだけど取っ掛かりが見えました
パーティーメンバーは4人しかいないけれど
戦闘に参加できる最大メンバーを8人と決めます
そうして召喚対象は戦闘メンバーとして加算することにします
召喚対象は最大で7体つくれば問題がおきない

でも召喚魔法の魅力は戦闘メンバーを増やせるところにある気がします
これを許せるかどうかが今後の鍵だと思います

【しょうかん】 - ドラゴンクエスト大辞典を作ろうぜ!!第三版 Wiki*
パーティとは別グループとして管理されるらしい
(ドラクエの召喚はHPを持つみたいです)
$game_party と $game_troop があるけれど新たなクラスをつくればいい?
行動決定のときや味方全体、敵全体が対象のときはどうする?
バフだけを受け付けるとかだと面倒だ。一切受け付けないほうが楽
BattleManager の make_action_orders で行動順を決定する

Game_Party に @summons というインスタンス変数を作ることにしました
members のときに @summons を追加することで
戦闘参加人数を変化させることなく召喚魔法を作れます
Game_Party に target_actor という関数があり謎です
これは戦闘中に使用しないで MenuActor で使うみたいなので大丈夫だと思う
うまく仲間に加えることができませんでした

諦めて戦闘メンバーを拡張してコピーを追加する形にしました
`
class Game_Actors
def summon(actor_id)

@data[@data.size + 1] ||= Game_Actor.new(actor_id)

end
end
`
`
class Game_Party
def summon(actor_id)

battler = $game_actors.summon(actor_id)
@actors.push(battler)
$game_player.refresh
$game_map.need_refresh = true

end
end
`

convert Game_Actor into Integer のエラーを吐いてだめでした
戦闘上限を8にして7人のメンバーを作るのは嫌だ
スキルがパワーアップして弱くなるけど2人召喚とかしたい
そうしたら7人加えて、さらに挑発が使えるのも入れたいとかなると
21体のアクターを作るっていうのがかっこ悪い

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

限定特典から探す

記事を検索