Project1
标题:
ISA - 绝对防御状态 - Absolute Defense State
[打印本页]
作者:
忧雪の伤
时间:
2011-3-12 17:35
标题:
ISA - 绝对防御状态 - Absolute Defense State
本帖最后由 忧雪の伤 于 2011-3-12 19:25 编辑
在使用前请先使用:
http://rpg.blue/thread-169595-1-1.html
#_______________________________________________________________________________
# * 此脚本归66RPG - Idint Script Association(ISA)所有,谢绝任何形式转载。
#_______________________________________________________________________________
#===============================================================================
# ■ 绝对防御状态 - Absolute Defense State
#-------------------------------------------------------------------------------
# 遵守协议:66RPG - Idint Script Association(ISA)
# 初始脚本:忧雪の伤
# 更新优化:无
# 当前版本:1.0.0.0
#-------------------------------------------------------------------------------
# 更新日记:忧雪の伤(2011.3.11)
# - 初始化对象
#-------------------------------------------------------------------------------
# 功能介绍:增加绝对防御的战斗特效。
# 使用方法:插入接入包的下端处。
# 存在问题:无
#===============================================================================
#--------------------------------------------------------------------------
# ● 资料记录
#--------------------------------------------------------------------------
module ISA
Use["绝对防御状态"] = [true, "1.0.0.0"]
System["绝对防御状态"] = {}
end
#--------------------------------------------------------------------------
# ● 设定部分
#--------------------------------------------------------------------------
module ISA
# 当持有下述编号的状态的场合,持有者的防御行动效果变成绝对防御
System["绝对防御状态"]["防御行动状态"] = 17
# 当持有下述编号的状态的场合,持有者的伤害变为0
System["绝对防御状态"]["直接无效状态"] = 18
# 当持有下述编号的状态的场合,持有者攻击不受绝对防御的影响
System["绝对防御状态"]["防御穿透状态"] = 19
end
#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
# 处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
# 超级类来使用。
#==============================================================================
class Game_Battler
include ISA
#--------------------------------------------------------------------------
# ● 检查是否绝对防御
#--------------------------------------------------------------------------
def Absolute_Defense?
return self.guarding? ? self.state?(System["绝对防御状态"]["防御行动状态"]) : false
end
#--------------------------------------------------------------------------
# ● 检查是否直接无效
#--------------------------------------------------------------------------
def Direct_Invalid?
return self.state?(System["绝对防御状态"]["直接无效状态"])
end
#--------------------------------------------------------------------------
# ● 检查是否无视绝对防御
#--------------------------------------------------------------------------
def No_Absolute_Defense?(attacker)
return attacker.state?(System["绝对防御状态"]["防御穿透状态"]) ? false : true
end
#--------------------------------------------------------------------------
# ● 应用通常攻击效果
# attacker : 攻击者 (battler)
#--------------------------------------------------------------------------
alias :absolute_defense_state_attack_effect :attack_effect unless method_defined? :absolute_defense_state_attack_effect
def attack_effect(attacker)
if Absolute_Defense? or Direct_Invalid? and No_Absolute_Defense?(attacker)
self.damage = 0 if self.damage != "Miss"
return true
end
absolute_defense_state_attack_effect(attacker)
end
end
复制代码
内个啥,使用方法在脚本里面。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1