核弹和闪电风暴 核弹为什么对飞行兵没影响

查看: 12378|回复: 48
NPatch Extended 隆重发布了!
头像被屏蔽
NPatch Extended 隆重发布了!
NPatch Extended 手册
版本 NPatch Extended #171(NPExt #171)
=============================================================================================
2.新功能及简要说明
4.废弃的原版ini标签及说明
5.需要对原版ini进行的修改
6.部分代码融合实例
7.尚未修正的Bug
=============================================================================================
---------------------------------------------------------------------------------------------
  如果你遇到了bug,请在保证ini代码无问题的情况下,将except.txt用邮件发送至
(如果有的话)。
  应当说明的是,所谓的bug不仅仅包括IE。如果你发现游戏中其它问题也欢迎反馈。我很欢迎大家来
反馈bug,但是在反馈bug之前,请自行检查ini代码。简单的办法就是使用原版NP或者原版YR进行测试。
在保证ini代码无问题的情况下再反馈。因为我曾经遇到过这种情况,如果最后bug的原因是ini问题而不
是程序问题,无疑是在浪费时间。我希望你在反馈bug之前仔细的检查ini。
  和VK的思路不同,NPExt的新增标签全部使用原版废弃标签改来。这么做最大限度的保留了原程序的
数据结构,同时也避免了存档/读档后数据丢失的问题,因而会比原NPatch稳定。
  最近在原版NP中发现的一些bug让我放弃了继续研究的想法。因为VK实在是过于粗心,以至于NP中存
在很多难以修复的bug。故NPExt已停止更新。尚未修复的bug在后面有说明。
2.新功能及简要说明
---------------------------------------------------------------------------------------------
  注意这里的代码有些有很复杂的结构,而不是按照一般人的直觉来写的。这样做主要是为了尽可能利
用原版的代码,维持稳定性。所以请务必仔细阅读这个说明,了解正确的书写方法,而不要想当然的认为
代码“就应该是这么写的”。因为实际应该怎么写,可能和你想的不一样。
  有关新增标记的默认值的问题,以下标记默认都是不影响原版的效果。例如“车辆部署成车辆”中提
供的新标记,虽然没有说明默认值,但是在原版的武装直升机中使用了简单部署逻辑,而这个标记默认不
影响这种逻辑,因此默认就是其余与此类似。
1. 真正的车辆部署成车辆
  原版中车辆仅仅支持简单部署,也就是说仅仅是部署前后车辆外形的变换。在NPExt中可以通过以下
代码实现真正的车辆部署成车辆:
[VehicleType]
IsSimpleDeployer= 必需。
TrueConversion=[yes/no] ; 真正的变成下面的单位,而不是简单的变换Image。注意变换是不
; 可逆的。当然你也可以设置被部署的单位再部署成原来的单位。
UnloadingClass=[VehicleType] ; 将要变成的单位。不要不写,会导致IE。
DeploySound=[Sound] ; 注意这是车辆完成形态转换时的声音。如果你希望车辆开始变形的
; 时候播放声音,请在DeployingAnim中添加Report(像原版武装直
; 升机那样)。
DeployingAnim=[Animation] ; 部署动画。
DeployFacing=[int] ; 车子必须转到这个方向之后才能部署。默认值为-1,即:对于地面
; 载具任意方向都可以部署,而需要降落的直升机部署前必须先转向
; [AudioVisual]\DeployDir。如果将这个值指定为-2,那么直升机
; 也可以任意方向部署。
注意: 目前这个逻辑只支持VehicleType,就是车辆和船的部署。不支持战机。
2. 战斗要塞步兵升级的问题
  原版中战斗要塞内的步兵杀死敌人时,总是战斗要塞获得经验而升级。那么现在提供一条代码来控制
这种情况的经验分配:
[VehicleType]
OpenTopped= 载员可以对外射击。
TrainPassengers=[yes/no] ; 如果设置为yes,那么步兵杀死单位将是步兵自身升级,除非步兵
; 已经升级为精英,或者本身就是不能升级的;在两这种情况下
; 经验将转赠给要塞。
3. 新的电磁脉冲(EMP)逻辑
  我重写了大部分原版NP的EMP代码。现在EMP将表现得类似于“命令与征服将军:绝命时刻”中的效果。
相关ini代码不需要重写,但是提供了新的标记:
头像被屏蔽
[AudioVisual]
ActivateSound=[Sound] ; 单位被EMP干扰时播放的默认声音。
DeactivateSound=[Sund] ; 单位解除EMP的默认声音。
[TechnoType]
EMPHardened=[yes/no] ; 指定该单位对EMP免疫。默认情况下,EMP仅仅影响以下单位:
; (1)步兵拥有Organic=no、Cyborg=yes、JumpJet=yes和BalloonHover
; 中的至少一个,同时没有EMPHardened=yes的;
; (2)载具和飞行器没有Organic=yes并且没有EMPHardened=yes的;
; (3)建筑物没有Powered=yes并且没有EMPHardened=yes的。
; 注意这里只检查建筑物是否为Powered=yes,并不检查建筑物是否真的
; “必须有电才能运转”(即Power是否为负)。
ActivateSound=[Sound] ; 如果你在单位上指定,将会覆盖全局设置。
DeactivateSound=[Sound] ; 同上。
[WeaponType]
Damage=500 ; EMP持续时间。
Warhead=EMPuls
EMEffect=yes
CellSpread=[float] ; EMP作用范围。
PercentAtMax=[float] ; 注意EMP持续时间是按照和Damage相同的算法计算的(按距离线性递减)。
; 这里就是边缘EMP持续时间除以爆心处时间的比例。
Verses=[VersesList] ; Verses也用于计算EMP时间。
AnimList=[AnimationType] ; 弹头的动画。
注意: EMP效果现在支持动画弹头和粒子弹头。
  被EMP命中的地面载具/船只会显示为暗色并且无法移动和攻击,悬浮单位会落在地上(如果落在水面上
将会立即沉没)。任何飞行器和带有JumpJet=yes或者BalloonHover=yes的空中单位,如果没有EMPHardened=yes,
一旦被EMP击中,都会立即坠毁。
4. AI生产控制
  原版中AI生产模式是多线的,就是说它可以同时控制三个战车工厂分别独立生产同一种单位。其结果就是,
