Project1

标题: 随机替换敌人组中的敌人角色 [打印本页]

作者: j296196585    时间: 2020-11-23 20:47
标题: 随机替换敌人组中的敌人角色

随机替换敌人组中的敌人角色。

请在敌人角色的备注字段中将标签如下。
  <随机敌人:敌人角色ID>
  <RandomEnemy:敌人字符ID,敌人字符ID,敌人字符ID>
  0隐藏。

示例
<随机敌人:0,0,1,1,2,3>

  注意!
不要使用下面的标签,因为它们会导致无限循环。
  <RandomEnemy:0>
*未经作者许可,可以修改和重新分发,
*使用方式没有任何限制(商业用途,18种禁止使用等)。

RUBY 代码复制
  1. /*
  2. * --------------------------------------------------
  3. * MNKR_RandomEnemies Ver.1.0.2
  4. * Copyright (c) 2020 Munokura
  5. * This software is released under the MIT license.
  6. * [url]http://opensource.org/licenses/mit-license.php[/url]
  7. * --------------------------------------------------
  8. */
  9.  
  10. /*:
  11. * @target MZ MV
  12. * @url [url]https://raw.githubusercontent.com/munokura/MNKR-MZ-plugins/master/MNKR_RandomEnemies.js[/url]
  13. * @plugindesc 敵グループの敵キャラをランダムに入れ替えます。
  14. * @help
  15. * 敵グループの敵キャラをランダムに入れ替えます。
  16. *
  17. * 敵キャラのメモ欄に下記のようにタグを入れてください。
  18. * <RandomEnemy:敵キャラID>
  19. * <RandomEnemy:敵キャラID,敵キャラID,敵キャラID>
  20. * 0は非表示になります。
  21. *
  22. * 例
  23. * <RandomEnemy:0,0,1,1,2,3>
  24. *
  25. * 注意!
  26. * 下記のタグは無限ループが発生するため、使用しないでください。
  27. * <RandomEnemy:0>
  28. *
  29. * プラグインコマンドはありません。
  30. *
  31. *
  32. * 利用規約:
  33. *   MITライセンスです。
  34. *   [url]https://ja.osdn.net/projects/opensource/wiki/licenses%2FMIT_license[/url]
  35. *   作者に無断で改変、再配布が可能で、
  36. *   利用形態(商用、18禁利用等)についても制限はありません。
  37. */
  38.  
  39. (function() {
  40.     'use strict';
  41.  
  42.     Game_Troop.prototype.setup = function(troopId) {
  43.         var condition = true;
  44.         while (condition) {
  45.             this.clear();
  46.             this._troopId = troopId;
  47.             this._enemies = [];
  48.  
  49.             this.troop().members.forEach(function(member) {
  50.                 var randomEnemyId = selectEnemyId($dataEnemies[member.enemyId]);
  51.                 var enemy = new Game_Enemy(randomEnemyId || member.enemyId, member.x, member.y);
  52.                 if (randomEnemyId === 0 || member.hidden) {
  53.                   enemy.hide();
  54.                 } else {
  55.                   condition = false;
  56.                 };
  57.                 this._enemies.push(enemy);
  58.             }, this);
  59.             this.makeUniqueNames();
  60.         };
  61.     };
  62.  
  63.     function selectEnemyId(arrayData) {
  64.         if (!arrayData.meta.RandomEnemy) {
  65.             return null;
  66.         };
  67.         var pool = JsonEx.parse( `[${arrayData.meta.RandomEnemy}]` );
  68.         return Number(pool[Math.randomInt(pool.length)]);
  69.     };
  70.  
  71. })();






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1