赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 1520 |
最后登录 | 2017-6-25 |
在线时间 | 27 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 27 小时
- 注册时间
- 2016-8-3
- 帖子
- 15
|
5楼
楼主 |
发表于 2017-4-6 21:13:31
|
只看该作者
#--------------------------------------------------------------------------
# ☆ オートリザレクションのメッセージの表示
#--------------------------------------------------------------------------
def display_autorevive_message(battler)
return if battler.hp != 0
#~ p "オートリザレクション"
fmt = Vocab::Revive
add_text(sprintf(fmt, battler.name))
wait
end
# ☆ オートリザレクション判定(追加定義)
#--------------------------------------------------------------------------
def auto_revive
read = battler_add_ability(1)
return false if @actor_add_cheack[1] == true
return false if @actor_add_delay[1] > 0
return false if @actor_add_counter[1] < 1
@actor_add_cheack[1] = true
read = battler_add_ability(1) # ここでやってええやろ add zorome
return false if read[1] < rand(100) #確率判定
return 1 if read[0] > 1
return read[0] if read[0] != 0
return false
end
#--------------------------------------------------------------------------
# ☆ オートリザレクション(追加定義)
#--------------------------------------------------------------------------
def revive_life(rper)
if self.hp != 0
@actor_add_cheack[1] = false
return
end
self.hp = (mhp * rper).to_i
self.mp = (mmp * rper).to_i
#オートリザレクションステートの解除
states.each do |state|
if state.battler_add_ability(1)[0] != 0
erase_state(state.id)
end
end
@actor_add_counter[1] -= 1
end
#オートリザレクション
read_arr = [0,0,0,0]
while cheak_note do
cheak_note.match(/<オートリザレクション\s?(\d+)%\s?,\s?(\d+)%\s?,\s?(\d+)\s?,\s?(\d+)>/)
if $1 && $2 && $3 && $4
value = [[read_arr[0],$1.to_i].max,[read_arr[1],$2.to_i].max,[read_arr[2],$3.to_i].max,[read_arr[3],$4.to_i].max]
read_arr = value
end
cheak_note = $'
end
battler_add = read_arr
# オートリザレクション、踏みとどまり配列を作成
auto_revive_battler = Array.new
all_battle_members.each do |battler|
push = battler.auto_revive
auto_revive_battler.push([battler,push]) if push
end
#オートリザレクション実行
auto_revive_battler.each do |battler_list|
@log_window.display_autorevive_message(battler_list[0])
battler_list[0].revive_life(battler_list[1])
refresh_status
@log_window.wait_and_clear
end
#オートリザレクション配列を作成
auto_revive_battler = Array.new
#オートリザレクション
push = battler.auto_revive
auto_revive_battler.push([battler,push]) if push
#オートリザレクション実行
auto_revive_battler.each do |battler_list|
@log_window.display_autorevive_message(battler_list[0])
battler_list[0].revive_life(battler_list[1])
refresh_status
@log_window.wait_and_clear
end
这是萌新找到的所有关于自动复活的脚本了 |
|