Elona改造講座 第7回(釣りエフェクト省略)

Elona改造講座、第7回です。一応は今回で最終回となります。
今回は小規模な改造として、釣りアニメーションを省略してみましょう。簡単に言えば常時スーパー観光客状態ということです。


①釣り高速化フラグの作成

釣り高速化モードのフラグ変数FastFishingを作成します。
FastFishing=1なら釣りアニメ省略、0なら通常を示します。

/* 釣りスキップフラグ */
FastFishing = 1
/* タイトルに表示するバージョン情報 */
title "Elona" + " ver " + "1.22" + " " + mmahver
tmset
time_warn = timeGetTime() / 1000
time_begin = timeGetTime() / 1000
フラグ変数FastFishingを用意します

②釣りアニメの省略

MMAhのstartup.shを「何も釣れなかった」で検索してください。すぐ上に釣りアニメに関する処理が見つかります。 
なお、ogdata(479)が称号「スーパー観光客」の取得状況です。称号は
 0:未取得
 1:取得済だが効果OFF
 2:取得済かつ効果ON
を意味します。スーパー観光客を取得済かつ効果ONにしていると途中のifブロックが省略される仕組みなわけですね。

	if ( fishstat == 4 ) {
		fishanime = 4
		if ( ogdata(479) != 2 ) {
			snd 88
			repeat 21
				redraw 0
				fishanime(1) = cnt
				if ( cnt == 1 ) {
					addefmap fishx, fishy, 1, 3
				}
				if ( gdata(801) == 0 ) {
					scrturn++
				}
				gosub *label_0470
				redraw 1
				await cfg_wait1 * 2
			loop
			snd 14 + rnd(2)
		}
		fishanime = 0
		fishingi = cdata(142, cc)
		rowactend cc
		gosub *label_1009
		skillexp 185, 0, 100
		cdata(79, 0) = 6 + 100 * 3
	}
	if ( rnd(10) == 0 ) {
		dmgsp cc, 1
	}
	return
}
txt_select -1, lang("何も釣れなかった…", "A waste of a time..."), "", "", "", "", "", "", "", ""
rowactend cc
return

ここの条件部分を次のように変更します。FastFishingフラグが立っている場合には釣りアニメが省略されるようになります。

		if ( fishstat == 4 ) {
			fishanime = 4
			// 釣りスキップ
//			if ( ogdata(479) != 2 ) {
			if ( ogdata(479) != 2 & FastFishing == 0 ) {
				snd 88
				repeat 21
		<以下略>
フラグが立っている場合は釣りアニメをスキップするようにしました

③釣りアニメの省略(全パターン)

釣りアニメは全部で4パターンあります。②で変更したのはパターン4の場合の処理です。少し上を見るとパターン1~3の場合の処理があるので、ここにも同様の変更を加えます(変数fishstatが各パターンに対応しています)。

		if ( fishstat == 1 ) {
			if ( rnd(5) == 0 ) {
				// 釣りスキップ
//				if ( ogdata(479) != 2 ) {
				if ( ogdata(479) != 2 & FastFishing == 0 ) {
					repeat 4 + rnd(4)
		<以下略>
		
		if ( fishstat == 2 ) {
			fishanime = 2
			// 釣りスキップ
//			if ( ogdata(479) != 2 ) {
			if ( ogdata(479) != 2 & FastFishing == 0 ) {
				snd 46
		<以下略>
		
		if ( fishstat == 3 ) {
			fishanime = 3
			// 釣りスキップ
//			if ( ogdata(479) != 2 ) {
			if ( ogdata(479) != 2 & FastFishing == 0 ) {
				repeat 28 + rnd(15)
		<以下略>
4パターン全てに釣りアニメスキップ処理を追加しました

④コンパイル&動作確認

コンパイルして動作確認をしましょう。スーパー観光客が未取得(もしくは取得済だがOFF)でも釣りアニメが省略されていれば成功です。

画像だと違いが分かりませんね…

⑤終わりに

最終回ですが、今回は小規模な改造でお送りしました。これまでの改造箇所のおさらいを書いて、本講座は閉幕とします。
 
第1回
・改造の基本(コンパイル・逆コンパイル手順)
・カスタムアイテムを食べられるようにする
 
第2回
・自分を「たべる」のを防止
・妹肉による妹化を防止
 
第3回
・悪食変異の移植(変異の追加・食べられるアイテムの追加・食事効果の追加・餓死ダメージの変更)
 
第3回補講
・体液を飲めるようにする(飲めるアイテムの追加・アイテム効果の変更)
 
第4回
・Plus拡張の有効化
・ヤカテクト降臨(NPCデータ追加・画像データ追加)
 
第4回補講
・イツパロトル降臨
 
第5回
・ヤカテクト信仰の調査
・信仰のご褒美に貰えるアイテムの変更
 
第6回
・エーテル病の移植(エーテル病の追加・フィートの最大数を増やす・魔法使用不可の処理)
 
第7回
・釣りアニメの省略
 
以上です。
長らくのお付き合い、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?