FF8PC版陆行鸟世界道具导入完全解析

2004-02-04 00:00 | 小薇儿

通过陆行鸟世界(Chocobo World)可以获得各种FF8道具,得到陆行鸟后,在游戏菜单的Save选单里会多出一个"Chocobo World"的选项,进入后,可将陆行鸟送到Chocobo World里去培养。陆行鸟获得道具后,在这里选择"Home"就可以将所获得的道具导入FF8游戏。

由于PC版的陆行鸟世界存档是通过Chocorpg文件保存的,因此,如果备份这个文件就能够通过交替选择"Home"与"World",并在游戏目录里用复制+粘贴的方法恢复原存档,从而不断地获得陆行鸟世界的道具,这是一个FF8的著名里技。

不同等级的陆行鸟,其获得物品的概率是不同的,见下表:

陆行鸟等级初始HP获得道具概率(估算)对应的编号
A级B级C级D级
Unique161234211
Very rare121248000, 008, 777
Rare1013610111, 222, 333...999
Semi-rare914916100, 200, 300...900
Wonderful813927077, 177, 277...977
Good7141664007, 017, 027...997
Common61525125其他号码
注:对应的编号是我连续50分钟不停地Do Over1500多次后勉强凭印象写出的,可能会有错漏。

当从陆行鸟世界向FF8世界导入道具时,原有的A、B、C、D四个等级的道具将一一转换成FF8中的道具。这个转换过程,与大多数人想像的不同,并不是由乱数来决定的,或者说,并不是完完全全由乱数来决定的。

注意:以下为建立数据模型的分析部分,没有兴趣的请直接看后面的结论。

每一个等级的道具都会对应FF8中的数种道具,这些道具有的出现几率较大,有的则较小,但它们之间成倍数关系,也就是说,任何一种出现几率较大的道具,其概率总是出现概率最小的道具的整数倍,而这个整数倍的最小单位为1.5625%。

以A级为例,一共有17种A级道具,其中11种的出现概率是7.8125%,3种是3.125%,3种是1.5625%,它们之间成5:2:1的倍数关系。如果我们设它们的个数分别为5、2、1件,那么A级道具在种类无差别,只考虑件数的情况下,一共有64个。B、C、D级情况类似,都是64件道具。

导入的时候是怎么转换的呢?首先,产生一个规则的序列,这个序列由4行64列构成。
- 1  2  3  4  5  6  7  8  9 10 11 12 13……63 64
A ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■
B ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■
C ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■
D ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■

然后,通过一个乱数排列,将每个等级的64件道具,无种类差别地与该等级的这个序列建立一一对应的关系。

仍以A级为例。将A级的17种道具命名为a1、a2……a17,则产生5个a1,5个a2……2个a14,1个a15,1个a16,1个a17,也就是一套完整的A级道具。然后打乱重排,B、C、D等级相应处理……
- 1  2  3  4  5  6  7  8  9 10 11 12 13……63 64
A ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■
 a1 a8 a9 a6 a15 a4 a9 a12 a12 a7 a3 a2 a13……a5 a2
B ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■
 b6 b2 b1 b32 b27 b4 b3 b25 b18 b19 b17 b30 b11……b2 b8
C ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■
 c9 c4 c42 c11 c37 c28 c18 c27 c16 c45 c31 c20 c24……c7 c14
D ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■……■ ■
 d2 d10 d7 d6 d1 d1 d1 d2 d2 d1 d3 d4 d5……d4 d3

接着,程序会产生一个指针,指向第1列。然后取出A行1列对应的道具,即第1个A级道具;之后指针移到第2列,取出A行2列对应的道具,即第2个A级道具……直至A级道具全部取完,之后指针再下移一列,取出B行的道具作为第1个B级道具,如果指针已经移过64列则从1开始循环,如此往复,直到A、B、C、D四个等级的道具全部取完,按照FF8的道具内码重新整理排序后,分页显示在灌入的道具栏里。

例如,有12个A级道具,22个B级道具、30个C级道具和50个D级道具,则实际获得的道具,将是1-12列对应的A级道具、13-34列对应的B级道具、35-64列对应的C级道具、以及1-50列对应的D级道具。取完后,指针会停留在第51列上。

为了方便下面的说明,我引入一个“道具总件数”的概念:一次导入中,道具总件数(X)为A、B、C、D四个等级道具件数的总和,记为X = A + B + C + D,X的取值范围为1到396,至于X=0的情况……嗯,导入有意义吗?^_^

