红警mod制作视频第一期:可防空反潜的盟军航母

一、目标
按照现实中航母的作战能力分为五个模块:分别是预警,夺取制空,进行制海,反潜作战和对地支援,其中后四个模块都是很好实现的,预警能力只能通过增加探测距离、预警距离和探测隐身能力来进行模拟,但是预警机就做不出来了,未来我会尝试通过对平台的修改来实现类似于《命令与征服:将军》里美国坦克的无人机的功能。
其他几个功能比较容易实现,但是同样受制于平台的影响,只能通过“黄蜂”这一种子机来实现,至于反潜直升机、入侵者攻击机等多种舰载机就无法展示了,这里都通过“黄蜂”来实现他们的任务;这样就需要让“黄蜂”舰载机同时具备对空、对陆、对海、对潜四种任务,同时还需要让航母具备对这四种目标的攻击指引能力。
综上,我们的工作内容为:
1. 增加航母探测距离
2. 增加航母探测隐身能力(PS:考虑到平衡性给砍掉了,但后面会给注释)
3. 增加航母主动攻击能力(PS:原版航母在巡逻模式下可以可以主动攻击,但由于警戒距离太短,效果并不好)
4. 增加航母武器对海、陆、空、潜的攻击指引能力
5. 增加舰载机的对空能力,对武器数量、类型进行调整,这里分成两类,分别攻击空中目标、海面目标和地面目标、水下目标
6. 增加舰载机武器的对空能力和对空、对海射程,并与航母的引到武器相对应
接下来,可以查找每项内容相对应的字段了。
二、重要字段
1. 航母
【CanPassiveAquire=yes】
指定该单位是否能够自动攻击目标
【GuardRange=25】
警戒距离,如果目标在此距离之内便会被航母侦测到,并主动发起打击,建议与武器部分的【Range=25】保持一致
【DefaultToGuardArea=yes】
是否会自动攻击,至少字典里是这么解释的,但是通过实验后证明,加上这条语句的结果是可以获得相对更好的对空能力;至少飞机会提前起飞,更好的打击敌人,但是在无命令状态下不会主动攻击地面或者海面的敌人,不过同样可以通过Ctrl+shift或巡逻模式让航母自动攻击,但是效果会打折扣;这一点可以根据自己的需要决定是否加这个语句
【Sight=25】
该单位的视力范围。数值越高,该单位在探路时拨开的黑雾越大,原版是7,这里为了体现预警能力,升为25,建议与警戒距离保持一致
【Sensors=】
指定VXL单位是否能够探测隐形;考虑到平衡性未添加
【SensorsSight=】
指定VXL单位检测其它隐形单位的半径范围;考虑到平衡性未设定
2. 航母武器
【Range=25】
武器射程上限,航母最远只可以对距离为该数值的目标进行打击
【AA=yes】
可以对空,写在武器类型内,该武器类型在【Projectile=Invisible】处定义,本武器建议新建一个武器类型,因为使用该类型的武器较多,比如磁暴线圈,如果直接在【Invisible】内定义AA=yes的话,你就会发现磁暴线圈也可以对空攻击了(航母的武器只是用于引到舰载机进行攻击,本身并没有任何攻击力)
3. 舰载机
【AACombat=yes】
NP平台专用,使用空战参数标识,ARES无对应参数
【Fighter=yes】
空战参数,指定空军单位是否在目标上方发起攻击并且能够命中,虽然我认为这样的设定导致飞机必须凌空轰炸,或者非常近才可以发射导弹,失去了那种超视距空战和进距空中格斗的效果,但是目前的平台只能支持这种模式
【Ammo=6】
舰载机挂载弹药数量,也可以理解为起飞一次可以攻击的次数,原版中只发射一次导弹,一次发射六枚,即在武器参数中burst=6,这里受到限制,武器的burst必须为1,因此这里改为导弹分6次发射,即发射6次导弹,每次一枚
4. 舰载机武器
【burst=1】
每次攻击发射导弹数量,而且发射的每一枚导弹的威力都等于【Damage=】攻击次数在使用者的【Ammo】中定义,如果在使用者中【Ammo=6】,这里【burst=6】的话,那么总共可以发射36枚导弹,那就无坚不摧了,而且这样就失去了对空能力,不要问我为什么,因为经验!
5. 攻击规则
AA=yes
AN=yes
AS=yes
ROT=60

