尤里的复仇Ares修改平台[四处搜罗整合]说明

增强的装甲和Verses系统

你可以在新的[ArmorTypes]里声明新增的装甲。

比如:

[ArmorTypes]
paper=steel
magic=11%

paper=steel意味着如果不在弹头中特殊进行设置,它的Verses就将和此弹头中steel的Verses相等。
magic=11%意味着如果不在弹头中特殊进行设置,它的Verses就将等于11%。

新声明的装甲在单位中可以像标准装甲(即原来的11种装甲)一样被指定。而要在弹头中设置对新增装甲的伤害比例:

[Warhead]→Versus.magic=150%

新增的装甲不影响标准装甲。

The original Verses= flag parser no longer crashes if you specify less than 11 values.

弹头Verses的特殊值

原来的Verses有三个特殊值:

(1)0%表示不能攻击这种装甲的单位。
(2)1%表示不会主动攻击这种装甲的单位,受到攻击时也不会还手。
(3)2%不会自动开火。

(↑有待完善。)

而下面的语句可以让你在不影响Verses的情况下实现上述的功能。

[Warhead]→Versus.magic.ForceFire= (boolean)
弹头是否能对magic装甲开火。
[Warhead]→Versus.steel.Retaliate= (boolean)
弹头在受到steel装甲单位攻击后是否还手。
[Warhead]→Versus.clingfilm.PassiveAcquire= (boolean)
这个弹头是否能对clingfilm装甲的单位自动开火。

Note Ares' correct spelling of "acquire".

(↑有待进一步确认。)

MakeInfantryOwner功能

使用Ares,你能选择带有MakeInfantry的动画所转换成的步兵的所属方。

[Animation]→MakeInfantryOwner= (enumeration – invoker|killer|victim|neutral|random)
指定当这个动画播放时,生成的步兵的所属方。这个动画的所属色将被HouseColor代替。

这个语句应该存在于Artmd.ini中动画的定义中。默认值为“invoker”,当这个语句被设置成“invoker”时,所产生的结果将依赖于动画的位置。

(1)在InfDeathAnim里,“invoker”相当于“killer”(发射该弹头的所属方)
(2)在DeathAnims里,“invoker”相当于“victim”(被转换的步兵的所属方)
(3)在地图触发里,“invoker”“killer”“victim”都将相当于这个触发的所属方。

注意:和InfDeath=9一样,所有转换步兵的动画都要使用unittem.pal而非anim.pal。

实心建筑

在Ares里,对于某些抛射体而言,建筑可以是实心的。也就是说,可以选择当一个抛射体碰到建筑时是穿过它还是撞击它。

在rulesmd.ini里:

[Projectile]→SubjectToBuildings= (boolean)

抛射体是否能被建筑阻挡。

在artmd.ini里:

[BuildingArt]→SolidHeight= (integer – cells)

这个建筑的实心部分有多高。
若为负数即为建筑的全部都为实心。默认为零,意味着建筑不是“实心”的。

<???>注意:这个萝鸡在非矩形建筑上表现不好,例如埃菲尔铁塔或太空针塔。

>
How tall the solid part of the building is considered to be, measured in cells (each cell has a height of 256 leptons), so buildings with a large amount of clear space near their top can allow projectiles to fly through that space. Negative values (e.g. -1) tell the game to consider the building's full Height as solid. Default is zero, meaning the building is not at all solid (as per the normal game).
NB: The solid building logic does not lend itself well to non-rectangular buildings, such as the Paris Tower or Space Needle.

建造前提

在Ares里,建造前提系统已经被增强。

其中最重要的修改之一,就是允许加载物作为建造前提。(在Bug修复部分中也有描述)

[Unit]→Prerequisite.RequiredTheaters= (list of theater names)

能建造这种单位的地形类型。默认为全部。

能够在此使用的地形类型有:

* TEMPERATE - 温和
* SNOW - 雪地
* URBAN - 城市
* DESERT - 沙漠
* LUNAR - 月球
* NEWURBAN - YR中的新城市

PrerequisiteOverride标记的优先级低于此标记。

译者注:其中有一段,我没有翻译。大致意思是,利用此项功能,你能够做出像海豹部队一样的随气候变换的外观。(不知道他有没有考虑AI问题)

[Unit]→Prerequisite.Negative= (list of BuildingTypes)

满足其中之一或一个以上,即不能建造。

PrerequisiteOverride标记的优先级低于此标记。

[Unit]→Prerequisite.Lists= (integer)

设定有多少额外可用的建造前提(具体见下述)。

[Unit]→Prerequisite.List#= (list of BuildingTypes) (与上述的Prerequisite.Lists=相关联,0<=#<=Prerequisite.Lists)

与原来的Prerequisite相独立的建造前提,例如:

同时存在代码:
Prerequisite=GATECH
Prerequisite.List1=NATECH

那么玩家拥有苏盟双方任意一方高科即可建造此单位(即条件中至少有一个满足)。

如果存在Prerequisite.List0,那么它将代替Prerequisite。


[Unit]→Prerequisite.StolenTechs= (list of integers)

填入可偷取的科技列表,设定该单位的科技偷取需要。详见间谍部分中的科技偷取。