如果AI玩家拥有多个工厂它就会像复制中心一样不断复制单位并且无视BuildLimit。为了保证原版NP的风格,这
个模式默认是开启的。但是两个新的标记被添加来控制这种情况:
DisableAIParallelProduction=[yes/no] ; 如果设置为yes将不再允许AI多工厂同步生产。
EnableAIBuildLimitation=[yes/no] ; 如果设置为yes,AI将不再被允许超越BuildLimit生产单位。
警告: 如果你将EnableAIBuildLimitation设为yes,那么必须保证AI在任何情况下至少有一种发电厂、矿石
精炼厂和基地防御是可以造的。程序代码在AI试图建造单位时检查BuildLimit。对于飞行器、载具和
步兵,如果达到了BuildLimit会跳过生产计划;但是建筑物无法跳过。也就是说即使是达到了
BuildLimit,AI仍然会试图生产,然后由于无法生产被退回,又重新生产,如此往复。其结果就是后
期AI无法生产任何建筑。
5. 心灵控制者如何获得经验
  在NPExt中,你可以指定一个比率,当一个被心灵控制的单位摧毁敌人时,应当将所摧毁单位的价格的多少
送给控制它的单位。
MindControllerGainExperienceRatio=[Percent] ; 将这部分经验送给控制者,其余部分用于自身升级。
注意: 这个值默认是0,就是和原版相同。如果你设置为100%或更高,那么被控制者就得不到任何经验而全部
送给了控制者。控制者能得到经验的前提是被控制单位是可以升级的,否则二者都得不到经验。
  打个比方来说,你将这个值设定为30%,那么当你的尤里复制人控制了一辆犀牛坦克摧毁一辆敌方的光棱坦
克时,你的尤里复制人就得到30%得经验,相当于其自身摧毁了价值$1200x30%=$360的单位;而犀牛坦克则相当
于摧毁了价值$=$840的单位。
6. 循环切换武器的盖特系统
  如果你使用盖特系统制作了一个切换武器攻击的单位,那么可以指定这个单位的盖特系统是一个“循环的”
盖特系统。换句话说,它将会以最后一个Stage为周期循环切换武器。
[TechnoType]
IsGattling= 必需。
IsCyclicGattling= 在达到最后一个Stage之后将计数器清零,武器重置。
7. 战列舰开火效果
  很多游戏中的战舰,如果炮塔上有多个炮管,并不是一次开出许多炮弹,而是不断变换炮管匀速开火。NPExt
中可以通过以下代码实现:
[TechnoClass]
Primary=[WeaponType]
UseROFAsBurstDelays=[yes/no] ; 如果指定为yes,就等同于将BurstDelay[0-3]全部设置为武器的ROF。
; 不过原版中BurstDelay[0-3]只能用于载具单位,而UseROFAsBurstDelays
; 可以用于所有步兵、车辆、飞行器和建筑物。
UseAlternateFLH=[yes/no] ; 使用这个标记会导致游戏计算单位的开火点坐标时将AlternateFLH[0-4]
; 叠加到单位的正常FLH上,并且不再按照左右交替的算法变换。因此如果
; 使用这个选项,强烈建议将该单位的其他所有FLH全部置0以防止干扰。
[WeaponType]
Burst=[int] ; 必须写一个大于1的数。
8. 光棱塔援助光束的冷却时间
  如果你在你的mod中把光棱塔改成了可以升级的建筑,那么,虽然光棱塔升级之后ROF会降低,但是援助光束
的ROF仍然是定义于[General]中的PrismSupportDelay。在NPExt中有两个新的标签被引入:
PrismSupportDelayVeteran=[int] ; 老兵等级光棱塔的援助光束冷却时间。默认值为45。
PrismSupportDelayElite=[int] ; 精英等级光棱塔的援助光束冷却时间。默认值为45。
9. 动画伤害弹头
  原版中动画伤害的弹头只有两种情况:如果动画的ID是[INVISO],那么使用RulesMD.ini中的
[CombatDamage]\C4Warhead定义的弹头;否则,使用RulesMD.ini中的[CombatDamage]\FlameDamage2定义的弹头。
在NPExt中你可以在动画上指定弹头,如果省略将会使用RulesMD.ini中的[CombatDamage]\FlameDamage2。动画
弹头支持EMP和屏幕震荡逻辑。
注: 目前使用动画弹头摧毁单位仍然不计摧毁数。相关的问题以后会解决。
10. 增强的屏幕震荡逻辑
  原版中[AudioVisual]\ShakeScreen这个标记是无效的,但是如果将它设置为0将会导致IE。这个功能在NPExt
中被重新恢复。当某个建筑被摧毁时,如果其强度上限大于或等于这个值,将会导致屏幕震荡,其振幅按以下公
式计算:A=3log(2)MaxStrength-2log(2)ShakeScreen。如果你不喜欢这个效果,请将ShakeScreen设置为零或负
值,那么就不会导致震动。值得注意的是,这个是一个“局部”的震动,就是说只有建筑物在你的屏幕范围内时
你才能感觉到震动。
  另一处逻辑的修改便是弹头。目前震动逻辑被扩展到了闪电风暴弹头、心灵控制弹头和动画弹头上。在这些