三、ARES平台
1. 航母
[CARRIER]
UIName=Name:CARRIER
Name=Aircraft Carrier
Prerequisite=GAYARD,TECH
Primary=HornetLauncher
CanPassiveAquire=yes ; 指定该单位是否能够自动攻击目标
DefaultToGuardArea=yes ;该单位的警戒范围,一旦有敌方进入这个警戒范围,该单位会自动上前迎敌
Spawns=HORNET
SpawnsNumber=5
SpawnRegenRate=600
SpawnReloadRate=150
FireAngle=32 ;“0”为水平倾斜,“64”为垂直倾斜。
ToProtect=yes ;有此语句者被其他东西优先保护
Category=Support ;指定VXL单位的分类
Strength=800
Naval=yes ;GS
Armor=heavy
TechLevel=7
Sight=7
Speed=4
CrateGoodie=no ;指定战车单位能否从篓子中获得
Owner=British,French,Germans,Americans,Alliance
;ForbiddenHouses=Americans
AllowedToStartInMultiplayer=no
Cost=2000
Soylent=2000
Turret=no
Points=55
ROT=1
Crusher=no; yes
Weight=5 ;重量
Crewed=no
;OmniFire=yes ;GEF moved to weapon
IsSelectableCombatant=yes
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
VoiceSelect=AircraftCarrierSelect
VoiceMove=AircraftCarrierMove
VoiceAttack=AircraftCarrierAttackCommand
VoiceFeedback=
DieSound=
SinkingSound=GenLargeWaterDie
MoveSound=ACCMoveStart ;指定战车和步兵移动中的声音
Locomotor={2BEA74E1-7CCA-11d3-BE14-00104B62A16C};{4A582741-9839-11d1-B709-00A024DDAFD1} ;运动方式
SpeedType=Float ;运动类型
MovementZone=Water ;运动方式
ThreatPosed=25 ;威胁值,电脑优先攻击
DamageParticleSystems=SparkSys,SmallGreySSys
VeteranAbilities=STRONGER,FIREPOWER,ROF,SIGHT,FASTER
EliteAbilities=SELF_HEAL,STRONGER,FIREPOWER,ROF
TooBigToFitUnderBridge=true ;无法在桥底停留
GuardRange=15 ;自动攻击距离
;BuildLimit=1 ;限造1个
Size=50 ;体积
Experience.SpawnOwnerModifier=30% ;作战中三成经验给航母
Experience.SpawnModifier=70% ;作战中七成经验给舰载机
2. 航母武器
[HornetLauncher]
Damage=1 ;伤害,1代表有特殊作用,可以攻击,但不造成伤害,0和2代表不能攻击,负数代表可以攻击,但不是伤害而是加血,比如维修车
ROF=150 ;武器的发射频率,60表示1秒一次,数字越大就停顿得越久才发第二炮
Range=25 ;武器射程上限
Spawner=yes ;是否用于引导子机作战
Projectile=Invisible ;攻击规则Invisible是表示无实体的攻击规则
Speed=10 ;武器飞行速度
Warhead=Special ;武器弹头
OmniFire=yes ;部队使用该武器时是否需要将躯体转向目标
3. 航母攻击规则(本来就能轰炸反舰,这里也没提)
[Invisible]
Inviso=yes ;用于无实体武器攻击规则
Image=none
AA=yes ;对空
AS=yes ;反潜
4. 舰载机
[HORNET]
UIName=Name:HORNET
Name=Hornet
Primary=HornetBomb
Secondary=HornetCollision
AirRangeBonus=5 ;※当这个单位使用一个带有AA=true代码的武器攻击空中目标时,是否获得此数字设定的额外射程
Fighter=yes ;※※指定空军单位是否在目标上方发起攻击并且能够命中,关键参数
Strength=150;75 生命值提升,75太弱了,可根据自己需要进行调整
Category=AirPower
Armor=light
Spawned=yes ;子机
TechLevel=-1 ;不可建造
Sight=10 ;该单位的视力范围。数值越高,该单位在探路时拨开的黑雾越大
RadarInvisible=yes ;是否会被敌方雷达检测到
Landable=yes ;必须为yes,否则战机不会降落
MoveToShroud=yes ;单位是否能够探路
;Dock=NAHPAD,GAHPAD
;Dock=GAAIRC,AMRADR
PipScale=Ammo ;指定单位下方小格显示的类型,这里指弹药
Speed=15;12 ;速度
PitchSpeed=.9 ;指定空军单位的加速百分比,用小数表示
PitchAngle=0 ;指定直升机单位飞行的角度
Owner=British,French,Germans,Americans,Alliance
Cost=100 ;被击落后重生需要价格,个人认为设置太低,威胁太大,需要大幅度增加
Points=20 ;指定该单位的经验点,可根据自己需要进行调整
ROT=3 ;该单位转弯的比率,数值越大转弯越快,可根据自己需要进行调整
Ammo=6 ;携带弹药量,可根据自己需要进行调整
Crewed=no ;单位或建筑被摧毁后,是否有步兵从里面逃出
GuardRange=30 ;指定该单位的警戒距离,在舰载机上没用
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
MaxDebris=2 ;除步兵外的单位被摧毁后弹出的碎片数的最大值
VoiceSelect=
VoiceMove=
VoiceAttack=
VoiceFeedback=
DieSound=
CrashingSound=HornetDie
ImpactLandSound=GenAircraftCrash
Locomotor={4A582746-9839-11d1-B709-00A024DDAFD1}
MovementZone=Fly
MovementRestrictedTo=Water ; See if this will affect landing only
ThreatPosed=10 ; 威胁等级,数字越高越容易被优先攻击
DamageParticleSystems=SparkSys,SmallGreySSys
AuxSound1=HornetTakeoff ;Taking off
AuxSound2=HornetLanding ;Landing
ImmuneToPsionics=yes ;是否会受到心灵控制和心灵气波影响
VeteranAbilities=STRONGER,FIREPOWER ;一级后生命增加火力加强
EliteAbilities=STRONGER,FIREPOWER ;三级后生命增加火力加强
;Selectable=no ; SJM: this should be here but is commented out because bug prevents aircraft from landing
ElitePrimary=HornetBombE
EliteSecondary=HornetCollisionE
5. 舰载机武器
[HornetBomb]
Damage=40
ROF=3
Range=10
Projectile=NormalBomb
Speed=30
Warhead=ORCAAP ;使用入侵者的弹头
Report=HornetAttack ;开炮时的炮口声音
burst=1 ;每次只发射一枚导弹;原来是一次发射6枚,现在改成了一次1枚,可发射6次
[HornetBombE]
Damage=80
ROF=3
Range=5
Projectile=NormalBomb
Speed=30
Warhead=ARTYHE
Report=HornetAttack
6. 舰载机副武器
[HornetCollision] ;A crashing Hornet turns into this bullet at the last second
Damage=100
ROF=20
Range=15
Projectile=AAHeatSeeker2 ; will be Hornet shaped bullet
Speed=30
Warhead=AP
Report=HornetCollision
Bright=yes
burst=1
[HornetCollisionE] ;A crashing Hornet turns into this bullet at the last second
Damage=200
ROF=20
Range=15
Projectile=AAHeatSeeker2 ; will be Hornet shaped bullet
Speed=30
Warhead=AP
Report=HornetCollision
Bright=yes
burst=1
7. 攻击规则
主武器
[NormalBomb]
Arm=1 ;确定目标位置以前弹头将沿出镗方向飞行一段时间,直到锁定目标以后才开始转向。如果这个数值过大,那么导弹的飞行轨迹将是折线,而且命中率也不高。若为0则无法琐定目标(一直沿直线飞出去)。仅当为1的时候是在出镗时立即锁定目标,命中率极高(经测试没有作用但他说的那么有效,各位可以自己回去试一试)
Shadow=no ;飞行中的弹头将在地面投影,通常用于高射武器和图形比较大的弹头,其实也可以不用
Proximity=no;yes如果目标飞出了射程上限的2倍距离时,导弹将自动爆掉而不会一直去追(经常误击正在追击的自己人的飞机)
Ranged=yes ;对敌方飞机分析距离,如果超过了射程上限的2倍时将提示给Proximity让他来决定是否继续追击,这两个语句一定要连用,而且仅对速度在100以上的导弹有效。若导弹速度不到100,则必定一直追下去,常常看见导弹永远追不上飞机的情况,所以建议导弹速度最好都要大于100
Image=DRAGON ;白色尾烟的图像
ROT=60 ;导弹飞行时拐弯的光滑程度,数值在2到10表示圆滑转弯,10以上是突然弯折,0到1为直线飞行不能转弯(经测试没他说的那么有效,是那么个意思得了)
IgnoresFirestorm=yes
SubjectToCliffs=no
SubjectToElevation=no
SubjectToWalls=no
AS=yes ;可以反潜
AA=no ;不可以对空
AG=yes ;可以对地轰炸
副武器
[AAHeatSeeker2]
Arm=2
Shadow=no
;Proximity=yes
Proximity=no
Ranged=yes
AA=yes ;可以对空
AN=yes ;可以反舰
Image=DRAGON
ROT=60
SubjectToCliffs=no
SubjectToElevation=no
SubjectToWalls=no