下面是Ares中判断是否可建造(包括人类玩家和AI玩家)的流程图。(<???>需要转Ares官方教程

蓝色的为原版中已有的部分,且Ares中未改变。
紫色的为Ares修改或增加的部分。

新的建筑建造前提类别

熟悉MOD的人应该知道,在建造前提中,可以用PROC代替矿场,TECH代替高科,BARRACKS代替兵营等等。

Ares允许你新建这种类别。

在INI中的[GenericPrerequisites]小节里(此小节原来没有,需要新建):

GROUPNAME= (list of BuildingTypes)

如:
[GenericPrerequisites]
NAVALYARD=GAYARD,NAYARD,YAYARD,SHIPYRD
CONYARD=GACNST,NACNST,YACNST,TACNST,FACNST,UACNST,RACNST
AIRFORCE=GAAIRC,TAAIRC,AM

RADR,FAARIC,NAPAD,YAAIRC,RAAIRC

注意:如果此小节中声明了已有的类型,如PROC,那么它将覆盖[General]→PrerequisiteProc。

注意:此小节中的内容可以覆盖[General]→PrerequisiteProc,但不能覆盖[General]→PrerequisiteProcAlternate。

经过增强的可被复制的原版超级武器

超武某些段:

目标

[SuperWeapon]→SW.FireIntoShroud= (boolean)
这个超武是否允许向黑幕中发动,默认为yes。
[SuperWeapon]→SW.AutoFire= (boolean)
这个超武是否自动开火,此效果只适用于人类玩家。若设置为yes,将按照SW.AITargeting=的值开火。默认为no。
[SuperWeapon]→SW.ManualFire= (boolean)
设置这个超武是否能被拥有者发动。 如果设置为no,玩家将不能发动这个超武。如果SW.AutoFire=no,则此项无效。默认为yes。
[SuperWeapon]→SW.RequiresTarget= (enum – land|water|empty|infantry|units|buildings)
这个超武的目标范围。发动超武时,如果指针停留在此范围指定的目标中将变为可发动,反之将变为不能发动的指针。示例见SW.AffectsTarget=。(Please be aware of the problems that can arise if this and SW.AffectsTarget= are set to mutually exclusive values not allowing the super weapon to affect anything.??? 但这两个值互不影响???)

[SuperWeapon]→SW.AITargeting= (enum – SW Targeting Type)

选择以下的值之一写入来声明AI将怎样使用该超武。

None:AI将不会使用该超武,而且该超武将不能设置为自动开火。
LightningStorm:进攻性目标,但是会等到当前的正在运行闪电风暴停止时发动,如果有的话。
Nuke:攻击性目标,据说可以通过触发设置攻击路径点。
PsychicDominator:攻击敌方单位最大的聚集处。
GeneticMutator:攻击敌方步兵最大的聚集处(被锁定为3x3区域内)
ParaDrop:目标为敌方基地防御最少的区域。
ForceShield:攻击敌方超武可能打击的区域。
NoTarget:这个超武不需要任何有效目标。(意思是随机???)
Offensive:攻击性目标,但没有LightningStorm和Nuke的相关特点。
Stealth:只攻击隐形目标
Base:攻击己方基地中心。
Self:攻击发动这个超武的建筑,只限于己方。

鼠标

Ares允许你使用下列标记定义新的鼠标动作:

[SuperWeapon]→Cursor.Frame= (integer)
在mouse.sha里的开始帧,默认为“Attack cursor”。
[SuperWeapon]→Cursor.Count= (integer)
这个鼠标动作有多少帧。
[SuperWeapon]→Cursor.Interval= (integer)
多久动一次。默认为5。
[SuperWeapon]→Cursor.MiniFrame= (integer)
和Cursor.Frame相同,这里定义的是小地图的。
[SuperWeapon]→Cursor.MiniCount= (integer)
和Cursor.Count相同,这里定义的是小地图的。
[SuperWeapon]→Cursor.HotSpot= (HotSpot X, HotSpot Y)
定义指针的“热点”。就是说点下之后超武在指

针的哪个位置发射。这里面包含一个二维坐标系,参数则代表这个热点在坐标系中所处位置。HotSpot X 的值可以是 "Left", "Center" or "Middle"之一。 HotSpot Y 的值可以是 "Top", "Middle" or "Bottom"之一。默认是"Center,Middle"。

相对应"Cursor."系列标签,也有一个"NoCursor."系列标签,这些标签规定了当超武不能在此鼠标停留地发射时的鼠标动作,例如力场护盾只能在己方基地内发射。

此系列标签成员如下:

[SuperWeapon]→NoCursor.Frame=
[SuperWeapon]→NoCursor.Count=
[SuperWeapon]→NoCursor.Interval=
[SuperWeapon]→NoCursor.MiniFrame=
[SuperWeapon]→NoCursor.MiniCount=
[SuperWeapon]→NoCursor.HotSpot=

这些标签的要求和"Cursor."系列标签相同。

(译者注)注意:Ares和RP及NP系列不同,Ares是在每个超武内单独定义鼠标动作,其调用方法为Action=Custom。

示例代码(空降超武鼠标动作):
Action=Custom
Cursor.Frame=259
Cursor.Count=9
Cursor.Interval=5
Cursor.MiniFrame=516
Cursor.MiniCount=1

弹头

铁幕效果

[Warhead]→IronCurtain.Duration= (integer)

如果这个值是正数,则表现为目标保持铁幕效果帧数为此值。如果是负数,则给目标减少这么多帧的铁幕。默认为0。

[Warhead]→IronCurtain.Cap= (integer)

如果它的符号和ronCurtain.Duration的符号相反,那么铁幕效果不会累积。如果它的值是0,那么铁幕效果可以无限制地累积。如果不属于这两种情况,,当IronCurtain.Duration为正值时,除非目标的铁幕时间比IronCurtain.Cap更长,那么铁幕效果将可以累积,累积上限为IronCurtain.Cap。默认为-1。

[TechnoType]→IronCurtain.Modifier= (multiplier)
如果IronCurtain.Duration为正数,则他将被乘以这个值。当这个值为0%时,铁幕弹头对其无效。默认为100%。

注意:目标被铁幕10秒钟,则[Warhead]→IronCurtain.Duration应为150。若要将铁幕效果全部移除,[Warhead]→IronCurtain.Duration应为-1,[Warhead]→IronCurtain.Cap应为0。

如果一个武器同时导致了常规伤害和铁幕,常规伤害的优先级更高。范围内所有步兵和带有Organic=yes代码的对象都将被瞬间杀死。

这个功能通过CellSpread来同时影响多个目标。AffectsAllies和AffectsEnemies也可被使用并有效。当一个单位的装甲在铁幕弹头的Verses中被设置成0时,铁幕将不会在这个单位上生效。

永久性心灵控制

[Warhead]→MindControl.Permanent= (boolean)
如果一个弹头同时拥有MindControl.Permanent=yes和MindControl=yes参数,那么由这个弹头导致的心灵控制将是永久的。

自定义传送动画

[Warhead]→Temporal.WarpAway代码设定当这个弹头将一个单位“超时空”走后产生的动画。代替全局的[General]→WarpAway=。

离子炮冲击波效果

[Warhead]→Ripple.Radius= (integer, s

cale unknown)
当这个弹头爆炸时,这个语句将导致显示一种冲击波,类似于TS中的离子炮。最好不要设置成79以上的值。这个功能只是一种视觉效果。

对展开后步兵造成的伤害

[Warhead]→Deployed.Damage= (float - multiplier)
这个弹头对展开后步兵造成伤害的百分比。

它与ProneDamage=不同,它是指定对展开后步兵伤害而非对匍匐步兵伤害的。默认为100%。

AffectsEnemies标记

[Warhead]→AffectsEnemies= (boolean)
指定这个弹头是否可以伤害敌军单位。与原版的AffectsAllies标记相对。
这个语句并不影响此武器锁定敌军单位的能力。

自定义步兵死亡动画

[Warhead]→InfDeathAnim= (string, animation ID)
指定当这个弹头杀死一个步兵(有NotHuman=no属性)的单位时播放的动画。
Works in the same way as existing InfDeath animations except this flag allows you to specify an animation ID rather than an integer. Further more, the animation will be treated as the correct type (e.g. mutation or non-mutation) automatically, which means that you can now have any number of mutations that produce player-owned InfantryTypes. See MakeInfantryOwner for how to control which player will gain control of 'mutated' infantry.

武器

1.[WeaponTypes]
它允许你声明新的武器,代替声明一个不存在的单位来挂载它们。(就像[WEEDGUY]一样)。你可以像声明弹头一样声明它们。每一个在[WeaponTypes]下注册的武器都将被Ares挂载,这样就可以直接用于分裂武器、空爆武器等。

2.辐射波
在Ares之前,辐射波不可以在微观上自定义——根据武器的类型,辐射只能是绿色的或蓝色的。现在,辐射波可以用以下语句自定义:

[Weapon]→Beam.Color= (R,G,B)
波形的颜色。

[Weapon]→Beam.IsHouseColor= (boolean)
是否采用所属方颜色代替[Weapon]→Beam.Color

[Weapon]→Beam.Duration= (integer)
辐射显示的帧数,默认的RadBeam值15,原来的RadEruption则使用5到20之间的随机数字。

[Weapon]→Beam.Amplitude= (float)
波形的振幅。在默认状态下,RadBeams为40.0,RadEruption则使用100.0到500.0之间的随机数。

3.电波的颜色自定义

[Weapon]→Bolt.Color1= (R,G,B)
[Weapon]→Bolt.Color2= (R,G,B)
[Weapon]→Bolt.Color3= (R,G,B)

这三个颜色将被用于绘制电波。可以省略其中的一个或两个,省略的将使用默认值。

4.“波”效果
(1)一个’没有被使用‘的武器效果(即在平台代码中存在但被屏蔽的)已经被启用了。它看起来像是旧的激光或TS中GDI-破坏者的波形。现在它可以像激光一样使用???

[Weapon]→Wave.IsLaser= (boolean)
[Weapon]→Wave.IsBigLaser= (boolean)

IsLaser和IsBigLaser可以产生两种不同的效果。然而,他们的定义名称在严密地测试之前被过早的确定了。其结果就是,IsLaser产生

的波要比IsBigLaser更宽!请大家使用时注意。


(2)下面的语句适用于所有的“波”逻辑。包括上面的Wave.Is(Big)Laser=yes,以及Sonic=yes和IsMagBeam=yes
1)波的颜色

