dead-end-colosseum/www/js/plugins/JsScript44Set.js
2026-01-17 11:28:46 -06:00

360 lines
15 KiB
JavaScript

let btlEnd_flame = 0;
let btlEnd_flame2 = 0;
let RzRank_Var = 0;
const _決着SE = "Battle3";
Game_Interpreter.prototype.N_Btl_EndCng = function () {
btlMode = _btlMode.End;
btlEnd_flame = 0;
btlEnd_flame2 = 0;
RzRank_Var = 0;
_Btl_StopCmnFlg = true;
TH_ModeFlg = false;
switch(WinLoseFlg){
case _BtlBranch.Win:
this.SetCmnEventSc(CN_倒した瞬間);
set_branch = _BtlBranch.Win;
break;
case _BtlBranch.Lose:
this.SetCmnEventSc(CN_自分敗北時);
set_branch = _BtlBranch.Lose;
break;
}
}
Game_Interpreter.prototype.N_Btl_EndUpdate = function () {
if(_Btl_StopCmnFlg) return;
if(WinLoseFlg == _BtlBranch.Win) {
this.N_Btl_Win_Update();
}
if (btlEnd_flame == 0) {
this.PlaySe("Battle3", 90, 150);
this.SetSpriteC(PN_bRzChara, BtlPic + "PN_bRzEnst", (1440 / 2), (810 / 2), 255);
this.MoveSprite(PN_bRzChara, true, true, 45, 255, 110, 110);
}
if (btlEnd_flame == 45) {
let _BaseImg = "";
switch (WinLoseFlg) {
case _BtlBranch.Win:
_BaseImg = "PN_bRzBase_Win";
break;
case _BtlBranch.Lose:
_BaseImg = "PN_bRzBase_Lose";
break;
}
this.SetSprite(PN_bRzBase, BtlPic + _BaseImg, 0, 0, 0);
this.MoveSprite(PN_bRzBase, true, true, 15, 255);
this.MoveSprite(PN_bRzChara, true, true, 15, 0, 120, 120);
}
if (btlEnd_flame == 60) {
switch (WinLoseFlg) {
case _BtlBranch.Win:
this.SetSprite(PN_bRzChara, BtlTatie_Pl + "Win", 250, 0, 0);
break;
case _BtlBranch.Lose:
this.SetSprite(PN_bRzChara, BtlTatie_Pl + "Lose", 250, 0, 0);
break;
}
this.MoveSprite(PN_bRzChara, 300, true, 60, 255);
}
if (btlEnd_flame > 120 && btlEnd_flame2 == 0) {
if (Input.isTriggered('ok') || TouchInput.isPressed()) {
btlEnd_flame2 = 1;
}
}
if (btlEnd_flame2 > 0){
if(btlEnd_flame2 == 2){
if(WinLoseFlg == _BtlBranch.Win){
_Btl_StopCmnFlg = true;
this.SetCmnEvent(CN_リザルト表示後);
}
}
if (btlEnd_flame2 == 30){
this.N_Btl_Close();
}
btlEnd_flame2++;
}
btlEnd_flame++;
}
Game_Interpreter.prototype.N_Btl_Win_Update = function () {
D_Text_Cng_font = "Makinas";
let _RzRankVar = 0;
let _RzFSize = 45; let _RzTxtYPs = 275;
SyokinDrawSize = _RzFSize;
SyokinTxtYPs = _RzTxtYPs;
_RzRankVar += (100 + 戦闘ターン * -10)
if (btlEnd_flame == 70) {
this.SetSpriteFIn( PN_bRzTxt_1 , BtlPic + "PN_bRzTxt_1" , 0 , 0 , -20 , 0 , 30);
this.SpriteStr(PN_bRzTxt_1 + 1 , 戦闘ターン + " " , _RzFSize , 387 - 20 , _RzTxtYPs + (75 * 0) , 0);
this.MoveSprite(PN_bRzTxt_1 + 1 , 387 , true , 30);
}
_RzRankVar += 30 - Math.floor(30 * (Rz_合計被ダメージ / NPlayer.mhp));
if (btlEnd_flame == 80) {
this.SetSpriteFIn( PN_bRzTxt_2 , BtlPic + "PN_bRzTxt_2" , 0 , 0 , -20 , 0 , 30);
this.SpriteStr(PN_bRzTxt_2 + 1 , Rz_合計被ダメージ + " " , _RzFSize , 387 - 20 , _RzTxtYPs + (75 * 1) , 0);
this.MoveSprite(PN_bRzTxt_2 + 1 , 387 , true , 30);
}
_RzRankVar += Math.floor(30 * (Rz_最大与ダメージ / NEnemy.mhp));
if (btlEnd_flame == 90) {
this.SetSpriteFIn( PN_bRzTxt_3 , BtlPic + "PN_bRzTxt_3" , 0 , 0 , -20 , 0 , 30);
this.SpriteStr(PN_bRzTxt_3 + 1 , Rz_最大与ダメージ + " " , _RzFSize , 387 - 20 , _RzTxtYPs + (75 * 2) , 0);
this.MoveSprite(PN_bRzTxt_3 + 1 , 387 , true , 30);
}
_RzRankVar += Rz_最大チェイン数;
if (btlEnd_flame == 100) {
this.SetSpriteFIn( PN_bRzTxt_4 , BtlPic + "PN_bRzTxt_4" , 0 , 0 , -20 , 0 , 30);
this.SpriteStr(PN_bRzTxt_4 + 1 , Rz_最大チェイン数 + " " , _RzFSize , 387 - 20 , _RzTxtYPs + (75 * 3) , 0);
this.MoveSprite(PN_bRzTxt_4 + 1 , 387 , true , 30);
_Btl_TutorialNo = -1;
}
NPlayer.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._戦闘評価変化:
_RzRankVar = Math.floor(_RzRankVar * _Armor.traits[i].value);
break;
case _Zoku._戦闘後回復:
let _UpHp = Math.floor(NPlayer.b_mhp * (_Var / 100));
NPlayer._hp += _UpHp;
if(NPlayer._hp > NPlayer.b_mhp) NPlayer._hp = NPlayer.b_mhp;
if(NPlayer._hp < 0) NPlayer._hp = 0;
break;
}
}
});
NPlayer.PsvArr = [];
let _RzRankImg = "Rank_S";
if(_RzRankVar < 100) _RzRankImg = "Rank_A";
if(_RzRankVar < 80) _RzRankImg = "Rank_B";
if(_RzRankVar < 60) _RzRankImg = "Rank_C";
if(_RzRankVar < 40) _RzRankImg = "Rank_D";
if(_RzRankVar < 20) _RzRankImg = "Rank_E";
if (btlEnd_flame == 110) {
EasingStr = "easeOutBack";
this.SetSpriteC( PN_bRzRank , RsPicPath + _RzRankImg , 408 , 664 , 0 , 200 , 200);
this.MoveSprite( PN_bRzRank , true, true , 10 , 255 , 150 , 150);
EasingStr = "";
RzRank_Var = _RzRankVar;
}
D_Text_Cng_font = "";
}
let SyokinDrawSize = 0;
let SyokinTxtYPs = 0;
Game_Interpreter.prototype._Btl_SyokinDraw = function () {
D_Text_Cng_font = "Makinas";
//if ($gameSwitches.value(SW_野試合Flg) && $gameVariables.value(VN_野試合累計報酬) > 0) {
if ($gameVariables.value(VN_野試合累計報酬) > 0) {
this.SetSpriteFIn( PN_bRzTxt_5 , BtlPic + "PN_bRzTxt_5" , 0 , 0 , 0 , 0 , 30);
this.SpriteStr(PN_bRzTxt_5 + 1 , SCol.Yel + $gameVariables.value(VN_野試合累計報酬) + " B" ,
SyokinDrawSize , 387 - 170 - 20 , SyokinTxtYPs + (75 * 3) + 70 , 0);
this.MoveSprite(PN_bRzTxt_5 + 1 , 387 - 170 , true , 30);
}
$gameSwitches.setValue(SW_リロード , false);
//console.log($gameVariables.value(VN_野試合賞金));
D_Text_Cng_font = "";
}
Game_Interpreter.prototype.N_Btl_Close = function () {
_BefBackLogX = BLogX;
_BefBackLogY = BLogY;
BgmLoadSkipFlg = true;
battleflg = true;
THMode_End();
_BtlSaveMoveVarArr = [];
for (let i = 0; i <= _BtlSaveVNArr.length - 1; i++) {
_BtlSaveMoveVarArr.push($gameVariables.value(_BtlSaveVNArr[i]));
}
this.InstantLoad();
}
const RzExPic = "pictures/Btl/Rzlt/";
class _対戦相手 {
constructor(_DStart , _DEnd , _Name){
this._DStart = _DStart;
this._DEnd = _DEnd;
this._Name = _Name;
}
}
let RzEx対戦相手Arr = [];
let NoBtlflame = 0;
let NoBtl_SelectNo = 0;
let NoBtlTcPic = [];
const VN_野試合累計報酬 = 54;
Game_Interpreter.prototype.NoBattle_RzDraw = function () {
NoBtlflame = 0;
D_Text_Cng_font = "Makinas";
this.SetSpriteFIn(PN_RzExBack , "Black" , 0 ,0 , 0 , 0 , 15 , 180);
let RzExPs = new Pos2D(103 , 160);
NoBtlTcPic = [PN_RzExYesBtn , PN_RzExNoBtn];
this.SetSpriteFInC(PN_RzExYesBtn , RzExPic + "PN_RzExYesBtn" ,RzExPs._x + 227 , RzExPs._y + 175 , 0 , 0 , 15);
this.SetSpriteFInC(PN_RzExNoBtn , RzExPic + "PN_RzExNoBtn" , RzExPs._x + 227 + 315 , RzExPs._y + 175 , 0 , 0 , 15);
if($gameVariables.value(VN_野試合勝利数) != 0) {
let _数字 = $gameVariables.value(VN_野試合勝利数);
this.SpriteStr(PN_RzRensyoTxt , "(" + _数字 + "連勝中)" , 18 , 331 , 165 , 0);
} else {
this.SpriteStr(PN_RzRensyoTxt , "" , 18 , 331 , 165 , 0);
}
this.MoveSprite(PN_RzRensyoTxt , true , true , 15);
this.SpriteStrR(PN_RzExGoldTxt , $gameVariables.value(VN_野試合累計報酬) , 25 ,
RzExPs._x + 264 , RzExPs._y + 26 , 0);
this.MoveSprite(PN_RzExGoldTxt , true , true , 15);
let _bkImgStr = "PN_RzExWin";
if(!battleflg) {
NPlayer = new _PL_Data();
NPlayer._hp = Math.floor(NPlayer.b_mhp * ($gameVariables.value(VN_PLKenko) / 100)) ;
_bkImgStr = "PN_RzExWin_2";
}
this.SetSpriteFIn( PN_RzExWin , RzExPic + _bkImgStr , RzExPs._x , RzExPs._y , 0 , 0 , 15);
let _Wari = (NPlayer._hp / NPlayer.mhp) * 100;
this.SetSpriteFIn( PN_RzExHpBar , RzExPic + "PN_RzExHpBar" , RzExPs._x + 396 , RzExPs._y + 34, 0 , 0 , 15 , _Wari);
this.SetSprite(PN_RzExHpBar , RzExPic + "PN_RzExHpBar" , RzExPs._x + 396 , RzExPs._y + 34 , 0 , _Wari);
this.MoveSprite(PN_RzExHpBar , true , true , 15 , 255 , true , true);
this.SpriteStrR(PN_RzExHpTxt , NPlayer._hp + "/" + NPlayer.mhp , 25 , RzExPs._x + 618 , RzExPs._y + 17 , 0);
this.MoveSprite(PN_RzExHpTxt , true , true , 15);
let RzExPs_B = new Pos2D(284 , 442);
this.SetSpriteFIn( PN_RzExBtlWin , RzExPic + "PN_RzExBtlWin" ,RzExPs_B._x , RzExPs_B._y , 0 , 0 , 15);
for (let i = 0; i <= RzEx対戦相手Arr.length - 1; i++) {
this.SetSpriteFInC( PN_RzExBtlDice + i , RzExPic + "PN_RzExBtlDice" ,
RzExPs_B._x + 77 , RzExPs_B._y + 69 + (50 * i) , 0 , 0 , 15);
this.SetSpriteFInC( PN_RzExBtlArw + i , RzExPic + "PN_RzExBtlArw" ,
RzExPs_B._x + 77 + 100 , RzExPs_B._y + 69 + (50 * i) , 0 , 0 , 15);
this.SetSpriteFIn( PN_RzExBtlLine + i , RzExPic + "PN_RzExBtlLine" ,
RzExPs_B._x + 38 , RzExPs_B._y + 92 + (50 * i) , 0 , 0 , 15);
this.SpriteStrC(PN_RzExBtlDiceTxt + i , RzEx対戦相手Arr[i]._DStart + "-" + RzEx対戦相手Arr[i]._DEnd , 25 ,
RzExPs_B._x + 77 + 47 , RzExPs_B._y + 69 + (50 * i) , 0);
this.MoveSprite(PN_RzExBtlDiceTxt + i , true , true , 15);
this.SpriteStr(PN_RzExBtlChaTxt + i , RzEx対戦相手Arr[i]._Name , 25 ,
RzExPs_B._x + 220 , RzExPs_B._y + 55 + (50 * i) , 0);
this.MoveSprite(PN_RzExBtlChaTxt + i , true , true , 15);
}
oBtl_SelectNo = 0;
this.SetSpriteFInC( PN_RzExSelecter , RzExPic + "PN_RzExSelecter" ,
(RzExPs._x + 227 - 103) + (NoBtl_SelectNo * 315), RzExPs._y + 175 , 0 , 0 , 15);
D_Text_Cng_font = "";
}
let NoBtl_RzYesFlg = false;
Game_Interpreter.prototype.NoBattle_RzUpdate = function () {
if(NoBtlflame > 15){
let _okFlg = false;
this.SpriteCngColorArr(NoBtlTcPic);
let _CngSelNo = NoBtl_SelectNo;
let _CNo = overPointerSpCkArr(NoBtlTcPic);
if(_CNo != -1) {
this.SpriteCngColor( _CNo ,[100,100,100,0]);
_CngSelNo = _CNo - PN_RzExYesBtn;
if(TouchInput.isTriggered()){
_okFlg = true;
}
}
if (Input.isTriggered('left')) {
_CngSelNo = 0;
}
if (Input.isTriggered('right')) {
_CngSelNo = 1;
}
let RzExPs = new Pos2D(103 , 160);
if(NoBtl_SelectNo != _CngSelNo){
NoBtl_SelectNo = _CngSelNo;
this.MoveSprite(PN_RzExSelecter , (RzExPs._x + 227 - 103) + (NoBtl_SelectNo * 315) , true , 5);
}
if(Input.isTriggered('ok')) _okFlg = true;
if(_okFlg){
if (NoBtl_SelectNo == 0){
NoBtl_RzYesFlg = true;
battleflg = false;
} else {
NoBtl_RzYesFlg = false;
NoBtlCnt = 0;
}
return false;
}
}
NoBtlflame++;
return true;
}
Game_Interpreter.prototype.NoBattle_RzMove = function () {
this.FOutSpriteSpan(PN_RzExBack , PN_RzExBtlChaTxt + 3 , 15);
}
Game_Interpreter.prototype.EnemySkillSet = function () {
Em_Skills = [];
let _sumRate = 0;
for (let i = 0; i <= NEnemy.actions.length - 1; i++) {
if (NEnemy.meetsCondition(NEnemy.actions[i])) {
Em_Skills.push(NEnemy.actions[i]);
_sumRate += NEnemy.actions[i].rating;
}
}
NEnemy.DO_Arr = [0, 0, 0, 0, 0, 0];
let _Em_WillMp = NEnemy.Do_Mp;
let loopCounter = 0;
for (let i = 0; i <= NEnemy.DO_Arr.length - 1; i++) {
if(_Brns_ブレイク数 > 0){
NEnemy.DO_Arr[i] = -1;
Em_DoViewArr[i] = true;
_Brns_ブレイク数--;
continue;
}
let _ckVar = Math.floor(Math.random() * _sumRate);
let _ckAVar = 0;
for (let j = 0; j <= Em_Skills.length - 1; j++) {
let _ckSkill = $dataSkills[Em_Skills[j].skillId];
let _addMp = 0;
if (_ckSkill.mpCost > 0) {
if (_Em_WillMp - _ckSkill.mpCost < 0) continue;
_addMp = -_ckSkill.mpCost;
} else if (_ckSkill.tpCost > 0) {
if (_Em_WillMp + _ckSkill.tpCost > 9) continue;
_addMp = _ckSkill.tpCost;
}
if (_ckAVar < _ckVar &&
(_ckAVar + Em_Skills[j].rating) > _ckVar) {
_Em_WillMp += _addMp;
NEnemy.DO_Arr[i] = Em_Skills[j].skillId;
}
_ckAVar += Em_Skills[j].rating;
}
if (loopCounter == 10000) {
console.log("◆スキル選出エラー対策:待機選択")
NEnemy.DO_Arr[i] = SNo_待機Skill;
let _ckSkill = $dataSkills[SNo_待機Skill];
_Em_WillMp += _ckSkill.tpCost;
}
if (NEnemy.DO_Arr[i] == 0) {
i--;
loopCounter++;
continue;
}
loopCounter = 0;
Em_DoViewArr[i] = this._直感判定();
if(_Btl_TutorialNo != -1) {
if(_Tuto_EnemyDO_Arr[i] != 0) NEnemy.DO_Arr[i] = _Tuto_EnemyDO_Arr[i];
if(_Tuto_Em_DoViewArr[i] != -1) Em_DoViewArr[i] = (_Tuto_Em_DoViewArr[i] == 1);
}
}
}
Game_Interpreter.prototype._再直感処理 = function () {
for (let i = 0; i <= NEnemy.DO_Arr.length - 1; i++) {
if(!Em_DoViewArr[i]){
Em_DoViewArr[i] = this._直感判定();
}
}
this._敵行動再描画();
}
Game_Interpreter.prototype._敵行動再描画 = function () {
ViewSpriteArr_Reset();
for (let i = 0; i <= NEnemy.DO_Arr.length - 1; i++) {
let _opi = 0;
if (Em_DoViewArr[i]) {
if(NEnemy.DO_Arr[i] > 0){
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);
this.N_Btl_Em弾丸Draw(_PicNo , _相性Col , NEnemy.DO_Arr[i] , _PosX , _PosY , _opi , _Blt拡大);
}
}
}
for (let i = 0; i <= ViewSpriteArr.length - 1; i++) {
this.MoveSprite(ViewSpriteArr[i], true, true, 15, 255, true, true);
}
}