--***************************************************************
-- マップ００＿２のプレイヤーキャラクターの奥に描画するイベント
--***************************************************************
function Map00_2EventBehind(msgFlg)
	local ret = 0;

	--ネギイベント
	msgFlg, ret = NegiSearch(msgFlg);
	if ret ~= -1 then
		-- 戻り値設定
		return msgFlg, ret
	end

	return msgFlg, -1
end

--ネギイベント
function NegiSearch(msgFlg)
	--***************************************************************
	-- まだ魔法のネギを取っていない場合
	--***************************************************************
	local iRet = negiEvent(430, 257, 0, DIRECTION_RIGHT, "祓串", 6, 7);
	if iRet == 1 then
		return msgFlg, 1;
	end

	--***************************************************************
	-- イベントフラグ情報の取得
	--***************************************************************
	local eventFlg6 = getEventFlg(6);

	--***************************************************************
	-- ネギを取得し終わったらアイテム入手などの処理を行う
	--***************************************************************
	if eventFlg6 == 1 then
		-- イベントフラグを１つ進める
		-- こうしないと消費アイテムを入手後に使ってもなくならなくなってしまうため
		setEventFlg(6, 2);

		-- アイテムゲット！
		setGetWeapon(1, 1);
	end

	--***************************************************************
	-- 戻り値設定
	--***************************************************************
	return msgFlg, -1
end

--***************************************************************
-- マップ００＿２のプレイヤーキャラクターの手前に描画するイベント
--***************************************************************
function Map00_2EventBefore(msgFlg)
	local ret = 0;

	--開始直後イベント
	msgFlg, ret = StartEvent(msgFlg);
	if ret ~= -1 then
		-- 戻り値設定
		return msgFlg, ret
	end

	--ネギ取得イベント（操作説明：スキル、攻撃、コインと音符、ポーズ）
	msgFlg, ret = NegiGetEvent(msgFlg);
	if ret ~= -1 then
		-- 戻り値設定
		return msgFlg, ret
	end

	return msgFlg, -1
end

--***************************************************************
--開始直後
--***************************************************************
function StartEvent(msgFlg)
	--***************************************************************
	-- プレイヤーの位置情報の取得
	--***************************************************************
	local posX, posY, posZ = getPlayerPos();

	--***************************************************************
	-- イベントフラグ情報の取得
	--***************************************************************
	local eventFlg5 = getEventFlg(5);

	--***************************************************************
	-- 開始直後（会話）
	--***************************************************************
	if eventFlg5 == 1 and posY >= 224 then
		--***************************************************************
		-- 会話メッセージ準備
		--***************************************************************
		local msgWakuHight;

		--***************************************************************
		-- メッセージ設定
		--***************************************************************
		initMessageString();
		if msgFlg == 0 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 7, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("よし！着地成功！", LUA_WHITE);
			setStringNext("この程度できて当然だけどね。", LUA_WHITE);
			-- 操作禁止フラグの設定
			setNoOperationFlg(TRUE);
		end
		if msgFlg == 1 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 1, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("なんでこういう時に通信ができないのよ！", LUA_WHITE);
			setStringNext("もう・・・・", LUA_WHITE);
			setStringNext("危なく怪我するところだったじゃない！", LUA_WHITE);
		end
		if msgFlg == 2 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 1, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("ザザザザ…ザザ…", LUA_WHITE);
			setStringNext("何のためのクッションブーツだと思ってるんだ？", LUA_WHITE);
		end
		if msgFlg == 3 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 2, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("あっ、つながったわ。あんたねえ…", LUA_WHITE);
		end
		if msgFlg == 4 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 9, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("そもそも冒険ってのは、", LUA_WHITE);
			setStringNext("「険（けわし）きを冒（おか）す」", LUA_WHITE);
			setStringNext("という語源なんだから危険はつきものだぜ。", LUA_WHITE);
		end
		if msgFlg == 5 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 0, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("まあ、そうだけどさ…", LUA_WHITE);
			setStringNext("早速、ザコ登場ね。", LUA_WHITE);
			setStringNext("このまま倒しちゃっていい？", LUA_WHITE);
		end
		if msgFlg == 6 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 0, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("あのさぁ、冒険者ってのは状況に応じた戦い方をする", LUA_WHITE);
			setStringNext("ものだぜ。ここはアクションゲームらしく周囲に武器", LUA_WHITE);
			setStringNext("になりそうなものがないか探せよな。", LUA_WHITE);
		end

		--***************************************************************
		-- メッセージ描画
		--***************************************************************
		local iRet = dispTalkMessage(msgWakuHight);
		if iRet == 1 and isCtrlCircle() then
			-- 0.15秒待つ
			waitVn(9);
			-- メッセージ終了処理
			endMessageString();
			-- 次のメッセージ処理
			if msgFlg == 6 then
				-- 操作禁止フラグの解除
				setNoOperationFlg(FALSE);
				-- メッセージの終了
				msgFlg = 0;
				-- イベントフラグを１つ進める
				setEventFlg(5, 2);
			else
				msgFlg = msgFlg + 1
			end
		end

		--***************************************************************
		-- 戻り値設定
		--***************************************************************
		return msgFlg, 0
	end

	--***************************************************************
	-- 戻り値設定
	--***************************************************************
	return msgFlg, -1