[Weapon]→Wave.Color= (R,G,B)
波形的颜色。默认值随其武器类型而定。
注意:目前声波武器没有一个确定的默认颜色(意思应该就是你写声波武器时要设置一下这个参数)。

[Weapon]→Wave.IsHouseColor= (boolean)
是否采用所属方颜色代替[[Weapon]→Wave.Color

2)波的传导???
根据波的类型和环境,波可以被绘制在不同方向上(从开火点到目标或相反)。现在,它可以用几种方法来自定义。下面的所有语句,默认都为no。


[Weapon]→Wave.ReverseAgainstVehicles= (boolean)
当目标在[VehicleType]中注册时,波是否被绘制。IsMagBeam=yes时,默认为yes。

[Weapon]→Wave.ReverseAgainstBuildings= (boolean)
当目标在[BuildingType]中注册时,波是否被绘制。

[Weapon]→Wave.ReverseAgainstInfantry= (boolean)
当目标在[InfantryType]中注册时,波是否被绘制。

[Weapon]→Wave.ReverseAgainstAircraft= (boolean)
当目标在[AircraftType]中注册时,波是否被绘制。

[Weapon]→Wave.ReverseAgainstOthers= (boolean)
当目标在在以上ReverseAgainst之外时(例如树、覆盖物、空白地形等),波是否被绘制。
// 这些值指定波的绘制方向到底是由谁指向谁。细心的朋友可能会发现,原版YR中使用磁电坦克吸引车辆和攻击建筑时波的绘制方向是不同的。这里的四个值被用来定义波的绘制方向。定义由攻击者指向被攻击者为正向,那么由被攻击者指向攻击者即为反向。 ( 感谢LH_Mouse的改正,这段掐了别播行么 )

3)波的路径伤害
现在所有的波都能伤害它们通过的对象,像TS中GDI-破坏者一样。在这之前,这个功能仅仅限于在声波上使用。

[Weapon]→AmbientDamage= (integer)
波对它通过物体的伤害。默认为0。

[Weapon]→Warhead= (WarheadType)
波在路径伤害上使用的弹头。

自定义伊文炸弹
和尤里的复仇中许多其他功能一样。伊文炸弹的设置是全局的。你不能进行微观的控制。现在,Ares中可以创建新的伊文炸弹式武器。<???>但是,目前此炸弹还没有微观的远程投掷设置<???>上面的问号段不对?R:但是,目前此炸弹还没有微观的遥控引爆设置,因此对于这项功能,所有的伊文炸弹武器仅仅能够全部打开或全部关闭。

如果武器的弹头上存在IvanBomb=yes语句。武器就可以通过下面的代码来自定义伊文炸弹。

[Weapon]→IvanBomb.Warhead= (WarheadType)
炸弹的弹头。

[Weapon]→IvanBomb.Damage= (integer)
炸弹的伤害。

[Weapon]→IvanBomb.Detachable= (boolean)
工程师是否能移除此炸弹。

[Weapon]

→IvanBomb.DestroysBridges= (boolean)
当这个炸弹被放在桥梁维修小屋上时是否能破坏桥梁。
PS:炸弹总是能在桥梁维修小屋上放置,但是如果没有设置IvanBomb.DestroysBridges=yes,将不会毁坏桥梁。

[Weapon]→IvanBomb.Delay= (integer)
在炸弹自动爆炸前经过的帧数。

[Weapon]→IvanBomb.AttachSound= (Sound name)
当炸弹被安装在目标上时播放的声音。

[Weapon]→IvanBomb.TickingSound= (Sound name)
The sound that will be played whilst the bomb is attached to a unit. 为了能使声音正确地循环,在soundmd.ini中,这个声音必须拥有Control=loop代码。

[Weapon]→IvanBomb.Image= (filename, including the .shp extension)
炸弹的图像,使用“filename.shp”的形式定义。如果这个SHP因不同原因不能读取,平台将使用默认的“bombcurs.shp”。

[Weapon]→IvanBomb.FlickerRate= (integer)

The rate at which the bomb SHP will flip back and forth between two frames to give the impression of a flickering fuse.
On every game frame, the frame of the bomb SHP is calculated as follows:

frameToShow = (Game.CurrentFrame – Bomb.PlantingFrame) / (Bomb.Delay / (Bomb.Image.Frames – 1))
IF (CurrentFrame mod (2 * Bomb.FlickerRate) >= Bomb.FlickerRate) THEN frameToShow = frameToShow + 1

Originally this logic was hard-coded to ignore the last frame of the bomb SHP, which was originally planned to be used for so called "death bombs" which were cut from the game before Red Alert 2 was released. This hard-coding has been changed so that the whole SHP is now considered for the fuse, however this means that you'll now see that extra frame from bombcurs.shp, unless you replace that SHP file.

Ares中的新EMP

如果你想让一个弹头干扰目标十秒钟,在弹头上设置EMP.Duration=150。
游戏记录每一个单位剩余的被干扰的时间。实际上,每一个单位都有一个EMP计数器,一帧一帧地倒数直到零。这个计数器通过EMP弹头修改。
如果Verses=0%,一个单位将不会被干扰。其他的任何值都将表现出完整的效果。

首先,当EMP.Duration为正数时,目标将会瘫痪。

1.EMP.Cap>0
EMP效果将是可叠加的,但是这个叠加是有上限的。
目标的EMP计数器将会被加EMP.Duration的值,但不超过EMP.Cap的值。
如果目标的计数器已经大于EMP.Cap,这个计数器不会被减少。
譬如:
计数器为0,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将被设置为10。
计数器为15,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将被设置为20。
计数器为60,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将保持在60。
2.EMP.Cap=0
EMP效果将是可叠加的,并且没有上限。
无论如何,目标的EMP计数器都将会被加上EMP.Duration的值。
譬如:
计数器为25,EMP.Duration=10,EMP.Cap=0。那么EMP计数器将被

设置为35。
3.EMP.Cap=-1
除非计数器已经大于EMP.Duration,否则目标的EMP计数器将被强制设置为EMP.Duration。
譬如:
计数器为5,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将被设置为10。
计数器为20,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将保持在20。

下面,当EMP.Duration为负数时。
例如:一个单位试图解除另一个单位的EMP状态。
1.EMP.Cap=-1
目标的EMP计数器将被减少EMP.Duration的值。
譬如:
计数器为50,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将被设置为40。
计数器为7,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将被重置为0,目标的EMP被解除。
2.EMP.Cap>0
目标的EMP计数器将被减少EMP.Duration。如果计数器的值仍然大于EMP.Cap,那么计数器的值将被继续减少直到它等于EMP.Cap。
譬如:
计数器为50,EMP.Duration=10,EMP.Cap=70。那么EMP计数器将被设置为40。
计数器为50,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将被设置为20。
计数器为7,EMP.Duration=10,EMP.Cap>0。那么EMP计数器将被重置为0,目标的EMP被解除。
3.EMP.Cap=0
无论EMP.Duration等于几,EMP计数器都将被重置为0,目标的EMP被解除。

原教程中,APC的W逻辑说明存在错误,在此进行更正:

