鬼畜王ランス(Win)は面白いゲームではありますが、LVUP時の吟味が面倒で再プレイしたくない・・・ と思っていたところ、鬼畜王 on Webの作者さんがコンパイラ・逆コンパイラを公開しているのを知りました。 ここでは主にリセット回数の低減を目的として自分が行ったプログラム改造内容を載せます。
セーブを途中セーブにするでロードセーブ.ADVの書き換えを行った後、セーブを途中セーブで行い、
さらにロードセーブ.ADVを変更すると、途中セーブが読み込めなくなります。
また、ターン毎の回復量を変更でMAIN.ADVを変更した場合、途中セーブではターンENDできなくなりますし、
自動セーブが読み込めなくなります。
これは推測になりますが、セーブ時にロードセーブ.ADVの実行位置やロードセーブ.ADVの呼び出し元(々)であるMAIN.ADVの
実行位置を保存しているため、ロードセーブ.ADVやMAIN.ADVの変更を行うと、セーブ時の実行位置に戻れなくなるのが
原因と思われます。
セーブを途中セーブにするでは、
MAINトップ〜自動セーブ間の書き換えは行わないので、自動セーブは読込可能です。
ターン毎の回復量を変更では、MAINトップ〜セーブ間の書き換えを行うので、どのセーブデータも使えなくなります。
セーブを途中セーブにするだけなら 既存の冒頭セーブが使えますが、ターン毎の回復量を変更する場合は最初からプレイする必要があります。 いずれにしても、変更は一度で済ませる方がよいでしょう。
MAIN.ADV
…
自動セーブ用サブルーチン呼び出し
…←ターン毎の回復量を変更ではこの部分の変更を行う。
COMMAND.ADV呼び出し
…
以上ターン毎に繰り返し
…
(自動セーブ用サブルーチン)ロードセーブ.ADVで自動セーブ
…
COMMAND.ADV
…
COM.ADVで冒頭イベント
…
ロードセーブ.ADVで手動セーブ
…
ロードセーブ.ADV
…(自動セーブと手動セーブで分岐)
自動セーブ
…←セーブを途中セーブにするではこの部分の変更を行う。
手動セーブ
…
ラベル番号はバージョンによって違うことがありますので、その場合は、行数等で書き換え位置や正しいラベル番号を調べてください。 下記はオリジナルのものです。
LVUP時に修正値を吟味するには、経験値を確認→LVUP前になったら参戦を見合わせ、迷宮で一人ずつ経験値調整→次ターンで吟味 とする必要があり、手間がかかりますし、調整期間中はキャラが使えず、特にコルドバやリックといった上昇確率が低いキャラの 吟味は骨が折れますので、任意で修正値を上げられるようにします。また、オリジナルではマイナスの修正値を上げることができません。 これはキャラの差別化や用兵の制限を意図したものと考えられますが、上げられるようにしても、 そこまで元の目的が達成できなくなるわけではないと思うのと、修正値が上がらなくなったコルドバやリックに経験値を入れづらいので、 マイナスの修正値も上げられるようにします。
FIGT.ADV *L_03f23: //2804行あたり (中略) MP 1, 8: 'は、'R 'レベルUPした。' ■ここから追加 //次画面を分かりやすくするため攻撃回数のメッセージを前に持ってきています。 R R 'リーダー攻撃回数+1' ■ここまで追加 \L_0441b: 'リーダー攻撃回数+1'R →◆削除 {VAR154 = 25: !VAR75 : VAR75 + 50! !VAR99 : VAR75! '召喚幻獣が50匹'R '増えた。' \L_0441b: \L_0440e: \0: } {(VAR101 = 3) * (VAR75 \ 0): !VAR5 : VAR75 / (10 + VAR105 * 2)! !VAR75 : VAR75 + VAR5! '人望の杖の力で部下が'R H 0, VAR5: '名増えた。' \L_0441b: \L_0440e: \0: } ◆ここから削除 Y 4, 12 + VAR105: {VAR0 = 1: Y 4, 3: {VAR0 - VAR78 \ 0: !VAR78 : VAR78 + 1! '攻撃戦 攻撃修正' } @L_041a6: } {VAR0 = 2: Y 4, 3: {VAR0 - VAR80 \ 0: !VAR80 : VAR80 + 1! '防衛戦 攻撃修正' } @L_041a6: } {VAR0 = 3: Y 4, 3: {VAR0 - VAR82 \ 0: !VAR82 : VAR82 + 1! '迷宮戦 攻撃修正' } @L_041a6: } {VAR0 = 4: Y 4, 3: {VAR0 - VAR79 \ 0: !VAR79 : VAR79 + 1! '攻撃戦 防御修正' } @L_041a6: } {VAR0 = 5: Y 4, 3: {VAR0 - VAR81 \ 0: !VAR81 : VAR81 + 1! '防衛戦 防御修正' } @L_041a6: } {VAR0 = 6: Y 4, 3: {VAR0 - VAR83 \ 0: !VAR83 : VAR83 + 1! '迷宮戦 防御修正' } @L_041a6: } ◆ここまで削除 ■ここから追加 //メッセージは7を参考にしました。 X 1: 'の'R '修正値をUPします' @L_修正値上昇選択: *L_修正値上昇選択: B1 2, 218, 50, 16 * 12, 100, 1: B2 2, 1, 0, 0, 0, 0: $L_攻撃戦攻撃修正UP$ '攻撃戦 攻撃 ' {VAR78 = 3: '+3>+3' } {VAR78 < 3: '+' H 0, VAR78: '>+' H 0, VAR78 + 1: } {VAR78 = 11: '−1>+0' } {VAR78 > 11: '−' H 0, VAR78 - 10: '>−' H 0, VAR78 - 11: }$ $L_防衛戦攻撃修正UP$ '防衛戦 攻撃 ' {VAR80 = 3: '+3>+3' } {VAR80 < 3: '+' H 0, VAR80: '>+' H 0, VAR80 + 1: } {VAR80 = 11: '−1>+0' } {VAR80 > 11: '−' H 0, VAR80 - 10: '>−' H 0, VAR80 - 11: }$ $L_迷宮戦攻撃修正UP$ '迷宮戦 攻撃 ' {VAR82 = 3: '+3>+3' } {VAR82 < 3: '+' H 0, VAR82: '>+' H 0, VAR82 + 1: } {VAR82 = 11: '−1>+0' } {VAR82 > 11: '−' H 0, VAR82 - 10: '>−' H 0, VAR82 - 11: }$ $L_攻撃戦防御修正UP$ '攻撃戦 防御 ' {VAR79 = 3: '+3>+3' } {VAR79 < 3: '+' H 0, VAR79: '>+' H 0, VAR79 + 1: } {VAR79 = 11: '−1>+0' } {VAR79 > 11: '−' H 0, VAR79 - 10: '>−' H 0, VAR79 - 11: }$ $L_防衛戦防御修正UP$ '防衛戦 防御 ' {VAR81 = 3: '+3>+3' } {VAR81 < 3: '+' H 0, VAR81: '>+' H 0, VAR81 + 1: } {VAR81 = 11: '−1>+0' } {VAR81 > 11: '−' H 0, VAR81 - 10: '>−' H 0, VAR81 - 11: }$ $L_迷宮戦防御修正UP$ '迷宮戦 防御 ' {VAR83 = 3: '+3>+3' } {VAR83 < 3: '+' H 0, VAR83: '>+' H 0, VAR83 + 1: } {VAR83 = 11: '−1>+0' } {VAR83 > 11: '−' H 0, VAR83 - 10: '>−' H 0, VAR83 - 11: }$ $L_修正値上昇終了$修正値上昇なし$ ]@L_修正値上昇選択: *L_攻撃戦攻撃修正UP: {VAR78 = 3: @L_修正値上昇選択: } {VAR78 < 3: !VAR78 : VAR78 + 1! } {VAR78 = 11: !VAR78 : 0! } {VAR78 > 11: !VAR78 : VAR78 - 1! } @L_修正値上昇終了: *L_防衛戦攻撃修正UP: {VAR80 = 3: @L_修正値上昇選択: } {VAR80 < 3: !VAR80 : VAR80 + 1! } {VAR80 = 11: !VAR80 : 0! } {VAR80 > 11: !VAR80 : VAR80 - 1! } @L_修正値上昇終了: *L_迷宮戦攻撃修正UP: {VAR82 = 3: @L_修正値上昇選択: } {VAR82 < 3: !VAR82 : VAR82 + 1! } {VAR82 = 11: !VAR82 : 0! } {VAR82 > 11: !VAR82 : VAR82 - 1! } @L_修正値上昇終了: *L_攻撃戦防御修正UP: {VAR79 = 3: @L_修正値上昇選択: } {VAR79 < 3: !VAR79 : VAR79 + 1! } {VAR79 = 11: !VAR79 : 0! } {VAR79 > 11: !VAR79 : VAR79 - 1! } @L_修正値上昇終了: *L_防衛戦防御修正UP: {VAR81 = 3: @L_修正値上昇選択: } {VAR81 < 3: !VAR81 : VAR81 + 1! } {VAR81 = 11: !VAR81 : 0! } {VAR81 > 11: !VAR81 : VAR81 - 1! } @L_修正値上昇終了: *L_迷宮戦防御修正UP: {VAR83 = 3: @L_修正値上昇選択: } {VAR83 < 3: !VAR83 : VAR83 + 1! } {VAR83 = 11: !VAR83 : 0! } {VAR83 > 11: !VAR83 : VAR83 - 1! } @L_修正値上昇終了: *L_修正値上昇終了: B2 1, 1, 0, 0, 0, 0: Y 1, 0: \L_0440e: \0: ■ここまで追加 *L_041a6: //3行上の\L_0440e:のラベルは、3行下のラベル番号に合わせて下さい。 'UP' \L_0441b: \L_0440e: //ここに合わせる \0:
レベッカ利用後に経験値が1だったらリセットしたくなってしまう、また、修正値吟味をしなくてよくなったことで、 経験値吟味の余裕が出てきてしまった、ということで、獲得経験値を最大にします。ゲームバランス重視の方は平均値でどうぞ。
FIGT.ADV *L_03de1: //2748行あたり Y 4, 15: →▲!VAR0 : 15! に変更 !VAR1 : 5 + VAR0! {VAR632 \ 0: Y 4, 50: →▲!VAR0 : 50! に変更 !VAR1 : VAR0! !VAR632 : 0! } {VAR581 = 3: !VAR1 : 1! } {VAR589 = 1: !VAR1 : VAR1 / 3! }
LVUP時に超過した経験値はロスとなりますが、出撃キャラ選択に制限が出たり、経験値調整が必要になったり、考えることが多くなって ストレスになります。他シリーズでも超過分の経験値がロスとなるのは、8の才能限界LVでのモルルン時くらいですし、ロスのないように してもよいでしょう。
FIGT.ADV *L_03de1: //2748行あたり !VAR104 : VAR104 + VAR1! {VAR101 = 29: !VAR104 : VAR104 + VAR1! } {VAR104 < 100 + VAR105 * 30: \0: } !VAR104 : 0! →▲!VAR104 : VAR104 - 100 - VAR105 * 30! に変更 !VAR89 : VAR89 + 1! !VAR105 : VAR105 + 1! {VAR99 \ 0: Y 4, 5: !VAR99 : VAR99 + VAR0! }
修正値吟味をしなくてよくなったことや、部下コマンドでキャラ選択時に詳細表示するで回復力が可視化されたことで 回復力吟味を検討してしまう、ということで、回復力を最大増加とします。ゲームバランス重視の方は平均値でどうぞ。
FIGT.ADV *L_03de1: //2748行あたり !VAR104 : VAR104 + VAR1! {VAR101 = 29: !VAR104 : VAR104 + VAR1! } {VAR104 < 100 + VAR105 * 30: \0: } !VAR104 : 0! !VAR89 : VAR89 + 1! !VAR105 : VAR105 + 1! {VAR99 \ 0: Y 4, 5: →▲!VAR0 : 5! に変更 !VAR99 : VAR99 + VAR0! }
セーブは冒頭セーブしかできませんが、ミスでやり直す際に冒頭からというのはリセットの負荷が大きいです。7は途中セーブできますし、 できるようにしてもよいでしょう。変更する際はページ上にある注意点を読んで下さい。
ロードセーブ.ADV *L_00972: //449行あたり ■ここから追加 //L_0014aは、< ロード完了 >がある55行あたりです。ラベル番号を合わせて下さい。 !VAR21 : VAR517! QD VAR22: {VAR0 = 0: @L_0014a: } ■ここまで追加 QC VAR22, 1: →◆削除 QP VAR22, VAR22, 1: \L_009db: @L_006cf: ロードセーブ.ADV *L_00635: //289行あたり B1 2, 250, 50, 16 * 18, 100, 1: B2 2, 1, 0, 0, 0, 0: \L_00b0d: ZM 24: '< セーブデータコピー編集 >'R →▲'< データセーブ >'R に変更 ZM 16: LP 1, VAR21, 1: →▲!VAR21 : VAR517! に変更 !VAR1 : VAR21! \L_00a7b: ' 自動 LP:' →▲' LP:' に変更 H 4, VAR537: '年' H 2, VAR538: '月' H 2, VAR539: '週'R ' このターン開始時の'R →▲R に変更 ' データをセーブします。' →▲' 現在のデータをセーブします。' に変更 ロードセーブ.ADV *L_004eb: //214行あたり \L_00bed: \L_0098a: QC 1, 2: →◆削除 LD 2: @L_005cc: *L_00504: \L_00bed: \L_0098a: QC 1, 3: →◆削除 LD 3: @L_005cc: *L_0051d: \L_00bed: \L_0098a: QC 1, 4: →◆削除 LD 4: @L_005cc: *L_00536: \L_00bed: \L_0098a: QC 1, 5: →◆削除 LD 5: @L_005cc: *L_0054f: \L_00bed: \L_0098a: QC 1, 6: →◆削除 LD 6: @L_005cc: *L_00568: \L_00bed: \L_0098a: QC 1, 7: →◆削除 LD 7: @L_005cc: *L_00581: \L_00bed: \L_0098a: QC 1, 8: →◆削除 LD 8: @L_005cc: *L_0059a: \L_00bed: \L_0098a: QC 1, 9: →◆削除 LD 9: @L_005cc: *L_005b3: \L_00bed: \L_0098a: QC 1, 10: →◆削除 LD 10: @L_005cc: ロードセーブ.ADV *L_00217: //90行あたり B1 2, 250, 50, 16 * 18, 100, 1: B2 2, 1, 0, 0, 0, 0: \L_00b0d: ZM 24: '< データロード >'R ZM 16: 'ロードするデータの番号を選んで下さい。'R →▲'ロードするデータの番号を選んで下さい。' に変更 'ロードと同時に自動セーブのデータは'R →◆削除 'ロードしたデータで上書きされます。' →◆削除
特に序盤ではランスの回復量を吟味してしまう、ということで、ターン経過時の回復量を最大にします。 ゲームバランスが大きく易化しますが、上記の変更を行っている時点で構わないでしょう。専属看護婦さん分も最大にします。 変更する際はページ上にある注意点を読んで下さい。
MAIN.ADV *L_002a6: //124行あたり !VAR154 : VAR154 + 1! {VAR154 > 48: @L_0036a: } {VAR102 \ 0: {VAR101 = 48: !VAR102 : 1! Y 4, VAR74 / 20: !VAR74 : VAR74 - VAR0! @L_002a6: } {VAR101 = 50: Y 4, VAR75 / 10: →▲!VAR0 : VAR75 / 10! に変更 !VAR74 : VAR74 + VAR0! } !VAR102 : 1! !VAR90 : VAR90 + 2! {VAR90 > VAR91: !VAR90 : VAR91! } {VAR74 = VAR75: @L_002a6: } !VAR23 : VAR74! Y 4, VAR99 * 2: →▲!VAR0 : VAR99 * 2! に変更 !VAR74 : VAR74 + VAR0 + VAR99! {VAR74 > VAR75: !VAR74 : VAR75! } !VAR24 : VAR24 + (VAR74 - VAR23)! } @L_002a6:
途中セーブ可能なのだから臨時徴収の金額を吟味してしまう、ということで、入手額を最大にします。
Cシハイトシ.ADV *L_00f7d: //556行あたり (中略) Y 4, VAR132 * 10: →▲!VAR0 : VAR132 * 10! に変更 'いろいろな所から合計'R ' ' H 0, VAR0: '0万GOLD'R '徴収した。'
迷宮で経験値を稼ぐ際、現在経験値が分かった方が都合がよいので可視化します。稼ぐかどうかは別ですが。また、6文字のキャラが兵数5桁だと文字が枠からはみ出します。
Cメイキュウ.ADV *L_0131d: //790行あたり \L_07e05: X 8: R {VAR483 = 1: ' 第' H 0, VAR481: '階層' } {VAR483 = 2: ' ' H 0, VAR481: '階' } R X 1: '部隊'R →◆削除 ' (' →▲'部隊(' に変更 H 0, VAR74: '名)' ■ここから追加 R 'E[' H 4, VAR104: '/' H 4, 100 + VAR105 * 30: ']' ■ここまで追加 @L_0127e: Cメイキュウ.ADV *L_00df3: //588行あたり EC 0: !VAR516 : VAR713! \L_07ec9: \L_07e05: X 8: R {VAR483 = 1: ' 第' H 0, VAR481: '階層' } {VAR483 = 2: ' ' H 0, VAR481: '階' } R X 1: '部隊'R →◆削除 ' (' →▲'部隊(' に変更 H 0, VAR74: '名)' ■ここから追加 R 'E[' H 4, VAR104: '/' H 4, 100 + VAR105 * 30: ']' ■ここまで追加
豪雪地帯の遠隔地探索で大幅に部隊数が減った場合、リセットとなりますので、リセット回数を減らすために損害数を最小にします。 ただし、ホ・ラガの塔はシィルの部隊数増加イベントを繰り返す際は損害数が大きい方が有利です。 ホ・ラガの塔で兵数が減ってもあまり問題にならない点を考慮すると、 どちらかといえばホ・ラガの塔は損害数が大きい方が得と思われますので、損害数を最大にします。
Cメイキュウ.ADV *L_007cf: //310行あたり !VAR160 : 11! {((VAR162 = 4) + (VAR162 = 16)) * (VAR150 = 0): \L_07e05: X 1: 'の部隊は、'R '途中、吹雪に襲われた。' \L_07f00: '全軍' H 0, VAR74: '名の内、'R Y 4, VAR74: →▲!VAR0 : 1! に変更 !VAR74 : VAR74 - VAR0! H 0, VAR0: '名が'R '負傷又は、遭難した。' \L_07f00: \L_07ef3: } {(VAR162 = 5) * (VAR150 = 0): \L_07e05: X 1: 'の部隊は、'R '途中 吹雪に襲われた。' \L_07f00: Y 4, VAR74: →▲!VAR0 : VAR74! に変更 !VAR0 : VAR74 / 2 + VAR0! {VAR0 > VAR74: !VAR0 : VAR74! } !VAR74 : VAR74 - VAR0! H 0, VAR0: '名の'R '遭難者が出た。' \L_07f00: \L_07ef3: }
メリムのイベントでの強化は作業感が強いですし、リセットもありますので、探索発見確率を100%にします。
Cメイキュウ.ADV *L_014a9: //871行あたり (中略) {VAR0 = 1: \L_018d2: {VAR102 = 0: \L_07f1a: !VAR516 : 0! %#M.ADV: %0: } } {VAR0 = 2: →◆削除 Y 4, 10: →▲!VAR0 : 1! に変更 {(VAR480 = 1) * (VAR0 = 1): \L_06564: } } →◆削除 @L_00df3:
メリムのイベントでの強化は作業感が強いですし、リセットもありますので、通常はケガの確率を0%にし、 ケガが必要になった際には100%にします。
Cメイキュウ.ADV *L_01972: //1062行あたり (中略) {VAR480 = 1: Y 4, 20: →◆削除 !VAR690 : VAR0! →◆削除 {VAR690 = 1: →▲{(VAR493 = 3) + (VAR493 = 6) + (VAR493 = 10): に変更 !VAR480 : 2! {VAR552 = 1: !VAR486 : 2! \L_07e05: '乱戦の最中、不幸にもメリムは、'R '大怪我をして重体となってしまっ'R 'た。' \L_07f00: \L_07ef3: } {VAR552 \ 1: !VAR486 : 3! \L_07e05: '乱戦の最中、ろくに戦いを'R '知らないメリムは、哀れ'R 'モンスターにかじられて'R '死んでしまった。' \L_07f00: \L_07ef3: } } }
戦闘でスキップしているとメリムがケガをした際のメッセージを見落しますし、スキップしないと作業負荷が増します。 ケガをした際に選択肢を出すことでスキップを解除し、メッセージを見落さないようにします。ただし、上記のケガ確率を変更した際は、 あまり必要ないかもしれません。
Cメイキュウ.ADV *L_01972: //1062行あたり (中略) {VAR552 = 1: !VAR486 : 2! \L_07e05: '乱戦の最中、不幸にもメリムは、'R '大怪我をして重体となってしまっ'R 'た。' \L_メリムケガ: ←■追加 \L_07f00: \L_07ef3: } {VAR552 \ 1: !VAR486 : 3! \L_07e05: '乱戦の最中、ろくに戦いを'R '知らないメリムは、哀れ'R 'モンスターにかじられて'R '死んでしまった。' \L_メリムケガ: ←■追加 \L_07f00: \L_07ef3: } } } {(VAR162 = 6) * (VAR530 = 100) * (VAR569 = 1) * ((VAR564 = 5) + (VAR564 = 6)): !VAR520 : 4! %#Gアーヤ.ADV: } \0: ■ここから追加 *L_メリムケガ: $L_メリムケガOK$OK$ ] @L_メリムケガ: *L_メリムケガOK: \0: ■ここまで追加
メリムは冒頭イベントで1/3で復帰しますが、リセット要因なので、100%復帰するようにします。
COM.ADV //618行あたり Y 4, 3: →▲!VAR0 : 1! に変更 {(VAR0 = 1) * (VAR486 = 2): !VAR520 : 3! %#Gメリム.ADV: %0: }
エレナイベントの発生確率は1/5と低く、リセットなしだと4回遭遇する前にヘルマンを制圧してしまいますので、 4回までは100%遭遇するようにします。4回遭遇後の冒頭イベントも発生確率が1/2なので、100%にします。また、 100%遭遇するようにすると、4回遭遇した後も防衛戦後にイベントが毎回発生してしまうので、4回遭遇後は発生しないようにします。
COM.ADV //800行あたり Y 4, 2: →▲!VAR0 : 1! に変更 {(VAR345 = 4) * (VAR0 = 1): !VAR520 : 4! %#Gエレナ.ADV: %0: } {(VAR345 = 5) * (VAR0 = 2): →▲{(VAR345 = 5) * (VAR0 = 1): に変更 !VAR520 : 5! %#Gエレナ.ADV: %0: } FIGT_B.ADV *L_004bc: //176行あたり (中略) {(VAR158 > 30) * (VAR158 < 50) * (VAR589 = 2): Y 4, 5: →▲!VAR0 : 1! に変更 !VAR583 : VAR158! !VAR158 : 40! {VAR130 \ 1: !VAR0 : 4! } !VAR158 : VAR583! {(VAR0 = 1) * (VAR345 = 0): !VAR520 : 1! %#Gエレナ.ADV: %0: } {(VAR0 = 1) * (VAR345 = 1): !VAR520 : 2! %#Gエレナ.ADV: %0: } {(VAR0 = 1) * (VAR345 = 2): !VAR520 : 3! %#Gエレナ.ADV: %0: } {(VAR0 = 1) * (VAR345 < 7): →▲{(VAR0 = 1) * (VAR345 = 3): に変更 !VAR520 : 7! %#Gエレナ.ADV: %0: } } %0:
都市を見捨てるを選択してしまうとリセットとなりますが、選択肢が出るまでの間はスキップするには少し短く、クリック連打で進めて しまう長さであり、選択肢が出るとマウスカーソルが自動で移動するので、選択肢の下部にマウスカーソルがあると、 誤って都市を見捨てるを選択してしまうことが多々ありました。右クリックであれば誤選択はありませんが、 右クリックばかり使うと指が痛くなります。そこで、都市を見捨てるを選択した際に確認をつけます。
FIGT_B.ADV *L_000f4: //39行あたり IM VAR202, VAR203: {VAR0 \ 0: @L_000f4: } $L_0013f$迎撃を出す$ $L_006e9$忍者で偵察$ $L_00eb4$都市を見捨てる$ →▲$L_都市を見捨ててよいか$都市を見捨てる$ に変更 ] @L_000f4: ■ここから追加 *L_都市を見捨ててよいか: //ラベル番号は上の選択肢のものと合わせて下さい。 $L_00eb4$見捨てる$ $L_000f4$見捨てない$ ] @L_000f4: ■ここまで追加
防衛時になってから幸福の指輪を装備していないことに気付くと、リセット要因となりますので、防衛時に宝物コマンドを 使用可能にします。装備の使い回しが可能ですが、攻撃時はできますし、これくらいよいでしょう。 また、防衛時に補充や増員をしていなかったことに気付いたり、したかどうか忘れたりすると リセット要因となりますので、部下コマンドも使用可能にします。補充や増員は毎ターンまず必ずするものであり、 やっていないのは単に忘れているケースなので、防衛時にできるようにしても問題ないでしょう。 ハーレムや部下会話は違和感がありますので、忘れていてもできません。
FIGT_B.ADV *L_00038: //5行あたり !VAR516 : 0! %#M.ADV: !VAR691 : VAR158! !VAR45 : VAR142! !VAR46 : VAR143! !VAR516 : 1! %#M.ADV: !VAR516 : 10! %#M.ADV: MM 8, VAR200 + VAR158 - 1: !VAR516 : VAR135! \L_01385: //ここに合わせる \L_012c1: '[' X 8: ']の周囲に'R X 10: 'が現れた。' \L_013ae: \L_013a1: !VAR516 : 1! \L_012dd: //ここに合わせる !VAR516 : 6! \L_0134d: //ここに合わせる \L_012f9: 'ランス王、このままでは、'R X 8: 'を占拠'R 'されてしまいます。' \L_013ae: 'いかがしますか?' \L_013ae: \L_013a1: *L_000f4: IM VAR202, VAR203: {VAR0 \ 0: @L_000f4: } $L_0013f$迎撃を出す$ $L_006e9$忍者で偵察$ $L_00eb4$都市を見捨てる$ ■ここから追加 $L_防衛戦宝物$○宝物$ {VAR679 \ 0: $L_防衛戦部下$○部下$ } {VAR679 = 0: $L_防衛戦部下$△部下$ } ■ここまで追加 ] @L_000f4: ■ここから追加 //L_013a1,L_012eb,L_0135bのラベル番号は下の'俺の国に近寄るとは〜のもの、 L_01385,L_012dd,L_0134dのラベル番号は上の'ランス王、このままでは〜のものに合わせて下さい。 *L_防衛戦宝物: \L_013a1: \L_012eb: \L_0135b: %#Cタカラ.ADV: !VAR516 : VAR135! \L_01385: !VAR516 : 1! \L_012dd: !VAR516 : 6! \L_0134d: @L_000f4: *L_防衛戦部下: !VAR680 : 0! {VAR679 = 0: !VAR543 : 0! } \L_013a1: \L_012eb: \L_0135b: %#Cブカ.ADV: !VAR516 : 0! %#M.ADV: !VAR516 : VAR135! \L_01385: !VAR516 : 1! \L_012dd: !VAR516 : 6! \L_0134d: @L_000f4: ■ここまで追加 *L_0013f: \L_01289: '俺の国に近寄るとは、実に'R '愚かな奴等だ。' \L_013ae: 'もちろん、皆殺しだ。' \L_013ae: \L_013a1: //ここに合わせる \L_012eb: //ここに合わせる \L_0135b: //ここに合わせる
部下コマンドではキャラ画像の下に名前、HP、兵隊の種類、部下数が表示されますが、名前はすぐ上の画像に書いてありますし、
HPと書かれずに数字だけあるのも少し唐突な感じです。兵隊の種類も既プレイ者にとってはあまり重要な情報ではありません。
アイテムのキャラ画面では、出撃費用、部下数、兵種、装備品が表示され、出撃画面では出撃費用、部下数、前衛/後衛、装備品が
表示されますが、出撃費用、兵種、前衛/後衛は既プレイ者にとってはあまり重要な情報ではありません。
そこで、部下コマンド・アイテムのキャラ画面・出撃画面のいずれも、HP・部下数・経験値・装備品を表示するようにします。
美樹はHP表示が2桁だと表示が00/00となりバグっているように見え、5桁だと兵数が多い際に兵数が全て表示されません。
美樹の兵数を4桁以上にすることはあまりないと思われ、HP表示が異常なのはやや興がそがれるので、美樹はHP優先表示にしてあります。
Sブカ.ADV *L_00509: //197行あたり B4 9, 0, 0, 0, 1, 0: CC 16 + 640, 208 + 400, 296, 37, 16, 208: ZM 12: !VAR154 : VAR25! ◆ここから削除 X VAR198 + (VAR154 - 1) * 3: R X VAR198 + (VAR154 - 1) * 3 + 1: Y 1, 1: ' ' H 5, VAR90: '/' H 5, VAR91: R ' ' H 5, VAR74: '/' H 5, VAR75: '人'R ◆ここまで削除 ■ここから追加 'HP ' {VAR154 = 32: H 5, VAR90: '/' H 5, VAR91: ' ' H 3, VAR74: '/' H 3, VAR75: } {VAR154 \ 32: H 2, VAR90: '/' H 2, VAR91: ' ' H 5, VAR74: '/' H 5, VAR75: } '人'R ZM 12: 'E[' H 3, VAR104: '/' H 3, 100 + VAR105 * 30: ']' {VAR101 \ 0: ' ' X VAR201 + VAR101 - 1: 'を装備中' } ■ここまで追加 \0: Sアイテム.ADV *L_00c83: //497行あたり B4 9, 0, 0, 0, 1, 0: CC 16 + 640, 208 + 400, 296, 37, 16, 208: ZC 1, 255: !VAR154 : VAR25! ZM 12: ◆ここから削除 ' ' H 5, VAR100: '0万' ZM 8: 'GOLD' ZM 12: ',' H 5, VAR74: '人'R ZM 12: ' ' {VAR86 = 0: '[ 突撃兵]' } {VAR86 = 1: '[ 弓兵]' } {VAR86 = 2: '[魔法使い]' } {VAR86 = 3: '[魔法戦士]' } {VAR86 = 4: '[ 幻獣]' } {VAR86 = 10: '[魔人突撃]' } {VAR86 = 11: '[魔人魔法]' } {VAR101 \ 0: X VAR201 + VAR101 - 1: 'を装備中' } ◆ここまで削除 ■ここから追加 'HP ' {VAR154 = 32: H 5, VAR90: '/' H 5, VAR91: ' ' H 3, VAR74: '/' H 3, VAR75: } {VAR154 \ 32: H 2, VAR90: '/' H 2, VAR91: ' ' H 5, VAR74: '/' H 5, VAR75: } '人'R ZM 12: 'E[' H 3, VAR104: '/' H 3, 100 + VAR105 * 30: ']' {VAR101 \ 0: ' ' X VAR201 + VAR101 - 1: 'を装備中' } ■ここまで追加 ZM 12: \0: Sブタイ.ADV *L_00af8: //466行あたり B4 9, 0, 0, 0, 1, 0: CC 16 + 640, 208 + 400, 296, 37, 16, 208: !VAR154 : VAR25! ZM 12: ◆ここから削除 ' ' H 5, VAR100 + VAR74 / 300: '0万' ZM 8: 'GOLD' ZM 12: ',' H 5, VAR74: '/' H 5, VAR75: '人'R ZM 12: ' ' {(VAR86 = 0) + (VAR86 = 4) + (VAR86 = 10): '[前衛/−−]' } {(VAR86 = 1) + (VAR86 = 2) + (VAR86 = 11): '[−−/後衛]' } {VAR86 = 3: '[前衛/後衛]' } {VAR101 \ 0: ' ' X VAR201 + VAR101 - 1: 'を装備中' } ◆ここまで削除 ■ここから追加 'HP ' {VAR154 = 32: H 5, VAR90: '/' H 5, VAR91: ' ' H 3, VAR74: '/' H 3, VAR75: } {VAR154 \ 32: H 2, VAR90: '/' H 2, VAR91: ' ' H 5, VAR74: '/' H 5, VAR75: } '人'R ZM 12: 'E[' H 3, VAR104: '/' H 3, 100 + VAR105 * 30: ']' {VAR101 \ 0: ' ' X VAR201 + VAR101 - 1: 'を装備中' } ■ここまで追加 R ZM 12: \0:
部下コマンドで詳細を知りたい場合は、詳細を選んで数クリックする必要がありますが、画面左下に空きスペースがありますので、 その部分に詳細を表示するようにすると便利でしょう。画像は左下の枠がある出撃時のものに変えておきます。
Sブカ.ADV *L_00509: //197行あたり (中略) ■ここから追加 B3 8, 8, 274, 296, 120, 0: B4 8, 0, 0, 0, 1, 0: CC 14 + 640, 274 + 400, 296, 120, 14, 274: ' 戦闘LV' H 3, VAR105: ' 回復力' H 4, VAR99: ' 作戦成功' H 3, VAR92: '%' R ' 攻撃力:' H 3, VAR87: ' 防御力:' H 3, VAR88: ' 魔法攻防' H 3, VAR93: R ' 攻撃回数' H 3, VAR89: R ' 攻撃時 (攻撃' {VAR78 < 10: '+' H 0, VAR78: } {VAR78 > 10: '−' H 0, VAR78 - 10: } '/防御' {VAR79 < 10: '+' H 0, VAR79: } {VAR79 > 10: '−' H 0, VAR79 - 10: } ')'R ' 防御時 (攻撃' {VAR80 < 10: '+' H 0, VAR80: } {VAR80 > 10: '−' H 0, VAR80 - 10: } '/防御' {VAR81 < 10: '+' H 0, VAR81: } {VAR81 > 10: '−' H 0, VAR81 - 10: } ')'R ' 迷宮時 (攻撃' {VAR82 < 10: '+' H 0, VAR82: } {VAR82 > 10: '−' H 0, VAR82 - 10: } '/防御' {VAR83 < 10: '+' H 0, VAR83: } {VAR83 > 10: '−' H 0, VAR83 - 10: } ')'R MM 2, VAR198 + (VAR154 - 1) * 3 + 1: ' ' X 2: R ' 攻撃力:' H 3, VAR76: ' 防御力:' H 3, VAR77: ■ここまで追加 \0: Sブカ.ADV *L_002d4: //119行目あたり \L_00468: !VAR154 : VAR25! {(VAR25 \ VAR33) * (VAR33 \ 998) + (VAR25 \ VAR29) * (VAR29 \ 0): {VAR26 \ 0: CC 16 + 640, 208 + 400, 296, 37, 16, 208: CC 14 + 640, 274 + 400, 296, 120, 14, 274: ←■追加 G 600: !VAR26 : 0! } {VAR33 \ 998: CC VAR27 + 640, VAR28 + VAR31 + 14 + 2 + 400, 90, 2, VAR27, VAR28 + VAR31 + 14 + 2: !VAR33 : 998! } {VAR29 \ 0: CC VAR27 + 640 + 10, VAR28 + 400, 70, 2, VAR27 + 10, VAR28: !VAR29 : 0! } } Sブカ.ADV //15行目あたり {VAR576 \ 1: CC 0, 0, 640, 400, 0, 400: G 870, 40: →▲G 817, 40: に変更 G 600: ZM 24: MS 1, 終了: T 551 + 12, 333: ZC 1, 0: X 1: T 550 + 12, 333: ZC 1, 255: X 1: CC 0, 0, 640, 400, 640, 400: {VAR576 = 2: %0: } } ZC 1, 255:
上記の変更を行い、ゲームを長時間プレイしていると、部下コマンドの詳細表示の文字が見にくいですし、よく考えると長時間プレイ していなくても見にくいです。これは文字が白色なのに対し、背景画面が明るいのが原因です。背景を黒っぽい魔物の森に合わせると 読みやすいです。そこで、部下コマンド等の左側の文字の背景を半透明ではなく、ベタ塗りにします。色は左上の説明の明るい方の色に してあります。雰囲気がオリジナルのものとは違いますし、最初は違和感がありますが、慣れれば気にならないと思います。
Sブカ.ADV //15行目あたり {VAR576 \ 1: CC 0, 0, 640, 400, 0, 400: G 817, 40: ■ここから追加 CF 11, 209, 304, 36,190: CF 11, 273, 304, 116,190: ■ここまで追加 G 600: ZM 24: MS 1, 終了: T 551 + 12, 333: ZC 1, 0: X 1: T 550 + 12, 333: ZC 1, 255: X 1: CC 0, 0, 640, 400, 640, 400: {VAR576 = 2: %0: } } ZC 1, 255: Sアイテム.ADV //39行目あたり *L_0012b: (中略) {VAR72 = 0: !VAR578 : VAR516! !VAR72 : 1! {VAR577 = 0: CM 6, 6, 314, 196, 640 + 11, 400 + 273, 186, 116, 0: CF 640 +197, 400 +332, 118, 57,110: ←■追加 T 640 + 11 + 202, 400 + 273 + 64: X VAR198 + (VAR578 - 1) * 3: T 640 + 11 + 202, 400 + 273 + 80: 'に装備する' T 640 + 11 + 202, 400 + 273 + 96: 'アイテムは?' } @L_00357: } {VAR72 = 1: !VAR577 : VAR516! !VAR72 : 0! {VAR578 = 0: CM 6, 6, 314, 196, 640 + 11, 400 + 273, 186, 116, 0: CF 640 +197, 400 +332, 118, 57,110: ←■追加 T 640 + 11 + 202, 400 + 273 + 64: X VAR201 + VAR577 - 1: T 640 + 11 + 202, 400 + 273 + 80: 'を装備する' T 640 + 11 + 202, 400 + 273 + 96: 'キャラは?' } @L_00357: } Sアイテム.ADV //1行目あたり G 819, 40: CF 11, 209, 304, 36,110: ←■追加 CC 0, 0, 640, 400, 0, 400: !VAR577 : 0! !VAR578 : 0! Sブタイ.ADV //1行目あたり !VAR569 : 0! !VAR570 : 0! !VAR571 : 0! !VAR572 : 0! !VAR40 : VAR21! B3 8, 8, 274, 296, 120, 0: CC 0, 0, 640, 400, 0, 400: G 817, 40: ■ここから追加 CF 11, 209, 304, 36,190: CF 11, 273, 304, 116,190: ■ここまで追加 G 600: CC 0, 0, 640, 400, 640, 400: ZM 24: Sハーレム.ADV //1行目あたり CC 0, 0, 640, 400, 0, 400: {VAR518 = 0: G 694, 40: } {VAR518 \ 0: G 818, 40: } CF 11, 209, 304, 36,63: ←■追加 ZM 24:
メルフェイスは解呪時に攻撃回数が1回になりますが、LVUPで攻撃回数が上がっていても1回になってしまうのは、もったいなく感じます。 そこで、解呪時に攻撃回数を1回にするのではなく、メルフェイスの初期攻撃回数が9回であることを考慮し、−8回にします。
Gメルフェイス.ADV *L_05d54: //2323行目あたり (中略) \L_07651: \L_07644: !VAR93 : VAR93 - 1! !VAR89 : 1! →▲!VAR89 : VAR89 - 8! に変更 \L_0758e: SS 21: %0:
ミルはLVUP時に回復力=部下数となりますが、成長時は部下数が230増加するのに対し、回復力は変化しません。 増加する方が自然かと思いますので、成長時に回復力を230増加させます。
Gミル.ADV *L_01481: //689行目あたり (中略) !VAR154 : 25! !VAR97 : 69! !VAR94 : 1179! !VAR95 : 1183! !VAR96 : 1184! !VAR98 : 651! !VAR75 : VAR75 + 230! !VAR99 : VAR99 + 230! ←■追加 !VAR91 : VAR91 + 2! SS 21: %0:
マリア研究所を選んだ後、すぐに出てしまうと、地域コマンドを無駄にしたことになるためリセットとなりますが、 選択肢が出るまでの間はスキップするには少し短く、クリック連打で進めてしまう長さであり、 選択肢が出るとマウスカーソルが自動で移動するので、選択肢の下部にマウスカーソルがあると、 すぐに出てしまうことが多々ありました。右クリックであれば誤選択はありませんが、右クリックばかり使うと指が痛くなります。 そこで、研究所を出るを選択した際に確認をつけます。
Gマリア.ADV *L_0051a: //186行あたり IM VAR202, VAR203: {VAR0: @L_0051a: } $L_005c2$マリアと会う$ $L_089b9$のぞき穴を使う$ $L_00564$研究所を出る$ →▲$L_研究所を出てよいか$研究所を出る$ に変更 ] @L_0051a: ■ここから追加 //ラベル番号は上の選択肢のものと合わせて下さい。 *L_研究所を出てよいか: $L_00564$出る$ $L_0051a$出ない$ ] @L_0051a: ■ここまで追加
健太郎がランスアタックを習得する際には1/3の確率を2回引いた後、1回会話が必要ですが、メッセージに注視しなければならず、 必要会話数が不定なため、ストレス要因となります。そこで、100%イベントが進行するようにします。 あおいやカパーラのイベントと違い、健太郎のランスアタックは攻略に有用であるためここに載せます。
Gケンタロウ.ADV *L_00a78: //342行あたり (中略) Y 4, 3: →▲!VAR0 : 1! に変更 {VAR0 = 1: !VAR332 : VAR332 + 1! } !VAR516 : 0! %#M.ADV: %0:
魔法研究所のターン処理にはバグがあり、魔力強化研究開始時にVAR466(完了週)=VAR517(現在週)+魔力×2となる一方、 研究が完了するのはVAR466 < VAR517になった時であるため、実際は魔力×2+1週かかります。 また、VAR466 < VAR517 + 2になると次週完了すると言われますが、これだと次の週に行ってもまた次週完了すると言われることが起きます。 メッセージで魔力×2かかるとありますし、魔力×2+1とするより自然なので、VAR466=VAR517となった際に完了するようにします。 それに合わせ、1か月以内と言われる部分も修正します。
Gマケン.ADV *L_00d78: //449行目あたり (中略) {VAR466 < VAR517 + 2: \L_03d11: 'あと少しです、'R '次週には完成しそうです。' \L_03dc6: \L_03db9: @L_0021e: } {VAR466 < VAR517 + 4: →▲{VAR466 < VAR517 + 5: に変更 \L_03d11: 'もう少し時間が必要です…'R 'あと1ヵ月以内に'R '完成する予定です。' \L_03dc6: \L_03db9: @L_0021e: } Gマケン.ADV *L_0002f: //4行目あたり (中略) ZM 32: ' リーザス城'R ZM 24: R ' 魔法研究所' \L_03dc6: \L_03db9: {VAR772 = 0: \L_03363: @L_0021e: } \L_03c74: {(VAR465 \ 0) * (VAR466 < VAR517): →▲{(VAR465 \ 0) * ((VAR466 < VAR517) + (VAR466 = VAR517)): に変更 \L_00fd4: @L_0021e: }
建築は冒頭イベントで完了報告がありますし、ターン消費なしで必要週が分かるのでまだよいですが、
魔法研究所や士官学校はイベントが完了したのか分かりませんし、完了週のメモを取るのも面倒で、
士官学校はイベントの進行自体分かりにくいです。そこで、各種データーコマンドに内部数値を表示できるようにします。
数字はイベント発生までの週または期限を表し、0だとすぐに進行可能です。
アスカ必殺技習得はミルと同時出撃時の攻撃時会話で+1、ターンEND後のイベントで+1の後、6回の冒頭イベント+1×6が必要ですので、
値域は1〜7となっておりますが、必ずしも表示の週かかるわけではありません。防衛戦はターンEND後のイベント判定の後にあるので、
防衛戦で残り7になっても、その週ではターンEND後のイベントは起こらず、次ターンを待つ必要があります。
メルフェイスは残り0で離脱、残り2で警告の冒頭イベント、残り7で1回だけ冒頭イベントです。ハーレムに呼ぶと9になります。
シャリエラは初回ハーレム後のテラスでビー玉の冒頭イベントが発生した状態で、残り0で離脱、残り2で警告の冒頭イベントです。
ハーレムに呼ぶと43になります。
冒頭イベントを潰し続けるプレイでもない限り、ハーレムに一度でも呼ぶとテラスでビー玉の冒頭イベントはそのうち発生しますので、
ハーレムに呼んだ後はテラスでビー玉の冒頭イベントが発生していなくても、残りを表示するようにしています。
美樹は残り0で離脱、残り5で警告の冒頭イベント、残り10以下でヒラミレモン所持なら消費して残り31になります。
警告の冒頭イベントが発生しない限りは残り5から減りません。
ミリは残り0で離脱・死亡です。一人で2行使うほどの内容ではないので1行にしてあります。
フレイアはマリスの冒頭イベントがないと、1/2でしか当たらずリセット要因になるのでつけています。
レディ商隊は探すのが面倒という程度の理由でつけましたが、
支配地域に寄ってくるよう新たなリセット要因になってしまったかもしれません。
以上、おまけの機能ですが、意外と便利です。
各種DATA.ADV *L_000cb: //22行目あたり IM VAR202, VAR203: {VAR0: @L_000cb: } ■ここから追加 G 894, 40: B3 10, 208, 186, 240, 200, 0: B4 10, 0, 0, 0, 1, 0: ZM 16: R '帝都建築 残り ' {(VAR550 = 2) + (VAR551 = 2) + (VAR552 = 2) + (VAR553 = 2) + (VAR554 = 2) + (VAR555 = 2): H 2, VAR540: } {(VAR550 \ 2) * (VAR551 \ 2) * (VAR552 \ 2) * (VAR553 \ 2) * (VAR554 \ 2) * (VAR555 \ 2): {(VAR550 = 0) + (VAR551 = 0) + (VAR552 = 0) + (VAR553 = 0) + (VAR554 = 0) + (VAR555 = 0): ' 0' } {(VAR550 \ 0) * (VAR551 \ 0) * (VAR552 \ 0) * (VAR553 \ 0) * (VAR554 \ 0) * (VAR555 \ 0): ' ―' } }R '魔法研究所 残り ' {VAR555 = 1: {VAR465 = 0: ' 0' } {VAR465 \ 0: H 2, VAR466 - VAR517: } } {VAR555 \ 1: ' ―' }R '女子士官学校 残り ' {VAR550 = 1: {(VAR462 = 0) + (VAR462 = 2): ' 0' } {VAR462 = 100: ' ―' } {(VAR462 \ 0) * (VAR462 \ 2) * (VAR462 \ 100): H 2, VAR562: } } {VAR550 \ 1: ' ―' }R !VAR154 : 25! 'アスカ必殺技習得 残り ' {(VAR102 \ 0) * (0 < VAR700) * (VAR700 < 8): H 2 , 8 - VAR700: } {(VAR102 = 0) + (VAR700 = 0) + (VAR700 > 7): ' ―' }R !VAR154 : 13! 'メルフェイス発狂 残り ' {(VAR102 \ 0) * (0 < VAR560) * (VAR560 < 10): H 2 , 10 - VAR560: } {(VAR102 = 0) + (VAR560 = 0) + (9 < VAR560): ' ―' }R 'シャリエラ離脱 残り ' {(VAR763 = 1) + (VAR763 = 2) + (VAR763 = 3): H 2 , VAR762 + 43 - VAR517: } {(VAR763 \ 1) * (VAR763 \ 2) * (VAR763 \ 3): ' ―' }R !VAR154 : 24! 'ミリ発症・寿命 残り ' {(VAR102 \ 0) * (VAR427 \ 4) * (VAR431 < 2): H 2 , VAR541 + 13 - VAR517: } {VAR62 \ 0: H 2 , VAR62 - VAR517 + 1: } {((VAR102 = 0) + (VAR427 = 4) + (VAR431 > 1)) * (VAR62 = 0): ' ―' }R !VAR154 : 32! '美樹失踪 残り ' {(VAR102 \ 0) * (VAR563 \ 0): H 2 , VAR563: } {(VAR102 = 0) + (VAR563 = 0): ' ―' }R 'フレイア居場所 ' {VAR453 \ 0: MM 8, VAR200 + VAR453 - 1: ML VAR0 , 8: {VAR0 = 5: ' ' } X 8: } {VAR453 = 0: ' ―' }R 'レディ商隊 ' {VAR365 < 10: MM 8, VAR200 + VAR64 - 1: ML VAR0 , 8: <@ VAR0<8: ' ' !VAR0 : VAR0 + 1! > X 8: } {VAR365 >9: ' ―' } ■ここまで追加 $L_00174$総資金$ $L_00349$諸経費$ $L_0047e$軍事費$ $L_005b3$総被害$ $L_00157$戻る$ ]