RMRK is retiring.
Registration is disabled. The site will remain online, but eventually become a read-only archive. More information.

RMRK.net has nothing to do with Blockchains, Cryptocurrency or NFTs. We have been around since the early 2000s, but there is a new group using the RMRK name that deals with those things. We have nothing to do with them.
NFTs are a scam, and if somebody is trying to persuade you to buy or invest in crypto/blockchain/NFT content, please turn them down and save your money. See this video for more information.
[Request] Items for thief/ninja that can be used pre-battle

0 Members and 1 Guest are viewing this topic.

**
Rep:
Level 72
RMRK Junior
Hello everyone, and Hi

I am pretty new here and hope someone can give me a helping script/hand.

I am planning to do the following:
I have my Char X. This X is using the thief or ninja class. The class is capability of using certain item BEFORE each battle.
here an example:
Smoke Bomb - blinds every enemy in the next battle
Poison Mist - has a chance of 40 % to poison each enemy in the next battle
etc. the items can be created in the database and should be only useable by the thief or ninja class when they have reached a certain level (and are capable of using that skill)

I don't know if such a script already exists but if someone has a moment, I would really appreciate help.

Regards,
Alby


****
Rep:
Level 76
Praise the Sun (Arcana)
GIAW 14: 1st Place (Hard Mode)
I'm sure there isn't currently a script like that. But I don't understand why the item needs to be used before the battle, wouldn't it be much easier to make an item that blinds or poison an enemy and you use it during battle? It doesn't make much sense for it to happen before the battle.

**
Rep:
Level 72
RMRK Junior
Consider it as: Setting up a trap or backstab an enemy from behind (ambushing). This is my main idea.

*****
my name is Timothy what's yours
Rep:
Level 79
Hello
2014 Best IRC Quote2014 Zero to Hero2014 Most Missed Member2012 Zero To HeroSecret Santa 2012 ParticipantContestant - GIAW 9For frequently finding and reporting spam and spam bots2011 Zero to Hero
I'm quite sure TDS made a script that allowed common events to happen before every battle. If you use that (I could find it if you wanted me to), you could make a choice event run that allows the player to choose if he does on of these. Conditional branches considering random variables decide how your battle goes.

Oh, look what I did!
Spoiler for TDS is a bloody genius:
This should let you run a common event before and after battle.

Code: [Select]
#==============================================================================
# ** TDS Battle Common Events
#    ver : 1.0
#------------------------------------------------------------------------------
#  Description :
#    This script is used to run common events before and after battle.
#==============================================================================

  #--------------------------------------------------------------------------
  # * Constants
  #--------------------------------------------------------------------------
  # Common Event ID to run before a battle starts
  BEFORE_BATTLE_C_EVENT_ID = 1
  # Common Event ID to run after a battle ends (Win, Escape, Lose) 0 for nothing
  AFTER_BATTLE_C_EVENTS_ID = [2, 0, 2]
 
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs the map screen processing.
#==============================================================================

class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # * Alias Listing
  #-------------------------------------------------------------------------- 
  alias tds_battle_common_events_scene_map_call_battle     call_battle 
  #--------------------------------------------------------------------------
  # * Switch to Battle Screen
  #--------------------------------------------------------------------------
  def call_battle     
    # Run Original Method
    tds_battle_common_events_scene_map_call_battle
    # Call a battle common event
    $game_map.interpreter.battle_common_event(BEFORE_BATTLE_C_EVENT_ID)   
    # Update Game Map Interpreter
    $game_map.interpreter.update   
  end
end


#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * Alias Listing
  #-------------------------------------------------------------------------- 
  alias tds_battle_common_events_scene_battle_battle_end     battle_end 
  #--------------------------------------------------------------------------
  # * End Battle
  #     result : Results (0: win, 1: escape, 2:lose)
  #--------------------------------------------------------------------------
  def battle_end(result)
    # Run Original Method
    tds_battle_common_events_scene_battle_battle_end(result)
    # If After Battle Common Event ID is not 0
    if AFTER_BATTLE_C_EVENTS_ID[result] != 0
      # Call a battle common event
      $game_map.interpreter.battle_common_event(AFTER_BATTLE_C_EVENTS_ID[result])
      # Update Game Map Interpreter
      $game_map.interpreter.update   
    end   
  end 
end


#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
#  An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================

class Game_Interpreter
  #--------------------------------------------------------------------------
  # * Call Battle Common Event
  #--------------------------------------------------------------------------
  def battle_common_event(id)
    common_event = $data_common_events[id]
    if common_event != nil
      @child_interpreter = Game_Interpreter.new(@depth + 1)
      @child_interpreter.setup(common_event.list, @event_id)
    end
    return true
  end
end

To use simply edit these constants in the script.

Code: [Select]
  BEFORE_BATTLE_C_EVENT_ID = #

# Is the ID of the common event you want to run before battles.

Code: [Select]
  AFTER_BATTLE_C_EVENTS_ID = [#1, #2, #3]

After battle you can set 3 different common events to run depending on what happened in battle.

#1 ID of common event to run if you win
#2 ID of common event to run if you escape
#3 ID of common event to run if you lose

If you set the ID of any to 0 it won't run any common events in that instance.

Let me know if this works out for you and if you need anything fixed/added.

Have a nice day.
Is this what you needed?
it's like a metaphor or something i don't know

**
Rep:
Level 72
RMRK Junior
Thanks a bunch, I will test it and tell you the results.
If I need any further help, I will come back ;)