感谢Nuke发现此BUG。

Ares允许你使用无限的TS GDI-APC的W逻辑,即两栖单位在陆地上一个样子,在水中又是一个样子,例如可以把轮子去掉来模拟潜渡。

其正确使用方法应为:
[VehicleType]→WaterImage= (any string)

WaterImage指定另一个已注册的载具名,当此单位行驶到水中时将使用此单位的图像。

注意:该萝鸡,我已在

SpeedType=Amphibious
Locomotor={4A582741-9839-11d1-B709-00A024DDAFD1}
MovementZone=AmphibiousCrusher

的VXL载具上测试通过,此三句代码代表此载具将采用和原版TS GDI-APC一样的运动方式。
其他情况尚未测试。

_______________________________________________________________________________________________
已经测试通过的,Ares可以无限克隆原版超时空超武,并且可以超时空建筑、步兵(超步兵目前存在BUG,会把步兵全部传送到一个点上导致部分步兵死亡),具有更大的微观调节性。

Speeder的演示视频:https://www.360docs.net/doc/4e14017339.html,/%E5%B0%A4 ... 2d33c42ad9be2cef38/

翻译暂时没时间,先给段示例代码:

[AresChronoSphereSpecial]
UIName=NOSTR:新超时空转换
Name=AresChronoSphereSpecial
Range=7
LineMultiplier=3
RechargeTime=.1
SidebarImage=CHAOSICON
Action=Custom
ShowTimer=yes
IsPowered=true
Type=ChronoSphere
SW.Range=10
SW.CreateRadarEvent=no
Cursor.Frame=259
Cursor.Count=9
Cursor.Interval=5
Cursor.MiniFrame=516
Cursor.MiniCount=1
Chronosphere.KillOrganic=no
SW.PostDependent=AresChronoWarpSpecial

[AresChronoWarpSpecial]
UIName=NOSTR:新超时空转换
Name=AresChrono

WarpSpecial
Range=7
LineMultiplier=3
RechargeTime=.1
SidebarImage=CHAOSICON
Action=Custom
ShowTimer=yes
IsPowered=true
Type=ChronoWarp
SW.Range=10
SW.CreateRadarEvent=no
Cursor.Frame=259
Cursor.Count=9
Cursor.Interval=5
Cursor.MiniFrame=516
Cursor.MiniCount=1

调用写SuperWeapon=AresChronoSphereSpecial。
____________________________________________________________________________________________
火风暴啊,一直没时间系统测试,这是我现在用的代码:

[AresFSSpecial]
UIName=Name:AresFSSpecial
Name=AresFSSpecial
RechargeTime=.5
SidebarImage=CHAOSICON
Action=Custom
ShowTimer=yes
IsPowered=true
Type=Firestorm
SW.Range=2
SW.CreateRadarEvent=no
SW.AITargeting=ParaDrop
Cursor.Frame=259
Cursor.Count=9
Cursor.Interval=5
Cursor.MiniFrame=516
Cursor.MiniCount=1
____________________________________________________________________________________________
我现在用的框架是
[?????]
UIName=Name:?????
Name=?????
RechargeTime=?????
SidebarImage=?????
Action=Custom
ShowTimer=yes
IsPowered=true
Type=?????
Cursor.Frame=259
Cursor.Count=9
Cursor.Interval=5
Cursor.MiniFrame=516
Cursor.MiniCount=1

至于平台问题,你要是用0.1或者0.1P1是肯定不行的。

铁幕弹头我传翻译
-------------------------------------------------------------------------------------------------
铁幕效果

[Warhead]→IronCurtain.Duration= (integer)

如果这个值是正数,则表现为目标保持铁幕效果帧数为此值。如果是负数,则给目标减少这么多帧的铁幕。默认为0。

[Warhead]→IronCurtain.Cap= (integer)

如果它的符号和ronCurtain.Duration的符号相反,那么铁幕效果不会累积。如果它的值是0,那么铁幕效果可以无限制地累积。如果不属于这两种情况,,当IronCurtain.Duration为正值时,除非目标的铁幕时间比IronCurtain.Cap更长,那么铁幕效果将可以累积,累积上限为IronCurtain.Cap。默认为-1。

[TechnoType]→IronCurtain.Modifier= (multiplier)
如果IronCurtain.Duration为正数,则他将被乘以这个值。当这个值为0%时,铁幕弹头对其无效。默认为100%。

注意:目标被铁幕10秒钟,则[Warhead]→IronCurtain.Duration应为150。若要将铁幕效果全部移除,[Warhead]→IronCurtain.Duration应为-1,[Warhead]→IronCurtain.Cap应为0。

如果一个武器同时导致了常规伤害和铁幕,常规伤害的优先级更高。范围内所有步兵和带有Organic=yes代码的对象都将被瞬间杀死。

这个功能通过CellSpread来同时影响多个目标。AffectsAllies和AffectsEnemies也可被使用并有效。当一个单位的装甲在铁幕弹头的Verses中被设置成0时,铁幕将不会在这个单位上生效。

离子炮冲击波效果

[Warhead]→Ripple.Radius= (integer, scale unknown)
当这个弹头爆炸时,这个语句将导致显示一种冲击波,类似于TS中的离子炮。最好不

要设置成79以上的值。这个功能只是一种视觉效果。

译者注:经有限测试,该功能可以自定义波的范围,但是此范围有一个最大值,最大范围貌似就是原版心控的波大小,其具体值未知,超过此值后震波仍显示为最大状态,小于此值波将相应减小。

测试显示:
写25、100、2500貌似效果一样。
写25、10、5效果就不一样。

预爆炸动画(PreImpactAnim)

在原版中,核弹使用了一个特殊的叫做 ' NUKEBALL ' 的动画,这个动画将在核弹造成伤害之前,作为准备动画播放。
很遗憾的是,平台把这个萝鸡锁死在名叫NUKE的弹头上,不能自定义。

Ares使它可以微观自定义。

[Warhead]→PreImpactAnim= (string, animation ID)
设定弹头引爆前显示的动画。当这个动画播放完之后,真正的爆炸将开始并造成伤害。这个动画最好不要设置为循环动画。
此标记可以被用于任何,在NUKE弹头上默认为NUKEBALL,其他弹头上默认为none。

秘密科技实验室

原版中的秘密实验室萝鸡存在的一些缺陷已经被修正(详见Bug修正部分),开发组顺手牵羊扩展了这个萝鸡。
秘密实验室萝鸡现在已经被扩展到每一个建筑上。

当然,在使用此萝鸡前,SecretLab=yes标记是必不可少的。

[Building]→SecretLab.PossibleBoons= (list of TechnoTypes)
此处可以填建筑、单位、步兵,甚至是战机。用于设定当玩家拥有该实验室时将可能拥有的东西。
原版同样存在相关设定,不过是宏观的,并且不允许填写战机。

[Building]→SecretLab.GenerateOnCapture= (boolean)
(???)秘密实验室提供的秘密科技单位是否在这个建筑被创建的时候已经确定(例如在载入地图的时候或者建造的时候),例如,设定了SecretLab.GenerateOnCapture=yes,那么当这个实验室的所属方变动的时候,系统将提供重新随机选取一个科技单位。(???)默认为no。

以下标记设置在实验室提供的单位上 :

[Boon]→Secret.RequiredHouses= (list of countries)
(???)哪些国家可以得到这个单位。注意如果实验室有SecretLab.GenerateOnCapture=no设定,那么根据相关原理,在某些时候不在此名单里的国家也可以获得之。(???)