地方的弹头上使用震荡参数同样会导致屏幕震动。但是这是全局的震动,没有办法控制。
  NPExt提供了两条新的语句:
头像被屏蔽
[WeaponType]
Warhead=[WarheadType]
[WarheadType]
WeaponShakeXlo=[int] ; 当使用该弹头的武器被发射时,触发的震动。注意这是一个“局部”震动,就是说
WeaponShakeXhi=[int] ; 如果开火的单位在屏幕范围外你就感觉不到震动。如果希望开火时造成全局震动可
WeaponShakeYlo=[int] ; 以在开火动画上附加导致屏幕震动的弹头。
WeaponShakeYhi=[int] ;
ShakeXlo=[int] ; 这是造成“全局”震动的参数。值得一提的是这个逻辑已经被扩展到了闪电风暴和
ShakeXhi=[int] ; 心灵控制器弹头上。
ShakeYlo=[int] ;
ShakeYhi=[int] ;
IsLocalShake=[yes/no] ; 如果指定为yes,那么弹头爆炸时将触发局部震动而不是全局震动。
11. 自定义散射范围
  现在你可以自定义防空炮类型的抛射体的散射范围:
[ProjectileType]
Inaccurate= 必需。
FlakScatter= 必需。
ScatterRadius=[float] ; 散射范围。这个值默认是0,也就是使用[CombatDamage]\BallisticScatter。
; 如果你定义了微观值那么全局值会被覆盖。
12. 电脑生产建筑物数量
  以前,Modder们不惜通过创造假工厂的方式来让电脑造出多个工厂。然而如果玩家用工程师占领了一个假工厂
他们就会发觉自己上当了。NPExt使这种工作变得简单,只需要在工厂中插入以下代码:
[BuildingTypes]
AIBasePlanningCount=[int] ; AI应当建造多少个这种建筑。这和直接克隆假工厂并无不同,但是这样子造
; 出来的都是货真价实的真建筑。同时仍然注意不要将这个值设置得比建筑物
; 的BuildLimit的绝对值还大,如果你开启了AI生产限制的话。
13. AI超武目标被选中分量系统
  原版中IsTemple、IsPlug和IsHoverPad三个布尔值可以被用来确定被AI使用的核弹或闪电风暴瞄准时的分量,
亦即优先级。不幸的是,对这三个标记的判定在建筑类型分类中的优先级是最低的。比如如果你指定了核电站拥有
IsTemple=yes那么核电站仍然会被当做发电厂而不是神殿。现在一个新的标记被引入:
AIIonCannonSpecialOneValue=[H,M,E] ; 这里是三套不同的分量列表
AIIonCannonSpecialTwoValue=[H,M,E] ;
AIIonCannonSpecialThreeValue=[H,M,E] ;
[BuildingType]
AISWTargetingSpecialValue=[int] ; 默认为0,即自动决定。如果你指定为1、2或3,那么将会使用上述
; 的AIIonCannonSpecialOneValue、AIIonCannonSpecialTwoValue或
; AIIonCannonSpecialThreeValue。如果你指定了4或以上的值那么
; 就等同于使用默认值0。
14. 隐形单位的隐形声音
  原版中隐性单位切换隐形状态时总是播放[AudioVisual]\CloakSound。在NPExt中提供了几个新的标记:
[AudioVisual]
DecloakSound=[Sound] ; 默认单位显形的声音。如果省略,那么显形使用CloakSound。
[TechnoType]
Cloakable=yes
CloakSound=[Sound] ; 在单位上定义这些值将会覆盖相应的全局设置。
DecloakSound=[Sound] ;
15. “安全”地狙杀
  设想一名身缠炸药的恐怖分子劫持了人质,而你是狙击手,那么你应当一枪将恐怖分子击毙而不是引爆他身上
的炸药。如果你在弹头上添加以下代码就可以实现这种效果:
[WarheadType]
SuppressesInfantryDeathWeapon=[yes/no] ; 如果设置为yes,那么被这种弹头杀死的步兵不会触发其死亡武器。
16. 立体的爆炸范围
  原版中,只有一个弹头爆炸距离地面的高度大于零时,它才会伤害空中单位。地面爆炸的弹头无法伤害任何空
中单位。那么地面爆炸的核弹无法摧毁空中单位,而桥梁上引爆的自爆卡车却可以炸到空中单位。现在默认情况下
所有弹头引爆的时候,都会将空中单位考虑在内;不过一个标记被提供用来控制这种行为:
[WarheadType]
IsFlatExplosion=[yes/no] ; 如果设置为yes,这个弹头就永远无法伤害空中单位,即使是在空中爆炸。
17. 圆环波动效果
  原版中当离子炮或心灵控制器启动时,攻击目标点会出现一个圆环形状的波动。在NPExt中这个效果可以通过
以下代码来启用,注意这仅仅是一个视觉效果,并且不支持动画弹头和粒子弹头:
[WarheadType]
UseRippleEffect=[yes/no] ; 开启圆环波动特效。
18. 载具单位在水面上使用不同的图像
  这是泰伯利亚之日中两栖运兵车的逻辑。通过以下代码可以实现这个功能。目前此功能和简单部署冲突。
注意程序也会检查单位是否浮在水面上(而不是悬空在水面上方),所以如果你对悬浮单位使用这个代码,只有
在悬浮单位在造船厂中维修时,由于其自身降落在水面上才看得见效果:
[VehicleType]
AlternateOnWaterArt=[yes/no] ; 载具在水面上时切换图像。
UnloadingClass=[VehicleType] ; 和IsSimpleDeployer类似,指定一个载具单位存放切换的图像。
19. 空爆而不是坠毁的飞行器
  现在,被指定为Explodes=yes的飞行器将在空中直接爆炸而不会坠毁到地面上,像原版中的V3火箭和巡航
