1.15
1.15版本的更新主要以Mod特性为主,新单位添加较少。
测试版更新 | ||
---|---|---|
当前类型 | 测试版 | |
首次更新时间 | 2021-07-15 10:27 | |
最后更新时间 | 2022-08-26 13:36 | |
内部迭代版本号 | 1.15p10 | 173 |
1.15p9 | 172 | |
1.15p8 | 170 | |
1.15p7b | 169 | |
1.15p7 | 168 | |
1.15p6 | 167 | |
1.15p5 | 165 | |
1.15p4 | 160 | |
1.15p3 | 159 | |
1.15p2 | 158 | |
已发布平台 | Google Play、App Store、Steam |
在Google文档上查看官方发布的更新日志 (英文)
1.15p1
1.15p1是Rusted Warfare在1.15版本中的首次公开更新,仅支持PC版本
1.15p1更新日志 |
---|
Rusted Warfare Beta - v1.15p1 • 在单人游戏遭遇战的高级选项和多人游戏中, 可以单独为某个玩家设置游戏选项, 例如: • 现在可以为每个AI玩家设置不同的难度等级。 • 不同的玩家可以有不同的初始单位, 可以用来选择模组中的派系。 • 可以为每个玩家分别覆盖不同的单位颜色。
• 为Android版添加"保存到内部存储"的选项, 让存档/模组/自定义地图功能可以在不授予存储权限的情况下正常运作。请注意, 在卸载时游戏时内部应用存储会被Android系统一并删除。 • 可以从模组设置界面中删除或导出模组。 • 可以从自定义地图界面导入新地图。 • 电脑版:添加实验性的-teamshaders命令开关。开启后将使用着色器为队伍颜色着色, 减少含大图片的模组的内存占用以及第一次应用着色时的卡顿。
• [core]streamingCost • 类似于价格, 但该单位在建造队列中或正在建造时需要消耗资金。若在建造该单位时资源耗尽, 则建造过程或建造队列将暂停。 • [action]streamingCost • 类似于价格, 但该动作在队列中时需要消耗资金, 若在该动作在队列时资源耗尽, 排队将暂停。Flags可以用于暂停或解除触发器的暂停。类似于价格, 但在这个单位在建造队列或建造时支付费用。 如果在建造过程中资源耗尽, 建造或排队将暂停。标志可以用来暂停和解除触发器的暂停。 • [core]switchPriceWithStreamingCost:boolean/[action]switchPriceWithStreamingCost:boolean • 快捷方式, 将streamingCost设置为price的值并清除价格。 • 在all-units.template中增加[core]switchPriceWithStreamingCost, 以快速将mod切换到流式资源。
• 大幅修改动态逻辑布尔值, 新增动态数字、单位、字符串类型 • 与其使用"autoTrigger: if self.energy(greaterThan=100)", 不如用"autoTrigger: if self.energy > 100"
• 逻辑布尔值与数字的数学运算: - + * / • 示例:"autoTrigger: if 2*self.energy + parent.energy-10 > 50"
• 动态文本, 例如: [action]text: 队伍:%{ self.teamId } 还剩 %{ parent.resource('gold') } 颗黄金。 • 动态文本支持已经被添加到[action]text, [action]description, [action]setUnitMemory, [action]showMessageToPlayer, [action]showMessageToAllPlayers, [action]showMessageToAllEnemyPlayers, [action]showQuickWarLogToPlayer, [action]showQuickWarLogToAllPlayers, [action]debugMessagee中。
• 增加了对多行的支持, 可以在ini的任何key上使用3个引号来开始和结束。示例: copyFrom:""" ROOT:a.ini, ROOT:b.ini, ROOT:c.ini """ • 添加 [attack]shootDelayMultiplier, 默认为1 • 添加 [action]setUnitStats, 允许动态地改变一些选定的字段而无需转换。 支持=/+=/-=,支持动态数字或逻辑. 可修改的字段有:maxHp, hp, maxShield, shield, shieldRegen, maxEnergy, energy, armour, mass, shootDelayMultiplier, moveSpeed, maxAttackRange.。示例: setUnitStats: maxHp+=self.energy+100, hp+=50, shieldRegen=0.5 • 添加 [action]resetUnitStats (布尔值) • 添加 [action]convertTo_keepCurrentFields - 转换时不要更改这些字段, 配合setUnitStats食用更佳 (允许的字段: maxHp, maxShield, shieldRegen, maxEnergy, armour, mass, shootDelayMultiplier, moveSpeed, maxAttackRange.) • 添加 [action]whenBuilding_temporarilyConvertTo_keepFields - 使用whenBuilding_temporarilyConvertTo或whenBuilding_temporarilyConvertFrom时请勿更改这些字段,配合setUnitStats食用更佳。 • 修复了whenBuilding_temporarilyConvertTo在单位类型之间闪烁的问题。 • 修复了沙盒模式中重载单位时临时标签被重置的问题。 • 修复了沙盒模式所有标签栏都会显示触发器调试的问题。
• 可为自定义存储给每个单位创建独一无二的变量。 • 示例1: [core]defineUnitMemory: boolean nukeActive, boolean laserReady, float experience, unit nextTarget, unit homeBase, string customText • 示例2: [action]setUnitMemory: """ customText=memory.customText+'hello', nukeActive=true。 experience=experience+attacking.hp, nextTarget=self.attacking.nearestUnit(withinRange=300, withTag='x', relation='enemy') """ • 新的逻辑布尔函数:readUnitMemory(name:string, type:string{boolean,unit,float,string}, [default]) • 示例:parent.readUnitMemory('nukeCountdown', type='float') .如果该单位的存储不存在该数据或保存的数据类型是错误的, 则使用默认值。
• 新增逻辑布尔函数:memory(name), 它是读取当前defineUnitMemory类型的单位的快捷方式。 • 修复同一张图片使用不同模式时teamColoringMode的问题。 • 新的资源快捷方式。示例:self.resource.credits和self.resource('credits')
• self.maxHp() • self.teamId() - 返回当前单位的队伍id。在单位和一些标记物上可用。 //译者注:原文疑似有误,此处已纠正 • self.x() - 返回地图上的x坐标值。在单位和标记物上可用。 • self.y() - 返回地图上的y坐标值。在单位和标记物上可用。 • self.z() - 返回地图上的z坐标值。在单位和标记物上可用。 • self.dir() - 返回该单位的朝向。在单位和标记上可用。 • self.priceCredits() - 返回该单位"price"的"creidts",即原版资金。 • distance(x1,y1,x2,y2) - 计算两点之间的距离。比distanceSquared慢。 • distanceSquared(x1,y1,x2,y2) - 更快地计算两点之间的距离, 但结果是平方。 //译者注:更适用于比较两点距离 • distanceBetween(unit1, unit2) - 示例: distanceBetween(self, activeWaypointTarget) < 100 • distanceBetweenSquared(unit1, unit2) - 比distanceBetween用起来快一点点... • int(x) - 移除一个数字的小数部分. 示例:int(4.2) == 4 • select(bool, textA, textB) - 若为true则返回文本A, 否则返回文本B。 • debug(logicBoolean) - 返回一个文本字符串, 帮助解释这个结果是怎么来的。可以看到嵌套逻辑、比较和运算符。 • str(x) - 将数字、单位或布尔值转换成字符串. 示例:str(self.energy)+'x'=='100x' • substring(text,start,end) - 示例:substring('hello',0,2) == 'he' //注:这不支持使用负数来从文末取字;另外当start的数大于end的数时不会报错,而当在游戏中显示相关消息时,游戏会直接崩溃,这属于bug(1.15p8) • length(string) - 以数字形式返回文本长度。 • squareRoot(num) - 求一个数字的平方根。 • min(num, min2) - 返回最小数, 示例: damage = min(self.hp, self.energy) • max(num, min2) - 返回最大值, 示例: max(5, 10) == 10 • createMarker(x,y,[height],[teamId],[dir]) - 返回一个临时的单位标记。可以保存在自定义存储中或作为移动命令的参考, 等等。不影响游戏状态。如果不再被引用, 则自动删除。 • globalSearchForFirstUnit(withTag=x, relation) - 返回找到的第一个与筛选器匹配的单位。 • null/nullUnit - 一个空的/缺失的单位。在需要比较时很有用, 示例:self.customTarget2 != null • 新的逻辑布尔/单位参照体系 • 支持函数之间的链接, 示例: self.attachment(withTag='x').lastDamagedBy.getAsMarker() • self - 这是当前单位的现有参照(在以前的版本中是唯一选项)。示例:autoTrigger: if self.energy > 100 • attachment([slot], [withTag]) • attacking - 单位正在攻击的当前目标,不一定是当前的路径点目标。 • lastDamagedBy - 攻击此单位的最后一个单位 • parent - 父级 - 运输单位或附带单位的父级。 示例:autoTrigger: if parent.energy > 100 • activeWaypointTarget 当前动作的路径点目标。包括攻击、运输、修复等动作。 • customTarget1 - 自定义存储, 默认为建造此单位的单位。 • customTarget2 - 自定义存储, 默认为空。 • nearestUnit(withinRange=500, withTag='x', relation='any') - 按条件查找一个单位,该代码运行较慢,不建议在autoTrigger中使用 • getAsMarker() - 立即在单位的当前位置创建临时标记。标记创建速度快并在不被引用时自动移除. 它不会链接到任何单位,并且在单位死亡时仍然存在,在创建源移动时仍然保持不变。 • getOffsetAbsolute([x],[y],[height]) - 返回带有绝对偏移量的标记。 • getOffsetRelative([x],[y],[height],[dirOffset]) - 返回带有相对偏移量的标记。 • thisActionTarget - 在[action_NAME] / [hiddenAction_NAME]中使用,以获得动作的目标、位置、自动触发事件源等等。会根据动作触发源设置为单位、标记或空值。注意:当用于界面文本之类的字段时它将始终为空,因为该值只在动作事件上有效。如果你想让它显示在界面上,请将该值保存到自定义存储中。 • thisActionTarget - 示例:fireTurretXAtGround: mainGun (thisActionTarget==带地面位置的标记) • autoTriggerOnEvent: tookDamage (thisActionTarget==造成伤害的单位) • autoTriggerOnEvent: killedAnyUnit (thisActionTarget==被摧毁的单位) • autoTriggerOnEvent: transportingNewUnit (thisActionTarget==被运输的单位) • autoTriggerOnEvent: transportUnloadedOrRemovedUnit (thisActionTarget==被卸载的单位) • autoTriggerOnEvent: queuedUnitFinished (thisActionTarget==被建造的新单位) • autoTriggerOnEvent: touchTargetSuccess (thisActionTarget==碰到的目标) • alsoTriggerAction: x (thisActionTarget==与原动作相同) • [turret]onShoot_triggerActions: x (thisActionTarget==被击中的目标) • takeResources_triggerActionIfAnyCollected: x (thisActionTarget==带有资源的目标) • addWaypoint_triggerActionIfMatched: x (thisActionTarget == 移动动作的标记/攻击的目标等。注:如果只是想搜索,请使用addWaypoint_maxTime: 0) • 向所有单位添加了customTarget1/customTarget2。可用于存储对另一个单元的引用。CustomTarget1默认为建造该单位的可移动单位或建筑物。适用于航空母舰、步兵小队、传送器链接等([core]defineUnitMemory还可用于添加更多内容) • 添加了 [action]takeResources_excludeUnitsWithoutCustomTarget1EqualTo • 添加了 [action]takeResources_saveFirstUnitToCustomTarget1 • 添加了 [action]takeResources_saveFirstUnitToCustomTarget2 • 添加了 [action]setCustomTarget1 - 单位参照 • 添加了 [action]setCustomTarget2 - 单位参照 • 添加了 [action]swapCustomTarget1And2 - 布尔值 • 在动态逻辑中添加了self.customTarget1 • 在动态逻辑中添加了self.customTarget2 • 添加了[action]setResourcesWithLogic/[action]addResourcesWithLogic • 示例: setResourcesWithLogic: hp=self.parent.hp - 10, energy = self.energy / 2 • 示例: addResourcesWithLogic: hp = select( self.parent.energy>5, 10, 20 ) • 添加了[core]autoTriggerCheckRate 和 [core]autoTriggerCheckRate • 可用选项: everyFrame (默认值), every4Frames, every8Frames • 注: 所有的触发器,无论检查速率如何,都会在首次创建时和自动触发器冷却时间后进行检查。每4帧/每8帧的检查率是随机分布在各单位之间的,这样它们就不会全部出现在同一帧上,使其更流畅。对于具有复杂自动触发器的mods来说,在all-units.template中添加[core]autoTriggerCheckRate:every8Frames后会有很大的性能提升。通常自动触发器的性能会提高8倍。在极少数情况下,一些触发器可能仍然需要逐帧检查,所以这不是一个默认值。 • 新的单位生产/生成参数: • 添加了spawnSource(unitRef) - 影响位置和队伍。 • 示例: [action]spawnUnits: tank(spawnSource=memory.lastLocation) • 添加了copyWaypointsFrom(unitRef) - 将目标上的所有路点复制到创建的单位上。 • 示例: spawnUnits: tank(copyWaypointsFrom=self) • 向${}模板板块添加了系数操作符(%) • [turret]unloadUpToXUnitsAndGiveAttackOrder - 在炮塔位置卸载单位(需要测试) • 添加了 [core]borrowResourcesWhileBuilt • 类似于[core]borrowResourcesWhileAlive但在单位建成后才会生效。主要对房屋之类的建筑有用,这些建筑有负的资源,可以加到单位上限等。 • 添加了 [action]takeResources_includeReference • 示例: [action]takeResources_includeReference: self.lastDamagedBy • 添加了 [action]addWaypoint_target_fromReference - 单位参照 • 修复Android版自定义抛射体的imageShadow不显示的问题。 • 以及此处未列出的其它大量修复。 |
1.15p2
根据Luke在Discrod上的发言,1.15p2本在更新计划之中,但该版本却并没有正常发布。1.15p2不受官方支持或承认。
1.15p2更新日志 |
---|
- 该版本没有更新日志 - |
1.15p3
1.15p3首次更新于2021-07-18 16:58:45
1.15p3更新日志 |
---|
Rusted Warfare Beta - v1.15p3
|
1.15p4
1.15p4首次更新于2021-07-27 08:11:17
1.15p4更新日志 |
---|
Rusted Warfare - Beta - v1.15p4
|
1.15p5
由于Google对发布在Play商店上的应用作出了API Level上的要求,且Android 11更新了API 30中的存储机制,此次更新大幅度修改了Rusted Warfare关于文件存储的机制。
1.15p5更新日志 |
---|
Rusted Warfare - Alpha - v1.15p5 << 注意,游戏的测试版一旦更新到API 30后将无法降级到API 29,因此此次更新将先作为Alpha进行测试,您需要根据需求选择性地加入Alpha测试 >>
|
1.15p6
1.15p6更新日志 |
---|
Rusted Warfare - Alpha - v1.15p6 << 注意,你要选择参与Alpha测试才能更新到这个版本,详情请参阅上次更新日志 >>
|
1.15p7
1.15p7更新日志 |
---|
Rusted Warfare - Alpha - v1.15p7 << 注意,你要选择参与Alpha测试才能更新到这个版本,详情请翻看上面的更新日志 >>
|
1.15p8
1.15p8更新日志 |
---|
Rusted Warfare - Alpha - v1.15p8 << 注意,你要选择参与Alpha测试才能更新到这个版本,详情请翻看上面的更新日志 >>
|
1.15p9
1.15p9更新日志 |
---|
Rusted Warfare - Alpha - v1.15p9 << 这只是v1.15p9的更新日志,请参阅之前的更新日志以了解v1.15的所有变动 >>
|
1.15p10
1.15p10更新日志 |
---|
Rusted Warfare - Alpha - v1.15p10 热修复版 << 这只是v1.15p10的更新日志,请参阅之前的更新日志以了解v1.15的所有变动 >>
|
v1.15p11
v1.15p11更新日志 |
---|
Added new unit 'Spy Drone' - Can not attack/Can see further through fog/Decent health and speed/Self repair. Built in the T2 air factory.
Game history shown with graphs on post game win/lose screen
Stats/leaderboard button in replays
Anti-nuke launcher shows an indicator on battlefield when empty (only visible to player with control)
Outpost $2500->$1500 T2 upgrade: $3000->$2000
Combat engineer $4500 -> $3500, nanoSpeed 1.5->2, added turret T2 & mech factory T2 to build list and can be built from the experimental land factory
Nautilus can be built from the experimental land factory
Nautilus can now build anti-nukes (with shorter range and more expensive than normal).
Tesla Mech speed changed from 0.5->0.7 so they can chase down minigun mech, and price $5500->$5200
AA beam gunship base speed changed from 0.85->1, afterburn 2.10->2.3
Heavy anti-air mech $10,000 -> $8500
Missile airship $4200 -> $3900
Fixes for wrong custom resources after a return to battleroom
Performance improvements to collision detection
Fix replay unit cap not being correctly set causing desync in some cases while watching a replay
Stop credits value flicking in multiplayer when queuing units
[action]setBodyRotation now supports dynamic numbers
Added [action]setHeight - dynamic number
Added [action]teleportTo - Marker/unit reference
Added [action]transportTargetNow - Unit reference - Transports this unit from anywhere on the map
Added [action]id to allow actions to be more easily connected when converting between units.
Added [action]fireTurretXAtGround_showGuideDecals that takes a list of decals to render while picking a target
Added [action]autoTriggerOnEventRecursionLimit. With a default of 1
newMessage event trigger now has a default recursion limit of 4 (up from 1)
Added [action]takeResources_triggerActionForEach - Calls this action for each unit found by takeResource with the unit as the action target, and action index counting up from zero.
Added [action]takeResources_searchOnly shortcut (takeResources_maxUnits=200, takeResources_discardCollected=true, takeResources_keepResourcesOnTarget=true)
Fixed number of mods in memory messages showing counts of unloaded mods
Fixed extractor cycle hotkey
Added array types to memory. Supported types are bool[], number[], unit[]
Define array: @memory numArray:float[]
Set array: setUnitMemory: numArray[0]=2
Add to array: setUnitMemory: numArray[memory.numArray.size]=5
Read array: text: %{memory.numArray[memory.targetIndex] }
Read on another unit: %{ parent.readUnitMemory('numArray', type='float[]')[0] }
Alt read on another unit: %{ self.readUnitMemory('numArray', type='number', index=0) }
Delete array: setUnitMemory: numArray=null
Arrays automatically resize but have a hard size limit of 10,000
Added [action]alsoTriggerActionRepeat - Dynamic number (Repeats the alsoTriggerAction call, index changed on each repeat) - Useful to create loops or work with arrays
Added thisActionIndex / index for use with alsoTriggerActionRepeat
Team shader changes
Fix for wrong mini-map colors in some games
Fix for rare crash with return to battleroom
Batch line rendering on android opengl
nanoFactorySpeed and targetHeight now supported in setUnitStats
’Not enough resources’ alert shown when trying to place a building that cannot be afforded anymore.
Experimental land factory is now internally a techLevel 2 unit to make sure techLevel 2 custom units are shown
Fix surrender bug on host player |
你知道吗
- 1.15p1版本有两次更新,其中第二次更新于2021-07-16 19:39:05并解决了玩家选项界面的崩溃问题。
- 在Google Play商店曾短暂发布过存在问题的Android版1.15p2,经测试该版本有概率会出现严重问题,主要表现为大部分地图无法加载,甚至主界面的背景也会出现黑屏和拖影。