class Game_Task
#--------------------------------------------------------------------------
# ● 初始化
#--------------------------------------------------------------------------
def initialize
@tasks = []
@tasks[0] = Task.new
end
#--------------------------------------------------------------------------
# ● 获取变量
# variable_id : 变量 ID
#--------------------------------------------------------------------------
def [](task_id)
if task_id <= 1000 and @tasks[task_id] != nil
return @tasks[task_id]
else
return nil
end
end
#--------------------------------------------------------------------------
# ● 设置变量
# variable_id : 变量 ID
# value : 变量的值
#--------------------------------------------------------------------------
def []=(task_id, value)
if task_id <= 5000
@tasks[task_id] = value
end
end
def evn_re(event_id, map_id)
for i in [email][email protected][/email]
if @tasks[i].ev_map == map_id
if @tasks[i].relate_ev == event_id
return @tasks[i]
end
end
end
return @tasks[0]
end
# 完成任务
def finish(task_id)
@tasks[task_id].finish = true
end
def size
return @tasks.size
end
def judge(id) # 判断任务是否完成
if id == 0
loop do
id += 1
if judge(id)
return true
end
end
else
over = judge_g(id) && judge_item(id) && judge_key(id) && judge_va(id)
@tasks[id].finish = over
return over
end
end
# 判断金钱是否足够
def judge_g(id)
if $game_party.gold >= @tasks[id].ne_g
return true
end
return false
end
# 判断物品是否收集齐
# index = 0 表示返回整体,其他则返回各个物品情况的数组
def judge_item(id ,index = 0)
over = []
res = true
for i in 0...@tasks[id].ne_item.size
infor = @tasks[id].ne_item[i].split("%")
item_id = infor[0].to_i
num = infor[1].to_i
over << ($game_party.item_number(item_id) >= num)
res = res && ($game_party.item_number(item_id) >= num)
end
if index == 0
return res
else
return over
end
end
# 判断开关
def judge_key(id)
res = true
for i in 0...@tasks[id].ne_key.size
infor = @tasks[id].ne_key[i].split("%")
key_id = infor[0].to_i
num = (infor[1].to_i == 0)
res = res && ($game_switches[key_id] == num)
end
return res
end
# 判断变量
def judge_va(id)
res = true
for i in 0...@tasks[id].ne_va.size
infor = @tasks[id].ne_va[i].split("%")
va_id = infor[0].to_i
num = infor[1].to_i
res = res && ($game_variables[va_id] == num)
end
return res
end
# 更新任务情况
def update
for i in [email][email protected][/email]
@tasks[i].finish = judge(i)
end
for i in [email][email protected][/email]
if @tasks[i].num_on < 1
@tasks[i].over = true && (!@tasks[i].for_ever)
end
end
end
def main
# 生成任务列表、任务详细介绍列表
@detail_window = Window_TaskDetail.new
@list_window = Window_Task.new(@detail_window)
@list_window.help_window = @detail_window
# 执行过度
Graphics.transition
# 主循环
loop do
# 刷新游戏画面
Graphics.update
# 刷新输入信息
Input.update
# 刷新画面
update
# 如果画面切换就中断循环
if $scene != self
break
end
end
# 装备过渡
Graphics.freeze
# 释放窗口
@list_window.dispose
@detail_window.dispose
end
def update
@list_window.update
$game_task.update
if @list_window.active
update_list
return
end
end
def update_list
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 切换到菜单画面
$scene = Scene_Map.new
return
end
end
end
class Window_Task < Window_Selectable
def initialize(detail_window,index = false)
@index = index
super(0, 0, 160, 480)
@detail_window = detail_window
@column_max = 1
refresh
self.index = 0
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@task = []
for i in 1...$game_task.size
# if !$game_task[i].finish
@task.push($game_task[i])
# end
end
@item_max = @task.size
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_task(i)
end
end
end
def draw_task(i)
if @task[i].main
self.contents.font.color = Color.new(255,128,0,255)
self.contents.draw_text(4, i * 32, 152, 32, @task[i].name, 0)
else
self.contents.font.color = normal_color
self.contents.draw_text(4, i * 32, 152, 32, @task[i].name, 0)
end
end
def update_help
@detail_window.refresh(@task == nil ? nil : @task[self.index])
end
if task == nil
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 480, 32, "当前无任务", 0)
return
end
@task = task
self.contents.draw_text(x, y, 480, 20, @task.name, 0)
self.contents.draw_text(x, y, 412, 20, @task.npc, 2)
y += 20
detail_ad = @task.detail.split("\n")
for i in 0...detail_ad.size
self.contents.draw_text(x, y, 480, 20, detail_ad[i], 0)
y += 20
end
if @task.for_ever
self.contents.draw_text(x, y, 480, 20, "无限任务", 0)
y +=20
end
self.contents.font.color = system_color
self.contents.draw_text(x, y, 480, 20, "任务需要", 1)
y += 20
self.contents.font.color = normal_color
if @task.ne_item.size != 0
item_co = $game_task.judge_item(@task.id, 1)
for i in 0...item_co.size
some_item = @task.ne_item[i].split("%")
item_id = some_item[0].to_i
item_num = some_item[1]
item = $data_items[item_id]
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x + 120, y , bitmap, Rect.new(0, 0, 24, 24), 255)
self.contents.draw_text(x + 150, y, 480, 20, item.name, 0)
self.contents.font.color = item_co[i] ? up_color : down_color
self.contents.draw_text(x + 240, y, 480, 20, $game_party.item_number(item_id).to_s, 0)
self.contents.font.color = normal_color
self.contents.draw_text(x + 270, y, 480, 20, "/", 0)
self.contents.draw_text(x + 280, y, 480, 20, item_num, 0)
if some_item[2] == "1"
self.contents.draw_text(x + 330, y, 480, 20, "(无需消耗)", 0)
end
y += 20
end
end
if @task.ne_g != 0
self.contents.font.color = $game_task.judge_g(@task.id) ? up_color : down_color
self.contents.draw_text(x + 20, y, 120, 20, $game_party.gold.to_s, 2)
self.contents.font.color = normal_color
self.contents.draw_text(x + 140, y, 480, 20, "/", 0)
self.contents.draw_text(x + 150, y, 480, 20, @task.ne_g.to_s + $data_system.words.gold, 0)
y += 20
end
self.contents.font.color = crisis_color
if @task.finish && (@task.num_on != 0)
self.contents.draw_text(x + 20, y, 120, 20, "可以完成", 2)
y += 20
elsif @task.over
self.contents.draw_text(x + 20, y, 120, 20, "已经完成", 2)
y += 20
end
self.contents.font.color = normal_color
if @task.re_v || @task.over
self.contents.font.color = system_color
self.contents.draw_text(x, y, 480, 20, "任务奖励:", 1)
y += 20
self.contents.font.color = normal_color
if @task.re_exp != 0
self.contents.draw_text(x + 4, y, 480, 20, "经验奖励:" + @task.re_exp.to_s, 1)
y += 20
end
if @task.re_ab.size != 0
self.contents.draw_text(x + 4, y, 480, 20, "能力值奖励:", 0)
y += 20
for i in [email][email protected]_ab.size[/email]
string = @task.re_ab[i].split("%")
case string[0].to_i
when 0 # MaxHP
ab_n = "MaxHP"
when 1 # MaxSP
ab_n = "MaxSP"
when 2 # 力量
ab_n = "力量"
when 3 # 灵巧
ab_n = "灵巧"
when 4 # 速度
ab_n = "速度"
when 5 # 魔力
ab_n = "魔力"
end
self.contents.draw_text(x + 10 + (i % 2) * 200 , y + i / 2 * 20, 240, 32, ab_n + string[1], 0)
end
y += (i / 2 + 1) * 20
end
if @task.re_g != 0
self.contents.draw_text(x + 140, y, 480, 20, @task.re_g.to_s + $data_system.words.gold, 0)
y += 20
end
if @task.re_item.size != 0
for i in [email][email protected]_item.size[/email]
some_item = @task.re_item[i].split("%")
item_id = some_item[0].to_i
item_num = some_item[1]
item = $data_items[item_id]
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x + 120, y , bitmap, Rect.new(0, 0, 24, 24), 255)
self.contents.draw_text(x + 150, y, 480, 20, item.name, 0)
self.contents.draw_text(x + 220, y, 480, 20, item_num, 0)
y += 20
end
end
if @task.re_wea.size != 0
for i in [email][email protected]_wea.size[/email]
some_item = @task.re_wea[i].split("%")
item_id = some_item[0].to_i
item_num = some_item[1]
item = $data_weapons[item_id]
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x + 120, y , bitmap, Rect.new(0, 0, 24, 24), 255)
self.contents.draw_text(x + 150, y, 480, 20, item.name, 0)
if item_num != "1"
self.contents.draw_text(x + 220, y, 480, 20, item_num, 0)
end
y += 20
end
end
if @task.re_arm.size != 0
for i in [email][email protected]_arm.size[/email]
some_item = @task.re_arm[i].split("%")
item_id = some_item[0].to_i
item_num = some_item[1]
item = $data_armors[item_id]
bitmap = RPG::Cache.icon(item.icon_name)
self.contents.blt(x + 120, y , bitmap, Rect.new(0, 0, 24, 24), 255)
self.contents.draw_text(x + 150, y, 480, 20, item.name, 0)
if item_num != "1"
self.contents.draw_text(x + 220, y, 480, 20, item_num, 0)
end
y += 20
end
end
end
if @task_type
if @parameters[0] == @parameters[1]
$game_task[0].ne_key << @parameters[0].to_s + "%" + @parameters[2].to_s
end
return true
elsif @skip
return true
end
if @reward
return true
end
# 循环全部操作
for i in @parameters[0] .. @parameters[1]
# 更改开关
$game_switches[i] = (@parameters[2] == 0)
end
# 刷新地图
$game_map.need_refresh = true
# 继续
return true
end
#--------------------------------------------------------------------------
# ● 变量操作(task)
#--------------------------------------------------------------------------
def command_122
# 初始化值
value = 0
# 操作数的分支
case @parameters[3]
when 0 # 恒量
value = @parameters[4]
when 1 # 变量
value = $game_variables[@parameters[4]]
when 2 # 随机数
value = @parameters[4] + rand(@parameters[5] - @parameters[4] + 1)
when 3 # 物品
value = $game_party.item_number(@parameters[4])
when 4 # 角色
actor = $game_actors[@parameters[4]]
if actor != nil
case @parameters[5]
when 0 # 等级
value = actor.level
when 1 # EXP
value = actor.exp
when 2 # HP
value = actor.hp
when 3 # SP
value = actor.sp
when 4 # MaxHP
value = actor.maxhp
when 5 # MaxSP
value = actor.maxsp
when 6 # 力量
value = actor.str
when 7 # 灵巧
value = actor.dex
when 8 # 速度
value = actor.agi
when 9 # 魔力
value = actor.int
when 10 # 攻击力
value = actor.atk
when 11 # 物理防御
value = actor.pdef
when 12 # 魔法防御
value = actor.mdef
when 13 # 回避修正
value = actor.eva
end
end
when 5 # 敌人
enemy = $game_troop.enemies[@parameters[4]]
if enemy != nil
case @parameters[5]
when 0 # HP
value = enemy.hp
when 1 # SP
value = enemy.sp
when 2 # MaxHP
value = enemy.maxhp
when 3 # MaxSP
value = enemy.maxsp
when 4 # 力量
value = enemy.str
when 5 # 灵巧
value = enemy.dex
when 6 # 速度
value = enemy.agi
when 7 # 魔力
value = enemy.int
when 8 # 攻击力
value = enemy.atk
when 9 # 物理防御
value = enemy.pdef
when 10 # 魔法防御
value = enemy.mdef
when 11 # 回避修正
value = enemy.eva
end
end
when 6 # 角色
character = get_character(@parameters[4])
if character != nil
case @parameters[5]
when 0 # X 坐标
value = character.x
when 1 # Y 坐标
value = character.y
when 2 # 朝向
value = character.direction
when 3 # 画面 X 坐标
value = character.screen_x
when 4 # 画面 Y 坐标
value = character.screen_y
when 5 # 地形标记
value = character.terrain_tag
end
end
when 7 # 其它
case @parameters[4]
when 0 # 地图 ID
value = $game_map.map_id
when 1 # 同伴人数
value = $game_party.actors.size
when 2 # 金钱
value = $game_party.gold
when 3 # 步数
value = $game_party.steps
when 4 # 游戏时间
value = Graphics.frame_count / Graphics.frame_rate
when 5 # 计时器
value = $game_system.timer / Graphics.frame_rate
when 6 # 存档次数
value = $game_system.save_count
end
end
if @task_type
if @parameters[0] == @parameters[1] && (@parameters[2] <= 2)
if @parameters[2] != 1
$game_task[0].ne_va << @parameters[0].to_s + "%" + value.to_s + "%" + @parameters[2].to_s
else
$game_task[0].re_va << @parameters[0].to_s + "%" + value.to_s
end
end
return true
elsif @skip
return true
end
if @reward
if @parameters[2] > 2
return true
elsif @parameters[2] == 0
return true
end
end
# 循环全部操作
for i in @parameters[0] .. @parameters[1]
# 操作分支
case @parameters[2]
when 0 # 代入
$game_variables[i] = value
when 1 # 加法
$game_variables[i] += value
when 2 # 减法
$game_variables[i] -= value
when 3 # 乘法
$game_variables[i] *= value
when 4 # 除法
if value != 0
$game_variables[i] /= value
end
when 5 # 剩余
if value != 0
$game_variables[i] %= value
end
end
# 检查上限
if $game_variables[i] > 99999999
$game_variables[i] = 99999999
end
# 检查下限
if $game_variables[i] < -99999999
$game_variables[i] = -99999999
end
end
# 刷新地图
$game_map.need_refresh = true
# 继续
return true
end
#--------------------------------------------------------------------------
# ● 独立开关操作(task)
#--------------------------------------------------------------------------
def command_123
if @task_type
case @parameters[0]
when "A"
$game_task[0].main = (@parameters[1] == 0)
when "B"
$game_task[0].re_v = (@parameters[1] == 0)
when "C"
$game_task[0].for_ever = (@parameters[1] == 0)
when "D"
@con_abl = (@parameters[1] == 0)
else
end
return true
elsif @skip || @reward
return true
end
# 事件 ID 有效的情况下
if @event_id > 0
# 生成独立开关键
key = [$game_map.map_id, @event_id, @parameters[0]]
# 更改独立开关
$game_self_switches[key] = (@parameters[1] == 0)
end
# 刷新地图
$game_map.need_refresh = true
# 继续
return true
end
if @task_type
if value == 0
return true
elsif value < 0
$game_task[0].ne_g = (0 - value)
else
$game_task[0].re_g = value
end
return true
elsif @skip
return true
end
if @reward
end
# 增减金钱
$game_party.gain_gold(value) ################################
if $game_switches[$不显示金钱窗口]==false
carol3_66RPG = Window_Base.new((640-160)/2,128,180,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得金钱:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去金钱:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG.contents.draw_text(0,32,240,32,value.abs.to_s)
carol3_66RPG.contents.draw_text(0,32,140,32, $data_system.words.gold,2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
# 继续
return true
end
#--------------------------------------------------------------------------
# ● 增减物品(task)
#--------------------------------------------------------------------------
def command_126
# 获取要操作的值
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
if @task_type
con_str = @con_abl ? "0" : "1"
if value == 0
return true
elsif value < 0
num = 0 - value
item_num = @parameters[0].to_s + "%" + num.to_s + "%" + con_str
$game_task[0].ne_item << item_num
else
item_num = @parameters[0].to_s + "%" + value.to_s + "%" + con_str
$game_task[0].re_item << item_num
end
return true
elsif @skip
return true
end
if @reward
if value < 0
for i in 0...$game_task.evn_re(@event_id, @map_id).ne_item.size
id = $game_task.evn_re(@event_id, @map_id).ne_item[i].split("%")[0].to_i
able = $game_task.evn_re(@event_id, @map_id).ne_item[i].split("%")[2].to_i
if @parameters[0] == id && (able == 1)
return
end
end
end
end
# 增减物品
$game_party.gain_item(@parameters[0], value) #######################
if $game_switches[$不显示物品窗口]==false
carol3_66RPG_item = $data_items[@parameters[0]]
carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得物品:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去物品:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
# 继续
return true
end
#--------------------------------------------------------------------------
# ● 增减武器(task)
#--------------------------------------------------------------------------
def command_127
# 获取要操作的值
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
if @task_type
if value <= 0
return true
else
wea_num = @parameters[0].to_s + "%" + value.to_s
$game_task[0].re_wea << wea_num
end
return true
elsif @skip
return true
end
if @reward
if value < 0
$game_party.gain_weapon(@parameters[0], value)
end
return true
end
# 增减武器
$game_party.gain_weapon(@parameters[0], value) ###################
if $game_switches[$不显示武器窗口]==false
carol3_66RPG_item = $data_weapons[@parameters[0]]
carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得武器:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去武器:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
# 继续
return true
end
#--------------------------------------------------------------------------
# ● 增减防具(task)
#--------------------------------------------------------------------------
def command_128
# 获取要操作的值
value = operate_value(@parameters[1], @parameters[2], @parameters[3])
if @task_type
if value <= 0
return true
else
arm_num = @parameters[0].to_s + "%" + value.to_s
$game_task[0].re_arm << arm_num
end
return true
elsif @skip
return true
end
if @reward
if value < 0
$game_party.gain_armor(@parameters[0], value)
end
return true
end
# 增减防具
$game_party.gain_armor(@parameters[0], value) ######################
if $game_switches[$不显示防具窗口]==false
carol3_66RPG_item = $data_armors[@parameters[0]]
carol3_66RPG = Window_Base.new((640-300)/2,128,300,100)
carol3_66RPG.contents = Bitmap.new(carol3_66RPG.width - 32, carol3_66RPG.height - 32)
if value >= 0
carol3_66RPG.contents.draw_text(0,0,240,32,"获得防具:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"006-System06",80,100)
else
carol3_66RPG.contents.draw_text(0,0,240,32,"失去防具:")
#——声效,可以自己改
Audio.se_play("Audio/SE/"+"005-System05",80,100)
end
carol3_66RPG_bitmap = RPG::Cache.icon(carol3_66RPG_item.icon_name)
carol3_66RPG.contents.blt(0, 32, carol3_66RPG_bitmap, Rect.new(0, 0, 24, 24), 255)
carol3_66RPG.contents.draw_text(0 + 28, 32, 212, 32, carol3_66RPG_item.name, 0)
carol3_66RPG.contents.draw_text(0, 32, 268, 32, "×"+value.abs.to_s, 2)
carol3_66RPG.opacity = 160
for i in 0..30
Graphics.update
end
for i in 0..10
carol3_66RPG.opacity -= 30
carol3_66RPG.contents_opacity -= 30
Graphics.update
end
carol3_66RPG.dispose
end
return true
# 继续
return true
end
if @task_type
if value > 0
$game_task[0].re_exp = value
end
return true
elsif @skip
return true
end
if @reward
if value > 0
iterate_actor(0) do |actor|
# 更改角色 EXP
actor.exp += value
end
end
return true
end
# 处理重复
iterate_actor(@parameters[0]) do |actor|
# 更改角色 EXP
actor.exp += value
end
# 继续
return true
end
#--------------------------------------------------------------------------
# ● 增减能力值(task)
#--------------------------------------------------------------------------
def command_317
# 获取操作值
value = operate_value(@parameters[2], @parameters[3], @parameters[4])
# 获取角色
actor = $game_actors[@parameters[0]]
if @task_type
if value > 0
str = @parameters[1].to_s + "%" + value.to_s
$game_task[0].re_ab << str
end
return true
elsif @skip
return true
end
if @reward
if value <= 0
return true
end
iterate_actor(0) do |actor|
case @parameters[1]
when 0 # MaxHP
actor.maxhp += value
when 1 # MaxSP
actor.maxsp += value
when 2 # 力量
actor.str += value
when 3 # 灵巧
actor.dex += value
when 4 # 速度
actor.agi += value
when 5 # 魔力
actor.int += value
end
end
return true
end
# 继续
if actor != nil
case @parameters[1]
when 0 # MaxHP
actor.maxhp += value
when 1 # MaxSP
actor.maxsp += value
when 2 # 力量
actor.str += value
when 3 # 灵巧
actor.dex += value
when 4 # 速度
actor.agi += value
when 5 # 魔力
actor.int += value
end
end
return true
end
#--------------------------------------------------------------------------
# ● 增减特技(task)
#--------------------------------------------------------------------------
def command_318
# 获取角色
actor = $game_actors[@parameters[0]]
if @task_type
if @parameters[1] != 0
$game_task[0].re_ski << actor.id.to_s + "%" + @parameters[2].to_s
end
return true
elsif @skip
return true
end
if @reward
if @parameters[1] != 0
return true
end
end
# 增减特技
if actor != nil
if @parameters[1] == 0
actor.learn_skill(@parameters[2])
else
actor.forget_skill(@parameters[2])
end
end
# 继续
return true
end