赞 | 4 |
VIP | 0 |
好人卡 | 0 |
积分 | 9 |
经验 | 9460 |
最后登录 | 2024-10-29 |
在线时间 | 85 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 853
- 在线时间
- 85 小时
- 注册时间
- 2005-11-21
- 帖子
- 86
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 黑夜守望者 于 2012-6-22 21:41 编辑
说明:
玩过PSP上面皇家骑士团-命运之轮的人应该知道,里面的不死系单位有个特性,就是被打到HP=0的时候会转为假死状态,3回合后HP完全回复再次复活。并且有个“除灵”的技能,能将假死中的不死系敌人完全消灭。
接下来是自己研究出来的一种实现方法:
先设置数据库:
1.不死状态:我设置是30号状态(此状态最好是设置一下闪烁的色调,以便区分不死系敌人)
2.假死状态:我设置是31号状态,限制:不行动,3回合(可在数据库中设定回合数)后100%概率解除
3.除灵技能:效果:去除31号假死状态,真正清除不死系敌人
4.开关:假死状态复活还原色调用,我是设置20号开关
更改几处脚本:
第一处:Game_Battler 1
#--------------------------------------------------------------------------
# ● 战斗不能判定 + 去除不死情况
#--------------------------------------------------------------------------
def dead?
return (@hp == 0 and not @immortal and not self.state?(30) and not self.state?(31))
end
#--------------------------------------------------------------------------
# ● 存在判定 + 假死中的不死系
#--------------------------------------------------------------------------
def exist?
return (not @hidden and (@hp > 0 or @immortal or self.state?(31)))
end
第二处:Game_Battler 2
#--------------------------------------------------------------------------
# ● 状态自然解除 (回合改变时调用)
#--------------------------------------------------------------------------
def remove_states_auto
for i in @states_turn.keys.clone
if @states_turn > 0
@states_turn -= 1
elsif rand(100) < $data_states.auto_release_prob
#===================达到假死状态设定的回合数后复活========
if self.state?(31)
remove_state(31)
add_state(30)
@hp = self.maxhp#复活后加满HP
Audio.se_play("Audio/SE/"+"139-Darkness02",100,100)#复活的音效
$game_switches[20] = true#20号开关开启,用于还原假死状态设置的色调
end
#=========================================================
remove_state(i)
end
end
end
第三处:Sprite_Battler
# korapusu
if @battler.damage == nil and @battler.dead?
if @battler.is_a?(Game_Enemy)
$game_system.se_play($data_system.enemy_collapse_se)
else
$game_system.se_play($data_system.actor_collapse_se)
end
collapse
@battler_visible = false
end
#=========进入假死状态==================
if @battler.damage == nil and @battler.hp == 0 and @battler.state?(30)
@battler.remove_state(30)
@battler.add_state(31)
$game_system.se_play($data_system.enemy_collapse_se)#死亡(假死)的音效
self.color.set(0, 0, 0, 255)#假死状态色调
end
#====================================
#=============假死状态复活后还原色调(开关编号:20)========
if $game_switches[20]
self.color.set(255, 255, 255, 0)
$game_switches[20] = false
#self.opacity = 80
end
#=====================================
end
# 设置活动块的坐标
self.x = @battler.screen_x
self.y = @battler.screen_y
self.z = @battler.screen_z
end
end
如此,附加有30号不死状态的丧尸敌人或角色在被打死后3回合后复活,要想完全消灭必须用技能“除灵”解除假死状态中的单位。
注意:不死这个状态对己方角色也有用,建议设置一个技能(necromancy之类的……附加上31号状态),用在己方HP=0的角色身上,可以体验到做死灵法师的快感…… |
|