[Boon]→Secret.ForbiddenHouses= (list of countries)
哪些国家不能得到这个单位。与Secret.RequiredHouses=标记相同,如果实验室有SecretLab.GenerateOnCapture=no设定,那么根据相关原理,在某些时候在此名单里的国家也可以获得之。

实验室提供的新单位是随机选择的,但是只有玩家不能建造的单位才有可能被选择。
注意:这意味着这样的实验室可能会不遵循Secret.RequiredHouses与Secret.ForbiddenHouses的设定。这不是个Bug。<真不知道这是啥逻辑 - ->


雷针(基本)

避雷针将吸引闪电风暴的闪电,貌似还会变化其伤害。

[BuildingType]→LightningRod= (boolean)
设置这个建筑是否吸引闪电。默认为no。
[BuildingType]→LightningRod.Modifier= (float – modifier)
当有LightningRod=yes标记的建筑受到闪电打击时引发的伤害相对于原伤害的百分比。小于1.0将降低伤害,大于将增加伤害。默认为1.0。

注意 : 这个萝鸡目前不完善,将会在未来的版本中得到增强。

超时空转移

下列标签可用于被超时空的物体。

[TechnoType]→Chronoshift.Allow= (boolean)
设置该物体是否能被超时空超武影响。默认为yes。
[BuildingType]→Chronoshift.IsVehicle= (boolean)
确定该建筑的实质是否是一个"展开的单位",从而可以被不影响建筑的超时空超武所影响(因为Ares的超时空超武允许超时空建筑),默认为no。

Hard-coded Unit Properties

The game is hard-coded to do certain things with certain unit IDs. Namely the [COW], [DESO] and [FV]. These units can now have said special properties switched off, and other units can be given these properties if you want.

IsCow

The [COW] was hard-coded to play its idle animation more frequently than other infantry and was also hard-coded to move around randomly. You can now set IsCow=yes on other InfantryTypes or, indeed, IsCow=no on the [COW].

IsDesolator

The [DESO] was hard-coded to have different deploy-weapon firing timing than other units. The change to the timing appears to be related to the unit's art Sequence although the exact effect has not been investigated. You can now set IsDesolator=yes on other InfantryTypes or, indeed, IsDesolator=no on the [DESO].

Multiple IFVs / Gunner

The [FV] was the only unit to be checked for the special turret and weapon flags, such as SniperTurretIndex. With Ares, all VehicleTypes with Gunner=yes set will read those flags. This means that you can now have multiple types of IFV.

升级自定义相关

配置单位从心控、乘员和召唤等途径升级。

[TechnoType]→Experience.FromPassengers= (boolean)
允许带有OpenTopped=yes或Gunner=yes的单位当一个乘员杀死一个敌人的时候获得经验。默认为yes。

[TechnoType]→Experience.PromotePassengers= (boolean)
如果带有OpenTopped=yes或Gunner=yes的单位是可升级的并且已经升到最高级别(一般为三级),那么乘员将会得到其杀死敌人的经验。如果这个标记被设置为no,那么当母体已为三级时,这些经验将被浪费。默认为yes。

[TechnoType]→Experience.PassengerModifier= (float - multiplier)
如果杀敌能给乘员带来经验,这些经验将被乘以这个值。默认为100%。

[TechnoType]→Experience.FromAirstrike= (boolean)
指定这个单位是否能从召唤空袭的灰机上得到经验。默认为no。

[TechnoType]→Experience.AirstrikeModifier= (f

loat - multiplier)
如果Experience.FromAircraft=yes,且该单位通过召唤来杀死敌人,那么杀敌所得经验将被乘以这个值。默认为100%。

[TechnoType]→Experience.MindControlSelfModifier= (float - multiplier)
如果一个被心控的单位杀死了一个敌人,那么控制它的单位将会得到被乘以这个倍数的经验。(???)这些经验将不会从被心控的单位中扣除。(???)默认为0%。

[TechnoType]→Experience.MindControlVictimModifier= (float - multiplier)
如果一个被心控的单位杀死了一个敌人,他自己将会得到被乘以这个倍数的经验。默认为100%。

如果控制者和被控制者不是盟友,被心控的带有OpenTopped=yes的单位将不会从这些乘员中获得经验。心控单位将不会通过一个被心控的友军单位获得经验。

Trainable=no仍然有效,带有此标签的单位将不会获得任何经验。(???)注意在不使用Ares的任何平台中<声明 : 我不知NP Ext是否存在相关内容,Ares开发组也不知。>纵使存在Trainable=no,一个带有OpenTopped=yes的单位也可以提升其乘员。 (???)

自定义升级勋章

Ares允许你微观自定义一个单位在三个等级时分别使用什么勋章图形。

[TechnoType]→Insignia.Rookie= (filename, excluding the .shp extension)
[TechnoType]→Insignia.Veteran= (filename, excluding the .shp extension)
[TechnoType]→Insignia.Elite= (filename, excluding the .shp extension)
例如,Insignia.Rookie=SAMPLE的单位将使用sample.shp作为它的新兵级勋章。

在未来的版本中,这些SHP可能允许随气候改变图形。如果你设置了一个勋章SHP,那么这个SHP的第一帧将被绘制。

自定义降落伞动画

Ares允许你微观自定义一个单位的降落伞动画。

[Object]→Parachute.Anim= (animation)
设定一个单位使用何种降落伞动画。默认为PARACH。这个SHP需要使用unittem.pal调色板。

当这个降落伞动画正在播放时,这个物体的下降速度将遵循[General]→ParachuteMaxFallRate=的设置。如果这个动画消失了,并且物体仍在下落,那么下落速度将被更改为[General]→NoParachuteMaxFallRate=。

自定义任务按钮

使用Ares,你可以拥有四个任务入口,并且在uimd.ini中对他们进行自定义。

你可以在uimd.ini用下列标签自定义所有的任务入口 ( 用1-4的数字替换其中的X ) :

[UISettings]→CampaignX= (battle)
通过点击按钮启动的任务 ( 来自battle.ini ) 。如果设置了CampaignX=no,按钮将被隐藏。默认为ALL1,SOV1,TUT1。

[UISettings]→CampaignX.Image= (filename, including the .shp extension)
一个260x136的显示在按钮上的图片。fsalg.shp可以作为一个例子。默认分别为fsalg.shp和fsslg.shp

[UISettings]→CampaignX.Palette= (filename, including the .pal extension)
渲染

图像所用的调色板,默认分别为fsalg.pal、fsslg.pal和fsbclg.pal

[UISettings]→CampaignX.Subline= (CSF label)
在按钮图像下显示的文字。默认分别为STT:AlliedCampaignIcon、STT:SovietCampaignIcon和STT:CampaignAnimTutorial。

[UISettings]→CampaignX.Tooltip= (CSF label)
当鼠标停留在其上的时候显示的工具提示,默认为CampaignX.Subline。

Ares默认遵循了原版的设置,所以你无须更改任何参数。显示第三任务入口只需为Campaign3设置上面的相关标记。

三个按钮将被排列为矩形 : 一个在中间的在上面,两个将在更下面的地方。当然你也可以跳过Campaign3直接使用Campaign4来获取另一种布局。四个入口被安排为在界面的四角显示。

你可以在任务列表中使用HoverSound=标签控制当鼠标停留在按钮上时播放的声音。

注意 : 如果你想拥有一个启动训练任务的第三任务入口,只需增加标签[UISettings]→Campaign3.Image=fsbclg.shp。但你需要重制素材,因为现在没有这个入口的YR版本图像。

火风暴实现代码:

感谢 <心灵终结EX1> 从Speeder手里搞来了代码

