酷987移动端

酷987 > 教程攻略 > 游戏攻略 >

星际争霸2十周年5.0地图编辑器更新内容大全

RTS游戏星际争霸2目前已经更新了十周年5.0版本,新版本对地图编辑器也做了部分改动,下面来看看具体更新内容

编辑器更新:

自由之翼以来,我们收到的反馈一直是:编辑器应该易于使用。这个补丁在自定义深度的前提下来简化编辑器。因此,我们吸收了魔兽3编辑器中的元素,在不失去星际2编辑器功能的同时进行简化,同时扩展了编辑器的功能。

我们鼓励地图作者和模型作者的加入与探索,也乐于接受反馈。因为我们一直想在编辑器中添加更多有趣的改动。这一次是有史以来编辑器最大的更新,欢迎提供建议。您对于这些新功能的反馈对我们来说很重要,所以可以尝试在PTR中发布地图,也将其中出现的问题反馈给我们。

在尝试PTR之前记得备份地图,因为PTR是测试性质的。

另外PTR虽然可以获得战争宝箱经验值,但是经验值不能转到其他服,而且PTR中也不会结算宝箱的奖励。

RTS游戏星际争霸2目前已经更新了十周年5.0版本,新版本对地图编辑器也做了部分改动,下面来看看具体更新内容

编辑器更新:

自由之翼以来,我们收到的反馈一直是:编辑器应该易于使用。这个补丁在自定义深度的前提下来简化编辑器。因此,我们吸收了魔兽3编辑器中的元素,在不失去星际2编辑器功能的同时进行简化,同时扩展了编辑器的功能。

我们鼓励地图作者和模型作者的加入与探索,也乐于接受反馈。因为我们一直想在编辑器中添加更多有趣的改动。这一次是有史以来编辑器最大的更新,欢迎提供建议。您对于这些新功能的反馈对我们来说很重要,所以可以尝试在PTR中发布地图,也将其中出现的问题反馈给我们。

在尝试PTR之前记得备份地图,因为PTR是测试性质的。

另外PTR虽然可以获得战争宝箱经验值,但是经验值不能转到其他服,而且PTR中也不会结算宝箱的奖励。

地图之间的加载:

可以在两张地图之间转换游戏房间了(在一张地图中进入另一张地图)。

这两张地图必须是同一作者。

增加了“在线地图之间的加载”功能,作者可以给玩家加载地图槽位,并且根据胜利和失败分配给不同的玩家组。

在“管理已发布的”窗口中,使用已发布地图的右键菜单中的“分配地图槽位”来分配地图槽位。

地图槽位必须在每个地区(服)单独分配。

建议在(地图槽位中地图形成的)地图链中,第一张地图包含后续所有可能加载地图的依赖项。这样可以减少两张地图之间的加载时间。

新增“战役”游戏类型,可以在“游戏变化元素”菜单中添加。

“战役”类型目前没有出现在游戏的类型列表中(即游戏大厅的筛选),但是在“我发布的地图”中是可以看到的。

数据集合:

新增“数据集合”类型,在数据集合中可以声明一组元素并且进行分组。集合可以被看作是任何类型的单个数据,如:单位、技能或升级。

复制、重命名或删除数据集合时,编辑器能够智能地对其中所有的数据进行相同的操作。比如复制后给数据集合起了个新名称,然后编辑器就会对新集合中的每个数据重新命名,还会重置链接的字段,让新的数据项指向新的对应项(即深拷贝)。

(给了一个魔兽3暴风雪技能的示例,进行了一些复制改名之类的基础操作以及截图。)

所有的数据集合应该尽可能的独立。

例如将一个“能力集合”添加到一个单位时,这个能力应该始终有效,而非仅仅是被硬编码到特定单位或者特定武器上。举个例子,旧版本虚空辉光舰的被动技能(即虫心及之前版本的虚空),他在长时间攻击后会增加伤害,这个被动效果其实是假的,这个功能实际上是被硬编码到虚空的武器中的。(所以新版本这个被动与虚空的武器是独立的,这个被动同样可以加在其他武器上了,更加模块化。)因此。下面许多新特性都是为了帮助实现这一目标而创建的。

“简易模式”数据编辑器:

“简易模式”数据编辑器是数据集合的扩展功能。打开时,数据编辑器只会显示数据集合并且对其进行合并、模拟。就好像它们只是单个的“技能数据”、“单位数据”、“物品数据”或“升级数据”等,可以复制、删除或重命名,就像一个单独的对象一样。

