ランスクエスト/総合

Last-modified: 2023-11-15 (水) 20:21:30

概要

ランスクエスト(マグナム含)のMODに関する情報を紹介。
内容が増えてきた場合はジャンルごとにページを分割。

バージョン一覧(日本語のみ)

更新日ver解説
11/08/261.00クエスト発売時
11/??/??1.10クエストアップデート
11/09/211.15
12/02/241.60
12/03/021.61
12/02/242.00マグナム発売時
12/03/022.01マグナムアップデート
12/04/062.05マグナム非公式アップデート
12/08/022.082
12/09/122.082TADAマグナムTADA版アップデート
12/10/04
12/11/07
13/02/06
18/09/283.00クエスト・マグナム統合版(内容は2.082と同じ)
19/11/213.86マグナムTADA版アップデート(2.082と3.00のどちらにも適用可)

ファイル解説(日本語のみ)

ランス・クエスト.ain

ゲームバランスを決定する諸変数と、ゲーム内の全テキストを収納。
AinDecompilerで編集可能。

ランス・クエストCG.afa

キャラクターの顔画像、イベントCGなど各種画像を収納。
ALDExplorer2でエクスポート・インポート可能。

ランス・クエスト追加CG.afa

ver1.6追加のキャラクターの顔画像など各種画像を収納。
ALDExplorer2でエクスポート・インポート可能。

ランス・クエストマグナムCG.afa

マグナム追加のイベントCGのみ収納。
ALDExplorer2でエクスポート・インポート可能。

ランス・クエストマグナム追加CG.afa

マグナムver2.082の追加画像(ちぬ・ハニークエスト・エイプリル企画)のみ収納。
ALDExplorer2でエクスポート・インポート可能。

ランス・クエストAFF.afa

戦闘アニメーションを収納。
ALDExplorer2でエクスポート・インポート不可

ランス・クエストBA.ald

BGMを収納。
ALDExplorer2でエクスポート・インポート不可

ランス・クエストWA.ald

効果音を収納。
ALDExplorer2でエクスポート・インポート不可

スキル追加

AinDecompilerを使用。
TADA\構造体/スキルの中にあるS起動時登録.jafを開く。

iis = スキル番号;
S(iis, XXXXX);

S(スキル番号, XXXXX);

どちらの記載も可。
スキル番号は600以降*1使用可。
ただしS大技やSダメージ上限など付け加える場合、前者ならS大技(iis, 1)、後者ならS大技(スキル番号, 1)と記載を同じにする。

キャラにスキルを割り当てるには、
TADA\関数/戦闘関係.jafの中にあるC生成/キャラデータ.jafで書き加えて最初から所持しているようにするか、
TADA\構造体/スキル.jafの中にあるT購入スキル登録.jafで習得可能にする。

その他

毒状態の時に命中率が下がるようにする。

AinDecompilerを使用。
TADA\関数/戦闘関係.jafの中にある命中計算.jafを開く。

	if (C状態変化(iic1, -1) == 1)
	{
		aa -= 30;
	}

上を記入する事で敵も味方も毒状態だと命中率が30下がるようになる。
また、固定値ではなくステータスの割合で変化させたい場合は

	if (C状態変化(iic1, -1) == 1)
	{
		aa -= aa * 0.3;
	}

こうすることで毒状態の時は命中率が3割下がってしまう状態になる。

モンスターのタイプ「装甲」を表示させる。

AinDecompilerを使用。
TADA\関数/文字列.jafの中にあるタイプ文字列.jafを開く。

	if (no == 18)
	{
		return "装甲";
	}

上を記入する事でモンスターのタイプ「装甲」が表示されるようになる。

効率行動を基本技以外でも発動させる。

AinDecompilerを使用。
TADA\関数/戦闘関係.jafの中の命中前計算を開く。

	if (S基本技(iis, -1) != 1)
	{
		aa = CS有無/ランク別効果(iic1, 245, 0);
		if (確率演算(aa) == true)
		{
			if (◆DB/戦闘ログ == 1)
			{
				LOG_TADA(" 効率行動の発生確率=" + string(aa) + "%\n");
			}
			◆行動回数回復 = 1;
		}
	}