超武定义代码:
[FirestormSpecial]
UIName=NOSTR:演示用火风暴
Name=Nanoswarm
IsPowered=true
RechargeVoice=00-I158
ChargingVoice=
ImpatientVoice=
SuspendVoice=
RechargeTime=0.1
Type=Firestorm
Action=Custom
Cursor.Frame=259
Cursor.Interval=5
Cursor.Count=10
Cursor.MiniFrame=516
Cursor.MiniCount=1
SidebarImage=NANOICON
SidebarPalette=cameo.pal
ShowTimer=yes
DisableableFromShell=no
AIDefendAgainst=no
Range=1
LineMultiplier=0
FlashSidebarTabFrames=60
SW.ChargeToDrainRatio=50

火风暴墙单元:
[TAFSDF]
Name=Nanoswarm Wall Section
UIName=Name:TAFSDF
Strength=200
Armor=concrete
BuildCat=Combat
Owner=Tiber
Prerequisite=TACNST
TechLevel=11
Repairable=false
Sight=2
Capturable=false
Cost=1
Points=0
Power=1
Selectable=no
Crewed=no
Firestorm.Wall=yes
Explosion=TWLT070,S_BANG48,S_BRNL58,S_CLSN58,S_TUMU60
ThreatPosed=20
Nominal=no
DamageParticleSystems=SparkSys,LGSparkSys
IsBase=no
BaseNormal=no
RadarInvisible=yes
TogglePower=no
Insignificant=yes
DamageSound=BuildingMetalDamaged
https://www.360docs.net/doc/4e14017339.html,/forum/viewtopic.php?t=27437
这是火风暴墙RA2版素材。

任务列表

如果你的任务数量超过了游戏默认任务选择菜单支持的数量,你可以选择任务列表模式。任务列表和TS的任务启动方式相似,其内容根据battlemd.ini的内容显示。

这个任务列表默认会显示原版的两套任务,并且可以显示其描述。

在uimd.ini中使用以下标签来启用和设置任务列表功能 :

[UISettings]→CampaignList= (boolean)
用任务列表代替默认的任务选单。
[UISettings]→ShowDebugCampaigns= (boolean)
显示有DebugOnly=yes的任务。( 经过测试,这貌似是个废标签 )

你可以在battlemd.ini中设置列表里

显示的任务 :

[Battle]→HoverSound= (sound)
当玩家选择这个任务时,这个声音将被播放。默认为原版中的AlliedCampaignSelect、SovietCampaignSelect和BootCampSelect。
[Battle]→Summary= (CSF label)
这个任务的简介信息,剧情神马神马的。将被显示在难度选择栏的下面。

Ares新的微观闪电风暴
Type=LightningStorm
Ares允许你复制闪电风暴超武。
公有参数的默认值:
[SuperWeapon]→SW.Range= (float,integer)
闪电风暴攻击范围,默认取[General]→LightningCellSpread.
[SuperWeapon]→SW.Damage= (integer)
每个闪电所产生的伤害,默认取[General]→LightningDamage.
[SuperWeapon]→SW.Warhead= (Warhead)
每个闪电产生伤害所使用的弹头,默认取[General]→LightningWarhead.
[SuperWeapon]→SW.Deferment= (integer – frames)
闪电风暴发动后的延迟,默认取[General]→LightningDeferment.
[SuperWeapon]→SW.ActivationSound= (Sound)
默认取[AudioVisual]→StormSound.
[SuperWeapon]→SW.AITargeting= (enum)
AI发动目标类型,默认取LightningStorm.
[SuperWeapon]→SW.AffectsHouse= (enum)
此超武影响谁的雷达,默认取敌人.

闪电风暴专有标记:

[SuperWeapon]→Lightning.Duration= (integer – frames)
闪电风暴持续的时长,-1为无限,默认取[General]→LightningStormDuration
[SuperWeapon]→Lightning.RadarOutage= (integer – frames)
SW.AffectsHouse中目标所属方雷达被干扰的帧数,默认取[General]→LightningStormDuration
[SuperWeapon]→Lightning.HitDelay= (integer – frames)
两片云在目标中心上空被创建的间隔,0或以下将禁用目标中心的直接命中。如果可以被创建,这种云将不遵循[SuperWeapon]→Lightning.Separation的规则(见下)。默认取[General]→LightningHitDelay
[SuperWeapon]→Lightning.ScatterDelay= (integer – frames)
两片云在目标区域中随机出现的间隔。0或以下将禁用随机伤害。如果可以被创建,这种云将会遵循[SuperWeapon]→Lightning.Separation的规则(见下)。默认取[General]→LightningScatterDelay
[SuperWeapon]→Lightning.Separation= (integer – distance)
两片云之间的最小间距。0或以下将禁用此规则。默认取[General]→LightningSeparation
[SuperWeapon]→Lightning.PrintText= (boolean)
是否在闪电风暴发动时与正式来临之前显示文字,默认取[General]→LightningPrintText
[SuperWeapon]→Lightning.IgnoreLightningRod= (boolean)
此闪电风暴是否无视避雷针,默认取no
[SuperWeapon]→Lightning.DebrisMin= (integer)
当此闪电风暴打击一单位或建筑,或空地时产生的最小碎片数目,默认取2
[SuperWeapon]→Lightning.DebrisMax= (integer)
当此闪电风暴打击一单位或建筑,或空地时产生的最大碎片数目,默认取4
[SuperWeapon]→Lightning.CloudHeight= (integer – leptons)
云被

创建时离地表的高度。0及以下将位于动画列表中第一个闪电动画的正上方。默认取-1
[SuperWeapon]→Lightning.BoltExplosion= (Animation)
每个闪电将显示这个爆炸动画。默认取[General]→WeatherConBoltExplosion
[SuperWeapon]→Lightning.Sounds= (list of Sounds)
闪电打击时播放的声音列表,默认取[AudioVisual]→LightningSounds
[SuperWeapon]→Lightning.Clouds= (list of Animation)
云的动画列表。如果是空的,这个超武将无效。默认取[General]→WeatherConClouds
[SuperWeapon]→Lightning.Bolts= (list of Animation)
闪电的动画列表。如果是空的,超武仍然将造成伤害,但不会显示闪电。默认取[General]→WeatherConBolts
[SuperWeapon]→Lightning.Debris= (list of Animation)
闪电打击时产生的碎片类型,默认取[General]→MetallicDebris

PS:貌似微观闪电风暴仍然不支持弹头特效,如心控、EMP、超时空,铁幕弹头正在测试ing……

Ares新间谍逻辑

这些标签,如不特殊提示,全部加在建筑上
SpyEffect.Custom=
这个标签是Ares新间谍萝鸡的基础
填Y/N
填了yes才能让所有标签生效
SpyEffect.ResetRadar=
这是复位雷达的标签
SpyEffect.RevealRadar=
这个标签可以显示对方雷达的内容
SpyEffect.PowerOutageDuration=
断电时间
SpyEffect.StolenMoneyAmount=
偷到钱的绝对值
SpyEffect.StolenMoneyPercentage=
偷到敌人钱的比例
SpyEffect.ResetSuperweapons=
复位超武
SpyEffect.StolenTechIndex=
定义间谍偷取科技的标记
Prerequisite.StolenTechs=
这个加在单位上,属于建造前提,后面给的类型是(list of integers),也就是整数列表,看起来可以实现偷取多国科技获取单位
SpyEffect.UnitVeterancy=
升级单位
SpyEffect.RevealProduction=
可以在偷取了此建筑之后,当玩家点击这个建筑的时候,显示正在建造的东西的图标

