| 赞 | 5 |
| VIP | |
| 好人卡 | |
| 积分 | 39 |
| 经验 | |
| 最后登录 | 2026-8-3 |
| 在线时间 | 1899 小时 |
- 梦石
- 0
- 星屑
- 3850
- 在线时间
- 1899 小时
- 注册时间
- 2010-6-19
- 回帖
- 917
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有账号?注册会员
×
找了个法术多秒系统,介绍说 秒的其他对象采用速度判定,并且作用己方多秒
的时候,附加状态判定,即有该魔法附加的状态,秒的其他对象将变成没有该状态的角
色。,但是发现个Bug,敌人没像角色那样有附加状态判定,导致比如对敌人用了法术,然后敌人身上
被附加了状态,下次再使用该法术的时候,还是优先以速度为判断,如何改成和角色一样,敌人身上有状态了就秒到没状态的敌人身上
[pre lang="ruby"]=begin
================================================================================
● 法术多秒系统介绍 BY-Kaiser.DS
================================================================================
『介绍』
☆模拟网游[梦幻西游]的多秒系统,秒的其他对象采用速度判定,并且作用己方多秒
的时候,附加状态判定,即有该魔法附加的状态,秒的其他对象将变成没有该状态的角
色。
=end
class Scene_Battle
def tg_xiuzheng(s)
for kds_dui in $data_skills[@active_battler.current_action.skill_id].plus_state_set
if $game_party.smooth_target_actor(s).states.include?(kds_dui)
return true
end
end
return false
end
def tg_xiuzheng2(s)
for kds_dui in $data_skills[@active_battler.current_action.skill_id].plus_state_set
if $game_troop.smooth_target_enemy(s).states.include?(kds_dui)
return true
end
end
return false
end
def dr_ac
index = @active_battler.current_action.target_index
$miao = 1
if @active_battler.current_action.kind == 1
@skill = $data_skills[@active_battler.current_action.skill_id]
if $data_skills[@skill.id].kds_miao > 1
@sudu = []
@guang = []
for s in 0..$game_party.actors.size-1
if $game_party.actors.hp != 0
@sudu.push($game_party.smooth_target_actor(s).agi)
@guang.push(s)
end
end
for a in 0..@sudu.size-1
for s in 0..@sudu.size-1
if s < @sudu.size-1 and @sudu < @sudu[s+1]
elsif s < @sudu.size-1 and @sudu > @sudu[s+1]
@abc = @sudu
@sudu = @sudu[s+1]
@sudu[s+1] = @abc
@bcd = @guang
@guang = @guang[s+1]
@guang[s+1] = @bcd
end
end
end
for s in 0..@sudu.size-1
if @guang[@sudu.size-1-s] == index
else
$miao += 1
@target_battlers.push($game_party.smooth_target_actor(@guang[@sudu.size-1 - s]))
end
if $miao == $data_skills[@skill.id].kds_miao
break
end
end
end
end
end
def dr_dr
index = @active_battler.current_action.target_index
$miao = 1
if @active_battler.current_action.kind == 1
@skill = $data_skills[@active_battler.current_action.skill_id]
if $data_skills[@skill.id].kds_miao > 1
@sudu = []
@guang = []
for s in 0..$game_troop.enemies.size-1
if $game_troop.enemies.hp != 0 and @active_battler.current_action.kind == 1 and tg_xiuzheng2(s) == false
@sudu.push($game_troop.smooth_target_enemy(s).agi)
@guang.push(s)
end
end
for a in 0..@sudu.size-1
for s in 0..@sudu.size-1
if s < @sudu.size-1 and @sudu < @sudu[s+1]
elsif s < @sudu.size-1 and @sudu > @sudu[s+1]
@abc = @sudu
@sudu = @sudu[s+1]
@sudu[s+1] = @abc
@bcd = @guang
@guang = @guang[s+1]
@guang[s+1] = @bcd
end
end
end
for s in 0..@sudu.size-1
if @guang[@sudu.size-1-s] == index
else
$miao += 1
@target_battlers.push($game_troop.smooth_target_enemy(@guang[@sudu.size-1 - s]))
end
if $miao == $data_skills[@skill.id].kds_miao
break
end
end
end
end
end
def ac_dr
index = @active_battler.current_action.target_index
if @active_battler.current_action.kind == 1
@skill = $data_skills[@active_battler.current_action.skill_id]
$miao = 1
if $data_skills[@skill.id].kds_miao > 1
@sudu = []
@guang = []
for s in 0..$game_troop.enemies.size-1
if $game_troop.enemies.hp != 0
@sudu.push($game_troop.smooth_target_enemy(s).agi)
@guang.push(s)
end
end
for a in 0..@sudu.size-1
for s in 0..@sudu.size-1
if s < @sudu.size-1 and @sudu < @sudu[s+1]
elsif s < @sudu.size-1 and @sudu > @sudu[s+1]
@abc = @sudu
@sudu = @sudu[s+1]
@sudu[s+1] = @abc
@bcd = @guang
@guang = @guang[s+1]
@guang[s+1] = @bcd
end
end
end
for s in 0..@sudu.size-1
if @guang[@sudu.size-1-s] == index
else
$miao += 1
@target_battlers.push($game_troop.smooth_target_enemy(@guang[@sudu.size-1 - s]))
end
if $miao == $data_skills[@skill.id].kds_miao
break
end
end
end
end
end
def ac_ac
index = @active_battler.current_action.target_index
if @active_battler.current_action.kind == 1
@skill = $data_skills[@active_battler.current_action.skill_id]
$miao = 1
if $data_skills[@skill.id].kds_miao > 1
@sudu = []
@guang = []
for s in 0..$game_party.actors.size-1
if $game_party.actors.hp != 0 and @active_battler.current_action.kind == 1 and tg_xiuzheng(s) == false
@sudu.push($game_party.smooth_target_actor(s).agi)
@guang.push(s)
end
end
for a in 0..@sudu.size-1
for s in 0..@sudu.size-1
if s < @sudu.size-1 and @sudu < @sudu[s+1]
elsif s < @sudu.size-1 and @sudu > @sudu[s+1]
@abc = @sudu
@sudu = @sudu[s+1]
@sudu[s+1] = @abc
@bcd = @guang
@guang = @guang[s+1]
@guang[s+1] = @bcd
end
end
end
for s in 0..@sudu.size-1
if @guang[@sudu.size-1-s] == index
else
$miao += 1
@target_battlers.push($game_party.smooth_target_actor(@guang[@sudu.size-1 - s]))
end
if $miao == $data_skills[@skill.id].kds_miao
break
end
end
end
end
end
end[/pre] |
|