Project1
标题:
VA扩散技能脚本如何转换成MVZ插件
[打印本页]
作者:
alexncf125
时间:
2020-1-25 21:53
标题:
VA扩散技能脚本如何转换成MVZ插件
本帖最后由 alexncf125 于 2024-1-25 01:45 编辑
另外,敵人不都有個編號
我想技能註解加入了<Neighbor_of_Target_Skill:擴散技能ID>時
如果隨機單個目標是3號,則2,4號再受到擴散技能ID攻擊
如果隨機三個目標是2,4,5號,則1,3,3,5,4,6號再受到一次擴散技能ID攻擊
即3號會受到2次擴散技能ID攻擊
4號會受到1次原本施放於目標的技能攻擊,1次擴散技能ID攻擊
#encoding:utf-8
=begin
*******************************************************************************************
* 擴散技能 *for RGSS3 Ver 1.0.0
功能:特定技能可造成目標敵方與剩餘敵方不同的技能效果
使用方法:
將需要擁有擴散效果的技能註解中加入<Out_of_Target_Skill:擴散技能ID>
即可讓目標以外的剩餘敵人受到擴散技能效果
(目標本身並不會受影響,只會受到原本施放於目標的技能)
注意事項:
此腳本中直接改寫了Scene_Battle中的use_item方法,
插入其他腳本時請注意相依性
摘要:此腳本修改或重新定義以下類別:
■ Scene_Battle
*******************************************************************************************
=end
#encoding:utf-8
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
# 戰斗畫面
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● 使用技能/物品 (修改)
#--------------------------------------------------------------------------
def use_item
item = @subject.current_action.item
@log_window.display_use_item(@subject, item)
@subject.use_item(item)
refresh_status
targets = @subject.current_action.make_targets.compact
if item.is_a?(RPG::Skill) && item.note =~ /<Out_of_Target_Skill:(\d+)>/i
all_targets = @subject.current_action.opponents_unit.alive_members
side_targets = all_targets - targets
side_item = $data_skills[$1.to_i]
show_animation_no_wait(targets, item.animation_id)
show_animation(side_targets, side_item.animation_id)
targets.each {|target| item.repeats.times { invoke_item(target, item) } }
side_targets.each {|target| side_item.repeats.times { invoke_item(target, side_item) } }
else
show_animation(targets, item.animation_id)
targets.each {|target| item.repeats.times { invoke_item(target, item) } }
end
end
#--------------------------------------------------------------------------
# ● 顯示動畫(不等待)
# targets : 目標的數組
# animation_id : 動畫 ID(-1: 與普通攻擊一樣)
#--------------------------------------------------------------------------
def show_animation_no_wait(targets, animation_id)
if animation_id < 0
show_attack_animation(targets)
else
show_normal_animation(targets, animation_id)
end
end
end
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1