设为首页收藏本站同能贴吧 切换语言 繁体中文
开启辅助访问 切换到窄版
搜索附件  
同能RPG制作大师 › 附件中心 › 同能RM技术讨论区 › RPG Maker VA 讨论区 › Apply Random States: Apply Random States-2.jpg

Apply Random States: Apply Random States-2.jpg

 

Apply Random States:

Apply Random States
by: Rinobi

​



        [Version History]


  • 1.00 [12/08/2015] Initial Release

Introduction


        Allows states to be applied randomly to targets in battle.

Features


  • Apply random states to targets in battle!

Screenshots



How to Use


        See script calls and examples within the script.

Demo
        None necessary.

Script

SpoilerSpoiler




#===============================================================================
# Rinobi: Apply Random States
#-------------------------------------------------------------------------------
# Allows states to be applied to targets randomly in battle.
#-------------------------------------------------------------------------------
# Version History:
#
#  @ 1.0 [12/08/2015] Completed
#-------------------------------------------------------------------------------
# Instructions:
#
# Paste below Materials and above Main Process.
#-------------------------------------------------------------------------------
# Script Calls:
#
# state_apply_sing # Uses the default settings for applying a single state.
# state_apply_sing(array) # Set own array, state turns set to default.
# state_apply_sing(array, min_turn, max_turn) # Set the array and turns.
#
# state_apply_rsing # Uses the default settings for applying a single state.
# state_apply_rsing(range) # Set own range, state turns set to default.
# state_apply_rsing(range, min_turn, max_turn) # Set the range and turns.
#
# state_apply_mult # Uses the default settings for applying mutiple states.
# state_apply_mult(array) # Set own array, state turns set to default.
# state_apply_mult(array, min_turn, max_turn) # Set the array and turns.
#
# state_apply_rmult # Uses the default settings for applying mutiple states.
# state_apply_rmult(range) # Set own range, state turns set to default.
# state_apply_rmult(range, min_turn, max_turn) # Set the range and turns.
#-------------------------------------------------------------------------------
# Examples:
#
# b.state_apply_sing
# (Adds a random state to the target based on the module settings below.)
#
# b.state_apply_sing([2, 5, 9])
# (Adds state 2, 5, or 9 to the target randomly.)
#
# a.state_apply_rmult((2..5), 3, 3)
# (Randomly adds a number of states between 2 and 5 that last 3 turns to user.)
#
# a.state_apply_rsing((1..25, 1, 10)
# (Randomly adds a 1 state between 1 and 25 that lasts betwen 1 and 10 turns.)
#-------------------------------------------------------------------------------
# Compatibility:
#
# Modules:
#  @ StateRand < RINOBI
#
# New Methods:
#  @ state_apply_sing    in Game_Battler
#  @ state_apply_mult    in Game_Battler
#  @ state_apply_rsing   in Game_Battler
#  @ state_apply_rmult   in Game_Battler
#===============================================================================
module RINOBI module StateRand # No Touchie!
#===============================================================================
# ** Settings Module
#-------------------------------------------------------------------------------
# States default behavior.
#===============================================================================
  #-----------------------------------------------------------------------------
  # Number of turns the state lasts. Will return a number between the below
  # values. Set both values as the same number to cancel randomization.
  Turns_Default = {:Min => 1, :Max => 5}
  #-----------------------------------------------------------------------------
  # A selection of state IDs for applying a single random state. Add as many as
  # you like in any order. States are selected randomly.
  SArray_Default = [2, 3, 4, 5, 6, 7, 8]
  #-----------------------------------------------------------------------------
  # A selection of state IDs for applying a multiple random states. Add as many
  # as you like in any order. States are selected randomly.
  MArray_Default = [2, 3, 4, 5, 6, 7 ,8]
  #-----------------------------------------------------------------------------
  # A range of state IDs for applying a single random state. Set the beginning
  # and ending state values below.
  SRange_Default = (2..8)
  #-----------------------------------------------------------------------------
  # A range of state IDs for applying a mutiple random states. Set the beginning
  # and ending state values below.
  MRange_Default = (2..8)
#===============================================================================
# ** End of Settings
#-------------------------------------------------------------------------------
# Editing beyond this area may result in unfathomable terror.
#===============================================================================
end end # No Touchie!
$imported = {} if $imported.nil?
$imported[:RIN_StateRand] = true
#===============================================================================
# ** Class: Game_Battler < Game_BattlerBase
#===============================================================================
class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # * New Method: rand_apply_sing
  #--------------------------------------------------------------------------
  def state_apply_sing(array = RINOBI::StateRand::SArray_Default,
    minturn = RINOBI::StateRand::Turns_Default[:Min],
    maxturn = RINOBI::StateRand::Turns_Default[:Max])
    rstate = array.sample ; add_state(rstate)
    @state_turns[rstate] = [(minturn..maxturn).to_a.sample, 0].max
  end # rand_apply_sing
  #--------------------------------------------------------------------------
  # * New Method: rand_apply_mult
  #--------------------------------------------------------------------------
  def state_apply_mult(array = RINOBI::StateRand::MArray_Default,
    minturn = RINOBI::StateRand::Turns_Default[:Min],
    maxturn = RINOBI::StateRand::Turns_Default[:Max])
    rstate = array.sample(1 + rand(array.count))
    rstate.each {|s| add_state(s)}
    rstate.each {|t| @state_turns[t] = [(minturn..maxturn).to_a.sample, 0].max}
  end # rand_apply_mult
  #--------------------------------------------------------------------------
  # * New Method: rand_apply_rsing
  #--------------------------------------------------------------------------
  def state_apply_rsing(range = RINOBI::StateRand::SRange_Default,
    minturn = RINOBI::StateRand::Turns_Default[:Min],
    maxturn = RINOBI::StateRand::Turns_Default[:Max])
    rstate = range.to_a.sample ; add_state(rstate)
    @state_turns[rstate] = [(minturn..maxturn).to_a.sample, 0].max
  end # rand_apply_rang
  #--------------------------------------------------------------------------
  # * New Method: rand_apply_rmult
  #--------------------------------------------------------------------------
  def state_apply_rmult(range = RINOBI::StateRand::MRange_Default,
    minturn = RINOBI::StateRand::Turns_Default[:Min],
    maxturn = RINOBI::StateRand::Turns_Default[:Max])
    rstate = range.to_a.sample(1 + rand(range.count))
    rstate.each {|s| add_state(s)}
    rstate.each {|t| @state_turns[t] = [(minturn..maxturn).to_a.sample, 0].max}
  end # rand_apply_rang
end # Game_Battler < Game_BattlerBase




ApplyRandomStates_1.txt


本贴来自国际rpgmaker官方论坛作者:Rinobi处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/apply-random-states.52553/
Apply Random States: Apply Random States-2.jpg
简体中文
繁體中文
English(英语)
日本語(日语)
Deutsch(德语)
Русский язык(俄语)
بالعربية(阿拉伯语)
Türkçe(土耳其语)
Português(葡萄牙语)
ภาษาไทย(泰国语)
한어(朝鲜语/韩语)
Français(法语)
关闭

幸运抽奖

社区每日抽奖来袭,快来试试你是欧皇还是非酋~

立即查看

Loading...

QQ|Archiver|手机版|小黑屋|同能RPG制作大师 ( 沪ICP备12027754号-3 )

GMT+8, 2026-10-5 07:07 , Processed in 0.096773 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部