Added scripts
This commit is contained in:
parent
d40ae86ba4
commit
5118df09f4
106 changed files with 15680 additions and 0 deletions
282
scripts/Interpreter 7.rb
Normal file
282
scripts/Interpreter 7.rb
Normal file
|
@ -0,0 +1,282 @@
|
|||
#==============================================================================
|
||||
# ** Interpreter (part 7)
|
||||
#------------------------------------------------------------------------------
|
||||
# This interpreter runs event commands. This class is used within the
|
||||
# Game_System class and the Game_Event class.
|
||||
#==============================================================================
|
||||
|
||||
class Interpreter
|
||||
#--------------------------------------------------------------------------
|
||||
# * Change Enemy HP
|
||||
#--------------------------------------------------------------------------
|
||||
def command_331
|
||||
# Get operate value
|
||||
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
|
||||
# Process with iterator
|
||||
iterate_enemy(@parameters[0]) do |enemy|
|
||||
# If HP is not 0
|
||||
if enemy.hp > 0
|
||||
# Change HP (if death is not permitted then change HP to 1)
|
||||
if @parameters[4] == false and enemy.hp + value <= 0
|
||||
enemy.hp = 1
|
||||
else
|
||||
enemy.hp += value
|
||||
end
|
||||
end
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Change Enemy SP
|
||||
#--------------------------------------------------------------------------
|
||||
def command_332
|
||||
# Get operate value
|
||||
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
|
||||
# Process with iterator
|
||||
iterate_enemy(@parameters[0]) do |enemy|
|
||||
# Change SP
|
||||
enemy.sp += value
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Change Enemy State
|
||||
#--------------------------------------------------------------------------
|
||||
def command_333
|
||||
# Process with iterator
|
||||
iterate_enemy(@parameters[0]) do |enemy|
|
||||
# If [regard HP 0] state option is valid
|
||||
if $data_states[@parameters[2]].zero_hp
|
||||
# Clear immortal flag
|
||||
enemy.immortal = false
|
||||
end
|
||||
# Change
|
||||
if @parameters[1] == 0
|
||||
enemy.add_state(@parameters[2])
|
||||
else
|
||||
enemy.remove_state(@parameters[2])
|
||||
end
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Enemy Recover All
|
||||
#--------------------------------------------------------------------------
|
||||
def command_334
|
||||
# Process with iterator
|
||||
iterate_enemy(@parameters[0]) do |enemy|
|
||||
# Recover all
|
||||
enemy.recover_all
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Enemy Appearance
|
||||
#--------------------------------------------------------------------------
|
||||
def command_335
|
||||
# Get enemy
|
||||
enemy = $game_troop.enemies[@parameters[0]]
|
||||
# Clear hidden flag
|
||||
if enemy != nil
|
||||
enemy.hidden = false
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Enemy Transform
|
||||
#--------------------------------------------------------------------------
|
||||
def command_336
|
||||
# Get enemy
|
||||
enemy = $game_troop.enemies[@parameters[0]]
|
||||
# Transform processing
|
||||
if enemy != nil
|
||||
enemy.transform(@parameters[1])
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Show Battle Animation
|
||||
#--------------------------------------------------------------------------
|
||||
def command_337
|
||||
# Process with iterator
|
||||
iterate_battler(@parameters[0], @parameters[1]) do |battler|
|
||||
# If battler exists
|
||||
if battler.exist?
|
||||
# Set animation ID
|
||||
battler.animation_id = @parameters[2]
|
||||
end
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Deal Damage
|
||||
#--------------------------------------------------------------------------
|
||||
def command_338
|
||||
# Get operate value
|
||||
value = operate_value(0, @parameters[2], @parameters[3])
|
||||
# Process with iterator
|
||||
iterate_battler(@parameters[0], @parameters[1]) do |battler|
|
||||
# If battler exists
|
||||
if battler.exist?
|
||||
# Change HP
|
||||
battler.hp -= value
|
||||
# If in battle
|
||||
if $game_temp.in_battle
|
||||
# Set damage
|
||||
battler.damage = value
|
||||
battler.damage_pop = true
|
||||
end
|
||||
end
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Force Action
|
||||
#--------------------------------------------------------------------------
|
||||
def command_339
|
||||
# Ignore if not in battle
|
||||
unless $game_temp.in_battle
|
||||
return true
|
||||
end
|
||||
# Ignore if number of turns = 0
|
||||
if $game_temp.battle_turn == 0
|
||||
return true
|
||||
end
|
||||
# Process with iterator (For convenience, this process won't be repeated)
|
||||
iterate_battler(@parameters[0], @parameters[1]) do |battler|
|
||||
# If battler exists
|
||||
if battler.exist?
|
||||
# Set action
|
||||
battler.current_action.kind = @parameters[2]
|
||||
if battler.current_action.kind == 0
|
||||
battler.current_action.basic = @parameters[3]
|
||||
else
|
||||
battler.current_action.skill_id = @parameters[3]
|
||||
end
|
||||
# Set action target
|
||||
if @parameters[4] == -2
|
||||
if battler.is_a?(Game_Enemy)
|
||||
battler.current_action.decide_last_target_for_enemy
|
||||
else
|
||||
battler.current_action.decide_last_target_for_actor
|
||||
end
|
||||
elsif @parameters[4] == -1
|
||||
if battler.is_a?(Game_Enemy)
|
||||
battler.current_action.decide_random_target_for_enemy
|
||||
else
|
||||
battler.current_action.decide_random_target_for_actor
|
||||
end
|
||||
elsif @parameters[4] >= 0
|
||||
battler.current_action.target_index = @parameters[4]
|
||||
end
|
||||
# Set force flag
|
||||
battler.current_action.forcing = true
|
||||
# If action is valid and [run now]
|
||||
if battler.current_action.valid? and @parameters[5] == 1
|
||||
# Set battler being forced into action
|
||||
$game_temp.forcing_battler = battler
|
||||
# Advance index
|
||||
@index += 1
|
||||
# End
|
||||
return false
|
||||
end
|
||||
end
|
||||
end
|
||||
# Continue
|
||||
return true
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Abort Battle
|
||||
#--------------------------------------------------------------------------
|
||||
def command_340
|
||||
# Set battle abort flag
|
||||
$game_temp.battle_abort = true
|
||||
# Advance index
|
||||
@index += 1
|
||||
# End
|
||||
return false
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Call Menu Screen
|
||||
#--------------------------------------------------------------------------
|
||||
def command_351
|
||||
# Set battle abort flag
|
||||
$game_temp.battle_abort = true
|
||||
# Set menu calling flag
|
||||
$game_temp.menu_calling = true
|
||||
# Advance index
|
||||
@index += 1
|
||||
# End
|
||||
return false
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Call Save Screen
|
||||
#--------------------------------------------------------------------------
|
||||
def command_352
|
||||
# Set battle abort flag
|
||||
$game_temp.battle_abort = true
|
||||
# Set save calling flag
|
||||
$game_temp.save_calling = true
|
||||
# Advance index
|
||||
@index += 1
|
||||
# End
|
||||
return false
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Game Over
|
||||
#--------------------------------------------------------------------------
|
||||
def command_353
|
||||
# Set game over flag
|
||||
$game_temp.gameover = true
|
||||
# End
|
||||
return false
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Return to Title Screen
|
||||
#--------------------------------------------------------------------------
|
||||
def command_354
|
||||
# Set return to title screen flag
|
||||
$game_temp.to_title = true
|
||||
# End
|
||||
return false
|
||||
end
|
||||
#--------------------------------------------------------------------------
|
||||
# * Script
|
||||
#--------------------------------------------------------------------------
|
||||
def command_355
|
||||
# Set first line to script
|
||||
script = @list[@index].parameters[0] + "\n"
|
||||
# Loop
|
||||
loop do
|
||||
# If next event command is second line of script or after
|
||||
if @list[@index+1].code == 655
|
||||
# Add second line or after to script
|
||||
script += @list[@index+1].parameters[0] + "\n"
|
||||
# If event command is not second line or after
|
||||
else
|
||||
# Abort loop
|
||||
break
|
||||
end
|
||||
# Advance index
|
||||
@index += 1
|
||||
end
|
||||
# Evaluation
|
||||
#result = eval(script)
|
||||
# If return value is false
|
||||
#if result == false
|
||||
# # End
|
||||
# return false
|
||||
#end
|
||||
# Continue
|
||||
eval(script)
|
||||
return true
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue