Project1

标题: 【已解决】自制中毒物品,遇到问题了,请帮助! [打印本页]

作者: miantouchi    时间: 2019-6-9 19:53
标题: 【已解决】自制中毒物品,遇到问题了,请帮助!
本帖最后由 miantouchi 于 2019-6-15 13:34 编辑

看到论坛里面有人问制作物品带有持续性的,虽然也想出来一个办法,但是感觉代码写的太过庞大,不够泛用性,结果思考了一天想是想到了,但是卡在一个地方了。
比如。
初级黑暗料理。每次扣血10%
中级黑暗料理。每次扣血20%
高级黑暗料理。每次扣血30%
鹤顶红。每次扣血80%
我设计了4款物品黑暗料理,然后把每种药品的扣血比例写在各自物品的说明里面,通过正则表达式,提取里面的10,20,30,80这样的数值现在也成功了。
然后判断,敌人如果是状态3(持续伤害标记打钩),然后通过这些数值比例计算每回合的扣血比例(因原版的统一的就是10%,不够灵活)
maxhp * 提取的百分比,大体是这个思路。

最后,我把Scene_Battle 4里面的。生成物品行动结果make_item_action_result
# 获取物品
@item = $data_items[@active_battler.current_action.item_id]
里面的@tiem加到了@active_battler.slip_damage_effect(@item)这里面。
从这里面获得玩家当前使用的是哪种黑暗料理。
现在结果,能识别使用物品首次的@item值。
打个比方
敌人1 血大于0并且持续伤害,使用初级黑暗料理,@item=10%,持续运行伤害计算10%,第一个人
敌人2 血大于0并且持续伤害,使用中级黑暗料理,@item=20%,持续运行伤害计算20%,第二个人。
接下来,由于系统没有调用make_item_action_result,因为让怪物中毒的物品用过一次后,等下一次扣血@item的值就是上次最后一个敌人中毒的比例了(因为之后就没用使用中毒物品了)。
敌人1,敌人2、敌人3等等都是中毒扣除最后一个敌人喝的黑暗料理的扣血百分比了。

我想如何才能让怪物记录下首次中毒的比例,就是喝了初级、中级、高级。之后每回合扣血按照各自之前使用中毒物品的比例计算。

1.png (63.87 KB, 下载次数: 4)

1.png

2.png (63.89 KB, 下载次数: 4)

2.png

3.png (44.44 KB, 下载次数: 9)

3.png

4.png (44.46 KB, 下载次数: 6)

4.png

5.png (45.18 KB, 下载次数: 5)

5.png

作者: 7112    时间: 2019-6-9 22:07
?不是很懂...不同状态同时附加就会一起生效的吧?
作者: 灯笼菜刀王    时间: 2019-6-9 22:18
不同道具给于不同状态 毒1 毒2 毒3
到 def slip_damage_effect 里分别判断中的是哪种状态, 分别扣血就行了
作者: soulsaga    时间: 2019-6-9 22:49
你不应该把扣血比例写在物品说明里..应该写在状态里
作者: soulsaga    时间: 2019-6-9 23:28
本帖最后由 soulsaga 于 2019-6-9 23:39 编辑

RUBY 代码复制
  1. #变量定义为数组
  2.     @item=[]
  3.     #把道具实例代入敌人成员ID数组里
  4.     @item[@active_battler.troop_id] = $data_items[@active_battler.current_action.item_id] if @active_battler.is_a?(Game_Enemy)

那么还是用回道具吧
改成这样即可..
那么每个敌人的扣血就会不相同了..
作者: miantouchi    时间: 2019-6-10 08:25
soulsaga 发表于 2019-6-9 23:28
#变量定义为数组
    @item=[]
    #把道具实例代入敌人成员ID数组里

帮我看看,怎么改

中毒物品制作.rar

190.07 KB, 下载次数: 106


作者: soulsaga    时间: 2019-6-10 10:39
miantouchi 发表于 2019-6-10 08:25
帮我看看,怎么改

终於改好了..我也有点被搞混了..

中毒物品制作.rar

190.72 KB, 下载次数: 143


作者: soulsaga    时间: 2019-6-10 21:08
本帖最后由 soulsaga 于 2019-6-10 22:21 编辑
miantouchi 发表于 2019-6-10 08:25
帮我看看,怎么改


这个应该没问题..

中毒物品制作改.rar

189.37 KB, 下载次数: 83


作者: soulsaga    时间: 2019-6-12 14:58
RUBY 代码复制
  1. def itemdmg(item)
  2.      self.中毒[self.member_index]=item.description if self.is_a?(Game_Enemy)
  3.      end


改成这样应该不会报错了..应该吧..




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1