//============================================================================= // MT_ChangeMoveSpeed.js // 移動速度を補正するプラグイン // ---------------------------------------------------------------------------- // (C) 2019 Moooty //============================================================================= /*: * @plugindesc Change Move Speed. * @author Moooty * * @param playerWalkSpeedRate * @desc Player(and Follower)'s move speed rate(default:1) * @type number * @decimals 2 * @default 1.00 * * @param vehicle1MoveSpeedRate * @desc Vehicle1(Boat)'s move speed rate.(default: 1) * @type number * @decimals 2 * @default 1.00 * * @param vehicle2MoveSpeedRate * @desc Vehicle2(Ship)'s move speed rate.(default: 1) * @type number * @decimals 2 * @default 1.00 * * @param vehicle3MoveSpeedRate * @desc Vehicle3(Airship)'s move speed rate.(default: 1) * @type number * @decimals 2 * @default 1.00 * * @param eventSpeedRate * @desc Map Event's move speed rate.(default: 1) * @type number * @decimals 2 * @default 1.00 * * @help * === Description === * Multiply move speed by plagin paramter. * * Nothing plugin commnad this plugin. * * * === Change Log === * Apr 18, 2019 ver1.00 Initial release. * Nov 24, 2019 ver1.10 Rename plugin file.(ChangeMoveSpeed → MT_ChangeMoveSpeed.js) * * === Manual & License(Japanese) === * https://www.5ing-myway.com/rpgmaker-plugin-change-move-speed/ * */ /*:ja * @plugindesc 移動速度を補正 * @author むーてぃ * * @param playerWalkSpeedRate * @text プレイヤーの移動速度補正 * @desc プレイヤーとフォロワー(仲間)の移動速度補正(デフォルト:1倍) * @type number * @decimals 2 * @default 1.00 * * @param vehicle1MoveSpeedRate * @text 乗り物1の移動速度補正 * @desc 乗り物1の移動速度補正(デフォルト: 1倍) * @type number * @decimals 2 * @default 1.00 * * @param vehicle2MoveSpeedRate * @text 乗り物2の移動速度補正 * @desc 乗り物2の移動速度補正(デフォルト: 1倍) * @type number * @decimals 2 * @default 1.00 * * @param vehicle3MoveSpeedRate * @text 乗り物3の移動速度補正 * @desc 乗り物3の移動速度補正(デフォルト: 1倍) * @type number * @decimals 2 * @default 1.00 * * @param eventSpeedRate * @text マップイベントの移動速度補正 * @desc マップイベントの移動速度補正(デフォルト:1倍) * @type number * @decimals 2 * @default 1.00 * * @help * === 説明 === * 移動速度を変更できるプラグインです。 * * このプラグインにはプラグインコマンドはありません。 * * === 更新履歴 === * 2019/04/18 ver1.00 初版 * 2019/11/24 ver1.10 ファイル名変更(ChangeMoveSpeed → MT_ChangeMoveSpeed.js) * * === マニュアル&ライセンス === * https://www.5ing-myway.com/rpgmaker-plugin-change-move-speed/ * */ var Imported = Imported || {}; Imported.MT_ChangeMoveSpeed = true; (function(){ 'use strict'; const PLUGIN_NAME = "MT_ChangeMoveSpeed"; var parameters = PluginManager.parameters(PLUGIN_NAME); var playerMoveSpeedRate = getParameterValue(parameters['playerWalkSpeedRate'], 1); var vehiclesSpeedRate = []; vehiclesSpeedRate.push(getParameterValue(parameters['vehicle1MoveSpeedRate'], 1)); vehiclesSpeedRate.push(getParameterValue(parameters['vehicle2MoveSpeedRate'], 1)); vehiclesSpeedRate.push(getParameterValue(parameters['vehicle3MoveSpeedRate'], 1)); var eventSpeedRate = getParameterValue(parameters['eventSpeedRate'], 1); // ---------- rpg_object.js の変更ここから ---------- // Game_CharacterBase // 元の式に移動速度補正をかける var _Game_CharacterBase_distancePerFrame = Game_CharacterBase.prototype.distancePerFrame; Game_CharacterBase.prototype.distancePerFrame = function() { return _Game_CharacterBase_distancePerFrame.call(this) * this.moveSpeedRate(); }; // メソッド追加(速度補正取得) Game_CharacterBase.prototype.moveSpeedRate = function(){ return this._moveSpeedRate; }; // Game_Player var _Game_Player_initialize = Game_Player.prototype.initialize; Game_Player.prototype.initialize = function() { _Game_Player_initialize.call(this); this._moveSpeedRate = playerMoveSpeedRate; }; // メソッド追加(速度補正取得) Game_Player.prototype.moveSpeedRate = function(){ if($gamePlayer.vehicle() != null){ if($gamePlayer.vehicle()._driving){ return $gamePlayer.vehicle()._moveSpeedRate; } } return this._moveSpeedRate; }; // Game_Follower var _Game_Follower_initialize = Game_Follower.prototype.initialize; Game_Follower.prototype.initialize = function(memberIndex) { _Game_Follower_initialize.call(this, memberIndex); this._moveSpeedRate = playerMoveSpeedRate; }; // Game_Vehicle var _Game_Vehicle_initialze = Game_Vehicle.prototype.initialize; Game_Vehicle.prototype.initialize = function(type) { _Game_Vehicle_initialze.call(this, type); if (this.isBoat()) { this._moveSpeedRate = vehiclesSpeedRate[0]; } else if (this.isShip()) { this._moveSpeedRate = vehiclesSpeedRate[1]; } else if (this.isAirship()) { this._moveSpeedRate = vehiclesSpeedRate[2]; } }; // Game_Event var _Game_Event_initialize = Game_Event.prototype.initialize; Game_Event.prototype.initialize = function(mapId, eventId) { this._moveSpeedRate = eventSpeedRate; _Game_Event_initialize.call(this, mapId, eventId); }; // ---------- rpg_object.js の変更ここまで ---------- // ---------- パラメータ取得用関数ここから ---------- // @type numberのパラメータでも文字列を入れることができてしまう対策 function getParameterValue(param, defaultValue){ var result = Number(param || defaultValue); if(Number.isNaN(result)){ result = defaultValue; } return result; }; // ---------- パラメータ取得用関数ここまで ---------- })();