导弹那样。
20. 空爆弹的修改
  原版中抛射体的参数Airburst和AirburstWeapon必须同时使用才能够造成空爆的效果,并且空爆弹的数量
只能是9个。NPExt中这变成了两个独立的逻辑。即:Airburst控制抛射体的飞行轨迹,而无论其为yes还是no,
只要AirburstWeapon被指定为一个有效的武器,在弹头命中目标时都会散布出一系列子武器,子武器数量由
Cluster决定。注意Cluster不能决定散布范围,无论你指定为多大的数字,最终散布范围都是3x3的正方形。
为了实现原版的空爆这个值应当设置为9。这个参数设置成1会非常有用,因为在子武器抛射体上添加
Vertical=yes和DetonationAltitude=0会导致子武器出膛立即引爆,这样就可以实现同一种武器使用两个弹头;
并且子武器还可以继续套用这个逻辑,如此反复达到同一种武器使用多个弹头的目的。
21. 空降坦克使用独立的降落伞
  这点和RulesMD.ini中的注释相同。现在空降的步兵使用[General]\Parachute指定的动画作为降落伞,而空降
坦克使用[General]\BombParachute。
22. 可以升级的航空母舰
  如果航空母舰被标记为Trainable=yes,那么每当航空母舰的飞机杀死一个敌方单位,等量的经验也会被复制到
航空母舰上。一旦航空母舰成为老兵或精英,其所拥有的所有飞机也都会变为老兵或精英(已有的精英不会因为航
空母舰升级为老兵而倒退回老兵)。
头像被屏蔽
23. 碉堡杀手逻辑
  在“命令与征服将军:绝命时刻”中,普通的民用建筑内的驻兵可以被美国游骑兵/中国火龙坦克/GLA毒素车清
除,但是这三种单位无法清除中国碉堡内的步兵;美国战机升级碉堡杀手后可以清理中国碉堡内的步兵,但是无法
清除中国网络中心内的黑客;而中国核炮升级中子弹之后可以清除任意建筑内的步兵。此逻辑可以通过以下代码实
[BuildingType]
CanBeOccupied=yes
BunkerProtectionLevel=[int] ; 这个弹头穿透建筑的“烈度”是多少。如果写的是正值,那么如果弹头的
; BunkerPenetrationLevel大于建筑的BunkerProtectionLevel,这个建筑
; 一旦被该弹头命中,最后进入的步兵将会被杀死;如果写的是负值,并且
; 弹头的BunkerPenetrationLevel的绝对值大于建筑的
; BunkerProtectionLevel,其内部驻守的步兵将会被全部杀死。
[WarheadType]
BunkerPenetrationLevel=[int] ; 这个建筑抵抗弹头穿透的“强度”是多少。写负值则可以被任意弹头穿透。
注意: 此逻辑不适用于生化反应炉。如果你使用范围杀伤弹头,由于建筑物伤害被多次计算可能会造成一发炮弹
打死多个士兵的情况。
24. 不伤敌人的弹头
  这是照着原版AffectsAllies翻刻的逻辑,通常用于配合负伤害比率弹头制作出维修效果。带有这个标记的弹
头无法在敌人上获得攻击指针。
[WarheadType]
DoesntAffectEnemies=[yes/no] ; 不伤敌人,也无法获得攻击指针。
25. 炮塔独立的旋转速率(ROT)
  主要用于战列舰上。因为战列舰巨大的船身旋转很慢,而你也许不希望他的炮塔和船身使用一样的旋转速率。
