脑洞大的人利用这个判断式可以做太多东西了
我脑洞有限,套用现有游戏的一些技能来举例吧
1、我有一个盗贼,盗贼会潜行,有一个技能是偷袭敌人
如果盗贼让对方看到,偷袭效果就差,那么假设我的潜行状态为第20号状态
公式可以这样写 (a.atk*4-b.def)*(a.state?(20)?2:1)
意思是,如果盗贼自身在20号潜行状态下,伤害*2,没有这个状态就*1
是否处于某状态的判定是 a.state?(n)? 目标就是b.state?(n)?
这个非常好用,比如10号状态是被冻结 处于这种状态下的人 被火烧就没有那么疼了
(a.mat*2-b.mdf)*(b.stast?(10)?0.5*1) 然后所有火系魔法都用这样的公式
烧冻结的目标只有一半伤害
2、这种判定式,冒号前后不一定要用1啊0.5啊之类的数字,冒号两边也可以都是公式
具体运用举例 我有一个坦克角色,这个角色会防御姿态,降低攻击力提升防御,设为5号状态
坦克角色有个盾击技能,盾击伤害我们可以这样写,如果没有防御姿态,用攻击力结算,如果在防御姿态下,盾击时用防御力当成攻击力来用
a.state?(5)? a.def*5-b.def : (a.atk*5-b.def)
3、多个条件的判断举例
我要做个龙珠里的悟空,有超1超2超3 三种变身
给个技能就是踢一脚,普通状态下,就计算攻击力
超一时把敏捷也算成攻击力,超二时连防御力都算成攻击力,超3就自身血量也算成攻击力
看起来很复杂其实用公式就可以 我们设定超1是11号状态 超2是12号 超3是13号
a.state?(11)? a.state?(12)? a.state?(13)? a.atk+a.agi : a.atk+a.agi+a.def : a.atk+a.def+a.agi+a.hp :a.atk
一个公式就搞定了