RPGツクールMV
ツクールMV
RPGMakerMV

自動戦闘時の行動を完全にランダムにする

味方アクターに「自動戦闘」をつけた際、行動はその結果(与ダメ等)を事前に評価して決定される。
つまりそこそこ賢く戦ってくれるというわけだ。
(自動戦闘についてはこの記事が非常に参考になった)

だが、むしろ頭が悪い方がありがたいという場合もある。
その場合は、以下のコードで行動を完全にランダムにすることができる。
(自前のプラグインなどにつっこもう)

単純にランダムに
Game_Action.prototype.evaluate = function() {
  return Math.random();
};

以下のように色々いじくれば、条件や優先度を設定することもできる。

特定アクターのみランダム
var _Game_Action_evaluate = Game_Action.prototype.evaluate;
Game_Action.prototype.evaluate = function() {
  // 72番のアクターのみランダム
  if(this._subjectActorId == 72) {
    return Math.random();
  }
  return _Game_Action_evaluate.call(this);
};
特定スキルは優先
Game_Action.prototype.evaluate = function() {
  var val = Math.random();
  // Skill68番を優先
  if(this.isSkill() && this._item._itemId == 68) {
    val *= 2;
  }
  return val;
};