[VehicleType]
TurretROT=[int] ; 炮塔的旋转速率,默认为-1,即使用ROT指定的数值。
注意: 不清楚对建筑炮塔是否有效,请使用原版的ROT。
头像被屏蔽
---------------------------------------------------------------------------------------------
1. 【一般】随机地图生成器的按钮错位,这个问题已经修正。
2. 【严重】由于VK的疏忽,在原版NP中,如果你在地图文件里定义了闪电风暴的局部设置,那么在载入过程中就
会发生IE。这样的情况已经不会再出现了。相关标记LStormSounds的功能已经被修复。
3. 【一般】复制中心上的CreateUnitSound现在已经正常工作了。
4. 【严重】如果一个基因突变的动画在播放过程中其所在的单元格被其他单位占据,动画将停留在最后一帧,直
到狂兽人被产生。在这个过程中每一帧游戏都为准备的狂兽人申请内存,但是如果狂兽人创建失败却并没有
将这些内存释放。其结果是,随着游戏的进行,可用内存将越来越少,直至游戏最终卡死。在NPExt中如果无
法创建狂兽人,内存将会被正确释放从而解决了这个问题。
5. 【严重】如果你在地图文件或作战模式ini文件中定义了[General]主键,但是却没有重新定义光棱塔的
PrismSupportModifier,那么每当[General]出现一次,这个值都会被乘以100,导致仅仅两座光棱塔聚能攻
击的威力就足以秒杀一切单位。这样的情况不再允许。
6. 【严重】原版中在遭遇战基地重新部署开启的情况下,如果命令建造场变卖,然后快速选中之,并命令其重新
收起,就能免费获得步兵;并且,一旦步兵占据了基地车将要出现的位置,基地车就无法被创建但是也不认
为是被摧毁,这样这个作战方永远也不会被判定为击败。那么现在如果命令基地变卖,就无法再反部署基地;
同时,对于可以反部署的其他建筑,命令其变卖(实际是反部署)也不再能够获得步兵。
7. 【重要】原版中单位使用带有Temporal=yes的弹头杀死友军单位也可以获得经验,而杀死敌人将获得双倍经验。
这样的情况不再允许。
8. 【重要】YR1.001中造船厂内正在维修的船只无法被任何单位摧毁,除非造船厂被毁或单位维修完毕。这样的
情况将不再发生。
9. 【严重】原版中AI在选择超级武器的目标时,经常会瞄准本来处于隐形状态的单位。在NPExt中AI将会忽略隐
形的单位。
10. 【重要】原版中玩家可以对非己方的采矿车使用警戒命令,导致其停止行动。NPExt不再允许这种情况。
11. 【严重】原版中使用超时空传送时,如果点击了超时空源之后由于某种原因电力不足,那么仍然可以在电力
不足的情况下发动超时空传送并重新开始倒计时。在NPExt中,一旦电力不足,玩家将无法再次发动超时空
12. 【重要】建筑(比如心灵感应器等)在RA2中是可以探测隐形的,但是这个功能在YR中丢失了。NPExt恢复了
这个功能。在原版中探测潜艇的建筑物(如果可以的话)在判定“显示隐形”和“不显示隐形”时使用的半
径不相同,前者是SensorsSight而后者是CloakRadiusInCells。这导致有时候反潜范围会出现盲区。NPExt
修复了这个bug。
13. 【一般】现在BalloonHover=no的直升机坠毁时也会触发死亡武器。
14. 【一般】原版中磁电波、声纳波和辐射波的开火坐标总是取自单位的主武器或者Weapon1;而声纳波的
AmbientDamage和弹头也全部取自主武器。这些情况已经被修正,现在这些特殊效果将使用正确的FLH绘制。
同时声纳波将使用正确的AmbientDamage和弹头。
15. 【一般】拥有Spawned=yes标记的飞行器已经不再能够选中了。
16. 【一般】原版中如果战车工厂的数量足够多,单位生产的足够快,有可能会出现主要的战车工厂单位还没有出来
第二个单位就已经生产完毕的情况。此时引擎将会搜索第二个一模一样(拥有相同的注册ID)的工厂来生产这
个单位。在NPExt中这个逻辑被扩展到了搜索所有同一类型的工厂。
17. 【一般】玩家现在已经不再能够把造船厂的集结点指向陆地了。
18. 【一般】正在建造过程中的光棱塔将不再允许向其他光棱塔提供支援光束。
19. 【一般】如果单位被磁电坦克吸引,那么虽然他并不是由自己的引擎在驱动,但是还是会发出移动的声音。NPExt
确保了只有单位是自己驱动的情况下才会播放声音。同时,被磁电坦克吸引的直升机将不再会以很快的速度移动,
而一旦被丢下也不再会发出坠毁的声音。如果直升机在空中被毁,将会直接解体而不是坠落到地面。
20. 【一般】有时在游戏的地图载入过程中会听到遥控坦克关闭的声音,这种情况将不再出现。
21. 【一般】如果玩家命令单位进入正在被乌贼影响的运兵船,那么运兵船就会开始移动直到登陆,从而摆脱乌贼的
影响。现在玩家不允许命令单位进入受乌贼影响的运兵船。
22. 【一般】由于VK的疏忽,原版NP中的大激光效果只能用于蓝色或绿色的激光,而且即使不指定为大激光,这种颜
色的激光也总是被绘制成大激光的样子。现在这个逻辑已经被修正,普通激光不会被绘制成大激光的样子,并且
大激光会遵从LaserSize=指定的大小,不管激光是什么颜色的。
23. 【一般】有时候刚生产了一架飞行器的战车工厂的顶盖会由于切换视野的缘故看起来是关闭的,这将不再出现。
24. 【一般】如果在车辆开出战车工厂之前选中之并命令移动,单位会卡在战车工厂内无法出来。现在单位在工厂内
的时候将不再允许选中。
25. 【一般】玩家已经不再能够指挥海豹部队在雷达地图上使用C4爆破建筑物了。
26. 【重要】原版中如果恐怖机器人钻进了飞行器,然后飞行器起飞,在半空中被恐怖机器人杀死,恐怖机器人会在
飞行器正下方出现。现在,杀死了飞行单位的恐怖机器人将会在原来飞行器的位置出现,然后坠毁。
27. 【一般】由于VK的疏忽,命令装载有工程师的多功能步兵战斗车维修车辆,可能会发出超时空军团兵攻击的声音。
这将不再出现。
28. 【重要】原来在超时空兵从超时空出来之前选中之对友军按下Ctrl+Alt键,将会获得攻击指针。这将不再允许。
29. 【重要】原版中如果停在地面的直升机被毁,那么载员无法逃出来,除非直升机有Crashable=no。现在载员可以
30. 【严重】如果使用谭雅或鲍里斯攻击建筑物,然后再用工程师占领之,谭雅或鲍里斯却仍然会维持攻击状态。这
将不再允许。
31. 【一般】海豚和乌贼现在已经不能进入船坞修理了。
32. 【重要】科技机器商店的修理功能已经扩展到了除导弹外的所有飞行器上。
33. 【严重】使用工程师配合间谍来窃取盟友科技的功能取消。
34. 【一般】原版中如果士兵驻守战斗碉堡,碉堡遭受攻击生命值显示为红色,步兵并不会被踢出;但是如果手
动释放这些步兵,步兵却无法再次进入。现在士兵可以重新驻守进入己方生命值红色的战斗碉堡。
35. 【严重】如果一辆损坏的战车停在损坏的战车工厂或矿石精炼厂的边缘,然后使用维修车维修,会导致建筑物和
车辆被同时修理。这将不再允许。
36. 【重要】现在空指部里的飞机可以直接使用维修车修理了。
37. 【一般】海豚和乌贼已经不能使用维修车修理了。
38. 【一般】如果步兵在辐射区域内被InfDeath=1或2的弹头杀死,在步兵倒地之前还会被辐射再“杀死”一次。这样的
情况不再允许。
39. 【一般】现在被EMP攻击的建筑物将显示电力不足的动画,而被超时空武器冻结的建筑物不再会显示动画。
头像被屏蔽
40. 【一般】现在VoiceSecondaryEliteWeaponAttack默认和VoiceSecondaryWeaponAttack相同。
41. 【一般】人类玩家控制的单位将不会自动攻击被铁幕保护的敌方单位。
42. 【重要】如果战斗要塞中的步兵持续攻击电脑的光棱塔会导致其反复充电而无法发射。现在已经修正。同时使用大
量单位攻击电脑的同一个单位会导致其反应变慢,这将不再发生。
43. 【一般】宙斯盾巡洋舰现在发射导弹将是左右对称的了。
44. 【功能】原版中如果自毁武器使用在非主武器或Weapon1上,而单位同时拥有Explodes=no,那么一旦单位触发自毁
武器就会将自己摧毁,但是不造成任何伤害。现在自毁武器可以作为任何武器使用。一旦单位试图发射这种武器
将会立即被摧毁同时触发DeathWeapon。
45. 【一般】现在玩家选中基地车然后按下T键,将不会再选中建造场。反之亦然。
46. 【一般】被杀死的步兵在倒地之前不再能够被选中。
47. 【重要】如果使用被铁幕保护的单位持续攻击电脑的光棱塔,那么等到铁幕消失,只要单位仍然在攻击,电脑就
不会还击。现在电脑将会还击。
48. 【重要】原本光棱坦克的散射光束会伤害到空中的伞兵,现在这样的情况不再允许。
49. 【一般】如果在战车工厂完全造好之前将之选中并设为主要,而此时恰好有一辆车子出来,车子会卡在工厂内不能
动。现在车子不允许从未造好的战车工厂中出来。
50. 【重要】原版中玩家可以使用Alt键命令战斗机降落在任何建筑物上,还可以放在维修厂或船坞中维修。这样的情
况不再允许。
51. 【一般】原版中载有海豹部队或者谭雅OpenTopped=yes的直升机飞过岸边时,会发出水花的声音;而电脑的美国
大兵或者重装大兵进入战斗要塞会发出部署的声音。现在这些情况都不再存在。
52. 【重要】原版中如果用围墙把驻守了步兵的建筑物围起来然后命令步兵离开,步兵就会凭空消失。现在命令步兵
离开时,将不会有任何事情发生。
53. 【一般】原先如果给建筑物指定了SensorArray=yes,那么放置该建筑物时参考圆环的半径将为CloakRadiusInCells=
指定的大小。现在SensorArray=yes不影响圆环的半径。
54. 【严重】原版中,如果一个单位的武器Burst&1,那么如果在全部Burst打完之前,由于目标死亡或者玩家按下了S键或
G键导致攻击命令取消,这个单位就会立即重新装满所有炮弹并且继续攻击,这个过程可以不断重复。这是一种作弊
的行为,因此不再允许发生。
55. 【重要】原版中单位升级的价格计算方法存在问题。如果考虑工业工厂和国家特殊设定等系数,引擎总是按照对方
(被杀者)的系数来计算。现在这种情况已经修正,攻击者和被杀者将按照各自国家的比率计算价格。
56. 【一般】现在如果遭遇战中某作战方被击败,其所拥有的巷战建筑将会被清空,科技建筑将会归还给平民方,而不是
直接被摧毁。
57. 【一般】现在在非快速游戏模式下,如果某玩家将自己仅存的步兵全部驻守进入巷战建筑,将不再会被判定为击败。
58. 【一般】原版遭遇战中如果玩家的船只由于被乌贼抓住而不能移动,然后乌贼的所有者被击败,即使乌贼已经消失了,
那艘船还是不能移动。现在这种情况出现时,船只将被释放。
59. 【一般】现在附加了声波或者粒子的武器的ROF会按照升级的算法得到加成。
60. 【严重】原版中如果基地车解除心灵控制但是因为原所属方被击败而变成中立单位会导致IE。这将不再发生。
61. 【一般】原版中位于战斗要塞中的尤里复制人控制单位后如果从要塞中离开,就不能再次进入要塞。现在尤里复制人
可以再次回到要塞中。
62. 【一般】原版中如果战斗要塞中的尤里复制人控制了单位,然后战斗要塞开进运兵船,那么当选择被控制的单位时,
心灵控制连线的起点就会始终停留在战斗要塞进入运兵船的位置。现在连线的起点将跟随运兵船一起移动。
63. 【一般】如果战斗要塞中的尤里复制人控制了单位,那么选中要塞并不会显示心灵控制连线。现在将会显示,即使是
要塞进入了运兵船也如此。
64. 【一般】假如心灵控制了敌方的隐形单位,那么即使单位是隐形的,他的头上仍然会显示光环而暴露了位置。现在处
于隐形状态的单位被心灵控制将不会显示光环。
65. 【一般】原版中如果建筑物遭受攻击生命指示条恰好降为黄色,那么虽然建筑物是损坏的,却并不会播放损坏声音。
本情况已经修正。
66. 【一般】原版计算驻守建筑物的步兵获得经验的方法有问题,经验总是送给即将开火的下个步兵。现在经验将送给刚
刚开火的步兵。
67. 【重要】原先RulesMD.ini中对于弹头比率1%和2%的注释是错的,事实上由于浮点运算bug,实际的1%是注释中2%的作
用,而实际的2%没有任何意义。这个问题目前已修复,和原注释的描述相同。
头像被屏蔽
68. 【重要】现在如果使用工程师占领被心灵控制的建筑物,那么原先的心灵控制就会被解除。
69. 【一般】在水面上的谭雅或海豹部队受到攻击时将不再会卧倒。
70. 【一般】如果心灵控制解除时,玩家既不是心灵控制方也不是被心灵控制方,将不再会听到解除心灵控制的声音。
71. 【一般】工业工厂已经不再能够降低海豚和乌贼的造价了。
72. 【一般】标记有NavalTargeting=6的单位已经不再能够使用强制攻击命令攻击水面了。
73. 【一般】正在开火中的盖特机炮如果命令其变卖,即使盖特机炮没有攻击,它还是会发出开火的声音。现在变卖过程
中的盖特机炮不会再发出开火的声音。
74. 【一般】如果你将磁电坦克改为了可以自动攻击的,而它正在吸引单位,此时选中之按下S键,虽然磁电坦克已经停止
了吸引,但是单位还是会移动过来。这种情况已经修正,磁电坦克将会释放被吸引的单位。
75. 【一般】如果使用磁电坦克频繁点击敌方单位,有时会出现敌方坦克在空中但是磁电坦克并不显示磁电波的状态。这
样的情况不再发生。
76. 【重要】原版中,进入遭遇战菜单后把“超级武器”选项关闭,然后退回主菜单进入单人任务,就可以在任务中关闭
超级武器。这样的情况将不再允许。
77. 【一般】原版中潜艇和海豚可以攻击岸上的树木,这样的情况不再允许。
78. 【一般】现在玩家可以在建筑物上使用“选择该类型部队”功能。值得注意的是,当玩家选择一个战车工厂时按下该
键将选中所有战车工厂,其他工厂与此类似;复制中心将按照兵营对待。
79. 【一般】原先如果给弹头指定了屏幕震荡参数,然后在该弹头爆炸之后退出当前游戏重新开始一场新的游戏,这个屏
幕震荡的效应会被继承到新的游戏中。现在这种情况不再发生。
80. 【一般】现在使用心灵控制器摧毁建筑,玩家将会得到摧毁数和分数。
81. 【一般】现在玩家的建筑被C4爆破时,将会听到警报。
82. 【一般】现在初始老兵的单位在侧边栏中将显示为老兵图标。
83. 【一般】原版中如果给船只指定了老兵图标,然后使用间谍窃取敌方战车工厂科技,那么海军图标就会显示为老兵。
在NPExt中,仅仅当该船只被定义为该国家的初始老兵单位时才会显示老兵图标。
84. 【一般】原版中带有Arcing=yes的抛射体无法攻击高架桥上的单位,即使抛射体上还带有SubjectToCliffs=no。现在
这样的抛射体可以正常攻击高架桥上的单位。
85. 【一般】原版中AI的磁电坦克的磁电波可以拉得很长。这样的情况不再发生。
86. 【重要】原版中秘密科技实验室的算法不正确。在声明哪些科技类型可以作为秘密奖励时,在列表后面的被选中的概
率要比前面的低很多。并且如果地图上秘密科技实验室的数量大于能够提供的科技类型总数,所有的秘密科技实验
室就都再也无法提供任何科技。这起源于Westwood的初衷:希望秘密科技实验室尽量提供不同的科技。然而他们并
没有正确地书写算法。NPExt正确地重写了这部分算法,从而修复了这些bug。
87. 【一般】原版中AI不会使用装有工程师的多功能步兵车维修己方单位。现在AI可以这样做。
88. 【一般】原版中如果你在地图文件或作战模式ini中重定义了单位的某些属性,却没有重定义它的Pip或OccupyPip,
那么在游戏中这个单位的pip就会显示为其他的东西(比如本来应该显示为点却变成了方块或者人形的图标)。
在NPExt中这样的情况不会再发生。
89. 【一般】原版中如果在侧边栏中选择了超武,然后用数字键选择单位,或者点击维修/变卖按钮,超武却仍然会维持
选中状态并在鼠标指针周围显示参考环。在NPExt中这种情况发生时,超武将被取消。
90. 【一般】原版中如果在战斗控制脱线时玩家正按住方向键,那么视野就会维持移动状态,直到玩家再次按下并释放同
一方向的方向键为止。这将不再发生。
91. 【一般】精英级别的雷鸣攻击潜艇有些时候(比如在目标摧毁的瞬间)发射了一枚飞弹,这枚飞弹的弹头有可能会变
成普通级别的样子,并且只造成普通级别的伤害。在NPExt这样的情况不会再发生了。
92. 【一般】相互免疫的单位不再允许互相攻击。就是说你不再会在免疫伤害的单位上获得攻击指针。注意这不能用于武
器判断。就是说如果如果单位使用主武器由于免疫系统而不能攻击,它也不会切换副武器攻击。支持的逻辑包括:
辐射免疫逻辑,病毒免疫逻辑,心灵震荡免疫逻辑,不伤敌军逻辑,以及NP新免疫逻辑(不包含不伤友军逻辑)。
93. 【严重】原版NP中空降坦克的位置并不是在地面格子的中心;并且如果你在空中把坦克摧毁,就不能够在在坦克的投
影上建造任何东西,同时任何单位也无法通过。原版YR中地面单位被毁偶尔也会出现这种问题。在NPExt中这样的情
况不会再发生了。
94. 【一般】原版中使用闪电风暴摧毁奴隶矿场,奴隶将会变成中立方的。现在奴隶会加入到解救他们的阵营。
95. 【一般】按照原版的设定科技钻油井的摇臂在被工程师占领之前是不会动的。但是由于设计失误,如果在没有被工程
师占领的条件下如果攻击它使其生命值降至一半以下,摇臂就会开始运动。NPExt防止了所有科技建筑上的类似情况
96. 【一般】有时火箭飞行兵在坠毁的过程中仍然会遭到攻击,并可能伤害地面单位。这种情况已经不会再发生了。
97. 【重要】原版中RA2MD.ini中的[Video]\VideoBackBuffer默认为yes。这在高端电脑上会导致性能严重下降,为此玩
家通常都需要手动设置为no。那么在NPExt中这个值默认就是no。这将有助于游戏性能的提升。
98. 【一般】原版中如果雷鸣攻击潜艇的巡航导弹准确命中目标,那么原先跟踪它的防空导弹就会追着命中这枚巡航导弹
本来的目标并可能造成伤害。现在如果巡航导弹命中那么原先追踪它的防空导弹将会在空中自毁。
99. 【一般】原版NP中如果一架正在降落的飞行器被导弹击落,导弹将转而飞向飞行器准备降落到的地面。这不再发生。
头像被屏蔽
4.废弃的原版ini标签及说明
---------------------------------------------------------------------------------------------
  这些是原版中没有作用或作用不大的标签,所以被改造来实现新功能:
