Classic RPG Stats?

● ARCHIVED · READ-ONLY
Started by privateshorty 9 posts View original ↗
  1. Hey all, I was wondering since I couldn't really find this anywhere, is there a way to change the stats to the "classic" RPG stats? I'm talking pen and paper classic, STR DEX CON INT WIS CHA. The only problem I have is that there is no way to change the 8 base stats the software comes with. I'd rather have STR to dictate melee damage and skills, but I have many classes, so I want to be able to make other classes use CON for their melee or even after a certain point combine the two. Is something like that possible? If not I can just stick with the the base stats, but that doesn't lead to as many interesting class options other than different skills.
  2. Go to the database, then terms, you can change the stats under parameters. Though making some of them act different (meaning you could change LUK to CHA but it wuld still act like LUK in battle) I'm not sure about, I have never tried, may require a script.

    Using different stats for attacks for different classes should be doable, just need to change the formula in the skill tab of the database. Edit: Though it comes to mind that I don't know off the top of my head how to have different classes use different standard attack formulas, and I don;t have time to try right now.

    If you haven't gone through them already, these tutorials are very helpful (http://www.rpgmakerweb.com/support/products/tutorials), and you can find other in the forums.
  3. I understand that, I think what I'm looking for is a script. I want basic attacks to use different stats dependent on class. So Warrior uses STR for hit chance, but Rogue uses DEX. I worded it incredibly poorly, but what I'm looking for is being able to have stats effect basic attacks, not just skills. I'm not sure if it's possible though.
  4. each skill has its own damage formula, and that can be edited in any way you want.


    However, that damage formula will stand no matter who uses the skill, so you'll have to make different skills for the different classes if you want them to use different stats.


    If you want to have the actors class dependent different attack skills, you'll need a script - I think yanfly has one for that.
  5. Yup, Weapon_Attack_Replace. (Despite the name, can be used by others beside weapons)

    Spoiler
    Code:
    #==============================================================================# # ▼ Yanfly Engine Ace - Weapon Attack Replace v1.01# -- Last Updated: 2011.12.19# -- Level: Normal# -- Requires: n/a# #==============================================================================$imported = {} if $imported.nil?$imported["YEA-WeaponAttackReplace"] = true#==============================================================================# ▼ Updates# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# 2011.12.19 - Added notetags for Actors, and Classes.# 2011.12.17 - Started Script and Finished.# #==============================================================================# ▼ Introduction# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# By default, RPG Maker VX Ace sets all normal attacks to call upon Skill #1# to do all of the basic attack functions. While this is a great idea, it also# meant that all weapons would share the same basic attack damage formula and# effects. With this script, you can set different weapon types to use any# skill for its basic attack.# #==============================================================================# ▼ Instructions# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# To install this script, open up your script editor and copy/paste this script# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.# # -----------------------------------------------------------------------------# Actor Notetags - These notetags go in the actors notebox in the database.# -----------------------------------------------------------------------------# <attack skill: x># This sets the actor's default attack (if no weapon is equipped) to be x. The# actor's custom attack skill will take priority over a class's custom attack# skill, which will take priority over the default attack skill (skill #1).# # -----------------------------------------------------------------------------# Class Notetags - These notetags go in the class notebox in the database.# -----------------------------------------------------------------------------# <attack skill: x># This sets the class's default attack (if no weapon is equipped) to be x. An# actor's custom attack skill will take priority over the class's custom attack# skill, which will take priority over the default attack skill (skill #1).# # -----------------------------------------------------------------------------# Weapon Notetags - These notetags go in the weapons notebox in the database.# -----------------------------------------------------------------------------# <attack skill: x># This sets the worn weapon's attack skill to x. Note that if an actor is dual# wielding, the attack skill of the first weapon will take priority over the# second weapon.# #==============================================================================# ▼ Compatibility# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that# it will run with RPG Maker VX without adjusting.# # For maximum compatibility with YEA - Ace Battle Engine, place this script# below Ace Battle Engine in the script listing.# #==============================================================================module YEA  module WEAPON_ATTACK_REPLACE        #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    # - Basic Settings -    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    # If for whatever reason, you wish to change the default attack skill to    # something other than one, change the constant below.    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-    DEFAULT_ATTACK_SKILL_ID = 1      end # WEAPON_ATTACK_REPLACEend # YEA#==============================================================================# ▼ Editting anything past this point may potentially result in causing# computer damage, incontinence, explosion of user's head, coma, death, and/or# halitosis so edit at your own risk.#==============================================================================module YEA  module REGEXP  module BASEITEM        ATTACK_SKILL = /<(?:ATTACK_SKILL|attack skill):[ ](\d+)>/i      end # BASEITEM  module WEAPON        ATTACK_SKILL = /<(?:ATTACK_SKILL|attack skill):[ ](\d+)>/i      end # WEAPON  end # REGEXPend # YEA#==============================================================================# ■ DataManager#==============================================================================module DataManager    #--------------------------------------------------------------------------  # alias method: load_database  #--------------------------------------------------------------------------  class <<self; alias load_database_war load_database; end  def self.load_database    load_database_war    load_notetags_war  end    #--------------------------------------------------------------------------  # new method: load_notetags_war  #--------------------------------------------------------------------------  def self.load_notetags_war    groups = [$data_actors, $data_classes, $data_weapons]    for group in groups      for obj in group        next if obj.nil?        obj.load_notetags_war      end    end  end  end # DataManager#==============================================================================# ■ RPG::BaseItem#==============================================================================class RPG::BaseItem    #--------------------------------------------------------------------------  # public instance variables  #--------------------------------------------------------------------------  attr_accessor :attack_skill    #--------------------------------------------------------------------------  # common cache: load_notetags_war  #--------------------------------------------------------------------------  def load_notetags_war    @attack_skill = nil    #---    self.note.split(/[\r\n]+/).each { |line|      case line      #---      when YEA::REGEXP::BASEITEM::ATTACK_SKILL        @attack_skill = $1.to_i      #---      end    } # self.note.split    #---    return if self.is_a?(RPG::Actor)    return unless @attack_skill.nil?    @attack_skill = YEA::WEAPON_ATTACK_REPLACE::DEFAULT_ATTACK_SKILL_ID  end  end # RPG::BaseItem#==============================================================================# ■ RPG::Weapon#==============================================================================class RPG::Weapon < RPG::EquipItem    #--------------------------------------------------------------------------  # public instance variables  #--------------------------------------------------------------------------  attr_accessor :attack_skill    #--------------------------------------------------------------------------  # common cache: load_notetags_war  #--------------------------------------------------------------------------  def load_notetags_war    @attack_skill = YEA::WEAPON_ATTACK_REPLACE::DEFAULT_ATTACK_SKILL_ID    #---    self.note.split(/[\r\n]+/).each { |line|      case line      #---      when YEA::REGEXP::WEAPON::ATTACK_SKILL        @attack_skill = $1.to_i      #---      end    } # self.note.split    #---  end  end # RPG::Weapon#==============================================================================# ■ Game_BattlerBase#==============================================================================class Game_BattlerBase    #--------------------------------------------------------------------------  # overwrite method: attack_skill_id  #--------------------------------------------------------------------------  def attack_skill_id    return weapon_attack_skill_id if actor?    return YEA::WEAPON_ATTACK_REPLACE::DEFAULT_ATTACK_SKILL_ID  end  end # Game_BattlerBase#==============================================================================# ■ Game_Actor#==============================================================================class Game_Actor < Game_Battler    #--------------------------------------------------------------------------  # new method: weapon_attack_skill_id  #--------------------------------------------------------------------------  def weapon_attack_skill_id    for weapon in weapons      next if weapon.nil?      return weapon.attack_skill    end    return self.actor.attack_skill unless self.actor.attack_skill.nil?    return self.class.attack_skill  end  end # Game_Actor#==============================================================================# ■ Scene_Battle#==============================================================================class Scene_Battle < Scene_Base    #--------------------------------------------------------------------------  # new method: command_use_skill  #--------------------------------------------------------------------------  def command_attack    @skill = $data_skills[BattleManager.actor.attack_skill_id]    BattleManager.actor.input.set_skill(@skill.id)    if $imported["YEA-BattleEngine"]      status_redraw_target(BattleManager.actor)      $game_temp.battle_aid = @skill      if @skill.for_opponent?        select_enemy_selection      elsif @skill.for_friend?        select_actor_selection      else        next_command        $game_temp.battle_aid = nil      end    else      if !@skill.need_selection?        next_command      elsif @skill.for_opponent?        select_enemy_selection      else        select_actor_selection      end    end  end    #--------------------------------------------------------------------------  # alias method: on_actor_cancel  #--------------------------------------------------------------------------  alias scene_battle_on_actor_cancel_war on_actor_cancel  def on_actor_cancel    scene_battle_on_actor_cancel_war    case @actor_command_window.current_symbol    when :attack      @help_window.hide      @status_window.show      @actor_command_window.activate      status_redraw_target(BattleManager.actor)    end  end    #--------------------------------------------------------------------------  # alias method: on_enemy_cancel  #--------------------------------------------------------------------------  alias scene_battle_on_enemy_cancel_war on_enemy_cancel  def on_enemy_cancel    scene_battle_on_enemy_cancel_war    case @actor_command_window.current_symbol    when :attack      @help_window.hide      @status_window.show      @actor_command_window.activate      status_redraw_target(BattleManager.actor)    end  end    #--------------------------------------------------------------------------  # new method: status_redraw_target  #--------------------------------------------------------------------------  def status_redraw_target(target)    return unless target.actor?    @status_window.draw_item($game_party.battle_members.index(target))  end  end # Scene_Battle#==============================================================================# # ▼ End of File# #============================================================================== 
  6. yea, you just need to replace each actors default attack skill with one that uses the desired stat within the formula.
  7. Thanks Waterguy, that script will do what I need, not the way I imagined doing it, but it works!
  8. So with this script one could, let's say, leave the "attack" skill (#1) where it is, but then this script would call upon the equipped weapon's base damage instead?

    So if I had a mage and wanted their attacks with a staff to be weak, I could institute this and just edit the formula on the staff... and not need to have a different attack skill for each class?
  9. You mark the actor/class for unarmed damage and the weapon for specific damage, using a skill's formula (and in the case of unnarmed damage, animation).