跳到主要内容

护盾

我们对法球的定义是,临时的等效生命。任何生物类型的单位都可以拥有护盾。护盾虽然是一个单位属性,但护盾都应该用护盾状态来维护,不要直接修改护盾的值,除非你知道你自己在做什么。

给单位添加护盾

local mt = base.shield_buff['护盾']
mt.life = 30

u:add_buff '护盾' { }

这样单位就获得了30的护盾,你可以修改这个状态的图标和附带的特效等等,以便它看起来像是个护盾。在护盾值被消耗完之后,护盾状态会自动被移除。

它是如何工作的?

护盾状态会维护自己的护盾值,而单位属性上的护盾实际是这个单位上所有护盾状态的护盾值的总和。所有直接修改单位的护盾不会影响到任何一个护盾状态。

在伤害结算中,扣除生命之前,会先遍历所有的护盾状态,先用它们的护盾值抵挡伤害。所以单位属性的护盾并不能用来抵挡伤害,它只是用于显示用途的值。