Main Menu
  • Welcome to The RPG Maker Resource Kit.

[Request] Element ranks A-Z for monsters

Started by kawagiri, May 31, 2011, 06:37:38 PM

0 Members and 1 Guest are viewing this topic.

kawagiri

Enemy Elements
31st may 2011




Summary
I need another rank inserted to use 1-5 stars as damage rating, aswell as having no effect and absorbtion symbols. I'm sick and tired of trying to get Yanfly's ElementAffinity to work for monsters.  I simply need a script which can forcefully overwrite a monsters element in the notebox. ranks would go Z,A,B,C,D,E,F. to cut the script much shorter a Z rank would be all that's needed and the ability to change the damage modifier. (must be compatible with Yanfly's Bestiary and show up as Z rank there)

Features Desired

  • Z Rank
  • ability to modify damage percentage
  • compatible with YERD_BestiaryScan only
  • not done via states

What other scripts are you using?

[spoiler]
YEM Core fixes and Upgrades (was inserted to try and fix as the engine)
KGC_DayNight
Thomas_Edison_VX
YERD_StatusResistFix
YERD_DmgFormula
YERD_ElementAffinity
YERD_BestiaryScan
ModAlgebra's Flash Selected Enemy
YERD_VictoryAftermath
YERD_VictoryExtend
MALG_yerdAftermathFix
YERD_CommonEventShop
Shanghai's break max stats
ModAlgebra's Skill Teaching Equipment & Items
Jens009's Enemy Hp Window
Shanghai Simple Script - Vampiric Weapons
ModAlgebra's Integrated Reserve Party
Additional Drops Note Tags by Deriru
skill deletion script (bespoke)
[spoiler]#==============================================================================
# ** RPG::Skill Module
#------------------------------------------------------------------------------
# This module handles skill information.
#==============================================================================

module RPG
  class Skill < UsableItem
    #--------------------------------------------------------------------------
    # * Check if a skill cannot be removed
    #--------------------------------------------------------------------------           
    def unremovable?     
      return self.note.include?("UNREMOVABLE")
    end       
    #--------------------------------------------------------------------------
    # * Make array of actors that can remove skills
    #--------------------------------------------------------------------------           
    def removable_by?
      self.note[/REMOVABLE_BY: (.*)/]               
      # Return false if match is nil or collected array of ID's
      return $1 == nil ? false : $1.split.collect! {|id| id.to_i}       
    end       
  end     
end

#==============================================================================
# ** Scene_Skill
#------------------------------------------------------------------------------
#  This class performs the skill screen processing.
#==============================================================================