这个模式只能在表格视图中使用(即细节视图和XML视图不能用),它结合了最重要的字段,如单位的生命值或技能的伤害。

在简单模式下显示的字段可以针对每个数据集合类型进行完全地自定义。

用星际2编辑器的地图作者最大的抱怨就是复杂,编辑器里不能复制单位或者技能(树状结构很难手动复制好),这是魔兽3编辑器比星际2编辑器好得多的地方。

因此,我们给出了数据集合和简易模式的答案。

将来我们希望基于数据集合创建更多的数据,方便作者使用。同时鼓励MOD作者定义好自己的简易模式视图,方便MOD使用者进行修改和编辑。

累加器:

新增“累加器”,地图作者可以根据各种输入参数创建公式。

累加器的参数可以是单位的自定义值或者用户的数据。

累加器不仅支持公式,还支持用户定义的表。结合验证器使用时,累加器还可以提供大小写转换功能。

例如,一个行为有多种级别,并且可以由多个玩家施放,我们可以加入一个累加器,它可以根据每个玩家计算不同的结果。

累加器用途广泛,比如伤害、治疗速率、生命回复、减伤、技能消耗、护甲加成、(Actor Batch Count ?)、持续计数、行为计数、行为持续时间、伤害系数、攻击速度、移动速度、活力回复、行为几率、活力修改等。

新语法:$AccumulatedValue:xxx$。

这个语句可以用于计算UI的累计值,比如:调用“d ref="$AccumulatedValue: Effect,JainaBlizzardPersistent, PeriodCount$"”来计算暴风雪的砸落波数,每一波都能对一个区域内的单位造成伤害。

新增触发器API:数据表实例

数据表示例的工作方式与数据表相同,只是可以有多个实例,数据表之间可以计算值和复制值。

旧的数据表是单个全局数据表,新的实例版本可以让作者更好地组织运行时的数据。

玩家级别响应:

新增“玩家响应”数据类型(下称“响应”),地图作者可以给特定玩家加载响应,并且可以定义这个响应。玩家的单位将对注册的事件做出响应,就好像单位对伤害的响应行为一样。

作者可以选择设置响应的优先级和失败方法(即无法响应时单位将如何做)。

有了响应,在创建指挥官时,作者不再需要针对每个指挥官添加特定行为,大大提升了游戏性能。此外,作者只需给响应的指挥官添加响应事件,游戏不再需要每次都遍历指挥官的“防止死亡”数据。

响应不局限于“单位收到伤害”事件,也可以响应玩家诞生、单位诞生、单位死亡等。

连续的状态条:

触发器动作:UI – Override Player Option,允许地图作者修改默认的状态条样式,使其更加线性、连续。对于需要精细活力百分比显示的自定义MOD来说十分有用。

触发器GUI中传递结构体的引用:

触发器函数和动作现在能够定义记录类型作为参数了。

记录变量可以通过函数和动作作为参数进行引用传递。

记录参数可以读取和编辑,对记录的修改将会影响函数范围外的记录变量。

Orb系统(和多重攻击与暴击)

Orb是MOBA系列重要的攻击修正概念。

星际2的伤害响应系统可以用来创建Orb,但是伤害响应与攻击修正有很大的区别。

大多数旧的星际2 “Orb”技能并不符合传统定义,因为他们是内置在武器中的,不能轻易地添加或者移除。因此,在你创建Orb的时候,给游戏中所有英雄的武器增加Orb的效果是不现实的(很麻烦)。

我们更新的Orb系统是一个MOBA Orb系统的扩展概念,包含了多重攻击和暴击的官方支持。

一个真正的Orb系统需要以下功能:

能够在每次攻击的基础上给武器系统应用效果。

能够修正投射物和导弹。

在武器轰击目标时添加特殊效果,例如火、冰冻、应用行为等。还应该在轰击前后应用效果,例如暗影箭需要Orb给目标添加debuff,这个debuff在目标死亡时将会召唤一些骷髅出来。如果Orb系统只能在武器轰击目标后施加效果,那么目标单位被暗影箭杀死后将不会召唤骷髅。

另一个例子是Orb技能,碎片攻击。由于它根据主目标攻击伤害加成AoE伤害,同时主目标的随机伤害需要在AoE前计算出来,因此额外的AoE伤害需要在主目标被轰击后施加。

当武器进入前摇时,即便武器还未开火,来自Orb的攻击修正已经开始了,这使得单位可以播放特殊的攻击动画,比如暴击。

Orb需要能够使用一致的攻击伤害加成。

Orb应该能够有验证效果的选项,如猛击和暴击技能不能用于友方单位。

