赞 | 159 |
VIP | 0 |
好人卡 | 0 |
积分 | 264 |
经验 | 0 |
最后登录 | 2024-12-5 |
在线时间 | 5370 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 26398
- 在线时间
- 5370 小时
- 注册时间
- 2016-3-8
- 帖子
- 1658
|
本帖最后由 alexncf125 于 2023-1-5 14:14 编辑
1.如何实现“在角色XX级时从一回合一动变成一回合X动”
- class Game_Battler < Game_BattlerBase
- #--------------------------------------------------------------------------
- # ● 决定行动回数
- #--------------------------------------------------------------------------
- alias :level_change_make_action_times :make_action_times
- def make_action_times
- t = level_change_make_action_times
- if actor?
- case level
- when 21..50 #在角色21-50级时从一回合一动变成一回合二动
- t += 1
- when 51..99 #在角色51-99级时从一回合一动变成一回合三动
- t += 2
- end
- end
- t
- end
- end
复制代码
2.如何实现在角色拥有XX状态时可使用特定技能(技能本身已经学会,但需要拥有XX状态才能发动)
- class Game_BattlerBase
- #--------------------------------------------------------------------------
- # ● 检查技能的使用条件
- #--------------------------------------------------------------------------
- alias :state_join_skill_conditions_met? :skill_conditions_met?
- def skill_conditions_met?(skill)
- return false if actor? && skill.id == 特定技能的ID && !state?(XX状态的ID)
- state_join_skill_conditions_met?(skill)
- end
- end
复制代码
3.在A状态和B状态中只要有一个状态结束时就结束XX状态
- class Game_Battler < Game_BattlerBase
- #--------------------------------------------------------------------------
- # ● 解除状态
- #--------------------------------------------------------------------------
- alias :remove_extra_state :remove_state
- def remove_state(state_id)
- s = state?(state_id)
- remove_extra_state(state_id)
- remove_state(XX状态的ID) if s && [A状态的ID, B状态的ID].any? {|sid| sid == state_id}
- end
- end
复制代码 |
|