FF1系统解析(节选)
2001-09-21 21:43 | woodd
作者:Ben Siron
E-mail:bensiron@cco.caltech.edu
**********************************************************************
一、运算法则
1、派生参数
a,攻击力(A)
黑魔道士、黑魔导师:A = [(S+1)/2]
空手家、超级空手家:A = Lv×2
其他职业:A = [S/2]
(S为力量参数值)
(BUG:装备武器的空手家或超级空手家在升级后,其攻击力会变成[(S+1)/2]。这种状态会保持到你打开状态菜单为止,即使存盘后重新读盘也不会恢复。)
b,命中率(H%)
战士、骑士、空手、超空:H% = 初始值 + (3×(lv - 1))
小偷、忍者、赤魔、赤巫:H% = 初始值 + (2×(lv - 1))
白魔、白巫、黑魔、黑巫:H% = 初始值 + (lv - 1)
c,防御力(D)
所有职业:D = 0
(BUG:装备武器的空手家或超级空手家在升级后,其攻击力数值会等于当前的等级。这种状态会保持到你打开状态菜单为止,即使存盘后重新读盘也不会恢复。这个BUG不会影响所穿防具的特殊效果,例如对带有属性的魔法的防御。)
d,回避率(E%)
所有职业:E% = 敏捷 + 48%
2、升级时HP上限的提升
升级有两种类型:弱升级和强升级。
对强升级来说,HP最大值提升:20 + [活力值/4] + (1~6之间的随机整数);
对弱升级来说,HP最大值提升:[活力值/4] + 1;
对于一定的职业和等级,升级类型由什么因素决定目前还不太清楚。大致上,各种职业在升级到lv50的过程中,强升级的概率如下:
战士/骑士:50%; 空手/超空:40%; 小偷/忍者:35%;
白魔/白巫:30%; 赤魔/赤巫:25%; 黑魔/黑巫:25%;
3、基本参数的初始值及升级时基本参数的提升
下表每个空格中,前面的数值表示该职业在lv1时对应参数的数值,后面的数值表示在升级时该参数提高的概率(分母为8)。比如:黑巫升级时,有3/8的概率提高“活力”参数,有8/8的概率提高“智慧”参数。所有基本参数每次升级最多提高1点。下面两行H%和MHP表示该职业Lv1时的命中率和HP最大值。
职业 战/骑 空/超 白/白 黑/黑 盗/忍 赤/赤
属性
力量 20,8 5, 5 5, 4 1, 4 5, 7 10,5
敏捷 5, 6 5, 5 5, 4 10,3 10,6 10,5
智慧 1, 4 5, 5 15,5 20,8 5, 4 10,5
活力 10,5 20,8 10,4 1, 4 5, 4 5, 5
运气 5, 6 5, 5 5, 5 10,4 15,8 5, 5
H% 10 5 5 5 5 7
MHP 35 33 28 25 30 30
4、升级所需的经验值
从N级升级到N+1级,每位主角需要获得(39×N×N)点经验值。当N>29时以N=29来计算。最高可以达到50级。
若N为1、17或大于22的奇数,则所需的经验值需要额外增加1点。
5、各级魔法的点数及达到该等级所需的经验值
骑士和忍者的魔法点数与等级有关。令X = 角色转职时的等级(若等级不到22,则X取22)。“魔法等级”一栏中的+(n)表示该角色在(X + n)级时的魔法点数(如果一个战士或小偷在43级以后才转职,那他的魔法点数就不可能达到最大值了,不过一般来说无关紧要)。
魔法等级 骑士: 1 2 3 4 5 6 7 8 忍者: 1 2 3 4 5 6 7 8
<(+1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1, +2 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0
+3, +4 2 2 2 0 0 0 0 0 2 2 2 2 0 0 0 0
+5, +6 3 3 3 0 0 0 0 0 3 3 3 3 0 0 0 0
>(+6) 4 4 4 0 0 0 0 0 4 4 4 4 0 0 0 0
(其它职业略)
6、战斗触发的条件
在上一场战斗开始时,会在50~255之间产生一个随机整数X。战斗结束后,每走一步都会从该数中扣掉一定的数值。
a,地图画面上的沙漠、平原、森林、沼泽、河流,每走一步X减6;
b,迷宫内部,每走一步X减5;
c,海上,每走一步X减2;
d,迷宫内部会造成伤害的地形、乘坐飞空艇、海港或城镇中,X不变。
当X < 0时战斗就会发生。迷宫中也有一些会发生固定战斗的格子,这种战斗不会使X值发生变化。一般说来,只有当X<0或重新读盘以后,X值才会被重置。进入城镇或者其他类型的内部区域也不会改变X值。
7、敌人出现区域
FF1的世界地图是由256x256个格子组成的。将每个格子用(X, Y)坐标来表示:(0, 0)是西北角的格子;(0, 255)是西南角的格子;(255, 255)是东南角的格子……,等等。
整个世界地图可以划分成64个32×32的小区域(纵横各等分成8道)。对于每个区域来说,遭遇到的任何敌人都会在整个区域中出现。
陆地: 河流:
N N X O O X N N B B B B B B B B
W W C O O D D E B B B B B B B B
W W - C - D D E B B B B B B B B
- - - F F V - E A A A A A A A A
- R V V S P P M A A A A A A A A
R R R V - V M M A A A A A A A A
- - M V V M L L A A A A A A A A
- - - M V M L L A A A A A A A A
图中的字母代表该区域的类型以及在世界地图上的相对位置。例如,中间的“S”对应从(128, 128)到(159, 159)的区域。
(各区域出现的敌人略)
8、重要地点的坐标(略)
9、各个迷宫中出现的敌人(略)
10、战斗指令
攻击:攻击一名敌人;
服药:对其它队员使用回复剂或治疗药;
魔法:使用魔法;
道具:把该队员物品栏里的武器或防具作为道具使用。以这种方式使用道具不会损坏装备。被使用的道具不需要装备,而且与队员能否装备该道具无关。
逃跑:逃离战场。只要队伍中有一名队员成功,整个队伍就可以逃跑。
被打死或石化的队员,其一切指令均无效。但该指令仍会消耗资源,比如魔法点数或回复剂。因失去该能力或战斗提前结束而中止的指令,视为未被执行,该指令所需的资源不会被浪费。
11、敌人的攻击方式
怪物可以采取的行动有4种:物理攻击、使用魔法、特殊攻击或逃跑。如果怪物没有逃跑,就会选择另外3种方式中的一种行动。
若进行物理攻击,则选择己方一名队员作为攻击目标。
若使用魔法,它会按照一定的顺序使用魔法。每种怪物都有一个特定的魔法循环。例如,“吸血巫师”使用(防火术、沉默术、二级冷风、二级冷风、二级雷电、二级雷电、二级火球、二级火球……)这种循环。也就是说,“吸血巫师”第一次使用魔法时,总是用防火术。接下来则是沉默术。在使用第二次二级火球之后,它又开始使用防火术。怪物魔法循环的当前位置完全由它在特殊攻击循环中当前的位置决定。
若使用特殊攻击,它会在特殊攻击的循环中选择下一个可用的进行攻击。其原理与魔法循环相同。两个循环同时进行但互不影响。比如,塔玛特的魔法循环为(毒烟术,二级冷风,二级雷电,二级火球……),特殊攻击循环为(雷、毒、冰、火……)。如果怪物选择策略:A、S、M、M、S、M、A、A、M、M,那么它采取的行动如下:物理攻击、使用雷电、施BANE魔法、施二级冷风、使用毒、施二级雷电、物理攻击、物理攻击、施二级火球、施毒烟术。
如果怪物采取的行动是对己方一名队员的物理攻击、魔法攻击或特殊攻击,则程序会产生一个1~8之间的随机数。若该数在1~4之间,则攻击第一名队员;为5或6,则攻击第二名队员;为7则攻击第三名队员;为8则攻击第四名队员。若该队员已被石化或已死亡,则重新产生随机数。
12、物理攻击伤害值计算
己方队员每次攻击可以达到的最大HIT数为:
未装备武器的空手/超空:[H%/32]+1;
其他职业:2×([H%/32]+1)
我认为对于敌人来说也是这么计算的,但因为无法验证,所以我只列出了每个敌人HIT数值。另外,考虑到攻击方的命中率和防御方的回避率,某些HIT可能会被回避掉……具体计算方法目前还不清楚。
每一击所造成的伤害值为:(A..A×2) - D 。其中(A..A×2)表示从A到A×2之间的随机整数。A为攻击者的攻击力,D为防御者的防御力。如果攻击方是敌人,可能会对己方目标施加头晕、即死等特殊效果。对其成功的概率我也不太清楚,但这肯定只和每一击有关,所以HIT数越高,防御者被施加异常状态的概率也越高。对于伤害值小于1的一击,伤害值以1计算。如果是致命一击,伤害值增加A×2。致命一击出现的概率目前还不清楚,但能肯定是随等级和基本参数的提升而增大。到游戏后期,几乎敌人的每次攻击都包含至少一次很难回避的致命一击。
13、魔法与特殊攻击伤害值的计算
每种魔法或特殊攻击都有一个基本值,用M表示。实际伤害值在M/4到M之间。这种伤害无法靠装备防具来吸收。如果被攻击目标对该攻击有抵抗力,则伤害值在M/8到M/4之间。如果被攻击目标不耐该攻击,则伤害值在3M/8到3M/2之间。魔法和特殊攻击的命中率为100%。
(BUG:如果被攻击对象不耐某种属性,则对其使用防护魔法是无效的,伤害值仍与未用防护魔法时相同。例如,如果吸血巫师对吸血鬼使用“防火术”魔法,吸血鬼受到火魔法攻击时仍会受到额外的伤害。)
14、金钱与经验值的获得
战斗结束后得到的经验值等于在战斗中消灭的所有怪物的经验值之和。战斗结束后,这些经验值由未被石化和未死亡的队员平分。若该值为0,则计为1。经验值的上限为999999。
战斗结束后得到的金钱等于在战斗中消灭的所有怪物的金钱之和。金钱数的上限为999999。
15、不同交通工具在地图画面上的速度
徒步、独木舟:2.1步/秒
船:7.5步/秒
飞空艇:15步/秒
16、战斗中屈膝的条件
若队员的HP降到1/4以下,该队员就会采取跪姿。
二、异常状态
就我所知,战斗中出现的异常状态一共7种:沉默、睡眠、麻痹、黑暗、中毒、石化、战斗不能。
有些异常状态不是永久性的,战斗结束后会自动消失,沉默、睡眠、麻痹和黑暗都属于这一类;另一些是永久性的,即使住宿或读盘也不会消失,必须经过治疗才能解除,这类状态包括中毒、石化和战斗不能。战斗结束后,被施加以上三种状态的队员会自动切换到队伍最后。
沉默:无法使用道具、魔法和服药指令(包括解除沉默状态的魔法)。被施加沉默状态的敌人,其魔法与特殊攻击均无效。
睡眠:被施加该状态的敌人和己方队员将无法行动,并呈跪姿。
麻痹:与睡眠相同。
黑暗:似乎没有什么影响。
中毒:中毒的队员每走一步HP会降低1点,但不会降到0。如果在恶劣地形上行走,两种伤害会叠加起来。在战斗中,中毒的队员HP每回合降低2点,有可能会因此而战斗不能。中毒的队员呈跪姿。
石化:被石化的队员无法采取任何行动,也不会成为敌人攻击的目标。石化的敌人会立即死亡。如果所有队员都被石化或处于战斗不能状态,整个队伍就被消灭了。若被石化的队员之前已经中毒,则中毒状态会被解除。
战斗不能:战斗不能的队员无法采取任何行动,也不会成为敌人的目标。队员被杀死后,原来的中毒状态会被解除。
二、异常状态、复活及宿屋费率
在宿屋回复所有队员的魔法点数和HP的费用与所在地点有关,而与队伍等级无关。复活相当于对死亡的队员使用复活魔法,在相同的地点,其费用也是相同的。
-
E-mail:bensiron@cco.caltech.edu
**********************************************************************
一、运算法则
1、派生参数
a,攻击力(A)
黑魔道士、黑魔导师:A = [(S+1)/2]
空手家、超级空手家:A = Lv×2
其他职业:A = [S/2]
(S为力量参数值)
(BUG:装备武器的空手家或超级空手家在升级后,其攻击力会变成[(S+1)/2]。这种状态会保持到你打开状态菜单为止,即使存盘后重新读盘也不会恢复。)
b,命中率(H%)
战士、骑士、空手、超空:H% = 初始值 + (3×(lv - 1))
小偷、忍者、赤魔、赤巫:H% = 初始值 + (2×(lv - 1))
白魔、白巫、黑魔、黑巫:H% = 初始值 + (lv - 1)
c,防御力(D)
所有职业:D = 0
(BUG:装备武器的空手家或超级空手家在升级后,其攻击力数值会等于当前的等级。这种状态会保持到你打开状态菜单为止,即使存盘后重新读盘也不会恢复。这个BUG不会影响所穿防具的特殊效果,例如对带有属性的魔法的防御。)
d,回避率(E%)
所有职业:E% = 敏捷 + 48%
2、升级时HP上限的提升
升级有两种类型:弱升级和强升级。
对强升级来说,HP最大值提升:20 + [活力值/4] + (1~6之间的随机整数);
对弱升级来说,HP最大值提升:[活力值/4] + 1;
对于一定的职业和等级,升级类型由什么因素决定目前还不太清楚。大致上,各种职业在升级到lv50的过程中,强升级的概率如下:
战士/骑士:50%; 空手/超空:40%; 小偷/忍者:35%;
白魔/白巫:30%; 赤魔/赤巫:25%; 黑魔/黑巫:25%;
3、基本参数的初始值及升级时基本参数的提升
下表每个空格中,前面的数值表示该职业在lv1时对应参数的数值,后面的数值表示在升级时该参数提高的概率(分母为8)。比如:黑巫升级时,有3/8的概率提高“活力”参数,有8/8的概率提高“智慧”参数。所有基本参数每次升级最多提高1点。下面两行H%和MHP表示该职业Lv1时的命中率和HP最大值。
职业 战/骑 空/超 白/白 黑/黑 盗/忍 赤/赤
属性
力量 20,8 5, 5 5, 4 1, 4 5, 7 10,5
敏捷 5, 6 5, 5 5, 4 10,3 10,6 10,5
智慧 1, 4 5, 5 15,5 20,8 5, 4 10,5
活力 10,5 20,8 10,4 1, 4 5, 4 5, 5
运气 5, 6 5, 5 5, 5 10,4 15,8 5, 5
H% 10 5 5 5 5 7
MHP 35 33 28 25 30 30
4、升级所需的经验值
从N级升级到N+1级,每位主角需要获得(39×N×N)点经验值。当N>29时以N=29来计算。最高可以达到50级。
若N为1、17或大于22的奇数,则所需的经验值需要额外增加1点。
5、各级魔法的点数及达到该等级所需的经验值
骑士和忍者的魔法点数与等级有关。令X = 角色转职时的等级(若等级不到22,则X取22)。“魔法等级”一栏中的+(n)表示该角色在(X + n)级时的魔法点数(如果一个战士或小偷在43级以后才转职,那他的魔法点数就不可能达到最大值了,不过一般来说无关紧要)。
魔法等级 骑士: 1 2 3 4 5 6 7 8 忍者: 1 2 3 4 5 6 7 8
<(+1) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+1, +2 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0
+3, +4 2 2 2 0 0 0 0 0 2 2 2 2 0 0 0 0
+5, +6 3 3 3 0 0 0 0 0 3 3 3 3 0 0 0 0
>(+6) 4 4 4 0 0 0 0 0 4 4 4 4 0 0 0 0
(其它职业略)
6、战斗触发的条件
在上一场战斗开始时,会在50~255之间产生一个随机整数X。战斗结束后,每走一步都会从该数中扣掉一定的数值。
a,地图画面上的沙漠、平原、森林、沼泽、河流,每走一步X减6;
b,迷宫内部,每走一步X减5;
c,海上,每走一步X减2;
d,迷宫内部会造成伤害的地形、乘坐飞空艇、海港或城镇中,X不变。
当X < 0时战斗就会发生。迷宫中也有一些会发生固定战斗的格子,这种战斗不会使X值发生变化。一般说来,只有当X<0或重新读盘以后,X值才会被重置。进入城镇或者其他类型的内部区域也不会改变X值。
7、敌人出现区域
FF1的世界地图是由256x256个格子组成的。将每个格子用(X, Y)坐标来表示:(0, 0)是西北角的格子;(0, 255)是西南角的格子;(255, 255)是东南角的格子……,等等。
整个世界地图可以划分成64个32×32的小区域(纵横各等分成8道)。对于每个区域来说,遭遇到的任何敌人都会在整个区域中出现。
陆地: 河流:
N N X O O X N N B B B B B B B B
W W C O O D D E B B B B B B B B
W W - C - D D E B B B B B B B B
- - - F F V - E A A A A A A A A
- R V V S P P M A A A A A A A A
R R R V - V M M A A A A A A A A
- - M V V M L L A A A A A A A A
- - - M V M L L A A A A A A A A
图中的字母代表该区域的类型以及在世界地图上的相对位置。例如,中间的“S”对应从(128, 128)到(159, 159)的区域。
(各区域出现的敌人略)
8、重要地点的坐标(略)
9、各个迷宫中出现的敌人(略)
10、战斗指令
攻击:攻击一名敌人;
服药:对其它队员使用回复剂或治疗药;
魔法:使用魔法;
道具:把该队员物品栏里的武器或防具作为道具使用。以这种方式使用道具不会损坏装备。被使用的道具不需要装备,而且与队员能否装备该道具无关。
逃跑:逃离战场。只要队伍中有一名队员成功,整个队伍就可以逃跑。
被打死或石化的队员,其一切指令均无效。但该指令仍会消耗资源,比如魔法点数或回复剂。因失去该能力或战斗提前结束而中止的指令,视为未被执行,该指令所需的资源不会被浪费。
11、敌人的攻击方式
怪物可以采取的行动有4种:物理攻击、使用魔法、特殊攻击或逃跑。如果怪物没有逃跑,就会选择另外3种方式中的一种行动。
若进行物理攻击,则选择己方一名队员作为攻击目标。
若使用魔法,它会按照一定的顺序使用魔法。每种怪物都有一个特定的魔法循环。例如,“吸血巫师”使用(防火术、沉默术、二级冷风、二级冷风、二级雷电、二级雷电、二级火球、二级火球……)这种循环。也就是说,“吸血巫师”第一次使用魔法时,总是用防火术。接下来则是沉默术。在使用第二次二级火球之后,它又开始使用防火术。怪物魔法循环的当前位置完全由它在特殊攻击循环中当前的位置决定。
若使用特殊攻击,它会在特殊攻击的循环中选择下一个可用的进行攻击。其原理与魔法循环相同。两个循环同时进行但互不影响。比如,塔玛特的魔法循环为(毒烟术,二级冷风,二级雷电,二级火球……),特殊攻击循环为(雷、毒、冰、火……)。如果怪物选择策略:A、S、M、M、S、M、A、A、M、M,那么它采取的行动如下:物理攻击、使用雷电、施BANE魔法、施二级冷风、使用毒、施二级雷电、物理攻击、物理攻击、施二级火球、施毒烟术。
如果怪物采取的行动是对己方一名队员的物理攻击、魔法攻击或特殊攻击,则程序会产生一个1~8之间的随机数。若该数在1~4之间,则攻击第一名队员;为5或6,则攻击第二名队员;为7则攻击第三名队员;为8则攻击第四名队员。若该队员已被石化或已死亡,则重新产生随机数。
12、物理攻击伤害值计算
己方队员每次攻击可以达到的最大HIT数为:
未装备武器的空手/超空:[H%/32]+1;
其他职业:2×([H%/32]+1)
我认为对于敌人来说也是这么计算的,但因为无法验证,所以我只列出了每个敌人HIT数值。另外,考虑到攻击方的命中率和防御方的回避率,某些HIT可能会被回避掉……具体计算方法目前还不清楚。
每一击所造成的伤害值为:(A..A×2) - D 。其中(A..A×2)表示从A到A×2之间的随机整数。A为攻击者的攻击力,D为防御者的防御力。如果攻击方是敌人,可能会对己方目标施加头晕、即死等特殊效果。对其成功的概率我也不太清楚,但这肯定只和每一击有关,所以HIT数越高,防御者被施加异常状态的概率也越高。对于伤害值小于1的一击,伤害值以1计算。如果是致命一击,伤害值增加A×2。致命一击出现的概率目前还不清楚,但能肯定是随等级和基本参数的提升而增大。到游戏后期,几乎敌人的每次攻击都包含至少一次很难回避的致命一击。
13、魔法与特殊攻击伤害值的计算
每种魔法或特殊攻击都有一个基本值,用M表示。实际伤害值在M/4到M之间。这种伤害无法靠装备防具来吸收。如果被攻击目标对该攻击有抵抗力,则伤害值在M/8到M/4之间。如果被攻击目标不耐该攻击,则伤害值在3M/8到3M/2之间。魔法和特殊攻击的命中率为100%。
(BUG:如果被攻击对象不耐某种属性,则对其使用防护魔法是无效的,伤害值仍与未用防护魔法时相同。例如,如果吸血巫师对吸血鬼使用“防火术”魔法,吸血鬼受到火魔法攻击时仍会受到额外的伤害。)
14、金钱与经验值的获得
战斗结束后得到的经验值等于在战斗中消灭的所有怪物的经验值之和。战斗结束后,这些经验值由未被石化和未死亡的队员平分。若该值为0,则计为1。经验值的上限为999999。
战斗结束后得到的金钱等于在战斗中消灭的所有怪物的金钱之和。金钱数的上限为999999。
15、不同交通工具在地图画面上的速度
徒步、独木舟:2.1步/秒
船:7.5步/秒
飞空艇:15步/秒
16、战斗中屈膝的条件
若队员的HP降到1/4以下,该队员就会采取跪姿。
二、异常状态
就我所知,战斗中出现的异常状态一共7种:沉默、睡眠、麻痹、黑暗、中毒、石化、战斗不能。
有些异常状态不是永久性的,战斗结束后会自动消失,沉默、睡眠、麻痹和黑暗都属于这一类;另一些是永久性的,即使住宿或读盘也不会消失,必须经过治疗才能解除,这类状态包括中毒、石化和战斗不能。战斗结束后,被施加以上三种状态的队员会自动切换到队伍最后。
沉默:无法使用道具、魔法和服药指令(包括解除沉默状态的魔法)。被施加沉默状态的敌人,其魔法与特殊攻击均无效。
睡眠:被施加该状态的敌人和己方队员将无法行动,并呈跪姿。
麻痹:与睡眠相同。
黑暗:似乎没有什么影响。
中毒:中毒的队员每走一步HP会降低1点,但不会降到0。如果在恶劣地形上行走,两种伤害会叠加起来。在战斗中,中毒的队员HP每回合降低2点,有可能会因此而战斗不能。中毒的队员呈跪姿。
石化:被石化的队员无法采取任何行动,也不会成为敌人攻击的目标。石化的敌人会立即死亡。如果所有队员都被石化或处于战斗不能状态,整个队伍就被消灭了。若被石化的队员之前已经中毒,则中毒状态会被解除。
战斗不能:战斗不能的队员无法采取任何行动,也不会成为敌人的目标。队员被杀死后,原来的中毒状态会被解除。
二、异常状态、复活及宿屋费率
在宿屋回复所有队员的魔法点数和HP的费用与所在地点有关,而与队伍等级无关。复活相当于对死亡的队员使用复活魔法,在相同的地点,其费用也是相同的。
-