princess-synergy/www/js/plugins/JsScript55Set.js
2026-02-05 14:03:22 -06:00

336 lines
13 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*:
* @plugindesc
* @author ぬぷ竜
*/
Game_Interpreter.prototype.SetPlayerImg = function (ImgName, No) {
this.SetCharaImg(1, ImgName, No)
$gamePlayer.refresh();
};
Game_Interpreter.prototype.SetCharaImg = function (AcID, ImgName, No) {
$gameActors.actor(AcID).setCharacterImage(ImgName, No);
};
Game_Interpreter.prototype.EvStart = function (_EvId) {
try {
$gameMap._events[_EvId].start();
} catch (e) { console.log("イベント未発見エラー"); }
}
Game_Interpreter.prototype.PlayerSetPostion = function (setX , setY , direction) {
direction = typeof direction !== 'undefined' ? direction : -1;
$gamePlayer.setPosition(setX, setY);
$gameMap.setDisplayPos($gamePlayer.x - (Graphics.boxWidth / 48 / 2), $gamePlayer.y - (Graphics.boxHeight / 48 / 2));
if (direction != -1) {
switch (direction) {
case "下": $gamePlayer.setDirection(2);
break;
case "左": $gamePlayer.setDirection(4);
break
case "右": $gamePlayer.setDirection(6);
break
case "上": $gamePlayer.setDirection(8);
break
}
}
}
Game_Interpreter.prototype.TouchTriger = function (_Kyori) {
_Kyori = typeof _Kyori !== 'undefined' ? _Kyori : 1;
_Kyori = Math.abs(_Kyori);
let vvX = Math.abs(this.character(0)._realX - this.character(-1)._realX);
let vvY = Math.abs(this.character(0)._realY - this.character(-1)._realY);
if (vvX <= _Kyori && vvY <= _Kyori) {
return true;
} else {
return false;
}
};
let TouchTriger_Lock_Event = {};
Game_Interpreter.prototype.TouchTriger_Lock = function (_Kyori) {
if(TouchTriger_Lock_Event[this.character(0)._eventId] == undefined) TouchTriger_Lock_Event[this.character(0)._eventId] = false;
if(this.TouchTriger(_Kyori) && !TouchTriger_Lock_Event[this.character(0)._eventId]) {
TouchTriger_Lock_Event[this.character(0)._eventId] = true;
return true;
} else {
if(!this.TouchTriger(_Kyori)) {
TouchTriger_Lock_Event[this.character(0)._eventId] = false;
}
return false;
}
}
let TouchTriger_Lock_performTransfer = Game_Player.prototype.performTransfer;
Game_Player.prototype.performTransfer = function () {
TouchTriger_Lock_performTransfer.call(this);
TouchTriger_Lock_Event = {};
}
Game_Interpreter.prototype.SetPlayerMoveSpeed = function (_Speed) {
_Speed = typeof _Speed !== 'undefined' ? _Speed : 4;
this.character(-1).forceMoveRoute({
"list": [{ "code": 29, "parameters": [_Speed] },
{ "code": 0 }],
"repeat": false,
"skippable": true
});
this._character = this.character(-1);
this.setWaitMode('route');
}
let _BefMap = -1;
const _NupuBEv_onMapLoaded = Scene_Map.prototype.onMapLoaded;
Scene_Map.prototype.onMapLoaded = function () {
_NupuBEv_onMapLoaded.call(this);
$gameMap.events().forEach(function (_event) {
try {
if (_event._nzureApplied) return;
let _ckEv = _event.event();
let _NZRStr = MetaChecker(_ckEv, "NZure");
if (_NZRStr) {
let _NZRArr = _NZRStr.split(',');
let _NZR_x = Number(_NZRArr[0]);
let _NZR_y = Number(_NZRArr[1]);
if (Number.isInteger(_event._x)) {
_event._realX += _NZR_x;
_event._x += _NZR_x;
_event._realY += _NZR_y;
_event._y += _NZR_y;
}
}
_event._nzureApplied = true;
} catch (e) {
console.log("Err:NupuBEv_onMapLoaded", e);
}
});
};
Game_Interpreter.prototype.CheckAreaEvent = function (xSize , ySize) {
if (this.character(0)._realX <= this.character(-1)._realX &&
this.character(0)._realX + xSize > this.character(-1)._realX) {
if (this.character(0)._realY <= this.character(-1)._realY &&
this.character(0)._realY + ySize > this.character(-1)._realY) {
return true;
}
}
return false;
};
let NupuBEv_EvVarCIndexCng = Game_Player.prototype.performTransfer;
Game_Player.prototype.performTransfer = function () {
NupuBEv_EvVarCIndexCng.call(this);
$gameMap._events.forEach(function (_event) {
try {
let _ckEv = _event.event();
let _NZRStr = MetaChecker(_ckEv, "画VN");
if (_NZRStr != "") {
let _ckStrArr = _NZRStr.split(',');
let _ckChrStr = "";
let _ckIdxNo = -1;
if (_ckStrArr.length > 1){
_ckChrStr = $gameVariables.value(Number(_ckStrArr[0]));
_event._characterName = _ckChrStr;
_ckIdxNo = $gameVariables.value(Number(_ckStrArr[1]));
} else {
_ckIdxNo = $gameVariables.value(Number(_ckStrArr[0]));
}
_event._characterIndex = _ckIdxNo;
}
_NZRStr = MetaChecker(_ckEv, "画VN2");
if (_NZRStr != "") {
_ckChrStr = $gameVariables.value(Number(_NZRStr));
_event._characterName = _ckChrStr;
}
} catch (e) {
console.log("Err:NupuBEv_EvVarCIndexCng");
}
})
}
//使い方:ルートで:this.CGS(_X,_Y);
Game_Character.prototype.CGS = function (PosPX, PosPY) {
this.StepOff = true;
this._pattern = PosPX;
if (PosPY == 0) {
this._direction = 2;
}
if (PosPY == 1) {
this._direction = 4;
}
if (PosPY == 2) {
this._direction = 6;
}
if (PosPY == 3) {
this._direction = 8;
}
}
Game_Interpreter.prototype.TmpEvPCall = function (_EvId, _PageId) {
_PageId = typeof _PageId !== 'undefined' ? _PageId : 1;
this.NTM_execCallMapEvent([_EvId, _PageId]);
};
Game_Interpreter.prototype.TmpEvPCall_Sec = function (_EvId, _PageId) {
_PageId = typeof _PageId !== 'undefined' ? _PageId : 1;
this.NTM_execCallMapEvent([_EvId, _PageId]);
};
let NpCreatePluginParameter = function (pluginName) {
let paramReplacer = function (key, value) {
if (value === 'null') {
return value;
}
if (value[0] === '"' && value[value.length - 1] === '"') {
return value;
}
try {
return JSON.parse(value);
} catch (e) {
return value;
}
};
let parameter = JSON.parse(JSON.stringify(PluginManager.parameters(pluginName), paramReplacer));
PluginManager.setParameters(pluginName, parameter);
return parameter;
};
let TmParam = NpCreatePluginParameter('JsScript202Set');
let getArgNumber = function (arg, min, max) {
if (arguments.length < 2) min = -Infinity;
if (arguments.length < 3) max = Infinity;
return (parseInt(arg) || 0).clamp(min, max);
};
Game_Interpreter.prototype.NTM_execCallMapEvent = function (args) {
let pageIndex = getArgNumber(args[1], 1);
let eventId = getArgNumber(args[0]);
if ($gameMap.event(eventId)) {
this.callMapEventById(pageIndex, eventId);
} else if (args[0] !== '') {
this.NTM_callMapEventByName(pageIndex, args[0]);
} else {
this.callMapEventById(pageIndex, this._eventId);
}
};
Game_Interpreter.prototype.NTM_callMapEventByName = function (pageIndex, eventName) {
let event = DataManager.searchDataItem($dataTemplateEvents, 'name', eventName);
if (event) {
this.setupAnotherList(TmParam.KeepEventId ? null : event.id, event.pages, pageIndex);
}
};
//■マップのイベントをコピーして指定位置に配置(ID or 名前指定)
Game_Interpreter.prototype.CopyEvSet = function (_EvIdorName, _XPos , _YPos) {
let args = [String(_EvIdorName), String(_XPos), String(_YPos)];
this.pluginCommand("ERS_MAKE", args);
}
let SetAnimeNo = -1;
Game_Interpreter.prototype.PlayAnime = function (AnimeNo, SetX, SetY) {
AsetX = SetX / 48 + $gameMap._displayX;
ASetY = SetY / 48 + $gameMap._displayY;
if (AsetX <= 0) AsetX = 0;
if (ASetY <= 0) ASetY = 0;
let args = [String("NAnime"), String(AsetX), String(ASetY)];
SetAnimeNo = AnimeNo;
this.pluginCommand("ERS_MAKE_TEMPLATE", args);
}
Game_Interpreter.prototype.CopyTmpEvSet = function (_EvIdorName, _XPos , _YPos) {
let args = [String(_EvIdorName), String(_XPos), String(_YPos)];
this.pluginCommand("ERS_MAKE_TEMPLATE", args);
}
let Nupu_PrefabEvent_initialize = Game_PrefabEvent.prototype.initialize;
Game_PrefabEvent.prototype.initialize = function (mapId, eventId, originalEventId, x, y, isTemplate) {
Nupu_PrefabEvent_initialize.apply(this, arguments);
};
let Nupu_spawnEvent = Game_Map.prototype.spawnEvent;
Game_Map.prototype.spawnEvent = function (originalEventId, x, y, isTemplate) {
Nupu_spawnEvent.apply(this, arguments);
this._events[this._events.length - 1]._animationId = SetAnimeNo;
this._events[this._events.length - 1]._animationPlaying = true;
this._events[this._events.length - 1]._realX = x;
this._events[this._events.length - 1]._realY = y;
this._events[this._events.length - 1]._x = x;
this._events[this._events.length - 1]._y = y;
SetAnimeNo = -1;
};
Game_Interpreter.prototype.NAnime = function () {
if (!this.character(0)._animationPlaying) {
$gameMap.eraseEvent(this.character(0)._eventId);
}
};
Game_Interpreter.prototype.FadeOut = function (_Timer, _waitFlg) {
_waitFlg = typeof _waitFlg !== 'undefined' ? _waitFlg : true;
$gameScreen.startFadeOut(_Timer);
if (_waitFlg) this.wait(_Timer);
}
Game_Interpreter.prototype.FadeIn = function (_Timer, _waitFlg) {
_waitFlg = typeof _waitFlg !== 'undefined' ? _waitFlg : true;
$gameScreen.startFadeIn(_Timer);
if (_waitFlg) this.wait(_Timer);
}
Game_Interpreter.prototype.SelfSwCng = function (_EvId, _SwStr , _flg) {
_EvId = typeof _EvId !== 'undefined' ? _EvId : 0;
_SwStr = typeof _SwStr !== 'undefined' ? _SwStr : "A";
_flg = typeof _flg !== 'undefined' ? _flg : true;
let _mapId = this.character(_EvId)._mapId;
let _key = [_mapId, _EvId, _SwStr];
$gameSelfSwitches.setValue(_key, _flg);
}
Game_Interpreter.prototype.セルフスイッチ設定_A = function (_EvId , _flg) {
let _key = [$gameMap.mapId(), _EvId, "A"]
$gameSelfSwitches.setValue(_key, _flg)
}
Game_Interpreter.prototype.セルフスイッチ設定_B = function (_EvId , _flg) {
let _key = [$gameMap.mapId(), _EvId, "B"]
$gameSelfSwitches.setValue(_key, _flg)
}
Game_Interpreter.prototype.セルフスイッチ設定_C = function (_EvId , _flg) {
let _key = [$gameMap.mapId(), _EvId, "C"]
$gameSelfSwitches.setValue(_key, _flg)
}
Game_Interpreter.prototype.セルフスイッチ設定_D = function (_EvId , _flg) {
let _key = [$gameMap.mapId(), _EvId, "D"]
$gameSelfSwitches.setValue(_key, _flg)
}
Game_Interpreter.prototype.セルフスイッチ確認_A = function (_EvId) {
$gameSelfSwitches.value([$gameMap.mapId(), _EvId, 'A'])
}
Game_Interpreter.prototype.セルフスイッチ確認_B = function (_EvId) {
$gameSelfSwitches.value([$gameMap.mapId(), _EvId, 'B'])
}
Game_Interpreter.prototype.セルフスイッチ確認_C = function (_EvId) {
$gameSelfSwitches.value([$gameMap.mapId(), _EvId, 'C'])
}
Game_Interpreter.prototype.セルフスイッチ確認_D = function (_EvId) {
$gameSelfSwitches.value([$gameMap.mapId(), _EvId, 'D'])
}
Game_Interpreter.prototype.セルフスイッチ設定 = function (_MapId , _EvId , _Flg , _SelfArr) {
for (let i = 0; i <= _SelfArr.length - 1; i++) {
let _key = [_MapId, _EvId, _SelfArr[i]]
$gameSelfSwitches.setValue(_key, _Flg);
}
}
//透明度の変更::_透明度(0~255の透明度指定) _CNo(キャラNo -1:プレイヤー 0:発動イベント)
Game_Character.prototype.C透明度 = function (_透明度) {
_透明度 = typeof _透明度 !== 'undefined' ? _透明度 : 255;
this._opacity = _透明度;
}
Game_Character.prototype.Cワープ = function (_psX , _psY) {
this._realX = _psX; this._x = _psX;
this._realY = _psY; this._y = _psY;
}
Game_Interpreter.prototype.Ev強制Move = function (_mvX , _mvY) {
this.character(0)._realX += _mvX;
this.character(0)._x += _mvX;
this.character(0)._realY += _mvY;
this.character(0)._y += _mvY;
}
Game_Interpreter.prototype.Ev吹き出し表示 = function (iconId , waitFlg , evNo) {
waitFlg = typeof waitFlg !== 'undefined' ? waitFlg : true;
evNo = typeof evNo !== 'undefined' ? evNo : 0;
this.character(evNo).requestBalloon(iconId)
if (waitFlg) {
this._character = this.character(evNo);
this.setWaitMode("balloon");
}
}
Game_Interpreter.prototype.SetDirectionEv = function (character , eventId) {
let event = $gameMap.event(eventId);
let eventX = event.x;
let eventY = event.y;
let charaX = character.x;
let charaY = character.y;
if (charaX < eventX) {
character.setDirection(6);
} else if (charaX > eventX) {
character.setDirection(4);
} else if (charaY < eventY) {
character.setDirection(2);
} else if (charaY > eventY) {
character.setDirection(8);
}
}