四、NP平台(好久前作的,这里就不做注释了)
1. 航母
[CARRIER]
UIName=Name:CARRIER
Name=Aircraft Carrier
Prerequisite=GAYARD,GATECH
Primary=HornetLauncher
NavalTargeting=5
;IsSimpleDeployer=yes
;UnloadingClass=CARRIERB
;TrueConversion=yes;部署后可以移动
;Sensors=yes
;SensorsSight=10
Spawns=HORNET
SpawnsNumber=5
SpawnRegenRate=600
SpawnReloadRate=150
FireAngle=32 ;子机起飞角度,“0”为水平倾斜,“64”为垂直倾斜。
ToProtect=yes
Category=Support
Strength=800
Naval=yes ;GS
Armor=heavy
TechLevel=7
Sight=7
Speed=4
CrateGoodie=no
Owner=CN,British,French,Germans,Americans,Alliance
ForbiddenHouses=Americans
AllowedToStartInMultiplayer=no
Cost=3000
Soylent=2000
Turret=no
Points=55
ROT=1
Crusher=no; yes
Weight=5
Crewed=no
;OmniFire=yes ;GEF moved to weapon
IsSelectableCombatant=yes
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
VoiceSelect=AircraftCarrierSelect
VoiceMove=AircraftCarrierMove
VoiceAttack=AircraftCarrierAttackCommand
VoiceFeedback=
DieSound=
SinkingSound=GenLargeWaterDie
MoveSound=ACCMoveStart
Locomotor={2BEA74E1-7CCA-11d3-BE14-00104B62A16C};{4A582741-9839-11d1-B709-00A024DDAFD1}
SpeedType=Float
MovementZone=Water
ThreatPosed=25 ; This value MUST be 0 for all building addons
DamageParticleSystems=SparkSys,SmallGreySSys
VeteranAbilities=STRONGER,FIREPOWER,ROF,SIGHT,FASTER
EliteAbilities=SELF_HEAL,STRONGER,FIREPOWER,ROF
TooBigToFitUnderBridge=true
GuardRange=15
;BuildLimit=1
Size=50
2. 航母武器
[HornetLauncher]
Damage=1
ROF=150
Range=25
;Range=-2 ; infinite
Spawner=yes ;是否用于引导子机作战
Projectile=Invisible
Speed=10
Warhead=Special
OmniFire=yes ;部队使用该武器时是否需要将躯体转向目标
3. 舰载机
[HORNET]
UIName=Name:HORNET
Name=Hornet
Primary=HornetBomb
Secondary=HornetCollision
Strength=150
AACombat=yes ;※※使用空战逻辑
Fighter=yes ;※※指定空军单位是否在目标上方发起攻击并且能够命中,关键参数
OmniFire=yes
Category=AirPower
Armor=light
Spawned=yes
TechLevel=-1
Sight=2
RadarInvisible=no
Landable=yes
MoveToShroud=yes
Dock=NAHPAD,GAHPAD
Dock=GAAIRC,AMRADR
PipScale=Ammo
Speed=15
PitchSpeed=.9
PitchAngle=0
Owner=British,French,Germans,Americans,Alliance
NavalTargeting=5
Cost=100
Points=20
ROT=3
Ammo=6 ;和ARES平台意义一致
Crewed=no
GuardRange=30
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
MaxDebris=2
VoiceSelect=
VoiceMove=
VoiceAttack=
VoiceFeedback=
DieSound=
CrashingSound=HornetDie
ImpactLandSound=GenAircraftCrash
Locomotor={4A582746-9839-11d1-B709-00A024DDAFD1}
MovementZone=Fly
MovementRestrictedTo=Water ; See if this will affect landing only
ThreatPosed=10 ; This value MUST be 0 for all building addons
DamageParticleSystems=SparkSys,SmallGreySSys
AuxSound1=HornetTakeoff ;Taking off
AuxSound2=HornetLanding ;Landing
ImmuneToPsionics=yes
VeteranAbilities=STRONGER,FIREPOWER
EliteAbilities=STRONGER,FIREPOWER
;Selectable=no ; SJM: this should be here but is commented out because bug prevents aircraft from landing
ElitePrimary=HornetBombE
4. 舰载机武器
[HornetBomb]
Damage=40
ROF=3
Range=5
Projectile=NormalBomb
Speed=30
Warhead=ORCAAP
Report=HornetAttack
[HornetBombE]
Damage=80
ROF=3
Range=5
Projectile=NormalBomb
Speed=30
Warhead=ARTYHE
Report=HornetAttack
5. 舰载机副武器
[HornetCollision] ;A crashing Hornet turns into this bullet at the last second
Damage=100
ROF=20
Range=3
Projectile=AAHeatSeeker2 ; will be Hornet shaped bullet
Speed=30
Warhead=AP
Report=HornetCollision
Bright=yes
6. 攻击规则
[NormalBomb]
Arm=1
Shadow=no
Proximity=no
AA=yes
AN=yes
AS=yes
Ranged=yes
Image=DRAGON
ROT=60
IgnoresFirestorm=yes
SubjectToCliffs=no
SubjectToElevation=no
SubjectToWalls=no
五、总结
这只是基于我现在的能力最大限度的还原航母,当然可以利用盖特逻辑还原海拉姆和密集阵,这里没做介绍,毕竟他们两个的作用太有限了,如果真的做出来他们连个的防空反导能力可能比飞机的防空反导能力还要强大;下一期的无畏级战舰还原光荣级巡洋舰中我会做一个类似的,拥有近防炮、防空导弹、鱼雷的现代(可能说不上现代,莫斯科都成了潜艇了)导弹巡洋舰,其目标就是干掉本期做的航母(当然不是1V1单挑他自己做到)
NP平台中做的这个航母比ARES要好一些,但是是好多年前做的了,所以也没做注释,这些年从来没有逛过任何论坛,任何圈子,看的最多的就是百度搜索和百度红警吧,所以做出来mod也没有和任何人分享过;去年刚刚接触ARES,功能确实比NP好很多,所以有一个把以前做的mod复刻过来并升级的想法,同时也拿出来一起学习,只不过飞机隐身的功能NP里实现好简单,但是ARES真的没做到;这个代码只是最基础的,但我相信好的产品不需要过于复杂的代码修饰,当然也可以认为是水平太菜,代码中的各种参数都可以根据自己的需要修改。
ARES比起NP平台最大的好处就是有源码,只要有源码就可以针对现有平台的不足进行升级,因此如果未来有时间的话我会尝试一下升级多子机或者伴飞的预警机等等;现阶段先做一个从0开始的基础mod制作吧,包括从修改单位、新增单位一直到平台的修改,希望能给大家提供一些帮助