end

--***************************************************************
--開始直後
--***************************************************************
function NegiGetEvent(msgFlg)
	--***************************************************************
	-- イベントフラグ情報の取得
	--***************************************************************
	local eventFlg7 = getEventFlg(7);
	local eventFlg8 = getEventFlg(8);

	--***************************************************************
	-- 開始直後（会話）
	--***************************************************************
	if eventFlg7 == 1 then
		--***************************************************************
		-- 会話メッセージ準備
		--***************************************************************
		local msgWakuHight;
		local stringX;
		local stringY;

		--***************************************************************
		-- メッセージ設定
		--***************************************************************
		initMessageString();
		if msgFlg == 0 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 10, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("この棒、なんて言ったっけな・・・", LUA_WHITE);
			setStringNext("えーと・・・", LUA_WHITE);
			-- 操作禁止フラグの設定
			setNoOperationFlg(TRUE);
			-- 効果音フラグの設定
			setSEFlg(2);
			-- スキル習得フラグの設定
			setLearnSkillFlg(FALSE);
		end
		if msgFlg == 1 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 6, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("祓串。巫女なら覚えておけよ・・・", LUA_WHITE);
		end
		if msgFlg == 2 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 7, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("わからない人に説明するが、よく神社の人が", LUA_WHITE);
			setStringNext("持っている先に紙がついた棒のことだぜ。", LUA_WHITE);
		end
		if msgFlg == 3 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 0, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("ところでなんでここに落ちているのよ？", LUA_WHITE);
		end
		if msgFlg == 4 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 6, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("ギクッ！", LUA_WHITE);
			setStringNext("まあまあここは制作上の理由でこうなったみたいだし。", LUA_WHITE);
			setStringNext("抗議はこのゲームの作者へお願いするぜ。", LUA_WHITE);
		end
		if msgFlg == 5 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 0, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("これがないとショットを打てないぜ。", LUA_WHITE);
			setStringNext("持っている祓串の数だけ画面内に撃てるということを", LUA_WHITE);
			setStringNext("覚えておけよ。", LUA_WHITE);
		end
		if msgFlg == 6 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 0, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("普通１本しか持てないわよ？", LUA_WHITE);
		end
		if msgFlg == 7 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 7, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("いや、これなら何個も持てるだろ。", LUA_WHITE);
			setStringNext("その代わり、飛べる限界があるぜ。", LUA_WHITE);
			setStringNext("どのくらいだったかは忘れたけどな。", LUA_WHITE);
		end
		if msgFlg == 8 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 7, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("えー。意味ないじゃん。", LUA_WHITE);
			setStringNext("でもスペルカードを使える広さではないわね", LUA_WHITE);
		end
		if msgFlg == 9 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_RIGHT, KAO_GRA_RUKA, 0, KAO_GRA_EFFECT_HEADSET, TRUE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("魔理沙", LUA_SKYBLUE);
			setStringNext("そういうことだからな。", LUA_WHITE);
			setStringNext("じゃあ、早速、その辺りのザコを", LUA_WHITE);
			setStringNext("やっつけて、ここまで来てくれよな。じゃあ。", LUA_WHITE);
		end
		if msgFlg == 10 then
			msgWakuHight = dispTalkMessagePreparation4(KAO_GRA_LEFT, KAO_GRA_MIKU, 1, KAO_GRA_EFFECT_HEADSET, FALSE);
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			setStringNext("霊夢", LUA_SKYBLUE);
			setStringNext("ではとりあえずやっつけるか。", LUA_WHITE);
		end
		if msgFlg == 11 then
			--             ■■■■■■■■■■■■■■■■■■■■■■■■■
			-- 習得したスキルを表示
			msgWakuHight, stringX, stringY = dispTalkMessagePreparation();
			learnSkill( 1, 0, stringX, stringY);
			if getSEFlg() == 2 and getLearnSkillFlg() == FALSE then
				setSEFlg(0);
				setLearnSkillFlg(TRUE);
			end
		end

		--***************************************************************
		-- メッセージ描画
		--***************************************************************
		local iRet = dispTalkMessage(msgWakuHight);
		if iRet == 1 then
			if getLearnSkillFlg() == TRUE then
				if getSEFlg() == 0 then
					setSEFlg(1);
				else
					if getSEFlg() == 1 then
						playMP3NormalAfterBeforePlayMp3(MP3_SE_SKILL_GET);
						setSEFlg(2);
					end
				end
			end
			if isCtrlCircle() then
				-- 0.15秒待つ
				waitVn(9);
				-- メッセージ終了処理
				endMessageString();
				-- 次のメッセージ処理
				if msgFlg == 11 then
					-- 操作禁止フラグの解除
					setNoOperationFlg(FALSE);
					-- メッセージの終了
					msgFlg = 0;
					-- イベントフラグを１つ進める
					setEventFlg(7, 2);
					setEventFlg(8, 1);
				else
					msgFlg = msgFlg + 1
				end
			end
		end

		--***************************************************************
		-- 戻り値設定
		--***************************************************************
		return msgFlg, 0
	end

	--***************************************************************
	-- 操作説明（スキル、攻撃、コインと音符、ポーズ）
	--***************************************************************
	if eventFlg8 == 1 then
		--***************************************************************
		-- 会話メッセージ準備
		--***************************************************************
		local msgWakuHight = dispManualPreparation2();

		--***************************************************************
		-- メッセージ設定
		--***************************************************************
		initMessageString();
		if msgFlg == 0 then
			-- マニュアル設定（スキル）
			setManualPage(MANUAL_PAGE_SKILL, MANUAL_PLAYING);

			-- 操作禁止フラグの設定
			setNoOperationFlg(TRUE);
		end
		if msgFlg == 1 then
			-- マニュアル設定（攻撃）
			setManualPage(MANUAL_PAGE_ATTACK, MANUAL_PLAYING);
		end
		if msgFlg == 2 then
			-- マニュアル設定（コインと音符）
			setManualPage(MANUAL_PAGE_COIN_NOTE, MANUAL_PLAYING);
		end
		if msgFlg == 3 then
			-- マニュアル設定（ポーズ）
			setManualPage(MANUAL_PAGE_PAUSE, MANUAL_PLAYING);
		end

		--***************************************************************
		-- メッセージ描画
		--***************************************************************
		local iRet = dispTalkMessage(msgWakuHight);
		if iRet == 1 and isCtrlCircle() then
			-- 0.15秒待つ
			waitVn(9);
			-- メッセージ終了処理
			endMessageString();
			-- 次のメッセージ処理
			if msgFlg == 3 then
				-- 操作禁止フラグの解除
				setNoOperationFlg(FALSE);
				-- メッセージの終了
				msgFlg = 0;
				-- イベントフラグを１つ進める
				setEventFlg(8, 2);
			else
				msgFlg = msgFlg + 1
			end
		end

		--***************************************************************
		-- 戻り値設定
		--***************************************************************
		return msgFlg, 0
	end

	--***************************************************************
	-- 戻り値設定
	--***************************************************************
	return msgFlg, -1
end