很显然,一次完整的导入后,指针将会移到(原指针位 + X)mod 64的位置。这个新的位置本来没什么实际的意义,但是在使用那个重复导入的里技时,新指针的位置就很重要了,因为在第2次导入时,已经乱数排好的序列将不再变化,而取道具将从新位置开始。

上例中,如果复制存档再导入一次,将获得51-62列的A级道具、63-64和1-20列的B级道具、21-50列的C级道具以及51-64和1-36列的D级道具。

从以上的分析中,可以得到以下的结论:
1. 由于X与序列长度64总存在公倍数64X,所以连续重复导入64次后,指针将回到起始位置,换句话说,第65次导入的道具将与第1次导入的道具完全相同。
2. 由于取道具是从一个既定的,包含完整且互不重复的(不考虑道具种类,只考虑件数)全套64件道具序列中截取,因此当A、B、C、D的值都不超过64时,在一次导入中,就不可能有任何道具的个数超过它在64个同级道具中所占的数量;例如在64件A级道具中最多有5个Shaman Stone,则你一次导入的A级道具小于64个时,你最多也只能获得5个Shaman Stone。
3. 从与第2点相反的角度考虑,假如A、B、C、D的值大于等于64(比如那个著名的ABCD皆99的存档),则在一次导入中,指针会在取到这一级时会先遍历一遍序列取得该级一整套道具,然后再回到原处取第65个、66个同级的道具。你永远将获得一套完整的某等级道具,以及第二套的一部分。
4. 基于第1点和第2点,可以看出,当64X是X与64的最小公倍数时,连续导入64次后,获得的道具将是成套的。假如A=2;那么在连续导入64次后,应该能够获得2套完整的A级道具,其中每件(不是每种)道具出现且仅出现两次,具体说,就是比如10个Elem Atk、10个Dark Matter、10个Shaman Stone等等……
5. 当X与64有最大公约数Y时,循环的情况会发生变化,见下表:

XY=GCD(X, 64)指针复原需要次数开始重复的次数
1, 3, 5, 7...395164次第65次导入
2, 6, 10, 14...394232次第33次导入
4, 12, 20, 28...396416次第17次导入
8, 24, 40, 56...39288次第9次导入
16, 48, 80, 112...368164次第5次导入
32, 96, 160, 224...352322次第3次导入
64, 128, 192, 256...384641次第2次导入

也就是说,如果X是16的奇数倍,那么指针将在第4次导入后恢复到起始位置,换句话说,不管你怎么重复导入,你所获得的道具组合只有4种可能性。这样依据一个随机队列而不是完全乱数产生道具的导入原理,是有可能造成无法取得某些道具的!

比如一个陆行鸟存档中,A级道具4件,B级11件,C级20件,D级29件,计算得X=64,依上表可知,从第2次导入起,每一次所得到的道具都和前一次完全一样,也就是说,无论你试着导入多少次,你获得的,永远都只能是1-4列的A级道具,5-15列的B级道具,16-35列的C级道具和36-64列的D级道具,而不在这个范围里的道具是无法获得的。

那么如何避免这样的情况出现呢?第一是根据上面的理论,使A、B、C、D的值乘以“指针复原需要次数”的值达到或者超过64,比如指针复原需要4次的话,只需使A、B、C、D的值都大于等于16,导入4次便可确保获得全套道具。因为在指针复原之前,所获得的道具每一次都不会相同。

第二就是——破坏这个队列,使之重新排序。

实践证明,简单地通过退出菜单再重进,甚至切换场景的办法都不能够使这个队列重新排列,包括在Ctrl+R之后读取存档再导入都无法重排队列(但指针位置会被恢复为1)。能够使得队列重排的方法有两个,一个是Save Game,另一个是Do Over。

也许大家都注意到了在每次导入完道具试图退出菜单前都会有“陆行鸟世界的数据改变,建议存储游戏”的提示。的确,存档后,新的队列会在排好后一同存入游戏存档,但在内存中的队列则保持原状。只有重新Ctrl+R后读取新的存档,再导入才会发现队列已经起了变化。存档还有另一个重要的意义就是改变道具的组别,这点下面详谈。

这个建议存储的提示,应该是制作者有意留下的,由于正常游戏时不太可能短时间内连续导入存档,所以存盘后原来的队列被打乱,下次导入时道具就会完全不同,从而使道具的获得看起来更具有随机性而不是规律性,可惜FF8的玩家们发现了那个利用Windows的文件复制功能的里技……

