[SOLVED] Sprain state disabling dashing only if party leader has it

● ARCHIVED · READ-ONLY
Started by TheDrifter 4 posts View original ↗
  1. Greetings,

    I have this Sprain state that makes it unable for the player to dash or run if one of the party members has it.

    However, I want to disable dashing only when it's the party leader who has it.

    I still want to be able to dash if I switch him out with another party member who isn't affected by a sprain.

    Here's the short script I've been using up until now:



    Code:
    #==============================================================================
    # Disable Dash States
    # Version: 1.0
    # Author: modern algebra (rmrk.net)
    # Date: September 6, 2009
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    # Instructions:
    #
    # Place above Main and below other custom scripts in the Script Editor (F11)
    #
    # To set a state to disable dashing, put this code in the notebox of the
    # state:
    #
    # \Disable_Dash
    #
    # Dashing will be disabled if ANY party member possesses this state.
    #==============================================================================
    
    #==============================================================================
    # ** RPG::State
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    # Summary of Changes:
    # new method - disable_dash?
    #==============================================================================
    
    class RPG::State
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # * Check if dash disabled
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    def disable_dash?
    return self.note[/\\DISABLE_DASH/i] != nil
    end
    end
    
    #==============================================================================
    # ** Game Map
    #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    # Summary of Changes:
    # aliased method - disable_dash?
    #==============================================================================
    
    class Game_Map
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    # * Check if dash enabled
    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    alias ma_dash_states_disble_8kb3 disable_dash?
    def disable_dash?
    # Check if a state is possessed that disables dashing
    for actor in $game_party.members
    actor.states.each { |state| return true if state.disable_dash? }
    end
    # Run Original Method
    return ma_dash_states_disble_8kb3
    end
    end
    Thank you for your help!
  2. Change the disable_dash method to:



    Code:
    class Game_Map
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      # * Check if dash enabled
      #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      alias ma_dash_states_disble_8kb3 disable_dash?
      def disable_dash?
    	# Check if a state is possessed that disables dashing
    	$game_party.leader.states.each { |state| return true if state.disable_dash? }
    	# Run Original Method
    	return ma_dash_states_disble_8kb3
      end
    end
    This is untested, but I believe it should work
  3. It works awesomely well! Thank you very much!
  4. This thread is being closed, due to being solved. If for some reason you would like this thread re-opened, please report this post and leave a message why. Thank you.