IceCrackingWeight=[float]
IceBreakingWeight=[float]
AIIonCannonPlugValue=[H,M,E] ; 这三个值使用新的系统替代了。
AIIonCannonHelipadValue=[H,M,E] ;
AIIonCannonTempleValue=[H,M,E] ;
[AudioVisual]
LeaveGrinderSound=[Sound]
[TechnoType]
VoicePrimaryWeaponAttack=[Sound] ; 几乎没有人会用这个。请使用VoiceAttack。
VoicePrimaryEliteWeaponAttack=[Sound] ; 这个可能会有用,但是估计用到的人也不多。
ImmuneToVeins=[yes/no]
TiberiumHeal=[yes/no]
DoubleOwned=[yes/no] ; 被读取但是很快就被改写了。
NoAutoFire=[yes/no] ; 请使用CanPassiveAquire。
[BuildingType]
LightningRod=[yes/no]
EnterBioReactorSound=[Sound] ; 建筑上的微观设置是无效的。
LeaveBioReactorSound=[Sound] ; 同上。
[WeaponType]
DistributedWeaponFire=[yes/no] ; 没有对应的程序代码。
[ProjectileType]
[WarheadType]
Veinhole=[yes/no]
5.需要对原版ini进行的修改
---------------------------------------------------------------------------------------------
;********************************************************************************************
; ArtMD.ini:
;********************************************************************************************
SecondaryFireFLH=85,0,130 ; 现在磁电坦克的副武器将使用正确的FLH,但是这个标记在原版中并不存在。
; 当然你也可能需要更改多功能步兵车上辐射工兵和超时空军团兵武器的FLH。
;********************************************************************************************
; RulesMD.ini:
;********************************************************************************************
BombParachute=PARACH ; 这是空降坦克使用的降落伞。
Powered= 如果指定为true会导致哨戒炮受到EMP干扰。
DeathWeapon=BlimpBombE 如果不添加这个夜鹰直升机坠毁时将会制造一大堆子弹。这仅仅是个美观问题。
DeathWeaponDamageModifier=.1
DeathWeapon=BlimpBombE 同上。
DeathWeaponDamageModifier=.1
如果你使用了空爆弹,需要给每一个空爆弹添加Cluster=9(否则默认值是1)。
6.部分代码融合实例
---------------------------------------------------------------------------------------------
1. 使用Cluster=1的空爆武器来实现同一个武器附加多个弹头。例如在高爆弹头的武器上附加一个额外的
EMP弹头来实现电磁脉冲爱国者防御系统。
Primary=EMPPatriot
ElitePrimary=EMEffectW 要让游戏“认识”这种武器。
[EMPPatriot]
Projectile=EMMissile
Warhead=HE
[EMEffectWeapon]
Damage=150
Projectile=InvisibleSpecial
Warhead=EMPuls
[EMMissile]
Airburst=no
AirburstWeapon=EMEffectWeapon
[InvisibleSpecial]
Image=none
Inviso= 不要写成yes。
Arcing=yes
Vertical= 关键。
DetonationAltitude=0 ; 关键。
CellSpread=1
2. 可以使用车辆部署功能,在两个外形完全相同的车辆之间切换,给人“切换武器”的效果。
TechLevel=2
Primary=105mm
IsSimpleDeployer=yes
TrueConversion=yes
DeploySound=SlaveMinerDeploy
UnloadingClass=MTNK2
UndeploysInto=MTNK2 ; 用于按下T键时连结单位。
TechLevel=15
Primary=160mm
IsSimpleDeployer=yes
TrueConversion=yes
DeploySound=SlaveMinerUndeploy
UnloadingClass=MTNK
UndeploysInto=MTNK ; 用于按下T键时连结单位。
7.尚未修正的Bug
---------------------------------------------------------------------------------------------
  注意这将是NPExt的最终版,因此以下的bug将不会得到修复,具体原因参见第1节。
1. NP有一些已知的存档问题。
2. 如果你发射了一个FireAt或者EMPulse超武,但是没有在相应的建筑物的武器上增加Report或者Report为空,
将会导致IE。
3. FireAt或者EMPulse超武相应的建筑物发射这种武器时无法播放相应的Anim。
4. 杀死中立方的单位得不到赏金。
5. 动画伤害杀死敌军单位得不到经验和摧毁数。
6. 两种闪电风暴超武或者心灵控制超武不允许同时发动,提示文本仍然为“其他闪电风暴/心灵控制器已经启动”。
7. 某些标记无法在地图中指定来覆盖ini设置。
---------------------------------------------------------------------------------------------
Renegade 和 ModEnc 主要的bug及EIP提示收录者。
Kenosis 合作测试者,以及计划的构建者。
Zero Fanker
另外感谢各位关注者!
地址1:在“NPatch系列目录下”
为什么不制顶?
虽然我不懂这东西怎么用,但还是详细看了更新说明,尤其是修正BUG那里,真是不错。
Powered by

我要回帖

更多关于 朱日和阅兵核导弹 的文章

 

随机推荐