如果想要破坏内存中的队列,那就要用到另一种办法:Do Over。更换陆行鸟后,陆行鸟会回到1级,所有道具全部都丢失回到初始状态,内存中的道具队列也随之抹去。但当切换出游戏重新复制原有存档后,游戏接受到导入的指令,并且检测到陆行鸟世界中有道具,就会随即产生一个新的序列出来。

以上谈的是道具导入的概率和分布,下面说另一个重要的问题——道具分组。

首先,陆行鸟不是万能的,在FF8世界的198种道具中,能够从陆行鸟世界取得的只有173种,缺少的25种道具见下表:

Holy War-trialHoly WarSorceress LetterWeapons Mon 1stWeapons Mon Mar
Weapons Mon AprWeapons Mon MayWeapons Mon JunWeapons Mon JulWeapons Mon Aug
Combat King 001Combat King 002Combat King 003Combat King 004Combat King 005
Pet Pals Vol.1Pet Pals Vol.2Pet Pals Vol.3Pet Pals Vol.4Pet Pals Vol.5
Pet Pals Vol.6Occult Fan IOccult Fan IIOccult Fan IIIOccult Fan IV
即全22本杂志,两种全体无敌的药品,外加魔女Edea的亲笔家书。

在能够获得的173种道具中,如果玩家不退出菜单,连续多次重复导入,会发现,实际获得的道具永远只在12页以内。或者为129种,或者为126种。

这是因为,在FF8系统中,把陆行鸟世界中的道具,分成了两个组别,每次导入都只在同一组别内进行操作,从产生序列开始到最后给出道具,一切的步骤都不可能跨越组别这个天然的界限。

两组道具的种数不一样,有共同的道具,也有各自独有的道具;而在共同的道具中,有相同获取概率的,也有不同获取概率的。

A组(含129种道具)缺少44种道具,如下表所列:

Potion+Hi-Potion+Hero-trialAura StoneFlare Stone
Phoenix PinionPet HouseG-PotionG-Mega-PotionHP-J Scroll
Vit-J ScrollSpr-J ScrollLuck-J ScrollGF ScrollItem Scroll
Healing RingMed KitSteel PipeEnergy CrystalHealing Mail
Gold ArmorGaea's RingStrength LoveHyper WristAdamantine
Rune ArmletMagic ArmletCircletRoyal CrownGlow Curtain
Knight's CodeShotgun AmmoFire AmmoFast AmmoPulse Ammo
Healing WaterSaw BladeVampire FangPower GeneratorBomb Fragment
Fish FinSilence PowderFuelSolomon Ring 

B组(含126种道具)含有上表所列出的那44种道具,这些是B组的独有道具;但下表所列出的47种道具,A组中是有的,在这一组中却不可能找到:

PotionHi-PotionHeroDeath StoneHoly Stone
Meteor StoneGysahl GreensTentCottageG-Hi-Potion
G-ReturnerAmnesia GreensStr-J ScrollMag-J ScrollSpd-J Scroll
Magic ScrollDraw ScrollGambler SpiritPhoenix SpiritMog's Amulet
Star FragmentSamantha SoulSilver MailDiamond ArmorRegen Ring
Giant's RingPower WristTurtle ShellOrihalconForce Armlet
Hypno CrownJet EngineAcceleratorDoc's CodeNormal Ammo
Dark AmmoDemolition AmmoAP AmmoScrewMesmerize Blade
Coral FragmentArctic WindDragon FinPoison PowderGirl Next Door
Magical LampLuvLuvG   

可以看到,在这些独有道具中有一部分是对等替代的,如Potion和Potion+、Orihalcon和Adamantine、以及八种弹药等,但有些不是这样。即使是共有的道具,AB组的取得概率也不尽相同,B组由于道具少,一些道具的取得概率比A组大,如Rosetta的取得概率是A组的4倍,当然也有一些道具是A组得到的概率大的。

想要切换道具的组别,有且只有一种办法:在导入道具后,存盘,结束游戏(Ctrl+Q退出或Ctrl+R复位),重新读入刚存的存档。会有50%的可能,再导入的道具和原来不属于同一组别,还有50%可能是仍属一组,但如前所述,道具序列会被打乱重排。除此之外,任何方法都无法改变道具组别,包括Do Over更换陆行鸟,重启FF8、重启机器等(当然,你可以读取其他的存档来导入不同组道具,不过就失去讨论意义了……)。

