Interpreter 6
#============================================
# ¡ Interpreter (•ªŠ„’è‹` 6)
#----------------------------------------------
# @ƒCƒxƒ“ƒgƒRƒ}ƒ“ƒh‚ðÀs‚·‚éƒCƒ“ƒ^ƒvƒŠƒ^‚Å‚·B‚±‚̃Nƒ‰ƒX‚Í Game_System ƒNƒ‰
# ƒX‚â Game_Event ƒNƒ‰ƒX‚Ì“à•”‚Åg—p‚³‚ê‚Ü‚·B
#============================================
class Interpreter
#------------------------------------------
# œ ƒoƒgƒ‹‚̈—
#------------------------------------------
def command_301
# –³Œø‚ȃgƒ‹[ƒv‚łȂ¯‚ê‚Î
if $data_troops[@parameters[0]] != nil
# ƒoƒgƒ‹’†’fƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_abort = true
# ƒoƒgƒ‹ŒÄ‚Ño‚µƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_calling = true
$game_temp.battle_troop_id = @parameters[0]
$game_temp.battle_can_escape = @parameters[1]
$game_temp.battle_can_lose = @parameters[2]
# ƒR[ƒ‹ƒoƒbƒN‚ðÝ’è
current_indent = @list[@index].indent
$game_temp.battle_proc = Proc.new { |n| @branch[current_indent] = n }
end
# ƒCƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@index += 1
# I—¹
return false
end
#------------------------------------------
# œ Ÿ‚Á‚½ê‡
#------------------------------------------
def command_601
# ƒoƒgƒ‹Œ‹‰Ê‚ªŸ‚¿‚Ìê‡
if @branch[@list[@index].indent] == 0
# •ªŠòƒf[ƒ^‚ðíœ
@branch.delete(@list[@index].indent)
# Œp‘±
return true
end
# ðŒ‚ÉŠY“–‚µ‚È‚¢ê‡ : ƒRƒ}ƒ“ƒhƒXƒLƒbƒv
return command_skip
end
#------------------------------------------
# œ “¦‚°‚½ê‡
#------------------------------------------
def command_602
# ƒoƒgƒ‹Œ‹‰Ê‚ª“¦‚°‚Ìê‡
if @branch[@list[@index].indent] == 1
# •ªŠòƒf[ƒ^‚ðíœ
@branch.delete(@list[@index].indent)
# Œp‘±
return true
end
# ðŒ‚ÉŠY“–‚µ‚È‚¢ê‡ : ƒRƒ}ƒ“ƒhƒXƒLƒbƒv
return command_skip
end
#------------------------------------------
# œ •‰‚¯‚½ê‡
#------------------------------------------
def command_603
# ƒoƒgƒ‹Œ‹‰Ê‚ª•‰‚¯‚Ìê‡
if @branch[@list[@index].indent] == 2
# •ªŠòƒf[ƒ^‚ðíœ
@branch.delete(@list[@index].indent)
# Œp‘±
return true
end
# ðŒ‚ÉŠY“–‚µ‚È‚¢ê‡ : ƒRƒ}ƒ“ƒhƒXƒLƒbƒv
return command_skip
end
#------------------------------------------
# œ ƒVƒ‡ƒbƒv‚̈—
#------------------------------------------
def command_302
# ƒoƒgƒ‹’†’fƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_abort = true
# ƒVƒ‡ƒbƒvŒÄ‚Ño‚µƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.shop_calling = true
# ¤•iƒŠƒXƒg‚ÉV‚µ‚¢€–Ú‚ðÝ’è
$game_temp.shop_goods = [@parameters]
# ƒ‹[ƒv
loop do
# ƒCƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@index += 1
# Ÿ‚̃Cƒxƒ“ƒgƒRƒ}ƒ“ƒh‚ªƒVƒ‡ƒbƒv 2 s–ÚˆÈ~‚Ìê‡
if @list[@index].code == 605
# ¤•iƒŠƒXƒg‚ÉV‚µ‚¢€–Ú‚ð’ljÁ
$game_temp.shop_goods.push(@list[@index].parameters)
# ƒCƒxƒ“ƒgƒRƒ}ƒ“ƒh‚ªƒVƒ‡ƒbƒv 2 s–ÚˆÈ~‚ł͂Ȃ¢ê‡
else
# I—¹
return false
end
end
end
#------------------------------------------
# œ –¼‘O“ü—͂̈—
#------------------------------------------
def command_303
# –³Œø‚ȃAƒNƒ^[‚łȂ¯‚ê‚Î
if $data_actors[@parameters[0]] != nil
# ƒoƒgƒ‹’†’fƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_abort = true
# –¼‘O“ü—͌ĂÑo‚µƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.name_calling = true
$game_temp.name_actor_id = @parameters[0]
$game_temp.name_max_char = @parameters[1]
end
# ƒCƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@index += 1
# I—¹
return false
end
#------------------------------------------
# œ HP ‚Ì‘Œ¸
#------------------------------------------
def command_311
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# HP ‚ª 0 ‚łȂ¢ê‡
if actor.hp > 0
# HP ‚ð•ÏX (퓬•s”‚ª‹–‰Â‚³‚ê‚Ä‚¢‚È‚¯‚ê‚Î 1 ‚É‚·‚é)
if @parameters[4] == false and actor.hp + value <= 0
actor.hp = 1
else
actor.hp += value
end
end
end
# ƒQ[ƒ€ƒI[ƒo[”»’è
$game_temp.gameover = $game_party.all_dead?
# Œp‘±
return true
end
#------------------------------------------
# œ SP ‚Ì‘Œ¸
#------------------------------------------
def command_312
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚Ì SP ‚ð•ÏX
actor.sp += value
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒXƒe[ƒg‚Ì•ÏX
#------------------------------------------
def command_313
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒXƒe[ƒg‚ð•ÏX
if @parameters[1] == 0
actor.add_state(@parameters[2])
else
actor.remove_state(@parameters[2])
end
end
# Œp‘±
return true
end
#------------------------------------------
# œ ‘S‰ñ•œ
#------------------------------------------
def command_314
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚ð‘S‰ñ•œ
actor.recover_all
end
# Œp‘±
return true
end
#------------------------------------------
# œ EXP ‚Ì‘Œ¸
#------------------------------------------
def command_315
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚Ì EXP ‚ð•ÏX
actor.exp += value
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒŒƒxƒ‹‚Ì‘Œ¸
#------------------------------------------
def command_316
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚̃Œƒxƒ‹‚ð•ÏX
actor.level += value
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒpƒ‰ƒ[ƒ^‚Ì‘Œ¸
#------------------------------------------
def command_317
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[2], @parameters[3], @parameters[4])
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒpƒ‰ƒ[ƒ^‚ð•ÏX
if actor != nil
case @parameters[1]
when 0 # MaxHP
actor.maxhp += value
when 1 # MaxSP
actor.maxsp += value
when 2 # ˜r—Í
actor.str += value
when 3 # Ší—p‚³
actor.dex += value
when 4 # ‘f‘‚³
actor.agi += value
when 5 # –‚—Í
actor.int += value
end
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒXƒLƒ‹‚Ì‘Œ¸
#------------------------------------------
def command_318
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒXƒLƒ‹‚𑌸
if actor != nil
if @parameters[1] == 0
actor.learn_skill(@parameters[2])
else
actor.forget_skill(@parameters[2])
end
end
# Œp‘±
return true
end
#------------------------------------------
# œ ‘•”õ‚Ì•ÏX
#------------------------------------------
def command_319
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ‘•”õ‚ð•ÏX
if actor != nil
actor.equip(@parameters[1], @parameters[2])
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒAƒNƒ^[‚Ì–¼‘O•ÏX
#------------------------------------------
def command_320
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# –¼‘O‚ð•ÏX
if actor != nil
actor.name = @parameters[1]
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒAƒNƒ^[‚̃Nƒ‰ƒX•ÏX
#------------------------------------------
def command_321
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒNƒ‰ƒX‚ð•ÏX
if actor != nil
actor.class_id = @parameters[1]
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒAƒNƒ^[‚̃Oƒ‰ƒtƒBƒbƒN•ÏX
#------------------------------------------
def command_322
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒOƒ‰ƒtƒBƒbƒN‚ð•ÏX
if actor != nil
actor.set_graphic(@parameters[1], @parameters[2],
@parameters[3], @parameters[4])
end
# ƒvƒŒƒCƒ„[‚ðƒŠƒtƒŒƒbƒVƒ…
$game_player.refresh
# Œp‘±
return true
end
end
# ¡ Interpreter (•ªŠ„’è‹` 6)
#----------------------------------------------
# @ƒCƒxƒ“ƒgƒRƒ}ƒ“ƒh‚ðÀs‚·‚éƒCƒ“ƒ^ƒvƒŠƒ^‚Å‚·B‚±‚̃Nƒ‰ƒX‚Í Game_System ƒNƒ‰
# ƒX‚â Game_Event ƒNƒ‰ƒX‚Ì“à•”‚Åg—p‚³‚ê‚Ü‚·B
#============================================
class Interpreter
#------------------------------------------
# œ ƒoƒgƒ‹‚̈—
#------------------------------------------
def command_301
# –³Œø‚ȃgƒ‹[ƒv‚łȂ¯‚ê‚Î
if $data_troops[@parameters[0]] != nil
# ƒoƒgƒ‹’†’fƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_abort = true
# ƒoƒgƒ‹ŒÄ‚Ño‚µƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_calling = true
$game_temp.battle_troop_id = @parameters[0]
$game_temp.battle_can_escape = @parameters[1]
$game_temp.battle_can_lose = @parameters[2]
# ƒR[ƒ‹ƒoƒbƒN‚ðÝ’è
current_indent = @list[@index].indent
$game_temp.battle_proc = Proc.new { |n| @branch[current_indent] = n }
end
# ƒCƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@index += 1
# I—¹
return false
end
#------------------------------------------
# œ Ÿ‚Á‚½ê‡
#------------------------------------------
def command_601
# ƒoƒgƒ‹Œ‹‰Ê‚ªŸ‚¿‚Ìê‡
if @branch[@list[@index].indent] == 0
# •ªŠòƒf[ƒ^‚ðíœ
@branch.delete(@list[@index].indent)
# Œp‘±
return true
end
# ðŒ‚ÉŠY“–‚µ‚È‚¢ê‡ : ƒRƒ}ƒ“ƒhƒXƒLƒbƒv
return command_skip
end
#------------------------------------------
# œ “¦‚°‚½ê‡
#------------------------------------------
def command_602
# ƒoƒgƒ‹Œ‹‰Ê‚ª“¦‚°‚Ìê‡
if @branch[@list[@index].indent] == 1
# •ªŠòƒf[ƒ^‚ðíœ
@branch.delete(@list[@index].indent)
# Œp‘±
return true
end
# ðŒ‚ÉŠY“–‚µ‚È‚¢ê‡ : ƒRƒ}ƒ“ƒhƒXƒLƒbƒv
return command_skip
end
#------------------------------------------
# œ •‰‚¯‚½ê‡
#------------------------------------------
def command_603
# ƒoƒgƒ‹Œ‹‰Ê‚ª•‰‚¯‚Ìê‡
if @branch[@list[@index].indent] == 2
# •ªŠòƒf[ƒ^‚ðíœ
@branch.delete(@list[@index].indent)
# Œp‘±
return true
end
# ðŒ‚ÉŠY“–‚µ‚È‚¢ê‡ : ƒRƒ}ƒ“ƒhƒXƒLƒbƒv
return command_skip
end
#------------------------------------------
# œ ƒVƒ‡ƒbƒv‚̈—
#------------------------------------------
def command_302
# ƒoƒgƒ‹’†’fƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_abort = true
# ƒVƒ‡ƒbƒvŒÄ‚Ño‚µƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.shop_calling = true
# ¤•iƒŠƒXƒg‚ÉV‚µ‚¢€–Ú‚ðÝ’è
$game_temp.shop_goods = [@parameters]
# ƒ‹[ƒv
loop do
# ƒCƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@index += 1
# Ÿ‚̃Cƒxƒ“ƒgƒRƒ}ƒ“ƒh‚ªƒVƒ‡ƒbƒv 2 s–ÚˆÈ~‚Ìê‡
if @list[@index].code == 605
# ¤•iƒŠƒXƒg‚ÉV‚µ‚¢€–Ú‚ð’ljÁ
$game_temp.shop_goods.push(@list[@index].parameters)
# ƒCƒxƒ“ƒgƒRƒ}ƒ“ƒh‚ªƒVƒ‡ƒbƒv 2 s–ÚˆÈ~‚ł͂Ȃ¢ê‡
else
# I—¹
return false
end
end
end
#------------------------------------------
# œ –¼‘O“ü—͂̈—
#------------------------------------------
def command_303
# –³Œø‚ȃAƒNƒ^[‚łȂ¯‚ê‚Î
if $data_actors[@parameters[0]] != nil
# ƒoƒgƒ‹’†’fƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.battle_abort = true
# –¼‘O“ü—͌ĂÑo‚µƒtƒ‰ƒO‚ðƒZƒbƒg
$game_temp.name_calling = true
$game_temp.name_actor_id = @parameters[0]
$game_temp.name_max_char = @parameters[1]
end
# ƒCƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@index += 1
# I—¹
return false
end
#------------------------------------------
# œ HP ‚Ì‘Œ¸
#------------------------------------------
def command_311
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# HP ‚ª 0 ‚łȂ¢ê‡
if actor.hp > 0
# HP ‚ð•ÏX (퓬•s”‚ª‹–‰Â‚³‚ê‚Ä‚¢‚È‚¯‚ê‚Î 1 ‚É‚·‚é)
if @parameters[4] == false and actor.hp + value <= 0
actor.hp = 1
else
actor.hp += value
end
end
end
# ƒQ[ƒ€ƒI[ƒo[”»’è
$game_temp.gameover = $game_party.all_dead?
# Œp‘±
return true
end
#------------------------------------------
# œ SP ‚Ì‘Œ¸
#------------------------------------------
def command_312
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚Ì SP ‚ð•ÏX
actor.sp += value
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒXƒe[ƒg‚Ì•ÏX
#------------------------------------------
def command_313
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒXƒe[ƒg‚ð•ÏX
if @parameters[1] == 0
actor.add_state(@parameters[2])
else
actor.remove_state(@parameters[2])
end
end
# Œp‘±
return true
end
#------------------------------------------
# œ ‘S‰ñ•œ
#------------------------------------------
def command_314
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚ð‘S‰ñ•œ
actor.recover_all
end
# Œp‘±
return true
end
#------------------------------------------
# œ EXP ‚Ì‘Œ¸
#------------------------------------------
def command_315
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚Ì EXP ‚ð•ÏX
actor.exp += value
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒŒƒxƒ‹‚Ì‘Œ¸
#------------------------------------------
def command_316
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
# ƒCƒeƒŒ[ƒ^‚ň—
iterate_actor(@parameters[0]) do |actor|
# ƒAƒNƒ^[‚̃Œƒxƒ‹‚ð•ÏX
actor.level += value
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒpƒ‰ƒ[ƒ^‚Ì‘Œ¸
#------------------------------------------
def command_317
# ‘€ì‚·‚é’l‚ðæ“¾
value = operate_value(@parameters[2], @parameters[3], @parameters[4])
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒpƒ‰ƒ[ƒ^‚ð•ÏX
if actor != nil
case @parameters[1]
when 0 # MaxHP
actor.maxhp += value
when 1 # MaxSP
actor.maxsp += value
when 2 # ˜r—Í
actor.str += value
when 3 # Ší—p‚³
actor.dex += value
when 4 # ‘f‘‚³
actor.agi += value
when 5 # –‚—Í
actor.int += value
end
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒXƒLƒ‹‚Ì‘Œ¸
#------------------------------------------
def command_318
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒXƒLƒ‹‚𑌸
if actor != nil
if @parameters[1] == 0
actor.learn_skill(@parameters[2])
else
actor.forget_skill(@parameters[2])
end
end
# Œp‘±
return true
end
#------------------------------------------
# œ ‘•”õ‚Ì•ÏX
#------------------------------------------
def command_319
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ‘•”õ‚ð•ÏX
if actor != nil
actor.equip(@parameters[1], @parameters[2])
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒAƒNƒ^[‚Ì–¼‘O•ÏX
#------------------------------------------
def command_320
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# –¼‘O‚ð•ÏX
if actor != nil
actor.name = @parameters[1]
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒAƒNƒ^[‚̃Nƒ‰ƒX•ÏX
#------------------------------------------
def command_321
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒNƒ‰ƒX‚ð•ÏX
if actor != nil
actor.class_id = @parameters[1]
end
# Œp‘±
return true
end
#------------------------------------------
# œ ƒAƒNƒ^[‚̃Oƒ‰ƒtƒBƒbƒN•ÏX
#------------------------------------------
def command_322
# ƒAƒNƒ^[‚ðæ“¾
actor = $game_actors[@parameters[0]]
# ƒOƒ‰ƒtƒBƒbƒN‚ð•ÏX
if actor != nil
actor.set_graphic(@parameters[1], @parameters[2],
@parameters[3], @parameters[4])
end
# ƒvƒŒƒCƒ„[‚ðƒŠƒtƒŒƒbƒVƒ…
$game_player.refresh
# Œp‘±
return true
end
end
Publicité