#==============================================================================
# ++ 클래스에 의한 성장 보정 ver. 1.10 ++
# Script by 파라개
# http://rpg.para.s3p.net/
#------------------------------------------------------------------------------
# 레벨업시의 클래스에 의해서, 스테이터스 상승치에 보너스가 가산됩니다.
#==============================================================================
module PARA_CLSB
CLASS_BONUS=[]#이 행은 지우지 말아 주세요
# 성장 보너스가 있는 클래스 ID와 능력치에 가산하는 보너스
# CLASS_BONUS[(클래스 ID)] = [최대 HP,최대 SP,완력, 손재주가 있음, 민첩함, 마력]
CLASS_BONUS[9] = [20, 0, 5, 0, 0, 0]
CLASS_BONUS[10] = [50, 20, 5, 0, -2, 2]
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 셋업
# actor_id : 액터 ID
#--------------------------------------------------------------------------
alias setup_para_clsb setup
def setup(actor_id)
setup_para_clsb(actor_id)
@param_bonus =[0,0,0,0,0,0]
set_class_bonus(0,@level)
end
#--------------------------------------------------------------------------
# ○성장 보너스를 플러스
#--------------------------------------------------------------------------
def set_class_bonus(before_level,after_level)
up_level = after_level - before_level
if PARA_CLSB::CLASS_BONUS[@class_id] != nil
class_bonus = PARA_CLSB::CLASS_BONUS[@class_id]
else
class_bonus = [0,0,0,0,0,0]
end
for n in 0..5
@param_bonus [n] = class_bonus != nil ? class_bonus[n] * up_level : 0
end
end
#--------------------------------------------------------------------------
# ● 레벨의 변경
# level : 새로운 레벨
#--------------------------------------------------------------------------
def level=(level)
before_level = @level
# 상하한체크
level = [[level, $data_actors[@actor_id].final_level].min, 1].max
# EXP 를 변경
self.exp = @exp_list[level]
set_class_bonus(before_level,level)
end
#--------------------------------------------------------------------------
# ● 기본 MaxHP 의 취득
#--------------------------------------------------------------------------
alias base_maxhp_para_clsb base_maxhp
def base_maxhp
n = base_maxhp_para_clsb
if @param_bonus != nil
n += @param_bonus[0]
end
return n
end
#--------------------------------------------------------------------------
# ● 기본 MaxSP 의 취득
#--------------------------------------------------------------------------
alias base_maxsp_para_clsb base_maxsp
def base_maxsp
n = base_maxsp_para_clsb
if @param_bonus != nil
n += @param_bonus[1]
end
return n
end
#--------------------------------------------------------------------------
# ● 기본 완력의 취득
#--------------------------------------------------------------------------
alias base_str_para_clsb base_str
def base_str
n = base_str_para_clsb
if @param_bonus != nil
n += @param_bonus[2]
end
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 기본 손재주가 있음의 취득
#--------------------------------------------------------------------------
alias base_dex_para_clsb base_dex
def base_dex
n = base_dex_para_clsb
if @param_bonus != nil
n += @param_bonus[3]
end
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 기본 민첩함의 취득
#--------------------------------------------------------------------------
alias base_agi_para_clsb base_agi
def base_agi
n = base_agi_para_clsb
if @param_bonus != nil
n += @param_bonus[4]
end
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 기본 마력의 취득
#--------------------------------------------------------------------------
alias base_int_para_clsb base_int
def base_int
n = base_int_para_clsb
if @param_bonus != nil
n += @param_bonus[5]
end
return [[n, 1].max, 999].min
end
end
# ++ 클래스에 의한 성장 보정 ver. 1.10 ++
# Script by 파라개
# http://rpg.para.s3p.net/
#------------------------------------------------------------------------------
# 레벨업시의 클래스에 의해서, 스테이터스 상승치에 보너스가 가산됩니다.
#==============================================================================
module PARA_CLSB
CLASS_BONUS=[]#이 행은 지우지 말아 주세요
# 성장 보너스가 있는 클래스 ID와 능력치에 가산하는 보너스
# CLASS_BONUS[(클래스 ID)] = [최대 HP,최대 SP,완력, 손재주가 있음, 민첩함, 마력]
CLASS_BONUS[9] = [20, 0, 5, 0, 0, 0]
CLASS_BONUS[10] = [50, 20, 5, 0, -2, 2]
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● 셋업
# actor_id : 액터 ID
#--------------------------------------------------------------------------
alias setup_para_clsb setup
def setup(actor_id)
setup_para_clsb(actor_id)
@param_bonus =[0,0,0,0,0,0]
set_class_bonus(0,@level)
end
#--------------------------------------------------------------------------
# ○성장 보너스를 플러스
#--------------------------------------------------------------------------
def set_class_bonus(before_level,after_level)
up_level = after_level - before_level
if PARA_CLSB::CLASS_BONUS[@class_id] != nil
class_bonus = PARA_CLSB::CLASS_BONUS[@class_id]
else
class_bonus = [0,0,0,0,0,0]
end
for n in 0..5
@param_bonus [n] = class_bonus != nil ? class_bonus[n] * up_level : 0
end
end
#--------------------------------------------------------------------------
# ● 레벨의 변경
# level : 새로운 레벨
#--------------------------------------------------------------------------
def level=(level)
before_level = @level
# 상하한체크
level = [[level, $data_actors[@actor_id].final_level].min, 1].max
# EXP 를 변경
self.exp = @exp_list[level]
set_class_bonus(before_level,level)
end
#--------------------------------------------------------------------------
# ● 기본 MaxHP 의 취득
#--------------------------------------------------------------------------
alias base_maxhp_para_clsb base_maxhp
def base_maxhp
n = base_maxhp_para_clsb
if @param_bonus != nil
n += @param_bonus[0]
end
return n
end
#--------------------------------------------------------------------------
# ● 기본 MaxSP 의 취득
#--------------------------------------------------------------------------
alias base_maxsp_para_clsb base_maxsp
def base_maxsp
n = base_maxsp_para_clsb
if @param_bonus != nil
n += @param_bonus[1]
end
return n
end
#--------------------------------------------------------------------------
# ● 기본 완력의 취득
#--------------------------------------------------------------------------
alias base_str_para_clsb base_str
def base_str
n = base_str_para_clsb
if @param_bonus != nil
n += @param_bonus[2]
end
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 기본 손재주가 있음의 취득
#--------------------------------------------------------------------------
alias base_dex_para_clsb base_dex
def base_dex
n = base_dex_para_clsb
if @param_bonus != nil
n += @param_bonus[3]
end
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 기본 민첩함의 취득
#--------------------------------------------------------------------------
alias base_agi_para_clsb base_agi
def base_agi
n = base_agi_para_clsb
if @param_bonus != nil
n += @param_bonus[4]
end
return [[n, 1].max, 999].min
end
#--------------------------------------------------------------------------
# ● 기본 마력의 취득
#--------------------------------------------------------------------------
alias base_int_para_clsb base_int
def base_int
n = base_int_para_clsb
if @param_bonus != nil
n += @param_bonus[5]
end
return [[n, 1].max, 999].min
end
end