上を記入する事で基本技以外の物理攻撃技でも効率行動するようになる。
基本技での発動率を上げたい、例えば2倍にしたい場合は

	if (S基本技(iis, -1) == 1)
	{
		aa = CS有無/ランク別効果(iic1, 245, 0) * 2;

と元々の文に「 * 2」の計算式を付け加える。

特定の武器でダメージ上限を上げたり無効にする。

AinDecompilerを使用。
TADA\関数/戦闘関係.jafの中の最終ダメージ計算を開く。

	if (I種類詳細(C武器(iic1, -1), -1) == 4)
	{
		▲ダメージ上限 = ▲ダメージ上限 * 2;
	}

上を記入する事で槌系の武器を装備した時ダメージ上限が2倍になる。
1.5倍などにしたい場合は小数ではなく分数で * 3 / 2と記入する。

	if (I固有番号(C武器(iic1, -1), -1) == 115)
	{
		▲ダメージ上限 = 0;
	}

上を記入する事で10tハンマーを装備した時ダメージ上限が無くなる。

自分の行動順が来る度に守護率が自動的に上がるようにする。

AinDecompilerを使用。
TADA\関数/戦闘関係.jafの中のT行動開始を開く。

	if (I種類詳細(C防具(iic, -1), -1) == 14 && C職業(iic, -1) == 2)
	{
		C守護率(iic, C守護率(iic, -1) + 20);
	}

上を記入すると鉄鎧系の防具を装備しているガード職のキャラは自分の行動順が来る度に守護率が20上がる。
スキルがある時だけ発動させたい時は if (I種類詳細(C防具(iic, -1), -1) == 14 && CS有無(iic, XXX, 0) != 0 && C職業(iic, -1) == 2)
と記入する(XXXは空いているスキル番号)

	if (I固有番号(C防具(iic, -1), -1) == 38)
	{
		C守護率(iic, C守護率(iic, -1) + 100);
	}

上を記入すると重量鎧を装備しているキャラは自分の行動順が来る度に守護率が100上がる。

陰陽師が無属性の技のダメージを上げられるようにする。

AinDecompilerを使用。
空いているスキル番号(今回は600)を使う。スキル名は陰陽の知識とする。
TADA\構造体/スキル.jafの中のS起動時登録を開く。

	S能力Z登録(600, "陰陽の知識", "", "式神を操る事に長けています。rr  対象:本人r付与効果:印なし…式神による攻撃技の効果+20%r     ★  …式神による攻撃技の効果+25%r     ★★ …式神による攻撃技の効果+30%r     ★★★…式神による攻撃技の効果+35%", 0, 20, 25, 30, 35);

上を記入する。
TADA\関数/戦闘関係.jafの中の魔法属性計算を開く。

	if (◆攻撃属性 == 0 && CS番号取得(iic1, 600, 0) != 0)
	{
		aa = CS有無/ランク別効果(iic1, 600, 0);
		◆戦闘/倍率 += aa;
		if (◆DB/戦闘ログ == 1 && 条件 == "")
		{
			LOG_TADA("  [" + string(◆戦闘/倍率) + "]=陰陽の知識の効果により+" + string(aa) + "%\n");
		}
	}

上を記入するとスキルがあると無属性の技のダメージが上昇する(TADA\関数/戦闘関係.jafの中の物理属性計算に同じ文章を記入すると物理攻撃でも発動)
次にTADA\構造体/スキル.jafのT購入スキル登録を開く。

	if (▲タイプ == 4 && ▲魔法才能 >= 2)
	{
		iis = 600;
		aa = 2 + CS有無/ランク(iic, iis, 0);
		スキルレベル制限表示(iic, iis, aa, 5);
	}

上を記入すると魔法の才能★以上なら陰陽の知識を習得可能になる。

戦闘時、持っていると味方全体のステータスを上げるスキルを作る

大番長にあった味方命中+みたいな常時発動のスキルを作ってみる。
AinDecompilerを使用。
攻撃力、防御力はTADA\関数/戦闘関係.jafの中の物理ダメージ計算
魔法力、魔抵力はTADA\関数/戦闘関係.jafの中の魔法ダメージ計算
命中率、回避率はTADA\関数/戦闘関係.jafの中の命中計算
衝撃率、耐性率はTADA\関数/戦闘関係.jafの中の衝撃計算
必殺率はTADA\関数/戦闘関係.jafの中のクリティカル計算
を開く。
攻撃力、命中率など味方→敵で影響するステータスは

	if (CS有無/スタメン(iic1, xxx, 0) != 0 && ◆敵側行動 == 0)
	{
		aa += 数字;
	}

防御力、回避率など敵→味方で影響するステータスは

	if (CS有無/スタメン(iic2, xxx, 0) != 0 && ◆敵側行動 == 1)
	{
		bb += 数字;
	}

と記入。(XXXは空いているスキル番号)
数字 の所は、+= CS有無/ランク別効果(iic1, xxx, 0);でもいい。(回避などの場合は+= CS有無/ランク別効果(iic2, xxx, 0))
その場合、スキルを登録した時の
S能力登録(xxx, "スキル名", "", "スキル説明文", 0, 8, 12, 16, 20);
太字部分がステータスの上がる数値になる(この場合星なしの時は8、★★★の時は20上がることになる)

コメント欄

  • 毒で命中率下がるのは面白いなぁ。有意義な情報ありがとう。待機を廃止してレベルドレイン時の上限経験値を3万に戻して経験アップアイテムを廃止してバニラの環境にした上で、レベルアップ時の獲得スキルポイント2倍に出来るかやってみようかな‥最新パッチはレベルが早く上がりすぎて何度もモルルンするのが面倒で止めてしまうんだよなぁ -- 2023-10-18 (水) 05:32:47
  • 単純にスキルポイントを2倍にするだけならTADA\構造体/キャラクター.jafのCスキルポイントを「C[iic].スキルポイント = aa*2;」に書き換えることで達成できた。ただ、レベル40以下なら獲得ポイント2、40以上なら獲得ポイント1にするのはエラーが出まくって素人には無理だった。TADA\関数/.jaf「T戦闘後の取得スキルポイント算出」「C最大スキルポイント獲得」弄ったら行けるかなと思ったが‥。レベルドレイン上限経験は、TADA\構造体/キャラクター.jaf「C再計算」の最下部に4980という数字があるのでここを弄ればバニラに戻せそう。待機スキルのIDは384。TADA\構造体/キャラクター.jafの「CS職業別基本スキル登録」で待機の初期獲得(20回分)が定義されている。 -- 2023-10-18 (水) 16:22:15
  • 入手GOLDや所持金を増やす項目はどこかご存知な人いますか? -- 2023-11-03 (金) 03:41:25
    • TADA関数 戦闘処理jafの「T戦闘後の取得経験値算出」で管理されている。例えば if (◆取得金袋数 == 1)の項目を ◆取得金額 = ◆クエストGOLD / 2;にすれば、金袋1の場合の取得額が2倍になる。未検証だけど -- 2023-11-04 (土) 11:56:05
      • 出来ました!ありがとうございます! -- 2023-11-05 (日) 02:09:07
      • いえいえ。因みにどこかは忘れてしまったが、どこかにある「金拾い処理.jaf」でコイン拾った時の金額が管理されている。そこにある * 3→ * 6にすればコイン拾った時の金額が2倍 -- 2023-11-05 (日) 18:58:46
  • 短剣の知識★★時限定で、50%の確率で攻撃回数が2になるよう処理が入っているように見える。★2だと6割以上2回攻撃なるのかなぁ。★3だと50%の2回攻撃が消えて17%確率の3回攻撃が入る。もしそうだとしたら、ウルンセル持ってない短剣使いは短剣の知識★2で止める方が強いだろう。今まで全然気が付かなかった。コードの消し忘れなのか意図された裏技なのか‥ -- 2023-11-09 (木) 18:11:35

*1 番号598は記載は無いが、一万壁の判定に使われている