//RPGシステム
class MyRPGSystem{
	//コンストラクタ
	constructor(){
		//RPG機能有効/無効
		MyRPGSystem.prototype.FunctionFlg = true;
		//キャラ用データ
		MyRPGSystem.prototype.Charctor = {
			Name:null,
			Type:0,//データタイプ 0:キャラ,1:敵
			ImgID:-1,//0以上で敵
			MarginType:"S",//0以上で敵
			LV:0,//レベル
			HP:0,//体力
			MP:0,//マジックポイント
			AP:0,//攻撃力
			DP:0,//防御力
			SP:0,//素早さ
			IP:0,//知力
			EXE:0,//経験値
			GOLD:0,//お金
			Item:[],
		}
		//キャラクターデータ配列
		MyRPGSystem.prototype.CharArray = [];
		//敵データ配列
		MyRPGSystem.prototype.AreaEnemyArray = [];
		MyRPGSystem.prototype.EnemyArray = [];
		MyRPGSystem.prototype.EnemyPatturn = [
			//1体のみ
			[["S",[0,150]]],
			//[["S",[0,180]]],
			//[["M",[0,180]]],
			//[["L",[0,180]]],
			//2体
			[["S",[0,100]],["S",[0,220]]],
			//[["S",[0,150]],["S",[0,270]]],
			/*[["S",[0,150]],["M",[0,270]]],
			[["S",[0,200]],["L",[0,30]]],
			[["M",[0,150]],["M",[0,270]]],
			[["M",[0,100]],["L",[0,240]]],
			[["L",[0,100]],["L",[0,240]]],*/
			//3体
			[["S",[0,160]],["S",[0,280]],["S",[0,40]]],
			/*[["S",[0,180]],["S",[0,300]],["S",[0,40]]],
			[["S",[0,180]],["S",[0,300]],["M",[0,40]]],
			[["S",[0,180]],["S",[0,300]],["L",[0,30]]],
			[["S",[0,180]],["M",[0,300]],["M",[0,40]]],
			[["M",[0,180]],["M",[0,300]],["L",[0,20]]],
			[["M",[0,150]],["M",[0,270]],["M",[0,30]]],*/
		];
		//Item用データ
		MyRPGSystem.prototype.Item = {
			ItemId:0,//アイテムID
			Name:null,//アイテム名
			Type:0,//アイテム種別
			Msg:null,//アイテム説明
			Value:0,//アイテム効果の値
			GOLD:0,//価格
		};
		//アイテムデータ配列
		MyRPGSystem.prototype.ItemArray = [];
		//魔法用データ
		MyRPGSystem.prototype.Magic = {
			MagicId:0,//魔法ID
			ImgId:0,//魔法用描画ID
			Count:0,//アニメーション用画像枚数
			Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
			Name:null,//魔法名
			Msg:null,//魔法説明
			Value:0,//基本効力（ダメージor回復量）
			UseMp:0,//基本消費魔法力
		};
		//魔法データ配列
		MyRPGSystem.prototype.Magics = [];
		MyRPGSystem.prototype.MagicAnimiton = false;
		MyRPGSystem.prototype.MagicCount = 0;
		//メニュー保持
		MyRPGSystem.prototype.MenuSave = [];
		//戦闘用/メニュー等
		MyRPGSystem.prototype.BattleFlg = false;
		MyRPGSystem.prototype.BattleEnemy = [];
		MyRPGSystem.prototype.AttackMenu = "AttackMenu";
		MyRPGSystem.prototype.DecisionMenu = "DecisionMenu";
		MyRPGSystem.prototype.MagicSelect = 0;
		MyRPGSystem.prototype.AttackSelect = 0;
		MyRPGSystem.prototype.MagicAdd = 0;
		MyRPGSystem.prototype.TargetEnemy = [-1,-1,-1];
		MyRPGSystem.prototype.TargetBoxFunc = [];
		MyRPGSystem.prototype.MagicAnimitonNext = [];
		MyRPGSystem.prototype.MagicAttackCount = 0;
		MyRPGSystem.prototype.UseMpCheck = 0;
		MyRPGSystem.prototype.BattleTurn = [];
		MyRPGSystem.prototype.BattleAnimition = false;
		MyRPGSystem.prototype.BattleCount = 0;
		MyRPGSystem.prototype.BattleLose = false;
		MyRPGSystem.prototype.BattleAnimitonNext = [];
		MyRPGSystem.prototype.BattleAttackCount = 0;
		//店舗フラグ
		MyRPGSystem.prototype.StoreFlg = false;
		//フィールドフラグ
		MyRPGSystem.prototype.FieldFlg = false;
		//休みフラグ
		MyRPGSystem.prototype.SleepFlg = false;
		MyRPGSystem.prototype.RestFlg = false;
		MyRPGSystem.prototype.BarRestFlg = false;
		MyRPGSystem.prototype.RestPayFlg = false;
		MyRPGSystem.prototype.RestPayFlg2 = false;
		MyRPGSystem.prototype.RestNojukuFlg = false;
		MyRPGSystem.prototype.RestNojukuRaipuFlg = false;
		MyRPGSystem.prototype.RestCount = 0;
		MyRPGSystem.prototype.RestBaishunFlg = false;
		MyRPGSystem.prototype.RestBaishunPushCount = 0;
		MyRPGSystem.prototype.RestData = {
			"RestFlg":this.RestFlg,
			"RestPayFlg":this.RestPayFlg,
			"RestPayFlg2":this.RestPayFlg2,
			"RestNojukuFlg":this.RestNojukuFlg,
			"RestCount":this.RestCount,
			"RestBaishunFlg":this.RestBaishunFlg,
			"RestBaishunPushCount":this.RestBaishunPushCount,
		};
		//戦闘回数
		MyRPGSystem.prototype.EventBattleCount = false;
		//防御
		MyRPGSystem.prototype.ActionGurad = false;
		//拘束
		MyRPGSystem.prototype.BindStatus = false;
		//触手破損
		MyRPGSystem.prototype.ShokushuBreak = false;
		//オナニーフラグ
		MyRPGSystem.prototype.OnaniFlg = false;
		//オナニーフラグ
		MyRPGSystem.prototype.ClearBattleMargn = 1;
		//闘技場データ
		MyRPGSystem.prototype.Enemy2Index = -1;
		MyRPGSystem.prototype.BossFlg = false;
		MyRPGSystem.prototype.ArenaBattleWin = false;
		MyRPGSystem.prototype.ArenaBattleLose = false;
		MyRPGSystem.prototype.ArenaBattleEnd = false;
		//闘技場データ
		MyRPGSystem.prototype.Enemy3Index = -1;
		MyRPGSystem.prototype.backArenaFlg = false;
		MyRPGSystem.prototype.backArenaWinCount = 0;
}
	
	//キャラ生成
	CreateChar(){
		var charData = new myRpg.Charctor;
		return charData;
	}
	
	//キャラデータ取得
	GetChara(Idx){
		if(myRpg.CharArray.length==0)return false;
		return myRpg.CharArray[Idx];
	}
	
	//キャラデータ設定
	SetChara(Data,Idx=-1){
		if(Idx==-1)Idx = myRpg.CharArray.length;
		myRpg.CharArray[Idx] = Data;
	}
	
	//敵データ取得
	GetEnemy(Idx){
		if(myRpg.CharArray.length==0)return false;
		return myRpg.CharArray[Idx];
	}
	
	//敵データ設定
	SetEnemy(Data,Idx=-1){
		if(Idx==-1)Idx = myRpg.CharArray.length;
		myRpg.CharArray[Idx] = Data;
	}
	
	//魔法データ全体設定
	SetMagicItemData(){
		this.Magics = [
			{
				MagicId:-1,//魔法ID
				ImgId:1,//魔法用描画ID
				LV:1,//使用可能レベル
				BattleTurn:1,//発動ターン
				Count:16,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"通常発動",//魔法名
				Msg:"魔法を普通に発動する",//魔法説明
				Value:50,//基本効力（ダメージor回復量）
				UseMp:1,//基本消費魔法力
			},
			{
				MagicId:-2,//魔法ID
				ImgId:17,//魔法用描画ID
				LV:10,//使用可能レベル
				BattleTurn:2,//発動ターン
				Count:16,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"魔力集束",//魔法名
				Msg:"通常発動よりも多くの魔力を込める。",//魔法説明
				Value:50,//基本効力（ダメージor回復量）
				UseMp:3,//基本消費魔法力
			},
			{
				MagicId:-3,//魔法ID
				ImgId:33,//魔法用描画ID
				LV:20,//使用可能レベル
				BattleTurn:3,//発動ターン
				Count:16,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"魔力集束・長",//魔法名
				Msg:"更に威力を高めるために魔力を込める",//魔法説明
				Value:50,//基本効力（ダメージor回復量）
				UseMp:5,//基本消費魔法力
			},
			{
				MagicId:0,//魔法ID
				ImgId:49,//魔法用描画ID
				LV:1,//使用可能レベル
				Count:16,//アニメーション用画像枚数
				time:80,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"ファイア",//魔法名
				Msg:"基本的な炎の攻撃魔法。それだけに使い手次第で威力も異なる。",//魔法説明
				Value:50,//基本効力（ダメージor回復量）
				UseMp:2,//基本消費魔法力
				MarginX:0,
				MarginY:0
			},
			{
				MagicId:1,//魔法ID
				//ImgId:49,//魔法用描画ID
				ImgId:65,//魔法用描画ID
				LV:5,//使用可能レベル
				//Count:16,//アニメーション用画像枚数
				Count:31,//アニメーション用画像枚数
				time:50,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"ラル・ファイア",//魔法名
				Msg:"炎の渦で敵を焼き尽くす。上位の敵に有効な攻撃魔法。",//魔法説明
				Value:200,//基本効力（ダメージor回復量）
				UseMp:8,//基本消費魔法力
				MarginX:20,
				MarginY:10
			},			
			/*{
				MagicId:1,//魔法ID
				ImgId:64,//魔法用描画ID
				LV:100,//使用可能レベル
				Count:15,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"サンダーボルト",//魔法名
				Msg:"基本的な雷撃の攻撃魔法。それだけに使い手次第で威力も異なる。",//魔法説明
				Value:80,//基本効力（ダメージor回復量）
				UseMp:4,//基本消費魔法力
			},*/
			{
				MagicId:3,//魔法ID
				ImgId:95,//魔法用描画ID
				LV:15,//使用可能レベル
				Count:39,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"ホーリーバースト",//魔法名
				Msg:"聖なる力を使った爆裂攻撃魔法。威力は強い",//魔法説明
				Value:500,//基本効力（ダメージor回復量）
				UseMp:20,//基本消費魔法力
				MarginX:20,
				MarginY:30
			},			
			{
				MagicId:2,//魔法ID
				ImgId:134,//魔法用描画ID
				LV:1,//使用可能レベル
				Count:25,//アニメーション用画像枚数
				Type:1,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"ケア",//魔法名
				Msg:"基本的な治癒魔法。それだけに使い手次第で回復力も異なる。",//魔法説明
				Value:100,//基本効力（ダメージor回復量）
				UseMp:3,//基本消費魔法力
			},		
		];
		this.Attacks = [
			{
				AttackId:0,//魔法ID
				ImgId:10,//魔法用描画ID
				LV:0,//使用可能レベル
				Count:16,//アニメーション用画像枚数
				time:25,//アニメーション用画像枚数
				Type:0,//発動タイプ(0:通常攻撃,1:通常回復,2:常時発動)
				Name:"斬撃",//魔法名
				Msg:"基本的な攻撃",//魔法説明
				Value:20,//基本効力（ダメージor回復量）
				UseMp:0,//基本消費魔法力
				MarginX:50,
				MarginY:0
			},		
		]
		//アイテム
		//Item用データ
		this.Items = [
			{
				ItemId:0,//アイテムID
				Name:"薬草",//アイテム名
				Type:0,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"HPが50回復する",//アイテム説明
				Value:50,//アイテム効果の値
				GOLD:5,//価格
			},
			{
				ItemId:1,//アイテムID
				Name:"傷薬",//アイテム名
				Type:0,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"HPが100回復する",//アイテム説明
				Value:100,//アイテム効果の値
				GOLD:10,//価格
			},
			{
				ItemId:2,//アイテムID
				Name:"ポーション",//アイテム名
				Type:0,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"HPが200回復する",//アイテム説明
				Value:200,//アイテム効果の値
				GOLD:50,//価格
			},
			{
				ItemId:3,//アイテムID
				Name:"ハイポーション",//アイテム名
				Type:0,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"HPが600回復する",//アイテム説明
				Value:600,//アイテム効果の値
				GOLD:150,//価格
			},
			{
				ItemId:4,//アイテムID
				Name:"ケアの封玉",//アイテム名
				Type:0,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"中級魔導士が込めたケアが封じられている。<br>HPが800回復できる。",//アイテム説明
				Value:800,//アイテム効果の値
				GOLD:300,//価格
			},
			{
				ItemId:5,//アイテムID
				Name:"ケアの高級封玉",//アイテム名
				Type:0,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"上級魔導士が込めたケアが封じられている。<br>HPが1500回復できる。",//アイテム説明
				Value:1500,//アイテム効果の値
				GOLD:600,//価格
			},
			{
				ItemId:6,//アイテムID
				Name:"ケアの絶品封玉",//アイテム名
				Type:0,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"上級魔導士が込めたケアをさらに増幅して封じられている。<br>HPが3000回復できる。",//アイテム説明
				Value:3000,//アイテム効果の値
				GOLD:1200,//価格
			},
			{
				ItemId:7,//アイテムID
				Name:"ファイアの封玉",//アイテム名
				Type:1,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"中級魔導士が込めたファイアが封じられている。<br>敵に150前後のダメージを与える事が出来る。",//アイテム説明
				Value:150,//アイテム効果の値
				GOLD:300,//価格
			},
			{
				ItemId:8,//アイテムID
				Name:"サンダーボルトの封玉",//アイテム名
				Type:1,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"中級魔導士が込めたサンダーボルトが封じられている。<br>敵に250前後のダメージを与える事が出来る。",//アイテム説明
				Value:250,//アイテム効果の値
				GOLD:500,//価格
			},
			{
				ItemId:9,//アイテムID
				Name:"ホーリーバーストの封玉",//アイテム名
				Type:1,//アイテム種別 0:回復,1:攻撃,2:装備,3:特殊
				Msg:"中級魔導士が込めたホーリーバーストが封じられている。<br>敵に500前後のダメージを与える事が出来る。",//アイテム説明
				Value:500,//アイテム効果の値
				GOLD:1000,//価格
			},
			{
				ItemId:10,//アイテムID
				Name:"魔力の薬",//アイテム名
				Type:3,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"魔導士必須アイテム。MPを100回復させる。",//アイテム説明
				Value:100,//アイテム効果の値
				GOLD:500,//価格
			},
			{
				ItemId:11,//アイテムID
				Name:"高級・魔力の薬",//アイテム名
				Type:3,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"高品質な魔力の薬。MPを300回復させる。",//アイテム説明
				Value:300,//アイテム効果の値
				GOLD:1000,//価格
			},
			{
				ItemId:12,//アイテムID
				Name:"絶品・魔力の薬",//アイテム名
				Type:3,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"匠の技で生成された希少な魔力の薬。MPを全開回復させる。",//アイテム説明
				Value:100,//アイテム効果の値
				GOLD:5000,//価格
			},
			{
				ItemId:13,//アイテムID
				Name:"ソーイングセット",//アイテム名
				Type:4,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Value:20,//アイテム効果の値
				Msg:function(Value){return "ちょっとした衣服の破損を回復させる。破損が大きいと使用できない。<br>破損率:"+(100-Value)+"％以上で使用不可。";},//アイテム説明
				Limit:35,//回復できる値これを下回ると使用不可
				GOLD:100,//価格
			},
			{
				ItemId:14,//アイテムID
				Name:"裁縫箱",//アイテム名
				Type:4,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:function(Value){return "衣服の破損を回復させる。ある程度修復可能。<br>破損率:"+(100-Value)+"％以上で使用不可。";},//アイテム説明
				Value:40,//アイテム効果の値
				Limit:20,//回復できる値これを下回ると使用不可
				GOLD:300,//価格
			},
			{
				ItemId:15,//アイテムID
				Name:"新しい服",//アイテム名
				Type:4,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"修復不能なら服の新調は如何ですか？",//アイテム説明
				Value:100,//アイテム効果の値
				Limit:0,//回復できる値これを下回ると使用不可
				GOLD:600,//価格
			},
			{
				ItemId:16,//アイテムID
				Name:"魔封石",//アイテム名
				Type:3,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"装備することで知力が100上がる",//アイテム説明
				Value:100,//アイテム効果の値
				Limit:0,//回復できる値これを下回ると使用不可
				GOLD:1000,//価格
			},
			{
				ItemId:17,//アイテムID
				Name:"賢者の石",//アイテム名
				Type:3,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"装備することで知力が500上がる",//アイテム説明
				Value:200,//アイテム効果の値
				Limit:0,//回復できる値これを下回ると使用不可
				GOLD:10000,//価格
			},		
			{
				ItemId:18,//アイテムID
				Name:"緊急ゲート",//アイテム名
				Type:5,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"使用するとダンジョンの入り口に戻れる",//アイテム説明
				Use:true,
				Func:myMap.EcapeDungeon,
				Value:0,//アイテム効果の値
				Limit:0,//回復できる値これを下回ると使用不可
				GOLD:100,//価格
			},		
			{
				ItemId:19,//アイテムID
				Name:"力の実",//アイテム名
				Type:5,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"食べると力が上がります。（上昇値１～５）",//アイテム説明
				Use:true,
				Func:function(){return;},
				Value:0,//アイテム効果の値
				Limit:0,//回復できる値これを下回ると使用不可
				GOLD:10000,//価格
			},
			{
				ItemId:20,//アイテムID
				Name:"宝探知石",//アイテム名
				Type:5,//アイテム種別 0:回復,1:攻撃,2:装備,3:MP回復,4:破損度回復,5:特殊
				Msg:"宝箱の場所が分かるようになります。日付を跨ぐと効力がなくなります。",//アイテム説明
				Use:true,
				Func:function(){myRpg.Charctor.TREASURE = true;},
				Value:0,//アイテム効果の値
				Limit:0,//回復できる値これを下回ると使用不可
				GOLD:500,//価格
			},			
		];
	}
	
