Project1
标题:
在角色拥有XX状态时可使用特定技能
[打印本页]
作者:
TerraTraveler
时间:
2023-1-5 12:26
标题:
在角色拥有XX状态时可使用特定技能
本帖最后由 寂静的夜里 于 2023-1-11 22:36 编辑
1.如何实现“在角色XX级时从一回合一动变成一回合X动”
2.如何实现“在角色拥有XX状态时可使用特定技能(技能本身已经学会,但需要拥有XX状态才能发动);在XX状态结束时同时解除角色身上指定的A或B状态"
作者:
alexncf125
时间:
2023-1-5 13:43
本帖最后由 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
复制代码
作者:
TerraTraveler
时间:
2023-1-5 14:09
alexncf125 发表于 2023-1-5 13:43
1.如何实现“在角色XX级时从一回合一动变成一回合X动”
3.我描述有误,是”在A状态和B状态中只要有一个状态结束时就结束XX状态“
作者:
TerraTraveler
时间:
2023-1-6 08:44
已解决,感谢
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1