我是谁004 发表于 2017-3-12 21:14:42

我的MOD补丁的最近进展

这个东西,其实在之前有好些日子没有动过了。后来直到2月下旬才继续开发,而且上个星期时因为Git操作失误,一下子还原到了1.1.0.0版本,那几天的进度都白费了{:261:}。幸好我在那几天做的东西比较少,只有一个再生费脑子。
最近呢,又有一些新的想法,并且都付诸了实践。以下便是新的特性:

“再生”能力的运用
使用AGE的时候,大家可以看到单位能力中有一样叫做“再生”,但是不知道它有什么用。实际上,这个“再生”就是高清版专用的单位能力,能够让单位回复生命值。
所以我也将其利用起来了。在现在的版本的补丁中,单位不仅可以使用这个能力来回复生命值,还可以指定回复的速率!使用“工作效率乘数”来设置回复速度,越大则回复地越快;而且,若值为负,还可以做出单位不断损失生命值的效果。
此外,设置“额外半径”属性,能够决定单位回复/损失的上/下限,便可以做出回复至一半生命值,或者减少到1点生命值的效果。还能用“入资源”设置一个资源类型,从而让速率乘上该资源值。

僧侣图像的解决方案
有经验的MODDER知道,单位能力是文明共享的,而美洲僧侣的治疗图像是“硬编码”的,无法被DAT所设置——当僧侣的站立图像是美洲僧侣的那个时,治疗图像就被定死了。
曾经在AOKH上有人问我,能否像原版那样,在硬编码中指定更多的僧侣治疗图像。我就回答说,那样虽然可以,但毕竟僧侣图像数量不是统一的,这么做并不值得。后来,经过我的思索,想出了一个办法,那就是,图像编号不被硬编码,但僧侣的治疗图像会采用另一个由硬编码决定的单位。这个单位的唯一功能,就是为僧侣提供治疗图像,亦即它的站立图像,就是僧侣的治疗图像。这么做,就可以让不同文明拥有不同的治疗图像了。

修改原型单位的触发效果
所谓原型单位,就是指单位的静态属性。那些未改变所有权、未被用触发改名或生命值的单位,其原型单位就是玩家科技树中的单位。如果能够直接修改玩家的科技树单位的属性,那么,就相当于修改了玩家的所有这一种单位的属性,尤其是在需要训练的情形下,会很有用。
实际上,UserPatch 1.4的触发效果中,就有这样的功能:重复研究科技,以及激活/禁用单位。
而以前我的补丁中也有类似的效果,比如“指派单位”可以把单位的图像或声音转变为目标单位的,“杀死单位”、“改变单位攻击力”、“改变单位速度”这几个效果可以修改原型单位的一些属性。若被作用的单位没有被改变所有权、改名等,那就等同于修改了科技树原型单位。
但是,这么做也是有不足的。因为,要修改某个玩家的某种单位属性,就必须要在地图上拥有这种单位。即使游戏一开局拥有一个,那后面单位死亡了怎么办呢?更不用说修改单位图像、声音还需要一个参照物了。所以,我对这一类触发效果进行了重做。
现在根据效果的“数目”参数,修改原型单位有了两种模式:像“改变单位生命值”那样选取一定范围的现有单位,或者像“建立单位”那样指定某玩家科技树中的一种单位。不仅如此,效果还有三个类型:设置属性,增加属性值,用指定资源值设置属性值。尤其是第三个,它能够让单位的属性值更容易被调整。
此外,修改单位图像和声音的效果,也从指定一个参照物,变成了直接指定DAT中的图像/声音记录的编号。虽然麻烦了点,但更加自由了。

动态产生、指派单位
用触发产生单位的地点,是固定的。如果要在10×10的区域内动态产生一个单位,那就至少需要100个触发。于是,我想到了使用资源值作为坐标,来产生或指派单位的方法。
具体来说,就是“数目”参数为4时,产生或指派单位,其坐标不是于效果中所指定的,而是取决于所选择的玩家的两种资源值——食物和木头。食物数量作横坐标,木头数量作纵坐标。为什么使用食物和木头,而不是隐藏资源呢?原因倒也简单,因为这两种资源的值容易修改,可能有人会担心影响采集的问题。没关系,这可以使用一个备用玩家的资源,产生后再改变所有权;或者指定一个速度非常高的单位,然后让玩家的单位跟着过去。
如此一来,只要让资源增加或减少,就可以控制产生的地点了。更可以配合随机资源效果,来做出随机散布的单位!

troytroytroy 发表于 2017-3-13 01:42:16

期待動態區域指派實現的一天。{:151:}

rar神槍 发表于 2017-3-16 01:22:44

004你好 請問如何讓一個單位擁有高速回復能力? 我實作之後仍然尚未明白

我是谁004 发表于 2017-3-16 10:14:39

rar神槍 发表于 2017-3-16 01:22
004你好 請問如何讓一個單位擁有高速回復能力? 我實作之後仍然尚未明白

你好,前面说的这些东西,都是我自己编写的程序,还没有发布呢。

troytroytroy 发表于 2017-3-16 13:02:59

本帖最后由 tryotryotryo 于 2017-3-16 13:06 编辑

rar神槍 发表于 2017-3-16 01:22
004你好 請問如何讓一個單位擁有高速回復能力? 我實作之後仍然尚未明白
如果是戰役用觸發就可以搞定了。1.4版詳見劇情狂的1.4觸發詳解、1.0c請搜尋英雄血。004這個部分的功能主要還是建立新的單位時自動有效。

rar神槍 发表于 2017-3-16 20:52:27

原來如此 感謝解惑
页: [1]
查看完整版本: 我的MOD补丁的最近进展