let NupuBtl_Game_System_initialize = Game_System.prototype.initialize;
Game_System.prototype.initialize = function () { 
    NupuBtl_Game_System_initialize.call(this);
    this.BtlAutoFlg = false; 
};
let TalkBtlFlg = false; 
let battleflg = false;  
let AccessFlg = false; 
let TurnEnemyId = -1; 
let SexEmName = ""; 
const IN_SozaiCard = 76;
const CId_SozaiCard = 201;
let BtlDeck = [];
let DeckCard = [];
let CardData = [];
//画面右上行動順カード[対象番号(プレイヤー:-1)]
let TurnCard = [];
let UseSkill = [];
let CardSkills = [];
let CardKoukaArr = [];
class BtlData_Class {
    constructor() {
        this.EnemyGrpNo = 0; 
        this.PlTurnCardPic = "Player";
        this.EndGetGold倍率 = 1; 
        this.Mode = 0;  
        this.Turn = 0;  
        this._逃走可能Flg = false;   
    }
}
let BtlData = new BtlData_Class();
let EnBtlMode = { 
    CardSelect: 1,
    CardUse: 2,
    Event: 3,
    Start: 4,
    EnemyTurn: 5,
    TurnCheck: 6,
    PLTurnSetup: 7,
    End: 8,
}
let TgMoveX = 0;    
let TgMoveY = 0;    
let TgEffArr = [];  
let plSpineScaleX = 15; 
let plSpineScaleY = 15; 
plSpineScaleX = plSpineScaleY = 10.5;
let handCardBasePostion = new Pos2D(300, 700);
let _射精欲_Check = 0;
class BtlStatic_Class {
    constructor() {
        this.Battleback1 = "";
        this.Battleback2 = "";
        this.BtlMapID = 7;
        this._手札最大枚数 = 10;
        this.SW_BGMCng = 13;    
        this.SW_戦闘用SW = 841;    
        this.SW_アクセス取得Btn = 1062;   
        this.SW_終了後HP回復 = 1082; 
        this.SW_ラスボス演出 = 1382; 
        this.VN_味方No = 28; 
        this.CN_戦闘開始時 = 1; 
        this.CN_戦闘終了後 = 2; 
        this.CN_戦闘終了演出 = 10; 
        this.CN_称号処理 = 448; 
        this.CN_絶頂 = 450;     
        this.ANo_ItemDrop = 127; 
        this.ANo_DeckReload = 128; 
    }
}
let BtlStatic = new BtlStatic_Class();
const PN_HandMax = PN_Card + (BtlStatic._手札最大枚数 - 1); 
const EnemyZureX = 10; 
const EnemyZureY = 20; 
let EnBtlMove = { 
    m_近接: 1,   
    m_正面: 2,   
    m_中央: 3,     
    m_少し前: 4       
};
let EnAtkRange = {
    なし: 0, 
    敵単体: 1, 
    敵全体: 2, 
    敵ランダム1: 3, 
    敵ランダム2: 4, 
    敵ランダム3: 5, 
    敵ランダム4: 6, 
    味方単体: 7, 
    味方全体: 8, 
    味方単体_戦闘不能: 9, 
    味方全体_戦闘不能: 10, 
    使用者: 11 
};
Game_Interpreter.prototype.SozaiCardCng = function () {
    if (RD_休憩撤退Flg) {
        RD_休憩撤退Flg = false;
        for (let i = 0; i <= RD_GainItem.length - 1; i++) {
            $gameParty.gainItem($dataItems[RD_GainItem[i]._No] , RD_GainItem[i]._Cnt);
        }
        RD_GainItem = [];
    }
    for (let i = 0; i <= 4 - 1; i++) {
        let itmCount = $gameParty.numItems($dataItems[IN_SozaiCard + i]);
        $gameParty.loseItem($dataItems[IN_SozaiCard + i], itmCount);
        $gameParty.gainItem($dataWeapons[CId_SozaiCard + i], itmCount);
    }
}
Game_Interpreter.prototype.BtlAcCardDel = function () {
    for (let i = 0; i <= BtlDeck.length - 1; i++) {
        let _CkMeta = MetaChecker($dataWeapons[BtlDeck[i]], "NCNo")
        if (_CkMeta != "") {
            BtlDeck.splice(i , 1); i--;
            continue;
        }
    }
    for (let i = 0; i <= DeckCard.length - 1; i++) {
        let _CkMeta = MetaChecker($dataWeapons[DeckCard[i]], "NCNo")
        if (_CkMeta != "") {
            DeckCard.splice(i , 1); i--;
            continue;
        }
    }
}
let Check必殺Card = function (cardData) {
    return cardData.meta["NCNo"] != undefined; 
}
