翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 2629|回复: 9

[教程] 【浅谈AI第二期】外置生命值,吸收伤害的护盾技能

  [复制链接]

79

主题

0

精华

5989

积分

国王

耕战
1028
鹰币
79
天龙币
0
回帖
1164

活跃者

附庸关系0
发表于 2015-12-17 15:08:20 | 显示全部楼层 |阅读模式
本帖最后由 不科学的小默默 于 2015-12-18 19:52 编辑

第一期是生命锁链效果


所谓的护盾,指的是外置生命值,严格意义上来讲护盾不属于生命值的一部分,但是却能够为单位抵挡伤害。护盾通常都不是持续存在的,伴随着一两个技能而产生,在被攻击的时候抵挡大部分伤害,然后护盾就会消失。是保命技能中最重要的几个之一。那么今天我们就来谈一谈帝国战役里实现护盾技能的方法。

假设Taka的护盾技能可以在9秒内增加自己300的护盾,那么,这个技能的效果通常是这样的:

1.发动的一瞬间,在目前的生命值上临时增加额外的300生命值。
2.护盾持续时间内,如果自己损失生命值超过300,意味着护盾被击破。
3.9秒持续时间结束后,若护盾没有被击破(假设敌人造成了238点伤害),那么强制移除剩余的护盾(那么就会扣除62点生命值)。


这部分通过触发没办法实现,但是通过AI的话还是可以实现的。


;=========================================定义变量,方便理解和修改===============================================
(defconst truehp 101)
(defconst sufhp 102)
(defconst hpdif 103)

;===================================数字AI,输入“111”增加电脑一点木材==========================================
(defrule
        (taunt-detected 1 111)
=>
        (acknowledge-taunt 1 111)
        (cc-add-resource wood 1)
)

;==============当你没输入“111”时,电脑无时无刻不在读取你的单位生命值,也就是使用护盾之前的生命值===============
(defrule
        (food-amount == 0)
        (wood-amount == 0)
        (stone-amount == 0)
=>
        (up-set-target-by-id c: 0)
        (up-get-object-data 10 truehp)
)

;用触发检测到木材大于等于1时,说明玩家使用了护盾,这个时候增加一点石头,然后移除一点木材


;============使用护盾后,电脑会在护盾消失时计算你的剩余护盾的血量,利用总生命值减去之前的生命值来计算==============
(defrule
        (stone-amount > 0)
=>
        (up-set-target-by-id c: 0)
        (up-get-object-data 10 sufhp)
        (up-modify-goal sufhp g:- truehp)
        (up-modify-goal hpdif g:= sufhp)
)

;护盾持续时间结束后,用触发移除一点石头,然后增加一点食物

;========当你的剩余护盾的血量小于0时,说明护盾已经被击破,这个时候不需要做任何动作,只需要把差值重置即可=========
(defrule
        (food-amount > 0)
        (stone-amount == 0);
        (up-compare-goal hpdif <= 0)
=>
        (up-modify-goal hpdif c:= 0)
)

;========当你的剩余护盾的血量大于0时,说明护盾没有被击破,这个时候要对单位生命值进行补偿,减去剩余的护盾=========

;先把剩余的护盾数转为电脑的黄金数

(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 256)
=>
    (cc-add-resource gold 256)
    (up-modify-goal hpdif c:- 256)
)
(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 128)
=>
    (cc-add-resource gold 128)
    (up-modify-goal hpdif c:- 128)
)
(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 64)
=>
    (cc-add-resource gold 64)
    (up-modify-goal hpdif c:- 64)
)
(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 32)
=>
    (cc-add-resource gold 32)
    (up-modify-goal hpdif c:- 32)
)

(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 16)
=>
    (cc-add-resource gold 16)
    (up-modify-goal hpdif c:- 16)
)

(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 8)
=>
    (cc-add-resource gold 8)
    (up-modify-goal hpdif c:- 8)
)

(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 4)
=>
    (cc-add-resource gold 4)
    (up-modify-goal hpdif c:- 4)
)

(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 2)
=>
    (cc-add-resource gold 2)
    (up-modify-goal hpdif c:- 2)
)

(defrule
        (food-amount > 0)
    (up-compare-goal hpdif >= 1)
=>
    (cc-add-resource gold 1)
    (up-modify-goal hpdif c:- 1)
)

这个时候,再用之前说过的2进制法进贡掉电脑的黄金数,同时扣除单位的生命值。

触发循环开启
条件:堆积黄金:……、512、256、128、64、32、16、8、4、2、1
效果:减损单位生命值:……、512、256、128、64、32、16、8、4、2、1
效果:进贡黄金:……、512、256、128、64、32、16、8、4、2、1


