9.覆盖物词典:修订间差异
创建页面,内容为“<p class="MsoNormal" align="left" style="line-height: 14.25pt; background-image: initial; background-position: initial; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial;"><span lang="EN-US" style="mso-bidi-font-size:10.5pt;font-family:Consolas;mso-fareast-font-family: 宋体;mso-bidi-font-family:宋体;color:#3B3B3B;mso-font-kerning:0pt">[OverlayTypes]</span></p> <p class…” |
小 已保护“9.覆盖物词典”([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期))[连锁保护] |
(没有差异)
| |
2025年5月26日 (一) 15:20的版本
[OverlayTypes]
Land=[Clear|Road|Water|Rock|Wall|Tiberium|Beach|Rough|Ice|Railroad|Tunnel|Weeds]
;该覆盖物会将所在单元格的地形判定更改为哪种
;例如水中箱子有Land=Water
;默认值由其他覆盖物标签确定
;
;经检验,Land类型会干扰其他逻辑对本OverlayType的识别
;地形类别代码解释(这不属于覆盖物!只是为了方便才列在这里)
;[Water]
;这种SpeedType在该地形上的Speed倍率
;Foot=0%
;Track=0%
;Wheel=0%
;Hover=100%
;Float=100%
;FloatBeach=100%
;Amphibious=100%
;没有Winged项,不接触地面的战机不管这个,与之存在些许相关的内容见[TechnoType] -> Locomotor=<CLSID>下的注释部分
Foot类只简单检查是否>0决定能否移动
;Buildable=no
;能否在该地形类别上建造建筑
; [BuildingType] -> WaterBound=yes/SpeedType=Float将会使该建筑可以无视Buildable=no在Float>0%的地形上建造
;同样使用这些>0%的SpeedType且可以在水上寻路的单位可以吃水上箱子
;
;ICE和Weeds可以在Ra2中用来做全新的地形类别
;Tunnel(隧道)和Railroad(铁路)可以拿来直接用
;但是TS残留的素材在Ra2色盘不对,最好直接换TX地形
;
;而Weeds虽然也可以支持采集,但RA2中已废弃
;( 具体表现为矿车拥有Weeder=yes会导致无法正常采矿,除非Overlay的Land=Weeds... )
;( 但即便如此,Weeder=yes本身就在RA2被WW砍得失去了采集能力,没法真正采集起来,甚至不会主动寻矿)
;( PhobosBuild39中已经复原了这个逻辑 )
;
;故RA2下不应对Tiberium进行Land的定义,除非存在其它经济调整手段
Strength=<int>
;该覆盖物被杀伤的概率除数,默认1
;需要注意的是覆盖物并非游戏内独立存在的对象,一切与覆盖物的交互实际上是与覆盖物所在的单元格交互
;例如对于覆盖物而言Strength实际上用于计算被摧毁/削掉一层的概率而非经典意义上的“生命值”概念
Wall=<boolean>
;此覆盖物是否启用墙相关的逻辑:
;会被Wall=yes的弹头伤害
;会被WallAbsoluteDestroyer=yes的弹头秒杀
;如果是Armor=wood的覆盖物则会被Wood=yes的弹头伤害
;可以链接,距离由GuardRange指定
;同时禁用CellAnim
;原版下覆盖物墙如果拥有所属色则会映射为观察视角来源的所属色而非其所属方的所属色
;(Ares0.2已修复)
Tiberium=<boolean>
;是否被视为矿石类覆盖物并启用矿石生长逻辑
;副作用是与此同时赋予这种覆盖物Armor=wood
;同时不再使用iso<tem>.pal而是[temperat.pal|snow.pal|urban.pal|desert.pal|lunar.pal|urbann.pal]
Crate=<boolean>
;是否可以在一个单位移动到它上方时消失
;消失同时另一个该覆盖物出现在地图上一个随机的位置
;用于升级工具箱,按说RA2开始提供碰到它即打开箱子的功能应该由下句控制,然而实测和TS一样都是本句直接包含了工具箱效果而下句无效
CrateTrigger=<boolean>
;此覆盖物是否触发升级工具箱逻辑
;另外:
;CarriesCrate
;CrateBeneath
;TrainCrate
;生成的箱子也遵循消失同时地图上出现另一个的规则
;但是每次被摧毁生成的箱子都会导致地图上箱子的总数量增加
;等到地图上箱子的总数量>[CrateRules] -> CrateMaximum=<int>时
;被摧毁将不会生成箱子
;※碎片刷出来的箱子不受到该限制
;但是除矿石以外的OverlayType实际生成的东西会在注册表里偏移
Explodes=<boolean>
;有该条目的覆盖物被摧毁时将触发以下内容
;覆盖物被摧毁,向该单元射击的单位停止攻击
;显示[General] -> BarrelExplode=的动画
;有85%的几率生成[General] -> BarrelDebris=的VXL碎片
;有25%的几率生成[General] -> BarrelParticle=的粒子
;对当前单元格使用[CombatDamage] -> C4Warhead=的弹头
;和[CombatDamage] -> AmmoCrateDamage=指定的数值造成伤害
Overrides=<boolean>
;此覆盖物是否可以在不删除其他覆盖物的情况下绘制在其他覆盖物的上方
;例如可以在桥梁下放置矿石而两者没有影响
CellAnim=<animation>
;此覆盖物所在单元格会绘制哪个动画
;禁止使用刷兵动画!
;动画的实际生成位置位于相对单元格中心向东南方向(屏幕下方向)偏移45像素的地方
;如果拥有Tiberium=yes的覆盖物那么强制使用unit色盘并将所属色部分使用该类矿石Color指定的配色方案进行映射
;与此同时该覆盖物的雷达颜色不再从其自身Shape文件中获取而是从该动画的Shape文件中获取
;你可以用无素材动画在art里写上Damage来做单位在矿石里减血
;也可以用于刷炸矿碎片摧毁矿石刺激矿石延伸
;(测试表明似乎此方法的快速矿石延伸不会触发EIP:007225F3)
;它在TS里用于显示一种大型绿色晶状矿石
;这种矿石实际上是一个动画,残留在ra2.mix里
;可以使用CellAnim=BIGBLUE直接调用,但RA2下颜色存在问题
DamageLevels=<int>
;默认1,墙有几个损伤等级
;用于墙体被伤害显示不同帧的图像
;每个损伤等级必须有一整套素材帧
;注意:该语句在art(md).ini中定义
RadarColor=[R,G,B]
;该覆盖物在雷达上显示什么颜色,默认0,0,0
;不过没蛋用,还是得去tem文件里写。对于矿石类在PhobosBuild28下可以利用MinimapColor新标签来指定
NoUseTileLandType=<boolean>
;默认yes,是否使用下方地面单元格(Tile)决定的LandType
;若为no则不使用Tile来决定而是使用[OverlayType] -> Land=<LandType>来决定
;不影响Land=<LandType>关联的覆盖物类型判定,只影响单位寻路和移动速度倍率
;已知部分覆盖物设no无效,例如矿石和箱子
IsVeinholeMonster=<boolean>
;该覆盖物是否归类为泰伯利亚藤蔓洞使它可以被单位瞄准并攻击
;声波武器无法伤害Veinhole
;使附着的Veinhole按[General] -> VeinholeGrowthRate=生长
;如果Veinhole被击杀,则从藤蔓洞向【外】按照[General] -> VeinholeShrinkRate=枯萎
;一个显而易见的工作方式是如果枯萎速度不如生长速度快的话那么哪怕藤蔓洞被摧毁剩下的泰伯利亚藤蔓也可以自行生长和扩张
;这个覆盖物会无视Image硬编码使用下述动画(0始)序列:
;0摆烂帧,静止时保持使用这帧作为图像
;0-6帧作为空闲帧,随机一段时间播放一次
;在不与场上其他物体互动时仅有上述两个状态互相切换
;0-3帧为其他物体靠近藤蔓洞时的帧,在TS中是藤蔓洞张口等进食的动画
;也就是建筑摆在藤蔓洞旁或单位路过那么藤蔓洞会使用0→3帧播放一个张开口的动画,然后保持在第3帧(一直张开)
;当其他对象离开(建筑出售或被摧毁)时会倒放序列从3→0然后回到前面不与其他物体交互的状态
;7-10帧为被攻击时的动画,每次被攻击后生成名为GasCloudM1的粒子,每次被攻击重复2-3次
;11为藤蔓洞被持续攻击并击杀时的帧
;原SHP中的第12帧实际上没有被使用
;注:此标签并不会产生泰伯利亚藤蔓,那是[TerrainType] -> IsVeinhole=yes启用的
IsVeins=<boolean>
;是否为泰伯利亚藤蔓
;泰伯利亚藤蔓的生长部分在RA2下已废弃,PhobosBuild39已复原,详见说明书
ChainReaction=<boolean>
;该覆盖物被摧毁是否引发连锁反应
;在Ra2及以上唯一的效果是:
;如果一个SpawnsTiberium=yes的地形对象被摧毁/该Tiberium=yes的覆盖物被Tiberium=yes弹头造成伤害/受到一个使用了波逻辑的武器的穿透伤害作用
;则对于生长阶段大于1的矿石类覆盖物将有生长阶段*5%的概率触发连锁反应
;具体效果是所在单元格中矿石类覆盖物的生长阶段减半,减少的生长阶段数*该类矿石的Power值来计算杀伤
;使用全局C4Warhead来获取弹头,爆炸动画为根据伤害值从C4Warhead弹头的AnimList中选取前六个动画之一
;即生长阶段越高,连锁反应的杀伤力越强,使用的动画越靠后
;尔后周围八个单元格中任何生长阶段大于1的矿石类覆盖物有80%的概率在15-120帧的随机延迟后产生名为INVISO的动画
;于是连锁反应就开始了(原版下INVISO拥有Damage=1且硬编码使用C4Warhead=的弹头)
;前文中的动画选取公式如下:
;C4Warhead弹头AnimList中的(0始)序号={[(该矿石类OverlayType的生长阶段/2)*[TiberiumType] -> Power=的值]*4}/25
;最终结果向下取整,其中矿石生长阶段/2的一步也要取整
;生长阶段对应矿石素材资源文件中的帧,一共12个阶段对应12帧不同阶段的图像
;Ares0.5已复原连锁反应逻辑,详见说明书,如果你获得本文档的同时没有配套这一文件,说明你的文档并非从原正式发布渠道获取,而是已经被第三方未经许可拆分修改过的
DrawFlat=<boolean>
;指定此覆盖物是否绘制为“附着于地面”
;(默认为“yes”,因为覆盖物的定义一般就是覆盖在地面上的)
;实际用于控制覆盖物与单位的遮挡优先级
;通常用于“稍微有一些高度”的覆盖物,例如栅栏和矮墙
;不过覆盖物自身的性质决定单位位于其后也并不会播放[General] -> Behind=指定的动画
;实际上就是对于该OverylayType的ZAdjust处理是否按视角向上方向为在地面向西北方向扩展而非空间上方向来计算
;如果为no就是和建筑素材一样按空间向上来计算
;算法见ART词典ZAdjust条目下方注解
IsARock=<boolean>
;该覆盖物在地面单位寻路时是否会视为岩石等无法跨越的障碍物
;注:无论MovementZone赋值是什么都都视为无法跨越的障碍物
;一个奇妙的作用是如果与Wall=yes共用那么一个武器上拥有TerrainFire=yes的单位可以直接瞄准围墙,哪怕是己方的
;由于覆盖物的性质,高贵的磁电吸起载具碾死步兵顺便碾死格子上物体Bug也在此败北(我的编码在你之上)
IsRubble=<boolean>
;该覆盖物是否被视为废墟
;原版只有RUBBLE_OVERLAY这个覆盖物使用它
;因为它被用于所有废墟图像的实际单元格占位
;以允许单位移动上去而不允许在其之上放置建筑
;这些废墟图像一般使用原建筑Shape图像的第4帧