	//キャラ/敵データ全体設定
	SetCharactors(){
		//キャラ設定
		this.CharArray = [
			{		
				Name:"サーシャ",
				Type:0,//データタイプ 0:キャラ,1:敵
				ImgID:-99,//0以上で敵
				MarginType:"-",//0以上で敵
				BattleImgID:1,				
				LV:1,//レベル
				HP:100,//体力(値はレベル1)
				MAXHP:100,//体力(値はレベル1)
				MP:20,//マジックポイント(値はレベル1)
				MAXMP:20,//マジックポイント(値はレベル1)
				WP:100,//服耐久力(値はレベル1)
				MAXWP:100,//服耐久力(値はレベル1)
				BACKWP:100,//服耐久力/裏闘技場保持用
				AP:15,//攻撃力(値はレベル1)
				DP:10,//防御力(値はレベル1)
				SP:10,//素早さ(値はレベル1)
				IP:10,//知力(値はレベル1)
				EXE:0,//経験値
				GOLD:1000,//お金		
				INRAN:0,//淫乱ポイント
				SHUCHI:100,//羞恥心
				DEBT:100000,//借金
				RUMOR:0,//噂
				RANK:"E",
				NEXTRANKPOINT:10,
				RANKPOINT:0,
				CLASS:3,
				NEXTCLASS:10,
				CLASSPOINT:0,
				MAPINDEX:0,
				MAPX:0,
				MAPY:0,
				VIRGIN:true,
				BACKARENA:false,
				BACKARENAFIRST:true,
				BACKARENACOUNT:0,
				BACKARENAWIN:0,
				TREASURE:false,
			},
		];		
		//敵データ設定
		this.EnemyArray　= [
			{		
				Name:"大コウモリ",//0
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:1,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:10,//体力
				MP:0,//マジックポイント
				AP:15,//攻撃力
				DP:5,//防御力
				SP:3,//素早さ
				IP:0,//知力
				EXE:1,//経験値
				GOLD:1,//お金
			},
			{		
				Name:"大蜂",//1
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:2,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:20,//体力
				MP:0,//マジックポイント
				AP:30,//攻撃力
				DP:8,//防御力
				SP:8,//素早さ
				IP:0,//知力
				EXE:2,//経験値
				GOLD:1,//お金
			},
			{		
				Name:"グッバワ",//2
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:3,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:30,//体力
				MP:0,//マジックポイント
				AP:20,//攻撃力
				DP:10,//防御力
				SP:30,//素早さ
				IP:0,//知力
				EXE:2,//経験値
				GOLD:3,//お金
			},
			{		
				Name:"ゾンビ",//3
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:4,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:20,//体力
				MP:0,//マジックポイント
				AP:30,//攻撃力
				DP:5,//防御力
				SP:10,//素早さ
				IP:5,//知力
				EXE:2,//経験値
				GOLD:2,//お金
			},
			{		
				Name:"スケルトン",//4
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:5,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:60,//体力
				MP:0,//マジックポイント
				AP:30,//攻撃力
				DP:15,//防御力
				SP:15,//素早さ
				IP:5,//知力
				EXE:4,//経験値
				GOLD:4,//お金
			},
			{
				Name:"赤・大コウモリ",//5
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:6,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:2,//レベル
				HP:60,//体力
				MP:0,//マジックポイント
				AP:30,//攻撃力
				DP:15,//防御力
				SP:15,//素早さ
				IP:5,//知力
				EXE:3,//経験値
				GOLD:3,//お金
			},				
			{
				Name:"スライム",//6
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:7,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:2,//レベル
				HP:75,//体力
				MP:0,//マジックポイント
				AP:30,//攻撃力
				DP:45,//防御力
				SP:15,//素早さ
				IP:15,//知力
				EXE:5,//経験値
				GOLD:2,//お金
			},				
			{
				Name:"ビッグフラッグ",//7
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:8,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:3,//レベル
				HP:100,//体力
				MP:0,//マジックポイント
				AP:50,//攻撃力
				DP:40,//防御力
				SP:35,//素早さ
				IP:15,//知力
				EXE:8,//経験値
				GOLD:5,//お金
			},				
			{
				Name:"ダンジョンウルフ",//8
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:9,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:3,//レベル
				HP:120,//体力
				MP:0,//マジックポイント
				AP:65,//攻撃力
				DP:30,//防御力
				SP:50,//素早さ
				IP:15,//知力
				EXE:8,//経験値
				GOLD:4,//お金
			},				
			{
				Name:"ゴブリン",//9
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:10,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:3,//レベル
				HP:150,//体力
				MP:0,//マジックポイント
				AP:70,//攻撃力
				DP:45,//防御力
				SP:50,//素早さ
				IP:20,//知力
				EXE:10,//経験値
				GOLD:10,//お金
			},				
			{
				Name:"ボーア",//10
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:11,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:4,//レベル
				HP:250,//体力
				MP:0,//マジックポイント
				AP:90,//攻撃力
				DP:50,//防御力
				SP:65,//素早さ
				IP:15,//知力
				EXE:15,//経験値
				GOLD:20,//お金
			},				
			{
				Name:"ダーク・イーグル",//11
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:12,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:4,//レベル
				HP:280,//体力
				MP:0,//マジックポイント
				AP:95,//攻撃力
				DP:55,//防御力
				SP:100,//素早さ
				IP:20,//知力
				EXE:20,//経験値
				GOLD:15,//お金
			},				
			{
				Name:"ポイズンスパイダ",//12
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:13,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:4,//レベル
				HP:300,//体力
				MP:0,//マジックポイント
				AP:100,//攻撃力
				DP:50,//防御力
				SP:50,//素早さ
				IP:20,//知力
				EXE:25,//経験値
				GOLD:20,//お金
			},				
			{
				Name:"クラブア",//13
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:14,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:280,//体力
				MP:0,//マジックポイント
				AP:100,//攻撃力
				DP:60,//防御力
				SP:65,//素早さ
				IP:25,//知力
				EXE:35,//経験値
				GOLD:20,//お金
			},				
			{
				Name:"インプァー",//14
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:15,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:320,//体力
				MP:0,//マジックポイント
				AP:105,//攻撃力
				DP:65,//防御力
				SP:80,//素早さ
				IP:30,//知力
				EXE:35,//経験値
				GOLD:35,//お金
			},				
			{
				Name:"オーク",//15
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:16,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:350,//体力
				MP:0,//マジックポイント
				AP:120,//攻撃力
				DP:75,//防御力
				SP:60,//素早さ
				IP:30,//知力
				EXE:40,//経験値
				GOLD:20,//お金
			},				
			{
				Name:"ワーウルフ",//16
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:23,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:6,//レベル
				HP:380,//体力
				MP:0,//マジックポイント
				AP:150,//攻撃力
				DP:90,//防御力
				SP:80,//素早さ
				IP:35,//知力
				EXE:45,//経験値
				GOLD:30,//お金
			},				
			{
				Name:"スカルナイト",//17
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:24,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:6,//レベル
				HP:400,//体力
				MP:0,//マジックポイント
				AP:140,//攻撃力
				DP:100,//防御力
				SP:65,//素早さ
				IP:40,//知力
				EXE:50,//経験値
				GOLD:20,//お金
			},				
			{
				Name:"スモールドラゴン",//18
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:25,//0以上で敵
				MarginType:"S",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:6,//レベル
				HP:500,//体力
				MP:0,//マジックポイント
				AP:200,//攻撃力
				DP:120,//防御力
				SP:80,//素早さ
				IP:45,//知力
				EXE:35,//経験値
				GOLD:35,//お金
			},						
		];
		//闘技場データ設定
		this.EnemyArray2　= [
			{		
				Name:"見習いシーフLV1",//0
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:26,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:300,//体力
				MP:0,//マジックポイント
				AP:35,//攻撃力
				DP:10,//防御力
				SP:50,//素早さ
				IP:10,//知力
				EXE:10,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"見習いシーフLV5",//1
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:27,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:600,//体力
				MP:0,//マジックポイント
				AP:50,//攻撃力
				DP:20,//防御力
				SP:50,//素早さ
				IP:20,//知力
				EXE:20,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"見習い魔導士LV1",//2
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:28,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:250,//体力
				MP:30,//マジックポイント
				AP:30,//攻撃力
				DP:10,//防御力
				SP:30,//素早さ
				IP:15,//知力
				EXE:10,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"見習い魔導士LV5",//3
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:29,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:500,//体力
				MP:60,//マジックポイント
				AP:45,//攻撃力
				DP:20,//防御力
				SP:40,//素早さ
				IP:25,//知力
				EXE:20,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"見習い戦士LV1",//4
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:30,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:290,//体力
				MP:0,//マジックポイント
				AP:35,//攻撃力
				DP:15,//防御力
				SP:15,//素早さ
				IP:10,//知力
				EXE:10,//経験値
				GOLD:0,//お金
			},
			{
				Name:"見習い戦士LV5",//5
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:31,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:580,//体力
				MP:0,//マジックポイント
				AP:60,//攻撃力
				DP:25,//防御力
				SP:15,//素早さ
				IP:15,//知力
				EXE:20,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"初心者拳闘士LV1",//6
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:32,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:350,//体力
				MP:0,//マジックポイント
				AP:40,//攻撃力
				DP:15,//防御力
				SP:40,//素早さ
				IP:12,//知力
				EXE:12,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"初心者拳闘士LV5",//7
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:33,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:700,//体力
				MP:0,//マジックポイント
				AP:50,//攻撃力
				DP:25,//防御力
				SP:50,//素早さ
				IP:25,//知力
				EXE:22,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"Dランク・シーフ",//8
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:34,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:10,//レベル
				HP:1500,//体力
				MP:0,//マジックポイント
				AP:65,//攻撃力
				DP:40,//防御力
				SP:100,//素早さ
				IP:30,//知力
				EXE:100,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"東洋の僧LV10",//9
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:35,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:800,//体力
				MP:0,//マジックポイント
				AP:60,//攻撃力
				DP:30,//防御力
				SP:50,//素早さ
				IP:35,//知力
				EXE:50,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"東洋の僧LV15",//10
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:36,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:1600,//体力
				MP:0,//マジックポイント
				AP:100,//攻撃力
				DP:60,//防御力
				SP:120,//素早さ
				IP:45,//知力
				EXE:100,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"魔導士LV10",//11
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:37,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:800,//体力
				MP:0,//マジックポイント
				AP:60,//攻撃力
				DP:30,//防御力
				SP:50,//素早さ
				IP:35,//知力
				EXE:50,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"魔導士LV15",//12
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:38,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:1600,//体力
				MP:0,//マジックポイント
				AP:100,//攻撃力
				DP:60,//防御力
				SP:120,//素早さ
				IP:45,//知力
				EXE:100,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"駆け出し戦士LV10",//13
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:39,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:1000,//体力
				MP:0,//マジックポイント
				AP:75,//攻撃力
				DP:40,//防御力
				SP:100,//素早さ
				IP:25,//知力
				EXE:50,//経験値
				GOLD:0,//お金
			},
			{
				Name:"駆け出し戦士LV15",//13
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:40,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:2000,//体力
				MP:0,//マジックポイント
				AP:100,//攻撃力
				DP:70,//防御力
				SP:100,//素早さ
				IP:25,//知力
				EXE:100,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"拳闘士LV10",//14
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:41,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:1000,//体力
				MP:0,//マジックポイント
				AP:100,//攻撃力
				DP:40,//防御力
				SP:100,//素早さ
				IP:25,//知力
				EXE:60,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"拳闘士LV15",//15
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:42,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:2000,//体力
				MP:0,//マジックポイント
				AP:110,//攻撃力
				DP:70,//防御力
				SP:100,//素早さ
				IP:30,//知力
				EXE:120,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"Cランク・魔導士",//16
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:43,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3000,//体力
				MP:0,//マジックポイント
				AP:100,//攻撃力
				DP:75,//防御力
				SP:80,//素早さ
				IP:50,//知力
				EXE:200,//経験値
				GOLD:0,//お金
			},	
			{		
				Name:"魔法少女LV20",//17
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:50,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:2500,//体力
				MP:0,//マジックポイント
				AP:90,//攻撃力
				DP:70,//防御力
				SP:50,//素早さ
				IP:55,//知力
				EXE:180,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"魔法少女LV25",//18
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:51,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:3200,//体力
				MP:0,//マジックポイント
				AP:110,//攻撃力
				DP:80,//防御力
				SP:50,//素早さ
				IP:65,//知力
				EXE:220,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"東洋の剣士LV20",//19
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:48,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3000,//体力
				MP:0,//マジックポイント
				AP:130,//攻撃力
				DP:85,//防御力
				SP:50,//素早さ
				IP:55,//知力
				EXE:200,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"東洋の剣士LV25",//20
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:49,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:3500,//体力
				MP:0,//マジックポイント
				AP:140,//攻撃力
				DP:90,//防御力
				SP:90,//素早さ
				IP:60,//知力
				EXE:250,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"東洋の戦士LV20",//21
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:46,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3100,//体力
				MP:0,//マジックポイント
				AP:120,//攻撃力
				DP:85,//防御力
				SP:120,//素早さ
				IP:50,//知力
				EXE:190,//経験値
				GOLD:0,//お金
			},
			{
				Name:"東洋の戦士LV25",//22
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:47,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3400,//体力
				MP:0,//マジックポイント
				AP:135,//攻撃力
				DP:95,//防御力
				SP:130,//素早さ
				IP:60,//知力
				EXE:240,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"女戦士LV20",//23
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:44,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3150,//体力
				MP:0,//マジックポイント
				AP:125,//攻撃力
				DP:85,//防御力
				SP:120,//素早さ
				IP:60,//知力
				EXE:210,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"女戦士LV25",//24
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:45,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3550,//体力
				MP:0,//マジックポイント
				AP:160,//攻撃力
				DP:90,//防御力
				SP:150,//素早さ
				IP:70,//知力
				EXE:260,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"Bランク・魔女",//25
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:52,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:30,//レベル
				HP:4000,//体力
				MP:0,//マジックポイント
				AP:170,//攻撃力
				DP:100,//防御力
				SP:150,//素早さ
				IP:85,//知力
				EXE:300,//経験値
				GOLD:0,//お金
			},				
			{		
				Name:"魔女LV30",//17
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:53,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:30,//レベル
				HP:4000,//体力
				MP:0,//マジックポイント
				AP:170,//攻撃力
				DP:100,//防御力
				SP:150,//素早さ
				IP:85,//知力
				EXE:300,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"シーフLV35",//18
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:54,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:4500,//体力
				MP:0,//
				AP:200,//攻撃力
				DP:120,//防御力
				SP:130,//素早さ
				IP:90,//知力
				EXE:350,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"魔導士LV30",//19
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:55,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:4100,//体力
				MP:0,//マジックポイント
				AP:170,//攻撃力
				DP:105,//防御力
				SP:135,//素早さ
				IP:100,//知力
				EXE:310,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"女剣士LV35",//20
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:56,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:4500,//体力
				MP:0,//マジックポイント
				AP:250,//攻撃力
				DP:130,//防御力
				SP:150,//素早さ
				IP:100,//知力
				EXE:400,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"拳法有段者LV30",//21
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:57,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:4000,//体力
				MP:0,//マジックポイント
				AP:220,//攻撃力
				DP:90,//防御力
				SP:200,//素早さ
				IP:80,//知力
				EXE:310,//経験値
				GOLD:0,//お金
			},
			{
				Name:"拳法有段者LV35",//22
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:58,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:4600,//体力
				MP:0,//マジックポイント
				AP:260,//攻撃力
				DP:130,//防御力
				SP:100,//素早さ
				IP:95,//知力
				EXE:380,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"戦士長LV30",//23
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:59,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3800,//体力
				MP:0,//マジックポイント
				AP:190,//攻撃力
				DP:100,//防御力
				SP:160,//素早さ
				IP:85,//知力
				EXE:320,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"戦士長LV35",//24
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:60,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:4450,//体力
				MP:0,//マジックポイント
				AP:235,//攻撃力
				DP:120,//防御力
				SP:150,//素早さ
				IP:100,//知力
				EXE:360,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"Aランク・戦闘司祭",//25
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:61,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:40,//レベル
				HP:5000,//体力
				MP:0,//マジックポイント
				AP:280,//攻撃力
				DP:180,//防御力
				SP:200,//素早さ
				IP:120,//知力
				EXE:500,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"シーフLV40",//26
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:62,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:5000,//体力
				MP:0,//
				AP:270,//攻撃力
				DP:180,//防御力
				SP:250,//素早さ
				IP:105,//知力
				EXE:550,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"戦士長LV40",//27
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:63,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:5100,//体力
				MP:0,//マジックポイント
				AP:285,//攻撃力
				DP:175,//防御力
				SP:180,//素早さ
				IP:100,//知力
				EXE:520,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"女戦士LV40",//28
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:64,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:5,//レベル
				HP:5500,//体力
				MP:0,//マジックポイント
				AP:300,//攻撃力
				DP:200,//防御力
				SP:230,//素早さ
				IP:110,//知力
				EXE:550,//経験値
				GOLD:0,//お金
			},
			{		
				Name:"巫女LV40",//29
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:65,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:5300,//体力
				MP:0,//マジックポイント
				AP:280,//攻撃力
				DP:200,//防御力
				SP:200,//素早さ
				IP:150,//知力
				EXE:540,//経験値
				GOLD:0,//お金
			},			
			{
				Name:"女剣士LV40",//30
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:66,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:5600,//体力
				MP:0,//マジックポイント
				AP:300,//攻撃力
				DP:250,//防御力
				SP:160,//素早さ
				IP:85,//知力
				EXE:320,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"魔法少女LV40",//31
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:60,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:5550,//体力
				MP:0,//マジックポイント
				AP:285,//攻撃力
				DP:220,//防御力
				SP:210,//素早さ
				IP:150,//知力
				EXE:550,//経験値
				GOLD:0,//お金
			},				
			{
				Name:"チャンピオン",//32
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:61,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:50,//レベル
				HP:6000,//体力
				MP:0,//マジックポイント
				AP:350,//攻撃力
				DP:300,//防御力
				SP:300,//素早さ
				IP:200,//知力
				EXE:1000,//経験値
				GOLD:0,//お金
			},			
		];
		//闘技場データ設定
		this.EnemyArray3　= [
			{		
				Name:"裏シーフ",//8
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:27,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:10,//レベル
				HP:1500,//体力
				MP:0,//マジックポイント
				AP:65,//攻撃力
				DP:40,//防御力
				SP:100,//素早さ
				IP:30,//知力
				EXE:100,//経験値
				GOLD:0,//お金
			},
			{
				Name:"裏拳闘士",//8
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:42,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:1,//レベル
				HP:3000,//体力
				MP:0,//マジックポイント
				AP:120,//攻撃力
				DP:80,//防御力
				SP:100,//素早さ
				IP:30,//知力
				EXE:200,//経験値
				GOLD:0,//お金
			},
			{
				Name:"裏東洋の戦士",//25
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:47,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:30,//レベル
				HP:4000,//体力
				MP:0,//マジックポイント
				AP:170,//攻撃力
				DP:100,//防御力
				SP:150,//素早さ
				IP:85,//知力
				EXE:300,//経験値
				GOLD:0,//お金
			},
			{
				Name:"裏東洋の剣士",//25
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:48,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:40,//レベル
				HP:5000,//体力
				MP:0,//マジックポイント
				AP:280,//攻撃力
				DP:180,//防御力
				SP:200,//素早さ
				IP:120,//知力
				EXE:500,//経験値
				GOLD:0,//お金
			},
			{
				Name:"裏戦士長",//32
				Type:1,//データタイプ 0:キャラ,1:敵
				ImgID:63,//0以上で敵
				MarginType:"LL",//0以上で敵
				BattleImgID:1,
				Count:10,
				LV:50,//レベル
				HP:6000,//体力
				MP:0,//マジックポイント
				AP:350,//攻撃力
				DP:300,//防御力
				SP:300,//素早さ
				IP:200,//知力
				EXE:1000,//経験値
				GOLD:0,//お金
			},			
		];			
	}
	
	//レベルアップ経験値取得
	GetLevelUpEXE(init=false,LVvalue=0){
		var UpEXE = 0;
		var LV = myRpg.Charctor.LV;
		if(LVvalue!=0)LV = LVvalue;
		if(init)LV--;
		for(var loop=0;loop<LV;loop++){
			UpEXE = UpEXE+parseInt(loop+1)*30+parseInt(loop+1)*10;
			console.log("LV:"+parseInt(loop+1)+"..."+UpEXE);
		}
		return UpEXE;
	}
	
	//レベルアップ時処理
	LevelUpProc(Msg){
		var EXE = myRpg.GetLevelUpEXE();
		if(myRpg.Charctor.EXE>=EXE){
			Msg = myRpg.Charctor.Name;
			Msg += "はレベルが上がった！<br>";
			//ステータスアップ処理
			var data = {
				LV:1,//体力
				MAXHP:(Math.random()*10+20),//体力
				MAXMP:(Math.random()*10+10),//マジックポイント
				AP:(Math.random()*6+5),//攻撃力
				DP:(Math.random()*4+3),//防御力
				SP:(Math.random()*4+3),//素早さ
				IP:(Math.random()*3+2),//知力
			};
			for(var loop in data){
				myRpg.Charctor[loop] += parseInt(data[loop]);
				console.log(loop+":"+myRpg.Charctor[loop]);
			}
			var Msg2;
			this.LevelUpProc(Msg2);
		}
		return Msg;
	}
	