最后,别忘了开启另外一个触发,在几秒后把电脑的食物数量还原为0,如此便可以重复使用护盾。

这样,一个创新又实用的护盾技能就做好了。不过仍需注意,在此期间内,单位所收到的任何治疗后超过原有生命值的部分都会失效,比如你的生命值为119/450,增加了一个护盾到419/450,然后用僧侣治疗到450/450,那么技能结束后还是119/450的生命值。所以当你使用僧侣或回血技能时,记得写个AI或者用触发——计算治疗量,最后作为生命值补偿。

另:附上简易的护盾测试。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册翔鹰会员(昵称)

x

评分

参与人数 1耕战 +50 鹰币 +200 收起 理由
一窍不开 + 50 + 200 原创精华

查看全部评分

从零开始的日系绘画系列
01-头像篇
02-躯干篇(上)
03-躯干篇(中)
回复

使用道具 举报

144

主题

4

精华

1万

积分

宗主教

耕战
2738
鹰币
531092
天龙币
47
回帖
14734

翔鹰建站十周年纪念章二级帝国勋章一级嘉禾勋章翔六水王创意工坊通行证

附庸关系12
发表于 2015-12-17 15:28:04 | 显示全部楼层
不愧是专业的RPG作者,像我绝对想不出来AI还能这么用,赞一个!

点评

曾经的rpg作者  发表于 2015-12-17 15:55
回复

使用道具 举报

32

主题

0

精华

1万

积分

皇帝

耕战
2489
鹰币
1219
天龙币
310
回帖
582

创意工坊通行证活跃者翔鹰建站十周年纪念章

附庸关系0
发表于 2015-12-17 18:41:37 | 显示全部楼层
强悍如斯……
呼啸而过,却又触不可及
回复

使用道具 举报

52

主题

2

精华

2万

积分

宗主教

耕战
5001
鹰币
564
天龙币
24
回帖
657

翔鹰建站十周年纪念章三级帝国勋章一级翔鹰勋章第十一届火箭筒杯最佳新人

附庸关系3
发表于 2015-12-17 21:47:31 | 显示全部楼层
阿默的贴我都进来顶一下
想了好久……还是请叫我菜鹰吧
回复

使用道具 举报

143

主题

3

精华

1万

积分

皇帝

耕战
2211
鹰币
710038
天龙币
0
回帖
3878

三级嘉禾勋章翔鹰建站十周年纪念章雏鹰勋章

附庸关系5
发表于 2015-12-17 22:21:41 | 显示全部楼层
哇,护盾效果!卡拉之光遍布寰宇!
回复

使用道具 举报

83

主题

9

精华

11万

积分

宗主教

耕战
21563
鹰币
10968
天龙币
281
回帖
2821

翔鹰建站十周年纪念章三级帝国勋章特级翔鹰勋章三级嘉禾勋章雄鹰勋章第九届火箭筒杯优秀战役第九届火箭筒杯最佳新人第十届火箭筒杯最佳战役第十二届火箭筒杯最佳战役

附庸关系2
发表于 2015-12-18 17:03:32 | 显示全部楼层
赞赞赞!!!(看来不用我写了好开心)

点评

看你没动静还以为你忘了我的委托呢……  发表于 2015-12-18 19:50
Annie's Wonderland
第一章:海与山(已发布,点击进入)
第二章:杏花宵(已发布,点击进入)
第三章:沙漠之星(先行版已发布,点击进入)
终章:风神的歌谣(地图0% 触发0/1000 状态:未开始)
回复

使用道具 举报

27

主题

0

精华

5223

积分

国王

耕战
788
鹰币
45275
天龙币
0
回帖
1375

翔鹰建站十周年纪念章活跃者

附庸关系2
发表于 2015-12-19 07:20:38 | 显示全部楼层
我来顶一下。。。
【美城类】(3.7分) 格林戴尔之行~点击查看~
【混合类】 [寻宝篇]图腾之谜1(状态:基本完成,等待时机发布)~点击查看~
回复

使用道具 举报

41

主题

0

精华

2万

积分

宗主教

耕战
4221
鹰币
37160
天龙币
114
回帖
5701

翔鹰建站十周年纪念章活跃者

附庸关系4
发表于 2015-12-21 13:04:26 | 显示全部楼层
我也来顶一下……
我只是来打酱油的。。。
回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-11-15 15:45 , Processed in 0.140791 second(s), 98 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

快速回复 返回顶部 返回列表