Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

Weapon and Armors : Class Bonus Boost.

Hello, Im I again, with my annoys requests, this time I come with a difficulty request, for me..':|



WaA Class bonus boost Script.

Introduction

This script make possible the gain of a Bonus if you have a Weapon or an Armor equipped and if you are a Determinated Class.

You can Gain a Bonus to the follow stats: Attack, Defense, dexterity, strenght, agility, physic defense, Magic defense, Intelligency...is say, all the possibly stats.

For example:

The Fighter-s class, will gain a bonus of 2 to the Attk stat, only if have the Weapon BRONZE SWORD.

and all can be customizable in a module, for example:

Code:
module Bonusxxxx

Weaponbonuses = { CLASS => {WEAPONID => {STAT => BONUS}}

For the Example:

Code:
module Bonusxxxx

Weaponbonuses = { 1 => {1 => {'atk' => 2}}

PD: Its only a stupid code example, but that will be great for me :).

And obviusly you can create negative bonuses, for example a mage that use a Bronze sword, the mage obtain a -4 of Agility like bonus.
====

Well, I think this is all to say, another thing in the possible...in the must... I think this need to be compatible with the SDK 2.x.

Sephirothspawn have a script that will make more easy the stat bonuses, that you Scripters can use for this request, I think.

Thanks for read.

Code:
#==============================================================================
# ** Stat Bonus Base
#------------------------------------------------------------------------------
# SephirothSpawn
# Version 1
# 2007-01-26
# SDK : Version 2.0+, Part I
#------------------------------------------------------------------------------
# * Version History :
#
#   Version 1 ---------------------------------------------------- (2007-01-26)
#------------------------------------------------------------------------------
# * Description :
#
#   This script was designed to create methods for adding direct and percent
#   modifications to the actors stats. This is a tool for scripters. The basic
#   stat formula is as follows :
#
#   stat = (base_stat + direct_mod) * percent mod
#------------------------------------------------------------------------------
# * Instructions :
#
#   Place The Script Below the SDK and Above Main.
#   To learn to use the system, refer to syntax.
#------------------------------------------------------------------------------
# * Syntax :
#
#   The following stats can recieve a bonus :
#    - maxhp, maxsp, str, dex, agi, int, atk, mdef, pdef, eva, hit
#
#   Basic Outline to using methods :
#
#    alias_method :<yourname>_<scriptname>_statmod_<statname>, :<statmethod>
#    def <statmethod>
#      n = <yourname>_<scriptname>_statmod_<statname>
#      n += (your formula for adding bonuses here)
#      return n
#    end
#
#   Direct Bonus Methods :
#    - direct_maxhp_bonus  - direct_str_bonus   - direct_agi_bonus
#    - direct_maxsp_bonus  - direct_dex_bonus   - direct_int_bonus
#    - direct_atk_bonus    - direct_pdef_bonus  - direct_mdef_bonus
#    - direct_eva_bonus    - direct_hit_bonus
#
#   Percent Bonus Methds :
#    - percent_maxhp_bonus  - percent_str_bonus   - percent_agi_bonus
#    - percent_maxsp_bonus  - percent_dex_bonus   - percent_int_bonus
#    - percent_atk_bonus    - percent_pdef_bonus  - percent_mdef_bonus
#    - percent_eva_bonus    - percent_hit_bonus
#
#   All methods are located in Game_Actor
#
#   ** Example : Adding 5 Points to maxhp for actor 5
#
#   class Game_Actor < Game_Battler
#     alias_method :seph_example_statmod_dhpb, :direct_maxhp_bonus
#     def direct_maxhp_bonus
#       n = seph_example_statmod_dhpb
#       n += 5 if @actor_id == 5
#       return n
#     end
#   end
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Stat Bonus Base', 'SephirothSpawn', 1, '2007-01-26')
SDK.check_requirements(2.0)

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.enabled?('Stat Bonus Base')
  
#==============================================================================
# ** Game_Actor
#==============================================================================

class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias_method :seph_statbonusbase_bmaxhp, :base_maxhp
  alias_method :seph_statbonusbase_bmaxsp, :base_maxsp
  alias_method :seph_statbonusbase_bstr,   :base_str
  alias_method :seph_statbonusbase_bdex,   :base_dex
  alias_method :seph_statbonusbase_bagi,   :base_agi
  alias_method :seph_statbonusbase_bint,   :base_int
  alias_method :seph_statbonusbase_batk,   :base_atk
  alias_method :seph_statbonusbase_bpdef,  :base_pdef
  alias_method :seph_statbonusbase_bmdef,  :base_mdef
  alias_method :seph_statbonusbase_beva,   :base_eva
  alias_method :seph_statbonusbase_hit,    :hit
  #--------------------------------------------------------------------------
  # * Get Maximum HP
  #--------------------------------------------------------------------------
  def base_maxhp
    # Gets Orginal Value
    n = seph_statbonusbase_bmaxhp
    # Adds Direct Stat Bonus
    n += direct_maxhp_bonus
    # Adds Percent Stat Bonus
    n *= (percent_maxhp_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_maxhp_bonus  ; return 0 ; end
  def percent_maxhp_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Maximum SP
  #--------------------------------------------------------------------------
  def base_maxsp
    # Gets Orginal Value
    n = seph_statbonusbase_bmaxsp
    # Adds Direct Stat Bonus
    n += direct_maxsp_bonus
    # Adds Percent Stat Bonus
    n *= (percent_maxsp_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_maxsp_bonus  ; return 0 ; end
  def percent_maxsp_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Strength
  #--------------------------------------------------------------------------
  def base_str
    # Gets Orginal Value
    n = seph_statbonusbase_bstr
    # Adds Direct Stat Bonus
    n += direct_str_bonus
    # Adds Percent Stat Bonus
    n *= (percent_str_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_str_bonus  ; return 0 ; end
  def percent_str_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Dexterity
  #--------------------------------------------------------------------------
  def base_dex
    # Gets Orginal Value
    n = seph_statbonusbase_bdex
    # Adds Direct Stat Bonus
    n += direct_dex_bonus
    # Adds Percent Stat Bonus
    n *= (percent_dex_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_dex_bonus  ; return 0 ; end
  def percent_dex_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Basic Agility
  #--------------------------------------------------------------------------
  def base_agi
    # Gets Orginal Value
    n = seph_statbonusbase_bagi
    # Adds Direct Stat Bonus
    n += direct_agi_bonus
    # Adds Percent Stat Bonus
    n *= (percent_agi_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_agi_bonus  ; return 0 ; end
  def percent_agi_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Basic Intelligence
  #--------------------------------------------------------------------------
  def base_int
    # Gets Orginal Value
    n = seph_statbonusbase_bint
    # Adds Direct Stat Bonus
    n += direct_int_bonus
    # Adds Percent Stat Bonus
    n *= (percent_int_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_int_bonus  ; return 0 ; end
  def percent_int_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Basic Attack Power
  #--------------------------------------------------------------------------
  def base_atk
    # Gets Orginal Value
    n = seph_statbonusbase_batk
    # Adds Direct Stat Bonus
    n += direct_atk_bonus
    # Adds Percent Stat Bonus
    n *= (percent_atk_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_atk_bonus  ; return 0 ; end
  def percent_atk_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Basic Physical Defense
  #--------------------------------------------------------------------------
  def base_pdef
    # Gets Orginal Value
    n = seph_statbonusbase_bpdef
    # Adds Direct Stat Bonus
    n += direct_pdef_bonus
    # Adds Percent Stat Bonus
    n *= (percent_pdef_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_pdef_bonus  ; return 0 ; end
  def percent_pdef_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Basic Magic Defense
  #--------------------------------------------------------------------------
  def base_mdef
    # Gets Orginal Value
    n = seph_statbonusbase_bmdef
    # Adds Direct Stat Bonus
    n += direct_mdef_bonus
    # Adds Percent Stat Bonus
    n *= (percent_mdef_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_mdef_bonus  ; return 0 ; end
  def percent_mdef_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Basic Evasion Correction
  #--------------------------------------------------------------------------
  def base_eva
    # Gets Orginal Value
    n = seph_statbonusbase_beva
    # Adds Direct Stat Bonus
    n += direct_eva_bonus
    # Adds Percent Stat Bonus
    n *= (percent_eva_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_eva_bonus  ; return 0 ; end
  def percent_eva_bonus ; return 0 ; end
  #--------------------------------------------------------------------------
  # * Get Hit
  #--------------------------------------------------------------------------
  def hit
    # Gets Orginal Value
    n = seph_statbonusbase_hit
    # Adds Direct Stat Bonus
    n += direct_hit_bonus
    # Adds Percent Stat Bonus
    n *= (percent_hit_bonus + 100) / 100.0
    # Returns Stat
    return n
  end
  def direct_hit_bonus  ; return 0 ; end
  def percent_hit_bonus ; return 0 ; end
end

#--------------------------------------------------------------------------
# * End SDK Enable Test
#--------------------------------------------------------------------------
end
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top