216 lines
8.6 KiB
JavaScript
216 lines
8.6 KiB
JavaScript
/*:ja
|
|
* @plugindesc
|
|
*/
|
|
//https://docs.google.com/spreadsheets/d/10tktWhyosnXxjjHqQ8Pgqhuo0R_3jZ8gd2DsIbdvuMc/edit#gid=2054574132
|
|
const VN_HandicapVar = 145;
|
|
let handiCnt = 0;
|
|
let _ハンディ選択Flg = false;
|
|
let _ハンディStr = "";
|
|
let handiSelectArr = [false , false , false];
|
|
let handiArr = [];
|
|
let handiSelectCardNo = [];
|
|
let _HandiSave = Game_System.prototype.initialize;
|
|
Game_System.prototype.initialize = function () {
|
|
_HandiSave.call(this);
|
|
this.HandiSaveArr = [];
|
|
};
|
|
Game_Interpreter.prototype.HandicapCardGet_Start= function() {
|
|
handiSelectArr = [false , false , false];
|
|
handiEndFlg = false;
|
|
cg_OCardArr = [];
|
|
for (let i = 0; i < handiArr.length; i++) {
|
|
for (let j = 0; j < $gameSystem.HandiSaveArr.length; j++) {
|
|
if (handiArr[i] == $gameSystem.HandiSaveArr[j]) {
|
|
handiArr.splice(i, 1);
|
|
i--;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
let maxLoopCount = 100;
|
|
for (let i = 0; i <= 3 - 1; i++) {
|
|
let _cNo = ArrRndGet_Nomal(handiArr);
|
|
if (cg_OCardArr.find(function (v) { return v._cNo == _cNo }) == undefined) {
|
|
cg_OCardArr.push(new OpenCClass(_cNo));
|
|
} else {
|
|
i--;
|
|
}
|
|
maxLoopCount--;
|
|
if(maxLoopCount <= 0) break;
|
|
}
|
|
handiCnt = $gameVariables.value(VN_HandicapVar);
|
|
if(handiCnt == 0) handiCnt = 1;
|
|
if(handiCnt > 3) handiCnt = 3;
|
|
_STYカード取得中_flame = 0;
|
|
_ハンディ選択Flg = true;
|
|
_ハンディStr = "Please select " + handiCnt + " card(s) to add to your deck";
|
|
}
|
|
Game_Interpreter.prototype.HandicapCardGet_Update= function () {
|
|
this.Btl_STYカード取得Update();
|
|
if($gameSystem.HandiSaveArr == undefined) $gameSystem.HandiSaveArr = [];
|
|
if(!_ハンディ選択Flg) {
|
|
handiSelectCardNo = [];
|
|
for (let i = 0; i <= 3 - 1; i++) {
|
|
if(handiSelectArr[i]) {
|
|
$gameSystem.HandiSaveArr.push(cg_OCardArr[i]._cNo);
|
|
handiSelectCardNo.push(cg_OCardArr[i]._cNo);
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
let ArrRndGet_Nomal = function (_Arr) {
|
|
let _ckNo = Math.floor(Math.random() * _Arr.length);
|
|
return _Arr[_ckNo];
|
|
}
|
|
let ArrTrueGet = function (_Arr) {
|
|
let _Cnt = 0;
|
|
for (let i = 0; i <= _Arr.length - 1; i++) {
|
|
if (_Arr[i]) _Cnt++;
|
|
}
|
|
return _Cnt;
|
|
}
|
|
let Handi_出現カード指定 = function (_CNoArr) {
|
|
handiArr = _CNoArr;
|
|
}
|
|
let Handi_取得カード確認 = function (_CardNo) {
|
|
return (handiSelectCardNo.indexOf(_CardNo) != -1);
|
|
}
|
|
let Handi_デッキリセット = function () {
|
|
$gameSystem.HandiSaveArr = [];
|
|
}
|
|
let Handi_デッキカード確認 = function (_CardNo) {
|
|
return ($gameSystem.HandiSaveArr.indexOf(_CardNo) != -1);
|
|
}
|
|
let _RzSetArr = [];
|
|
let RzType = {
|
|
Gold: 1,
|
|
Pack: 2,
|
|
Reric: 3
|
|
};
|
|
class RzItem {
|
|
constructor(_Type, _Var) {
|
|
this.PicNo = 0;
|
|
this.Type = _Type;
|
|
this.Var = _Var;
|
|
}
|
|
}
|
|
let _STY_BefRzCnt = 0;
|
|
let _STYデッキ追加カードid = -1;
|
|
Game_Interpreter.prototype.Btl_STY報酬項目削除 = function (_Rzi) {
|
|
EasingStr = "イージング名";
|
|
this.MoveSprite(_RzSetArr[_Rzi].PicNo, true, true, 3, 0);
|
|
this.MoveSprite(_RzSetArr[_Rzi].PicNo + 3, true, true, 3, 0);
|
|
EasingStr = "";
|
|
_RzSetArr.splice(_Rzi, 1);
|
|
}
|
|
let _STY_カードRzi = -1;
|
|
let _STYカード取得中Flg = false;
|
|
let _STYカード取得中_flame = 0;
|
|
Game_Interpreter.prototype.Btl_STYカード取得Update = function () {
|
|
if (_STYカード取得中_flame == 0) {
|
|
this.SetSpriteFIn(PN_BCSelectBack, "Black", 0, 0, 0, 0, 10, 150);
|
|
for (let i = 0; i <= cg_OCardArr.length - 1; i++) {
|
|
this.CardPicDraw(cg_OCardArr[i]._cNo, PN_BCSelCard + i, PN_Cmp, 155 + (232 * i), 274, 255, 75, 75);
|
|
this.MovePict(PN_BCSelCard + i, true, true, 10, 255, true, true);
|
|
}
|
|
if (_ハンディ選択Flg) {
|
|
this.SetSpriteFIn(PN_BCSelBtn, BtlPicPath + "PN_BCSelBtn_Handi", 367, 554, 0, 0, 10, 170);
|
|
this.SetSpriteFIn(PN_BCSelectWin, BtlPicPath + "PN_BCSelectWin_Handi", 0, 0, 0, 0, 10);
|
|
this.SpriteStrC(PN_BCTxt, _ハンディStr, 28, 464, 217);
|
|
} else {
|
|
this.SetSpriteFIn(PN_BCSelBtn, BtlPicPath + "PN_BCSelBtn", 367, 554, 0, 0, 10);
|
|
this.SetSpriteFIn(PN_BCSelectWin, BtlPicPath + "PN_BCSelectWin", 0, 0, 0, 0, 10);
|
|
}
|
|
}
|
|
if (_STYカード取得中_flame > 30) {
|
|
let _cgTCArr = [PN_BCSelCard + 0, PN_BCSelCard + 1, PN_BCSelCard + 2];
|
|
this.PicCngColorArr(_cgTCArr);
|
|
Alpha0SpriteSpan(PN_BCSetuWaku, PN_BCT_Setu + 2)
|
|
let _OverNo = overPointerCkArr(_cgTCArr);
|
|
if (_OverNo != -1) {
|
|
let _ckNo = _OverNo - PN_BCSelCard;
|
|
this.PicCngColor(PN_BCSelCard + _ckNo, [50, 50, 50, 0]);
|
|
this.Btl_STYCard説明_Draw(cg_OCardArr[_ckNo]._cNo, 32 + (232 * _ckNo), 158);
|
|
if (TouchInput.isTriggered()) {
|
|
if (_ハンディ選択Flg) {
|
|
for (let i = 0; i < handiSelectArr.length; i++) {
|
|
handiSelectArr[i] = false;
|
|
}
|
|
handiSelectArr[_ckNo] = !handiSelectArr[_ckNo];
|
|
if (ArrTrueGet(handiSelectArr) >= handiCnt) {
|
|
this.MoveSprite(PN_BCSelBtn, true, true, 1, 255);
|
|
} else {
|
|
this.MoveSprite(PN_BCSelBtn, true, true, 1, 170);
|
|
}
|
|
for (let i = 0; i <= 3 - 1; i++) {
|
|
if (handiSelectArr[i]) {
|
|
this.SetSprite(PN_BCCHikari + i, BtlPicPath + "PN_CHikariHandi",
|
|
155 + (232 * i) - 7, 274 - 15, 255, 75, 75);
|
|
} else {
|
|
Alpha0Sprite(PN_BCCHikari + i);
|
|
}
|
|
}
|
|
} else {
|
|
_STYデッキ追加カードid = cg_OCardArr[_ckNo]._cNo;
|
|
this.Btl_STY報酬項目削除(_STY_カードRzi);
|
|
this.Btl_STYカード取得Close();
|
|
}
|
|
}
|
|
}
|
|
let _CloseFlg = false;
|
|
if (TouchInput.isCancelled() && !_ハンディ選択Flg) _CloseFlg = true;
|
|
this.SpriteCngColor(PN_BCSelBtn);
|
|
if (overPointerSpCk(PN_BCSelBtn)) {
|
|
if (_ハンディ選択Flg) {
|
|
if (ArrTrueGet(handiSelectArr) >= handiCnt) {
|
|
this.SpriteCngColor(PN_BCSelBtn, [100, 100, 100, 0]);
|
|
if (TouchInput.isTriggered()) {
|
|
_CloseFlg = true;
|
|
_ハンディ選択Flg = false;
|
|
}
|
|
}
|
|
} else {
|
|
this.SpriteCngColor(PN_BCSelBtn, [100, 100, 100, 0]);
|
|
if (TouchInput.isTriggered()) {
|
|
_CloseFlg = true;
|
|
}
|
|
}
|
|
}
|
|
if (_CloseFlg) {
|
|
this.Btl_STYカード取得Close();
|
|
}
|
|
}
|
|
_STYカード取得中_flame++;
|
|
}
|
|
Game_Interpreter.prototype.Btl_STYカード取得Close = function () {
|
|
_STYカード取得中Flg = false;
|
|
for (let i = PN_BCSelectBack; i <= PN_BCSelBtn; i++) {
|
|
this.MoveSprite(i, true, true, 5, 0, true, true);
|
|
this.MovePict(i, true, true, 5, 0, true, true);
|
|
}
|
|
Alpha0SpriteSpan(PN_BCSetuWaku, PN_BCT_Setu + 2);
|
|
}
|
|
let _STY_SetuPicNo = PN_BCSetuWaku;
|
|
Game_Interpreter.prototype.Btl_STYCard説明_Draw = function (_CardId, _CPosX, _CPosY) {
|
|
_STY_SetuPicNo = PN_BCSetuWaku;
|
|
let _SetuArr = this.CardSetuGet(_CardId);
|
|
this.SetSprite(_STY_SetuPicNo, BtlPicPath + "PN_BCSetuWaku", _CPosX, _CPosY);
|
|
for (let j = 0; j <= _SetuArr.length - 1; j++) {
|
|
this.SpriteStr(_STY_SetuPicNo + 1 + j, _SetuArr[j], 19, _CPosX + 8, _CPosY + 11 + (27 * j));
|
|
}
|
|
}
|
|
Game_Interpreter.prototype.Btl_STYCard説明_DrawPict = function (_CardId, _CPosX, _CPosY) {
|
|
_STY_SetuPicNo = PN_BCSetuWaku;
|
|
let _SetuArr = this.CardSetuGet(_CardId);
|
|
this.SetPict(_STY_SetuPicNo, BtlPicPath + "PN_BCSetuWaku", _CPosX, _CPosY);
|
|
for (let j = 0; j <= _SetuArr.length - 1; j++) {
|
|
this.SetPicStr(_STY_SetuPicNo + 1 + j, _SetuArr[j], 19, _CPosX + 8, _CPosY + 11 + (27 * j));
|
|
}
|
|
}
|
|
Game_Interpreter.prototype.Btl_STY戦闘終了後_データ反映 = function () {
|
|
if (_STYデッキ追加カードid != -1) {
|
|
$gameSystem.Btl_Chara.FDeck.push(_STYデッキ追加カードid);
|
|
}
|
|
}
|