赞 | 0 |
VIP | 10 |
好人卡 | 0 |
积分 | 1 |
经验 | 10777 |
最后登录 | 2013-2-11 |
在线时间 | 128 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 128 小时
- 注册时间
- 2009-1-28
- 帖子
- 2790
|
本帖最后由 霜冻之狼 于 2009-7-7 17:18 编辑
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#==============================================================================
#===========================================================================
# 受限技能 by SailCat
#===========================================================================
# 设定方法:一堆受限状态,每一个都选为"不能使用魔法",然后在脚本里面来判定
# 判定分支的写法参见脚本注释
# 变化注释:通过强制return true可以写出在特定状态下一定可以使用的特技,但是
# 请注意状态的优先顺位问题
# 常用的技能判定:(前面写$data_skills[skill_id]),比如$data_skills[skill_id].atk_f
# 纯魔法: .atk_f == 0
# 非魔法: .atk_f != 0
# 纯物理: .atk_f >= 100
# 攻击类: .power > 0
# 回复类: .power < 0
# 支援类: .power == 0
# 全体类: .scope % 2 == 0 and .scope != 0
# 单体类: .scope % 2 == 1
# 别忘了给每个状态添加“不能使用魔法”
#===========================================================================
class Game_Battler
#--------------------------------------------------------------------------
# ● 可以使用特技的判定
# skill_id : 特技 ID
#--------------------------------------------------------------------------
def skill_can_use?(skill_id)
# 战斗不能的情况下不能使用
if dead?
return false
end
# 限制为"不能使用魔法"的情况下
if self.restriction == 1
# 天使之音, 攻击性特技可以无条件使用
if self.state?(21) and $data_skills[skill_id].power > 0
return true
# 沈默, 纯魔法特技不能使用
elsif self.state?(5) and $data_skills[skill_id].atk_f == 0
return false
# 弱力, 非魔法特技不能使用
elsif self.state?(27) and $data_skills[skill_id].atk_f != 0
return false
# 虚脱, HP在一半以下时不能使用特技
elsif self.state?(28) and self.hp < self.maxhp / 2
return false
# 遗忘, 学会的技能有一定的概率不能使用
elsif self.state?(25)
return rand(100) < 50 ? true : false
# 诅咒, 任何消耗SP的技能都不能使用
elsif self.state?(29) and $data_skills[skill_id].sp_cost != 0
return false
end
end
# SP 不足的情况下不能使用
if $data_skills[skill_id].sp_cost > self.sp
return false
end
# 获取可以使用的时机
occasion = $data_skills[skill_id].occasion
# 战斗中的情况下
if $game_temp.in_battle
# [平时] 或者是 [战斗中] 可以使用
return (occasion == 0 or occasion == 1)
# 不是战斗中的情况下
else
# [平时] 或者是 [菜单中] 可以使用
return (occasion == 0 or occasion == 2)
end
end
end
#==============================================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#============================================================================== |
|