_______________________________________________________________
2011.02.16
Lx收录
以上内容来自于:
https://www.360docs.net/doc/4e14017339.html,/viewthread.php?tid=462&extra=page%3D1
_______________________________________________________________
以下内容来自于《Ares中文教程》(尚不完善)
_______________________________________________________________

1.逻辑问题

*单位声音胡乱播放

当一个InfantryType的步兵拥有MovementZone=AmphibiousDestroyer放进一个可以跨越水面的而且拥有OpenTopped代码的运输载具时,在进水或上岸时会发出InterWaterSound或ExitWaterSound,有了ares,只有当步兵自己进入水中或离开水中才能播放这个声音

*可建造的科技实验室
当科技实验室可以被玩家建造时,会出现LOAD的情况,玩家可以在建造科技实验室的同时造出其他建筑,在ares中避免了这个问题。科技实验室在被占领时,玩家只能获得固定的一种东西,在ares中会随机抽取科技給玩家。

*

可建造的建造厂
当添加了建造厂到建造栏时,如果点击了那个建造厂的图标,建造完毕后,直接放置,就会出错。在ares中,你只需点击那个建造厂的图标后,取消建造,然后再次建造,就可以成功放置了!

*粒子动画伤害
在原版里粒子动画的伤害是随机分配的,现在可以调节。

*升级标记
在间谍偷级别后,单位图标会出现一个VETERAN标记,但如果你的国家某单位初生一星,那你本来应该有升级标记的图标现在不会有标记了。在ares里,标记会出现如初。

*只有步兵为建筑充能?
在原版中,只有特斯拉步兵才能给特斯拉线圈充能,如果特斯拉坦克拥有特斯拉步兵的第二武器就是充能武器,在去给特斯拉线圈充能,那将无效。在ares中,你可以做出CNC3里光束加农炮給光明圣杯充能的效果!

*战斗要塞不现身?
如果你有个可隐形而且OpenTopped的载具(如可隐形的战斗要塞),如果只用它里面的攻击,这个载具不会现形,在ares它将会现形!

*辐射和波的发射坐标
辐射和波(声波和电波)的开火坐标在原平台是错误的,现在修正。

*声波伤害?
声波伤害是从单位来的伤害而不是来自那个波的,所以在ares里修正了这个逻辑。

*伊万炸弹!
在ares里伊万炸弹可以用于建筑,车辆,飞机而不只是步兵!

*升级可以成为建造条件
建筑的升级可以变为一个建造某物的条件

*自定义调色盘

*不再是主要工厂才能生产
如果有很多单位排队生产,平台会自动寻找同样类型的工厂,分配生产。

*建筑建造完毕
有时EVA会胡乱播放NEW CONSTRUCTION OPTIONS,ares避免了这个问题。

*超级武器只能够在主要发生器发射

*毁灭动画没有所属色问题
建筑的毁灭动画是由DestroyAnim定义的,但特殊的红色不会成为玩家所属色,ares成功地解决了这个问题。

*毁灭动画会引发重接问题
ares解决了这个问题

*建筑和步兵拥有Ammo和Reload逻辑
ares使建筑和步兵Ammo和Reload逻辑可以使用,可以实现CNC3思金人蜂房那样的防御建筑,不过如果Spawn是Aircraft类的,要給建筑弄个dock!

*单位限制逻辑
如果你的战车能变成建筑,而你的战车拥有BuildLimit,那就会出现BUG。在ares中,可变建筑的建造限制数会自动变成这个战车的BuildLimit数。

*100单位BUG
在第100个单位不会出现BUG(好像单位不能过百?)

*PKT文件丢失
如果你的PKT文件丢失,平台那将会无视,继续使用丢失PKT文件的规则。(直到你更换新的PKT文件)

*MISSION.PKT
在ares,平台会跳过官方的MISSION.PKT自动读取在EXPANDMD##.MIX里的MISSION.PKT。

2.超级武器
1 Type=Nuke

[超级武器]

Nuke.Sound=声音 ;核弹警报声,默认为原版声音

2单位投送

Type=UnitDelivery

这个超级武器会部署一个单位在战场任何地方,类似空降舱,但更加强大!

[SuperWeapon]
SW.Deliver=任意单位 ;包括步兵,战车,飞机,建筑!

SW.DeliverBuildups=填yes或no ;在部署建筑时是否播放MK建造动画

3火风暴

Type=Firestorm

这个超级武器本质上是泰伯利亚之日中火风暴超武的重制版。
当它被使用时,属于使用它的一方的所有对象都将拥有火风暴。
拥有Firestorm.Wall=yes的对象将放出能量场,阻止一切敌人的炮火(拥有SubjectToFirestorm=no的抛射体除外)。
此能量场也会破坏试图直接进入其中的所有己方或敌方对象。

拥有Firestorm.Wall=yes的建筑将会爆发和火风暴墙一样的效果动画,并且和附近同样属性建筑连接(详细代码见TS)

这个超级武器用的是老的CD(能量宣泄)逻辑,在[General]里ChargeToDrainRatio控制,不可以在[超级武器]里加上UseChargeDrain=yes语句实现!

这个介绍其实太空洞,你可以参照TS里FIRESTORM的代码。


[FirestormSpecial]
Name=Firestorm Defense
IsPowered=true
RechargeVoice=00-I162
ChargingVoice=
ImpatientVoice=
SuspendVoice=
RechargeTime=3
Type=Firestorm
SidebarImage=FSTDICON
UseChargeDrain=true

PS:貌似你得加入个Action确定鼠标的说...

4空降部队超武

这个超武在原版只支持空降步兵,但在ares里,支持坦克空降(貌似NP也可以),在[Generals]里的伞兵设置也可以空降坦克!
Type=ParaDrop ;(具体参数参照科技机场的参数)


5声纳探测
这个超级武器只能对水释放,来探测水中的潜伏单位(潜艇)。

Type=SonarPulse

[超级武器]
SonarPulse.Range=整数 ;能探测多大范围的隐形
SonarPulse.Delay=整数 ;能探测多长时间,单位为帧


Nuke Atty:如果目标单位是通过VETERAN和ELITE获得隐形能力,那将只能探测一小会儿...

6通用参数

在原版里,我们很少能够增加新的超武,在ARES里你能够增加很多令人振奋的超级武器!



建筑动画:
在原版,只有很少超武能够拥有准备发射动画,在Ares里,你可以自己定义准备动画,給任何附带超武的建筑!(详细见art教程)

鼠标:
Action=语句就是定义超武发射的语句

[超级武器]
Cursor.Frame=帧数 ;开始帧,默认为攻击鼠标(红色的圈圈)
Cursor.Count=整数 ;帧数持续的时间
Cursor.Interval=整数 ;停顿间隔
Cursor.MiniFrame=帧数 ;在小地图的帧数
Curso

r.MiniCount=整数 ;小地图的动画持续多少帧
Cursor.HotSpot=X,Y;坐标,默认为Center,Middle。
(X位置可以填"Left", "Center" 或者 "Middle")
(Y位置可以填"Top", "Middle" 或者 "Bottom")


NoCursor.Frame=
NoCursor.Count=
NoCursor.Interval=
NoCursor.MiniFrame=
NoCursor.MiniCount=
NoCursor.HotSpot=
(在NoCursor标签里默认和Cursor标签一样)


费用:
在ares里,可以在每一次发动超级武器时收取一定费用,做出维护费概念!
[SuperWeapon]
Money.Amount=填整数 ;每次耗费多少金钱(正数为加钱,负数为减钱)

超武动画、声音:
[超级武器]
SW.Animation=动画名 ;目标点播放的动画
SW.AnimationHeight=填整数 ;目标点动画的高度