最后,介绍一个修改陆行鸟存档道具数量的办法。

如果手头没有现成的陆行鸟存档,又想拥有一个超强道具存档,可以按以下的方法做:
1. 养一只陆行鸟(当然最好是211啦),找道具,直到ABCD的四个等级都有至少1件道具获得;
2. 用Ultraedit或其他十六进制编辑器打开Chocorpg文件;
3. 查找,选十六进制查找方式,在输入框里依序输入A、B、C、D四个等级道具件数的十进制值,例如A、B、C、D道具分别有1、3、6、10个,则输入01 03 06 10,千万不要把10转换成十六进制数0A输入;
4. 找到地址后,光标停在A级道具件数上,之后3个字节依次为B、C、D级道具件数,输入99 99 99 99或你想要的值均可,此处虽然是按16进制填,但实际在游戏中为10进制,如果自作聪明的将99转成16进制的63填入,进去后会发现A、B、C、D级道具分别都只有63件;
5. 存盘,修改完成。

附:陆行鸟世界173种道具完全列表

道具名等级获取概率单位获取量
A组B组A组B组
PotionC1.56%---1N/A
Potion+C---1.56%N/A1
Hi-PotionC1.56%---1N/A
Hi-Potion+C---1.56%N/A1
X-PotionC1.56%11
Mega-PotionC1.56%11
Phoenix DownC1.56%11
Mega PhoenixC1.56%11
ElixirC1.56%11
MegalixirC1.56%11
AntidoteD1.56%11
SoftD1.56%11
Eye DropsD1.56%11
Echo ScreenD1.56%11
Holy WaterD1.56%11
RemedyC1.56%11
Remedy+C1.56%11
Hero-trialB---1.56%N/A1
HeroB1.56%---1N/A
Shell StoneC1.56%11
Protect StoneC1.56%11
Aura StoneC---1.56%N/A1
Death StoneC1.56%---1N/A
Holy StoneC1.56%---1N/A
Flare StoneC---1.56%N/A1
Meteor StoneC1.56%---1N/A
Ultima StoneB1.56%3.13%12
Gysahl GreensC1.56%---1N/A
Phoenix PinionC---1.56%N/A1
FriendshipA7.81%87
B4.69%3.13%
TentB1.56%---1N/A
Pet HouseB---1.56%N/A1
CottageB1.56%---1N/A
G-PotionB---1.56%N/A1
G-Hi-PotionB1.56%---1N/A
G-Mega-PotionB---1.56%N/A1
G-ReturnerB1.56%---1N/A
Rename CardB---1.56%23
C3.13%
Amnesia GreensB1.56%---1N/A
HP-J ScrollB---1.56%N/A1
Str-J ScrollB1.56%---1N/A
Vit-J ScrollB---1.56%N/A1
Mag-J ScrollB1.56%---1N/A
Spr-J ScrollB---1.56%N/A1
Spd-J ScrollB1.56%---1N/A
Luck-J ScrollB---1.56%N/A1
Aegis AmuletA1.56%3.13%32
B3.13%---
Elem AtkA7.81%66
B1.56%
Elem GuardA7.81%66
B1.56%
Status AtkA7.81%66
B1.56%
Status GuardA7.81%66
B1.56%
Rosetta StoneB1.56%6.25%14
Magic ScrollB1.56%---1N/A
GF ScrollB---1.56%N/A1
Draw ScrollB1.56%---1N/A
Item ScrollB---1.56%N/A1
Gambler SpiritB1.56%---1N/A
Healing RingB---1.56%N/A1
Phoenix SpiritB1.56%---1N/A
Med KitB---1.56%N/A1
Hungry CookpotA7.81%65
B1.56%---
Bomb SpiritA7.81%56
B---1.56%
Mog's Amulet(*)B1.56%---1N/A
Steel PipeB---1.56%N/A1
Star FragmentB1.56%---1N/A
Energy CrystalB---1.56%N/A1
Samantha SoulB1.56%---1N/A
Healing MailB---1.56%N/A1
Silver MailB1.56%---1N/A
Gold ArmorB---1.56%N/A1
Diamond ArmorB1.56%---1N/A
Regen RingC1.56%---1N/A
Giant's RingB1.56%---1N/A
Gaea's RingB---1.56%N/A1
Strength LoveC---1.56%N/A1
Power WristB1.56%---1N/A
Hyper WristB---1.56%N/A1
Turtle ShellC1.56%---1N/A
OrihalconB1.56%---1N/A
AdamantineB---1.56%N/A1
Rune ArmletC---1.56%N/A1
Force ArmletB1.56%---1N/A
Magic ArmletB---1.56%N/A1
CircletC---1.56%N/A1
Hypno CrownB1.56%---1N/A
Royal CrownB---1.56%N/A1
Jet EngineB1.56%---1N/A
Rocket EngineA3.13%1.56%31
B1.56%---
Moon CurtainA1.56%3.13%13
B---1.56%
Steel CurtainA3.13%1.56%31
B1.56%---
Glow CurtainB---1.56%N/A1
AcceleratorB1.56%---1N/A
Monk's CodeA1.56%3.13%13
B---1.56%
Knight's CodeB---1.56%N/A1
Doc's CodeC1.56%---1N/A
Hundred NeedlesA3.13%1.56%31
B1.56%---
Three StarsA7.81%56
B---1.56%
RibbonA7.81%65
B1.56%---
Normal AmmoD6.25%---4N/A
Shotgun AmmoD---6.25%N/A4
Dark AmmoD6.25%---4N/A
Fire AmmoD---6.25%N/A4
Demolition AmmoD6.25%---4N/A
Fast AmmoD---6.25%N/A4
AP AmmoD6.25%---4N/A
Pulse AmmoD---4.69%N/A3
M-Stone PieceD18.75%20.31%1213
Magic StoneD20.31%18.75%1312
Wizard PieceD18.75%1212
Ochu TentacleC1.56%11
Healing WaterC---1.56%N/A2
D---1.56%
Cockatrice PinionC1.56%11
Zombie PowderC1.56%11
LightweightC1.56%11
Sharp SpikeC1.56%11
ScrewC1.56%---2N/A
D1.56%---
Saw BladeC---1.56%N/A2
D---1.56%
Mesmerize BladeC1.56%---2N/A
D1.56%---
Vampire FangC---1.56%N/A2
D---1.56%
Fury FragmentC1.56%11
Betrayal SwordC1.56%11
Sleep PowderC1.56%11
Life RingC1.56%11
Dragon FangC1.56%11
Spider WebC1.56%11
Coral FragmentC1.56%---2N/A
D1.56%---
Curse SpikeC1.56%11
Black HoleC1.56%11
Water CrystalC1.56%11
MissileC1.56%11
Mystery FluidC1.56%11
Running FireC1.56%11
Inferno FangC1.56%11
Malboro TentacleC1.56%11
WhisperC1.56%11
Laser CannonC1.56%11
BarrierC1.56%11
Power GeneratorB---1.56%N/A1
Dark MatterA7.81%56
B---1.56%
Bomb FragmentC---1.56%N/A2
D---1.56%
Red FangC1.56%11
Arctic WindC1.56%---2N/A
D1.56%---
North WindC1.56%11
Dynamo StoneC1.56%11
Shear FeatherC1.56%11
Venom FangC1.56%11
Steel OrbC1.56%11
Moon StoneC1.56%11
Dino BoneC1.56%11
WindmillC1.56%11
Dragon SkinC1.56%11
Fish FinC---1.56%N/A2
D---1.56%
Dragon FinC1.56%---2N/A
D1.56%---
Silence PowderC---1.56%N/A2
D---1.56%
Poison PowderC1.56%---2N/A
D1.56%---
Dead SpiritC1.56%11
Chef's KnifeC1.56%11
Cactus ThornC1.56%11
Shaman StoneA7.81%55
FuelC---1.56%N/A2
D---1.56%
Girl Next DoorB1.56%---1N/A
Chocobo's TagB---3.13%23
C3.13%1.56%
Pet's NametagB1.56%---22
C1.56%3.13%
Solomon RingB---1.56%N/A1
Magical LampB1.56%---1N/A
HP UpB4.69%33
Str UpB4.69%3.13%32
Vit UpB3.13%4.69%23
Mag UpB4.69%3.13%32
Spr UpB3.13%4.69%23
Spd UpB4.69%3.13%32
Luck UpB3.13%4.69%23
LuvLuvGB1.56%---1N/A
全173种道具129种126种256256
注1:(*) 找到Mog后的第一次导入时,一定会获得1个Mog's Amulet。
注2:表中的单位获取量,指的是在A=B=C=D=64的情况下进行导入,各道具的获取量,也就是一整套道具中各道具的数目。