	//ステータス機能
	StatusFunction(){
		if(!myRpg.FunctionFlg)return;
		myRpg.StatusMenu = "statusMenu";		
		myBT.setCommandProcessing(myBT.CommandStatus,function(){
			//通常メニュー非表示
			myBT.MenuHidden();
			var MenuItemMax = 5;
			var MenuItemIndex = 0;
			var MenuStatusPage = 0;			
			var data = myRpg.Charctor;
			//初回メニュー生成
			var StatusMenu = _self.Elm(myRpg.StatusMenu,_self.TypeID);
			if((StatusMenu == undefined)||(StatusMenu == null)){
				//メニュー枠生成
				var parent = _self.Elm("operation",_self.TypeID);
				myBT.setCommonBox(parent,myRpg.StatusMenu,"10px");
				_self.Elm(myRpg.StatusMenu,_self.TypeID).style.width = "300px";
				//魔法ステータス
				myRpg.MagicStatus = function(){
					var MagicData = myRpg.Magics;
					var index = 0;
					_self.Elm(myRpg.StatusMenu,_self.TypeID).innerHTML = "";
					for(index in MagicData){
						if(MagicData[index].LV>myRpg.Charctor.LV)continue;
						_self.Elm(myRpg.StatusMenu,_self.TypeID).innerHTML += "<center><span id='magic"+index+"'>"+MagicData[index].Name+"</span><br></center>";
					}
					_self.Elm(myRpg.StatusMenu,_self.TypeID).innerHTML += "<br><center><span id='magicUse'>使う</span></center>";
					_self.Elm(myRpg.StatusMenu,_self.TypeID).innerHTML += "<center><span id='magicEnd'>閉じる</span></center>";
					_self.Elm("magicEnd",_self.TypeID).onmousedown = function(){
						_self.HiddenBox(myRpg.StatusMenu);
					}
					for(index in MagicData){
						if(MagicData[index].LV>myRpg.Charctor.LV)continue;
						_self.Elm("magic"+index,_self.TypeID).onmousedown = function(){
							var Index = this.id.substr(String("magic").length,this.id.length-String("magic").length);
							var Msg = "消費MP:"+MagicData[Index].UseMp+"<br>";
							var MagicType = ["攻撃","回復","常時発動"];
							var typeIndex = MagicData[Index].Type;
							Msg += "魔法タイプ:";
							Msg +=((MagicData[Index].MagicId<=-1)?"詠唱":MagicType[typeIndex])+"<br>";
							Msg += "基本威力:"+MagicData[Index].Value+"<br>";
							Msg += MagicData[Index].Msg+"<br>";
							myBT.showMessage(Msg);
							//使う
							MenuItemIndex = Index;
						}
					}
					//魔法を使う
					_self.Elm("magicUse",_self.TypeID).onmousedown = function(){
						var MagicData = myRpg.Magics;				
						//タイプチェック
						if(MagicData[MenuItemIndex].Type!=1){
							myBT.showMessage("回復魔法を選択してください。");
							return;
						}				
						var parent = _self.Elm("operation",_self.TypeID);
						var length = this.id.length;
						var index = MenuItemIndex;
						var Msg = MagicData[index].Name+"を使いますか？<br>";
						Msg += MagicData[index].Msg+"<br>";
						myBT.yesNoBox(parent,Msg,
							function(){
								var useFlg = false;
								//回復
								if(MagicData[index].Type==1){
									var Msg = "MPが足りません。";
									if(myRpg.Charctor.MP>=MagicData[index].UseMp){
										Msg = MagicData[index].Name+"を使いました。<br>";
										var CorrectValue = (Math.random()+0.4);
										if(CorrectValue>=1.1)CorrectValue = 1.1;									
										Msg += "HPが"+Math.floor(myRpg.Charctor.IP*CorrectValue+MagicData[index].Value)+"回復しました。<br>MP"+MagicData[index].UseMp+"消費しました。";
										myRpg.Charctor.HP += Math.floor(myRpg.Charctor.IP*CorrectValue+MagicData[index].Value);
										myRpg.Charctor.MP -= MagicData[index].UseMp;
										if(myRpg.Charctor.HP>=myRpg.Charctor.MAXHP)myRpg.Charctor.HP = myRpg.Charctor.MAXHP;
									}
									myBT.showMessage(Msg);
								}
								_self.ViewBox(myRpg.StatusMenu);
							},
							function(){
								_self.ViewBox(myRpg.StatusMenu);
							},
						);
						_self.HiddenBox(myRpg.StatusMenu);
					}
				}
			}else{
				_self.ViewBox(myRpg.StatusMenu);
			}
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText = data.Name+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "LV:"+data.LV+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "HP:"+data.HP+"/"+data.MAXHP+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "MP:"+data.MP+"/"+data.MAXMP+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "攻撃力:"+data.AP+",";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "防御力:"+data.DP+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "素早さ:"+data.SP+",";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "知力:"+data.IP+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "闘技場ランク:"+data.RANK+data.CLASS+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "衣服破損率:"+(100-(data.WP/data.MAXWP)*100).toFixed(2)+"％\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "淫乱度:"+data.INRAN+",";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "悪評:"+data.RUMOR+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "借金残高:"+data.DEBT+"G\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "EXE:"+data.EXE+"/"+myRpg.GetLevelUpEXE()+"\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "GOLD:"+data.GOLD+"G\n";
			_self.Elm(myRpg.StatusMenu,_self.TypeID).innerText += "\n※ステータス画面タッチで次へ\n";			
			_self.Elm(myRpg.StatusMenu,_self.TypeID).onmousedown = myRpg.MagicStatus;			
			_self.Elm(myRpg.StatusMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
		});
	}
	
	//宿屋データセット
	RestDataSet(funcStr="save"){
		if(funcStr=="load"){
			myRpg.RestFlg = myRpg.RestData.RestFlg;
			myRpg.BarRestFlg = myRpg.RestData.BarRestFlg;
			myRpg.RestPayFlg = myRpg.RestData.RestPayFlg;
			myRpg.RestPayFlg2 = myRpg.RestData.RestPayFlg2;
			myRpg.RestNojukuFlg = myRpg.RestData.RestNojukuFlg;
			myRpg.RestCount = myRpg.RestData.RestCount;
			myRpg.RestBaishunFlg = myRpg.RestData.RestBaishunFlg;
			myRpg.RestBaishunPushCount = myRpg.RestData.RestBaishunPushCount;				
		}else{
			myRpg.RestData.RestFlg = myRpg.RestFlg;
			myRpg.RestData.BarRestFlg = myRpg.BarRestFlg;
			myRpg.RestData.RestPayFlg = myRpg.RestPayFlg;
			myRpg.RestData.RestPayFlg2 = myRpg.RestPayFlg2;
			myRpg.RestData.RestNojukuFlg = myRpg.RestNojukuFlg;
			myRpg.RestData.RestCount = myRpg.RestCount;
			myRpg.RestData.RestBaishunFlg = myRpg.RestBaishunFlg;
			myRpg.RestData.RestBaishunPushCount = myRpg.RestBaishunPushCount;				
		}
	}	
	
	//宿屋機能
	RestFunction(index=0){
		//宿屋・選択
		if(index==0){
			//宿屋・選択
			var func = function(id){
				if(id==0){
					//1泊
					if(myRpg.Charctor.GOLD>=120){
						myRpg.Charctor.GOLD -= 120;
						myRpg.RestCount = 1;
						myRpg.RestPayFlg = true;
						myRpg.RestPayFlg2 = false;
						myRpg.RestNojukuFlg = false;
					}
					myBE.Flg[myBE.eventIndex] = 1;
				}else if(id==1){
					//7連泊
					if(myRpg.Charctor.GOLD>=700){
						myRpg.Charctor.GOLD -= 700;
						myRpg.RestCount = 7;
						myRpg.RestPayFlg = true;
						myRpg.RestPayFlg2 = false;
						myRpg.RestNojukuFlg = false;				
					}
					myBE.Flg[myBE.eventIndex] = 2;
				}else if(id==2){
					//売春
					if((myRpg.Charctor.INRAN>=50)||(myRpg.RestBaishunPushCount>=20)){
						myRpg.Charctor.GOLD += 400;
						myRpg.RestCount = 1;
						myRpg.RestPayFlg = true;
						myRpg.RestPayFlg2 = false;
						myRpg.RestBaishunFlg = true;
						myRpg.RestNojukuFlg = false;					
					}
					myBE.Flg[myBE.eventIndex] = 3;
				}else{
					myBE.Flg[myBE.eventIndex] = 4;
				}
			}
			var selectData = [
				["1泊する（-120G）",func],
				["7連泊する(-700G)",func],
				["売春する(+400G)",func],
				["後にする",func],
			];
			myST.selectEvent(selectData);
		}
		//宿泊選択
		else if(index == 1){
			switch(myBE.Flg[myBE.eventIndex]){
				case 1:
					if(myRpg.RestPayFlg)myBT.showMessage("宿屋主人<br>「ありがとうございます。こちら、部屋の鍵になります」");
					if(!myRpg.RestPayFlg)myBT.showMessage("お金が足りませんでした。");
					break;
				case 2:
					if(myRpg.RestPayFlg)myBT.showMessage("宿屋主人<br>「ありがとうございます。こちら、部屋の鍵になります」");
					if(!myRpg.RestPayFlg)myBT.showMessage("お金が足りませんでした。");
					break;
				case 3:
					if(myRpg.RestBaishunFlg)myBT.showMessage("宿屋主人<br>「こちら、部屋の鍵になります。<br>あなたはただ寝てるだけでいいので」");
					if(!myRpg.RestPayFlg){
						myRpg.RestBaishunPushCount++;
						if(myRpg.RestBaishunPushCount<=5){
							myBT.showMessage("サーシャ<br>「無理よ、売春なんて」<br>売春選択回数:"+myRpg.RestBaishunPushCount);
						}
						else if(myRpg.RestBaishunPushCount<=10){
							myBT.showMessage("サーシャ<br>「だ、ダメよ、売春なんて...」<br>売春選択回数:"+myRpg.RestBaishunPushCount);
						}
						else if(myRpg.RestBaishunPushCount<=15){
							myBT.showMessage("サーシャ<br>「ダメだって思っているのに...」<br>売春選択回数:"+myRpg.RestBaishunPushCount);
						}
						else if(myRpg.RestBaishunPushCount<=20){
							myBT.showMessage("サーシャ<br>「...」<br>売春選択回数:"+myRpg.RestBaishunPushCount);
						}					
						myBT.messageCount-=2;
					}
					break;
				case 4:
					myBT.showMessage("宿屋主人<br>「またのご利用お待ちしております。」");
					break;
			}
		}
		//残り宿泊数
		else if(index == 2){
			myRpg.RestCount--;
			if(myRpg.RestCount<0)myRpg.RestCount = 0;
			if(myRpg.RestCount == 0){
				myBT.showMessage("サーシャ<br>「今日、チェックアウトね」");
				myRpg.RestPayFlg2 = false;
			}else{
				myBT.showMessage("サーシャ<br>「あと"+myRpg.RestCount+"泊出来るよ」");
			}
			document.onmousedown = function(){
				myBT.showMessage("");
				document.onmousedown = null;
			}
		}
		//酒場・宿屋・選択
		else if(index==3){
			//宿屋・選択
			var func = function(id){
				if(id==0){
					//1泊
					if(myRpg.Charctor.GOLD>=30){
						myRpg.Charctor.GOLD -= 30;
						myRpg.RestCount = 1;
						myRpg.RestPayFlg = false;
						myRpg.RestPayFlg2 = true;
						myRpg.RestNojukuFlg = false;
					}
					myBE.Flg[myBE.eventIndex] = 1;
				}else if(id==1){
					//7連泊
					if(myRpg.Charctor.GOLD>=210){
						myRpg.Charctor.GOLD -= 210;
						myRpg.RestCount = 7;
						myRpg.RestPayFlg = false;
						myRpg.RestPayFlg2 = true;
						myRpg.RestNojukuFlg = false;					
					}
					myBE.Flg[myBE.eventIndex] = 2;
				}else{
					myBE.Flg[myBE.eventIndex] = 3;
				}
			}
			var selectData = [
				["1泊する（-30G）",func],
				["7連泊する(-210G)",func],
				["後にする",func],
			];
			myST.selectEvent(selectData);
		}
		//宿泊選択
		else if(index == 4){
			switch(myBE.Flg[myBE.eventIndex]){
				case 1:
				case 2:
					if(myRpg.RestPayFlg2)myBT.showMessage("マスター<br>「ありがとよ。これが鍵だ。大事に使ってくれ」");
					if(!myRpg.RestPayFlg2)myBT.showMessage("お金が足りませんでした。");
					break;
				case 3:
					myBT.showMessage("マスター<br>「気が向いたら声を掛けてくれ」");
					break;
			}
		}
	}
	
	//寝る機能
	SleepFunction(parent_name="operation"){
		myBT.setCommandProcessing(myBT.CommandSleep,function(){
			myRpg.RestMenu = "restMenu";
			//通常メニュー非表示
			myBT.MenuHidden();
			if(myRpg.SleepScene==undefined){
				myRpg.SleepScene = function(sceneNo=0){
					var idx = myImg.GetIndexPos("body");
					if(_self.sample2_flg&&(idx>=16))idx = 15;
					var idx_sitem = 0;
					switch(sceneNo){
					case 0:
						//宿
						if(!myRpg.RestNojukuFlg){
							if(idx<=15)idx_sitem = 1;
							if(idx==16)idx_sitem = 2;
							if(idx==17)idx_sitem = 3;
							if(idx==19)idx_sitem = 3;
							if(idx==27)idx_sitem = 3;
						}
						//野宿
						else{
							if(idx==1)idx_sitem = 19;
							if(idx==2)idx_sitem = 19;
							if(idx==3)idx_sitem = 20;
							if(idx==9)idx_sitem = 21;
							if(idx==10)idx_sitem = 22;
							if(idx==13)idx_sitem = 23;
							if(idx==14)idx_sitem = 24;
							if(idx==15)idx_sitem = 25;
							if(idx==16)idx_sitem = 26;
							if(idx==17)idx_sitem = 27;
							if(idx==19)idx_sitem = 27;
							if(idx==27)idx_sitem = 27;
						}
						break;
					case 1://睡眠姦/売春
						//宿
						if(!myRpg.RestNojukuFlg){
							if(idx<=15)idx_sitem = 4;
							if(idx==16)idx_sitem = 7;
							if(idx==17)idx_sitem = 10;
							if(idx==19)idx_sitem = 13;
							if(idx==27)idx_sitem = 16;
						}
						//野宿/マントなし
						else{
							if(idx==1)idx_sitem = 28;
							if(idx==2)idx_sitem = 28;
							if(idx==3)idx_sitem = 29;
							if(idx==9)idx_sitem = 30;
							if(idx==10)idx_sitem = 31;//スカート破損2/シャツ破損1
							if(idx==13)idx_sitem = 32;//スカート破損2/シャツ破損2
							if(idx==14)idx_sitem = 44;//スカート無し/シャツ破損2
							if(idx==15)idx_sitem = 33;//下着
							if(idx==16)idx_sitem = 34;//ブラ破損
							if(idx==17)idx_sitem = 35;//パンティー
							if(idx==19)idx_sitem = 36;//パンティー破損
							if(idx==27)idx_sitem = 37;//全裸
						}
						break;					
					case 2://睡眠姦/売春
						//宿
						if(!myRpg.RestNojukuFlg){
							if(idx<=15)idx_sitem = 5;
							if(idx==16)idx_sitem = 8;
							if(idx==17)idx_sitem = 11;
							if(idx==19)idx_sitem = 14;
							if(idx==27)idx_sitem = 17;
						}
						//野宿/スカート捲り
						else{
							if(idx==1)idx_sitem = 38;
							if(idx==2)idx_sitem = 38;
							if(idx==3)idx_sitem = 38;
							if(idx==9)idx_sitem = 39;
						}
						break;
					case 3://睡眠姦/売春
						//宿
						if(!myRpg.RestNojukuFlg){
							if(idx<=15)idx_sitem = 6;
							if(idx==16)idx_sitem = 9;
							if(idx==17)idx_sitem = 12;
							if(idx==19)idx_sitem = 15;
							if(idx==27)idx_sitem = 18;
						}
						//野宿/スカート取る
						else{
							if(idx==1)idx_sitem = 42;
							if(idx==2)idx_sitem = 42;
							if(idx==3)idx_sitem = 42;
							if(idx==9)idx_sitem = 43;
							if(idx==10)idx_sitem = 43;//スカート破損2/シャツ破損1/スカート無し代用
							if(idx==13)idx_sitem = 44;//スカート破損2/シャツ破損2/スカート無し代用
							if(idx==14)idx_sitem = 44;//スカート無し/シャツ破損2
						}
						break;						
					case 4://睡眠姦/売春
						//宿/ブラ脱がし
						if(!myRpg.RestNojukuFlg){
							if(idx<=15)idx_sitem = 52;
							if(idx==16)idx_sitem = 52;
							if(idx==17)idx_sitem = 12;
							if(idx==19)idx_sitem = 15;
							if(idx==27)idx_sitem = 18;
						}
						//野宿/上着脱がし
						else{
							if(idx==1)idx_sitem = 33;
							if(idx==2)idx_sitem = 33;
							if(idx==3)idx_sitem = 33;
							if(idx==9)idx_sitem = 33;
							if(idx==10)idx_sitem = 33;//スカート破損2/シャツ破損1
							if(idx==13)idx_sitem = 33;//スカート破損2/シャツ破損2
							if(idx==14)idx_sitem = 33;//スカート無し/シャツ破損2
						}
						break;
					case 5://睡眠姦/売春
						//宿/ブラ脱がし/胸もみ
						if(!myRpg.RestNojukuFlg){
							if(idx<=15)idx_sitem = 12;
							if(idx==16)idx_sitem = 12;
							if(idx==17)idx_sitem = 12;
							if(idx==19)idx_sitem = 15;
							if(idx==27)idx_sitem = 18;
						}
						//野宿/ブラ外し
						else{
							if(idx==1)idx_sitem = 35;
							if(idx==2)idx_sitem = 35;
							if(idx==3)idx_sitem = 35;
							if(idx==9)idx_sitem = 35;
							if(idx==10)idx_sitem = 35;//スカート破損2/シャツ破損1
							if(idx==13)idx_sitem = 35;//スカート破損2/シャツ破損2
							if(idx==14)idx_sitem = 35;//スカート無し/シャツ破損2
							if(idx==15)idx_sitem = 35;//下着
							if(idx==16)idx_sitem = 35;//ブラ破損
						}
						break;
					case 6://睡眠姦/売春
						//宿/裸/パンツ脱がし
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 53;
						}
						//野宿/パンツ脱がし/裸
						else{
							idx_sitem = 37;
						}
						break;							
					case 7://睡眠姦/売春
						//宿/裸/足上げ
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 54;
						}
						//野宿/胸もみ1A
						else{
							idx_sitem = 65;
						}
						break;
					case 8://睡眠姦/売春
						//宿/裸/足上げ/チンコ１
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 55;
						}
						//野宿/胸もみ2A
						else{
							idx_sitem = 66;
						}
						break;						
					case 9://睡眠姦/売春
						//宿/裸/足上げ/チンコ１
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 56;
						}
						//野宿/胸もみ2A
						else{
							idx_sitem = 67;
						}
						break;
					case 10://睡眠姦/売春
						//宿/裸/足上げ/チンコ2
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 57;
						}
						//野宿/胸もみ1B
						else{
							idx_sitem = 68;
						}
						break;
					case 11://睡眠姦/売春
						//宿/裸/足上げ/チンコ3A/処女喪失
						if(!myRpg.RestNojukuFlg){
							if(myRpg.Charctor.VIRGIN)idx_sitem = 58;
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 62;
						}
						//野宿/胸もみ2B
						else{
							idx_sitem = 69;
						}
						break;
					case 12://睡眠姦/売春
						//宿/裸/足上げ/チンコ4A/フェニッシュ
						if(!myRpg.RestNojukuFlg){
							if(myRpg.Charctor.VIRGIN)idx_sitem = 59;
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 57;
						}
						//野宿
						else{
							idx_sitem = 70;
						}
						break;
					case 13://睡眠姦/売春
						//宿/裸/足上げ/事後
						if(!myRpg.RestNojukuFlg){
							if(myRpg.Charctor.VIRGIN)idx_sitem = 60;
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 63;
						}
						//野宿
						else{
							idx_sitem = 71;
						}
						break;
					case 14://睡眠姦/売春
						//宿/裸/足上げ/チンコ3B
						if(!myRpg.RestNojukuFlg){
							if(myRpg.Charctor.VIRGIN)idx_sitem = 61;
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 64;
						}
						//野宿
						else{
							//処女
							if(myRpg.Charctor.VIRGIN)idx_sitem = 72;
							//非処女
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 73;
						}
						break;
					case 15://睡眠姦/売春
						//宿/裸/足上げ/チンコ3B
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 57;
						}
						//野宿
						else{
							//処女
							if(myRpg.Charctor.VIRGIN)idx_sitem = 74;
							//非処女
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 71;
						}
						break;
					case 16://睡眠姦/売春
						//宿/裸/足上げ/チンコ3B
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 57;
						}
						//野宿
						else{
							//処女
							if(myRpg.Charctor.VIRGIN)idx_sitem = 75;
							//非処女
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 76;
						}
						break;
					case 17://睡眠姦/売春
						//宿/裸/足上げ/チンコ3B
						if(!myRpg.RestNojukuFlg){
							idx_sitem = 57;
						}
						//野宿
						else{
							//処女
							if(myRpg.Charctor.VIRGIN)idx_sitem = 77;
							//非処女
							if(!myRpg.Charctor.VIRGIN)idx_sitem = 78;
						}
						break;
					}					
					return idx_sitem;
				}
			}
			var RestMenu = _self.Elm(myRpg.RestMenu,_self.TypeID);
			if((RestMenu == undefined)||(RestMenu == null)){
				//メニュー枠生成
				var parent = _self.Elm(parent_name,_self.TypeID);
				var baishun = myRpg.RestBaishunFlg;
				myBT.setCommonBox(parent,myRpg.RestMenu,"10px");
				_self.Elm(myRpg.RestMenu,_self.TypeID).style.width = "200px";
				_self.Elm(myRpg.RestMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
				_self.AddCommand(myRpg.RestMenu,"rest1","寝る（翌日"+(baishun?"/エッチ":"")+"）");
				_self.AddCommand(myRpg.RestMenu,"rest2","休暇（時間経過）");
				_self.AddCommand(myRpg.RestMenu,"restEnd","戻る");
				//寝る
				var sleepFunc = function(){
					myRpg.SleepFlg = true;
					_self.HiddenBox(myBT.IDDayTime);
					_self.HiddenBox(myRpg.RestMenu);
					//自宅ならネグリジェ
					var func = myProc.GetmoveDataFunc();
					var data = func(myProc.moveIndex,true);
					var idx_sitem = myRpg.SleepScene();
					myRpg.WearBreak2();						
					myImg.SetImgPos("sitem",[-280,80]);	
					myST.CheageImage("sitem",idx_sitem);
					if(!myRpg.RestNojukuFlg){
						myBT.showMessage("サーシャ<br>「ぐっすり寝れるかな」");
					}
					else if(myRpg.RestNojukuFlg){
						myBT.showMessage("サーシャ<br>「男の人に襲われなければいいんだけど...」");
					}
					//宿屋回復
					if(!myRpg.RestNojukuFlg)myRpg.Charctor.HP = myRpg.Charctor.MAXHP;
					if(!myRpg.RestNojukuFlg)myRpg.Charctor.MP = myRpg.Charctor.MAXMP;
					//野宿回復
					if(myRpg.RestNojukuFlg)myRpg.Charctor.HP = myRpg.Charctor.MAXHP;
					if(myRpg.RestNojukuFlg){
						if(myRpg.Charctor.MP<parseInt(myRpg.Charctor.MAXMP*0.8)){
							myRpg.Charctor.MP = parseInt(myRpg.Charctor.MAXMP*0.8);
						}
					}
					myProc.Day++;
					myRpg.Charctor.TREASURE = false;
					myImg.backCorrect = 0;
					myProc.music(-2,myST.BGM_ALLOFF);
					myProc.SESound(8,myST.BGM_ON);
					var bckClassName = _self.Elm("anmaku",_self.TypeID).className;
					_self.Elm("anmaku",_self.TypeID).className = "Sleep_change1";
					_self.ViewBox("anmaku");
					myImg.AllImageView(true,false,false);
					_self.setTimer(function(){
						_self.HiddenBox("anmaku");
						_self.Elm("anmaku",_self.TypeID).className = bckClassName;						
						myST.CheageImage("sitem",0);
						myRpg.WearBreak2(myRpg.Charctor);
						if(!myRpg.RestNojukuFlg){
							myBT.showMessage("サーシャ<br>「うん！良く寝られた！」");
						}
						if(myRpg.RestNojukuFlg)myBT.showMessage("サーシャ<br>「疲れが取り切れないな...」");
						document.onmousedown = function(){
							myBT.showMessage("HP、MPが回復しました！"+(myRpg.RestNojukuFlg?"<br>※MPは8割まで回復。":""));
							document.onmousedown = function(){
								myBT.chgDayTime();
								//myBT.showMessage("");
								_self.ViewBox(myBT.IDDayTime);								
								myRpg.WearBreak(myRpg.Charctor);
								myProc.moveBefore(myProc.moveIndex);
								document.onmousedown = null;
								if(!myRpg.RestNojukuFlg)myRpg.RestFunction(2);
								//マップ宝箱配置クリア
								for(var loop=0;loop<gl_Const_Points.length;loop++){
									myMap.MapData["TreasurePoints"+loop] = null;
								}
								myST.Hensainflg　= true;
								var exc = myBE.serchExecuteEvent();
								myBE.excuteEvent(exc);
								myRpg.SleepFlg = false;
								/*document.onmousedown = function(){
									document.onmousedown = null;

								}*/
							}
						}
					},7000);
				}
				var sleepFuncExe = function(){
					myBT.setMessage(myST.HEventData[0]);
				}
				myRpg.RestNojukuRaipuFlg = (myRpg.Charctor.RUMOR>=20?true:false);
				if((!myRpg.RestBaishunFlg)&&(myRpg.RestNojukuRaipuFlg)&&(myRpg.RestNojukuFlg)){
					sleepFuncExe = function(){
						myBT.setMessage(myST.HEventData[1]);
					}
				}
				if((!myRpg.RestBaishunFlg)&&((!myRpg.RestNojukuRaipuFlg)||(!myRpg.RestNojukuFlg))){
					sleepFuncExe = sleepFunc;
				}
				myST.sleepFunc = sleepFunc;
				myBT.setCommandProcessing("rest1",sleepFuncExe);
				myBT.setCommandProcessing("rest2",function(){
					if(myImg.backCorrect<myImg.back_sinya){
						_self.HiddenBox(myBT.IDDayTime);
						myBT.showMessage("サーシャ<br>「少し休憩してから行きましょ」");
						myRpg.Charctor.HP = myRpg.Charctor.HP + myRpg.Charctor.MAXHP*0.25;
						myRpg.Charctor.MP = myRpg.Charctor.MP + myRpg.Charctor.MAXMP*0.25;
						if(myRpg.Charctor.HP>=myRpg.Charctor.MAXHP)myRpg.Charctor.HP = myRpg.Charctor.MAXHP;
						if(myRpg.Charctor.MP>=myRpg.Charctor.MAXMP)myRpg.Charctor.MP = myRpg.Charctor.MAXMP;
						myRpg.Charctor.HP = parseInt(myRpg.Charctor.HP);
						myRpg.Charctor.MP = parseInt(myRpg.Charctor.MP);
						myImg.backCorrect++;
						_self.ViewBox("anmaku");
						myImg.AllImageView(true,false,false);
						_self.setTimer(function(){
							_self.HiddenBox("anmaku");				
							myBT.showMessage("サーシャ<br>「ふうっ。少しは疲れとれたかな」");
							document.onmousedown = function(){
								myBT.showMessage("HP、MPが回復しました！");
								document.onmousedown = function(){
									document.onmousedown = null;
									myBT.chgDayTime();
									myBT.showMessage("");
									_self.ViewBox(myBT.IDDayTime);
									_self.HiddenBox(myRpg.RestMenu);
									myBT.MenuView();
									myRpg.SleepFlg = false;
								}
							}
						},1000);
					}else{
						myBT.showMessage("サーシャ<br>「ちゃんと寝ないとダメだよね」");
					}
				});
				myBT.setCommandProcessing("restEnd",function(){
					_self.HiddenBox(myRpg.RestMenu);
					myRpg.SleepFlg = false;
				});
			}else{
				//売春判定＆設定
				var baishun = myRpg.RestBaishunFlg;
				_self.Elm("rest1",_self.TypeID).innerText="寝る（翌日"+(baishun?"/エッチ":"")+"）";
				var sleepFuncExe = function(){
					myBT.setMessage(myST.HEventData[0]);
					return;
				}
				myRpg.RestNojukuRaipuFlg = (myRpg.Charctor.RUMOR>=20?true:false);
				if((!myRpg.RestBaishunFlg)&&(myRpg.RestNojukuRaipuFlg)&&(myRpg.RestNojukuRaipuFlg)){
					sleepFuncExe = function(){
						myBT.setMessage(myST.HEventData[1]);
						return;
					}
				}
				if((!myRpg.RestBaishunFlg)&&((!myRpg.RestNojukuRaipuFlg)||(!myRpg.RestNojukuRaipuFlg))){
					sleepFuncExe = myST.sleepFunc;
				}				
				myBT.setCommandProcessing("rest1",sleepFuncExe);				
				_self.ViewBox(myRpg.RestMenu);
			}
		});
	}
	
	//アイテム機能
	ItemFunction(parent_name="operation"){
		myRpg.itmeMenu = "itmeMenu";
		myRpg.ItemUseIndex = -1;	
		//使う
		myBT.setCommandProcessing(myBT.CommandItem,function(){
			//アイテムチェック
			if((myRpg.Charctor.Item==undefined)||(myRpg.Charctor.Item.length<=0)){
				myBT.showMessage("道具を持っていません。");
				return;
			}
			//通常メニュー非表示
			myBT.MenuHidden();
			var MenuItemMax = 5;
			var MenuPage = 0;			//初回メニュー生成
			var itmeMenu = _self.Elm(myRpg.itmeMenu,_self.TypeID);
			//メニュー枠生成
			var parent = _self.Elm(parent_name,_self.TypeID);
			var x_pos = "10px";
			var y_pos = "0px";
			if(myRpg.BattleFlg){
				x_pos = "100px";
				y_pos = "130px";
			}
			if((itmeMenu===undefined)||(itmeMenu==null))myBT.setCommonBox(parent,myRpg.itmeMenu,x_pos,y_pos);
			_self.ViewBox(myRpg.itmeMenu);	
			_self.Elm(myRpg.itmeMenu,_self.TypeID).innerHTML = "";
			_self.Elm(myRpg.itmeMenu,_self.TypeID).style.width = "250px";
			_self.Elm(myRpg.itmeMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
			var Items = myRpg.Charctor.Item;
			for(var loop=0;loop<Items.length;loop++){
				var id = "item_use_"+loop;
				_self.AddCommand(myRpg.itmeMenu,id,Items[loop].Name);
				if(loop>(MenuItemMax-1))_self.HiddenBox(id);
			}
			//ページ操作、購入、メニュー終了ボタンの生成
			_self.Elm(myRpg.itmeMenu,_self.TypeID).innerHTML += "<center><span id='itemMenuNext'>次へ</span><span id='itemMenuBack'>　前へ</span></center>";
			_self.Elm(myRpg.itmeMenu,_self.TypeID).innerHTML += "<br><center><span id='itemUse' style='line-height:2em;'>使う</span></center>";
			_self.Elm(myRpg.itmeMenu,_self.TypeID).innerHTML += "<center><span id='itemMenuEnd'>やめる</span></center>";
			//次のページ処理
			myBT.setCommandProcessing("itemMenuNext",function(){
				MenuPage++;
				var index = MenuItemMax*MenuPage;
				var backIndex = MenuItemMax*(MenuPage-1);
				if((index+MenuItemMax)>=Items.length)_self.HiddenBox("itemMenuNext");
				if(MenuPage>=1)_self.ViewBox("itemMenuBack");
				for(var loop=backIndex;loop<index;loop++){
					if(_self.Elm("item_use_"+loop,_self.TypeID)==undefined)continue;
					_self.HiddenBox("item_use_"+loop);
				}
				for(var loop=index;loop<(index+MenuItemMax);loop++){
					if(_self.Elm("item_use_"+loop,_self.TypeID)==undefined)continue;
					_self.ViewBox("item_use_"+loop);
				}					
			});
			//前のページ処理
			myBT.setCommandProcessing("itemMenuBack",function(){
				MenuPage--;
				var index = MenuItemMax*MenuPage;
				var backIndex = MenuItemMax*(MenuPage+2);
				if((index+MenuItemMax)<=Items.length)_self.ViewBox("itemMenuNext");
				if(backIndex>=Items.length)backIndex=Items.length-1;
				if(MenuPage<=0)_self.HiddenBox("itemMenuBack");
				for(var loop=backIndex;loop>index;loop--){
					if(_self.Elm("item_use_"+loop,_self.TypeID)==undefined)continue;
					_self.HiddenBox("item_use_"+loop);
				}
				for(var loop=index;loop<(index+MenuItemMax);loop++){
					if(_self.Elm("item_use_"+loop,_self.TypeID)==undefined)continue;
					_self.ViewBox("item_use_"+loop);
				}
			});
			//使う
			myBT.setCommandProcessing("itemUse",function(){
				if(myRpg.ItemUseIndex==-1){
					myBT.showMessage("アイテムを選んでください。");
					return;
				}				
				var parent = _self.Elm(parent_name,_self.TypeID);
				var startPos = String("item_use_").length;
				var length = this.id.length;
				var index = myRpg.ItemUseIndex;
				var Msg = myRpg.Charctor.Item[index].Name+"を使いますか？<br>";
				if(myRpg.BattleFlg)_self.HiddenBox("menu1");
				Msg += myRpg.Charctor.Item[index].Msg+"<br>";
				Msg += "所持数："+myRpg.Charctor.Item[index].count;
				myBT.yesNoBox(parent,Msg,
					function(){
						var useFlg = false;
						//回復
						if(myRpg.Charctor.Item[index].Type==0){
							var Msg = myRpg.Charctor.Item[index].Name+"使いました。<br>";
							Msg += "HPが"+myRpg.Charctor.Item[index].Value+"回復しました。";
							myRpg.Charctor.HP += myRpg.Charctor.Item[index].Value;
							if(myRpg.Charctor.HP>=myRpg.Charctor.MAXHP)myRpg.Charctor.HP=myRpg.Charctor.MAXHP;
							myBT.showMessage(Msg);
							myRpg.Charctor.Item[index].count--;
							if(myRpg.Charctor.Item[index].count==0)myRpg.Charctor.Item.slice(index,1);
							useFlg = true;							
						}
						//MP回復
						if(myRpg.Charctor.Item[index].Type==3){
							var Msg = myRpg.Charctor.Item[index].Name+"使いました。<br>";
							Msg += "MPが"+myRpg.Charctor.Item[index].Value+"回復しました。";
							myRpg.Charctor.MP += myRpg.Charctor.Item[index].Value;
							if(myRpg.Charctor.MP>=myRpg.Charctor.MAXMP)myRpg.Charctor.MP=myRpg.Charctor.MAXMP;
							myBT.showMessage(Msg);
							myRpg.Charctor.Item[index].count--;
							if(myRpg.Charctor.Item[index].count==0)myRpg.Charctor.Item.slice(index,1);
							useFlg = true;							
						}
						if(!myRpg.BattleFlg){
							//服破損修復
							if(myRpg.Charctor.Item[index].Type==4){
								if(myRpg.Charctor.Item[index].Limit<=myRpg.Charctor.WP){
									var Msg = myRpg.Charctor.Item[index].Name+"使いました。<br>";
									Msg += "破損状態を"+(myRpg.Charctor.Item[index].Value/myRpg.Charctor.MAXWP)*100+"%修復させました。";
									myRpg.Charctor.WP += myRpg.Charctor.Item[index].Value;
									if(myRpg.Charctor.WP>=myRpg.Charctor.MAXWP){
										myRpg.Charctor.WP=myRpg.Charctor.MAXWP;
									}
									myRpg.ShokushuBreak = false;
									myBT.showMessage(Msg);
									myRpg.Charctor.Item[index].count--;
									myRpg.WearBreak(myRpg.Charctor);
									//画像描画
									_self.setTimer(function(){
										myImg.AllImageView(true,true,false);
									},100);									
									useFlg = true;							
								}else{
									var Msg = "この破損状態では使用できません。<br>";
									myRpg.Charctor.Item[index].WP += myRpg.Charctor.Item[index].Value;
									myBT.showMessage(Msg);
								}
							}
							//特殊アイテム
							if(myRpg.Charctor.Item[index].Type==5){
								if(myRpg.Charctor.Item[index].Use){
									var ItemUseFlg = true;
									if((myRpg.Charctor.Item[index].Name=="緊急ゲート")&&(!myMap.MapViewFlg)){
										myBT.showMessage("遺跡の中でしか使えません。");
										ItemUseFlg = false;
									}
									for(var loop in myRpg.Items){
										if((!isNaN(loop))&&ItemUseFlg){
											if(myRpg.Items[loop].ItemId == myRpg.Charctor.Item[index].ItemId){
												var Msg = myRpg.Charctor.Item[index].Name+"使いました。<br>";
												myRpg.Items[loop].Func();
												myBT.showMessage(Msg);
												myRpg.Charctor.Item[index].count--;
												useFlg = true;	
											}
										}
									}
								}
							}
						}else{
							myBT.showMessage("戦闘中は使えません");
						}
						//メニュー出す
						if(myRpg.BattleFlg)_self.ViewBox("menu1");						
						//使用した場合
						if(useFlg){
							//アイテムを使い切ったなら
							if(myRpg.Charctor.Item[index].count<=0){
								//並び替えを行う
								//var delData = myRpg.Charctor.Item[index];
								for(var loop = index;loop<myRpg.Charctor.Item.length;loop++){
									myRpg.Charctor.Item[loop] = myRpg.Charctor.Item[parseInt(loop)+1];
								}
								//配列から消す
								myRpg.Charctor.Item.pop();
								_self.Elm(myBT.CommandItem,_self.TypeID).onmousedown();
								return;
							}							
						}
						_self.ViewBox(myRpg.itmeMenu);
						_self.HiddenBox(myRpg.itmeMenu);
					},
					function(){
						_self.ViewBox(myRpg.itmeMenu);
						if(myRpg.BattleFlg)_self.ViewBox("menu1");						
					},
				);
				if(myRpg.BattleFlg)myRpg.ShowParam();
				_self.HiddenBox(myRpg.itmeMenu);				
			});			
			//店舗メニュー終了
			myBT.setCommandProcessing("itemMenuEnd",function(){
				if(!myRpg.BattleFlg)myBT.MenuView();
				_self.HiddenBox(myRpg.itmeMenu);				
			});
			//アイテムイベント設定			
			for(var loop=0;loop<Items.length;loop++){
				var id = "item_use_"+loop;
				myBT.setCommandProcessing(id,function(){
					var startPos = String("item_use_").length;
					var length = this.id.length;
					var index = this.id.substr(startPos,length-startPos);
					var tmpMsg = Items[index].Msg;
					var Msg = "商品名："+Items[index].Name+"<br>";
					Msg += "所持数："+Items[index].count+"<br>";
					Msg += (typeof tmpMsg === "function")?tmpMsg(Items[index].Limit):tmpMsg;
					myBT.showMessage(Msg);
					myRpg.ItemUseIndex = index;
				});
			}
			if(Items.length<=MenuItemMax)_self.HiddenBox("itemMenuNext");	
			if(MenuPage>=1)_self.ViewBox("itemMenuBack");		
			if(MenuPage==0)_self.HiddenBox("itemMenuBack");					
		});
		//アイテム検索
		myRpg.ItemFind = function(Name,mode="find"){
			var ItemData = myRpg.Charctor.Item;
			var flg = false;
			for(var loop in ItemData){
				if(ItemData[loop].Name == Name){
					if(ItemData[loop].count==undefined)ItemData[loop].count = 0;
					if(mode=="buy")ItemData[loop].count++;
					flg = true;
				}
			}
			return flg;
		}
	}
		
	//店舗機能
	StoreFunction(parent_name="operation"){
		myRpg.StoreMenu = "storeMenu";
		myRpg.ItemBuyIndex = -1;
		myRpg.ItemBuyList = [];
		//買う
		myBT.setCommandProcessing(myBT.CommandStore,function(){
			//買い物中タッチOFF
			myST.TouchDataFlg = false;
			//通常メニュー非表示
			myBT.MenuHidden();
			var MenuItemMax = 5;
			var MenuPage = 0;			//初回メニュー生成
			var StoreMenu = _self.Elm(myRpg.StoreMenu,_self.TypeID);
			//メニュー枠生成
			var parent = _self.Elm(parent_name,_self.TypeID);
			myBT.setCommonBox(parent,myRpg.StoreMenu,"10px");
			_self.Elm(myRpg.StoreMenu,_self.TypeID).innerHTML = "";
			_self.Elm(myRpg.StoreMenu,_self.TypeID).style.width = "250px";
			_self.Elm(myRpg.StoreMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
			//街
			if((myProc.moveIndex==1)){
				myBT.showMessage("露店主<br>「いらっしゃい。一応、大体の物は揃ってるよ」");
			}
			//アイテム追加
			var ItemCount = 0;
			for(var loop=0;loop<myRpg.Items.length;loop++){
				var id = "item_"+myRpg.Items[loop].ItemId;
				if(myRpg.ItemBuyList.indexOf(myRpg.Items[loop].ItemId)==-1)continue;
				_self.AddCommand(myRpg.StoreMenu,id,myRpg.Items[loop].Name);
				ItemCount++;
				if(ItemCount>=(MenuItemMax+1))_self.HiddenBox(id);
			}
			//ページ操作、購入、メニュー終了ボタンの生成
			_self.Elm(myRpg.StoreMenu,_self.TypeID).innerHTML += "<center><span id='itemNext'>次へ</span><span id='itemBack'>　前へ</span></center>";
			_self.Elm(myRpg.StoreMenu,_self.TypeID).innerHTML += "<br><center><span id='itemBuy' style='line-height:2em;'>購入する</span></center>";
			_self.Elm(myRpg.StoreMenu,_self.TypeID).innerHTML += "<center><span id='itemEnd'>やめる</span></center>";
			//次のページ処理
			myBT.setCommandProcessing("itemNext",function(){
				MenuPage++;
				var index = MenuItemMax*MenuPage;
				var backIndex = MenuItemMax*(MenuPage-1);
				if((index+MenuItemMax)>=myRpg.ItemBuyList.length)_self.HiddenBox("itemNext");
				if(MenuPage>=1)_self.ViewBox("itemBack");
				for(var loop=backIndex;loop<index;loop++){
					if(_self.Elm("item_"+myRpg.ItemBuyList[loop],_self.TypeID)==undefined)continue;
					_self.HiddenBox("item_"+myRpg.ItemBuyList[loop]);
				}
				for(var loop=index;loop<(index+MenuItemMax);loop++){
					if(_self.Elm("item_"+myRpg.ItemBuyList[loop],_self.TypeID)==undefined)continue;
					_self.ViewBox("item_"+myRpg.ItemBuyList[loop]);
				}					
			});
			//前のページ処理
			myBT.setCommandProcessing("itemBack",function(){
				MenuPage--;
				var index = MenuItemMax*MenuPage;
				var backIndex = MenuItemMax*(MenuPage+2);
				if((index+MenuItemMax)<=myRpg.ItemBuyList.length)_self.ViewBox("itemNext");
				if(backIndex>=myRpg.Items.length)backIndex=myRpg.Items.length-1;
				if(MenuPage<=0)_self.HiddenBox("itemBack");
				for(var loop=backIndex;loop>index;loop--){
					if(_self.Elm("item_"+myRpg.ItemBuyList[loop],_self.TypeID)==undefined)continue;
					_self.HiddenBox("item_"+myRpg.ItemBuyList[loop]);
				}
				for(var loop=index;loop<(index+MenuItemMax);loop++){
					if(_self.Elm("item_"+myRpg.ItemBuyList[loop],_self.TypeID)==undefined)continue;
					_self.ViewBox("item_"+myRpg.ItemBuyList[loop]);
				}
			});
			//購入処理
			myBT.setCommandProcessing("itemBuy",function(){
				if(myRpg.ItemBuyIndex==-1){
					myBT.showMessage("商品を選んでください。");
					return;
				}
				var parent = _self.Elm(parent_name,_self.TypeID);
				var startPos = String("item_").length;
				var length = this.id.length;
				var index = myRpg.ItemBuyIndex;
				var Msg = myRpg.Items[index].Name+"を購入しますか？<br>";
				Msg += "価格："+myRpg.Items[index].GOLD+"<br>";
				Msg += "所持金："+myRpg.Charctor.GOLD;
				myBT.yesNoBox(parent,Msg,
					function(){
						if(myRpg.Charctor.GOLD>=myRpg.Items[index].GOLD){
							myBT.showMessage(myRpg.Items[index].Name+"を購入しました。");
							if(!myRpg.ItemFind(myRpg.Items[index].Name,"buy")){
								var Item = [];
								if(myRpg.Charctor.Item==undefined)myRpg.Charctor.Item = Item;
								var index2 = myRpg.Charctor.Item.length;
								myRpg.Charctor.Item[index2] = JSON.parse(JSON.stringify(myRpg.Items[index]));
								myRpg.Charctor.Item[index2].count = 1;
							}
							//---メッセージを設定するアイテムを検索---
							var ItemData = myRpg.Items[index];
							var SetIndex = 0;
							for(var idx in myRpg.Charctor.Item){
								if(myRpg.Charctor.Item[idx].ItemId == ItemData.ItemId){
									SetIndex = idx;
								}
							}
							if(ItemData.Type==4)myRpg.Charctor.Item[SetIndex].Msg = ItemData.Msg(ItemData.Limit);
							//---メッセージを設定するアイテムを検索---
							myRpg.Charctor.GOLD = myRpg.Charctor.GOLD - myRpg.Items[index].GOLD;
							_self.ViewBox(myRpg.StoreMenu);
						}else{
							myBT.showMessage("お金がありません……。");
						}
					},
					function(){
						_self.ViewBox(myRpg.StoreMenu);
					},
				);
				_self.HiddenBox(myRpg.StoreMenu);
			});
			//店舗メニュー終了
			myBT.setCommandProcessing("itemEnd",function(){
				_self.HiddenBox(myRpg.StoreMenu);					
				myBT.MenuView();
				_self.setTimer(function(){
					//買い物終了・タッチON
					myST.TouchDataFlg = true;
				},200);
			});				
			_self.ViewBox(myRpg.StoreMenu);
			//アイテムイベント設定
			for(var loop=0;loop<myRpg.ItemBuyList.length;loop++){
				var id = "item_"+myRpg.Items[myRpg.ItemBuyList[loop]].ItemId;
				myBT.setCommandProcessing(id,function(){
					var startPos = String("item_").length;
					var length = this.id.length;
					var index = this.id.substr(startPos,length-startPos);
					var tmpMsg = myRpg.Items[index].Msg;
					var Msg = "商品名："+myRpg.Items[index].Name+"<br>";
					Msg += "価格："+myRpg.Items[index].GOLD+"<br>";
					Msg += (typeof tmpMsg === "function")?tmpMsg(myRpg.Items[index].Limit):tmpMsg;
					myBT.showMessage(Msg);
					myRpg.ItemBuyIndex = index;
				});
			}
			if(ItemCount<=MenuItemMax)_self.HiddenBox("itemNext");
			if(MenuPage>=1)_self.ViewBox("itemBack");		
			if(MenuPage==0)_self.HiddenBox("itemBack");		
		});
	}
	
	//ギルド機能
	GuildFunction(parent_name="operation"){
		myRpg.GuildMenu = "guildMenu";
		//依頼種類
		var MatterData = [
			{
				No:1,
				Subject:"大コウモリの羽20枚納品",
				Msg:"薬士より依頼。薬品開発のために大コウモリの羽を20枚納品してほしい。<br>大コウモリ10匹討伐で達成。",
				Value:[0,10],
				GOLD:500,
				Status:0
			},
			{
				No:2,
				Subject:"グワッパのくちばし5個納品",
				Msg:"薬士より依頼。薬品開発のためにグワップのくちばしを５個納品してほしい。<br>グワッパ5匹討伐で達成。",
				Value:[0,5],
				GOLD:500,
				Status:0
			},
			{
				No:3,
				Subject:"グワッパの羽10匹分納品",
				Msg:"衣料品点より依頼。衣服製作のためにグワップの羽を10匹分納品してほしい。<br>グワッパ10匹討伐で達成。",
				Value:[0,10],
				GOLD:1000,
				Status:0
			},
			{
				No:4,
				Subject:"ゾンビの体液10体分納品",
				Msg:"呪い師より依頼。儀式のためゾンビの体液を10体分納品してほしい。<br>ゾンビ10体討伐で達成。",
				Value:[0,10],
				GOLD:1500,
				Status:0
			},	
			{
				No:5,
				Subject:"酒場の給仕",
				Msg:"酒場より依頼。忙しい時間帯に手伝ってくれる方募集。夕方に酒場に来てください。<br>請負後、酒場のマスターに話しかける。",
				Value:[0,1],
				GOLD:100,
				Status:0,
			},	
			{
				No:6,
				Subject:"酒場のエッチな給仕",
				Msg:"酒場より依頼。夜営業で少しエッチな服装で手伝ってくれる方募集。夜に酒場に来てください。<br>請負後、酒場のマスターに話しかける。",
				Value:[0,1],
				GOLD:300,
				Status:0
			}
		];
		
		//既存データチェック
		if((myRpg.MatterData == undefined)||(myRpg.MatterData == null)){
			myRpg.MatterData = MatterData;
		}else{
			for(var loop=0;loop<MatterData.length;loop++){
				var flg = true;
				for(var loop2=0;loop<myRpg.MatterData.length;loop2++){
					var data = MatterData[loop]
					var data2 = myRpg.MatterData[loop2]
					if(data.No==data2.No){
						flg = false;
						break;
					}
				}
				if(flg){
					myRpg.MatterData[myRpg.MatterData.length] = MatterData[loop];
				}
			}				
		}		
		
		//メニュー枠生成
		var parent = _self.Elm(parent_name,_self.TypeID);
		var GuildMenu = _self.Elm(myRpg.GuildMenu,_self.TypeID);
		if((GuildMenu == undefined)||(GuildMenu == null)){
			//選択
			myRpg.GuildMenuSelect = -1;
			//メニュー枠生成
			var parent = _self.Elm(parent_name,_self.TypeID);
			myBT.setCommonBox(parent,myRpg.GuildMenu,"10px");
			_self.Elm(myRpg.GuildMenu,_self.TypeID).style.width = "250px";
			_self.Elm(myRpg.GuildMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
			_self.AddCommand(myRpg.GuildMenu,"Undertake","依頼を請負う");
			_self.AddCommand(myRpg.GuildMenu,"report","報告する");
			_self.AddCommand(myRpg.GuildMenu,"guildEnd","終了する");
			
			//メニュー非表示
			myRpg.GuildMenuSelectHidden = function(){
				for(var loop=0;loop<myRpg.MatterData.length;loop++){
					var data = myRpg.MatterData[loop];
					_self.HiddenBox("MatterData_"+data.No);
				}
			}
			//メニュー表示
			myRpg.GuildMenuSelectView = function(){
				for(var loop=0;loop<myRpg.MatterData.length;loop++){
					var data = myRpg.MatterData[loop];
					_self.ViewBox("MatterData_"+data.No);
				}
			}
			
			//依頼達成チェック
			myRpg.CheckGuildData = function(Name){
				var Msg = "";
				//大コウモリ
				if(Name == "大コウモリ"){
					if(myRpg.MatterData[0].Status!=0){
						myRpg.MatterData[0].Value[0]++;
						if(myRpg.MatterData[0].Value[0]>=myRpg.MatterData[0].Value[1]){
							Msg = myRpg.MatterData[0].Subject+"を達成しました。";
							myBT.showMessage(Msg);
							myRpg.MatterData[0].Status = 2;
						}
					}
				}
				//グワッパ
				if(Name == "グッバワ"){
					if(myRpg.MatterData[1].Status!=0){
						myRpg.MatterData[1].Value[0]++;
						if(myRpg.MatterData[1].Value[0]>=myRpg.MatterData[1].Value[1]){
							Msg = myRpg.MatterData[1].Subject+"を達成しました。";
							myBT.showMessage(Msg);
							myRpg.MatterData[1].Status = 2;
						}
					}
					if(myRpg.MatterData[2].Status!=0){
						myRpg.MatterData[2].Value[0]++;
						if(myRpg.MatterData[2].Value[0]>=myRpg.MatterData[2].Value[1]){
							Msg = myRpg.MatterData[2].Subject+"を達成しました。";
							myBT.showMessage(Msg);
							myRpg.MatterData[2].Status = 2;
						}
					}
				}
				//ゾンビ
				if(Name == "ゾンビ"){
					if(myRpg.MatterData[3].Status!=0){					
						myRpg.MatterData[3].Value[0]++;
						if(myRpg.MatterData[3].Value[0]>=myRpg.MatterData[3].Value[1]){
							Msg = myRpg.MatterData[3].Subject+"を達成しました。";
							myBT.showMessage(Msg);
							myRpg.MatterData[3].Status = 2;
						}
					}
				}
				//酒場
				if(Name == "酒場"){
					var idxArray = [4,5];
					for(var loop=0;loop<idxArray.length;loop++){
						var idx = idxArray[loop];
						if(idx==4&&(myImg.backCorrect!=1))continue;
						if(idx==5&&(myImg.backCorrect!=2))continue;
						if(myRpg.MatterData[idx].Status!=0){
							myRpg.MatterData[idx].Value[0]++;
							if(myRpg.MatterData[idx].Value[0]>=myRpg.MatterData[idx].Value[1]){
								Msg = myRpg.MatterData[idx].Subject+"を達成しました。";
								myBT.showMessage(Msg);
								myRpg.MatterData[idx].Status = 2;
								myRpg.MatterData[idx].count+=1;
							}
						}
					}
				}
				
				return Msg;
			}
			
			//共通処理
			myBT.GuildSelect = function(){
				_self.HiddenBox(myRpg.GuildMenu);
				myRpg.guildUndertakeMenu = "guildUndertakeMenu";
				var guildUndertakeMenu = _self.Elm(myRpg.guildUndertakeMenu,_self.TypeID);
				if((guildUndertakeMenu == undefined)||(guildUndertakeMenu == null)){
					//メニュー枠生成
					var parent = _self.Elm(parent_name,_self.TypeID);
					myBT.setCommonBox(parent,myRpg.guildUndertakeMenu,"10px");
					_self.Elm(myRpg.guildUndertakeMenu,_self.TypeID).style.width = "200px";
					_self.Elm(myRpg.guildUndertakeMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
					for(var loop=0;loop<myRpg.MatterData.length;loop++){
						var data = myRpg.MatterData[loop];
						_self.AddCommand(myRpg.guildUndertakeMenu,"MatterData_"+data.No,data.Subject);
						data.selctFunc = function(){
							var dataSplit = this.id.split("_");
							var data = myRpg.MatterData[parseInt(dataSplit[1])-1];
							var msgArray = ["未請負","請負中","達成"];
							myBT.showMessage(data.Msg+"<br>現在の状況:"+data.Value[0]+"/"+data.Value[1]+",報酬:"+data.GOLD+"G<br>請負状態:"+msgArray[data.Status]);
							myRpg.GuildMenuSelect = parseInt(data.No)-1;
						}
						myBT.setCommandProcessing("MatterData_"+data.No,data.selctFunc);
					}
					//依頼決定
					_self.AddCommand(myRpg.guildUndertakeMenu,"MatterData_select","決定");
					myBT.setCommandProcessing("MatterData_select",function(){
						var Operation = _self.Elm("operation",_self.TypeID);
						myRpg.GuildMenuSelectHidden();
						var idx =myRpg.GuildMenuSelect;
						var data = myRpg.MatterData[idx];
						if(idx!=-1){
							if(myRpg.GuildSelectType==1){
								if(myRpg.MatterData[idx].Status!=0){
									myRpg.GuildMenuSelectView();
									myBT.showMessage("すでに請け負っています。");
									return;
								}
								myBT.yesNoBox(Operation,"この依頼で決定しますか？<br>"+data.Subject,function(){
									var idx =myRpg.GuildMenuSelect;
									myRpg.MatterData[idx].Status = 1;
									myBT.showMessage("");
									myRpg.GuildMenuSelectView();
								},function(){
									myRpg.GuildMenuSelectView();
								});
							}else{
								if(myRpg.MatterData[idx].Status!=2){
									myRpg.GuildMenuSelectView();
									myBT.showMessage("未請負か請負中です。");
									return;
								}
								myBT.yesNoBox(Operation,"この依頼で報告しますか？<br>"+data.Subject,function(){
									var idx =myRpg.GuildMenuSelect;
									myRpg.MatterData[idx].Status = 0;
									myRpg.MatterData[idx].Value[0] = 0;
									myBT.showMessage("報酬を受け取りました。<br>"+myRpg.MatterData[idx].GOLD+"G");
									myRpg.Charctor.GOLD += myRpg.MatterData[idx].GOLD;
									myRpg.GuildMenuSelectView();
								},function(){
									myRpg.GuildMenuSelectView();
								});								
							}
						}else{
							myBT.showMessage("依頼を選択して下さい。");
						}
					});
					//戻る
					_self.AddCommand(myRpg.guildUndertakeMenu,"MatterData_return","戻る");
					myBT.setCommandProcessing("MatterData_return",function(){
						_self.HiddenBox(myRpg.guildUndertakeMenu);
						_self.ViewBox(myRpg.GuildMenu);	
						//myBT.MenuView();
					});
				}else{
					_self.ViewBox(myRpg.guildUndertakeMenu);	
				}						
			}
			
			//依頼を請負う
			myBT.setCommandProcessing("Undertake",function(){
				myRpg.GuildSelectType = 1;
				myBT.GuildSelect();
				_self.Elm("MatterData_select",_self.TypeID).innerText = "決定";
			});			
			//依頼を報告する
			myBT.setCommandProcessing("report",function(){
				myRpg.GuildSelectType = 2;				
				myBT.GuildSelect();
				_self.Elm("MatterData_select",_self.TypeID).innerText = "報告";
			});			
			
			//終了する
			myBT.setCommandProcessing("guildEnd",function(){
				_self.HiddenBox(myRpg.GuildMenu);
				myBT.MenuView();
			});
			_self.HiddenBox(myRpg.GuildMenu);	
		}else{
			if(myProc.moveIndex==25)_self.ViewBox(myRpg.GuildMenu);	
		}
	}
	
	//闘技場機能
	ArenaFunction(parent_name="operation"){
		myRpg.ArenaMenu = "ArenaMenu";
		
		//FランクならEランクに上げる
		if(myRpg.Charctor.RANK=="F"){
			myRpg.Charctor.RANK = "E";
		}
		
		//戦績表示
		var MSG = "現在のランク:"+myRpg.Charctor.RANK+((myRpg.Charctor.RANK!="チャンピオン")?myRpg.Charctor.CLASS:"")+"<br>";
		if((myRpg.Charctor.CLASS==1)||(myRpg.Charctor.RANK=="チャンピオン")){
			var challenge = "";
			switch(myRpg.Charctor.RANK){
				case "チャンピオン":
					challenge = "現在の防衛回数：";
					break
				case "A":
					challenge = "チャンピオンへの挑戦権まで後、";
					break
				case "B":
					challenge = "ランクAへの挑戦権まで後、";
					break
				case "C":
					challenge = "ランクBへの挑戦権まで後、";
					break
				case "D":
					challenge = "ランクCへの挑戦権まで後、";
					break
				case "E":
					challenge = "ランクDへ挑戦権まで後、";
					break
				case "F":
					challenge = "ランクEへの挑戦権まで後、";
					break
			}
			if(myRpg.Charctor.RANK!="チャンピオン"){
				MSG += challenge+(myRpg.Charctor.NEXTRANKPOINT-myRpg.Charctor.RANKPOINT)+"回勝利が必要です。<br>";
			}else{
				MSG += challenge+myRpg.Charctor.RANKPOINT+"回";
			}
		}else{
			MSG += "ランク"+myRpg.Charctor.RANK+(myRpg.Charctor.CLASS-1)+"昇進まで後、"+(myRpg.Charctor.NEXTCLASS-myRpg.Charctor.CLASSPOINT)+"回勝利が必要です。<br>";			
		}
		myBT.showMessage(MSG);
		myST.CheageImage("back",41);

		//メニュー枠生成
		var parent = _self.Elm(parent_name,_self.TypeID);
		var ArenaMenu = _self.Elm(myRpg.ArenaMenu,_self.TypeID);
		if((ArenaMenu == undefined)||(ArenaMenu == null)){

			//メニュー枠生成
			var parent = _self.Elm(parent_name,_self.TypeID);
			myBT.setCommonBox(parent,myRpg.ArenaMenu,"10px");
			_self.Elm(myRpg.ArenaMenu,_self.TypeID).style.width = "250px";
			_self.Elm(myRpg.ArenaMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
			_self.AddCommand(myRpg.ArenaMenu,"ArenaEntry",(myRpg.Charctor.RANK!="チャンピオン")?"挑戦する":"防衛する");
			_self.AddCommand(myRpg.ArenaMenu,"ArenaEnd","終了する");
			
			//対戦
			myRpg.TaisenBattle = function(add=0){
				var Operation = _self.Elm("operation",_self.TypeID);
				if(myRpg.Enemy2Index!=-1)return;
				var idx = parseInt(Math.random()*7)+parseInt(add);
				var tmp = myRpg.EnemyArray2[idx];
				if(tmp.LV<=myRpg.Charctor.LV){
					myRpg.Enemy2Index = idx;
					var msg = "対戦相手："+tmp.Name+"<br>この相手と戦いますか？<br>戦闘後は時間経過します。";
					myBT.yesNoBox(Operation,msg,
						function(){
							myRpg.BattleProcessing();
						},
						function(){
							_self.ViewBox(myRpg.ArenaMenu);
						}
					)
				}				
			}
			
			//エントリー
			myBT.setCommandProcessing("ArenaEntry",function(){
				var Operation = _self.Elm("operation",_self.TypeID);
				myRpg.Enemy2Index = -1;
				myRpg.BossFlg = false;
				_self.HiddenBox(myRpg.ArenaMenu);
				_self.HiddenBox(myBT.Menu);
				var BattleCount = myRpg.Charctor.NEXTRANKPOINT-myRpg.Charctor.RANKPOINT;
				while(myRpg.Enemy2Index==-1){
					switch(myRpg.Charctor.RANK){
						case "チャンピオン":
							if(myRpg.Charctor.CLASS==1&&(BattleCount<=0)){
								var msg = "挑戦者と対戦しますか？";
								myBT.yesNoBox(Operation,msg,
									function(){
										myRpg.Enemy2Index = 8;
										myRpg.BossFlg = true;
										myRpg.BattleProcessing();
									},
									function(){
										_self.ViewBox(myRpg.ArenaMenu);
									}
								)								
							}else{
								myRpg.TaisenBattle(32);
							}								
							break;						
						case "A":
							if(myRpg.Charctor.CLASS==1&&(BattleCount<=0)){
								var msg = "チャンピオンと対戦しますか？";
								myRpg.Enemy2Index = 32;
								myBT.yesNoBox(Operation,msg,
									function(){
										myRpg.BossFlg = true;
										myRpg.BattleProcessing();
									},
									function(){
										myRpg.Enemy2Index = -1;
										_self.ViewBox(myRpg.ArenaMenu);
									}
								)								
							}else{
								myRpg.TaisenBattle(32);
							}								
							break;
						case "B":
							if(myRpg.Charctor.CLASS==1&&(BattleCount<=0)){
								var msg = "下位Aランクと対戦しますか？";
								myRpg.Enemy2Index = 24;
								myBT.yesNoBox(Operation,msg,
									function(){
										myRpg.BossFlg = true;
										myRpg.BattleProcessing();
									},
									function(){
										myRpg.Enemy2Index = -1;
										_self.ViewBox(myRpg.ArenaMenu);
									}
								)								
							}else{
								myRpg.TaisenBattle(24);
							}
							break;
						case "C":
							if(myRpg.Charctor.CLASS==1&&(BattleCount<=0)){
								var msg = "下位Bランクと対戦しますか？";
								myRpg.Enemy2Index = 16;
								myBT.yesNoBox(Operation,msg,
									function(){
										myRpg.BossFlg = true;
										myRpg.BattleProcessing();
									},
									function(){
										myRpg.Enemy2Index = -1;
										_self.ViewBox(myRpg.ArenaMenu);
									}
								)								
							}else{
								myRpg.TaisenBattle(16);
							}
							break;
						case "D":
							if(myRpg.Charctor.CLASS==1&&(BattleCount<=0)){
								var msg = "下位Cランクと対戦しますか？";
								myRpg.Enemy2Index = 8;
								myBT.yesNoBox(Operation,msg,
									function(){
										myRpg.BossFlg = true;
										myRpg.BattleProcessing();
									},
									function(){
										myRpg.Enemy2Index = -1;
										_self.ViewBox(myRpg.ArenaMenu);
									}
								)								
							}else{
								myRpg.TaisenBattle(8);
							}
							break;
						case "E":
							if(myRpg.Charctor.CLASS==1&&(BattleCount<=0)){
								var msg = "下位Dランクと対戦しますか？";
								myRpg.Enemy2Index = 8;
								myBT.yesNoBox(Operation,msg,
									function(){
										myRpg.BossFlg = true;
										myRpg.BattleProcessing();
									},
									function(){
										myRpg.Enemy2Index = -1;
										_self.ViewBox(myRpg.ArenaMenu);
									}
								)								
							}else{
								myRpg.TaisenBattle(0);
							}
							break;
					}
					
				}
				
			});
			//終了する
			myBT.setCommandProcessing("ArenaEnd",function(){
				_self.HiddenBox(myRpg.ArenaMenu);
				_self.ViewBox(myBT.Menu);
				myBT.MenuView();
				myST.CheageImage("back",37);
			});
			//戦闘終了
			myRpg.ArenaBattleEndFunc = function(){
				//賞金取得
				var WinMoney = myRpg.GetArenaWinMoneyForRank();
				var BossBonus = 0;
				//メッセージ
				var msg = [
					[
						["FUNC",function(){
							myBT.MenuHidden();
							//ランク/クラス用勝利数加算
							var msg = "";
							if(myRpg.Charctor.CLASS>=2)myRpg.Charctor.CLASSPOINT++;
							if(myRpg.Charctor.CLASS==1)myRpg.Charctor.RANKPOINT++;
							//クラス用
							if(myRpg.Charctor.CLASSPOINT>=myRpg.Charctor.NEXTCLASS){
								myRpg.Charctor.CLASS--;
								myRpg.Charctor.NEXTCLASSPOINT=10;
								myRpg.Charctor.CLASSPOINT=0;
								msg = myRpg.Charctor.RANK+myRpg.Charctor.CLASS+"にクラス昇進しました。";
								if(_self.sample_flg||_self.sample2_flg){
									var tmp = myRpg.Charctor.RANK+myRpg.Charctor.CLASS;
									if(tmp=="D1")msg += "<br>※体験版ではDランクより上には行けません。";
								}
							}else if(myRpg.BossFlg){
								var tmp = myRpg.Charctor.RANK+myRpg.Charctor.CLASS;
								var rankStr = "";
								switch(myRpg.Charctor.RANK){
									case "A":
										rankStr = "チャンピオン";
										break
									case "B":
										rankStr = "下位Aランク";
										break
									case "C":
										rankStr = "下位Bランク";
										break
									case "D":
										rankStr = "下位Cランク";
										break
									case "E":
										rankStr = "下位Dランク";
										break;
								}
								msg = rankStr+"に勝利しました。"
								if((_self.sample_flg||_self.sample2_flg)&&(tmp=="D1")){
									msg += "<br>※体験版ではDランクより上には行けません。";
								}else{
									var cpoFlg = false;
									switch(myRpg.Charctor.RANK){
										case "チャンピオン":
											BossBonus = 100000;										
										case "A":
											myRpg.Charctor.RANK = "チャンピオン";
											BossBonus = 100000;
											cpoFlg = true;
											break
										case "B":
											myRpg.Charctor.RANK = "A";
											BossBonus = 10000;
											break
										case "C":
											myRpg.Charctor.RANK = "B";
											BossBonus = 5000;
											break
										case "D":
											myRpg.Charctor.RANK = "C";
											BossBonus = 2000;
											break
										case "E":
											myRpg.Charctor.RANK = "D";
											BossBonus = 1000;
											myRpg.Charctor.CLASS = 3;
											break;
									}
									myRpg.Charctor.CLASSPOINT = 0;
									myRpg.Charctor.RANKPOINT = 0;
									if(myRpg.Charctor.RANK!="チャンピオン"){
										msg += myRpg.Charctor.RANK+"ランクに昇進しました。";
									}else if(cpoFlg){
										msg += "闘技場チャンピオンになりました。";
									}else{
										msg += "防衛に成功しました。";
									}
								}
							}
							myBT.showMessage("勝利しました。<br>"+msg);
						}],
						["FUNC",function(){
							myBT.showMessage("受付<br>「勝利、おめでとうございます。<br>賞金は"+WinMoney+"Gです"+((BossBonus!=0)?"<br>勝利ボーナス"+BossBonus+"Gです。":"")+"」");
						}],
						["FUNC",function(){
							myRpg.Charctor.GOLD += (parseInt(WinMoney)+parseInt(BossBonus));
							myBT.showMessage((parseInt(WinMoney)+parseInt(BossBonus))+"Gを手に入れた！");
							myBT.MenuView();
							_self.ViewBox(myBT.Menu);
						}],
					],
					[
						["FUNC",function(){
							myBT.MenuHidden();
							var msg = "";
							if(myRpg.BossFlg&&(myRpg.Charctor.RANK!="チャンピオン")){
								myRpg.Charctor.RANKPOINT = 0;
								msg = "<br>挑戦権の勝利数がリセットされました。";
							}
							myBT.showMessage("敗北しました。"+msg);
						}],
						["FUNC",function(){
							myBT.showMessage("受付<br>「残念でしたね。<br>次、頑張ってください。」");
							myBT.MenuView();
							_self.ViewBox(myBT.Menu);
						}],
					]
				];
				//メッセージ
				if(myRpg.ArenaBattleWin){
					myBT.setMessage(msg[0]);
				}else{
					myBT.setMessage(msg[1]);
				}
				//闘技場戦闘フラグ解除
				myRpg.ArenaBattleWin = false;
				myRpg.ArenaBattleEnd = false;
				myRpg.Enemy2Index = -1;
			}
		}else{
			_self.ViewBox(myRpg.ArenaMenu);
		}			
	}
	
	//賞金取得
	GetArenaWinMoneyForRank(){
		var money = 0;
		switch(myRpg.Charctor.RANK){
			case "チャンピオン":
				money = 10000;
				break
			case "A":
				money = 5000;
				break
			case "B":
				money = 2000;
				break
			case "C":
				money = 1000;
				break
			case "D":
				money = 300;
				break
			case "E":
				money = 100;
				break;
		}
		return money;
	}
	
	//裏闘技場機能
	BackArenaFunction(parent_name="operation"){
		myRpg.BackArenaMenu = "BackArenaMenu";
		myRpg.Charctor.BACKWP = myRpg.Charctor.WP;
		myRpg.Charctor.WP = 100;
		
		//闘技場
		myBT.MenuHidden();
		myST.CheageImage("back",41);

		//メニュー枠生成
		var parent = _self.Elm(parent_name,_self.TypeID);
		var BackArenaMenu = _self.Elm(myRpg.BackArenaMenu,_self.TypeID);
		if((BackArenaMenu == undefined)||(BackArenaMenu == null)){
			//メニュー枠生成
			var parent = _self.Elm(parent_name,_self.TypeID);
			myBT.setCommonBox(parent,myRpg.BackArenaMenu,"10px");
			_self.Elm(myRpg.BackArenaMenu,_self.TypeID).style.width = "250px";
			_self.Elm(myRpg.BackArenaMenu,_self.TypeID).style.backgroundColor = "rgba(0,0,0,0.8)";
			_self.AddCommand(myRpg.BackArenaMenu,"BackArenaEntry","挑戦する");
			_self.AddCommand(myRpg.BackArenaMenu,"BackArenaEnd","終了する");

			//エントリー
			myBT.setCommandProcessing("BackArenaEntry",function(){
				var Operation = _self.Elm("operation",_self.TypeID);
				myRpg.Enemy3Index = -1;
				_self.HiddenBox(myRpg.BackArenaMenu);
				_self.HiddenBox(myBT.Menu);
				
				//裏闘技場
				myRpg.Enemy3Index = 0;
				myRpg.BattleProcessing();
			});			
		}else{
			_self.ViewBox(myRpg.BackArenaMenu);
		}
	}
	
	//終わり
	BrackArenaBattleEndFunc(){
		if(myRpg.ArenaBattleLose){
			myST.CheageImage("body",79);
			myBT.setMessage(myST.HEventData[2]);
			myRpg.Charctor.WP = myRpg.Charctor.BACKWP;
			myRpg.Enemy3Index = -1;
			myRpg.backArenaFlg = false;
			myRpg.ArenaBattleWin = false;
			myRpg.ArenaBattleLose = false;
			myRpg.ArenaBattleEnd = false;			
		}else{
			_self.HiddenBox(myRpg.BackArenaMenu);
			_self.HiddenBox(myBT.Menu);
			
			//裏闘技場
			myRpg.Enemy3Index++;
			myRpg.BattleProcessing();			
		}
	}
	
	//戦闘描画設定
	SetBattleMode(){
		myRpg.BreakBar = "BreakBar";//衣服破損メーター
		myRpg.BattleEndFlg = false;//戦闘終了フラグ
		myRpg.VictoryFlg = false;//戦闘終了フラグ
		myImg.GraphStrokeRect = [155,10,10,55];
		myImg.GraphFillRect = [156,11,8,54];
		myImg.CreateGraph(myRpg.BreakBar,true);
		myImg.ViewGraphDec(myRpg.BreakBar,myRpg.Charctor.WP,myRpg.Charctor.MAXWP);
		myRpg.ImageMargn = [];
		myRpg.ImageMargn[myRpg.ImageMargn.length] =  myImg.GetImageMagn("body");
		myRpg.ImageMargn[myRpg.ImageMargn.length] =  myImg.GetImgPos("body");
		myST.ImageMagnChange(0.3,[210,80]);
		if(_self.width_hi<400)myST.ImageMagnChange(0.25,[195,100]);
		myImg.SetImageMagn("monster1",0.5);
		if(_self.width_hi<400)myImg.SetImageMagn("monster1",0.45);
		myImg.SetImgPos("monster1",[0,180]);
		myImg.SetImageMagn("monster2",0.5);
		if(_self.width_hi<400)myImg.SetImageMagn("monster2",0.45);
		myImg.SetImgPos("monster2",[0,30]);
		myImg.SetImageMagn("monster3",0.5);
		if(_self.width_hi<400)myImg.SetImageMagn("monster3",0.45);
		myImg.SetImgPos("monster3",[0,330]);
		myImg.SetImageMagn("MagicEffect",0.4);
		if(_self.width_hi<400)myImg.SetImageMagn("MagicEffect",0.35);
		myImg.SetImgPos("MagicEffect",[100,0]);
		myImg.SetImageMagn("BattleEffect",0.4);
		if(_self.width_hi<400)myImg.SetImageMagn("BattleEffect",0.35);
		myImg.SetImgPos("BattleEffect",[100,0]);
		//メッセージボックスサイズ変更
		var elm = _self.Elm(myBT.MsgBox,_self.TypeID);
		elm.style.height = "100px";
		elm.style.top = "400px";
		//日付と時間非表示
		_self.HiddenBox(myBT.IDDayTime);
	}
	//戦闘描画設定
	ClearBattleMode(){
		myST.AntenImageView(function(){		
			myST.ImageMagnChange(myRpg.ClearBattleMargn,[0,0]);
			myImg.AllClearImage();
			myImg.ClearGraph(myRpg.BreakBar);
			myRpg.AllClearEnemy();
			//メッセージボックスサイズ変更
			var elm = _self.Elm(myBT.MsgBox,_self.TypeID);
			var boxWidth = (_self.width_hi-350)>=50?350:325;
			var x_pos = (_self.width_hi-boxWidth)/2+"px";			
			var y_pos = _self.height_hi<500?"325px":"350px";
			elm.style.height = "150px";
			elm.style.width = boxWidth;
			elm.style.top = y_pos;
			myRpg.WearBreak(myRpg.Charctor);
			console.log("RPG#myMap.AfterBattle:"+myMap.AfterBattle);
			//マップがある場合の戦闘終了処理
			if((myRpg.Enemy2Index==-1)&&(myRpg.Enemy3Index==-1)){
				myMap.AfterBattle--;//Map用
				myMap.BattleEnd();
			}else{//闘技場終了処理
				myImg.AllClearImage();
				myImg.SetImageMagn("body",myRpg.ImageMargn[0]);
				myImg.SetImageMagn("body_face_bk",myRpg.ImageMargn[0]);
				myImg.SetImageMagn("body_fr_hair",myRpg.ImageMargn[0]);
				myImg.SetImageMagn("body_bk_hair",myRpg.ImageMargn[0]);
				myImg.SetImageMagn("body_face_fk",myRpg.ImageMargn[0]);
				myImg.SetImgPos("body",[myRpg.ImageMargn[1][0],myRpg.ImageMargn[1][1]]);
				myImg.SetImgPos("body_face_bk",[myRpg.ImageMargn[1][0],myRpg.ImageMargn[1][1]]);
				myImg.SetImgPos("body_fr_hair",[myRpg.ImageMargn[1][0],myRpg.ImageMargn[1][1]]);
				myImg.SetImgPos("body_bk_hair",[myRpg.ImageMargn[1][0],myRpg.ImageMargn[1][1]]);
				myImg.SetImgPos("body_face_fk",[myRpg.ImageMargn[1][0],myRpg.ImageMargn[1][1]]);
				if(myRpg.Enemy2Index!=-1)myImg.backCorrect++;
				myBT.chgDayTime();
				myImg.AllImageView(true,false,false);
				if((myRpg.Enemy2Index!=-1)&&(myRpg.ArenaBattleEndFunc!=undefined)){
					myST.CheageImage("back",37);
					myRpg.ArenaBattleEndFunc();
				}
				if((myRpg.Enemy3Index!=-1)&&(myRpg.BrackArenaBattleEndFunc!=undefined)){
					myRpg.BrackArenaBattleEndFunc();
				}
			}
			//myImg.AllImageView(true,true,false);
		},1000,1000);
	}

	//拘束イベント処理
	BindEvent(){
		var bindsts = false;
		var randomVal = 0;
		var getVal = 0;
		var msgdata = _self.Elm(myBT.MsgBox,_self.TypeID).innerHTML;
		msgdata = msgdata.substr(1,msgdata.length-6);
		randomVal = myRpg.Charctor.INRAN;
		if(randomVal<=0)randomVal = 0;
		getVal = Math.random()*randomVal;
		console.log("getVal(触手イベント):"+getVal+"/"+(myRpg.Charctor.INRAN/2));

		/*//拘束判定
		if(!myRpg.BindStatus){
			if((myRpg.Charctor.INRAN/2)<=getVal)myRpg.BindStatus = 1;
			if(myRpg.BindStatus){
				myBT.showMessage(msgdata+"<br>どこからか現れたスライムがリリィを拘束した！");
				if(myRpg.BindStatus>=2)myRpg.ShokushuBreak = true;
				myRpg.WearBreak(myRpg.Charctor);
			}
		}else{
			if((myRpg.Charctor.INRAN/2)<=getVal){
				myRpg.BindStatus++;
				myBT.showMessage(msgdata+"<br>リリィは拘束を振りほどこうとする。<br>しかしスライムから逃れられない！");
			}else{
				myRpg.BindStatus = false;
				myBT.showMessage(msgdata+"<br>リリィは拘束を振りほどこうとする。<br>スライムの拘束から逃れた！");
			}
			if(myRpg.BindStatus>=2)myRpg.ShokushuBreak = true;
			myRpg.WearBreak(myRpg.Charctor);
		}*/
	}
	
	//戦闘処理
	BattleProcessing(){
		//メニュー操作用
		var elm = _self.Elm("menu1",_self.TypeID);
		var flg = false;
		//ターゲットチェック
		for(var loop in myRpg.TargetEnemy){
			flg += typeof(myRpg.TargetEnemy[loop])!="string"?-1:0;
		}
		if(flg>=-2){
			flg = true;
		}else{
			flg = false;
		}		
		//戦闘準備処理
		if(!myRpg.BattleFlg){
			//戦闘ミュージック
			_self.setTimer(function(){
				myProc.music(-2,myST.BGM_ALLOFF);
				if(	(!myBE.Flg[4])&&(((myProc.moveIndex==85)&&(myBE.Flg[3]==2)&&(!myBE.EndFlg[6]))||
					((myProc.moveIndex==85)&&(myBE.Flg[3]!=2)&&(!myBE.EndFlg[10])))){
					//中ボス用
					myProc.music(13,myST.BGM_ON);
				}else if((myProc.moveIndex==109)&&(myBE.Flg[16].select!==undefined)){
					//中ボス用
					myProc.music(13,myST.BGM_ON);
				}else{
					//通常戦闘用
					myProc.music(3,myST.BGM_ON);
				}
			},500);
			myST.TempIdx = 1;
			myRpg.BattleTurn.length = 0;
			myRpg.TargetBoxFunc.length = 0;
			myRpg.BattleLose = false;
			myRpg.MagicAttackCount = 0;
			myRpg.BattleAttackCount = 0;
			myRpg.BattleEnemy.length = 0;
			myRpg.BattleAnimitonNext.length = 0;
			myRpg.MagicAnimitonNext.length = 0;
			myRpg.TargetEnemy = [-1,-1,-1];;
			//クリアオール
			myST.AntenImageView(function(){
				//画像描画
				myImg.AllClearImage();
				myRpg.ShowEnemyPatturn();
				myRpg.SetBattleMode();
				myImg.AllImageView(true,true,false);
				//戦闘フラグON
				myRpg.BattleFlg = true;
				//戦闘時メニュー
				if(elm.style.left != "150px"){
					myRpg.MenuSave['left'] = elm.style.left.concat();
					myRpg.MenuSave['top'] = elm.style.top.concat();
				}
				elm.style.left = "150px";
				elm.style.top = "130px";
				myBT.BattleMenuView();
				myRpg.ShowParam();
				_self.setTimer(function(){
					var msg = "";
					for(var loop in myRpg.BattleEnemy){
						msg += myRpg.BattleEnemy[loop].Name+"<br>";
					}
					msg += "が現れた！！";
					myBT.showMessage(msg);
				},100);
			},750,500);
		}else{
			//ターゲッティング解除
			for(var index in myRpg.TargetBoxFunc){
				var key = myRpg.TargetBoxFunc[index].id;
				myImg.ImageView(key,true,true);
			}
			//魔法設定
			var Index = parseInt(myRpg.MagicSelect);
			//攻撃設定
			if(myRpg.AttackSelect){
				Index = parseInt(myRpg.AttackSelect);
				//ターゲットゼロの場合
				if((!flg)&&(!myRpg.ActionGurad)){
					myBT.showMessage("ターゲットが選択されていません。");
					//ターゲットフラグ解除
					myRpg.TargetEnemy = [-1,-1,-1];
					//メニュー再表示
					myRpg.BattleMenuReView();
					return;
				}else{
					//回復/防御時のみ
					if((myRpg.Magics[Index].MagicId==2)||(myRpg.ActionGurad))myRpg.TargetEnemy = [1,-1,-1];
				}				
			}
			//魔法設定
			else{
				//ターゲットゼロの場合
				if((!flg)&&(myRpg.Magics[Index].MagicId!=2)&&(!myRpg.ActionGurad)){
					myBT.showMessage("ターゲットが選択されていません。");
					//ターゲットフラグ解除
					myRpg.TargetEnemy = [-1,-1,-1];
					//メニュー再表示
					myRpg.BattleMenuReView();
					return;
				}else{
					//回復/防御時のみ
					if((myRpg.Magics[Index].MagicId==2)||(myRpg.ActionGurad))myRpg.TargetEnemy = [1,-1,-1];
				}
			}
			//素早さ設定
			var AttackArray = [];
			var ArrayIndex = 0;
			AttackArray[ArrayIndex++] = myRpg.Charctor;
			if(myRpg.BattleEnemy[0]!=undefined){
				if(myRpg.BattleEnemy[0].HP>=1)AttackArray[ArrayIndex++]=myRpg.BattleEnemy[0];
			}
			if(myRpg.BattleEnemy[1]!=undefined){
				if(myRpg.BattleEnemy[1].HP>=1)AttackArray[ArrayIndex++]=myRpg.BattleEnemy[1];
			}
			if(myRpg.BattleEnemy[2]!=undefined){
				if(myRpg.BattleEnemy[2].HP>=1)AttackArray[ArrayIndex++]=myRpg.BattleEnemy[2];
			}
			console.log("<素早さ設定>");
			console.log(JSON.stringify(AttackArray));
			console.log("<素早さ設定>");
			//データ
			for(var loop=0;loop<AttackArray.length-1;loop++){
				for(var loop2=1;loop2<AttackArray.length;loop2++){
					if(AttackArray[loop].SP<=AttackArray[loop2].SP){
						var Buff = AttackArray[loop];
						var Buff2 = AttackArray[loop2];
						AttackArray[loop2] = Buff;
						AttackArray[loop] = Buff2;
					}
				}
			}
			//攻撃処理セット
			for(var loop in AttackArray){
				console.log("キャラタイプ:"+AttackArray[loop].Type);
				if(AttackArray[loop].Type==1){//敵キャラ
					for(var loop2 in myRpg.BattleEnemy){
						if(AttackArray[loop].imgId == myRpg.BattleEnemy[loop2].imgId){
							if(AttackArray[loop].HP>=1){
								console.log("Enemy:"+loop2);
								myRpg.AttacPhase2(loop2);
								break;
							}
						}
					}
				}else{//味方キャラ
					if((AttackArray[loop].Type==0)&&(!myRpg.BattleLose)&&(!myRpg.ActionGurad)){
						if(AttackArray[loop].HP>=1)myRpg.AttacPhase();
					}
					//身を守る
					if(myRpg.ActionGurad){
						//myRpg.Charctor.MP = myRpg.Charctor.MP+10;
						//if(myRpg.Charctor.MP>=myRpg.Charctor.MAXMP)myRpg.Charctor.MP=myRpg.Charctor.MAXMP;
						myBT.showMessage("サーシャは身を守っている");
					}
				}
			}
			//攻撃アニメーション
			//myRpg.AttacPhase();
			//メニュー再表示
			_self.setTimer(function(){
				console.log("メニュー再表示");
				myRpg.BattleMenuReView();
			},100);
		}
	}
	
	//パラメータ表示
	ShowParam(view=true){
		var elm = _self.Elm("ParamView",_self.TypeID);
		if((elm==undefined)||(elm==null)){
			var parent = _self.Elm("operation",_self.TypeID);
			myBT.setCommonBox(parent,"ParamView","225px","10px");
			var setElm = _self.Elm("ParamView",_self.TypeID);
			setElm.innerHTML+='<span id="ParamViewLV">'+"LV:"+myRpg.Charctor.LV+'</span>&nbsp;';
			setElm.innerHTML+='<span id="ParamViewName">'+myRpg.Charctor.Name+'</span><br>';
			setElm.innerHTML+='<span id="ParamViewHP">'+"HP:"+myRpg.Charctor.HP+'</span><br>';
			setElm.innerHTML+='<span id="ParamViewMP">'+"MP:"+myRpg.Charctor.MP+'</span><br>';
			setElm.style.backgroundColor = "rgba(0,0,0,0.8)";
		}else{
			_self.Elm("ParamViewLV",_self.TypeID).innerText = "LV:"+myRpg.Charctor.LV;
			_self.Elm("ParamViewHP",_self.TypeID).innerText = "HP:"+myRpg.Charctor.HP;
			_self.Elm("ParamViewMP",_self.TypeID).innerText = "MP:"+myRpg.Charctor.MP;
		}
		_self.ViewBox("ParamView");
		if(!view)_self.HiddenBox("ParamView");
	}
	
	//服破損判定/破損処理
	WearBreak(Chr){
		return myRpg.WearBreak2(Chr);
		//破損なし
		var IndexVal = 0;
		if(Chr.WP>=95){
			if(!myRpg.BindStatus){
				IndexVal = 0;
				if(myRpg.ShokushuBreak)IndexVal = 64;
			}else{
				IndexVal = 12+myRpg.BindStatus;
				if(IndexVal>=17)IndexVal=17;
			}
			myProc.changeImage(IndexVal,true,false,false);
		}
		//破損なし
		else if(Chr.WP>=90){
			if(!myRpg.BindStatus){
				IndexVal = 1;
				if(myRpg.ShokushuBreak)IndexVal = 65;
			}else{
				IndexVal = 17+myRpg.BindStatus;
				if(IndexVal>=22)IndexVal=22;
			}
			myProc.changeImage(IndexVal,true,false,false);
		}
		//破損なし
		else if(Chr.WP>=80){
			if(!myRpg.BindStatus){
				IndexVal = 2;
				if(myRpg.ShokushuBreak)IndexVal = 66;
			}else{
				IndexVal = 17+myRpg.BindStatus;
				if(IndexVal>=27)IndexVal=27;
			}
			myProc.changeImage(IndexVal,true,false,false);
		}
		//破損なし
		else if(Chr.WP>=70){
			if(!myRpg.BindStatus){
				IndexVal = 3;
				if(myRpg.ShokushuBreak)IndexVal = 67;				
			}else{
				IndexVal = 27+myRpg.BindStatus;
				if(IndexVal>=31)IndexVal=31;
			}			
			myProc.changeImage(IndexVal,true,false,false);
		}
		//破損なし
		else if(Chr.WP>=60){
			if(!myRpg.BindStatus){
				IndexVal = 4;
				if(myRpg.ShokushuBreak)IndexVal = 68;				
			}else{
				IndexVal = 31+myRpg.BindStatus;
				if(IndexVal>=35)IndexVal=35;
			}			
			myProc.changeImage(IndexVal,true,false,false);
		}
		//破損なし
		else if(Chr.WP>=50){
			if(!myRpg.BindStatus){
				IndexVal = 5;
			}else{
				IndexVal = 35+myRpg.BindStatus;
				if(IndexVal>=39)IndexVal=39;
			}			
			myProc.changeImage(IndexVal,true,false,false);
		}
		//破損なし
		else if(Chr.WP>=40){
			if(!myRpg.BindStatus){
				IndexVal = 6;
			}else{
				IndexVal = 39+myRpg.BindStatus;
				if(IndexVal>=43)IndexVal=43;
			}			
			myProc.changeImage(IndexVal,true,false,false);
		}
		//破損なし
		else if(Chr.WP>=30){
			if(!myRpg.BindStatus){
				IndexVal = 7;
			}else{
				IndexVal = 43+myRpg.BindStatus;
				if(IndexVal>=47)IndexVal=47;
			}			
			myProc.changeImage(IndexVal,true,false,false);
		}//体験版はブラウス破れ、下着まで
		else if(_self.product_flg){
			//破損なし
			if(Chr.WP>=20){
				if(!myRpg.BindStatus){
					IndexVal = 8;
				}else{
					IndexVal = 47+myRpg.BindStatus;
					if(IndexVal>=51)IndexVal=51;
				}			
				myProc.changeImage(IndexVal,true,false,false);
			}
			//破損なし
			else if(Chr.WP>=10){
				if(!myRpg.BindStatus){
					IndexVal = 9;
				}else{
					IndexVal = 51+myRpg.BindStatus;
					if(IndexVal>=55)IndexVal=55;
				}			
				myProc.changeImage(IndexVal,true,false,false);
			}
			//破損なし
			else if(Chr.WP>=5){
				if(!myRpg.BindStatus){
					IndexVal = 10;
				}else{
					IndexVal = 55+myRpg.BindStatus;
					if(IndexVal>=59)IndexVal=59;
				}			
				myProc.changeImage(IndexVal,true,false,false);
			}
			//破損なし
			else if(Chr.WP>=0){
				if(!myRpg.BindStatus){
					IndexVal = 11;
				}else{
					IndexVal = 59+myRpg.BindStatus;
					if(IndexVal>=63)IndexVal=63;
				}			
				myProc.changeImage(IndexVal,true,false,false);
			}
			else if(Chr.WP<=0){
				Chr.WP=0;
			}
		}else{
			if(Chr.WP<=20)Chr.WP = 21;
			if(!myRpg.BindStatus){
				IndexVal = 7;
			}else{
				IndexVal = 43+myRpg.BindStatus;
				if(IndexVal>=47)IndexVal=47;
			}			
			myProc.changeImage(IndexVal,true,false,false);
		}
		if(myRpg.BattleFlg)myImg.ViewGraphDec(this.BreakBar,Chr.WP,Chr.MAXWP);	
	}
	
	//服破損判定/破損処理
	WearBreak2(Chr=null){
		//寝ている場合（sitemありは立ち絵消す）
		if(Chr==null){
			myST.CheageImage("body_bk_hair",0);			
			myST.CheageImage("body_fr_hair",0);//赤面2				
			myST.CheageImage("body_face_bk",0);//赤面1
			myST.CheageImage("body",0);//破損なし
			return; 
		}else{
			if(!myRpg.backArenaFlg)myST.CheageImage("body_bk_hair",2);
			if(myRpg.backArenaFlg)myST.CheageImage("body_bk_hair",1);
		}
		//破損なし
		if(Chr.WP>=95){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",1);//赤面2				
				myST.CheageImage("body_face_bk",0);//赤面1
				if(!myRpg.backArenaFlg)myST.CheageImage("body",1);//破損なし
				if(myRpg.backArenaFlg)myST.CheageImage("body",74);//破損なし
			}else{

			}
		}		
		else if(Chr.WP>=90){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",1);//赤面2				
				myST.CheageImage("body_face_bk",0);//赤面1
				if(!myRpg.backArenaFlg)myST.CheageImage("body",2);//ストッキング破損
				if(myRpg.backArenaFlg)myST.CheageImage("body",75);//破損なし
			}else{

			}
		}
		//破損なし
		else if(Chr.WP>=80){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",1);//赤面2				
				myST.CheageImage("body_face_bk",1);//赤面1
				if(!myRpg.backArenaFlg)myST.CheageImage("body",3);//スカート破損1
				if(myRpg.backArenaFlg)myST.CheageImage("body",75);//破損なし
			}else{

			}
		}
		//破損なし
		else if(Chr.WP>=70){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",1);//赤面2				
				myST.CheageImage("body_face_bk",1);//赤面1
				if(!myRpg.backArenaFlg)myST.CheageImage("body",9);//スカート破損1/上着破損1			
				if(myRpg.backArenaFlg)myST.CheageImage("body",76);//破損なし
			}else{

			}
		}
		//破損なし
		else if(Chr.WP>=60){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",1);//赤面2				
				myST.CheageImage("body_face_bk",2);//赤面2
				if(!myRpg.backArenaFlg)myST.CheageImage("body",10);//スカート破損2/上着破損1							
				if(myRpg.backArenaFlg)myST.CheageImage("body",76);//破損なし
			}else{

			}
		}
		//破損なし
		else if(Chr.WP>=50){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",1);//赤面2				
				myST.CheageImage("body_face_bk",2);//赤面2
				if(!myRpg.backArenaFlg)myST.CheageImage("body",13);//スカート破損2/上着破損2											
				if(myRpg.backArenaFlg)myST.CheageImage("body",77);//破損なし
			}else{

			}
		}
		//破損なし
		else if(Chr.WP>=40){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",1);//赤面2				
				myST.CheageImage("body_face_bk",2);//赤面2
				if(!myRpg.backArenaFlg)myST.CheageImage("body",14);//スカートなし/上着破損2															
				if(myRpg.backArenaFlg)myST.CheageImage("body",77);//破損なし
			}else{

			}
		}
		//破損なし
		else if(Chr.WP>=30){
			if(!myRpg.BindStatus){
				myST.CheageImage("body_fr_hair",4);//赤面2							
				myST.CheageImage("body_face_bk",2);//赤面2
				if(!myRpg.backArenaFlg)myST.CheageImage("body",15);//スカートなし/上着なし	/				
				if(myRpg.backArenaFlg)myST.CheageImage("body",77);//破損なし
			}else{

			}
		}//体験版はブラウス破れ、下着まで
		else if(_self.product_flg||_self.sample2_flg){
			//破損なし
			if(Chr.WP>=20){
				if(!myRpg.BindStatus){
					myST.CheageImage("body_fr_hair",4);//赤面2
					myST.CheageImage("body_face_bk",2);//赤面2
					if(!myRpg.backArenaFlg)myST.CheageImage("body",16);//スカートなし/上着なし	/ブラ破損/パンティ
					if(myRpg.backArenaFlg)myST.CheageImage("body",78);//破損なし
				}else{

				}
			}
			//破損なし
			else if(Chr.WP>=10){
				if(!myRpg.BindStatus){
					myST.CheageImage("body_fr_hair",4);//赤面2
					myST.CheageImage("body_face_bk",3);//赤面3					
					if(!myRpg.backArenaFlg)myST.CheageImage("body",17);//スカートなし/上着なし	/ブラなし/パンティ			
					if(myRpg.backArenaFlg)myST.CheageImage("body",78);//破損なし
				}else{

				}
			}
			//破損なし
			else if(Chr.WP>=5){
				if(!myRpg.BindStatus){
					myST.CheageImage("body_fr_hair",4);//赤面2
					myST.CheageImage("body_face_bk",3);//赤面3					
					if(!myRpg.backArenaFlg)myST.CheageImage("body",19);//スカートなし/上着なし	/ブラなし/パンティ破損			
					if(myRpg.backArenaFlg)myST.CheageImage("body",78);//破損なし
				}else{

				}
			}			
			//破損なし
			else if(Chr.WP>=0){
				if(!myRpg.BindStatus){
					myST.CheageImage("body_fr_hair",4);//赤面2
					myST.CheageImage("body_face_bk",3);//赤面3					
					if(!myRpg.backArenaFlg)myST.CheageImage("body",27);//スカートなし/上着なし	/ブラなし/パンティなし					
					if(myRpg.backArenaFlg)myST.CheageImage("body",79);//破損なし
				}else{

				}
			}
			else if(Chr.WP<=0){
				Chr.WP=0;
			}
		}else{
			//体験版は下着まで。
			myST.CheageImage("body_fr_hair",4);//赤面2							
			myST.CheageImage("body_face_bk",2);//赤面2
			if(!myRpg.backArenaFlg)myST.CheageImage("body",15);//スカートなし/上着なし	/ブラ破損	
			if(myRpg.backArenaFlg)myST.CheageImage("body",77);//破損なし
		}
		if(Chr.INRAN>=100){
			myST.CheageImage("body_fr_hair",11);//赤面2
			var idx = myImg.GetIndexPos("body_face_bk");
			if(idx<2){
				myST.CheageImage("body_face_bk",2);//赤面2
			}else{
				myST.CheageImage("body_face_bk",idx);//赤面2
			}
		}		
		if(myRpg.BattleFlg)myImg.ViewGraphDec(this.BreakBar,Chr.WP,Chr.MAXWP);	
	}	
		
	//攻撃フェーズ
	AttacPhase(){
		if(myRpg.BattleAnimition||(myRpg.BattleAttackCount!=0)){
			_self.setTimer(myRpg.AttacPhase,1000);
			return;
		}
		if(myRpg.MagicAnimiton||(myRpg.MagicAttackCount!=0)||myRpg.BattleLose)return;
		//攻撃アニメーション
		var setloop = -1;
		if(myRpg.AttackSelect)setloop = 0;
		for(var loop=setloop;loop<myRpg.TargetEnemy.length;loop++){
			if(loop!=-1){
				if(myRpg.TargetEnemy[loop]==-1)continue;
			}
			//詠唱時のみ
			var index = myRpg.MagicAnimitonNext.length;
			myRpg.MagicAnimitonNext[index] = loop;
			if((loop==-1)||(setloop==0)){
				_self.setTimer(function(){
					myRpg.AttacPhaseTimer();
				},100);				
			}			
		}
	}
	
	//攻撃フェーズ用タイマー
	AttacPhaseTimer(){
		if(myRpg.MagicAnimiton||(myRpg.BattleAttackCount!=0)){
			_self.setTimer(function(){
				myRpg.AttacPhaseTimer();
			},1000);
			return;
		}
		var idx = myRpg.MagicAnimitonNext.shift();
		console.log("AttackAct1:"+idx);
		if(idx!=undefined){
			myRpg.AttackAct1(idx);
		}else if(myRpg.AttackSelect){
			for(var loop=0;loop<myRpg.TargetEnemy.length;loop++){
				if(myRpg.TargetEnemy[loop]==-1)continue;
				idx = loop;
			}
			console.log("AttackAct1(sub):"+idx);
			if(idx!=undefined){
				myRpg.AttackAct1(idx);
			}
		}
	}
	
	//攻撃フェーズ
	AttacPhase2(index){
		if(myRpg.MagicAnimiton||(myRpg.MagicAttackCount!=0)){
			_self.setTimer(myRpg.AttacPhase2,1000,index);
			return;
		}
		if(myRpg.BattleAnimition){
			_self.setTimer(myRpg.AttacPhase2,1000);
			return;
		}
		//攻撃アニメーション
		if(myRpg.BattleEnemy[index]==-1)return;
		_self.setTimer(function(idx){
			myRpg.AttackAct2(idx);
		},parseInt(index)*1000,index);				
	}
	
	//戦闘アニメーション１
	AttackAct1(loop){
		if(myRpg.MagicAnimiton||(myRpg.BattleAttackCount!=0)){
			console.log("AttackAct1(return)...EnemyIdx:"+loop);
			return;
		}
		//詠唱切り替え
		var EfIndx = 0;
		var EnemyIdx = loop;
		//魔法設定
		var Index = parseInt(myRpg.MagicSelect);
		if(!myRpg.AttackSelect){
			console.log("魔法選択");
			var Heel = myRpg.Magics[Index].MagicId!=2	
			if((loop!=-1)&&Heel){
				EfIndx = myRpg.MagicSelect;
				EnemyIdx = myRpg.TargetEnemy[loop];
				if(EnemyIdx==-1)return;			
				console.log("AttackAct1...EnemyIdx:"+loop);
			}else{
				EfIndx = myRpg.MagicAdd;
				if((loop!=-1)&&(!Heel)){
					EfIndx = myRpg.MagicSelect;
					console.log("AttackAct1...EnemyIdx:"+loop);
				}
			}
		}
		//攻撃設定
		else{
			console.log("物理攻撃選択...EnemyIdx:"+EnemyIdx);
			EfIndx = myRpg.AttackSelect;
			if(loop!=-1){
				EnemyIdx = myRpg.TargetEnemy[loop];
			}
			if(EnemyIdx==-1){
				console.log("物理攻撃選択2...EnemyIdx:"+EnemyIdx);
				console.log(JSON.stringify(myRpg.TargetEnemy));
				return;
			}				
			console.log("idx:"+loop);			
		}
		myRpg.MagicAttackCount++;
		console.log("AttackAct1...loop:"+loop);
		myRpg.ShowAttackEffect(EfIndx,loop,true);
	}
	
	//戦闘アニメーション2
	AttackAct2(loop){
		if(myRpg.BattleAnimition||(myRpg.MagicAttackCount!=0)){
			var index = myRpg.BattleAnimitonNext.length;
			myRpg.BattleAnimitonNext[index] = loop;
			return;
		}
		console.log("idx2:"+loop);
		//詠唱切り替え
		//var EfIndx = myRpg.BattleEnemy[loop].BattleImgID;
		//魔法設定
		myRpg.BattleAttackCount++;
		myRpg.ShowBattleEffect(loop,true);
	}

	//守る
	Guard(){
		myBT.setCommandProcessing(myBT.CommandGuard,function(){
			myRpg.ActionGurad = true;
			myRpg.TargetLock();
			_self.HiddenBox("menu1");
			myRpg.BattleProcessing();
		});
	}

	//メニュー表示
	BattleMenuReView(){
		var flg1 =((myRpg.MagicAttackCount!=0)&&(myRpg.MagicAnimitonNext.length>=0));
		var flg2 =((myRpg.BattleAttackCount!=0)&&(myRpg.BattleAnimitonNext.length>=0));
		if(flg1||flg2){			
			_self.setTimer(myRpg.BattleMenuReView,500);
			return;
		}
		//敵全滅判定
		myRpg.VictoryFlg = true;
		myRpg.ActionGurad = false;//守るコマンドの終了
		var ExeTotal = 0;//経験値
		var GoldTotal = 0;//お金
		for(var loop in myRpg.BattleEnemy){
			if(myRpg.BattleEnemy[loop].HP>=1){
				myRpg.VictoryFlg = false;
			}else{
				ExeTotal += myRpg.BattleEnemy[loop].EXE;
				GoldTotal += myRpg.BattleEnemy[loop].GOLD;
			}
		}
		//ターゲットフラグ解除
		myRpg.TargetEnemy = [-1,-1,-1];
		//戦闘が終わっているならここで終了		
		if(myRpg.BattleEndFlg)return;
		//敵が全滅しているなら分岐
		if(myRpg.VictoryFlg){
			_self.setTimer(function(){
				var msg = "";
				msg = myRpg.Charctor.Name+"は戦いに勝利した！<br>";
				msg += ExeTotal+"の経験値、"+GoldTotal+"枚の硬貨"+"を手に入れた！<br>";
				myRpg.Charctor.EXE += ExeTotal;
				myRpg.Charctor.GOLD += GoldTotal;
				msg = myRpg.LevelUpProc(msg);
				myBT.showMessage(msg);
				myProc.music(3,myST.BGM_OFF);
				//_self.setTimer(function(){
				myProc.music(4,myST.BGM_ON);
				//},1000);
				//闘技場勝利の場合
				if((myRpg.Enemy2Index!=-1)||(myRpg.Enemy3Index!=-1))myRpg.ArenaBattleWin = true;
				//クリックで終了
				document.onmousedown = function(){
					document.onmousedown = null;
					myProc.music(4,myST.BGM_OFF);
					//イベントじゃなければ
					if(myRpg.EventBattleCount===false){
						//バトル終了
						myRpg.BattleEndProc();
						//メニュー
						_self.ViewBox("menu1");
					}else{
						//イベント繰り返し戦闘を行う。
						myRpg.BattleFlg = false;
						myRpg.BattleEndFlg = false;
						myRpg.EventBattleCount--;
						if(myRpg.EventBattleCount!=0){
							_self.ViewBox("menu1");							
							myRpg.BattleProcessing();
						}else{
							//バトル終了
							myRpg.BattleEndProc();
							//メニュー
							_self.ViewBox("menu1");							
						}
					}
				}
			},500);
			return;
		}
		myRpg.BindEvent();
		//メニュー
		_self.ViewBox("menu1");
	}
	
	//ダメージ計算
	DamgeProc(Atc,Dfn){
		var msg = "";
		var damge = 0;
		//敵キャラ/味方キャラ判定
		if(Atc.Type == 0){
			//味方キャラ
			if(myRpg.AttackSelect){
				var MIdx = myRpg.MagicSelect;
				var addIdx = myRpg.MagicAdd;
				var CorrectValue = (Math.random()+0.4);
				if(CorrectValue>=1.1)CorrectValue = 1.1;
				var AP = Math.floor((Atc.AP+myRpg.Attacks[0].Value)*CorrectValue);
				var DP = Dfn.DP*(Dfn.IP/Atc.IP);
				damge = Math.floor(AP-DP);
				if(damge<=-1)damge = 0;
			}else{
				var MIdx = myRpg.MagicSelect;
				var addIdx = myRpg.MagicAdd;
				var CorrectValue = (Math.random()+0.4);
				if(CorrectValue>=1.1)CorrectValue = 1.1;
				var AP = Math.floor((Atc.IP+myRpg.Magics[MIdx].Value)*myRpg.Magics[addIdx].UseMp*CorrectValue);
				var DP = Dfn.DP*(Dfn.IP/Atc.IP);
				damge = Math.floor(AP-DP);
				if(damge<=-1)damge = 0;
				Atc.MP = Atc.MP-(myRpg.Magics[MIdx].UseMp*myRpg.Magics[addIdx].UseMp);
			}
		}else{
			//敵キャラ
			if(Atc.HP<=0)return;//HPがないなら攻撃しない			
			//var AP = Math.floor(Dfn.AP*(Math.random()+0.3));
			var AP = Math.floor(Atc.AP*(Math.random()+0.3));
			var DPCorrectValue = (Math.random()+0.3);
			var DP = Math.floor(Dfn.DP*(DPCorrectValue>=1?1.1:DPCorrectValue)*(myRpg.ActionGurad?1.5:1));
			damge = AP-DP;
			if(damge<=-1)damge = 0;
			if(damge!=0)Dfn.WP -= (damge/10)>=5?5:(damge/10);
		}
		//味方キャラが負けていたら処理しない
		if(myRpg.Charctor.HP>=1){
			if(Atc.Type != 0)myRpg.WearBreak(Dfn);		
			Dfn.HP = (Dfn.HP-damge)<0?0:(Dfn.HP-damge);
			msg += Atc.Name + "の攻撃！<br>";
			if(damge>=1)msg += Dfn.Name + "に" + damge +"のダメージを与えた！";
			if(damge==0)msg += Dfn.Name + "に" + "ダメージを与えられない！";
			if(!_self.product_flg){
				if((Atc.Type != 0)&&(Dfn.WP==20))myBT.showMessage("※体験版はこれ以上衣服の破損はありません。");
			}
			if((Dfn.HP<=0)&&(Atc.Type == 0)){
				msg += "<br>"+Dfn.Name + "を倒した！";
				msg += myRpg.CheckGuildData(Dfn.Name);
			}
			if((Dfn.HP<=0)&&(Dfn.Type == 0))msg += "<br>"+Dfn.Name + "は戦いに敗れてしまった！";
			myBT.showMessage(msg);
		}
		//HPゼロ処理
		if(Dfn.HP<=0){
			//敵の場合
			if(Dfn.Type != 0){
				//敵の絵を消す
				_self.HiddenBox(Dfn.imgId);
				if(myBE.Flg[16]!==undefined){
					if(myBE.Flg[16].select!==undefined){
						var flg = (myBE.Flg[16].select == 1);
						if(flg)myBE.Flg[16].value++;
					}
				}
				var KnockDown = 0;
				for(var loop in myRpg.BattleEnemy){
					if(myRpg.BattleEnemy[loop].HP<=0){
						KnockDown++
					}
				}
				console.log("myRpg.BattleEnemy.length==KnockDown:"+(myRpg.BattleEnemy.length==KnockDown)?1:0);
				if(myRpg.BattleEnemy.length==KnockDown)myRpg.VictoryFlg = true;
			}
			//味方キャラの場合
			else{
				//戦闘を終了にさせる
				myRpg.BattleEndFlg = true;
				myRpg.BattleLose = true;
				myRpg.ArenaBattleLose = true;
				myRpg.Charctor.HP = 0;
				document.onmousedown = function(){
					myRpg.BattleEndProc();
					//メニュー
					_self.ViewBox("menu1");
				}
			}
		}
		//パラメータ修正
		myRpg.ShowParam();
	}
	
	//回復処理
	RecoveryProc(target){
		var msg = "";
		var MIdx = myRpg.MagicSelect;
		var addIdx = myRpg.MagicAdd;
		var IPCorrectValue = (Math.random()+0.3);
		var RecoveryValue = 0;
		if(IPCorrectValue>=1.1)IPCorrectValue=1.1;
		RecoveryValue = Math.floor((target.IP+myRpg.Magics[MIdx].Value)*myRpg.Magics[addIdx].UseMp*IPCorrectValue);
		target.MP = target.MP - (myRpg.Magics[MIdx].UseMp*myRpg.Magics[addIdx].UseMp);
		target.HP += RecoveryValue;
		if(target.HP >= target.MAXHP)target.HP = target.MAXHP;
		msg += target.Name + "は" + RecoveryValue+"回復した。";
		myBT.showMessage(msg);
		myRpg.ShowParam();
	}
	
	//攻撃
	Attack(){
		myBT.setCommandProcessing(myBT.CommandBtlAttack,function(){
			//消費MPクリア
			myRpg.UseMpCheck = 0;
			//通常攻撃クリア
			myRpg.AttackSelect = 0;
			//初回メニュー生成
			var attackMenu = _self.Elm(myRpg.AttackMenu,_self.TypeID);
			if((attackMenu == undefined)||(attackMenu == null)){
				var parent = _self.Elm("operation",_self.TypeID);
				myBT.setCommonBox(parent,myRpg.AttackMenu,"50px","100px");
				var elm = _self.Elm(myRpg.AttackMenu,_self.TypeID);
				elm.style.backgroundColor = "rgba(0,0,0,0.8)";
				elm.style.width = "300px";
				//通常攻撃
				_self.AddCommand(myRpg.AttackMenu,"NormalAttack","通常攻撃：消費MP0");
				myBT.setCommandProcessing("NormalAttack",function(){
					myBT.showMessage("通常攻撃：ターゲットを選んでください。");
					myRpg.AttackSelect = 1;
					myRpg.MagicReturn();
					myRpg.TargetLock(1);
					myRpg.Decision();
				});
				//魔法
				for(var loop in myRpg.Magics){
					var MagicId = myRpg.Magics[loop].MagicId;
					var data = myRpg.Magics[loop];
					if(MagicId>=0){
						//各魔法コマンド
						_self.AddCommand(myRpg.AttackMenu,"MagicId"+loop,data.Name+"：消費MP"+data.UseMp);
						myBT.setCommandProcessing("MagicId"+loop,function(){
							//魔法コマンドメニュー非表示
							myRpg.MagicReturn();
							//魔法コマンド設定
							myRpg.MagicSelect = this.id.replace("MagicId","");
							//詠唱コマンド初回生成
							var addMenu = _self.Elm("addMenu",_self.TypeID);
							if((addMenu == undefined)||(addMenu == null)){
								var parent = _self.Elm("operation",_self.TypeID);
								myBT.setCommonBox(parent,"addMenu","50px","100px");
								var elm2 = _self.Elm("addMenu",_self.TypeID);
								elm2.style.backgroundColor = "rgba(0,0,0,0.8)";
								elm2.style.width = "300px";
								//詠唱コマンド
								for(var loop in myRpg.Magics){
									var MagicId = myRpg.Magics[loop].MagicId;
									var data = myRpg.Magics[loop];
									if(MagicId<0){
										//各コマンド生成
										_self.AddCommand(elm2.id,"MagicId"+loop,data.Name+"：消費MP×"+data.UseMp);
										//コマンド毎処理生成
										myBT.setCommandProcessing("MagicId"+loop,function(){
											if(myRpg.Magics[loop].LV>myRpg.Charctor.LV)_self.HiddenBox("MagicId"+loop);
											myRpg.MagicAdd = this.id.replace("MagicId","");
											myRpg.MagicAddReturn();
											var selctIdx = myRpg.MagicSelect;
											var addIdx = myRpg.MagicAdd;
											var SelectMagic = myRpg.Magics[selctIdx].Name;
											var SelectAdd = myRpg.Magics[addIdx].UseMp;
											myRpg.UseMpCheck += (myRpg.Magics[selctIdx].UseMp*myRpg.Magics[addIdx].UseMp);
											if(myRpg.Charctor.MP >= myRpg.UseMpCheck){
												if(myRpg.Magics[selctIdx].MagicId!=2)myBT.showMessage("選択魔法＆威力："+SelectMagic+"×"+SelectAdd+"\r\nターゲットを選んでください。");
												if(myRpg.Magics[selctIdx].MagicId==2)myBT.showMessage("選択魔法＆威力："+SelectMagic+"×"+SelectAdd+"\r\n回復魔法はこのまま決定してください。");
												myRpg.TargetLock();
												myRpg.Decision();
											}else{
												myRpg.MagicAddReturn();
												myRpg.MagicMenuView();
												myBT.showMessage("MPが足りません。選択しなおしてください。");
											}
										});
									}
								}
								//詠唱コマンド・戻る生成
								_self.AddCommand(elm2.id,"MagicAddReturn","戻る");
								//詠唱コマンド非表示処理
								myRpg.MagicAddReturn = function(){
									for(var loop in myRpg.Magics){
										var MagicId = myRpg.Magics[loop].MagicId;
										if(MagicId<0){
											_self.HiddenBox("MagicId"+loop);
										}
									}
									_self.HiddenBox("MagicAddReturn");					
									_self.HiddenBox("addMenu");
								}
								//詠唱コマンド・戻る処理
								myBT.setCommandProcessing("MagicAddReturn",function(){
									myRpg.MagicAddReturn();
									myRpg.MagicMenuView();
								});
								myRpg.MagicAddView = function(){
									//表示
									_self.ViewBox("addMenu");					
									for(var loop in myRpg.Magics){
										if(myRpg.Magics[loop].LV>myRpg.Charctor.LV)continue;
										var MagicId = myRpg.Magics[loop].MagicId;
										if(MagicId<0){
											_self.ViewBox("MagicId"+loop);
										}
									}
									_self.ViewBox("MagicAddReturn");
									myBT.showMessage("詠唱タイプをクリック（タップ）で選択。\r\n消費MPの倍率で威力も変わります。");									
								}
								myRpg.MagicAddReturn();
								myRpg.MagicAddView();
								myBT.showMessage("詠唱タイプをクリック（タップ）で選択。\r\n消費MPの倍率で威力も変わります。");
							}else{
								//表示
								myRpg.MagicAddView();
							}
						});
					}
				}
				//魔法コマンドメニュー・戻る
				_self.AddCommand(myRpg.AttackMenu,"MagicReturn","戻る");
				//魔法コマンド非表示処理
				myRpg.MagicReturn = function(){
					for(var loop in myRpg.Magics){
						var MagicId = myRpg.Magics[loop].MagicId;
						if(MagicId>=0){
							_self.HiddenBox("MagicId"+loop);
						}
					}
					_self.HiddenBox("MagicReturn");					
					_self.HiddenBox(myRpg.AttackMenu);
				}
				//魔法コマンドメニュー・戻る処理
				myBT.setCommandProcessing("MagicReturn",function(){
					myRpg.MagicReturn();				
					myBT.showMessage("");
				});
				//魔法コマンドメニュー表示
				myRpg.MagicMenuView = function(){
					//表示
					_self.ViewBox(myRpg.AttackMenu);					
					for(var loop in myRpg.Magics){
						if(myRpg.Magics[loop].LV>myRpg.Charctor.LV)continue;
						var MagicId = myRpg.Magics[loop].MagicId;
						if(MagicId>=0){
							_self.ViewBox("MagicId"+loop);
						}
					}
					_self.ViewBox("MagicReturn");
					myBT.setCommandProcessing("MagicReturn",function(){
						myRpg.MagicReturn();
						myBT.showMessage("");
					});					
					myBT.showMessage("魔法をクリック（タップ）で選択。");
				}
				myRpg.MagicReturn();
				myRpg.MagicMenuView();
				myBT.showMessage("魔法をクリック（タップ）で選択。");				
			}else{
				myRpg.MagicMenuView();
			}
			return;
		});
	}
	
	//決定画面
	Decision(){
		//初回メニュー生成
		var DecisionMenu = _self.Elm(myRpg.DecisionMenu,_self.TypeID);
		_self.HiddenBox("menu1");
		if((DecisionMenu == undefined)||(DecisionMenu == null)){
			var parent = _self.Elm("operation",_self.TypeID);
			myBT.setCommonBox(parent,myRpg.DecisionMenu,"150px","130px");
			var elm = _self.Elm(myRpg.DecisionMenu,_self.TypeID);
			elm.style.width = "100px";
			elm.style.backgroundColor = "rgba(0,0,0,0.8)";
			//決定
			_self.AddCommand(myRpg.DecisionMenu,"Decision1","決定");
			myBT.setCommandProcessing("Decision1",function(){
				//消費MP最終チェック
				var count = 0;
				for(var loop in myRpg.TargetEnemy){
					if(myRpg.TargetEnemy[loop]!=-1)count++;
				}
				if(myRpg.AttackSelect==0){
					if(myRpg.Charctor.MP >= myRpg.UseMpCheck*count){
						var Index = parseInt(myRpg.MagicSelect);
						var Heel = myRpg.Magics[Index].MagicId!=2
						if(!Heel)myRpg.TargetEnemy[0]=1;
						_self.HiddenBox(myRpg.DecisionMenu);
						myRpg.BattleProcessing();
					}else{
						_self.Elm("Decision2",_self.TypeID).onmousedown();
						myRpg.TargetEnemy = [-1,-1,-1];
						myBT.showMessage("MPが足りません。選択しなおしてください。");
					}
				}else{
					_self.HiddenBox(myRpg.DecisionMenu);
					myRpg.BattleProcessing();					
				}
			});
			//キャンセル
			_self.AddCommand(myRpg.DecisionMenu,"Decision2","キャンセル");
			myBT.setCommandProcessing("Decision2",function(){
				for(var index in myRpg.TargetBoxFunc){
					var key = myRpg.TargetBoxFunc[index].id;
					myImg.ImageView(key,true,true);					
				}
				_self.HiddenBox(myRpg.DecisionMenu);
				_self.ViewBox("menu1");
			});
		}else{
			_self.ViewBox(myRpg.DecisionMenu);
		}			
	}
	
	//枠消す
	BattleItem(){
		myBT.setCommandProcessing(myBT.CommandBtlItem,function(){
			_self.Elm(myBT.CommandItem,_self.TypeID).onmousedown();
		});
	}
	//逃げる
	Escape(){
		myBT.setCommandProcessing(myBT.CommandBtlEscape,function(){
			document.onmousedown = function(){
				if((myRpg.Enemy3Index==-1)&&(myRpg.Enemy2Index==-1)&&(myRpg.EventBattleCount===false)&&(myRpg.BattleEnemy[0].Name!="デーモン・コマンダー")&&(myRpg.BattleEnemy[0].Name!="山賊リーダー・ハーフデーモン")){
					myRpg.BattleEndProc();
					myBT.showMessage("サーシャは逃げ出した！");
				}else{
					myBT.showMessage("逃げられない！");
				}
			}
		});
	}
	
	//戦闘終了処理
	BattleEndProc(){
		if(myRpg.BattleLose)myRpg.Charctor.HP = 1;
		myBT.showMessage("");
		myRpg.BindStatus　= false;
		myRpg.ClearBattleMode();
		var elm = _self.Elm("menu1",_self.TypeID);
		elm.style.left = myRpg.MenuSave['left'];
		elm.style.top = myRpg.MenuSave['top'];
		myRpg.BattleFlg = false;
		myBT.MenuHidden();
		myBT.MenuView();
		//戦闘ミュージック停止
		myProc.music(3,myST.BGM_OFF);				
		myRpg.ShowParam(false);
		document.onmousedown = null;
		myProc.moveBefore(myProc.moveIndex);
		//日付と時間非表示
		_self.ViewBox(myBT.IDDayTime);
		
		//闘技場
		if((myRpg.Enemy2Index!=-1)&&(myRpg.Enemy3Index!=-1)){
			//設定
			myImg.backCorrect++;
			myRpg.ArenaBattleEnd = true;
		}
		/*/村イベントの場合
		var mvIdx = myProc.moveIndex;
		if(mvIdx==37){
			myBE.excuteEvent(7);
		}
		//遺跡ボス終了時
		else if(mvIdx==85){
			var exc = myBE.serchExecuteEvent();
			myBE.excuteEvent(exc);			
		}
		//山賊討伐終了時
		else if(myRpg.BattleEnemy[0].Name=="山賊リーダー・ハーフデーモン"){
			myRpg.BattleFlg = true;
			myBE.excuteEvent(18);
		}
		//通常戦闘敗北
		else if(myRpg.BattleLose){
			myRpg.BattleFlg = true;
			myBE.excuteEvent((myST.GetEvent().length-1));
		}*/
	}

	//敵出現パターン
	ShowEnemyPatturn(){
		myRpg.AreaEnemyPattern = function(){
			var mvIdx = myProc.moveIndex;
			//ダンジョン
			if(mvIdx==13){
				myRpg.AreaEnemyArray.length = 0;
				var start = 0;
				var end = 3;
				var mapIndex = myRpg.Charctor.MAPINDEX;
				if(mapIndex == 1){
					start = 2;
					end = 5;
				}else if(mapIndex == 2){
					start = 4;
					end = 9;					
				}else if(mapIndex == 3){
					start = 7;
					end = 12;					
				}
				for(var idx=start;idx<=end;idx++){
					myRpg.AreaEnemyArray[myRpg.AreaEnemyArray.length] = myRpg.EnemyArray[idx];
				}
			}else if(myRpg.Enemy2Index!=-1){
				myRpg.AreaEnemyArray.length = 0;
				myRpg.AreaEnemyArray[myRpg.AreaEnemyArray.length] = myRpg.EnemyArray2[myRpg.Enemy2Index];
			}else if(myRpg.Enemy3Index!=-1){
				myRpg.AreaEnemyArray.length = 0;
				myRpg.AreaEnemyArray[myRpg.AreaEnemyArray.length] = myRpg.EnemyArray3[myRpg.Enemy3Index];
			}
			/*//遺跡・イベント
			var eventNo1 = 3;
			var eventNo2 = 6;
			var eventNo3 = 10;
			var event_boss = 8;
			if((!myBE.Flg[4])||(myBE.Flg[4]===undefined)){
				if((mvIdx==85)&&(myBE.Flg[eventNo1]==2)&&(!myBE.EndFlg[eventNo2])){
					var event = myBE.getBaseEvent(eventNo2);
					event[myBE.End] = true;
					myRpg.AreaEnemyArray.length = 0;
					myRpg.AreaEnemyArray[myRpg.AreaEnemyArray.length] = myRpg.EnemyArray[event_boss];
				}else if((mvIdx==85)&&(myBE.Flg[eventNo1]!=2)&&(!myBE.EndFlg[eventNo3])){
					var event = myBE.getBaseEvent(eventNo3);
					event[myBE.End] = true;
					myRpg.AreaEnemyArray.length = 0;
					myRpg.AreaEnemyArray[myRpg.AreaEnemyArray.length] = myRpg.EnemyArray[event_boss];
				}
			}
			//山賊討伐
			if((myBE.Flg[16]!==undefined)&&(myBE.Flg[16]!=false)){
				if(((mvIdx==109)&&(myBE.EndFlg[21]))||((mvIdx==97)&&(myBE.EndFlg[17]))){
					myRpg.AreaEnemyArray.length = 0;
					myRpg.AreaEnemyArray[myRpg.AreaEnemyArray.length] = myRpg.EnemyArray[16];//山賊リーダー・ハーフデーモン				
				}
			}*/
		}
		_self.setTimer(function(){
			//出現パターン設定
			var ptr1 = Math.floor(Math.random() * myRpg.EnemyPatturn.length);
			var patturn = myRpg.EnemyPatturn[ptr1];
			//闘技場用
			if(myRpg.Enemy2Index!=-1){
				patturn = [["LL",[0,150]]];
			}
			if(myRpg.Enemy3Index!=-1){
				patturn = [["LL",[0,150]]];
			}
			/*//遺跡イベント用/パターン固定
			if((myProc.moveIndex==85)&&(myBE.Flg[3]==2)&&(!myBE.EndFlg[6])){
				patturn = myRpg.EnemyPatturn[2];
			}else if((myProc.moveIndex==85)&&(myBE.Flg[3]!=2)&&(!myBE.EndFlg[10])){
				patturn = myRpg.EnemyPatturn[2];
			}
			//山賊討伐用・パターン固定
			if((myBE.Flg[16]!==undefined)&&(myBE.Flg[16]!=false)){
				if((myBE.Flg[16].select==1)&&(myProc.moveIndex==97)){
					patturn = myRpg.EnemyPatturn[2];
				}
				if((myBE.Flg[16].select==2)&&(myProc.moveIndex==109)){
					patturn = myRpg.EnemyPatturn[2];
				}
			}*/
			//表示設定
			do{
				myRpg.AreaEnemyPattern();
				myRpg.BattleEnemy.length = 0;
				for(var loop in patturn){
					var enemy = 0;
					var Count = 10;
					if(loop>patturn.length)continue;
					while(1){
						//出現敵設定
						enemy = Math.floor(Math.random() * myRpg.AreaEnemyArray.length);
						//ループ値が超えるようなら
						if(loop>=patturn.length){
							//処理から抜ける
							console.log("ShowEnemyPatturn...breakOut");
							break;
						}
						//出現する敵のタイプがパターンと異なるなら繰り返す。
						if(myRpg.AreaEnemyArray[enemy].MarginType == patturn[loop][0]){
							var index = (parseInt(loop)+1);
							console.log("monster"+index+",patturn:"+patturn[loop][1]);
							myImg.SetImgPos("monster"+index,patturn[loop][1]);
							myRpg.ShowEnemy("monster"+index,enemy,false);
							myRpg.BattleEnemy[myRpg.BattleEnemy.length] = JSON.parse(JSON.stringify(myRpg.AreaEnemyArray[enemy]));
							myRpg.BattleEnemy[myRpg.BattleEnemy.length-1].MonsterID = "monster"+index;
							break;
						}					
						//どうしてもパターンが一致しない場合。
						Count--;
						if(Count <= 0){
							//画像設定クリア
							myImg.SetIndexPos("monster1",0);
							myImg.SetIndexPos("monster2",0);
							myImg.SetIndexPos("monster3",0);
							//パターン再設定
							ptr1 = Math.floor(Math.random() * myRpg.EnemyPatturn.length);
							patturn = myRpg.EnemyPatturn[ptr1];
							Count = 10;
							loop = 0;
							enemy = "";
							//戦闘敵データクリア
							myRpg.BattleEnemy.length = 0;
							console.log("ShowEnemyPatturn...reset");
							continue;
						}
					}
				}
				console.log("ShowEnemyPatturn...End patturn:"+patturn.length+",BattleEnemy:"+myRpg.BattleEnemy.length);
			}while(!(patturn.length == myRpg.BattleEnemy.length));
			console.log("------BattleEnemy-------");
			console.log(myRpg.BattleEnemy);									
			myImg.AllImageView(true,true,false);
		},100);
	}
	
	//敵非表示
	AllClearEnemy(){
		//表示クリア設定
		for(var loop=1;loop<=3;loop++){
			myImg.SetIndexPos("monster"+loop,0);
			myImg.ClearImage("monster"+loop);
		}
	}
	
	//敵表示
	ShowEnemy(posIdx,EmIndx,viewFlg=true,clearFlg=true){
		if(clearFlg)myImg.ClearImage(posIdx);
		var Enemy = this.AreaEnemyArray[EmIndx];
		var Mrgin = 0.5;
		if(Enemy.MarginType=="M")Mrgin = 0.4;
		if(Enemy.MarginType=="L")Mrgin = 0.35;
		console.log("posIdx:"+posIdx+",EmIndx:"+EmIndx+"Enemy.ImgID:"+Enemy.ImgID);
		console.log("Enemy:"+JSON.stringify(Enemy));
		myImg.SetIndexPos(posIdx,Enemy.ImgID);
		myImg.SetImageMagn(posIdx,Mrgin);
		var id = myImg.GetCanvasTarget(posIdx);
		_self.ViewBox(id);
		if(viewFlg)myImg.ImageView(posIdx,true,clearFlg);
	}
	
	//魔法効果描画表示
	ShowAttackEffect(EfIndx,EnemyIdx,viewFlg=true,clearFlg=true){
		var idx = "MagicEffect";
		var Magic = myRpg.Magics[EfIndx];
		var Mrgin = 0.5;
		if(!myRpg.MagicAnimiton)myRpg.MagicCount = 0;
		//物理攻撃
		if(myRpg.AttackSelect!=0){
			Magic = myRpg.Attacks[0];
			idx = "BattleEffect";
		}
		if(myRpg.MagicCount==0){
			console.log("ShowAttackEffect...HP:"+myRpg.Charctor.HP);
			console.log("MagicAnimitonNext:"+JSON.stringify(myRpg.MagicAnimitonNext));
			console.log("MagicAnimitonNext.length:"+myRpg.MagicAnimitonNext.length);
		}
		//if(myRpg.Charctor.HP<0)return;
		//アニメーションカウントチェック
		if(myRpg.MagicCount>Magic.Count||(myRpg.Charctor.HP<=0)){
			if(EnemyIdx!=-1){
				if(!myRpg.AttackSelect){
					if(Magic.Type == 0)myRpg.DamgeProc(myRpg.Charctor,myRpg.BattleEnemy[EnemyIdx]);
					if(Magic.Type == 1)myRpg.RecoveryProc(myRpg.Charctor);
				}else{
					myRpg.DamgeProc(myRpg.Charctor,myRpg.BattleEnemy[EnemyIdx]);
				}
			}
			//超えていたら最後にアニメーション消去
			myImg.SetIndexPos(idx,0);
			if(viewFlg)myImg.ImageView(idx,true,clearFlg);			
			//アニメーションフラグ停止
			myRpg.MagicAnimiton = false;
			//次のアニメーションがあるなら
			if(myRpg.MagicAnimitonNext.length!=0){
				//次のアニメーションを再生
				var data = myRpg.MagicAnimitonNext.shift();
				console.log("ShowAttackEffect...NextMagic:"+data);
				if(data!=undefined)myRpg.AttackAct1(data);
			}
			//物理攻撃解除
			myRpg.AttackSelect = 0;
			//アニメーションカウントを減算しておく
			myRpg.MagicAttackCount--;
			//魔法アニメーションがないなら
			if((myRpg.MagicAnimitonNext.length==0)&&(myRpg.MagicAttackCount<=0)&&(Magic.MagicId>=0)){
				//敵攻撃アニメーションをチェック
				if(myRpg.BattleAnimitonNext.length!=0){
					//あるなら再生
					var data = myRpg.BattleAnimitonNext.shift();
					myRpg.AttackAct2(data);
				}
			}
			return;
		}
		var Option = [
			EfIndx,EnemyIdx,viewFlg,clearFlg,idx,Magic
		];
		var time = 100;
		if(Magic.time!==undefined)time = Magic.time;
		if((myRpg.AttackSelect==0)&&(Magic.MagicId <= -1)){
			myImg.SetImgPos(idx,[60,150]);
			if(_self.width_hi<400)myImg.SetImgPos(idx,[30,140]);
			myImg.SetImageMagn(idx,1);
		}else if(Magic.Type==0){
			var x_pos = myRpg.TargetBoxFunc[EnemyIdx].x1;
			var y_pos = myRpg.TargetBoxFunc[EnemyIdx].y1;
			var Magn = 0.5;
			if(myRpg.MagicAdd==0){
				x_pos = x_pos-50;
				y_pos = y_pos-50;
				if(myRpg.BattleEnemy[EnemyIdx].MarginType=="L"){
					y_pos = y_pos+50;
				}
			}			
			if(myRpg.MagicAdd==1){
				Magn = 0.6;
				x_pos = x_pos-80;
				y_pos = y_pos-60;
				if(myRpg.BattleEnemy[EnemyIdx].MarginType=="L"){
					x_pos = x_pos+20;
					y_pos = y_pos+10;
				}
			}
			if(myRpg.MagicAdd==2){
				Magn = 0.8;
				x_pos = x_pos-140;
				y_pos = y_pos-120;
				if(myRpg.BattleEnemy[EnemyIdx].MarginType=="L"){
					x_pos = x_pos+20;
					y_pos = y_pos+30;
				}
			}
			x_pos += Magic.MarginX;
			y_pos += Magic.MarginY;
			//敵サイズで表示
			var EnemyPos = [x_pos,y_pos];
			myImg.SetImgPos(idx,EnemyPos);
			myImg.SetImageMagn(idx,Magn);
		}else if(Magic.Type==1){
			var axisBox = [240,140];
			if(_self.width_hi<400)axisBox = [200,140];
			var Magn = 0.5;
			if(myRpg.MagicAdd==1){
				Magn = 0.6;
				axisBox[0] = axisBox[0] -50;
				axisBox[1] = axisBox[1] -50;
			}
			if(myRpg.MagicAdd==2){
				Magn = 0.8;
				axisBox[0] = axisBox[0] -80;
				axisBox[1] = axisBox[1] -60;
			}			
			myImg.SetImgPos(idx,axisBox);
			myImg.SetImageMagn(idx,Magn);
		}
		if(myRpg.MagicCount==0)time = 0;
		if(!myRpg.MagicAnimiton){
			var index = 0;
			//魔法
			if(Magic.AttackId==undefined){
				if(Magic.MagicId<=-1)index = 1;
				if(Magic.MagicId==0)index = 2;
				if(Magic.MagicId==1)index = 3;
				if(Magic.MagicId==2)index = 6;
				if(Magic.MagicId==3)index = 5;
			}
			//物理攻撃
			else{
				if(Magic.AttackId==0)index = 7;
			}
			//二重再生防止
			if(((myProc.musSEBackIndex==index)&&(index!=1))||(myProc.musSEBackIndex!=index)){
				myProc.SESound(index,1);//初回のみ効果音
				myProc.SESound(index,0);//初回のみ効果音
				myProc.musSEBackIndex = index;
			}else{
				myProc.musSEBackIndex = 0;
			}
		}
		myRpg.MagicAnimiton = true;		
		_self.setTimer(function(arg){
			var ImgIdx = myImg.GetIndexPos(arg[4]);
			var EfIdx = myRpg.MagicCount++;
			if(!myRpg.MagicAnimiton)return;
			myImg.SetIndexPos(arg[4],arg[5].ImgId+EfIdx);
			if(viewFlg)myImg.ImageView(arg[4],true,clearFlg);
			myRpg.ShowAttackEffect(arg[0],arg[1],arg[2],arg[3]);
		},time,Option);
	}
	
	//戦闘効果描画表示
	ShowBattleEffect(EfIndx,viewFlg=true,clearFlg=true){
		var idx = "BattleEffect";
		var BattleData = myRpg.BattleEnemy[EfIndx];
		if(!myRpg.BattleAnimition)myRpg.BattleCount = 0;	
		if(BattleData.Count==undefined)return;
		if((myRpg.BattleCount>BattleData.Count)||(BattleData.HP<=0)||(myRpg.Charctor.HP<0)){
			myRpg.DamgeProc(BattleData,myRpg.Charctor);
			//攻撃描写後始末
			myImg.SetIndexPos(idx,0);
			if(viewFlg)myImg.ImageView(idx,true,clearFlg);			
			//敵攻撃位置から戻す
			var xpos = myRpg.TargetBoxFunc[EfIndx].x1;
			var width = myRpg.TargetBoxFunc[EfIndx].x2;
			var ypos = myRpg.TargetBoxFunc[EfIndx].y1
			var height = myRpg.TargetBoxFunc[EfIndx].y2;
			myImg.SetImgPos(BattleData.MonsterID,[xpos,ypos]);
			if(viewFlg)myImg.ImageView(BattleData.MonsterID,viewFlg,clearFlg);
			myImg.ClearImage(BattleData.MonsterID,[width,0,width+(30*_self.zoom_value),height]);
			myRpg.BattleAnimition = false;
			if(myRpg.BattleAnimitonNext.length!=0){
				var data = myRpg.BattleAnimitonNext.shift();
				console.log("ShowBattleEffect...NextMagic(AttackAct2):"+data);
				if(!myRpg.BattleLose)myRpg.AttackAct2(data);
			}
			myRpg.BattleAttackCount--;
			if((myRpg.BattleAnimitonNext.length==0)&&(myRpg.BattleAttackCount<=0)){
				if(myRpg.MagicAnimitonNext.length!=0){
					/*var data = myRpg.MagicAnimitonNext.shift();
					console.log("ShowBattleEffect...NextMagic(AttackAct1):"+data);*/
					if(!myRpg.BattleLose){
						myRpg.AttacPhaseTimer();
					}
				}
			}			
			return;
		}		
		var Option = [
			EfIndx,viewFlg,clearFlg,idx,BattleData
		];
		var time = 100;
		//敵攻撃位置へ移動
		var xpos = myRpg.TargetBoxFunc[EfIndx].x1+(30*_self.zoom_value);
		var ypos = myRpg.TargetBoxFunc[EfIndx].y1
		myImg.SetImgPos(BattleData.MonsterID,[xpos,ypos]);
		if(viewFlg)myImg.ImageView(BattleData.MonsterID,true,true);
		myImg.ClearImage(BattleData.MonsterID,[0,0,xpos,_self.height_hi]);
		//攻撃アニメーション位置設定
		myImg.SetImgPos(idx,[240,140]);
		if(_self.width_hi<400)myImg.SetImgPos(idx,[220,140]);
		if(myRpg.BattleCount==0)time = 0;
		_self.setTimer(function(arg){
			var EfIdx = myRpg.BattleCount++;
			if(!myRpg.BattleAnimition){
				myProc.SESound(0,1);//初回のみ効果音
				myProc.SESound(0,0);//初回のみ効果音
			}				
			myRpg.BattleAnimition = true;		
			myImg.SetIndexPos(arg[3],arg[4].BattleImgID+EfIdx);
			if(viewFlg)myImg.ImageView(arg[3],arg[1],arg[2]);
			myRpg.ShowBattleEffect(arg[0],arg[1],arg[2]);
		},time,Option);		
	}
	
	//敵選択
	TargetLock(TargetCount = 0){
		//表示クリア設定
		var ShowId = "";
		myRpg.TargetBoxFunc.length = 0;
		var Index = parseInt(myRpg.MagicSelect);
		var Heel = myRpg.Magics[Index].MagicId!=2
		//物理攻撃なら魔法選択解除
		if(myRpg.AttackSelect)Heel = true;
		for(var loop=1;loop<=3;loop++){
			if(myRpg.BattleEnemy.length<loop)return;
			//クリック座標取得
			var idx = parseInt(myImg.GetIndexPos("monster"+loop));
			var id = myImg.GetCanvasTarget("monster"+loop);
			var Data = _self.GetImage("monster"+loop+idx);
			var Mrgin = myImg.GetImageMagn("monster"+loop);
			var xpos = myImg.GetImgPos("monster"+loop,0);
			var ypos = myImg.GetImgPos("monster"+loop,1);
			//座標設定
			myRpg.BattleEnemy[loop-1].imgId = id;
			myRpg.TargetBoxFunc[myRpg.TargetBoxFunc.length] = {id:"monster"+loop}
			myRpg.TargetBoxFunc[myRpg.TargetBoxFunc.length-1].x1 = xpos;
			myRpg.TargetBoxFunc[myRpg.TargetBoxFunc.length-1].x2 = xpos+Data.Buff.width*Mrgin;
			myRpg.TargetBoxFunc[myRpg.TargetBoxFunc.length-1].y1 = ypos;
			myRpg.TargetBoxFunc[myRpg.TargetBoxFunc.length-1].y2 = ypos+Data.Buff.height*Mrgin;
			//回復時はここまで
			if((!Heel)||(myRpg.ActionGurad))continue;
			//クリック時判定
			myRpg.TargetBoxFunc[myRpg.TargetBoxFunc.length-1].func = function(e,index){
				var canvas = _self.Elm(this.id,_self.TypeID);
				var zoom_value = _self.zoom_value;
				if((e.x>=(myRpg.TargetBoxFunc[index].x1*zoom_value))&&(e.x<=(myRpg.TargetBoxFunc[index].x2*zoom_value))){
					if((e.y>=(myRpg.TargetBoxFunc[index].y1*zoom_value))&&(e.y<=(myRpg.TargetBoxFunc[index].y2*zoom_value))){
						var id = myRpg.BattleEnemy[index].imgId;
						var life = myRpg.BattleEnemy[index].HP;
						if(myRpg.TargetEnemy[index]==-1){
							var count = 0;
							//物理攻撃時ターゲット制限
							if(myRpg.AttackSelect){
								for(var loop2 in myRpg.TargetEnemy){
									if(myRpg.TargetEnemy[loop2]!=-1)count++;
								}
							}
							if((TargetCount==0||(TargetCount>count))&&(life>=1)){
								console.log("Target...count:"+count);
								var canvas = _self.Elm(id,_self.TypeID);
								var ctx = canvas.getContext('2d'); 
								ctx.strokeStyle   = 'red'; 
								var xpos = myRpg.TargetBoxFunc[index].x1+(25*_self.zoom_value);
								var ypos = myRpg.TargetBoxFunc[index].y1+(25*_self.zoom_value);
								var width = (myRpg.TargetBoxFunc[index].x2 - myRpg.TargetBoxFunc[index].x1)/2;
								var height = (myRpg.TargetBoxFunc[index].y2 - myRpg.TargetBoxFunc[index].y1)/2;
								ctx.strokeRect(xpos,ypos,width,height);
								myRpg.TargetEnemy[index] = id;
							}
							count = 0;
							for(var loop in myRpg.TargetEnemy){
								if(TargetCount==0&&(myRpg.TargetEnemy[loop]!=-1))count++;
							}
							if(TargetCount==0&&(myRpg.Charctor.MP < myRpg.UseMpCheck*count)){
								myBT.showMessage("MPが足りません。選択しなおしてください。");
								myRpg.TargetEnemy[index] = [-1,-1,-1];
							}
						}else{
							//決定画面が表示してる時有効
							if(_self.GetBoxStatus("DecisionMenu")){
								var key = myRpg.TargetBoxFunc[index].id;
								myImg.ImageView(key,true,true);
								console.log("index:"+index+"\n"+JSON.stringify(myRpg.TargetEnemy[index]));
								myRpg.TargetEnemy[index] = -1;
							}
						}
					}
				}
			}
		}		
	}
}
myRpg = new MyRPGSystem();