class Scene_Skill < Scene_Base
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    create_menu_background
    @actor = $game_party.members[@actor_index]
    @viewport = Viewport.new(0, 0, 544, 416)
    @help_window = Window_Help.new
    @help_window.viewport = @viewport
    @status_window = Window_SkillStatus.new(0, 56, @actor)
    @status_window.y = 112
    @status_window.viewport = @viewport
    @skill_window = Window_Skill.new(0, 112 + 56, 544, 304 - 56, @actor)       
    @skill_window.viewport = @viewport
    # Create Command Window
    @command_window =  Window_Command.new(544, ["Use Skill", "Remove Skill"], 2)
    @command_window.draw_item(1, !@actor.skills.empty?)
    @command_window.y = 56   
    @command_window.visible = true
    @command_window.active = true   
    # Create Prompt Window
    @prompt_window =  Window_Command.new(544, ["Yes", "No"], 2)
    @prompt_window.y = 56
    @prompt_window.visible = false
    @prompt_window.active = false       
    @target_window = Window_MenuStatus.new(0, 0)
    # Selection mode
    @selection_mode = "Use"   
    hide_target_window
    @skill_window.active = false   
    # Wait for input flag
    @wait_for_input = false
    # Update Help Display
    update_help_display   
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  alias tds_skill_remove_scene_skill_terminate terminate
  def terminate
    tds_skill_remove_scene_skill_terminate
    dispose_menu_background
    @command_window.dispose
    @prompt_window.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    update_menu_background
    # Update Help Display
    update_help_display     
    @help_window.update
    @status_window.update
    @skill_window.update
    @target_window.update
    # Update command window
    @command_window.update
    # Update Prompt Window
    @prompt_window.update
    if @wait_for_input     
    if Input.trigger?(Input::B) or Input.trigger?(Input::C)       
      Sound.play_decision           
      @prompt_window.visible = false
      @prompt_window.active = false
      @command_window.active = @actor.skills.empty? ? true : false
      @command_window.visible = true     
      @skill_window.active = @actor.skills.empty? ? false : true
      @wait_for_input = false
      return
    end                 
    elsif @command_window.active
      update_command_selection
    elsif @prompt_window.active
      update_prompt_selection
    elsif @skill_window.active
      update_skill_selection
    elsif @target_window.active
      update_target_selection
    end
  end   
  #--------------------------------------------------------------------------
  # * Update Prompt Window selection
  #--------------------------------------------------------------------------
  def update_prompt_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @prompt_window.visible = false
      @prompt_window.active = false
      @command_window.active = false     
      @command_window.visible = true     
      @skill_window.active = true     
    elsif Input.trigger?(Input::C)     
      case @prompt_window.index
      when 0 # Yes               
        Sound.play_decision             
        @actor.forget_skill(@skill_window.skill.id)
        @help_window.set_text(sprintf("%s has forgotten the skill: %s", @actor.name, @skill_window.skill.name))       
        @skill_window.index = 0       
        @skill_window.refresh       
        @wait_for_input = true   
        @command_window.draw_item(1, !@actor.skills.empty?)
        @prompt_window.active = false
        @prompt_window.visible = false       
        @command_window.visible = true
        return
      when 1 # No
        Sound.play_decision     
        @prompt_window.visible = false
        @prompt_window.active = false
        @command_window.active = false     
        @command_window.visible = true     
        @skill_window.active = true             
      end
    end   
  end
  #--------------------------------------------------------------------------
  # * Update Command Window selection
  #--------------------------------------------------------------------------
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      return_scene
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    elsif Input.trigger?(Input::C)
      case @command_window.index
      when 0 ; @selection_mode = "Use"
      when 1         
        return Sound.play_buzzer if @actor.skills.empty?
        @selection_mode = "Remove"   
      end
      @skill_window.index = 0
      Sound.play_decision           
      @command_window.active = false
      @skill_window.active = true
    end   
  end
  #--------------------------------------------------------------------------
  # * Update Help Window Display Information
  #--------------------------------------------------------------------------
  def update_help_display     
    # Return if wait for input is true
    return if @wait_for_input
    # If Prompt Window is active
    if @prompt_window.active     
      @help_window.set_text("Are you sure you want to remove this skill?")
      return
    end   
    # If command window is active
    if @command_window.active
      case @command_window.index
      when 0 # Use Skills           
        @help_window.set_text("Use Selected Skill")
      when 1 # Remove Skills
        @help_window.set_text("Remove Selected Skill")
      end
      return
    end   
    # If Skill window is active
    if @skill_window.active
      case @selection_mode
      when "Use"
        @help_window.set_text(@skill_window.skill == nil ? "" : @skill_window.skill.description)
      when "Remove"       
        @help_window.set_text("Choose a skill to remove")       
      end     
      return
    end       
  end
  #--------------------------------------------------------------------------
  # * Update Skill Selection
  #--------------------------------------------------------------------------
  def update_skill_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      @skill_window.active = false         
      @command_window.active = true
      return
    elsif Input.trigger?(Input::R)
      Sound.play_cursor
      next_actor
    elsif Input.trigger?(Input::L)
      Sound.play_cursor
      prev_actor
    elsif Input.trigger?(Input::C)
      case @selection_mode
      when "Use"
        @skill = @skill_window.skill
        if @skill != nil
          @actor.last_skill_id = @skill.id
        end
        if @actor.skill_can_use?(@skill)
          Sound.play_decision
          determine_skill
        else
          Sound.play_buzzer
        end
      when "Remove"         
        return Sound.play_buzzer if @skill_window.skill.unremovable?
        # Actor Remove Array
        actor_remove = @skill_window.skill.removable_by?
        # If Skill removal by character is not false
        if actor_remove != false         
          return Sound.play_buzzer if !actor_remove.include?(@actor.id)         
        end       
        Sound.play_decision       
        @skill_window.active = false     
        @command_window.active = false
        @command_window.visible = false
        @prompt_window.index = 1
        @prompt_window.visible = true
        @prompt_window.active = true
        return
      end
    end
  end
end
[/spoiler]
Synthesis Shop v1.1 by: Cylindrical
Advanced Text System Version: 3.0b Author: modern algebra
Item/Equipment/Skill Conditions (Author Unknown)
ModAlgebra's Max HP/MP Equipment Version 1.0
Condiditional Autostates v 1.3 by Mithran
Deriru's States v2.5
YERD_StatusEffects
Cozziekuns Simple Sort Inventory
Hide 0 MP Cost - By JFace
TDS Weapon Unleash
KGC_SlipDamageExtension
YERD_SceneShop
YERD_SwapMonster[/spoiler]




Did you search?
Yes

Where did you search? / What did you search for?
Almost everything under the sun while also trying to find ways to make the existing script work

kawagiri

can someone please look into this, it doesn't seem like it would be a great deal to forcefully create a new rank (Z) and adjust Yerd_BestiaryScan to accept it, it's quite important to my system.

kawagiri