ibegu Advance
Posts : 451 Thanked : 14 Engine : RMVX Skill : Very Beginner Type : Composer
| Subyek: Ibegu PEE 2011-07-11, 02:16 | |
| Ibegu Parameter + Equip Enhancement Versi: 1.00 PengenalanYa..ya..ya gw rasa udah ada yang buat script kyk gini tapi disini gw cuma mo coba tampilinin kreasi sendiri aja sapa tau ada yang sedikit berbeda dengan yang pernah kalian punya..jadi di script ini kita bisa punya parameter selain atk, def,spi..dll...yaitu str,dex,vit,int. dimana parameter tambahan ini mempengaruhi perkembangan dari main paratemer alias paramter awalnya (atk,def,spi,agi,maxhp,maxmp,) Screenshotsga ada Demoga ada Scripts - Code:
-
################################################################################ # Ibegu Parameter + Equipment Enhancement # # Version 1.00 # # 12/02/2011 # # Credits to me!! # ################################################################################ #=============================================================================== # Intro #=============================================================================== # Dengan script ini game kamu akan memiliki attribute tambahan # yaitu str, vit, int, dex. # dimana setiap atribut tambahannya akan mempengaruhi attribute dasar yang # diberikan oleh RM ini sendiri(atk,def,spi,agi). #=============================================================================== # Command Note #=============================================================================== #------------------------------------------------------------------------------- # Equipment (Weapon / Armor) #------------------------------------------------------------------------------- # tambahkan pada weapon / armor note : # # <attribute +x> atau <attribute -x> # maka equip tersebut akan menambahkan atau mengurangi attribute # aktor yang menggunakannya sebanyak x. # attribute diantaranya : # maxhp, maxmp, atk, def, spi, agi, str, vit, int, dex, hit, eva, cri # contoh <def -200> atau <dex +1> # # <attribute per +x> atau <attribute per -x> # maka equi[ tersebut akan menambahkan atau mengurangi attribute # aktor yang menggunakannya sebanyak x%. # attribute diantaranya : # maxhp, maxmp, atk, def, spi, agi, str, vit, int, dex, hit, eva, cri # contoh <def per -200> atau <dex per +1> #------------------------------------------------------------------------------- # State #------------------------------------------------------------------------------- # tambahkan pada state note : # # <attribute +x> atau <attribute -x> # maka state tersebut akan menambahkan atau mengurangi attribute # target sebanyak x. # attribute diantaranya : # atk, def, spi, agi, str, vit, int, dex # contoh : <cri -20> atau <int +13> # # <attribute per +x> atau <attribute per -x> # maka state tersebut merubah attribute target menjadi x% # attribute diantaranya : # atk, def, spi, agi, str, vit, int, dex # contoh : <cri per -20> atau <int per +13> #------------------------------------------------------------------------------- # On Game #------------------------------------------------------------------------------- # $game_actors[x].attribute y z # x = actor id di database game kamu # y : =(sama dengan), += (ditambah), -= (dikurang), *= (dikali), /= (dibagi) # z = nominal yang diinginkan (integer) # contoh : - $game_actors[1].str *= 10 (Strength ralph yang semula akan dikali 10) # - $game_actors[1].str = 10 (Stregth ralph akan menjadi 10) #=============================================================================== # Notification!! #=============================================================================== # Jika kamu menggunakan script ini kamu tidak perlu lagi menggunakan # script Ibegu Equip Plus Attribute #------------------------------------------------------------------------------- module IBEGU #=============================================================================== # Configuration #=============================================================================== LIMIT_HP = 99999 LIMIT_MP = 99999 LIMIT_ATT = 9999 # Limit attribute (atk,def,spi,agi,str,vit,int,dex) HIT_RATE = "Hit Rate" # Vocab Hit Rate HIT = "HIT" # Abbrevation(Singkatan) EVASION = "Evasion" # Vocab Evation EVA = "EVA" # Abbv CRITICAL = "Critical" # Vocab Critical CRI = "CRI" # Abbv module ATT #=============================================================================== # Attribute (Default) #=============================================================================== # A | B | C | D #------------------------------------------------------------------------------- ATT_DEFAULT = [["STR","Strength" ,15 ,1.25], ["VIT","Vitality" ,15 ,1.25], ["INT","Intelligence",15 ,1.25], ["DEX","Dexterity" ,15 ,1.25] ] #------------------------------------------------------------------------------- # A : Abbrevation # B : Vocab # C : Basic Attribute # D : Multiply (setiap naik level akan dikali dengan nominal D) #=============================================================================== # Parameter Calculation (Default) #=============================================================================== # STR | VIT | INT | DEX #------------------------------------------------------------------------------- PARAM_CALC_DEFAULT = [[3 , 19 , 0 , 0], # Maximum HP [0 , 3 , 0 , 9], # Maximum MP [2.3 , 0.2 , 0.5 , 0], # Attack [0.3 , 2.3 , 0 , 0.2], # Defense [ 0 , 0 , 2.3 , 0], # Spirit [ 0 , 0 , 0 , 2.3] # Agility ] #------------------------------------------------------------------------------- # Horizontal : attribute yang mempengaruhi # Vertikal : attribute yang dipengaruhi # # penjelasan : # coba lihat di baris maximum HP disitu ada array [3 , 19 , 0 , 0] # artinya adalah 1 point STR akan menambah 3 maxhp, 1 point VIT akan menambah # 19 maxhp, 1 point INT akan menambah 0 point maxhp, dst. #=============================================================================== # Konfigurasi per actor #=============================================================================== ATT_ACTOR = [] PARAM_CALC_ACTOR = [] #------------------------------------------------------------------------------- # Kamu bisa mengkonfigurasi tiap karakternya contoh : # # ATT_ACTOR[1] = [ ["STR","Strength" ,18 ,1.25], # ["VIT","Vitality" ,18 ,1.25], # ["INT","Intelligence",18 ,1.25], # ["DEX","Dexterity" ,18 ,1.25] # ] # # PARAM_CALC_ACTOR[1] =[[3 , 14 , 0 , 0], # Maximum H # [0 , 3 , 0 , 9], # Maximum MP # [2.8 , 0.1 , 0.9 , 0], # Attack # [0.3 , 1 , 0 , 0.2], # Defense # [ 0 , 0 , 2.3 , 0], # Spirit # [ 0 , 0 , 0 , 2.3] # Agility # ] # # Jika kamu membuat ATT_ACTOR kamu juga harus membuat PARAM_CALC_ACTOR juga. #=============================================================================== # Information #=============================================================================== # Script ini mengeset ulang : # RPG::Weapon, RPG::Armor, RPG::State, Game_Actor, Game_Battler, Window_Base dan # Window_Status #=============================================================================== # Attention!! #=============================================================================== # Dengan menggunakan Script ini beberapa panel di database tidak akan berfungsi # alias kalau kamu merubah sesuatu di beberapa panel tertentu tidak akan # merubah nilai apapun di game nanti, jadi kamu harus mengatur secara manual # dengan perintah di game ini. #=============================================================================== # Panel yang tidak akan berfungsi(di database) #=============================================================================== # Panel Weapons : Attack, Defense, Spirit, Agility dan Hit Ratio # Panel Armors : Attack, Defense, Spirit, Agility dan Evasion # Panel States : Attak %, Defense %, Spirit %, dan Agility % #=============================================================================== # Jika kamu tidak mengerti tentang script, jangan pernah mengotak - ngatik # dimulai dari bawah ini. #=============================================================================== end module EQUIP MAXHP = /<(?:MAXHP|maxhp)[ ]*([\-\+]\d+)>/i MAXHP_PER = /<(?:MAXHP PER|maxhp per)[ ]*([\-\+]\d+)>/i MAXMP = /<(?:MAXMP|maxmp)[ ]*([\-\+]\d+)>/i MAXMP_PER = /<(?:MAXMP PER|maxmp per)[ ]*([\-\+]\d+)>/i ATK = /<(?:ATK|atk)[ ]*([\-\+]\d+)>/i ATK_PER = /<(?:ATK PER|atk per)[ ]*([\-\+]\d+)>/i DEF = /<(?:DEF|def)[ ]*([\-\+]\d+)>/i DEF_PER = /<(?:DEF PER|def per)[ ]*([\-\+]\d+)>/i SPI = /<(?:SPI|spi)[ ]*([\-\+]\d+)>/i SPI_PER = /<(?:SPI PER|spi per)[ ]*([\-\+]\d+)>/i AGI = /<(?:AGI|agi)[ ]*([\-\+]\d+)>/i AGI_PER = /<(?:AGI PER|agi per)[ ]*([\-\+]\d+)>/i STR = /<(?:STR|str)[ ]*([\-\+]\d+)>/i STR_PER = /<(?:STR PER|str per)[ ]*([\-\+]\d+)>/i VIT = /<(?:VIT|vit)[ ]*([\-\+]\d+)>/i VIT_PER = /<(?:VIT PER|vit per)[ ]*([\-\+]\d+)>/i INT = /<(?:INT|int)[ ]*([\-\+]\d+)>/i INT_PER = /<(?:INT PER|int per)[ ]*([\-\+]\d+)>/i DEX = /<(?:DEX|dex)[ ]*([\-\+]\d+)>/i DEX_PER = /<(?:DEX PER|dex per)[ ]*([\-\+]\d+)>/i HIT = /<(?:HIT|hit)[ ]*([\-\+]\d+)>/i EVA = /<(?:EVA|eva)[ ]*([\-\+]\d+)>/i CRI = /<(?:CRI|cri)[ ]*([\-\+]\d+)>/i end end #=============================================================================== # RPG::Weapon #=============================================================================== class RPG::Weapon < RPG::BaseItem def ibegu_weapon_plus_cache @maxhp = 0 @maxhp_per = 0 @maxmp = 0 @maxmp_per = 0 @atk = 0 @atk_per = 0 @def = 0 @def_per = 0 @spi = 0 @spi_per = 0 @agi = 0 @agi_per = 0 @cri = 0 @hit = 95 @eva = 0 @str = 0 @str_per = 0 @vit = 0 @vit_per = 0 @int = 0 @int_per = 0 @dex = 0 @dex_per = 0 self.note.split(/[\r\n]+/).each { |line| case line when IBEGU::EQUIP::MAXHP @maxhp += $1.to_i when IBEGU::EQUIP::MAXHP_PER @maxhp_per += $1.to_i / 100 when IBEGU::EQUIP::MAXMP @maxmp += $1.to_i when IBEGU::EQUIP::MAXMP_PER @maxmp_per += $1.to_i / 100 when IBEGU::EQUIP::ATK @atk += $1.to_i when IBEGU::EQUIP::ATK_PER @atk_per += $1.to_i / 100 when IBEGU::EQUIP::DEF @def += $1.to_i when IBEGU::EQUIP::DEF_PER @def_per += $1.to_i / 100 when IBEGU::EQUIP::SPI @spi += $1.to_i when IBEGU::EQUIP::SPI_PER @spi_per += $1.to_i / 100 when IBEGU::EQUIP::AGI @agi += $1.to_i when IBEGU::EQUIP::AGI_PER @agi_per += $1.to_i / 100 when IBEGU::EQUIP::STR_PER @str_per += $1.to_i / 100 when IBEGU::EQUIP::VIT @vit += $1.to_i when IBEGU::EQUIP::VIT_PER @vit_per += $1.to_i / 100 when IBEGU::EQUIP::INT @int += $1.to_i when IBEGU::EQUIP::INT_PER @int_per += $1.to_i / 100 when IBEGU::EQUIP::DEX @dex += $1.to_i when IBEGU::EQUIP::DEX_PER @dex_per += $1.to_i / 100 end} end def maxhp ibegu_weapon_plus_cache if @maxhp == nil return @maxhp end def maxhp_per ibegu_weapon_plus_cache if @maxhp_per == nil return @maxhp_per end def maxmp ibegu_weapon_plus_cache if @maxmp == nil return @maxmp end def maxmp_per ibegu_weapon_plus_cache if @maxmp_per == nil return @maxmp_per end def atk ibegu_weapon_plus_cache if @atk == nil return @atk end def atk_per ibegu_weapon_plus_cache if @atk_per == nil return @atk_per end def def ibegu_weapon_plus_cache if @def == nil return @def end def def_per ibegu_weapon_plus_cache if @def_per == nil return @def_per end def spi ibegu_weapon_plus_cache if @spi == nil return @spi end def spi_per ibegu_weapon_plus_cache if @spi_per == nil return @spi_per end def agi ibegu_weapon_plus_cache if @agi == nil return @agi end def agi_per ibegu_weapon_plus_cache if @agi_per == nil return @agi_per end def str ibegu_weapon_plus_cache if @str == nil return @str end def str_per ibegu_weapon_plus_cache if @str_per == nil return @str_per end def vit ibegu_weapon_plus_cache if @vit == nil return @vit end def vit_per ibegu_weapon_plus_cache if @vit_per == nil return @vit_per end def int ibegu_weapon_plus_cache if @int == nil return @int end def int_per ibegu_weapon_plus_cache if @int_per == nil return @int_per end def dex ibegu_weapon_plus_cache if @dex == nil return @dex end def dex_per ibegu_weapon_plus_cache if @dex_per == nil return @dex_per end end #=============================================================================== # RPG::Armor #=============================================================================== class RPG::Armor < RPG::BaseItem def ibegu_armor_plus_cache @maxhp = 0 @maxhp_per = 0 @maxmp = 0 @maxmp_per = 0 @atk = 0 @atk_per = 0 @def = 0 @def_per = 0 @spi = 0 @spi_per = 0 @agi = 0 @agi_per = 0 @cri = 0 @hit = 0 @eva = 0 @str = 0 @str_per = 0 @vit = 0 @vit_per = 0 @int = 0 @int_per = 0 @dex = 0 @dex_per = 0 self.note.split(/[\r\n]+/).each { |line| case line when IBEGU::EQUIP::MAXHP @maxhp += $1.to_i when IBEGU::EQUIP::MAXHP_PER @maxhp_per += $1.to_i / 100 when IBEGU::EQUIP::MAXMP @maxmp += $1.to_i when IBEGU::EQUIP::MAXMP_PER @maxmp_per += $1.to_i / 100 when IBEGU::EQUIP::ATK @atk += $1.to_i when IBEGU::EQUIP::ATK_PER @atk_per += $1.to_i / 100 when IBEGU::EQUIP::DEF @def += $1.to_i when IBEGU::EQUIP::DEF_PER @def_per += $1.to_i / 100 when IBEGU::EQUIP::SPI @spi += $1.to_i when IBEGU::EQUIP::SPI_PER @spi_per += $1.to_i / 100 when IBEGU::EQUIP::AGI @agi += $1.to_i when IBEGU::EQUIP::AGI_PER @agi_per += $1.to_i / 100 when IBEGU::EQUIP::CRI @cri += $1.to_i when IBEGU::EQUIP::HIT @hit += $1.to_i when IBEGU::EQUIP::EVA @eva += $1.to_i when IBEGU::EQUIP::STR @str += $1.to_i when IBEGU::EQUIP::STR_PER @str_per += $1.to_i / 100 when IBEGU::EQUIP::VIT @vit += $1.to_i when IBEGU::EQUIP::VIT_PER @vit_per += $1.to_i / 100 when IBEGU::EQUIP::INT @int += $1.to_i when IBEGU::EQUIP::INT_PER @int_per += $1.to_i / 100 when IBEGU::EQUIP::DEX @dex += $1.to_i when IBEGU::EQUIP::DEX_PER @dex_per += $1.to_i / 100 end} end def maxhp ibegu_armor_plus_cache if @maxhp == nil return @maxhp end def maxhp_per ibegu_armor_plus_cache if @maxhp_per == nil return @maxhp_per end def maxmp ibegu_armor_plus_cache if @maxmp == nil return @maxmp end def maxmp_per ibegu_armor_plus_cache if @maxmp_per == nil return @maxmp_per end def atk ibegu_armor_plus_cache if @atk == nil return @atk end def atk_per ibegu_armor_plus_cache if @atk_per == nil return @atk_per end def def ibegu_armor_plus_cache if @def == nil return @def end def def_per ibegu_armor_plus_cache if @def_per == nil return @def_per end def spi ibegu_armor_plus_cache if @spi == nil return @spi end def spi_per ibegu_armor_plus_cache if @spi_per == nil return @spi_per end def agi ibegu_armor_plus_cache if @agi == nil return @agi end def agi_per ibegu_armor_plus_cache if @agi_per == nil return @agi_per end def cri ibegu_armor_plus_cache if @cri == nil return @cri end def hit ibegu_armor_plus_cache if @hit == nil return @hit end def eva ibegu_armor_plus_cache if @eva == nil return @eva end def str ibegu_armor_plus_cache if @str == nil return @str end def str_per ibegu_armor_plus_cache if @str_per == nil return @str_per end def vit ibegu_armor_plus_cache if @vit == nil return @vit end def vit_per ibegu_armor_plus_cache if @vit_per == nil return @vit_per end def int ibegu_armor_plus_cache if @int == nil return @int end def int_per ibegu_armor_plus_cache if @int_per == nil return @int_per end def dex ibegu_armor_plus_cache if @dex == nil return @dex end def dex_per ibegu_armor_plus_cache if @dex_per == nil return @dex_per end end #=============================================================================== # RPG::State #=============================================================================== class RPG::State def ibegu_state_plus_cache @atk = 0 @atk_per = 100 @def = 0 @def_per = 100 @spi = 0 @spi_per = 100 @agi = 0 @agi_per = 100 @str = 0 @str_per = 100 @vit = 0 @vit_per = 100 @int = 0 @int_per = 100 @dex = 0 @dex_per = 100 self.note.split(/[\r\n]+/).each { |line| case line when IBEGU::EQUIP::ATK @atk += $1.to_i when IBEGU::EQUIP::ATK_PER @atk_per += $1.to_i when IBEGU::EQUIP::DEF @def += $1.to_i when IBEGU::EQUIP::DEF_PER @def_per += $1.to_i when IBEGU::EQUIP::SPI @spi += $1.to_i when IBEGU::EQUIP::SPI_PER @spi_per += $1.to_i when IBEGU::EQUIP::AGI @agi += $1.to_i when IBEGU::EQUIP::AGI_PER @agi_per += $1.to_i when IBEGU::EQUIP::STR @str += $1.to_i when IBEGU::EQUIP::STR_PER @str_per += $1.to_i when IBEGU::EQUIP::VIT @vit += $1.to_i when IBEGU::EQUIP::VIT_PER @vit_per += $1.to_i when IBEGU::EQUIP::INT @int += $1.to_i when IBEGU::EQUIP::INT_PER @int_per += $1.to_i when IBEGU::EQUIP::DEX @dex += $1.to_i when IBEGU::EQUIP::DEX_PER @dex_per += $1.to_i end} end def atk_rate ibegu_state_plus_cache if @atk == nil return @atk end def atk_per_rate ibegu_state_plus_cache if @atk_per == nil return @atk_per end def def_rate ibegu_state_plus_cache if @def == nil return @def end def def_per_rate ibegu_state_plus_cache if @def_per == nil return @def_per end def spi_rate ibegu_state_plus_cache if @spi == nil return @spi end def spi_per_rate ibegu_state_plus_cache if @spi_per == nil return @spi_per end def agi_rate ibegu_state_plus_cache if @agi == nil return @agi end def agi_per_rate ibegu_state_plus_cache if @agi_per == nil return @agi_per end def str_rate ibegu_state_plus_cache if @str == nil return @str end def str_per_rate ibegu_state_plus_cache if @str_per == nil return @str_per end def vit_rate ibegu_state_plus_cache if @vit == nil return @vit end def vit_per_rate ibegu_state_plus_cache if @vit_per == nil return @vit_per end def int_rate ibegu_state_plus_cache if @int == nil return @int end def int_per_rate ibegu_state_plus_cache if @int_per == nil return @int_per end def dex_rate ibegu_state_plus_cache if @dex == nil return @dex end def dex_per_rate ibegu_state_plus_cache if @dex_per == nil return @dex_per end end #=============================================================================== # Game_Actor #=============================================================================== class Game_Actor < Game_Battler def maxhp_limit return IBEGU::LIMIT_HP end def base_str if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil n = IBEGU::ATT::ATT_ACTOR[actor.id][0][2] + IBEGU::ATT::ATT_ACTOR[actor.id][0][3] * @level else n = IBEGU::ATT::ATT_DEFAULT[0][2] + IBEGU::ATT::ATT_DEFAULT[0][3] * @level end for item in equips.compact do n += item.str end for item in equips.compact do n += n * item.str_per end return n end def base_vit if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil n = IBEGU::ATT::ATT_ACTOR[actor.id][1][2] + IBEGU::ATT::ATT_ACTOR[actor.id][1][3] * @level else n = IBEGU::ATT::ATT_DEFAULT[1][2] + IBEGU::ATT::ATT_DEFAULT[1][3] * @level end for item in equips.compact do n += item.vit end for item in equips.compact do n += n * item.vit_per end return n end def base_int if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil n = IBEGU::ATT::ATT_ACTOR[actor.id][2][2] + IBEGU::ATT::ATT_ACTOR[actor.id][2][3] * @level else n = IBEGU::ATT::ATT_DEFAULT[2][2] + IBEGU::ATT::ATT_DEFAULT[2][3] * @level end for item in equips.compact do n += item.int end for item in equips.compact do n += n * item.int_per end return n end def base_dex if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil n = IBEGU::ATT::ATT_ACTOR[actor.id][3][2] + IBEGU::ATT::ATT_ACTOR[actor.id][3][3] * @level else n = IBEGU::ATT::ATT_DEFAULT[3][2] + IBEGU::ATT::ATT_DEFAULT[3][3] * @level end for item in equips.compact do n += item.dex end for item in equips.compact do n += n * item.dex_per end return n end def maxhp_add if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] @maxhp_add = @calc_actor[0][0] * base_str + @calc_actor[0][1] * base_vit + @calc_actor[0][2] * base_int + @calc_actor[0][3] * base_dex else @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT @maxhp_add = @calc_actor[0][0] * base_str + @calc_actor[0][1] * base_vit + @calc_actor[0][2] * base_int + @calc_actor[0][3] * base_dex end end def maxmp_add if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] @maxmp_add = @calc_actor[1][0] * base_str + @calc_actor[1][1] * base_vit + @calc_actor[1][2] * base_int + @calc_actor[1][3] * base_dex else @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT @maxmp_add = @calc_actor[1][0] * base_str + @calc_actor[1][1] * base_vit + @calc_actor[1][2] * base_int + @calc_actor[1][3] * base_dex end end def atk_add if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] @atk_add = @calc_actor[2][0] * base_str + @calc_actor[2][1] * base_vit + @calc_actor[2][2] * base_int + @calc_actor[2][3] * base_dex else @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT @atk_add = @calc_actor[2][0] * base_str + @calc_actor[2][1] * base_vit + @calc_actor[2][2] * base_int + @calc_actor[2][3] * base_dex end end def def_add if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] @def_add = @calc_actor[3][0] * base_str + @calc_actor[3][1] * base_vit + @calc_actor[3][2] * base_int + @calc_actor[3][3] * base_dex else @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT @def_add = @calc_actor[3][0] * base_str + @calc_actor[3][1] * base_vit + @calc_actor[3][2] * base_int + @calc_actor[3][3] * base_dex end end def spi_add if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] @spi_add = @calc_actor[4][0] * base_str + @calc_actor[4][1] * base_vit + @calc_actor[4][2] * base_int + @calc_actor[4][3] * base_dex else @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT @spi_add = @calc_actor[4][0] * base_str + @calc_actor[4][1] * base_vit + @calc_actor[4][2] * base_int + @calc_actor[4][3] * base_dex end end def agi_add if IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] != nil @calc_actor = IBEGU::ATT::PARAM_CALC_ACTOR[actor.id] @agi_add = @calc_actor[5][0] * base_str + @calc_actor[5][1] * base_vit + @calc_actor[5][2] * base_int + @calc_actor[5][3] * base_dex else @calc_actor = IBEGU::ATT::PARAM_CALC_DEFAULT @agi_add = @calc_actor[5][0] * base_str + @calc_actor[5][1] * base_vit + @calc_actor[5][2] * base_int + @calc_actor[5][3] * base_dex end end alias ibegu_maxhp_limit maxhp_limit def maxhp_limit ibegu_maxhp_limit return IBEGU::LIMIT_HP end alias ibegu_base_maxhp base_maxhp def base_maxhp ibegu_base_maxhp n = Integer(actor.parameters[0, @level] + maxhp_add) for item in equips.compact do n += item.maxhp end for item in equips.compact do n += n *item.maxhp_per end return n end alias ibegu_base_maxmp base_maxmp def base_maxmp ibegu_base_maxmp n = Integer(actor.parameters[1, @level] + maxmp_add) for item in equips.compact do n += item.maxmp end for item in equips.compact do n += n *item.maxmp_per end return n end def base_atk n = actor.parameters[2, @level] n += atk_add for item in equips.compact do n += item.atk end for item in equips.compact do n += n * item.atk_per end return n end def base_def n = actor.parameters[3, @level] n += def_add for item in equips.compact do n += item.def end for item in equips.compact do n += n * item.def_per end return n end def base_spi n = actor.parameters[4, @level] n += spi_add for item in equips.compact do n += item.spi end for item in equips.compact do n += n * item.spi_per end return n end def base_agi n = actor.parameters[5, @level] n += spi_add for item in equips.compact do n += item.agi end for item in equips.compact do n += n * item.agi_per end return n end end #=============================================================================== # Game_Battler #=============================================================================== class Game_Battler alias ibegu_cev clear_extra_values def clear_extra_values ibegu_cev @str_plus = 0 @vit_plus = 0 @dex_plus = 0 @int_plus = 0 end def maxmp return [[base_maxmp + @maxmp_plus, 0].max, IBEGU::LIMIT_MP].min end def atk n = [[base_atk + @atk_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.atk_rate end for state in states do n *= state.atk_per_rate / 100.0 end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end def def n = [[base_def + @def_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.def_rate end for state in states do n *= state.def_per_rate / 100.0 end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end def spi n = [[base_spi + @spi_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.spi_rate end for state in states do n *= state.spi_per_rate / 100.0 end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end def agi n = [[base_agi + @agi_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.agi_rate end for state in states do n *= state.agi_per_rate / 100.0 end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end def str n = [[base_str + @str_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.str_rate end for state in states do n *= state.str_per_rate end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end def vit n = [[base_vit + @vit_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.vit_rate end for state in states do n *= state.vit_per_rate / 100.0 end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end
def int n = [[base_int + @int_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.int_rate end for state in states do n *= state.int_per_rate / 100.0 end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end
def dex n = [[base_dex + @dex_plus, 1].max, IBEGU::LIMIT_ATT].min for state in states do n -= state.dex_rate end for state in states do n *= state.dex_per_rate / 100.0 end n = [[Integer(n), 1].max, IBEGU::LIMIT_ATT].min return n end def maxhp=(new_maxhp) @maxhp_plus += new_maxhp - self.maxhp @maxhp_plus = [[@maxhp_plus, -IBEGU::LIMIT_HP].max, IBEGU::LIMIT_HP].min @hp = [@hp, self.maxhp].min end def maxmp=(new_maxmp) @maxmp_plus += new_maxmp - self.maxmp @maxmp_plus = [[@maxmp_plus, -IBEGU::LIMIT_MP].max, IBEGU::LIMIT_MP].min @mp = [@mp, self.maxmp].min end def atk=(new_atk) @atk_plus += new_atk - self.atk @atk_plus = [[@atk_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end def def=(new_def) @def_plus += new_def - self.def @def_plus = [[@def_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end def spi=(new_spi) @spi_plus += new_spi - self.spi @spi_plus = [[@spi_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end def agi=(new_agi) @agi_plus += new_agi - self.agi @agi_plus = [[@agi_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end def str=(new_str) @str_plus += new_str - self.str @str_plus = [[@str_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end def vit=(new_vit) @vit_plus += new_vit - self.vit @vit_plus = [[@vit_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end
def int=(new_int) @int_plus += new_int - self.int @int_plus = [[@int_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end def dex=(new_dex) @dex_plus += new_dex - self.dex @dex_plus = [[@dex_plus, -IBEGU::LIMIT_ATT].max, IBEGU::LIMIT_ATT].min end end #=============================================================================== # Window_Base #=============================================================================== class Window_Base < Window def draw_actor_parameter(actor, x, y, type) case type when 0 parameter_name = Vocab::atk parameter_value = actor.atk when 1 parameter_name = Vocab::def parameter_value = actor.def when 2 parameter_name = Vocab::spi parameter_value = actor.spi when 3 parameter_name = Vocab::agi parameter_value = actor.agi when 4 parameter_name = IBEGU::ATT::ATT_DEFAULT[0][0] parameter_value = actor.str when 5 parameter_name = IBEGU::ATT::ATT_DEFAULT[1][0] parameter_value = actor.vit when 6 parameter_name = IBEGU::ATT::ATT_DEFAULT[2][0] parameter_value = actor.int when 7 parameter_name = IBEGU::ATT::ATT_DEFAULT[3][0] parameter_value = actor.dex when 8 parameter_name = IBEGU::HIT parameter_value = actor.hit when 9 parameter_name = IBEGU::EVA parameter_value = actor.eva when 10 parameter_name = IBEGU::CRI parameter_value = actor.cri end self.contents.font.color = system_color self.contents.draw_text(x, y, 120, WLH, parameter_name) self.contents.font.color = normal_color self.contents.draw_text(x + 60, y, 36, WLH, parameter_value, 2) end end #=============================================================================== # Window_Status #=============================================================================== class Window_Status < Window_Base def refresh self.contents.clear draw_actor_name(@actor, 4, 0) draw_actor_class(@actor, 128, 0) draw_actor_face(@actor, 8, 32) draw_basic_info(128, 32) draw_parameters(8, 160) draw_exp_info(288, 32) draw_equipments(288, 160) end def draw_parameters(x, y) draw_actor_parameter(@actor, x, y + WLH * 0, 0) draw_actor_parameter(@actor, x, y + WLH * 1, 1) draw_actor_parameter(@actor, x, y + WLH * 2, 2) draw_actor_parameter(@actor, x, y + WLH * 3, 3) draw_actor_parameter(@actor, x + 128, y + WLH * 0, 4) draw_actor_parameter(@actor, x + 128, y + WLH * 1, 5) draw_actor_parameter(@actor, x + 128, y + WLH * 2, 6) draw_actor_parameter(@actor, x + 128, y + WLH * 3, 7) draw_actor_parameter(@actor, x + 64, y + WLH * 5, 8) draw_actor_parameter(@actor, x + 64, y + WLH * 6, 9) draw_actor_parameter(@actor, x + 64, y + WLH * 7, 10) end end #=============================================================================== # END OF FILE #=============================================================================== CreditsIbegu | |
|