| 赞 | 0 |
| VIP | 20 |
| 好人卡 | 25 |
| 积分 | 8 |
| 经验 | 10611 |
| 最后登录 | 2017-4-16 |
| 在线时间 | 579 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 785
- 在线时间
- 579 小时
- 注册时间
- 2010-2-15
- 帖子
- 1367
|
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ /_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_ /联络技巧◆ - KGC_CooperationSkill◆◆VX的
#_ /◇最后更新:2009/01/25◇
#_/----------------------------------------------- -----------------------------
#_ /组合多种技能,有能力调用另一个技能。
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_ /_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#================================================= =============================
货号#自定义★ - ★自定义的BEGIN
#================================================= =============================
KGC的模块
模块CooperationSkill
#分隔符时启动◆作品名称
NAME_SEPARATOR =“,”
◆消防联络技巧#元
#真:所有的技能从中消防工程。
#错误:只有技能,消防工程。
#※没有脚本的综合效果。
EXECUTE_ORIGIN_SKILL =假
#只有当您激活相同的目标◆
#正确的:原来的目标是所有(或所有)只有激活时同样的技能。
#技能,而不是一个随机的目标是很好的※。
#错误:解雇任何人,即使符合技能要求的目标。
联络技巧#目标,激活时的行动目标。
SAME_TARGET_ONLY =真
#◆工程技术允许敌人
#真:判断敌人的技能一起工作。
#错误:没有敌人的联络能力。
PERMIT_ENEMY =真
结束
结束
#================================================= =============================
#☆结束定制内容 - 自定义完☆
#================================================= =============================
进口= $ $ {}如果进口零==
进口$ [“CooperationSkill”] =真
KGC的模块
模块CooperationSkill
对技能要求#中的参数结合
参数= {
:Level_avg“=>”LEVEL_AVG |平均水平,“
:Level_min“=>”LEVEL_MIN |的最小型低]的水平,“
:Level_max“=>”LEVEL_MAX |顶部[Oodaka]的水平,“
}
#属性列表的技能,为国家的联系
阵列= {
:Attack_element“=>”ATTACK_ELEMENT |攻击属性“
:国家“=>”态|国“
}
模块的regexp
技能模块
#启动联络技巧
BEGIN_COOPERATE = /<(?: COOPERATION_SKILL |连续[脚腕关系]技能)“/我
#结束联络技巧
END_COOPERATE = / <\ /(:?COOPERATION_SKILL |连续[脚腕关系]技能)“/我
#所需技能列表
NEED_SKILLS = / ^ \秒*(:?NEED_SKILLS |技能要求?)\秒*(\ d +可(:\ S的*,\的*是\ D +)*?)\的* /我
REG_NAME ='[^:\ + \ - \ ð \秒] +'
REG_OU =结束了|下|更多|少'
条件参数#
#10或更高的水平
COOPERATE_PARAMS = / ^ \秒*(#{REG_NAME})\秒*(\ d +可)\秒*(#{REG_OU})?\ S的* $ /我
#属性的国家名单
国家#1,2,3,
COOPERATE_ARRAYS = / ^ \秒*(#{REG_NAME})\秒*(\ d +可(:\ S的*,\秒* \ - \的D +)*?)\的* $ /我
结束
结束
结束
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#================================================= =============================
#■角色扮演::技能
#================================================= =============================
角色扮演类::技能<角色扮演::UsableItem
#------------------------------------------------- -------------------------
○什么是联络技巧#
#------------------------------------------------- -------------------------
高清is_cooperation?
self.note.each_line {|行|
#查找开始标记
如果行=〜KGC的::CooperationSkill::正则表达式::技能::BEGIN_COOPERATE
返回true
结束
}
返回false
结束
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#================================================= =============================
#■Game_Temp
#================================================= =============================
类Game_Temp
#------------------------------------------------- -------------------------
●拓基米#实例变量
#------------------------------------------------- -------------------------
attr_accessor:judging_cooperation_skill#旗决定联络技巧
#------------------------------------------------- -------------------------
●#对象初始化
#------------------------------------------------- -------------------------
别名initialize_KGC_CooperationSkill初始化
高清初始化
initialize_KGC_CooperationSkill
@ Judging_cooperation_skill =假
结束
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#================================================= =============================
#□Game_CooperationSkill
#------------------------------------------------- -----------------------------
#类联络技巧来处理信息。
#================================================= =============================
类Game_CooperationSkill
#------------------------------------------------- -------------------------
#实例变量拓博○
#------------------------------------------------- -------------------------
attr_reader:身份证编号#技能触发
attr_reader:need_skills#先决条件ID列表
attr_reader:条件参数参数#
attr_reader:params_over#状态参数: - 更多
attr_reader:need_arrays#列出所需状态的属性
attr_reader:disuse_arrays#列出所需状态的属性
#------------------------------------------------- -------------------------
#初始化对象○
#Skill_id:技能的ID
#注:请注意
#------------------------------------------------- -------------------------
高清初始化(skill_id,注)
@标识= skill_id
@ Need_skills = []
@参数= {}
@ Params_over = {}
@ Need_arrays = {}
@ Disuse_arrays = {}
parse_note(注)
结束
#------------------------------------------------- -------------------------
#获取技能○
#------------------------------------------------- -------------------------
高清技术
返回$ data_skills [@ id]的
结束
#------------------------------------------------- -------------------------
○现场分析注释#
#注:请注意
#------------------------------------------------- -------------------------
高清parse_note(注)
coop_flag =假
note.each_line {|行|
案件线
当KGC前::CooperationSkill::正则表达式::技能::BEGIN_COOPERATE
#启动耀西沙达联络技巧
coop_flag =真
当KGC前::CooperationSkill::正则表达式::技能::END_COOPERATE
#完耀西沙达联络技巧
coop_flag =假
结束
未来除非coop_flag
案件线
当KGC前::CooperationSkill::正则表达式::技能::NEED_SKILLS
#技能要求
parse_need_skills($ 1.scan(/ \ - ?\的D + /))
当KGC前::CooperationSkill::正则表达式::技能::COOPERATE_PARAMS
#中的参数
parse_params($ 1,$ 2.to_i,$ 3)
当KGC前::CooperationSkill::正则表达式::技能::COOPERATE_ARRAYS
国家#属性
parse_arrays($ 1,$ 2.scan(/ \ - ?\的D + /))
结束
}
结束
#------------------------------------------------- -------------------------
#○必要的技能解析
#列出:技能ID列表
#------------------------------------------------- -------------------------
高清parse_need_skills(名单)
技能= []
list.each {|编号|
技能| = [num.to_i]
}
@ Need_skills <<技能
结束
#------------------------------------------------- -------------------------
#修复的能力,同时适用于○技能
#参数:目标参数
#值:修饰符
#电导率:或多或少
#------------------------------------------------- -------------------------
高清parse_params(参数,价值,待续)
KGC前::CooperationSkill::PARAMS.each {| K表,五|
下一步,如果参数!〜/(?:#{ v}的)/我
@参数[k]的值=
@ Params_over [k]的=(cond!〜/下|少/我)
打破
}
结束
#------------------------------------------------- -------------------------
#附加属性向国家联络技巧○
#参数:目标参数
#列出:国家属性列表
#------------------------------------------------- -------------------------
高清parse_arrays(参数,列表)
KGC前::CooperationSkill::ARRAYS.each {| K表,五|
下一步,如果参数!〜/(?:#{ v}的)/我
如果@ need_arrays [k]的零==
@ Need_arrays [k]的= []
@ Disuse_arrays [k]的= []
结束
list.each {|编号|
每组num.to_i
如果n> 0
@ Need_arrays [k]的| = [n]的
其他
@ Disuse_arrays [k]的| = [n.abs]
结束
}
打破
}
结束
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
$ Data_skills = load_data(“数据/ Skills.rvdata”),如果$ data_skill ==无
KGC的模块::CooperationSkill
#转换技能的联络名单
名单= []
$ Data_skills.each {|技术|
下一步,如果无技能==
未来除非skill.is_cooperation?
清单<<Game_CooperationSkill.new(skill.id,skill.note)
}
技巧=列表
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#================================================= =============================
#■Game_Actor
#================================================= =============================
类Game_Actor <Game_Battler
#------------------------------------------------- -------------------------
#●测定可用技能
#技能:技能
#------------------------------------------------- -------------------------
高清skill_can_use?(技能)
超级回报
结束
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#================================================= =============================
#□Game_CooperationSkillUser
#------------------------------------------------- -----------------------------
#一流的技能,处理消防工程的信息。
#================================================= =============================
类Game_CooperationSkillUser
#------------------------------------------------- -------------------------
#实例变量拓博○
#------------------------------------------------- -------------------------
attr_reader:#指数运动指数
attr_reader:skill_id#身份证火的技能
attr_reader:target_battlers#攻击
#------------------------------------------------- -------------------------
#初始化对象○
#------------------------------------------------- -------------------------
高清初始化(战斗者)
如果$进口[“反”]
battler.action.made_targets =无
结束
@指数= battler.index
@ Skill_id = battler.action.skill_id
@ Target_battlers = []
battler.action.make_targets.each {|吨|
@ Target_battlers <<t.index
}
结束
#------------------------------------------------- -------------------------
○#当量的测定
#------------------------------------------------- -------------------------
高清平等的吗?(OBJ文件)
返回false,除非obj.is_a?(Game_CooperationSkillUser)
如果@指数返回false!= obj.index
返回false skill_id!= obj.skill_id
返回false如果@ target_battlers!= obj.target_battlers
返回true
结束
#------------------------------------------------- -------------------------
○#相等运算符
#------------------------------------------------- -------------------------
高清==(obj的)
返回self.equal?(OBJ文件)
结束
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#================================================= =============================
#□Game_CooperationBattler
#------------------------------------------------- -----------------------------
#这是联络时调用Damibatorakurasu技能。
#================================================= =============================
类Game_CooperationBattler <Game_Battler
#------------------------------------------------- -------------------------
●拓基米#实例变量
#------------------------------------------------- -------------------------
attr_accessor:battler_type#:演员或:敌人
attr_accessor:exec_battlers#列出火
attr_accessor:coop_skill#联络技能的信息
#------------------------------------------------- -------------------------
●#对象初始化
#------------------------------------------------- -------------------------
高清初始化
@ Battler_type =:演员
@ Exec_battlers = []
@ Coop_skill =无
超
结束
#------------------------------------------------- -------------------------
#确定演员●
#------------------------------------------------- -------------------------
高清演员?
返回(@ battler_type ==:演员)
结束
#------------------------------------------------- -------------------------
#获取指数●
#------------------------------------------------- -------------------------
高清指数
返回0
结束
#------------------------------------------------- -------------------------
#获取显示名称●
#------------------------------------------------- -------------------------
高清名称
海峡=“”
成员=($ game_party演员:?$ game_troop)的成员。
exec_battlers.each_with_index {| B,我|
海峡+ =成员[b.index]。名称
如果我<exec_battlers.size - 1
KGC的海峡+ =::CooperationSkill::NAME_SEPARATOR
结束
}
返回海峡
结束
#------------------------------------------------- -------------------------
#取得的水平●
#------------------------------------------------- -------------------------
高清水平
值= []
exec_battlers.each {| b |值<<b.level}
返回values.max
结束
#------------------------------------------------- -------------------------
#得到最大○
#------------------------------------------------- -------------------------
高清level_max
回报水平
结束
#------------------------------------------------- -------------------------
#取得平均水平○
#------------------------------------------------- -------------------------
高清level_avg
n = 0时
exec_battlers.each {| b |名词+ = b.level}
返回(牛顿/ exec_battlers.size)
结束
#------------------------------------------------- -------------------------
●MaxHP获取#
#------------------------------------------------- -------------------------
高清maxhp
值= []
exec_battlers.each {| b |值<<b.maxhp}
返回values.max
结束
#------------------------------------------------- -------------------------
●MaxMP获取#
#------------------------------------------------- -------------------------
高清maxmp
值= []
exec_battlers.each {| b |值<<b.maxmp}
返回values.max
结束
#------------------------------------------------- -------------------------
#●惠普收购
#------------------------------------------------- -------------------------
高清马力
值= []
exec_battlers.each {| b |值<<b.hp}
返回values.min
结束
#------------------------------------------------- -------------------------
●MP的获取#
#------------------------------------------------- -------------------------
高清MP的
值= []
exec_battlers.each {| b |值<<b.mp}
返回values.min
结束
#------------------------------------------------- -------------------------
#取得的驱动器数量计○
#------------------------------------------------- -------------------------
高清超速
值= []
exec_battlers.each {| b |值<<b.overdrive}
返回values.min
结束
#------------------------------------------------- -------------------------
#攻击●取得
#------------------------------------------------- -------------------------
高清攻击力
值= []
exec_battlers.each {| b |值<<b.atk}
返回values.max
结束
#------------------------------------------------- -------------------------
#取得防御●
#------------------------------------------------- -------------------------
高清画质
值= []
exec_battlers.each {| b |值<<b.def}
返回values.max
结束
#------------------------------------------------- -------------------------
#获取精神力量●
#------------------------------------------------- -------------------------
高清的SPI
值= []
exec_battlers.each {| b |值<<b.spi}
返回values.max
结束
#------------------------------------------------- -------------------------
#取得敏捷●
#------------------------------------------------- -------------------------
高清阿吉
值= []
exec_battlers.each {| b |值<<b.agi}
返回values.max
结束
#------------------------------------------------- -------------------------
#取得●精度
#------------------------------------------------- -------------------------
高清打
值= []
exec_battlers.each {| b |值<<b.hit}
返回[values.max,100]。最大
结束
#------------------------------------------------- -------------------------
#取得逃税●
#------------------------------------------------- -------------------------
高清伊娃
返回0
结束
#------------------------------------------------- -------------------------
#取得暴击●
#------------------------------------------------- -------------------------
高清国际广播电台
值= []
exec_battlers.each {| b |值<<b.cri}
返回values.max
结束
#------------------------------------------------- -------------------------
●MP的变化#
#手机:新国会议员
#------------------------------------------------- -------------------------
高清熔点=(议员)
减少每个人的国会议员#共谋
差异= self.mp - MP的
exec_battlers.each {| b | b.mp -=差异}
结束
#------------------------------------------------- -------------------------
○车道#操作规范
#------------------------------------------------- -------------------------
高清超速=(值)
车道#减轻所有共犯计
差异= self.overdrive - 超速
exec_battlers.each {| b | b.overdrive -=差异}
结束
#------------------------------------------------- -------------------------
#●全部收回
#------------------------------------------------- -------------------------
高清recover_all
#什么都不做
结束
#------------------------------------------------- -------------------------
●无行为能力的决心#
#------------------------------------------------- -------------------------
高清死了吗?
exec_battlers.each {| b |
返回true,如果b.dead?
}
返回false
结束
#------------------------------------------------- -------------------------
#判断有无●
#------------------------------------------------- -------------------------
高清存在?
exec_battlers.each {| b |
返回除非b.exist假?
}
返回true
结束
#------------------------------------------------- -------------------------
#命令可以输入●确定
#------------------------------------------------- -------------------------
高清可输入的?
exec_battlers.each {| b |
返回false,除非b.inputtable?
}
返回true
结束
#------------------------------------------------- -------------------------
●#可操作的决定
#------------------------------------------------- -------------------------
高清移动?
exec_battlers.each {| b |
返回false,除非b.movable?
}
返回true
结束
#------------------------------------------------- -------------------------
●#沉默状态确定
#------------------------------------------------- -------------------------
高清沉默?
exec_battlers.each {| b |
返回true,如果b.silent?
}
返回false
结束
#------------------------------------------------- -------------------------
●#失控状态确定
#------------------------------------------------- -------------------------
高清狂战士?
返回false
结束
#------------------------------------------------- -------------------------
●确定混乱#
#------------------------------------------------- -------------------------
高清混乱呢?
返回false
结束
#------------------------------------------------- -------------------------
#测定保护●
#------------------------------------------------- -------------------------
高清护卫?
返回false
结束
#------------------------------------------------- -------------------------
#得到一个正常的属性攻击●
#------------------------------------------------- -------------------------
高清element_set
结果= []
exec_battlers.each {| b |结果| = b.element_set}
返回结果
结束
#------------------------------------------------- -------------------------
#改变一个普通攻击●(+)的收购状态
#------------------------------------------------- -------------------------
高清plus_state_set
结果= []
exec_battlers.each {| b |结果| = b.plus_state_set}
返回结果
结束
#------------------------------------------------- -------------------------
#改变一个普通攻击●国家( - )获得
#------------------------------------------------- -------------------------
高清minus_state_set
结果= []
exec_battlers.each {| b |结果| = b.minus_state_set}
返回结果
结束
#------------------------------------------------- -------------------------
国家#●[损伤滑]测试
#------------------------------------------------- -------------------------
高清slip_damage?
返回false
结束
#------------------------------------------------- -------------------------
国家#●[精度下降]测试
#------------------------------------------------- -------------------------
高清reduce_hit_ratio?
返回false
结束
结束
#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★
#================================================= =============================
#■Scene_Battle
#================================================= =============================
类Scene_Battle <Scene_Base
#------------------------------------------------- -------------------------
#开始处理●
#------------------------------------------------- -------------------------
别名start_KGC_CooperationSkill启动
高清开始
start_KGC_CooperationSkill
init_cooperation_skill
结束
#------------------------------------------------- -------------------------
#初始化变量进行联络的能力○
#------------------------------------------------- -------------------------
高清init_cooperation_skill
@ Cooperation_skill_judged =假
@ Cooperation_skill_exec =假
@ Cooperation_skill_data =无
@ Cooperate_actors = []
@ Cooperate_enemies = []
结束
#------------------------------------------------- -------------------------
●党#启动命令的选择
#------------------------------------------------- -------------------------
别名start_party_command_selection_KGC_CooperationSkill
start_party_command_selection
高清start_party_command_selection
如果$ game_temp.in_battle
init_cooperation_skill
结束
start_party_command_selection_KGC_CooperationSkill
结束
#------------------------------------------------- -------------------------
#开始执行作战●
#------------------------------------------------- -------------------------
别名start_main_KGC_CooperationSkill start_main
高清start_main
start_main_KGC_CooperationSkill
init_cooperate_battler_list
结束
#------------------------------------------------- -------------------------
#初始化数据为决策○
#------------------------------------------------- -------------------------
高清init_cooperate_battler_list
[:演员:敌人]每个{|我|。
万一我
当:演员
cooperate_battlers = @ cooperate_actors
成员= $ game_party.members
当:敌人
cooperate_battlers = @ cooperate_enemies
成员= $ game_troop.members
结束
巴特勒#设定目标
cooperate_battlers.clear
除非KGC前::CooperationSkill::EXECUTE_ORIGIN_SKILL
members.each {|战斗者|
未来除非battler.action.skill?
cooperate_battlers <<Game_CooperationSkillUser.new(战斗者)
}
结束
}
结束
#------------------------------------------------- -------------------------
#担负战备●
#------------------------------------------------- -------------------------
别名execute_action_KGC_CooperationSkill execute_action
高清execute_action
@ Cooperation_skill_judged =假
如果KGC前::CooperationSkill::EXECUTE_ORIGIN_SKILL
execute_action_KGC_CooperationSkill
judge_cooperation_skill(@ active_battler)
其他
judge_cooperation_skill(@ active_battler)
除非@ cooperation_skill_judged&&@ cooperation_skill_exec
execute_action_KGC_CooperationSkill
结束
结束
如果@ cooperation_skill_exec
如果@ cooperation_skill_judged
execute_cooperation_skill
其他
finish_cooperation_skill
结束
结束
结束
#------------------------------------------------- -------------------------
○决定引发了第一次联络技巧#
#战斗者:参与
#------------------------------------------------- -------------------------
高清judge_cooperation_skill(战斗者)
返回false如果@ cooperation_skill_judged
返回false如果@ cooperation_skill_exec
@ Cooperation_skill_judged =真
单位=(battler.is_a(Game_Actor)$ game_troop:??$ game_party)
如果battler.action.kind == 1
#决定如果火灾左边第二个目标
除非unit.all_dead?
返回judge_cooperation_skill_second(战斗者)
结束
其他
#如果不删除从行动的技能确定阵列
如果unit.is_a?(Game_Party)
remove_cooperate_battler(:演员,战斗者)
elsif unit.is_a?(Game_Troop)
remove_cooperate_battler(:敌人,战斗者)
结束
结束
返回false
结束
#------------------------------------------------- -------------------------
#删除Works帮凶○
#类型::演员或:敌人
#战斗者:删除
#------------------------------------------------- -------------------------
高清remove_cooperate_battler(类型,战斗者)
battlers =(类型==:演员@ cooperate_actors:@ cooperate_enemies)
battlers.each_index {|我|
如果battlers [我]。指数== battler.index
battlers [我] =无
结束
}
battlers.compact!
结束
#------------------------------------------------- -------------------------
#激活第二联○决心技能
#战斗者:参与
#------------------------------------------------- -------------------------
高清judge_cooperation_skill_second(战斗者)
#创建决策数据
@ Current_cooperate_user = Game_CooperationSkillUser.new(战斗者)
如果battler.is_a?(Game_Actor)
remove_cooperate_battler(:演员,战斗者)
@ Cooperate_actors | = [@ current_cooperate_user]
elsif battler.is_a?(Game_Enemy)
remove_cooperate_battler(:敌人,战斗者)
@ Cooperate_enemies | = [@ current_cooperate_user]
结束
#决定触发联络技巧
KGC前::CooperationSkill::SKILLS.each {|客服|
#测定演员
如果battler.is_a?(Game_Actor)
judge_cooperation_skill_third(:演员,CS)的
#决定敌人
elsif battler.is_a?(Game_Enemy)
judge_cooperation_skill_third(:敌人,CS)的
结束
如果@ cooperation_skill_exec突破
}
返回@ cooperation_skill_exec
结束
#------------------------------------------------- -------------------------
○联络技巧#第三行使决策
#类型::演员或:敌人
#Cs_data:合作技术统计
#------------------------------------------------- -------------------------
高清judge_cooperation_skill_third(类型,cs_data)
如果type ==:敌人
#如果你不回敌人的炮火
KGC的回报,除非::CooperationSkill::PERMIT_ENEMY
结束
@ Cooperation_skill_exec =假
案件类型
当:演员
cooperate_battlers = @ cooperate_actors
成员= $ game_party.members
当:敌人
cooperate_battlers = @ cooperate_enemies
成员= $ game_troop.members
结束
@ Exec_battlers = create_cooperation_exec_battlers(cs_data,
cooperate_battlers,委员)
#返回,如果没有在他们的行动的同谋
返回if@exec_battlers.empty?
#返回,除非您指定相同的目标
除非same_target_include回报?(cs_data,cooperate_battlers,委员)
$ Game_temp.judging_cooperation_skill =真
prepare_cooperation_exec(类型,cs_data,cooperate_battlers,委员)
$ Game_temp.judging_cooperation_skill =假
结束
#------------------------------------------------- -------------------------
#创建列表的工作技能锻炼○
#Cs_data:合作技术统计
#Cooperate_battlers:列出帮凶工程
#成员:一个全员工程的共谋
#------------------------------------------------- -------------------------
高清create_cooperation_exec_battlers(cs_data,cooperate_battlers,委员)
battlers = []
cs_data.need_skills.each {|南北|
battlers.clear
#部分确定其行为
未来除非ns.include?(@ current_cooperate_user.skill_id)
#技能要求满足所有的决定
技能= ns.clone
ns.each {| skill_id |
用户= cooperate_battlers.find {|会CB |
skill_id == cb.skill_id&&!battlers.include?(CB)的
}
#如果用户没有确定
如果用户==无
battlers.clear
技能= [0]
打破
结束
battlers <<用户
skills.delete(skill_id)
}
BREAK如果skills.empty?确定为空阵列#==>技能要求的满意度
}
除非cooperation_conditions_satisfy?(cs_data,battlers,委员)
battlers = []
结束
返回battlers
结束
#------------------------------------------------- -------------------------
#决定○条件的满足
#Cs_data:合作技术统计
#Candidate_battlers:工程计划表进行测试同谋
#成员:一个全员工程的共谋
#------------------------------------------------- -------------------------
高清cooperation_conditions_satisfy?(cs_data,candidate_battlers,委员)
返回,如果candidate_battlers.empty?
#参数的计算
level_avg = 0
各级= []
candidate_battlers.each {|会CB |
战斗者=成员[cb.index]
level_avg + = battler.level
水平“<battler.level
}
level_avg / = members.size
比赛= Proc.new {|甲,乙过来,|在一个> = B的:一个<= B的}#触发的决心
cs_data.params.each {| K表,五|
参数= 0
方案K
当:level_avg#平均水平
参数= level_avg
当:level_min#最低水平
参数= levels.min
当:level_max#最高水平
参数= levels.max
结束
返回false,除非comp.call(参数,五,cs_data.params_over [k]的)
}
返回true
结束
#------------------------------------------------- -------------------------
#匹配目标决策联系○
#Cs_data:合作技术统计
#Cooperate_battlers:列出帮凶工程
#成员:一个全员工程的共谋
#------------------------------------------------- -------------------------
高清same_target_include?(cs_data,cooperate_battlers,委员)
返回true,除非KGC的::CooperationSkill::SAME_TARGET_ONLY
#如果目标确定为
duplicate_battlers =(0 .. 99)。to_a
@ Exec_battlers.each {|光大|
duplicate_battlers&= eb.target_battlers
}
返回(duplicate_battlers.size> 0)
结束
#------------------------------------------------- -------------------------
○准备消防工程#
#类型::演员或:敌人
#Cs_data:合作技术统计
#Cooperate_battlers:列出帮凶工程
#成员:一个全员工程的共谋
#------------------------------------------------- -------------------------
高清prepare_cooperation_exec(类型,cs_data,cooperate_battlers,委员)
#决定是否行使
@ Exec_battlers.each {|光大|
战斗者=成员[eb.index]
除非battler.exist?&&battler.skill_can_use?(cs_data.skill)
返回
结束
}
@ Cooperation_skill_exec =真
@ Cooperation_skill_data = cs_data
@ Cooperation_skill_user =类型
#从列表中删除那些谁行使行为
cooperate_battlers.each_with_index {|淙斌,我|
if@exec_battlers.include?(CB)的
@ Action_battlers.delete(成员[cb.index])
cooperate_battlers [我] =无
结束
}
cooperate_battlers.compact!
结束
#------------------------------------------------- -------------------------
○消防联络技巧#
#------------------------------------------------- -------------------------
高清execute_cooperation_skill
#注册一个虚拟
@ Action_battlers.unshift(create_cooperation_skill_battler)
结束
#------------------------------------------------- -------------------------
#触发连锁○(巴特勒假人)创建
#------------------------------------------------- -------------------------
高清create_cooperation_skill_battler
战斗者= Game_CooperationBattler.new
battler.battler_type = @ cooperation_skill_user
battler.coop_skill = @ cooperation_skill_data
battler.action.set_skill(@ cooperation_skill_data.id)
#获取目标
成员=(@ cooperation_skill_user ==:演员?
$ Game_party:$ game_troop)成员。
目标=(0 .. 99)。to_a
@ Exec_battlers.each {|光大|
battler.exec_battlers <<成员[eb.index]
目标&= eb.target_battlers
}
如果target.empty?
#目标采取的行动最后为人所知的,如果目标
目标= @ current_cooperate_user.target_battlers
结束
battler.action.target_index =目标[兰特(target.size)]
返回战斗者
结束
#------------------------------------------------- -------------------------
○联络技能#退出
#------------------------------------------------- -------------------------
高清finish_cooperation_skill
@ Cooperation_skill_exec =假
@ Cooperation_skill_data =无
@ Exec_battlers = []
结束
#------------------------------------------------- -------------------------
#技能的一部分,确定联动○
#战斗者:巴特勒法官
#------------------------------------------------- -------------------------
高清cooperation_exec?(战斗者)
返回false,除非@ cooperation_skill_exec
如果battler.is_a(Game_Actor)| | KGC的:?:CooperationSkill::PERMIT_ENEMY
#确定是否大火已被所载
@ Exec_battlers.each_index {|我|
返回true如果@ exec_battlers [我]。指数== battler.index
}
结束
返回false
结束
结束 |
|