生活情怀-神话暗黑-暗黑破坏神2

 找回密码
 立即注册

QQ登录

只需一步,快速开始

暗黑mod发布网
搜索
逗破暗黑Mod群:67994934逗破暗黑Mod客户端及补丁逗破暗黑Mod新手攻略逗破暗黑Mod赞助菜单
神话怀旧MOD群:67994934神话怀旧Mod客户端及补丁神话怀旧Mod新手攻略神话怀旧Mod赞助菜单
圣者归来Mod群:558972013圣者归来Mod客户端及补丁圣者归来Mod新手攻略圣者归来Mod赞助菜单
查看: 1489|回复: 0
收起左侧

[修改攻略] 范围和速度的计量单位

[复制链接]

361

回帖

830

元宝

1

圣者绑元

管理员

Rank: 9Rank: 9Rank: 9

积分
1
发表于 2020-1-13 19:21:52 | 显示全部楼层 |阅读模式
范围和速度的计量单位8 J2 i3 u; V8 Y! Z
" @7 S/ N2 S+ w
D2使用的是等轴透视立体图形(Isometric Graphics),就是基于等轴测投影原理,相对于投影平面,把所有游戏界面元素沿两个坐标轴旋转侧向45°再向下30°制作并绘制到屏幕上,其像素比例(Pixel Ratio)为2:1,夹角为26.565°,相当于arctan0.5。  I, f# j3 }: v
e014b9cfc3fdfc032bcebecdde3f8794a5c2267e.jpg & d' r+ B; S; h3 K
* g. O* ?% N7 c# f
D2中的世界是以许多通常情况下不可见的图形单元(Sub Tile)组成的,有点类似于棋盘(但并不是自上而下)。游戏界面显示(UI)中的步行和奔跑时的移动速度以码/秒(Yard/Sec)为计量单位,当然这仅仅只是一个用于表述的单位名称,真正有效果的是Sub Tile。
7 p) v# o4 `' L
/ a( V, Y# y+ X: H2 C. F' H$ @5 U4 k 96e11162f6246b6039e2ef01e1f81a4c530fa2c4.jpg 8 Y2 H3 z8 U- ~1 l
* N5 C5 l3 l! s' @" O5 @
[] 很多资料中在描述中使用了TU(Tile Unit的缩写),其想表达的意思和Sub Title(可缩写为ST)是一样的,Sub Tile是构成地图的最小菱形单元,其对角线长度分别为水平32像素和竖直16像素。( c5 U" P+ A7 q; v

( B2 u: C* K9 ^. @: X4 i+ N) H( e[] 游戏中的1码(Yard)并不等同于通常说的3英尺(Feet),而是D2的设计师们根据游戏中人物模型的高度,规定了Yard和TU的标准换算关系为:1 Yard = 1.5 ST。
2 v% W  h6 b  g5 {' m
0 c1 m/ c: P$ K) }; ~/ H6 ~游戏的屏幕分辨率通常使用的是640*480或者800*600,但是窗口下面的控制面板占用48像素,所以我们实际上的屏幕像素应该是640*432或者800*552。/ \: d6 n" n+ Y* x
  m" ~* f1 h; }: M
74884ea95edf8db140f221110323dd54544e74d4.jpg 7 J; V6 H) P3 g/ v, A5 ?

$ E4 ?8 a. g- T3 D* v- X1 U[] 在实际游戏中,“码”的定义就是这种图形单元的对角线距离,在水平方向,1码(Yard)=32像素(Pixel);在垂直方向,1码(Yard)=16像素(Pixel)。
  u7 Z" h' {  H' l. L3 e- b9 a$ ]/ A! w' |  C+ f
[] 在以往的各种资料中,640*480和800*600分辨率对应的换算关系是13.3*18和16.6*23(相当于1码=垂直24像素/水平48像素),如果只单纯计算或比较移动速度时没有问题,但是由于D2中的各种单位占据等距空间(Isometric Space),需要将平面坐标转化为等距坐标,所以建议需要结合实际地图的范围和距离时使用图中的Sub Tile与Yard的近似折算方法。
. n, k9 y* \' s& B
6 a+ Y$ p( F3 \  u
% z8 j! }1 m$ M% H下面以通常使用的800*600屏幕分辨率为例,将像素折算为码,图解游戏中范围和距离的关系。 a33cc91d8701a18b876a4e3a942f07082938fe2f.jpg & @9 L; [/ F3 B& o% l% T, {4 p+ U( d

9 f" b3 t: I7 t- p1 b/ J% I了解游戏中各种单位的尺寸大小(Size)有助于解读近战的攻击范围、投射物的目标碰撞和障碍物碰撞等概念。, X. U7 R  \. ~, H( u, W2 C' W5 L
( M% n4 k" |2 t# [. s, A4 s$ o
eb26b9fcfc0392456f41bd7a8d94a4c27c1e253c.jpg # Q5 S- M' ?( I& k0 `9 g

! w8 T/ M: K1 S# r# z3 q[] 游戏中玩家的人物模型的Size=2,即占据3*3(Sub Tile),怪物模型的Size=1/2/3(具体数据查询自MonStats2.txt,即SizeX和SizeY参数),死亡的怪物模型占据SizeX*SizeY(Sub Tile),地图块(Block)占据5*5(Sub Tile)。
, h; O! Q+ d7 P3 e' e; H3 ?2 s4 z+ y" I  H+ t
[] Size有时会影响单位到达某个地方,比如楼梯等,下面举例说明:利爪蝮蛇神殿的牙皮(Fangskin)的Size=3,无法通过楼梯登上祭坛。玩家、雇佣兵和召唤物的Size=2,不过无论Size大小如何,作为目标都是占据最中央的Sub Tile。* t6 m- n2 G/ Q6 D6 `. b! R
  c; w0 A6 ?7 N% f1 M5 o
[] 玩家近战的攻击范围与使用武器的范围增量(即Weapons.txt中的Rangeadder参数)以及被攻击目标的Size有关,其计算公式为:Melee_Range=Rangeadder+Size。
; O, \  z  b) D9 M/ E8 w# z7 e, K# p' i; a* ~% `  ]
[] Rangeadder=0的武器不增加玩家攻击范围(和空手一样),需要额外注意的是刺客的刀刃护盾的Rangeadder=0。在各种资料中出现的武器攻击范围(并不直接在游戏中使用),其计算公式为:Weapon_Range=Rangeadder+1。
/ S6 n% U* C$ f# H# k. f; H
+ [- V& p5 m* U5 ]( P, H  n# i[] 虽然玩家使用重击(Smite)、龙足(Dragon Talon)、神龙摆尾(Dragon Tail)或飞龙在天(Dragon Flight)等技能造成的伤害分别基于盾牌或鞋子,但是其攻击范围依然是基于使用武器的Rangeadder。- o" t% X& c# M: n  U
; S) N; k! A1 M* U9 |, C
[] 当刺客和野蛮人装备两把武器并攻击选定的目标时,攻击范围基于主手武器的Rangeadder(游戏默认为手套上的武器或首先装备的武器),这里也包括双龙爪(Dragon Claw)、双手挥击(Double Swing)、狂乱(Frenzy),以及普攻(Normal Attack)、火焰拳(Fists of Fire)、雷电爪(Claws of Thunder)和寒冰刃(Blades of Ice),不过需要额外注意的是旋风(Whirlwind)除外。
0 M0 _9 p! m; A( Z" E3 M' ~
; V+ E* w4 b; W! o3 i* s+ |' c
7 ]8 E+ J! J. T% T3 B& C游戏中对于尺寸的描述为小型(small)、中型(medium)和大型(large),这个属性与Size无关,由MonStats2.txt中的small和large参数控制(标准中型单位的small&large=0),影响着一些装备属性发挥的实际作用,比如使用附加击退属性(Knockback)的装备造成被攻击单位被击退的概率(小100%/中50%/大25%)。
1 \, [8 D1 u) B9 M/ x1 F$ H* h da3b2d2d11dfa9ec9e40096268d0f703908fc146.jpg
, E+ M5 Q# Z& W1 F- I/ }7 z; u# c" R
[] 实际游戏描述中的单位尺寸与Size无关,下面举例说明:Size=2的影子大师(Shadow Master)和影子战士(Shadow Warrior)为小型单位;Size=2的灰熊(Grizzly)为大型单位;Size=2的玩家、雇佣兵和其他召唤物均为中型单位。
' s1 T4 ^; L) O* j& }7 M0 ^  T! {' L0 f6 J( ^$ G6 n! s# R+ Z+ T
[] 复活的怪物(Revived)会保持原来的尺寸。6 }% P, ?& p; I* n) V: C& M

/ O8 e3 l! h8 p7 G* N6 A* ]' Q[] 当成功触发击退效果时,目标会被击退并且进入打击恢复状态(Hit Recovery),被击退目标在不受阻碍的情况下的最大击退距离为3(Sub Tile),有的时候会小于这个距离(1或2)或只进入打击恢复状态而不发生位移,但不会大于这个距离。
+ q' T7 B* ]$ S
( d; L( ^. Y6 I[] 装备附加的击退效果需要通过成功命中的近战或远程攻击来触发,触发概率和目标尺寸有关(小100%/中50%/大25%),多个装备附加的击退属性不会产生叠加效果,即一次成功命中只会检测一次,同时装备两把武器时系统只会检测处于攻击状态的武器。
! f- F2 z# a4 ]6 u6 c& ~6 J2 L: _3 |$ p
[] 击退效果对无法击退的目标无效(即MonStats2.txt中的mKB=0),并且对死去或冻住的目标也无效。
& r9 Y2 _+ v7 ~% L/ L; k" h" h) G3 \
4 N/ Z7 ]/ `$ s1 F1 D# ][] 技能附加的击退效果在触发方式上与物品击退略有不同(存在一些施法类和场地类),大部分技能击退的触发概率为100%,不过也有一些技能例外,下面举例说明:心灵传动(Telekinesis)为35%;熔浆巨岩(Molten Boulder)为50%;心灵战锤(Psychic Hammer)对白怪和仆从为100%,对蓝怪和金怪为min([[(110*slvl)/(slvl+6)]*50/100]+50 , 100),对BOSS和玩家为min([[(110*slvl)/(slvl+6)]*74/100]+25 , 99)。1 i! C3 A# z" Y* j6 \2 ]6 N: W. O

5 q4 c/ P' p  ^5 ^- `+ M; Y2 Q
5 v9 k+ g, ]$ ?2 p在近身战斗中,近战攻击的范围(Sub tile)对于玩家、雇佣兵、召唤物和各种怪物的影响情况并不相同。/ K) s4 M6 j6 N$ W( o/ e" I8 e
1c4024de8db1cb13c39a6366d754564e93584b39.jpg ' C+ k: o8 Q% l/ @; ^
% n2 y" t: G/ P2 m4 K% e  b9 S
[] 玩家的Melee_range与自身装备武器的Rangeadder和攻击目标的Size有关,即Melee_range=Rangeadder+Size。正常游戏中玩家使用Rangeadder=4的长戟(polearms)或枪矛(spears)可以达到攻击范围的最大值:如果攻击Size=1的怪物,则Melee_range=5;如果攻击Size=2的怪物,则Melee_range=6;如果攻击Size=3的怪物,则Melee_range=7。
. y* K: A0 B( ?( V0 H. G1 Z% K9 u$ y; [* Y2 }3 U6 ^; k
[] 雇佣兵和玩家召唤物的Melee_range与自身的近战攻击范围(即MonStats2.txt中的MeleeRng参数)和攻击目标的Size有关,即Melee_range=MeleeRng+Size。雇佣兵或玩家召唤物装备的武器对其近战攻击范围并无任何影响,ACT2的沙漠雇佣兵(Desert Mercenary)和灰熊(Grizzly)的MeleeRng=2,狂狼(Dire Wolf)和灵狼(Spirit Wolf)的MeleeRng=1,其他雇佣兵和召唤物的MeleeRng=0。
! i. U1 L! M4 J$ y# u) ~! W8 i& G  W1 M- e1 c1 p/ O
[] 怪物的Melee_range与自身近战攻击范围(即MonStats2.txt中的MeleeRng参数)和自身的Size有关(即MonStats2.txt中的SizeX/Y参数),即Melee_range=MeleeRng+Size。Act3水池中的触手怪(Tentacle Beast)拥有全游戏中最远的近战范围,其Melee_range=9(MeleeRng=6且Size=3)。- M5 }+ f1 g2 m7 W0 T

8 g1 Q8 m! A* {* G! F( z6 F[] 当怪物处于被致盲(Hit Blinds)、微暗灵视(Dim Vision)或魔影斗篷(Cloak of Shadows)等状态时,其主动攻击范围(Awareness Range)会减少至Melee_range(包括一些远程或施法类等不会近战攻击的怪物)。7 Q8 Z- N" g1 v

% W/ d. K% E' i9 F7 I3 X3 M! E" L$ O
7 U9 o3 f2 l$ |1 u游戏中很多特殊效果都具备一定的有效范围,比较常见的是光照范围、各种诅咒和光环,一般技能描述中会以码为单位介绍半径范围,当然游戏中实际起作用的依然还是Sub Tile。
2 `7 w  X. x: G' A7 o 132fe53cf8dcd10013f3a254788b4710b8122f45.jpg 5 d# [* N( v0 d) H# c
6 d% c; X2 l% ?6 m$ o" R+ d/ s
# b. r' R% \/ x- V3 D3 o4 e
[] 游戏中的正常昼夜交替为1个小时,一共分为4个时间段:破晓(Dawn)、白日(Day)、灰暮(Dusk)和黑夜(Night),每个时间段的长度为15分钟。* f" u% [3 Y4 e& w5 q/ p- p

3 G  g. A: S/ K- k/ Q1 E1 j& M[] 人物的基础光照范围为13,实际游戏中可达到的最大值为18,即使用+5光照范围的装备。D2中光照范围的极限值为31([255/8]),但由于代码BUG正常情况下无法达到。& @- |' D3 D  A' y

! A: G8 X9 m1 E- r* `$ D. d7 L[] 大部分技能的有效范围都和技能等级有关,不过也有一些例外的情况,下面针对图中列举出来的部分诅咒和光环的范围半径进行说明:恐惧(Terror)为2.6码、衰老(Decrepify)为4码、攻击反噬(Iron Maiden)为4.6码、吸引(Attract)为6码、救赎(Redemption)为10.6码、内视(Inner Sight)和慢速箭(Slow Missiles)与信念(Conviction)为13.3码。
# r) d. d" z- L' V% w$ C  y, o% _! m. Z; I& q5 D& b+ U" L4 Q
投射物(Missiles)与其他单位的移动方式并不相同,相对而言更为自由,通常表述其飞行轨迹时都是使用投射物消失前经过的总像素,而不是使用图形单元或码。
+ i0 Z: T# M! k9 P! ^3 q; Y* @
0 @* i3 O; v6 K' B

% e! l; c7 f- I) s8 F, h% [7 E
* j) ~/ {* x* o% U" I3 c4 X! Y[] 投射物的速度和时间等数据查自Missiles.txt.txt(即Vel和Range等参数),因此对非零匀速投射物移动总像素的计算公式为:Pixels=Vel*Range,其中Range的单位是Frame。; \' A5 d$ P; G$ s: Z4 [- z

, q) z" C; R% _/ P/ B6 h' o8 e: x[] 如果想要计算投射物的射程,需要引入屏幕长度(Screenlength)的概念,也就是空间上的对角距离,除去人物占据的范围后的固定Screenlength=32。
2 j: D7 l" ^; o4 m2 ]& K, e2 |2 P2 s- t4 s
[] 如果想直观的了解投射物的射程距离或飞行速度,可以将投射物存在帧数的移动总像素简单折算成码和秒为单位,其折算公式为:Missiles_Range=Pixels/(1.5*Screenlength);Missiles_Speed=Missiles_Range/(Range/25)。

; h+ n; p: G4 f& |
神话战网出品,必出精品!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|神话暗黑 ( 陕ICP备18004004号-1 )

GMT+8, 2025-3-9 22:39 , Processed in 0.061185 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表