sol-rui-after-mini/www/js/plugins/JsScript21Set.js
2024-01-30 18:01:34 -06:00

283 lines
9.8 KiB
JavaScript

/*:
* @plugindesc
* @author Nupuryu
* @help
*/
/*:ja
* @plugindesc
* @author Nupuryu
*
* @help
*/
var voiceOnFlg = false;
var voiceCname = "";
Game_Interpreter.prototype.PVoice = function (cname, vname) {
if ($gameSwitches.value(VoiceMuteSwNo) || VoiceVol == 0) {
} else {
var vvol = VoiceVol;
var onevol = AudioManager.seVolume;
AudioManager.seVolume = VoiceVol;
voiceOnFlg = true;
voiceCname = cname;
AudioManager.playSe({ "name": vname, "volume": vvol, "pitch": 100, "pan": 0 })
AudioManager.seVolume = onevol;
GalvSoundOnFlg = false;
}
}
Game_Interpreter.prototype.PlayBgm = function (SetName, SetVol, SetPic, SetPn) {
var SetVol = typeof SetVol !== 'undefined' ? SetVol : 90;
var SetPic = typeof SetPic !== 'undefined' ? SetPic : 100;
var SetPn = typeof SetPn !== 'undefined' ? SetPn : 0;
AudioManager.playBgm({ "name": SetName, "volume": SetVol, "pitch": SetPic, "pan": SetPn })
}
Game_Interpreter.prototype.PlaySe = function (SetName, SetVol, SetPic, SetPn) {
var SetVol = typeof SetVol !== 'undefined' ? SetVol : 90;
var SetPic = typeof SetPic !== 'undefined' ? SetPic : 100;
var SetPn = typeof SetPn !== 'undefined' ? SetPn : 0;
AudioManager.playSe({ "name": SetName, "volume": SetVol, "pitch": SetPic, "pan": SetPn })
}
Game_Interpreter.prototype.PlayBgs = function (SetName, SetVol, SetPic, SetPn) {
var SetVol = typeof SetVol !== 'undefined' ? SetVol : 90;
var SetPic = typeof SetPic !== 'undefined' ? SetPic : 100;
var SetPn = typeof SetPn !== 'undefined' ? SetPn : 0;
AudioManager.playBgs({ "name": SetName, "volume": SetVol, "pitch": SetPic, "pan": SetPn })
}
AudioManager.createBuffer = function (folder, name) {
var ext = this.audioFileExt();
var _nameArr = name.split('/');
var _folStr = "";
for (var i = 0; i <= _nameArr.length - 2; i++) {
_folStr += _nameArr[i] + '/';
}
var url = this._path + folder + '/' + _folStr + encodeURIComponent(_nameArr[_nameArr.length - 1]) + ext;
if (this.shouldUseHtml5Audio() && folder === 'bgm') {
if (this._blobUrl) Html5Audio.setup(this._blobUrl);
else Html5Audio.setup(url);
return Html5Audio;
} else {
return new WebAudio(url);
}
};
var voiceName = 'XXXXXXXXXXXXXXXXXXXXXXX';
var voicestflg = false;
AudioManager.playSe = function (se) {
if (se.name) {
this._seBuffers = this._seBuffers.filter(function (audio) {
return audio.isPlaying();
});
var sefilepass = 'se';
if (voiceOnFlg){
sefilepass = "voice/" + voiceCname;
voiceOnFlg = false;
voiceCname = "";
voiceName = se.name;
StopVoiceFlg = true;
}
voicestflg = true;
var buffer = this.createBuffer(sefilepass, se.name);
this.updateSeParameters(buffer, se);
buffer.play(false);
this._seBuffers.push(buffer);
}
};
var VoiceStop = WebAudio.prototype.stop;
WebAudio.prototype.stop = function () {
VoiceStop.call(this);
if (voicestflg) {
this._autoPlay = true;
}
};
WebAudio.prototype.play = function (loop, offset) {
if (this.isReady()) {
offset = offset || 0;
this._startPlaying(loop, offset);
} else if (WebAudio._context) {
this._autoPlay = true;
this.addLoadListener(function () {
if (this._autoPlay) {
this.play(loop, offset);
voicestflg = false;
}
}.bind(this));
}
};
var StopVoiceFlg = false;
Game_Interpreter.prototype.StopVoice = function () {
var encstr = encodeURI(voiceName);
AudioManager._seBuffers.forEach(function (buffer) {
if (buffer._url.match('/' + encstr + '.')) {
buffer.stop();
}
});
}
var VUpdateStopFlg = false;
var GInputUpdate = Game_Interpreter.prototype.NUpdate;
Game_Interpreter.prototype.NUpdate = function () {
if ($gameMessage._texts.length != 0 && StopVoiceFlg) {
StopVoiceFlg = false;
VUpdateStopFlg = true;
}
if ($gameMessage._texts.length == 0 && VUpdateStopFlg) {
this.StopVoice();
GalvSoundOnFlg = true;
VUpdateStopFlg = false;
}
GInputUpdate.call(this);
}
var FstCmnSaveFlg = false;
var FstVolCkFlame = 1;
var StartUpUpdate = Scene_Map.prototype.update;
var GameResetFlame = -1;
Scene_Map.prototype.update = function () {
if (FstVolCkFlame > 0) {
FstVolCkFlame -= 1;
if (FstVolCkFlame == 0) {
VoiceVol = $gameVariables.value(VoiceVolVarNo);
VolMuteFlg = $gameSwitches._data[VoiceMuteSwNo];
if (VolMuteFlg == undefined) {
FirstVolumeSet();
FstCmnSaveFlg = true;
}
AudioManager.masterVolume = Math.floor($gameVariables.value(MasterVolVarNo)) / 100;
}
}
if (GameResetFlame >= 0) {
GameResetFlame -= 1;
if (GameResetFlame == 0) {
location.reload();
}
}
StartUpUpdate.call(this);
}
var FirstVolumeSet = function () {
$gameSwitches._data[VoiceMuteSwNo] = false;
VolMuteFlg = false;
$gameVariables.setValue(MasterVolVarNo, F_MasterVol);
ConfigManager['bgmVolume'] = F_BGMVol;
ConfigManager['meVolume'] = F_BGMVol;
ConfigManager['seVolume'] = F_SEVol;
ConfigManager['bgsVolume'] = F_SEVol;
$gameVariables.setValue(VoiceVolVarNo, F_VoiceVol);
VoiceVol = F_VoiceVol;
ConfigManager.save();
}
AudioManager.playBgs = function (bgs, pos) {
if (bgs == undefined) return;
if (this.isCurrentBgs(bgs)) {
this.updateBgsParameters(bgs);
} else {
this.stopBgs();
if (bgs.name) {
this._bgsBuffer = this.createBuffer('bgs', bgs.name);
if (vbgsflg) {
this._bgsBuffer._volume = VoiceVol * 0.01;
}
this.updateBgsParameters(bgs);
this._bgsBuffer.play(true, pos || 0);
}
}
this.updateCurrentBgs(bgs, pos);
};
var vbgsflg = false;
var playingVoice = "";
Game_Interpreter.prototype.VBgsPlay = function (filename, bgsvolume) {
if (VolMuteFlg) {
} else {
var bgsvolume = typeof bgsvolume !== 'undefined' ? bgsvolume : -1;
if (playingVoice != filename) {
var args = new Array("2");
vbgsflg = true;
this.pluginCommand("PB_BGS_CHANGE_LINE", args);
if (bgsvolume != -1) {
AudioManager.playBgs({ "name": filename, "volume": bgsvolume, "pitch": 100, "pan": 0 })
} else {
AudioManager.playBgs({ "name": filename, "volume": VoiceVol, "pitch": 100, "pan": 0 })
}
playingVoice = filename;
vbgsflg = false;
var args = new Array("1");
this.pluginCommand("PB_BGS_CHANGE_LINE", args);
}
}
}
Game_Interpreter.prototype.VBgsStop = function (foutcount) {
var foutcount = typeof foutcount !== 'undefined' ? foutcount : 1;
playingVoice = "";
var args = new Array("2");
this.pluginCommand("PB_BGS_CHANGE_LINE", args);
AudioManager.fadeOutBgs(foutcount);
var args = new Array("1");
this.pluginCommand("PB_BGS_CHANGE_LINE", args);
}
class BGS_FA {
constructor(_Line, _EvNo, _Dist, _MaxVol) {
var _MaxVol = typeof _MaxVol !== 'undefined' ? _MaxVol : 70;
this._Line = _Line;
this._EvNo = _EvNo;
this._Dist = _Dist;
this._MaxVol = _MaxVol;
}
}
var BGS_FA_Arr = [];
var Nupu_BGS_FA_performTransfer = Game_Player.prototype.performTransfer;
Game_Player.prototype.performTransfer = function () {
Nupu_BGS_FA_performTransfer.call(this);
BGS_FA_Arr = [];
$gameMap._events.forEach(function (_event) {
try {
var _ckEv = _event.event();
var _LNoStr = MetaChecker(_ckEv, "BGS_FA");
if (_LNoStr != "") {
var _BGSArr = _LNoStr.split(',');
var _LineNo = Number(_BGSArr[0]);
var _DistNo = Number(_BGSArr[1]);
var _MaxVol = 70
if (_BGSArr[2] != undefined) {
_MaxVol = Number(_BGSArr[2]);
}
BGS_FA_Arr.push(new BGS_FA(_LineNo, _event._eventId, _DistNo, _MaxVol));
}
} catch (e) {
console.log("Err:Nupu_BGS_FA_performTransfer");
}
})
}
class Ck_BGSVol {
constructor(_Line, _Vol) {
this._Line = _Line;
this._Vol = _Vol;
}
}
var NupuAudio_NUpdate = Game_Interpreter.prototype.NUpdate;
Game_Interpreter.prototype.NUpdate = function () {
NupuAudio_NUpdate.call(this);
if (FstCmnSaveFlg) {
this.UTA_Save();
FstCmnSaveFlg = false;
}
var _CkValArr = [];
for (var _i = 0; _i <= BGS_FA_Arr.length - 1; _i++){
var _ckEv = $gameMap._events[BGS_FA_Arr[_i]._EvNo];
if($gameMap._events[BGS_FA_Arr[_i]._EvNo] == null) continue;
var _SaX = Math.abs(PL_realX - _ckEv._realX);
var _SaY = Math.abs(PL_realY - _ckEv._realY);
var _CkDist = (_SaX + _SaY) - 1;
var _SetVol = BGS_FA_Arr[_i]._MaxVol * (1 - ((_SaX + _SaY) / BGS_FA_Arr[_i]._Dist));
if (_SetVol <= 0) _SetVol = 0;
var _volCntFlg = false;
for (var _j = 0; _j <= _CkValArr.length - 1; _j++){
if (_CkValArr[_j]._Vol > _SetVol){
_volCntFlg = true;
}
}
if (_volCntFlg) continue;
_CkValArr.push(new Ck_BGSVol(BGS_FA_Arr[_i]._Line, _SetVol));
var args = new Array(String(BGS_FA_Arr[_i]._Line));
this.pluginCommand("PB_BGS_CHANGE_LINE", args);
var _NCkBGS = AudioManager._currentBgs;
if (_NCkBGS != undefined) {
var _NBGSStr = AudioManager._currentBgs.name;
AudioManager.playBgs({ "name": _NBGSStr, "volume": _SetVol, "pitch": 100, "pan": 0 })
}
}
}