| 赞 | 425 |
| VIP | |
| 好人卡 | |
| 积分 | 422 |
| 经验 | |
| 最后登录 | 2026-8-20 |
| 在线时间 | 6017 小时 |
- 梦石
- 0
- 星屑
- 42235
- 在线时间
- 6017 小时
- 注册时间
- 2006-11-10
- 回帖
- 6966
|
发表于 2026-4-25 16:58:33
|
显示全部楼层
首先, 要临时生效,那就考虑用什么储存, 可以在game battler 里建个实变量, 也可以用全局变量, 根据 角色ID + N 的变量作为临时面板用, 然后战斗结束后把它归零就实现战斗后清除
第二步是让新变量和你想要的属性挂钩, 在 game battler 里找到 def pdef , 把临时面板的变量给它加上去, 如果是用全局变量,就到 game actor 里去加
第三步, 找到伤害公式(平A,技能,道具 三个公式), 在 self.hp -= self.damage 下面, 加上判断, if state?(10086) , 或者 if self.is_a?(Game_Actor) and @armor10086_id == 10086 时, 把临时面板变量增加/减少需要的值, 搞定收工
如果想状态取消的同时把变量归零, 那找到 def remove_state 在最后给它加个判断, if state_id == 10086 , 把变量 = 0 |
|