| 赞 | 2 |
| VIP | |
| 好人卡 | |
| 积分 | 18 |
| 经验 | |
| 最后登录 | 2026-5-24 |
| 在线时间 | 1313 小时 |
- 梦石
- 0
- 星屑
- 1788
- 在线时间
- 1313 小时
- 注册时间
- 2012-8-4
- 回帖
- 724
|
发表于 2016-4-24 21:43:06
|
显示全部楼层
fjm 发表于 2016-4-24 21:34 
多谢了,可以用了
增加4、5、6个随机敌人[pre lang="ruby"]=begin
scope
效果的范围
0:无
1:敌方单体
2:敌方全体
3:敌方单体 连击
4:敌方单体 随机目标
5:敌方二体 随机目标
6:敌方三体 随机目标
7:我方单体
8:我方全体
9:我方单个濒死者
10:我方所有濒死者
11:使用者自身
for_opponent?
判断效果范围是否对敌方队员有效,当效果范围之值为 1、2、3、4、5 或 6 时返回 true 。
for_friend?
判断效果范围是否对己方队员有效,当效果范围之值为 7、8、9、10 或 11 时返回 true 。
for_dead_friend?
判断效果范围是否对无法战斗的己方队员有效,当效果范围之值为 9或 10 时返回 true 。
for_user?
判断效果范围是否对使用者本身有效,当效果范围之值为 11 时返回 true 。
for_one?
判断效果范围是否对单体队员有效,当效果范围之值为 1、3、4、7、9 或 11 时返回 true 。
for_two?
判断效果范围是否对二体队员有效,当效果范围之值为 5 时返回 true 。
for_three?
判断效果范围是否对三体队员有效,当效果范围之值为 6 时返回 true 。
for_random?
判断效果范围是否对随机队员有效,当效果范围之值为 4、5 或 6 时返回 true 。
for_all?
判断效果范围是否对全体队员有效,当效果范围之值为 2、8 或 10 时返回 true 。
dual?
判断效果范围是否对单体敌方队员连续有效,当效果范围之值为 3 时返回 true 。
need_selection?
判断效果范围是否对需要选取目标有效,当效果范围之值为 1、3、7 或 9 时返回 true 。
battle_ok?
判断物品是否可以在战斗中使用,当使用场合为 0 或 1 时返回 true 。
menu_ok?
判断物品是否可以在菜单中使用,当使用场合为 0 或 2 时返回 true 。
=end
module RPG
class UsableItem < BaseItem
def initialize
super
@scope = 0
@occasion = 0
@speed = 0
@animation_id = 0
@common_event_id = 0
@base_damage = 0
@variance = 20
@atk_f = 0
@spi_f = 0
@physical_attack = false
@damage_to_mp = false
@absorb_damage = false
@ignore_defense = false
@element_set = []
@plus_state_set = []
@minus_state_set = []
end
def for_opponent?
#添加随机4、5、6个敌人的scope标志12,13,14
return [1, 2, 3, 4, 5, 6,12,13,14].include?(@scope)
end
def for_friend?
return [7, 8, 9, 10, 11].include?(@scope)
end
def for_dead_friend?
return [9, 10].include?(@scope)
end
def for_user?
return [11].include?(@scope)
end
def for_one?
return [1, 3, 4, 7, 9, 11].include?(@scope)
end
def for_two?
return [5].include?(@scope)
end
def for_three?
return [6].include?(@scope)
end
#添加随机4、5、6个敌人
def for_four?
return [12].include?(@scope)
end
def for_five?
return [13].include?(@scope)
end
def for_six?
return [14].include?(@scope)
end
#########
def for_random?
#添加随机4、5、个敌人的scope标志12,13,14
return [4, 5, 6,12,13,14].include?(@scope)
end
def for_all?
return [2, 8, 10].include?(@scope)
end
def dual?
return [3].include?(@scope)
end
def need_selection?
return [1, 3, 7, 9].include?(@scope)
end
def battle_ok?
return [0, 1].include?(@occasion)
end
def menu_ok?
return [0, 2].include?(@occasion)
end
attr_accessor :scope
attr_accessor :occasion
attr_accessor :speed
attr_accessor :animation_id
attr_accessor :common_event_id
attr_accessor :base_damage
attr_accessor :variance
attr_accessor :atk_f
attr_accessor :spi_f
attr_accessor :physical_attack
attr_accessor :damage_to_mp
attr_accessor :absorb_damage
attr_accessor :ignore_defense
attr_accessor :element_set
attr_accessor :plus_state_set
attr_accessor :minus_state_set
end
end
class Game_BattleAction
#--------------------------------------------------------------------------
# ● 生成技能或物品目标
# obj : 技能或物品
#--------------------------------------------------------------------------
def make_obj_targets(obj)
targets = []
#范围为4个的物品
#$data_items[x].scope=12
#范围为5个的物品
#$data_items[x].scope=13
#范围为4个的技能
#$data_skills[x].scope=12
#范围为5个的技能
$data_skills[83].scope=13
#范围为6个的技能
$data_skills[84].scope=14
#
if obj.for_opponent? #判断效果范围是否对敌方队员有效,当效果范围之值为 1、2、3、4、5 或 6 时返回 true 。
if obj.for_random?#判断效果范围是否对随机队员有效,当效果范围之值为 4、5 或 6 时返回 true 。
if obj.for_one? # 敌随机单体
number_of_targets = 1
elsif obj.for_two? # 敌随机二体
number_of_targets = 2
elsif obj.for_three? # 敌随机三体
number_of_targets = 3
elsif obj.for_four? #敌随机四体
number_of_targets = 4
elsif obj.for_five? #敌随机五体
number_of_targets = 5
else
number_of_targets = 6 #敌随机六+体
end
number_of_targets.times do
targets.push(opponents_unit.random_target)
end
elsif obj.dual? # 敌单体连续
targets.push(opponents_unit.smooth_target(@target_index))
targets += targets
elsif obj.for_one? # 敌单体
targets.push(opponents_unit.smooth_target(@target_index))
else # 敌全体
targets += opponents_unit.existing_members
end
elsif obj.for_user? # 使用者
targets.push(battler)
elsif obj.for_dead_friend?
if obj.for_one? # 我方单体(无法行动)
targets.push(friends_unit.smooth_dead_target(@target_index))
else # 我方全体(无法行动)
targets += friends_unit.dead_members
end
elsif obj.for_friend?
if obj.for_one? # 我方单体
targets.push(friends_unit.smooth_target(@target_index))
else # 我方全体
targets += friends_unit.existing_members
end
end
return targets.compact
end
end[/pre]
|
评分
-
查看全部评分
|