新增效果标旗:MainImpact。

开启时,这个效果被标记为一个武器效果树的主要轰击效果,这样攻击修正器就可以知道何时开始修正效果。

新增行为类型:CBehaviorTackModifier。

应用时,修正器将在武器启动时生效。它会将自己加入到整个攻击效果树中。

(之后是一些具体情况以及解决方案)

|page-break}%

动态技能支持

MOD作者现在可以使用触发器来添加或移除单位的技能了。

技能交换:

新增函数:UnitAbilityChangeLink()。

这个函数允许作者将一个单位的技能交换给另一个单位,同时充能、冷却、等级状态不变。

与类型替换不同的是,它是基于每个技能实例的。

在高级用户类型行为中新增了Ability Replace字段,提供了这个特性的数据版本。

交换到的技能与原有技能必须要是同一个CAbil类。比如,一个“效果 – 目标”类型的技能只能交换“效果 – 目标”类型的技能。

技能交换的数据版本也会影响英雄的学习能力。

魔兽3 素材MOD的数据更新:

2015年2月魔兽3素材MOD发布。这个MOD只包含素材,许多MOD作者想学习使用星际2编辑器来制作魔兽3风格的技能。因此在这些丰富的补丁中,我们也为MOD作者们提供了这些新特性的示例。

我们与民间的魔兽3 MOD作者Renee(麦德三世)合作来使用这些新特性重制他的MOD。

现在官方的魔兽3素材MOD包括了整套的数据,有种族、单位、建筑和技能。希望这些示例能够帮助MOD作者们赶上进度。

阵型移动:

星际2现在可以支持阵型移动了,可以用触发器来控制每个玩家阵型移动的开启和关闭。

单位可以按照预先设定的间距以方形阵型移动和攻击。

目前与魔兽3不同的是,这种阵型移动不会使所有单位以相同速度移动。

MOD作者可以通过调整数据来自定义这个行为。

升级系统改进:

这是数据集合与新指挥官系统的重要组成部分。

旧的升级系统不是独立的,升级需要指定所影响的技能或单位以及效果(比如旧版的做个攻防升级相当麻烦,要把所有要升级的单位都给整一遍),不符合数据集合的概念。

新的升级系统更加独立。单位只需要声明他们所使用的升级,而不是让升级决定他们影响的单位。例如,防暴盾牌不再是以“增加陆战队员10生命值”来实现,而是使用防暴盾牌升级的单位“增加10生命值”。

新增CUpgrade字段:EffectArrayTemplate,与旧的EffectArray(升级:效果)类似,但是增加了ParamId:使用升级的数据集合Id,与ParamLevel:当前升级级别。支持数据引用和计算。可以使用“{”和“}”创建公式,就像文本编辑器一样。

(之后是一个代码示例)

CUpgrade的旧字段保留,功能不变,所有旧的升级设定依然有效,不过不再建议使用。

“所有单位”升级的支持:

由于一些升级被设计应用给同一种类型的“所有单位”,CUpgrade现在拥有了一个用来枚举所有数据集合单位的标旗。

CUpgrade同时新增了EnumExcludedUserFlags和EnumRequiredUserFlags两个过滤字段(目标过滤器),允许升级根据条件过滤数据集合单位。

新增升级操作:AddBaseMultiply和SubtractBaseMultiply,这两个操作根据默认值而不是当前值修改目标字段,比乘法操作更加实用。比如,一个可以升100级的“单位生命值+10%”升级,你希望每升一级单位增加的血量是一个固定值,而不是根据当前生命值(导致每次升级的生命值增加量越来越多)。此外,AddBaseMultiply和SubtractBaseMultiply也支持降级,因为它们可以随时撤销而乘法做不到。

升级现在可以用来启用或禁用玩家的单位。

新增CWeapon字段:Rate Multiplier(攻速倍数),默认值为1。

当游戏尝试获得一个武器或CP效果的周期时,会受到这个字段的影响。

这个字段允许以百分比提升武器速度,而不是改变武器的冷却CD。

多种悬崖层级:

星际2现在支持的悬崖层级层数由3增至15。

水路:

星际2现在可以支持水路了!

新增路径类型:浅水和深水。

新增路径模式:漂浮和两栖。

地面单位可以在地面和浅水中移动。

漂浮单位可以在浅水和深水中移动。

两栖单位可以在地面、浅水和深水中移动。

飞行单位可以在任何没有禁飞区域的地方移动。

新增的两种路径类型目前只能有地形编辑器中的路径笔刷绘制。

(责任编辑:ku987小孩)