dead-end-colosseum/www/js/plugins/JsScript39Set.js

1860 lines
77 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.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* 目次
戦闘開始処理command301::戦闘開始処理:初期
戦闘開始カットイン処理
ステータスの描画::行動ウィンドウの描画
プレイヤースキル表示::説明ウィンドウ描画
戦闘選択モード
戦闘決戦モード::戦闘ダメージ処理
戦闘終了リザルトモード
処理用
*/
let _BtlSaveVNArr = [51 , 54];
let _BtlSaveMoveVarArr = [];
let NupuBtl_Game_System_initialize = Game_System.prototype.initialize;
Game_System.prototype.initialize = function () {
NupuBtl_Game_System_initialize.call(this);
this.PL_SkillArr = [1 , 9 , 65 , 81 , 0 , 0, 0 , 0];
};
const CN_SkillLvUp = 504;
const CN_SkillLvDown = 505;
const STN_THMode = 2;
const SKN_THSkill = 130;
const VN_THSkLv = 30;
const VN_PL戦闘開始付与ステートID = 480;
const VN_戦闘ステ倍率 = 462;
const SNo_待機Skill = 81;
class _PL_Data {
constructor() {
this.hea = $gameVariables.value(VN_PLKenko);
this.sex = $gameVariables.value(VN_PLInran);
this._hp = $gameVariables.value(VN_PLHp);
this.mhp = $gameVariables.value(VN_PLHp);
this.atk = $gameVariables.value(VN_PLAtk);
this.def = $gameVariables.value(VN_PLDef);
this._hit = $gameVariables.value(VN_PLHit);
this._avo = $gameVariables.value(VN_PLkaihi);
this._pre = $gameVariables.value(VN_PLYomi);
this._tp = 0;
this.Do_Mp = $gameVariables.value(VN_FstMp);
this.Do_MaxMp = 20;
this.Enst;
this.Do_Arr = [0,0,0,0,0,0];
this.state = [];
this.stype = -1;
this.Skill;
this.APos = new Pos2D(836, 532);
this.dbgArr = [0,0];
this.EmFlg = false;
this.UseCost = 0;
this.UseCostRpts = 0;
this.UseTp = 0;
this._回避成功 = false;
this.PsvArr = [];
for (let i = 1; i <= $dataArmors.length - 1; i++) {
if(!$gameParty.hasItem($dataArmors[i], false)) continue;
if($dataArmors[i].atypeId == _ArmorType._パッシブ) {
this.PsvArr.push(i);
}
}
let _SskId = $gameActors._data[1]._equips[4]._itemId;
if(_SskId != 0){
this.PsvArr.push(_SskId);
}
let _WpId = $gameActors._data[1]._equips[0]._itemId;
this._hp += $dataWeapons[_WpId].params[0];
this.mhp += $dataWeapons[_WpId].params[0];
this.atk += $dataWeapons[_WpId].params[2];
this.def += $dataWeapons[_WpId].params[3];
this._hit += $dataWeapons[_WpId].params[4];
this._avo += $dataWeapons[_WpId].params[6];
this._pre += $dataWeapons[_WpId].params[7];
this.Do_MaxMp = $dataWeapons[_WpId].params[1];
let _WpAmId = Number(MetaChecker($dataWeapons[_WpId] , "パッシブ追加" , ""));
if (_WpAmId != "") {
this.PsvArr.push(_WpAmId);
}
}
get b_mhp() {
return this.mhp;
}
get b_atk() {
return _State変化後取得("atk" , this.atk , this , NEnemy);
}
get b_def() {
return _State変化後取得("def" , this.def , this , NEnemy);
}
get b_hit() {
return _State変化後取得("_hit" , this._hit , this , NEnemy);
}
get b_avo() {
return _State変化後取得("_avo" , this._avo , this , NEnemy);
}
get b_pre(){
return _State変化後取得("_pre" , this._pre , this , NEnemy);
}
}
let EmSt倍率 = function () {
return $gameVariables.value(VN_戦闘ステ倍率) / 100;
}
Object.defineProperties(Game_Enemy.prototype, {
b_mhp: { get: function() {
return Math.floor(this.mhp * EmSt倍率());
}
, configurable: true
},
b_atk: { get: function() {
let _RtnVar = _State変化後取得("atk" , this.atk * EmSt倍率() , this , NPlayer);
return Math.floor(_RtnVar);
}, configurable: true
},
b_def: { get: function() {
let _RtnVar = _State変化後取得("def" , this.def * EmSt倍率() , this , NPlayer);
return Math.floor(_RtnVar);
}, configurable: true
},
b_hit: { get: function() {
let _RtnVar = _State変化後取得("_hit" , this._hit * EmSt倍率() , this , NPlayer);
return Math.floor(_RtnVar);
}, configurable: true
},
b_avo: { get: function() {
let _RtnVar = _State変化後取得("_avo" , this._avo * EmSt倍率() , this , NPlayer);
return Math.floor(_RtnVar);
}, configurable: true
},
b_pre: { get: function() {
let _RtnVar = _State変化後取得("_pre" , this._pre * EmSt倍率() , this , NPlayer);
return Math.floor(_RtnVar);
}, configurable: true
}
});
Game_Enemy.prototype.enemy = function() {
if(MetaChecker($dataEnemies[this._enemyId] , "能力変数設定" , false) != false){
$dataEnemies[this._enemyId].params[0] = $gameVariables.value(VN_敵能力変数 + 0);
$dataEnemies[this._enemyId].params[2] = $gameVariables.value(VN_敵能力変数 + 1);
$dataEnemies[this._enemyId].params[3] = $gameVariables.value(VN_敵能力変数 + 2);
}
return $dataEnemies[this._enemyId];
};
let _State変化後取得 = function(_GetStr , _CngVar , _AChara , _BChara) {
_SetState = _AChara.state;
_PsvArr = _AChara.PsvArr;
let _RtnVar = _CngVar;
_PsvArr.forEach( _AmmId => {
let _Armor = $dataArmors[_AmmId];
for (let i = 0; i <= _Armor.traits.length - 1; i++) {
if(_Armor.traits[i].code != 11) continue;
switch(_Armor.traits[i].dataId){
case _Zoku._能力変化:
_RtnVar = Math.floor(_RtnVar * _Armor.traits[i].value);
break;
case _Zoku._瀕死時能力変化:
if(NPlayer._hp / NPlayer.mhp <= 0.2){
_RtnVar = Math.floor(_RtnVar * _Armor.traits[i].value);
}
break;
}
}
});
if(_BChara != null){
if(_BChara.PsvArr != undefined) {
_BChara.PsvArr.forEach( _AmmId => {
let _Armor = $dataArmors[_AmmId];
for (let i = 0; i <= _Armor.traits.length - 1; i++) {
if(_Armor.traits[i].code != 11) continue;
switch(_Armor.traits[i].dataId){
case _Zoku._敵直感変化:
if(_GetStr == "_pre") {
_RtnVar = Math.floor(_RtnVar * _Armor.traits[i].value);
}
break;
}
}
});
}
}
for (let i = 0; i <= _SetState.length - 1; i++) {
let _State = $dataStates[_SetState[i]._No];
for (let j = 0; j <= _State.traits.length - 1; j++) {
if(_State.traits[j].code == 11) {
switch(_GetStr){
case "mhp":
break;
case "atk":
if(_State.traits[j].dataId == _Zoku._攻撃変化Par){
_RtnVar *= _State.traits[j].value;
}
break;
case "def":
if(_State.traits[j].dataId == _Zoku._防御変化Par){
_RtnVar *= _State.traits[j].value;
}
break;
case "_hit":
if(_State.traits[j].dataId == _Zoku._命中変化Par){
_RtnVar *= _State.traits[j].value;
}
break;
case "_avo":
if(_State.traits[j].dataId == _Zoku._回避変化Par){
_RtnVar *= _State.traits[j].value;
}
break;
case "_pre":
if(_State.traits[j].dataId == _Zoku._直感変化Par){
_RtnVar *= _State.traits[j].value;
}
break;
}
}
}
}
return _RtnVar;
}
let NupuBtl_Game_Battler_initMembers = Game_Battler.prototype.initMembers;
Game_Battler.prototype.initMembers = function () {
NupuBtl_Game_Battler_initMembers.call(this);
this.Name = "";
this.Img = "";
this.actions;
this._hit = 0;
this._avo = 0;
this._pre = 0;
this._tp = 0;
this.Enst;
this.state = [];
this.stype = -1;
this.Skill;
this.Do_Arr = [0,0,0,0,0,0];
this.Do_Mp = 0;
this.Do_MaxMp = 20;
this.UseCost = 0;
this.UseCostRpts = 0;
this.UseTp = 0;
this.APos = new Pos2D(527, 152);
this.dbgArr = [0, 0];
this.EmFlg = true;
this.PsvArr = [];
this._回避成功 = false;
this.Live2D_Name = "";
}
class _State {
constructor(_No, _Turn) {
_Turn = typeof _Turn !== 'undefined' ? _Turn : -1;
this._No = _No;
this._Turn = _Turn;
}
}
const PN_bBack = 1;
const PN_bKBack = PN_bBack + 3;
const PN_bWaku = 9;
const PN_bTurn = PN_bWaku + 1;
const PN_bEmTatie = 13;
const PN_bPLTatie = PN_bEmTatie + 1;
const PN_bDataBtn = PN_bPLTatie + 1;
const PN_SpeedUp = PN_bDataBtn + 1;
const PN_StEmHpGage_Back = 247;
const PN_StEmHpGage = PN_StEmHpGage_Back + 1;
const PN_StEmWin = PN_StEmHpGage + 1;
const PN_StEmHpTxt = PN_StEmWin + 1;
const PN_bDoPoint = 207;
const PN_bDoPoint_Em = PN_bDoPoint + 20;
const PN_bEmBltWin = 158;
const Cnt_PN_bEmBltWin = 3;
const PN_bEmBltCost = PN_bEmBltWin + 6;
const PN_bEmBltTxt = PN_bEmBltCost + 6;
const PN_bEmBltHide = PN_bEmBltTxt + 6;
const PN_bPLBltWin = 177;
const Cnt_PN_bPLBltWin = 5;
const PN_BtlTHBlt = 255;
const PN_bKtdnBtn = PN_BtlTHBlt + 1;
const PN_bPLBltHikari = PN_bKtdnBtn + 1;
const PN_StGageBase = PN_bPLBltHikari + 2;
const PN_StHpGage = PN_StGageBase + 1;
const PN_StTpGage = PN_StHpGage + 1;
const PN_StSelTpGage = PN_StTpGage + 1;
const PN_StWin = PN_StSelTpGage + 1;
const PN_StHpTxt = PN_StWin + 1;
const PN_StTpTxt = PN_StHpTxt + 2;
const PN_StWinTop = PN_StTpTxt + 1;
const PN_BtlSrinder = PN_StWinTop + 2;
const PN_BtlSelUI = PN_BtlSrinder + 1 + (Cnt_PN_bPLBltWin * 3);
const PN_SetuWin = 309;
const PN_SetuTxt = PN_SetuWin + 1;
const PN_SetuHitTxt = PN_SetuTxt + 3;
const PN_TPPowUp = PN_SetuHitTxt + 2;
const PN_bDmgPop = 320;
const PN_bTHBack = 330;
const PN_bTHChara = PN_bTHBack + 1;
const PN_bFz = PN_bTHChara + 2;
const PN_bCmbTxt = PN_bFz + 2;
const PN_bPlState = PN_bCmbTxt + 3;
const PN_bPlStateTn = PN_bPlState + 7;
const PN_bEmState = PN_bPlStateTn + 7;
const PN_bEmStateTn = PN_bEmState + 7;
const PN_bIjoWin = PN_bEmStateTn + 8;
const PN_bIjoTxt = PN_bIjoWin + 1;
const PN_bsBack = 412;
const PN_bsV = PN_bsBack + 1;
const PN_bsS = PN_bsV + 1;
const PN_bsPlStTxt = PN_bsS + 1;
const PN_bsEmStTxt = PN_bsPlStTxt + 1;
const PN_bsCIn_B = PN_bsEmStTxt + 1;
const PN_bsCIn_T = PN_bsCIn_B + 3;
const PN_bsState = PN_bsCIn_T + 3;
const PN_bsCIn_BBar = PN_bsState + 1;
const PN_bsCIn_TBar = PN_bsCIn_BBar + 6;
const PN_bsCIn_BTxt = PN_bsCIn_TBar + 6;
const PN_bsCIn_TTxt = PN_bsCIn_BTxt + 6;
const PN_bRzBase = 411;
const PN_bRzChara = PN_bRzBase + 1;
const PN_bRzTxt_1 = PN_bRzChara + 1;
const PN_bRzTxt_2 = PN_bRzTxt_1 + 2;
const PN_bRzTxt_3 = PN_bRzTxt_2 + 2;
const PN_bRzTxt_4 = PN_bRzTxt_3 + 2;
const PN_bRzTxt_5 = PN_bRzTxt_4 + 2;
const PN_bRzRank = PN_bRzTxt_5 + 2;
const PN_RzExBack = 426;
const PN_RzExWin = PN_RzExBack + 1;
const PN_RzExYesBtn = PN_RzExWin + 1;
const PN_RzExNoBtn = PN_RzExYesBtn + 1;
const PN_RzExGoldTxt = PN_RzExNoBtn + 1;
const PN_RzExHpBar = PN_RzExGoldTxt + 1;
const PN_RzExHpTxt = PN_RzExHpBar + 1;
const PN_RzExSelecter = PN_RzExHpTxt + 1;
const PN_RzExBtlWin = PN_RzExSelecter + 1;
const PN_RzExBtlDice = PN_RzExBtlWin + 1;
const PN_RzExBtlDiceTxt = PN_RzExBtlDice + 4;
const PN_RzExBtlArw = PN_RzExBtlDiceTxt + 4;
const PN_RzExBtlLine = PN_RzExBtlArw + 4;
const PN_RzExBtlChaTxt = PN_RzExBtlLine + 4;
const PN_RzRensyoTxt = PN_RzExBtlChaTxt + 4;
const PN_JBase = 370;
const PN_jPLStart = PN_JBase + 1;
const PN_jEmStart = 410;
const PN_JEnd = 451;
const PN_bDataBtn_Close = PN_JEnd - 1;
const PN_jCutIn = 0;
const PN_jCNameTxt = PN_jCutIn + 1;
const PN_jStBar = PN_jCNameTxt + 1;
const PN_jStBarTop = PN_jStBar + 6;
const PN_jStTxt = PN_jStBarTop + 6;
const PN_jStBase = PN_jStTxt + 6;
const PN_jStateTxtA = PN_jStBase + 1;
const PN_jStateTxtB = PN_jStateTxtA + 7;
const PN_jPsvTxt = PN_jStateTxtB + 7;
const CN_BtlBef = 1;
const CN_毎ターンコモン = 139;
const CN_カットイン後 = 140;
const CN_倒した瞬間 = 141;
const CN_自分敗北時 = 142;
const CN_全行動終了時コモン = 147;
const CN_リザルト表示後 = 148;
const SW_野試合Flg = 10;
const SW_BtlCIn = 21;
const VN_FstMp = 11;
const VN_CInChaTNo = 21;
const VN_CInChaBNo = 22;
const VN_野試合勝利数 = 51;
const VN_敵強さ変化 = 55;
const VN_野試合賞金 = 56;
const VN_敵能力変数 = 322;
const PN_Ready = 470;
const _Blt拡大 = 85;
const _BltTxt拡大率 = _Blt拡大 / 100;
let _befBtlMap = -1;
const BattleMapID = 4;
const ReBattleMapID = 12;
const BtlPic = "pictures/Btl/";
const BtlKsnPic = "pictures/Btl/ksn/";
const Btl_CInPic = "pictures/Btl/Start/";
const BtlTatie_Pl = "pictures/Btl/Tatie_Pl/";
const BtlTatie_Em = "enemies/";
const BtlPicArr = [
"pictures/White", BtlPic + "PN_bFz_Sel"
];
const BtlL2D_Base = "";
let 戦闘ターン = 0;
let Rz_合計被ダメージ = 0;
let Rz_最大与ダメージ = 0;
let Rz_最大チェイン数 = 0;
let battleflg = false;
let btl_flame = 0;
let WinLoseFlg = -1;
let btlMode;
let _btlMode = {
Start: 1,
Select: 2,
Battle: 3,
End: 4
};
let NPlayer;
let NEnemy;
let TH_ModeFlg = false;
const SW_THMode = 8;
let Battleback1 = "";
let Battleback2 = "";
let set_branch = -1;
let _BtlBranch = {
Btl: -1,
Win: 0,
Esc: 1,
Lose: 2
};
let BtlTurn = 0;
let NoBtlCnt = 0;
Game_Interpreter.prototype.command301 = function () {
this.DelPict(PN_EnSpine);
_BtlVar_Resets();
if (!battleflg) {
if(!$gameSwitches.value(SW_野試合Flg)){
this.InstantSave();
} else {
if (NoBtlCnt == 0){
this.InstantSave();
NoBtlCnt++;
}
set_branch = -1;
let _Set健康 = Math.floor((NPlayer._hp / NPlayer.b_mhp) * 100);
$gameVariables.setValue(VN_PLKenko ,_Set健康);
_Btl_StopCmnFlg = false;
}
this.Talk_End();
Rz_合計被ダメージ = 0;
Rz_最大与ダメージ = 0;
Rz_最大チェイン数 = 0;
L2dAllFadeOut(10);
Adv_Stop = true;
Chain_Cnt = 0;
$gameTroop.setup(this._params[1]);
NEnemy = $gameTroop._enemies[0];
NEnemy.Name = $dataEnemies[NEnemy._enemyId].name;
NEnemy.Live2D_Name = MetaChecker($dataEnemies[NEnemy._enemyId] , "Live2D" , "");
NEnemy.Do_MaxMp = NEnemy.mmp;
NEnemy.Img = $dataEnemies[NEnemy._enemyId].battlerName;
NEnemy._hit = NEnemy.mdf;
NEnemy._avo = NEnemy.luk;
NEnemy._pre = NEnemy.agi;
NEnemy.actions = $dataEnemies[NEnemy._enemyId].actions;
_Brns_ブレイク数 = 0;
_Brns_ブレイクFlg = false;
NEnemy.Brns_基礎値 = Number(MetaChecker($dataEnemies[NEnemy._enemyId] , "バランス基礎値" , 6));
NEnemy.Brns = NEnemy.Brns_基礎値;
NEnemy.Brns_崩れ数 = Number(MetaChecker($dataEnemies[NEnemy._enemyId] , "バランス崩れ数" , 6));
if(MetaChecker($dataEnemies[NEnemy._enemyId] , "能力変数設定" , false) != false){
NEnemy.mhp = $gameVariables.value(VN_敵能力変数 + 0);
NEnemy._hp = $gameVariables.value(VN_敵能力変数 + 0);
NEnemy.atk = $gameVariables.value(VN_敵能力変数 + 1);
NEnemy.def = $gameVariables.value(VN_敵能力変数 + 2);
NEnemy._hit = $gameVariables.value(VN_敵能力変数 + 3);
NEnemy._avo = $gameVariables.value(VN_敵能力変数 + 4);
NEnemy._pre = $gameVariables.value(VN_敵能力変数 + 5);
NEnemy.Do_MaxMp = $gameVariables.value(VN_敵能力変数 + 6);
NEnemy.Brns_基礎値 = $gameVariables.value(VN_敵能力変数 + 7);
NEnemy.Brns = NEnemy.Brns_基礎値;
NEnemy.Brns_崩れ数 = $gameVariables.value(VN_敵能力変数 + 8);
}
NEnemy.PsvArr = [];
for (let i = 0; i <= $dataEnemies[NEnemy._enemyId].dropItems.length - 1; i++) {
if($dataEnemies[NEnemy._enemyId].dropItems[i].kind == 3) {
let _AmId = $dataEnemies[NEnemy._enemyId].dropItems[i].dataId;
if($dataArmors[_AmId].atypeId == _ArmorType._パッシブ ||
$dataArmors[_AmId].atypeId == _ArmorType._装飾) {
NEnemy.PsvArr.push(_AmId);
}
}
}
NEnemy.Do_Mp = NEnemy._mp;
WinLoseFlg = _BtlBranch.Btl;
BtlTurn = 1;
NPlayer = new _PL_Data();
this.BtlStart_Psv(NPlayer);
this.BtlStart_Psv(NEnemy);
if(!$gameSwitches.value(SW_野試合Flg)){
$gamePlayer.reserveTransfer(BattleMapID, 0, 0, 0, 2);
_befBtlMap = BattleMapID;
} else {
if(_befBtlMap == BattleMapID){
$gamePlayer.reserveTransfer(ReBattleMapID, 0, 0, 0, 2);
_befBtlMap = ReBattleMapID;
} else {
$gamePlayer.reserveTransfer(BattleMapID, 0, 0, 0, 2);
_befBtlMap = BattleMapID;
}
}
this._index = this._list.length;
this._list = null;
this.PreLoadArr(BtlPicArr);
this.N_BtlStart();
DoArr_Reset();
if ($gameVariables.value(VN_PL戦闘開始付与ステートID) != 0) {
this.State_Setting(NPlayer , $gameVariables.value(VN_PL戦闘開始付与ステートID) , 1 , false);
}
battleflg = true;
} else {
battleflg = false;
this._branch[this._indent] = set_branch;
set_branch = -1;
let _Set健康 = Math.floor((NPlayer._hp / NPlayer.b_mhp) * 100);
$gameVariables.setValue(VN_PLKenko ,_Set健康);
this.MovePict(PN_tGage , true, true, 10 , true , _Set健康);
this.DelPict(PN_EventBar);
this.DelPict(PN_EventTxt);
for (let i = 0; i <= _BtlSaveVNArr.length - 1; i++) {
$gameVariables.setValue(_BtlSaveVNArr[i] ,_BtlSaveMoveVarArr[i]);
}
}
return true;
};
let Other_Voice_OffFlg = false;
let _NVoice_Skip_Game = NVoice_isSkipFlg;
NVoice_isSkipFlg = function () {
return _NVoice_Skip_Game.call(this) && !battleflg && !Other_Voice_OffFlg;
}
let _BtlVar_Resets = function(){
戦闘ターン = 0;
Rz_合計被ダメージ = 0;
Rz_最大与ダメージ = 0;
Rz_最大チェイン数 = 0;
btl_flame = 0;
WinLoseFlg = -1;
_BefBackLogX = 0
_BefBackLogY = 0
btlStart_flame = 0;
KtdnPos = new Pos2D(944, 734);
PLTPos = new Pos2D(1180, 480);
PLStPos = new Pos2D(1150, 647);
DoPos_Pl = new Pos2D(450, 410);
DoTHPos = new Pos2D(DoPos_Pl._x , 700);
DoPos_Em = new Pos2D(DoPos_Pl._x - 410 * _BltTxt拡大率 - 20, DoPos_Pl._y);
DoPosB_PL = new Pos2D(379, DoPos_Pl._y + 48);
DoPosB_Em = new Pos2D(303, DoPos_Pl._y + 48);
SelectDoNo = 0;
Em_DoViewArr = [true, true, true, true, true, true];
DoHPos = new Pos2D(DoPos_Pl._x - 9, DoPos_Pl._y - 8);
BltPicArr = [];
_PL_DoArrDraw = false;
_PL_SelWillMp = 0;
_異常PlPicArr = [];
_異常EmPicArr = [];
SkillSelNo = 0;
SelectSkillArr = [];
SklPos = new Pos2D(645, DoPos_Pl._y - 55);
btlSelect_flame = 0;
_EnterFlame = 0;
btlSelect_PlTp = 0 ;
btlSelect_TpUse = [0,0,0,0,0,0];
Em_Skills = [];
_thFlame = 0; _ThFInFlm = 60
_ktdnBOverFlg = false;
_SelNoSave = 0;
_bwhlflame = 10;
_BSelMode = 0;
_Nowシリンダー角度 = 0;
_BSel_メニューFlg = false;
_BSel_ReadyFlg = false;
btlSelect_初期処理Flg = true;
BSelMenu_flame = 0;
N_Btl_Select_1_flame = 0;
_シリンダー角度 = 0;
BltSel_flame = 0;
_BtlNxt_flame = 0;
_Bef_PLDoNo = 0;
_Bef_PLDoTpCnt = 0;
_Blt_SelWaitFlame = 0;
_Btl_ReadyFlame = 0;
_EnterCnt = 0;
Em_DoViewArr_OpenBef = [];
btlBattle_flame = 0;
KsnTurn = 0;
_ksnMflame = 0;
_PlPosX = 0;
_EmPosX = 360;
_BltPlPosX = 500;
_BltEmPosX = 600;
_BtlUpSyoriNo = 0;
_Btl_StopCmnFlg = false;
_Btl_連続攻撃Cnt = 0;
_GoPlBltPs = new Pos2D(0,0);
_GoEmBltPs = new Pos2D(0,0);
Player_SkillNo = 0;
Enemy_SkillNo = 0;
PLAllMissFlg = false;
EnAllMissFlg = false;
Turn_DmgCnt = 0;
PL_SkillFlg = false;
}
Game_Interpreter.prototype.BtlStart_Psv = function (_AChara) {
_AChara.PsvArr.forEach( _AmmId => {
let _Armor = $dataArmors[_AmmId];
for (let i = 0; i <= _Armor.traits.length - 1; i++) {
if(_Armor.traits[i].code != 11) continue;
let _Var = Math.floor(_Armor.traits[i].value * 100) - 100;
switch(_Armor.traits[i].dataId){
case _Zoku._初期テンション変化:
_AChara._tp += _Var;
break;
}
}
});
}
Game_Interpreter.prototype.BtlPsv_ZokuCk = function (_AChara , _ZokuNo) {
let _RtnValue = false;
_AChara.PsvArr.forEach( _AmmId => {
let _Armor = $dataArmors[_AmmId];
for (let i = 0; i <= _Armor.traits.length - 1; i++) {
if(_Armor.traits[i].code != 11) continue;
if(_Armor.traits[i].dataId == _ZokuNo) {
_RtnValue = true;
}
}
});
return _RtnValue;
}
Game_Interpreter.prototype.command283 = function () {
$gameMap.changeBattleback(this._params[0], this._params[1]);
Battleback1 = this._params[0];
Battleback2 = this._params[1];
return true;
};
let _BefBackLogX = 0
let _BefBackLogY = 0
Game_Interpreter.prototype.N_BtlStart = function (){
_BefBackLogX = BLogX;
_BefBackLogY = BLogY;
BLogX = 508;
BLogY = 7;
//$gameSystem.PL_SkillArr.push(25); //THスキル
set_branch = _BtlBranch.Win;
this.SetCmnEventSc(CN_BtlBef);
btlMode = _btlMode.Start;
btl_flame = 0;
btlBattle_flame = 0;
btlStart_flame = 0;
_BSelMode = 0;
btlSelect_初期処理Flg = true;
戦闘ターン = 0;
}
let btlStart_flame = 0;
let KtdnPos = new Pos2D(944, 734);
let PLTPos = new Pos2D(1180, 480);
Game_Interpreter.prototype.N_Btl_StartUpdate = function () {
if ($gameSwitches.value(SW_BtlCIn)){
this.N_Btl_Start_CutInUpdate();
} else {
if (btlStart_flame == 30){
if($gameSystem._battleBgm != null){
AudioManager.playBgm($gameSystem._battleBgm);
}
}
if (btlStart_flame == 45) {
if (Battleback1 != "") {
this.SetSpriteC(PN_bBack, "battlebacks1/" + Battleback1, 720, 405);
}
if (Battleback2 != "") {
this.SetSpriteC(PN_bBack + 1, "battlebacks2/" + Battleback2, 720, 405);
}
this.N_Btl_TatieView();
}
if (btlStart_flame == 60) this.BattleWhiteDel();
if (btlStart_flame == 61) {
this.N_Btl_SelectCng();
}
}
btlStart_flame++;
btlBackFlame = 0;
}
let btlBackFlame = 0;
Game_Interpreter.prototype.BtlBackUpdate = function () {
btlBackFlame++;
let sinValue = Math.sin(btlBackFlame * Math.PI / 180);
let normalizedValue = (sinValue + 1) / 2;
var _拡大Mv = 1 + 0.1 * normalizedValue;
_拡大Mv *= 100;
if (Battleback1 != "")
this.SetSpriteC(PN_bBack, "battlebacks1/" + Battleback1, 720, 405 , 255 , _拡大Mv , _拡大Mv);
if (Battleback2 != "")
this.SetSpriteC(PN_bBack + 1, "battlebacks2/" + Battleback2, 720, 405 , 255 , _拡大Mv , _拡大Mv);
var moveX = btlBackFlame * 20 % 1440;
this.SetSprite(PN_bBack + 2, BtlPic + "PN_Sosasen", -moveX, 0 , 200);
this.SetSprite(PN_bBack + 3, BtlPic + "PN_Sosasen", -moveX + 1440, 0 , 200);
}
Game_Interpreter.prototype.N_Btl_Start_CutInUpdate = function () {
if (btlStart_flame == 0) {
AudioManager.stopAll();
}
if (btlStart_flame == 45) {
D_Text_Cng_font = "Makinas";
this.SpriteStr(PN_bsCIn_BTxt + 0, "FontSetUp", 20, -100, -100, 0);
D_Text_Cng_font = "";
if (Battleback1 != "") {
this.SetSprite(PN_bBack, "battlebacks1/" + Battleback1, 0, 0);
}
if (Battleback2 != "") {
this.SetSprite(PN_bBack + 1, "battlebacks2/" + Battleback2, 0, 0);
}
this.N_Btl_TatieView();
this.SetSprite(PN_bsBack, Btl_CInPic + "PN_bsBack", 0, 0);
this.SetSpriteC(PN_bsV, Btl_CInPic + "PN_bsV", 633, 359, 255, 111, 111);
this.MoveSprite(PN_bsV,true,true,60);
this.SetSpriteC(PN_bsS, Btl_CInPic + "PN_bsS", 746, 455, 255, 111, 111);
this.MoveSprite(PN_bsS, true, true, 60);
}
if (btlStart_flame == 60){
this.BattleWhiteDel();
this.ALLDelPict([PN_Ensyutu]);
this.SetSprite(PN_bWaku, BtlPic + "PN_bWaku", 0, 0);
}
if (btlStart_flame == 90){
this.PlaySe("Ice4");
EasingStr = "easeOutQuad";
this.MoveSprite(PN_bsV, 196, true, 20);
this.MoveSprite(PN_bsS, 1249, true, 20);
this.SetSprite(PN_bsPlStTxt, Btl_CInPic + "PN_bsPlStTxt" , 0 , 0 , 0);
this.MoveSprite(PN_bsPlStTxt,true,true,20);
this.SetSprite(PN_bsEmStTxt , Btl_CInPic + "PN_bsEmStTxt" , 0 , 0 , 0);
this.MoveSprite(PN_bsEmStTxt,true,true,20);
ViewSpriteArr_Reset();
let _TCNo = $gameVariables.value(VN_CInChaTNo);
this.SetSprite(PN_bsCIn_B + 0, Btl_CInPic + "PN_bsCBack_T", 0, 0, 0);
this.SetSprite(PN_bsCIn_B + 1, Btl_CInPic + "PN_bsCBack_T_C" + _TCNo, 0, 0, 0);
this.SetSprite(PN_bsCIn_B + 2, Btl_CInPic + "PN_bsCBack_T_N" + _TCNo, 0, 0, 0);
let _BCNo = $gameVariables.value(VN_CInChaBNo);
this.SetSprite(PN_bsCIn_T + 0, Btl_CInPic + "PN_bsCBack_B", 0, 581, 0);
this.SetSprite(PN_bsCIn_T + 1, Btl_CInPic + "PN_bsCBack_B_C" + _BCNo, 0, 581, 0);
this.SetSprite(PN_bsCIn_T + 2, Btl_CInPic + "PN_bsCBack_B_N" + _BCNo, 0, 581, 0);
var maxValue = 0;
if (NPlayer.b_mhp > maxValue) maxValue = NPlayer.b_mhp
if (NPlayer.b_atk > maxValue) maxValue = NPlayer.b_atk
if (NPlayer.b_def > maxValue) maxValue = NPlayer.b_def
if (NPlayer.b_hit > maxValue) maxValue = NPlayer.b_hit
if (NPlayer.b_avo > maxValue) maxValue = NPlayer.b_avo
if (NPlayer.b_pre > maxValue) maxValue = NPlayer.b_pre
if (NEnemy.b_mhp > maxValue) maxValue = NEnemy.b_mhp
if (NEnemy.b_atk > maxValue) maxValue = NEnemy.b_atk
if (NEnemy.b_def > maxValue) maxValue = NEnemy.b_def
if (NEnemy.b_hit > maxValue) maxValue = NEnemy.b_hit
if (NEnemy.b_avo > maxValue) maxValue = NEnemy.b_avo
if (NEnemy.b_pre > maxValue) maxValue = NEnemy.b_pre
let f表示倍率X = 1;
if (maxValue > 145) f表示倍率X = 145 / maxValue;
this.SetSprite(PN_bsCIn_BBar + 0, Btl_CInPic + "PN_bsBar_hp", 775, 270 + (53 * 0), 0, NPlayer.b_mhp * f表示倍率X);
this.SetSprite(PN_bsCIn_BBar + 1, Btl_CInPic + "PN_bsBar_hp", 775, 270 + (53 * 1), 0, NPlayer.b_atk * f表示倍率X);
this.SetSprite(PN_bsCIn_BBar + 2, Btl_CInPic + "PN_bsBar_hp", 775, 270 + (53 * 2), 0, NPlayer.b_def * f表示倍率X);
this.SetSprite(PN_bsCIn_BBar + 3, Btl_CInPic + "PN_bsBar_hp", 775, 270 + (53 * 3), 0, NPlayer.b_hit * f表示倍率X);
this.SetSprite(PN_bsCIn_BBar + 4, Btl_CInPic + "PN_bsBar_hp", 775, 270 + (53 * 4), 0, NPlayer.b_avo * f表示倍率X);
this.SetSprite(PN_bsCIn_BBar + 5, Btl_CInPic + "PN_bsBar_hp", 775, 270 + (53 * 5), 0, NPlayer.b_pre * f表示倍率X);
let _OwStr = "\\oc[rgba(0,0,0)]";
let _txtY = 250;
let _tSize = 30;
let _pPsX = 777;
this.SpriteStr(PN_bsCIn_BTxt + 0, _OwStr + NPlayer.b_mhp, _tSize, _pPsX, _txtY + (53 * 0), 0);
this.SpriteStr(PN_bsCIn_BTxt + 1, _OwStr + NPlayer.b_atk, _tSize, _pPsX, _txtY + (53 * 1), 0);
this.SpriteStr(PN_bsCIn_BTxt + 2, _OwStr + NPlayer.b_def, _tSize, _pPsX, _txtY + (53 * 2), 0);
this.SpriteStr(PN_bsCIn_BTxt + 3, _OwStr + NPlayer.b_hit, _tSize, _pPsX, _txtY + (53 * 3), 0);
this.SpriteStr(PN_bsCIn_BTxt + 4, _OwStr + NPlayer.b_avo, _tSize, _pPsX, _txtY + (53 * 4), 0);
this.SpriteStr(PN_bsCIn_BTxt + 5, _OwStr + NPlayer.b_pre, _tSize, _pPsX, _txtY + (53 * 5), 0);
NEnemy._hp = NEnemy.b_mhp;
this.SetSprite(PN_bsCIn_TBar + 0, Btl_CInPic + "PN_bsBar_hp",
667, 270 + (53 * 0), 0, -NEnemy.b_mhp * f表示倍率X);
this.SetSprite(PN_bsCIn_TBar + 1, Btl_CInPic + "PN_bsBar_hp",
667, 270 + (53 * 1), 0, -NEnemy.b_atk * f表示倍率X);
this.SetSprite(PN_bsCIn_TBar + 2, Btl_CInPic + "PN_bsBar_hp",
667, 270 + (53 * 2), 0, -NEnemy.b_def * f表示倍率X);
this.SetSprite(PN_bsCIn_TBar + 3, Btl_CInPic + "PN_bsBar_hp",
667, 270 + (53 * 3), 0, -NEnemy.b_hit * f表示倍率X);
this.SetSprite(PN_bsCIn_TBar + 4, Btl_CInPic + "PN_bsBar_hp",
667, 270 + (53 * 4), 0, -NEnemy.b_avo * f表示倍率X);
this.SetSprite(PN_bsCIn_TBar + 5, Btl_CInPic + "PN_bsBar_hp",
667, 270 + (53 * 5), 0, -NEnemy.b_pre * f表示倍率X);
let _ePsX = 617;
this.SpriteStr(PN_bsCIn_TTxt + 0, _OwStr + _桁揃え(NEnemy.b_mhp), _tSize, _ePsX, _txtY + (53 * 0), 0);
this.SpriteStr(PN_bsCIn_TTxt + 1, _OwStr + _桁揃え(NEnemy.b_atk), _tSize, _ePsX, _txtY + (53 * 1), 0);
this.SpriteStr(PN_bsCIn_TTxt + 2, _OwStr + _桁揃え(NEnemy.b_def), _tSize, _ePsX, _txtY + (53 * 2), 0);
this.SpriteStr(PN_bsCIn_TTxt + 3, _OwStr + _桁揃え(NEnemy.b_hit), _tSize, _ePsX, _txtY + (53 * 3), 0);
this.SpriteStr(PN_bsCIn_TTxt + 4, _OwStr + _桁揃え(NEnemy.b_avo), _tSize, _ePsX, _txtY + (53 * 4), 0);
this.SpriteStr(PN_bsCIn_TTxt + 5, _OwStr + _桁揃え(NEnemy.b_pre), _tSize, _ePsX, _txtY + (53 * 5), 0);
this.SetSprite(PN_bsState, Btl_CInPic + "PN_bsState", 0, 0, 0);
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
this.MoveSprite(ViewSpriteArr[i], true, true, 15, 255 , true);
}
EasingStr = "";
}
if (btlStart_flame > 120) {
if (TouchInput.isPressed() || Input.isTriggered('ok')) {
NPlayer._hp = Math.floor(NPlayer.b_mhp * ($gameVariables.value(VN_PLKenko) / 100)) ;
this.PlaySe("Battle2");
for (let i = PN_bsBack; i <= PN_bsCIn_TTxt + 5; i++) {
this.MoveSprite(i, true, true, 10, 0,true , true);
}
AudioManager.playBgm($gameSystem._battleBgm);
this.N_Btl_SelectCng();
}
}
}
let _桁揃え = function(_DNo){
if (_DNo < 100) return _DNo = " " + _DNo;
if (_DNo < 10) return _DNo = " " + _DNo;
return _DNo;
}
Game_Interpreter.prototype.N_Btl_TatieView = function () {
if (TH_ModeFlg){
L2dFadeMdl("Leona_battle1","rightout",15,"",1,1,0,0);
L2dFadeMdl("Leona_battleTH","rightin",15,"1neutral",1,1,0,130);
L2dIdleStart("Leona_battleTH","1neutral");
L2dSetMotion("Leona_battleTH","1neutral");
L2dTop("Leona_battleTH");
} else {
//this.SetSpriteC(PN_bPLTatie, BtlTatie_Pl + "Btl_PL", PLTPos._x, PLTPos._y);
this.N_Btl_ReonaL2D_Nomal_On();
}
if(NEnemy.Live2D_Name != ""){
L2dFExp = "exp_1";
L2dFadeMdl(NEnemy.Live2D_Name,"centerin",15,"wait",1);
if(NEnemy.DO_Arr[0] == -1) {
L2dIdleStart(NEnemy.Live2D_Name,"break");
L2dSetMotion(NEnemy.Live2D_Name,"break");
} else {
L2dIdleStart(NEnemy.Live2D_Name,"wait");
L2dSetMotion(NEnemy.Live2D_Name,"wait");
}
} else {
this.SetSpriteC(PN_bEmTatie, BtlTatie_Em + NEnemy.Img, 300, 202);
if(NEnemy.DO_Arr[0] == -1) {
this.CngSprite(PN_bEmTatie , BtlTatie_Em + NEnemy.Img + "_break");
} else {
this._ブレイクモード終了確認();
}
}
}
Game_Interpreter.prototype.N_Btl_ReonaL2D_Nomal_On = function () {
L2dFadeMdl("Leona_battleTH","rightout",15,"",1,1,0,0);
L2dFadeMdl("Leona_battle1","rightin" , 15 , "" , 1 , null , 0 , 130);
L2dIdleStart("Leona_battle1","4_slow_wide");
L2dSetMotion("Leona_battle1","4_slow_wide");
L2dTop("Leona_battle1");
}
Game_Interpreter.prototype._ブレイクモード終了確認 = function(){
if(NEnemy.Brns <= 0){
NEnemy.Brns = NEnemy.Brns_基礎値;
_Brns_ブレイクFlg = false;
this.BLogAdd(120 , SCol.Yel + "The enemy has recovered from their Break state.");
}
}
let PLStPos = new Pos2D(1150, 647);
Game_Interpreter.prototype.N_Btl_PlStView = function (_PosX, _PosY,_SetFlg) {
_PosX = typeof _PosX !== 'undefined' ? _PosX : PLStPos._x;
_PosY = typeof _PosY !== 'undefined' ? _PosY : PLStPos._y;
_SetFlg = typeof _SetFlg !== 'undefined' ? _SetFlg : false;
let _opi = 255;
if (_SetFlg) _opi = 0;
ViewSpriteArr_Reset();
if (NPlayer._tp >= 100) NPlayer._tp = 100;
if (NPlayer._tp <= 0) NPlayer._tp = 0;
this.SetSprite(PN_StWin, BtlPic + "PN_StWin", _PosX, _PosY, _opi);
D_Text_Cng_font = "Russo_One";
var hpTxtSize = 35;
if (NPlayer._hp > 999) hpTxtSize = 32;
this.SpriteStr(PN_StHpTxt + 0, SCol.Grn + "\\ow[5]\\oc[15]" + NPlayer._hp ,
hpTxtSize, _PosX + 216, _PosY + 43, _opi);
this.SpriteStr(PN_StTpTxt, SCol.Red + "\\ow[5]\\oc[15]" + NPlayer._tp + " %" ,
25, _PosX + 216, _PosY + 43 + 55, _opi);
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
this.MoveSprite(ViewSpriteArr[i], true, true, 10, 255);
}
this.SetSprite(PN_StGageBase, BtlPic + "PN_StGageBase", _PosX + 138, _PosY + 57 , _opi);
this.MoveSprite(PN_StGageBase, true, true, 10, 255);
let _HpLng = (NPlayer._hp / NPlayer.b_mhp) * 100;
this.SetSprite(PN_StHpGage, BtlPic + "PN_StHpGage", _PosX + 138, _PosY + 57 , _opi, _HpLng);
this.MoveSprite(PN_StHpGage, true, true, 10, 255, _HpLng);
let _TpLng = NPlayer._tp;
this.SetSprite(PN_StTpGage, BtlPic + "PN_StTpGage", _PosX + 138, _PosY + 57 + 50, _opi, _TpLng);
this.MoveSprite(PN_StTpGage, true, true, 10, 255, _TpLng);
D_Text_Cng_font = "";
}
Game_Interpreter.prototype.N_Btl_SelTpDraw = function () {
let _TpGageData = GetSpriteData(PN_StTpGage);
if(_TpGageData != null){
let _PsX = _TpGageData._x;
let _PsY = _TpGageData._y;
let _Width = _TpGageData.width;
let _Mx = _TpGageData._scaleX;
let _CkX = NPlayer._tp - btlSelect_PlTp;
let _STpStartX = _PsX + _Width * (_Mx / 100);
this.SetSprite(PN_StSelTpGage, BtlPic + "PN_StSelTpGage", _STpStartX + 1, _PsY, 255, -_CkX);
}
}
Game_Interpreter.prototype.N_Btl_PlStmove = function (_PosX , _PosY , _Flame) {
this.MoveSprite(PN_StWin, _PosX, _PosY, _Flame);
this.MoveSprite(PN_StHpTxt + 0, _PosX + 216, _PosY + 43, _Flame);
this.MoveSprite(PN_StTpTxt, _PosX + 216, _PosY + 43 + 55, _Flame);
this.MoveSprite(PN_StGageBase, _PosX + 138, _PosY + 57, _Flame, 255);
let _HpLng = (NPlayer._hp / NPlayer.b_mhp) * 100;
this.MoveSprite(PN_StHpGage, _PosX + 138, _PosY + 57, _Flame, 255, _HpLng);
let _TpLng = NPlayer._tp;
this.MoveSprite(PN_StTpGage, _PosX + 138, _PosY + 57 + 50, _Flame, 255, _TpLng);
}
Game_Interpreter.prototype.PL回復 = function (_par) {
this.PLHP変動(Math.floor((_par / 100) * NPlayer.b_mhp));
}
Game_Interpreter.prototype.EM回復 = function (_par) {
this.EMHP変動(Math.floor((_par / 100) * NEnemy.b_mhp));
}
Game_Interpreter.prototype.PLHP変動 = function (_value) {
NPlayer._hp += Math.floor(_value);
if (NPlayer._hp < 0) NPlayer._hp = 0;
if (NPlayer._hp > NPlayer.b_mhp) NPlayer._hp = NPlayer.b_mhp;
}
Game_Interpreter.prototype.EMHP変動 = function (_value) {
NEnemy._hp += Math.floor(_value);
if (NEnemy._hp < 0) NEnemy._hp = 0;
if (NEnemy._hp > NEnemy.b_mhp) NEnemy._hp = NEnemy.b_mhp;
}
let EmStPos = new Pos2D(38, 330);
Game_Interpreter.prototype.N_Btl_EmStView = function (_PosX, _PosY) {
_PosX = typeof _PosX !== 'undefined' ? _PosX : EmStPos._x;
_PosY = typeof _PosY !== 'undefined' ? _PosY : EmStPos._y;
D_Text_Cng_font = "Russo_One";
let _文字Str = _バランステキスト取得();
this.SpriteStrC(PN_StEmHpTxt + 0,SCol.Yel + _文字Str , 40 , _PosX + 35 , _PosY + 40);
this.SpriteStr(PN_StEmHpTxt + 1, SCol.Grn + "\\ow[5]\\oc[15]" + NEnemy._hp, 35, _PosX + 155, _PosY + 23);
let _HpLng = (NEnemy._hp / NEnemy.b_mhp) * 100;
this.SetSprite(PN_StEmWin, BtlPic + "PN_StEmWin", _PosX, _PosY);
this.SetSprite(PN_StEmHpGage_Back, BtlPic + "PN_StEmHpGage_Back", _PosX + 97, _PosY + 40, 255);
this.SetSprite(PN_StEmHpGage, BtlPic + "PN_StEmHpGage", _PosX + 97, _PosY + 40, 255, _HpLng);
D_Text_Cng_font = "";
}
Game_Interpreter.prototype.N_バランス描画 = function () {
if(NEnemy.Brns <= 0) NEnemy.Brns = 0;
let _Sprite = GetSpriteData(PN_StEmHpTxt + 0);
let _文字Str = _バランステキスト取得();
this.SpriteStrC(PN_StEmHpTxt + 0, _文字Str, 40, _Sprite._x, _Sprite._y);
}
let _バランステキスト取得 = function() {
let _AStr = "";
if(NEnemy.Brns == 0) _AStr = SCol.Red;
return " " + _AStr + NEnemy.Brns + " ";
}
Game_Interpreter.prototype.N_Btl_EmStmove = function (_PosX, _PosY, _Flame) {
this.MoveSprite(PN_StEmWin, _PosX, _PosY, _Flame);
this.MoveSprite(PN_StEmHpGage_Back, _PosX + 97, _PosY + 40, _Flame);
this.MoveSprite(PN_StEmHpGage, _PosX + 97, _PosY + 40, _Flame , 255 , true);
this.MoveSprite(PN_StEmHpTxt + 0, _PosX + 35 , _PosY + 40, _Flame);
this.MoveSprite(PN_StEmHpTxt + 1, _PosX + 155, _PosY + 23, _Flame);
}
const DoP_Cnt = 20;
const _BsBltY差 = 59;
const _BltY差 = _BsBltY差 * _BltTxt拡大率;
let DoPos_Pl = new Pos2D(450, 410);
let DoTHPos = new Pos2D(DoPos_Pl._x , 700);
let DoPos_Em = new Pos2D(DoPos_Pl._x - 410 * _BltTxt拡大率 - 20, DoPos_Pl._y);
let DoPosB_PL = new Pos2D(379, DoPos_Pl._y + 48);
let DoPosB_Em = new Pos2D(303, DoPos_Pl._y + 48);
let SelectDoNo = 0;
let Em_DoViewArr = [true, true, true, true, true, true];
let DoHPos = new Pos2D(DoPos_Pl._x - 9, DoPos_Pl._y - 8);
let BltPicArr = [];
for (let i = 0; i <= 6 - 1; i++) {
BltPicArr.push(PN_bPLBltWin + (Cnt_PN_bPLBltWin * i));
}
DoArr_Reset = function () {
NPlayer.DO_Arr = [0, 0, 0, 0, 0, 0];
NEnemy.DO_Arr = [0, 0, 0, 0, 0, 0];
Em_DoViewArr = [true, true, true, true, true, true];
}
let _PL_DoArrDraw = false;
let _PL_SelWillMp = 0;
Game_Interpreter.prototype.N_Btl_DoView = function (_SetFlg) {
_SetFlg = typeof _SetFlg !== 'undefined' ? _SetFlg : false;
ViewSpriteArr_Reset();
let _opi = 255;
if (_SetFlg) _opi = 0;
let _PL_WillMp = NPlayer.Do_Mp;
let _opi155Arr = [];
for (let j = 0; j < NPlayer.DO_Arr.length; j++) {
if (isNaN(NPlayer.DO_Arr[j])) NPlayer.DO_Arr[j] = 0;
}
for (let i = 0; i <= NPlayer.DO_Arr.length - 1; i++) {
if(SelectDoNo == i){
_PL_SelWillMp = _PL_WillMp;
}
if(!_PL_DoArrDraw) {
if (NPlayer.DO_Arr[i] == 0){
let _PicNo = PN_bPLBltWin + (i * Cnt_PN_bPLBltWin);
let _PosX = DoPos_Pl._x;
let _PosY = DoPos_Pl._y + (_BltY差 * i);
this.N_Btl_Pl弾丸Draw(_PicNo , "" , "" , 0 , _PosX , _PosY , _opi , _Blt拡大);
continue;
}
}else{
if (NPlayer.DO_Arr[i] == 0) continue;
}
let _ckSkill = $dataSkills[NPlayer.DO_Arr[i]];
let _ColStr = "";
_ColStr = Skill相性Col(NPlayer.DO_Arr[i], NEnemy.DO_Arr[i]);
if (!Em_DoViewArr[i]) _ColStr = "";
if(_Skill_State存在Ck(NPlayer.DO_Arr[i] , _StateDt._コスト全消費)){
Draw_弾丸Cost = _PL_WillMp;
_PL_WillMp = 0;
} else {
if (_ckSkill.mpCost > 0) {
_PL_WillMp -= _ckSkill.mpCost;
if (_PL_WillMp < 0) _ColStr = SCol.Red;
} else if (_ckSkill.tpCost > 0) {
_PL_WillMp += _ckSkill.tpCost;
}
}
if(!_PL_DoArrDraw) {
let _PicNo = PN_bPLBltWin + (i * Cnt_PN_bPLBltWin);
let _PosX = DoPos_Pl._x;
let _PosY = DoPos_Pl._y + (_BltY差 * i);
let _SkillNo = NPlayer.DO_Arr[i];
let _HitStr = this._Txt命中被弾(i , _SkillNo);
this.N_Btl_Pl弾丸Draw(_PicNo , _ColStr , _HitStr , _SkillNo , _PosX , _PosY , _opi , _Blt拡大);
this.TpUse_PicColCng(_PicNo , i);
}
if (_PL_WillMp <= 0) _PL_WillMp = 0;
if (_PL_WillMp >= NPlayer.Do_MaxMp) _PL_WillMp = NPlayer.Do_MaxMp;
if (_PL_WillMp >= DoP_Cnt) _PL_WillMp = DoP_Cnt;
}
let _TPDrawSkip = false;
if(_Btl_TutorialNo != -1) {
if(_Btl_TutorialNo < 27) _TPDrawSkip = true;
}
if(NPlayer._tp >= 50 && !_TPDrawSkip && !TH_ModeFlg) {
this.SetSprite(PN_BtlTHBlt ,BtlPic + "PN_THBlt_1" , DoTHPos._x , DoTHPos._y);
if(btlSelect_PlTp >= 50){
this.SetSprite(PN_BtlTHBlt ,BtlPic + "PN_THBlt_1" , DoTHPos._x , DoTHPos._y);
} else {
this.SetSprite(PN_BtlTHBlt ,BtlPic + "PN_THBlt_1_Off" , DoTHPos._x , DoTHPos._y);
}
} else {
this.DelSprite(PN_BtlTHBlt);
}
let _SelHPsY = DoPos_Pl._y + (_BltY差 * SelectDoNo) - 7;
if (SelectDoNo == -1){
_SelHPsY = DoTHPos._y;
this.SetSprite(PN_bPLBltHikari ,BtlPic + "PN_bPLBltHikari" ,
DoPos_Pl._x - 8 , _SelHPsY - 7 , _opi);
} else {
this.SetSprite(PN_bPLBltHikari ,BtlPic + "PN_bPLBltHikari" ,
DoPos_Pl._x - 8 , _SelHPsY , _opi , _Blt拡大 , _Blt拡大);
}
if (_Btl_TutorialNo == -1)
this.SetSprite(PN_bDataBtn , BtlPic + "PN_bDataBtn" , 18 , 715 , _opi);
this.Btl_異常描画(_opi);
let _Em_WillMp = NEnemy.Do_Mp;
for (let i = 0; i <= NEnemy.DO_Arr.length - 1; i++) {
let _ckSkill = $dataSkills[NEnemy.DO_Arr[i]];
if(NEnemy.DO_Arr[i] != -1){
if(_Skill_State存在Ck(NEnemy.DO_Arr[i] , _StateDt._コスト全消費)){
Draw_弾丸Cost = _Em_WillMp;
_Em_WillMp = 0;
} else {
if (_ckSkill.mpCost > 0) {
_Em_WillMp -= _ckSkill.mpCost;
if (_Em_WillMp < 0) _ColStr = SCol.Red;
} else if (_ckSkill.tpCost > 0) {
_Em_WillMp += _ckSkill.tpCost;
}
}
}
let _PicNo = PN_bEmBltWin + (i * Cnt_PN_bEmBltWin);
let _相性Col = Skill相性Col(NEnemy.DO_Arr[i], NPlayer.DO_Arr[i]);
if (!Em_DoViewArr[i]) _相性Col = "";
let _PosX = DoPos_Em._x;
let _PosY = DoPos_Em._y + (_BltY差 * i);
if (_SetFlg) {
if (Em_DoViewArr[i]) {
this.N_Btl_Em弾丸Draw(_PicNo , _相性Col , NEnemy.DO_Arr[i] , _PosX , _PosY , _opi , _Blt拡大);
} else {
this.N_Btl_Em弾丸_不明Draw(_PicNo ,_PosX,_PosY , _opi , _Blt拡大);
}
}
if (_Em_WillMp <= 0) _Em_WillMp = 0;
if (_Em_WillMp >= DoP_Cnt) _Em_WillMp = DoP_Cnt;
}
for (let i = 0; i <= NPlayer.Do_MaxMp - 1; i++) {
let _setNo = "0";
let _ckMp = i + 1;
if (_PL_WillMp >= NPlayer.Do_Mp){
if (NPlayer.Do_Mp >= _ckMp) _setNo = "1";
if (NPlayer.Do_Mp < _ckMp && _PL_WillMp >= _ckMp) _setNo = "2";
}
if (_PL_WillMp < NPlayer.Do_Mp) {
if (_PL_WillMp >= _ckMp) _setNo = "1";
if (_PL_WillMp < _ckMp && NPlayer.Do_Mp >= _ckMp) _setNo = "3";
}
this.SetSprite(PN_bDoPoint + i, BtlPic + "PN_bDoPoint_" + _setNo,
DoPosB_PL._x, DoPosB_PL._y + (29 * 8) - (15 * i), _opi);
}
for (let i = 0; i <= NEnemy.Do_MaxMp - 1; i++) {
_setNo = "0";
_ckMp = i + 1;
if (_Em_WillMp >= NEnemy.Do_Mp) {
if (NEnemy.Do_Mp >= _ckMp) _setNo = "1";
if (NEnemy.Do_Mp < _ckMp && _Em_WillMp >= _ckMp) _setNo = "2";
}
if (_Em_WillMp < NEnemy.Do_Mp) {
if (_Em_WillMp >= _ckMp) _setNo = "1";
if (_Em_WillMp < _ckMp && NEnemy.Do_Mp >= _ckMp) _setNo = "3";
}
this.SetSprite(PN_bDoPoint_Em + i, BtlPic + "PN_bDoPoint_" + _setNo,
DoPosB_Em._x, DoPosB_Em._y + (29 * 8) - (15 * i), _opi);
}
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
if (_opi155Arr.indexOf(ViewSpriteArr[i]) != -1) {
this.MoveSprite(ViewSpriteArr[i], true, true, 15, 155, true, true);
} else {
this.MoveSprite(ViewSpriteArr[i], true, true, 15, 255, true, true);
}
}
}
let _異常PlPicArr = [];
let _異常EmPicArr = [];
Game_Interpreter.prototype.Btl_異常描画 = function (_opi) {
_opi = typeof _opi !== 'undefined' ? _opi : 255;
this.DelSpriteSpan(PN_bPlState , PN_bEmStateTn + 6);
_異常PlPicArr = [];
for (let i = 0; i <= NPlayer.state.length - 1; i++) {
let _ckst = $dataStates[NPlayer.state[i]._No];
let _SetStr = " \\I[" + _ckst.iconIndex + "] ";
_異常PlPicArr.push(PN_bPlState + i);
let _PLIPs = new Pos2D(1400 , 650);
this.SpriteStrC(PN_bPlState + i , _SetStr , 25 , _PLIPs._x , _PLIPs._y + (-60 * i) , 255 , 150 , 150);
let _TurnStr = "\\oc[rgba(0,0,0,1)] " + NPlayer.state[i]._Turn + " ";
this.SpriteStrR(PN_bPlStateTn + i , _TurnStr , 25 , _PLIPs._x + 30 , _PLIPs._y + (-60 * i) , 255);
}
_異常EmPicArr = [];
for (let i = 0; i <= NEnemy.state.length - 1; i++) {
let _ckst = $dataStates[NEnemy.state[i]._No];
let _SetStr = " \\I[" + _ckst.iconIndex + "] ";
let _StPs = new Pos2D(63 , 61 + 67 - (56 * i));
this.SpriteStrC(PN_bEmState + i , _SetStr , 25 , _StPs._x , _StPs._y , _opi , 150 , 150);
_異常EmPicArr.push(PN_bEmState + i);
let _TurnStr = "\\oc[rgba(0,0,0,1)] " + NEnemy.state[i]._Turn + " ";
this.SpriteStrR(PN_bEmStateTn + i , _TurnStr , 25 , _StPs._x , _StPs._y, _opi);
}
}
Game_Interpreter.prototype.N_Btl_異常確認_Update = function () {
D_Text_Cng_font = "Makinas";
this.DelSpriteSpan(PN_bIjoWin , PN_bIjoTxt + 1);
let _CNo = overPointerSpCkArr(_異常PlPicArr);
let _PIjPs = new Pos2D(930 , 630);
if(_CNo != -1) {
_CNo -= PN_bPlState;
let _ZureY = (-60 * _CNo)
this.SetSprite(PN_bIjoWin , BtlPic + "PN_bIjoWin" , _PIjPs._x , _PIjPs._y + _ZureY);
let _CkState = $dataStates[NPlayer.state[_CNo]._No];
let _StVar = " \\I[" + _CkState.iconIndex + "] " + _CkState.name + " " + NPlayer.state[_CNo]._Turn + " More Actions";
this.SpriteStr(PN_bIjoTxt + 0 , _StVar , 24 , _PIjPs._x + 28 , _PIjPs._y + 13 + _ZureY);
this.SpriteStr(PN_bIjoTxt + 1 , " " + _CkState.message1 , 24 , _PIjPs._x + 28 , _PIjPs._y + 13 + 41 + _ZureY);
}
_CNo = overPointerSpCkArr(_異常EmPicArr);
if(_CNo != -1){
_CNo -= PN_bEmState;
let _EmjPs = new Pos2D(86 , 256 - (56 * _CNo));
this.SetSprite(PN_bIjoWin , BtlPic + "PN_bIjoWin_Em" , _EmjPs._x , _EmjPs._y);
let _CkState = $dataStates[NEnemy.state[_CNo]._No];
let _StVar = " \\I[" + _CkState.iconIndex + "] " + _CkState.name + " " + NEnemy.state[_CNo]._Turn + " More Actions";
this.SpriteStr(PN_bIjoTxt + 0 , _StVar , 24 , _EmjPs._x + 28 , _EmjPs._y + 13);
this.SpriteStr(PN_bIjoTxt + 1 , " " + _CkState.message1 , 24 , _EmjPs._x + 28 , _EmjPs._y + 13 + 41);
}
D_Text_Cng_font = "";
}
Game_Interpreter.prototype._Txt命中被弾 = function (_No , _ckSkillId) {
_ckSkillId = typeof _ckSkillId !== 'undefined' ? _ckSkillId : -1;
if (!Em_DoViewArr[_No]) return "Hit???% Recv???%";
let _PlSkillNo = NPlayer.DO_Arr[_No];
if (_ckSkillId != -1) {
NPlayer.Skill = $dataSkills[_ckSkillId];
} else {
NPlayer.Skill = $dataSkills[_PlSkillNo];
}
let _PLStSave = NPlayer.state.slice();
let _EmSkillNo = NEnemy.DO_Arr[_No];
NEnemy.Skill = $dataSkills[_EmSkillNo];
let _EmStSave = NEnemy.state.slice();
this.Skill_StateSet(NPlayer, 1 , false);
this.Skill_StateSet(NEnemy, 1 , false);
let _命中 = "---";
if (NPlayer.Skill != null) {
if (NPlayer.Skill.stypeId == _Stype._Atk) {
_命中 = Math.floor(HitKeisan(NPlayer, NEnemy));
}
}
let _被弾 = "---";
try {
if (NEnemy.Skill.stypeId == _Stype._Atk) {
_被弾 = Math.floor(HitKeisan(NEnemy, NPlayer));
}
} catch (e) {
let ss = 0;
}
NPlayer.state = _PLStSave;
NEnemy.state = _EmStSave;
return "Hit" + _命中 + "% " + "Recv" + _被弾 + "%";
}
Game_Interpreter.prototype._Txt特殊 = function (_ckSkillId) {
let _rtnTxt = "";
if (MetaChecker($dataSkills[_ckSkillId],"テンション消費") != "") {
_rtnTxt += "\\oc[rgba(0, 0, 0, 1)]"
_rtnTxt += SCol.Red + "テンション消費:" + MetaChecker($dataSkills[_ckSkillId], "テンション消費");
}
return _rtnTxt;
}
Game_Interpreter.prototype._直感判定 = function () {
let _主人公の直感 = NPlayer.b_pre;
let _敵の直感 = NEnemy.b_pre;
let _内部直感率 = ((_主人公の直感 / _敵の直感) / 0.02);
if (_内部直感率 < 10) _内部直感率 = 10;
if (_内部直感率 > 80) _内部直感率 = 80;
let _直感確率 = _内部直感率 + 10;
return Math.random() * 100 < _直感確率;
}
Game_Interpreter.prototype.N_Btl_DoPDel = function () {
for (let i = PN_bDoPoint; i <= PN_bDoPoint_Em + (DoP_Cnt - 1); i++) {
this.DelSprite(i);
}
}
Game_Interpreter.prototype.N_Btl_DoPResetDraw = function () {
for (let i = 0; i <= NPlayer.Do_MaxMp - 1; i++) {
let _setNo = "0";
let _ckMp = i + 1;
if (NPlayer.Do_Mp >= _ckMp) _setNo = "1";
this.SetSprite(PN_bDoPoint + i, BtlPic + "PN_bDoPoint_" + _setNo,
DoPosB_PL._x, DoPosB_PL._y + (29 * 8) - (15 * i));
}
for (let i = 0; i <= NEnemy.Do_MaxMp - 1; i++) {
_setNo = "0";
_ckMp = i + 1;
if (NEnemy.Do_Mp >= _ckMp) _setNo = "1";
this.SetSprite(PN_bDoPoint_Em + i, BtlPic + "PN_bDoPoint_" + _setNo,
DoPosB_Em._x, DoPosB_Em._y + (29 * 8) - (15 * i));
}
}
Game_Interpreter.prototype.N_Btl_DoPPicCng = function () {
for (let i = 0; i <= NPlayer.Do_MaxMp - 1; i++) {
let _setNo = "0";
let _ckMp = i + 1;
if (NPlayer.Do_Mp >= _ckMp) _setNo = "1";
this.CngSprite(PN_bDoPoint + i, BtlPic + "PN_bDoPoint_" + _setNo);
}
for (let i = 0; i <= NEnemy.Do_MaxMp - 1; i++) {
_setNo = "0";
_ckMp = i + 1;
if (NEnemy.Do_Mp >= _ckMp) _setNo = "1";
this.CngSprite(PN_bDoPoint_Em + i, BtlPic + "PN_bDoPoint_" + _setNo);
}
}
Game_Interpreter.prototype.N_Btl_PLDoMove = function (_PosX, _PosY , _Flame) {
for (let i = 0; i <= 6 - 1; i++) {
this.N_Btl_Pl弾丸Move(PN_bPLBltWin + (i * Cnt_PN_bPLBltWin) , _PosX, _PosY + (_BsBltY差 * i), _Flame , 255,100);
}
}
Game_Interpreter.prototype.N_Btl_PLDoPMove = function (_PosX, _PosY, _Flame) {
for (let i = 0; i <= NPlayer.Do_MaxMp - 1; i++) {
this.MoveSprite(PN_bDoPoint + i, _PosX, _PosY + (29 * 8) - (29 * i), _Flame);
}
}
Game_Interpreter.prototype.N_Btl_EmDoMove = function (_PosX, _PosY, _Flame) {
for (let i = 0; i <= 6 - 1; i++) {
this.N_Btl_Em弾丸Move(PN_bEmBltWin + (i * Cnt_PN_bEmBltWin), _PosX, _PosY + (_BsBltY差 * i), _Flame)
}
}
Game_Interpreter.prototype.N_Btl_EmDoMoveRt = function (_PosX, _PosY, _Flame) {
for (let i = 0; i <= 6 - 1; i++) {
this.N_Btl_Em弾丸Move(PN_bEmBltWin + (i * Cnt_PN_bEmBltWin), _PosX, _PosY + (_BsBltY差 * 5) + (-_BsBltY差 * i), _Flame)
}
}
Game_Interpreter.prototype.N_Btl_EmDoPMove = function (_PosX, _PosY, _Flame) {
for (let i = 0; i <= NEnemy.Do_MaxMp - 1; i++) {
this.MoveSprite(PN_bDoPoint_Em + i, _PosX, _PosY + (29 * 8) - (29 * i), _Flame);
}
}
let SkillSelNo = 0;
let SelectSkillArr = [];
let SklPos = new Pos2D(645, DoPos_Pl._y - 55);
Game_Interpreter.prototype.N_Btl_SkillView = function (_SetFlg) {
let _opi = 255;
if (_SetFlg) _opi = 0;
ViewSpriteArr_Reset();
SelectSkillArr = [];
for (let i = 0; i <= $gameSystem.PL_SkillArr.length - 1; i++) {
if($gameSystem.PL_SkillArr[i] == 0) continue;
let _ckSkill = $dataSkills[$gameSystem.PL_SkillArr[i]];
if (!TH_ModeFlg && _ckSkill.meta["THMode"]) continue;
SelectSkillArr.push($gameSystem.PL_SkillArr[i]);
}
if(TH_ModeFlg && NPlayer.DO_Arr.indexOf(SKN_THSkill + $gameVariables.value(VN_THSkLv)) == -1) {
this.TH_Skill_Add();
}
for (let i = 0; i <= SelectSkillArr.length - 1; i++) {
let _ckSkill = $dataSkills[SelectSkillArr[i]];
let _costStr = " 0";
if (_ckSkill.mpCost > 0) {
_costStr = "-" + _ckSkill.mpCost;
} else if (_ckSkill.tpCost > 0) {
_costStr = "+" + _ckSkill.tpCost;
}
let _相性Col = Skill相性Col(SelectSkillArr[i], NEnemy.DO_Arr[SelectDoNo]);
if (!Em_DoViewArr[i]) _相性Col = "";
let _IcStr = "";
if (_ckSkill.iconIndex != 0) {
_IcStr += "\\I[" + _ckSkill.iconIndex + "]";
}
}
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
this.MoveSprite(ViewSpriteArr[i], true, true, 15, 255);
}
if(SelectDoNo == -1){
this.N_Btl_THSetuView(_DoSetuPosX + 30 , 695);
} else {
if(NPlayer.DO_Arr[SelectDoNo] != 0){
//this.N_Btl_SetuView(NPlayer.DO_Arr[SelectDoNo] , _DoSetuPosX , 402 + (_BltY差 * SelectDoNo));
} else {
let _DelMinPic = PN_BtlSelUI + (-3 * Cnt_PN_bPLBltWin);
let _DelMaxPic = PN_BtlSelUI + (+3 * Cnt_PN_bPLBltWin);
this.DelSpriteSpan(_DelMinPic , _DelMaxPic);
}
}
}
let Skill相性Col = function (_PLSkillNo, _EmSKillNo) {
switch(Skill相性Ck(_PLSkillNo, _EmSKillNo)){
case _相性結果.Win:
return SCol.Yel;
case _相性結果.Lose:
return SCol.Blu;
case _相性結果.Draw:
return "";
}
return "";
}
let _相性結果 = {
Win:1,
Lose:2,
Draw:3
};
let Skill相性Ck = function (_PLSkillNo, _EmSKillNo) {
if (_PLSkillNo == 0 || _PLSkillNo == undefined) return "";
if (_EmSKillNo == 0 || _EmSKillNo == undefined) return "";
if(_PLSkillNo == -1) return _相性結果.Lose;
if(_EmSKillNo == -1) return _相性結果.Win;
let _結果 = _相性結果.Draw;
let _plStype = $dataSkills[_PLSkillNo].stypeId;
let _emStype = $dataSkills[_EmSKillNo].stypeId;
switch (_plStype) {
case _Stype._Atk:
if (_emStype == _Stype._Taiki) _結果 = _相性結果.Win;
if (_emStype == _Stype._Def) _結果 = _相性結果.Lose;
break;
case _Stype._Def:
if (_emStype == _Stype._Atk) _結果 = _相性結果.Win;
if (_emStype == _Stype._Taiki) _結果 = _相性結果.Lose;
break;
case _Stype._Taiki:
if (_emStype == _Stype._Def) _結果 = _相性結果.Win;
if (_emStype == _Stype._Atk) _結果 = _相性結果.Lose;
break;
}
return _結果;
}
let SetuPos = new Pos2D(547, 243);
Game_Interpreter.prototype.N_Btl_SetuView = function (_SkillId , _posX , _PosY) {
_posX = typeof _posX !== 'undefined' ? _posX : SetuPos._x;
_PosY = typeof _PosY !== 'undefined' ? _PosY : SetuPos._y;
let _opi = 0;
ViewSpriteArr_Reset();
if(_SkillId == undefined) return;
let _ckSkill = $dataSkills[_SkillId];
if(_ckSkill == null) return;
if (_ckSkill.description != undefined) {
_CkDescArr = _Skill_SetuGetArr(_SkillId);
}
let _addStr = "  Cost 0";
if (_ckSkill.mpCost > 0) {
_addStr = "  Cost" + _ckSkill.mpCost;
} else if (_ckSkill.tpCost > 0) {
_addStr = "  Cost" + _ckSkill.tpCost;
}
if(_Skill_State存在Ck(_SkillId , _StateDt._コスト全消費)){
_addStr = " \\C[10]CostTP All Used";
}
let _IcStr = "";
if (_ckSkill.iconIndex != 0) {
_IcStr += "\\I[" + _ckSkill.iconIndex + "]";
}
this.DelSpriteArr([PN_SetuTxt + 0, PN_SetuTxt + 1, PN_SetuTxt + 2]);
this.SetSprite(PN_SetuWin, BtlPic + "PN_SetuWin", _posX - 20, _PosY, _opi);
this.SpriteStr(PN_SetuTxt + 0, _IcStr + _ckSkill.name + _addStr, 22, _posX - 1, _PosY + 14, _opi);
for (let i = 0; i <= _CkDescArr.length - 1; i++) {
this.SpriteStr(PN_SetuTxt + 1 + i, _CkDescArr[i], 18, _posX + 2, _PosY + 48 + (i * 25), _opi);
}
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
this.MoveSpriteAdd(ViewSpriteArr[i], 20, 0, 3, 255);
}
}
Game_Interpreter.prototype.N_Btl_THSetuView = function (_posX , _PosY) {
this.DelSpriteArr([PN_SetuTxt + 0, PN_SetuTxt + 1, PN_SetuTxt + 2]);
this.SetSprite(PN_SetuWin, BtlPic + "PN_SetuWin", _posX - 20, _PosY, 0);
this.SpriteStr(PN_SetuTxt + 0, "TH Mode Start", 22, _posX - 1, _PosY + 14, 0);
let _CkDescArr = [
"Enter TH Mode" , "Predict enemy actions again"
];
for (let i = 0; i <= _CkDescArr.length - 1; i++) {
this.SpriteStr(PN_SetuTxt + 1 + i, _CkDescArr[i], 18, _posX + 2, _PosY + 48 + (i * 25), 0);
}
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
this.MoveSpriteAdd(ViewSpriteArr[i], 20, 0, 3, 255);
}
}
Game_Interpreter.prototype.N_Btl_SetuDel = function () {
for (let i = PN_SetuWin; i <= PN_SetuHitTxt + 1; i++) {
this.MoveSprite(i, true, true, 10, 0);
}
}
const BtlFast_Counter = 60;
let BtlFastCnter = 0;
Game_Interpreter.prototype.N_BtlUpdate = function () {
if (NPlayer.Do_Mp > NPlayer.Do_MaxMp) NPlayer.Do_Mp = NPlayer.Do_MaxMp;
if (NEnemy.Do_Mp > NEnemy.Do_MaxMp) NEnemy.Do_Mp = NEnemy.Do_MaxMp;
if (btlMode != _btlMode.Start) this.BtlBackUpdate();
this.Btl_UIUpdate();
switch (btlMode){
case _btlMode.Start:
this.N_Btl_StartUpdate();
break;
case _btlMode.Select:
this.N_Btl_SelectUpdate();
BtlFastCnter = 0;
break;
case _btlMode.Battle:
this.N_Btl_BattleUpdate();
if(isFastForward()) {
if(BtlFastCnter == 0) {
EasingStr = "easeInOutQuad";
this.SetSprite(PN_SpeedUp + 0 , BtlPic + "PN_SpeedUp" , 72 , 750);
this.MoveSprite(PN_SpeedUp + 0 , 472 , true , BtlFast_Counter);
EasingStr = "";
}
btl_flame++; this.N_Btl_BattleUpdate();
btl_flame++; this.N_Btl_BattleUpdate();
BtlFastCnter++;
if(BtlFastCnter == BtlFast_Counter + 1) BtlFastCnter = 0;
} else {
BtlFastCnter = 0;
this.DelSpriteSpan(PN_SpeedUp + 0 , PN_SpeedUp + 1);
}
break;
case _btlMode.End:
this.N_Btl_EndUpdate();
break;
}
btl_flame++;
}
let _BtlTurnPs = new Pos2D(1415 , 40);
Game_Interpreter.prototype.Btl_UIUpdate = function () {
if(btl_flame > 45) {
D_Text_Cng_font = "Russo_One";
this.SpriteStrC(PN_bTurn, SCol.Blk0 + " " + BtlTurn + " ", 40, _BtlTurnPs._x, _BtlTurnPs._y);
D_Text_Cng_font = "";
}
}
let _PsvWillMp = 0;
Game_Interpreter.prototype.N_Btl_TurnCng = function () {
_PsvWillMp = 0;
for (let i = 0; i <= NPlayer.PsvArr.length - 1; i++) {
let _AmId = NPlayer.PsvArr[i];
this.N_Btl_TurnCng_Psv(NPlayer , $dataArmors[_AmId]);
}
for (let i = 0; i <= NEnemy.PsvArr.length - 1; i++) {
let _AmId = NEnemy.PsvArr[i];
this.N_Btl_TurnCng_Psv(NEnemy , $dataArmors[_AmId]);
}
}
Game_Interpreter.prototype.N_Btl_TurnCng_Psv = function (_NChara , _Armor) {
if(_Armor.traits.length == 0) return;
for (let i = 0; i <= _Armor.traits.length - 1; i++) {
if(_Armor.traits[i].code != 11) continue;
let _Var = Math.floor(_Armor.traits[i].value * 100) - 100;
switch(_Armor.traits[i].dataId){
case _Zoku._ターン行動値変化:
_NChara.Do_Mp += _Var;
_PsvWillMp += _Var;
if(_NChara.Do_Mp < 0) _NChara.Do_Mp = 0;
if(_NChara.Do_Mp >= DoP_Cnt) _NChara.Do_Mp = DoP_Cnt;
break;
case _Zoku._ターン体力回復:
_NChara._hp += Math.floor(_NChara.mhp * (_Var / 100));
if(_NChara._hp > _NChara.mhp) _NChara._hp = _NChara.mhp;
if(_NChara._hp < 0) _NChara._hp = 0;
break;
case _Zoku._ターンTP回復:
_NChara._tp += _Var;
break;
}
}
for (let i = 0; i < _NChara.state.length; i++) {
let _ckst = $dataStates[_NChara.state[i]._No];
for (let j = 0; j < _ckst.traits.length; j++) {
switch (_ckst.traits[j].code) {
case 11:
switch (_ckst.traits[j].dataId) {
case _Zoku._ターン開始MP全回復:
_NChara.Do_Mp += 9999;
break;
}
break;
}
}
}
}
let THMode_End = function () {
TH_ModeFlg = false;
$gameSwitches.setValue(SW_THMode , TH_ModeFlg);
}
let btlSelect_flame = 0;
let _EnterFlame = 0;
let btlSelect_PlTp = 0 ;
let btlSelect_TpUse = [0,0,0,0,0,0];
let Em_Skills = [];
Game_Interpreter.prototype.N_Btl_SelectCng = function () {
this.N_Btl_TurnCng();
戦闘ターン++;
THMode_End();
btlMode = _btlMode.Select;
btlSelect_flame = 0;
SelectDoNo = 0;
NPlayer._tp += 10;
if(NPlayer._tp > 100) NPlayer._tp = 100;
btlSelect_PlTp = NPlayer._tp;
btlSelect_TpUse = [0,0,0,0,0,0];
this.N_Btl_DoPDel();
_EnterFlame = 0;
this.EnemySkillSet();
this.SetSprite(PN_bFz, BtlPic + "PN_bFz_Sel", 0, 0);
this.MoveSprite(PN_bFz, true, true, 25);
if (DbgFlg) {
this.DelSpriteArr([PN_TestStr, PN_TestStr + 1, PN_TestStr + 2, PN_TestStr + 3]);
}
this.DelSpriteSpan(PN_SpeedUp + 0 , PN_SpeedUp + 1);
}
Game_Interpreter.prototype.PLテンションUp = function (_cngVal) {
NPlayer._tp += _cngVal;
btlSelect_PlTp += _cngVal;
if (NPlayer._tp < 0) NPlayer._tp = 0;
if (NPlayer._tp > 100) NPlayer._tp = 100;
if (btlSelect_PlTp < 0) btlSelect_PlTp = 0;
if (btlSelect_PlTp > 100) btlSelect_PlTp = 100;
}
let _thFlame = 0; let _ThFInFlm = 60
let _Btl_TH演出終了 = false;
let _Btl_TH演出flame = 0;
let CN_THModeCmn = 502;
Game_Interpreter.prototype.N_Btl_THModeStart = function () {
TH_ModeFlg = true;
NPlayer.state.push(new _State(STN_THMode, 6));
$gameSwitches.setValue(SW_THMode , TH_ModeFlg);
_thFlame = _ThFInFlm;
let _dCnt = NPlayer._tp - btlSelect_PlTp;
NPlayer._tp -= 50;
btlSelect_PlTp = NPlayer._tp - _dCnt;
this.DelSprite(PN_BtlTHBlt);
this.N_Btl_PlStView(PLStPos._x, PLStPos._y, true);
this.N_Btl_TatieView();
this.N_Btl_SkillView(true);
this._再直感処理();
_Btl_TH演出flame = 0;
_Btl_TH演出終了 = true;
this.Btl_異常描画();
}
let Btl_TH演出終了 = function () {
_Btl_TH演出終了 = false;
}
Game_Interpreter.prototype.N_Btl_THModeUpdate = function () {
if(_Btl_TH演出終了){
if(_Btl_TH演出flame == 0) {
this.SetCmnEvent(CN_THModeCmn);
}
_Btl_TH演出flame++;
}
if (!_Btl_TH演出終了 && _Btl_TH演出flame > 0) {
_THSelectFlg = true;
this.N_Btl_Select_1_Draw();
_Btl_TH演出flame = 0;
}
return _Btl_TH演出終了;
}
let _ktdnBOverFlg = false;
let _SelNoSave = 0;
let _bwhlflame = 10;
let _BSelMode = 0;
let _Nowシリンダー角度 = 0;
let _BSel_メニューFlg = false;
let _BSel_ReadyFlg = false;
const _DoSetuPosX = 680;
Game_Interpreter.prototype.N_Btl_SelectUpdate = function () {
if(_Btl_StopCmnFlg) return;
if(_BSel_ReadyFlg){
this.Btl_Ready_Update();
return;
}
if(_BSel_メニューFlg){
this.N_Btl_BSelMenu_Update();
return;
}
switch(_BSelMode) {
case 0:
this.N_Btl_SelectUpdate_0();
break;
case 1:
this.N_Btl_SelectUpdate_1();
break;
}
btlSelect_flame++;
}
let btlSelect_初期処理Flg = true;
const CN_戦闘コマンド回転時 = 507;
const CN_戦闘コマンド決定時 = 508;
Game_Interpreter.prototype.N_Btl_SelectUpdate_0 = function () {
if (_bwhlflame > 0){
TouchInput.wheelY = 0;
_bwhlflame--;
}
if (TouchInput.wheelY != 0) _bwhlflame = 20;
if (btlSelect_flame == 25) {
this.MoveSprite(PN_bFz, true, true, 25, 0);
if(btlSelect_初期処理Flg) {
_Btl_StopCmnFlg = true;
this.SetCmnEventSc(CN_カットイン後);
btlSelect_初期処理Flg = false;
} else {
_Btl_StopCmnFlg = true;
this.SetCmnEventSc(CN_毎ターンコモン);
}
}
if (btlSelect_flame == 45) {
this.N_Btl_DoView(true);
this.N_Btl_SkillView(true);
this.N_Btl_PlStView(PLStPos._x, PLStPos._y, true);
this.N_Btl_EmStView();
}
if (btlSelect_flame > 60 && _EnterFlame == 0) {
let _doCngFlg = false;
let _操作_UpFlg = false;
let _操作_DownFlg = false;
if(!this.Blt_TutorialUpdate()) {
_操作_UpFlg = (Input.isTriggered('up') || TouchInput.wheelY < 0);
_操作_DownFlg = Input.isTriggered('down') || TouchInput.wheelY > 0;
}
if (_操作_UpFlg) {
SelectDoNo--; _doCngFlg = true;
if (btlSelect_PlTp >= 50) {
if (SelectDoNo < -1) SelectDoNo = 5;
} else {
if (SelectDoNo < 0) SelectDoNo = 5;
}
this.Blt_SelectMove();
}
if (_操作_DownFlg) {
SelectDoNo++; _doCngFlg = true;
if (btlSelect_PlTp >= 50) {
if (SelectDoNo >= 6){
SelectDoNo = -1;
}
} else {
if (SelectDoNo >= 6) SelectDoNo = 0;
}
this.Blt_SelectMove();
}
if (_doCngFlg) {
this.N_Btl_SkillView();
}
if(TH_ModeFlg){
this.TH_Skill_Add();
for (let i = 0; i <= NPlayer.DO_Arr.length - 1; i++) {
if(i == SelectDoNo) continue;
if(NPlayer.DO_Arr[i] == SKN_THSkill + $gameVariables.value(VN_THSkLv)){
this.TH_Skill_Del();
if(SelectSkillArr.length <= SkillSelNo){
SkillSelNo = 0;
}
}
}
}
_シリンダー角度 = _Nowシリンダー角度 = 0;
let _BltDt = new _BltImgData(0);
let _SlndX = _BltDt._PsX + 383;
let _SlndY = _BltDt._PsY + 23;
this.SetSpriteC(PN_BtlSrinder , BtlPic + "PN_BtlSrinder", _SlndX - 20 , _SlndY , 0);
this.MoveSprite(PN_BtlSrinder , _SlndX , _SlndY , 5 , _BltDt._透明度);
let tpBtnDrawSkipFlg = false;
if(_Btl_TutorialNo != -1) {
if(_Btl_TutorialNo != 26) tpBtnDrawSkipFlg = true;
}
this.DelSpriteSpan(PN_TPPowUp + 0 , PN_TPPowUp + 1);
if(!tpBtnDrawSkipFlg) {
if(btlSelect_TpUse[SelectDoNo] != 3 && btlSelect_PlTp >= 10){
this.SetSpriteC(PN_TPPowUp + 0 , BtlPic + "PN_TPPowUp",
TPUpPs._x - 10 , TPUpPs._y + (_BltY差 * SelectDoNo), 0);
this.MoveSprite(PN_TPPowUp + 0 , TPUpPs._x , true , 5 , 255);
if(btlSelect_PlTp < 10) this.DelSprite(PN_TPPowUp + 0);
}
if((btlSelect_TpUse[SelectDoNo] != 0)){
this.SetSpriteC(PN_TPPowUp + 1 , BtlPic + "PN_TPPowUp_Cancel",
TPUpPs._x - 57 - 10 , TPUpPs._y + 134 + (_BltY差 * SelectDoNo), 0);
this.MoveSprite(PN_TPPowUp + 1 , TPUpPs._x - 57 , true , 5 , 255);
}
}
_Bef_PLDoNo = NPlayer.DO_Arr[SelectDoNo];
_Bef_PLDoTpCnt = btlSelect_TpUse[SelectDoNo];
this.N_Btl_Select_1_Draw();
NPlayer.DO_Arr[SelectDoNo] = SelectSkillArr[SkillSelNo] + btlSelect_TpUse[SelectDoNo];
_PL_DoArrDraw = true;
this.N_Btl_DoView();
_PL_DoArrDraw = false;
}
if (_EnterFlame > 0){
this.Blt_EnterUpdate();
if(isFastForward()) {
this.Blt_EnterUpdate();
this.Blt_EnterUpdate();
}
this.DelSprite(PN_StSelTpGage);
} else {
this.N_Btl_SelTpDraw();
}
}
let LvSkipFlg = [130];
let Draw_弾丸Cost = false;
Game_Interpreter.prototype.N_Btl_Pl弾丸Draw = function (_PicNo , _ColStr , _HitStr , _DoNo , _PosX , _PosY , _Opi , _MSize) {
_Opi = typeof _Opi !== 'undefined' ? _Opi : 255;
_MSize = typeof _MSize !== 'undefined' ? _MSize : 100;
_HitStr = typeof _HitStr !== 'undefined' ? _HitStr : "";
let _MWari = _MSize / 100;
this.DelSpriteSpan(_PicNo , _PicNo + Cnt_PN_bPLBltWin - 1);
if (_DoNo == undefined) _DoNo = 0;
if (_DoNo == 0){
this.SetSprite(_PicNo + 0, BtlPic + "PN_bPLBltWin_brank",
_PosX, _PosY , _Opi , _MSize , _MSize);
this.SpriteStr(_PicNo + 2, "-Unassigned-", 22,
_PosX + (74 * _MWari) , _PosY + (13 * _MWari), _Opi , _MSize , _MSize);
this.SpriteStr(_PicNo + 3, "Hit---% Receive---% ", 15,
_PosX + 94, _PosY - 9, _Opi , _MSize , _MSize);
} else {
let _ckSkill = $dataSkills[_DoNo];
let _ckLv = _DoNo % 8;
if(_ckLv == 0) _ckLv = 8;
this.SetSprite(_PicNo + 0, BtlPic + "PN_bPLBltWin",
_PosX, _PosY , _Opi , _MSize , _MSize);
if (LvSkipFlg.indexOf(_DoNo) == -1) {
this.SetSprite(_PicNo + 4, BtlPic + "PN_bSkillLv_" + _ckLv,
_PosX, _PosY , _Opi , _MSize , _MSize);
}
let _astr = "";
let _SetStr = "PN_Cost_";
let _MpCost = _ckSkill.mpCost;
if(_ckSkill.tpCost > 0) _MpCost = -_ckSkill.tpCost
if (_Skill_State存在Ck(_DoNo , _StateDt._コスト全消費)) _MpCost = Draw_弾丸Cost;
Draw_弾丸Cost = false;
if (_MpCost > 0) {
_SetStr += "m" + _MpCost;
} else if (_MpCost < 0) {
_SetStr += "p" + -_MpCost;
}
if (_ckSkill.iconIndex != 0){
_astr += " \\I[" + _ckSkill.iconIndex + "]";
}
this.SetSprite(_PicNo + 1, BtlPic + _SetStr,
_PosX + (9 * _MWari), _PosY + (0 * _MWari) , _Opi , _MSize , _MSize);
_ColStr = _ColStr.replace( 'undefined', "" );
_astr = _ColStr + _astr;
this.SpriteStr(_PicNo + 2, _astr + _ckSkill.name, 22,
_PosX + (68 * _MWari), _PosY + (13 * _MWari), _Opi , _MSize , _MSize);
if(_HitStr != ""){
this.SpriteStr(_PicNo + 3, _HitStr, 15,
_PosX + (94 * _MWari), _PosY - (9 * _MWari), _Opi);
}
}
}
Game_Interpreter.prototype.N_Btl_Pl弾丸Move = function(_PicNo , _PosX , _PosY , _Time , _Opi , _MSize){
if (_PosX == true) _PosX = GetSpriteData(_PicNo)._x;
if (_PosY == true) _PosY = GetSpriteData(_PicNo)._y;
_Opi = typeof _Opi !== 'undefined' ? _Opi : 255;
_MSize = typeof _MSize !== 'undefined' ? _MSize : true;
if(_MSize != true){
let _MWari = _MSize / 100;
this.MoveSprite(_PicNo + 0 , _PosX , _PosY , _Time, _Opi , _MSize , _MSize);
this.MoveSprite(_PicNo + 4 , _PosX , _PosY , _Time, _Opi , _MSize , _MSize);
this.MoveSprite(_PicNo + 1 , _PosX + (9 * _MWari), _PosY + (0 * _MWari) , _Time, _Opi , _MSize , _MSize);
this.MoveSprite(_PicNo + 2 , _PosX + (68 * _MWari), _PosY + (13 * _MWari) , _Time, _Opi , _MSize , _MSize);
this.MoveSprite(_PicNo + 3 , _PosX + (94 * _MWari), _PosY - (9 * _MWari) , _Time, _Opi , _MSize , _MSize);
} else {
if(GetSpriteData(_PicNo + 0) == null){
return;
}
let _MWari = GetSpriteData(_PicNo + 0)._scaleX / 100;
this.MoveSprite(_PicNo + 0 , _PosX , _PosY , _Time, _Opi , true , true);
this.MoveSprite(_PicNo + 4 , _PosX , _PosY , _Time, _Opi , true , true);
this.MoveSprite(_PicNo + 1 , _PosX + (9 * _MWari), _PosY + (0 * _MWari) , _Time, _Opi , true , true);
this.MoveSprite(_PicNo + 2 , _PosX + (68 * _MWari), _PosY + (13 * _MWari) , _Time, _Opi , true , true);
this.MoveSprite(_PicNo + 3 , _PosX + (94 * _MWari), _PosY - (9 * _MWari) , _Time, _Opi , true , true);
}
}
Game_Interpreter.prototype.N_Btl_Em弾丸Draw = function (_PicNo , _ColStr , _DoNo , _PosX , _PosY , _Opi , _MSize) {
_Opi = typeof _Opi !== 'undefined' ? _Opi : 255;
_MSize = typeof _MSize !== 'undefined' ? _MSize : 100;
let _MWari = _MSize / 100;
this.DelSpriteSpan(_PicNo, _PicNo + Cnt_PN_bEmBltWin - 1);
if(_DoNo == -1){
this.SetSprite(_PicNo, BtlPic + "PN_bEmBltWin_Brns", _PosX, _PosY , _Opi , _MSize , _MSize);
} else {
this.SetSprite(_PicNo, BtlPic + "PN_bEmBltWin", _PosX, _PosY , _Opi , _MSize , _MSize);
let _ckSkill = $dataSkills[_DoNo];
let _SetStr = "PN_Cost_";
let _astr = "";
_astr += _ColStr;
let _MpCost = _ckSkill.mpCost;
if(_ckSkill.tpCost > 0) _MpCost = -_ckSkill.tpCost;
if (Draw_弾丸Cost != false) _MpCost = Draw_弾丸Cost;
Draw_弾丸Cost = false;
if (_MpCost > 0) {
_SetStr += "m" + _MpCost;
} else if (_MpCost < 0) {
_SetStr += "p" + -_MpCost;
}
this.SetSprite(_PicNo + 1, BtlPic + _SetStr, _PosX + (177 * _MWari), _PosY , _Opi , _MSize , _MSize);
if (_ckSkill.iconIndex != 0) {
_astr += "\\I[" + _ckSkill.iconIndex + "]";
}
this.SpriteStr(_PicNo + 2, _astr + _ckSkill.name, 22,
_PosX + (14 * _MWari), _PosY + (13 * _MWari) , _Opi , _MSize , _MSize);
}
}
Game_Interpreter.prototype.N_Btl_Em弾丸_不明Draw = function(_PicNo ,_PosX , _PosY , _Opi , _MSize){
_Opi = typeof _Opi !== 'undefined' ? _Opi : 255;
_MSize = typeof _MSize !== 'undefined' ? _MSize : 100;
let _MWari = _MSize / 100;
this.DelSpriteSpan(_PicNo, _PicNo + 2);
this.SetSprite(_PicNo, BtlPic + "PN_bEmBltWin_brank", _PosX, _PosY , _Opi , _MSize , _MSize);
this.SpriteStr(_PicNo + 2, "??????", 22,
_PosX + (14 * _MWari), _PosY + (13 * _MWari) , _Opi , _MSize , _MSize);
}
Game_Interpreter.prototype.N_Btl_Em弾丸Move = function(_PicNo , _PosX , _PosY , _Time , _Opi , _MSize){
_Opi = typeof _Opi !== 'undefined' ? _Opi : 255;
_MSize = typeof _MSize !== 'undefined' ? _MSize : true;
if(_MSize != true){
let _MWari = _MSize / 100;
this.MoveSprite(_PicNo + 0 , _PosX , _PosY , _Time, _Opi , _MSize , _MSize);
this.MoveSprite(_PicNo + 1 , _PosX + (177 * _MWari) , _PosY , _Time, _Opi , _MSize , _MSize);
this.MoveSprite(_PicNo + 2 , _PosX + (14 * _MWari), _PosY + (13 * _MWari) , _Time, _Opi , _MSize , _MSize);
} else {
if(GetSpriteData(_PicNo + 0) == null){
return;
}
let _MWari = GetSpriteData(_PicNo + 0)._scaleX / 100;
this.MoveSprite(_PicNo + 0 , _PosX , _PosY , _Time, _Opi , true , true);
this.MoveSprite(_PicNo + 1 , _PosX + (177 * _MWari) , _PosY , _Time, _Opi , true , true);
this.MoveSprite(_PicNo + 2 , _PosX + (14 * _MWari), _PosY + (13 * _MWari) , _Time, _Opi , true , true);
}
}