目标点:
[超级武器]
SW.FireIntoShroud=填yes或no ;这个超武是否可以在没有探测过的地方释放(类似CNC3)

伊娃事件:
[超级武器]
EVA.Detected=填EVA语音 ;当这个超武的附带建筑被建造时敌方播放的伊娃语音(Warning:Nuclear silo detected)
EVA.Ready=填EVA语音 ;当这个超武充能完毕播放额伊娃语音(Nuclear Missile Ready)
EVA.Activated=填伊娃语音 ;当这个超武释放时播放的伊娃语音(Warning:Nuclear Missile Launched)



7通用弹头

Type=GenericWarhead

[超级武器]
GenericWarhead.Warhead=填弹头名 ;用什么弹头攻击
GenericWarhead.Damage=填整数 ;弹头伤害

注意:如果你想在建筑释放时伤害自己,就在建筑上加入DamageSelf=yes


8侦察机超武

Type=SpyPlane

[超级武器]
SpyPlane.Type=空中单位名称 ;哪个飞机去侦察,默认为SPYP
SpyPlane.Count=填整数 ;多少架飞机侦察,默认1架
SpyPlane.Mission= ;侦察机动作,默认SpyPlane_Approach
(填Guard,Attack,Move)

3.TS功能
1APC逻辑
[任何两栖单位]
WaterImage=填VXL名称

注意:这里的VXL名称要写成XXXXwo.VXL才行,但缺点是这样会和无卵导弹车的模型混淆,各位MODER一定要注意。

2EMP

我们知道,EMP会是坦克瘫痪,而在ares里EMP可以用不同方法使坦克瘫痪!
主要表现:坦克不能再攻击和移动
悬浮车辆降落地面

注意:被EMP攻击的单位会有个特殊效果,在[Generals]的EMPulseSparkles=EMP_FX01里有定义,不过在RA2中那个是用的TS的调色盘,所以你需要替换。
被EMP攻击的VXL单位会变黑(遥控坦克失去控制)。
能够部署为建筑的单位依然可以部署,不过要等EMP消失后才能部署。

防御建筑在被EMP攻击后无法攻击
空中单位会马上坠落(冷静!)
裂缝产生器会停止产生裂缝
激光门会停止产生激光
控制中心会停止工作,意味着遥控坦克会停止工作!
如果超级武器有IsPowered=yes语句,那么会暂停计时
雷达建筑将会失去雷达功能
如果承载卵单位的单位被EMP攻击,正在飞行卵单位会直接坠落
奴隶矿场会停止采矿
正在UNLOAD(矿车)的单位被EMP攻击后会变成UNLOAD后的单位(比如矿车在泻矿时被EMP攻击会直接变成泻矿后的状态)


如果你想让一个弹头干扰目标十秒钟,在弹头上设置EMP.Duration=150。
游戏记录每一个单位剩余的被干扰的时间。实际上,每一个单位都有一个EMP计数器,一帧一帧地倒数直到零。这个计数器通过EMP弹头修改。
如果Verses=0%,一个单位将不会被干扰。其他的任何值都将表现出完整的效果。

首先,当EMP.Duration为正数时,目标将会瘫痪。

1.EMP.Cap>0
EMP效果将是可叠加的,但是这个叠加是有上限的。
目标的EMP计数器将会被加EMP.Duration的值,但不超过EMP.Cap的值。
如果目标的计数器已经大于EMP.Cap,这个计数器不会被减少。
譬如:
计数器为0,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将被设置为10。
计数器为15,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将被设置为20。
计数器为60,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将保持在60。
2.EMP.Cap=0
EMP效果将是可叠加的,并且没有上限。
无论如何,目标的EMP计数器都将会被加上EMP.Duration的值。
譬如:
计数器为25,EMP.Duration=10,EMP.Cap=0。那么EMP计数器将被设置为35。
3.EMP.Cap=-1
除非计数器已经大于EMP.Duration,否则目标的EMP计数器将被强制设置为EMP.Duration。
譬如:
计数器为5,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将被设置为10。
计数器为20,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将保持在20。

下面,当EMP.Duration为负数时。
例如:一个单位试图解除另一个单位的EMP状态。
1.EMP.Cap=-1
目标的EMP计数器将被减少EMP.Duration的值。
譬如:
计数器为50,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将被设置为40。
计数器为7,EMP.Duration=10,EMP.Cap=-1。那么EMP计数器将被重置为0,目标的EMP被解除。
2.EMP.Cap>0
目标的EMP计数器将被减少EMP.Duration。如果计数器的值仍然大于EMP.Cap,那么计数器的值将

被继续减少直到它等于EMP.Cap。
譬如:
计数器为50,EMP.Duration=10,EMP.Cap=70。那么EMP计数器将被设置为40。
计数器为50,EMP.Duration=10,EMP.Cap=20。那么EMP计数器将被设置为20。
计数器为7,EMP.Duration=10,EMP.Cap>0。那么EMP计数器将被重置为0,目标的EMP被解除。
3.EMP.Cap=0
无论EMP.Duration等于几,EMP计数器都将被重置为0,目标的EMP被解除。
3 火风暴墙——请查看[超级武器]
4激光门

激光门(LaserDefence)会在RA2和YR1.000里起效果,但在YR1.001,官方就停止使用其效果,在ares里,激光门会起TS一样的作用。
[建筑]
LaserFencePost=yes ;是否为激光门(决定激光门的激光发射器-那个墙角)
[建筑]
LaserFence=yes ;激光门中间是什么东西(就是激光的SHP动画,具体参照TS)
5可变卖单位

在TS里你可以变卖一个在带有DOCK的建筑里的单位,在YR里也可以,但如果你变卖的是装在坦克碉堡里的单位,那就会爆发可怕的错误!
在ares里解决了这个问题。
6探照灯逻辑

在原版里,如果你给单位赋予HasSpotlight语句会直接导致出错,但在Ares里,你可以给任何单位赋予探照灯!(想想有多兴奋!你可以給4种不同类型的单位加探照灯!)
[任何单位]
HasSpotlight=填yes或no ;是否启动这个逻辑
Spotlight.StartHeight=填数值 ;灯光射出高度,默认250(貌似是TS里SpotTower的位置)
Spotlight.Distance=填数值 ;灯光射出距离,默认1024(同上)
Spotlight.AttachedTo=填body或turret或barrel ;灯光从单位哪个部位射出
Spotlight.DisableRed=填yes或no ;灯光是否不会发出红色
Spotlight.DisableGreen=填yes或no ;灯光是否不会发出绿色
Spotlight.DisableBlue=填yes或no ;灯光是否不会发出蓝色
Spotlight.DisableColor=填yes或no ;灯光是否不会发出颜色(被灯光照射的地面将会变黑)
4.新增功能[]
1武器

1.[WeaponTypes]
它允许你声明新的武器,代替声明一个不存在的单位来挂载它们。(就像[WEEDGUY]一样)。你可以像声明弹头一样声明它们。每一个在[WeaponTypes]下注册的武器都将被Ares挂载,这样就可以直接用于分裂武器、空爆武器等。

2.辐射波
在Ares之前,辐射波不可以在微观上自定义——根据武器的类型,辐射只能是绿色的或蓝色的。现在,辐射波可以用以下语句自定义:

[武器]
Beam.Color=填RGB颜色 ;波形的颜色

Beam.IsHouseColor=填yes或no ;是否采用所属方颜色代替Beam.Color的颜色。

Beam.Duration=填整数 ;辐射显示的帧数,默认的RadBeam值15,原来的RadEruption则使用

相关文档
最新文档