1.15:修订间差异

添加的内容 删除的内容
无编辑摘要
(折叠1.15p1的更新内容)
第15行: 第15行:
== 1.15p1 ==
== 1.15p1 ==
1.15p1是Rusted Warfare在1.15版本中的首次公开更新,仅支持PC版本
1.15p1是Rusted Warfare在1.15版本中的首次公开更新,仅支持PC版本

{| class="wikitable"
{{折叠|1.15p1更新日志|2=Rusted Warfare Beta - v1.15p1
|+

!1.15p1更新日志
|-
|'''Rusted Warfare Beta - v1.15p1'''
• 在单人游戏遭遇战的高级选项和多人游戏中, 可以单独为某个玩家设置游戏选项, 例如:
• 在单人游戏遭遇战的高级选项和多人游戏中, 可以单独为某个玩家设置游戏选项, 例如:


第28行: 第26行:
    • 可以为每个玩家分别覆盖不同的单位颜色。
    • 可以为每个玩家分别覆盖不同的单位颜色。


   
   


• 为Android版添加"保存到内部存储"的选项, 让存档/模组/自定义地图功能可以在不授予存储权限的情况下正常运作。请注意, 在卸载时游戏时内部应用存储会被Android系统一并删除。
• 为Android版添加"保存到内部存储"的选项, 让存档/模组/自定义地图功能可以在不授予存储权限的情况下正常运作。请注意, 在卸载时游戏时内部应用存储会被Android系统一并删除。
第61行: 第59行:
    • 与其使用"autoTrigger: if self.energy(greaterThan=100)", 不如用"autoTrigger: if self.energy > 100"
    • 与其使用"autoTrigger: if self.energy(greaterThan=100)", 不如用"autoTrigger: if self.energy > 100"


   
   


• 逻辑布尔值与数字的数学运算: - + * /
• 逻辑布尔值与数字的数学运算: - + * /
第67行: 第65行:
    • 示例:"autoTrigger: if 2*self.energy + parent.energy-10 > 50"
    • 示例:"autoTrigger: if 2*self.energy + parent.energy-10 > 50"


   
   


• 动态文本, 例如: [action]text: 队伍:%{ self.teamName } 还剩 %{ parent.resource('gold') } 颗黄金。
• 动态文本, 例如: [action]text: 队伍:%{ self.teamName } 还剩 %{ parent.resource('gold') } 颗黄金。


    • 动态文本支持已经被添加到[action]text, [action]description, [action]setUnitMemory, [action]showMessageToPlayer, [action]showMessageToAllPlayers, [action]showMessageToAllEnemyPlayers, [action]showQuickWarLogToPlayer, [action]showQuickWarLogToAllPlayers, [action]debugMessagee中。
    • 动态文本支持已经被添加到[action]text, [action]description, [action]setUnitMemory, [action]showMessageToPlayer, [action]showMessageToAllPlayers, [action]showMessageToAllEnemyPlayers, [action]showQuickWarLogToPlayer, [action]showQuickWarLogToAllPlayers, [action]debugMessagee中。


   
   


• 增加了对多行的支持, 可以在ini的任何key上使用3个引号来开始和结束。示例:
• 增加了对多行的支持, 可以在ini的任何key上使用3个引号来开始和结束。示例:

copyFrom:"""
copyFrom:"""
ROOT:a.ini
ROOT:b.ini,
ROOT:a.ini
ROOT:c.ini
ROOT:b.ini,
ROOT:c.ini
"""
"""

• 添加 [attack]shootDelayMultiplier, 默认为1
• 添加 [attack]shootDelayMultiplier, 默认为1


第107行: 第107行:


       • 示例2:
       • 示例2:

[action]setUnitMemory: """
[action]setUnitMemory: """
customText=memory.customText+'hello',
customText=memory.customText+'hello',
nukeActive=true。
nukeActive=true。
experience=experience+attacking.hp,
experience=experience+attacking.hp,
nextTarget=self.attacking.nearestUnit(withinRange=300, withTag='x', relation='enemy') """
nextTarget=self.attacking.nearestUnit(withinRange=300, withTag='x', relation='enemy') """

• 新的逻辑布尔函数:readUnitMemory(name:string, type:string{boolean,unit,float,string}, [default])
• 新的逻辑布尔函数:readUnitMemory(name:string, type:string{boolean,unit,float,string}, [default])


    • 示例:parent.readUnitMemory('nukeCountdown', type='float') .如果该单位的存储不存在该数据或保存的数据类型是错误的, 则使用默认值。
    • 示例:parent.readUnitMemory('nukeCountdown', type='float') .如果该单位的存储不存在该数据或保存的数据类型是错误的, 则使用默认值。


   
   


• 新增逻辑布尔函数:memory(name), 它是读取当前defineUnitMemory类型的单位的快捷方式。
• 新增逻辑布尔函数:memory(name), 它是读取当前defineUnitMemory类型的单位的快捷方式。
第127行: 第129行:
• 新增逻辑布尔/数字/单位/字符串函数
• 新增逻辑布尔/数字/单位/字符串函数


    • self.maxHp()
    • self.maxHp()


    • self.teamId() - 返回当前单位的队伍id。在单位和一些标记物上可用。 //译者注:原文疑似有误,此处已纠正
    • self.teamId() - 返回当前单位的队伍id。在单位和一些标记物上可用。 //译者注:原文疑似有误,此处已纠正
第171行: 第173行:
    • globalSearchForFirstUnit(withTag=x, relation) - 返回找到的第一个与筛选器匹配的单位。
    • globalSearchForFirstUnit(withTag=x, relation) - 返回找到的第一个与筛选器匹配的单位。


    • null/nullUnit - 一个空的/缺失的单位。在需要比较时很有用, 示例:self.customTarget2 != null
    • null/nullUnit - 一个空的/缺失的单位。在需要比较时很有用, 示例:self.customTarget2 != null


• 新的逻辑布尔/单位参照体系
• 新的逻辑布尔/单位参照体系
第251行: 第253行:
• 添加了[core]autoTriggerCheckRate 和 [core]autoTriggerCheckRate
• 添加了[core]autoTriggerCheckRate 和 [core]autoTriggerCheckRate


    •  可用选项: everyFrame (默认值), every4Frames, every8Frames
    •  可用选项: everyFrame (默认值), every4Frames, every8Frames


    • 注: 所有的触发器,无论检查速率如何,都会在首次创建时和自动触发器冷却时间后进行检查。每4帧/每8帧的检查率是随机分布在各单位之间的,这样它们就不会全部出现在同一帧上,使其更流畅。对于具有复杂自动触发器的mods来说,在all-units.template中添加[core]autoTriggerCheckRate:every8Frames后会有很大的性能提升。通常自动触发器的性能会提高8倍。在极少数情况下,一些触发器可能仍然需要逐帧检查,所以这不是一个默认值。
    • 注: 所有的触发器,无论检查速率如何,都会在首次创建时和自动触发器冷却时间后进行检查。每4帧/每8帧的检查率是随机分布在各单位之间的,这样它们就不会全部出现在同一帧上,使其更流畅。对于具有复杂自动触发器的mods来说,在all-units.template中添加[core]autoTriggerCheckRate:every8Frames后会有很大的性能提升。通常自动触发器的性能会提高8倍。在极少数情况下,一些触发器可能仍然需要逐帧检查,所以这不是一个默认值。
第273行: 第275行:
• 类似于[core]borrowResourcesWhileAlive但在单位建成后才会生效。主要对房屋之类的建筑有用,这些建筑有负的资源,可以加到单位上限等。
• 类似于[core]borrowResourcesWhileAlive但在单位建成后才会生效。主要对房屋之类的建筑有用,这些建筑有负的资源,可以加到单位上限等。


• 添加了 [action]takeResources_includeReference
• 添加了 [action]takeResources_includeReference


    •  示例: [action]takeResources_includeReference: self.lastDamagedBy
    •  示例: [action]takeResources_includeReference: self.lastDamagedBy
第281行: 第283行:
• 修复Android版自定义抛射体的imageShadow不显示的问题。
• 修复Android版自定义抛射体的imageShadow不显示的问题。


• 以及此处未列出的其它大量修复。
• 以及此处未列出的其它大量修复。}}

|}
==1.15p2==
==1.15p2==
根据Luke在Discrod上的发言,1.15p2本在更新计划之中,但该版本却并没有正常发布。1.15p2不受官方支持或承认。
根据Luke在Discrod上的发言,1.15p2本在更新计划之中,但该版本却并没有正常发布。1.15p2不受官方支持或承认。