不同人对吸血的理解不同,所以写出的效果当然不同咯。
在我的考场中,也出现过吸血的处理(详见R考场第二期,第三大题)。在那里的吸血技能还需要考虑吸血者本身的 maxhp,即假设吸血者的hp为99/100,那么这个吸血技能最多吸1点HP,并且对敌人的伤害也是1点。
代码方面的建议的话,首先是根据RGSS1的逻辑,伤害处理部分写在skill_effect中,伤害显示部分则放在Scene_Battle中,所以在这里,可以顺便将伤害处理也写在skill_effect中,这样的话,全局变量就可以省掉。当然,动画的处理就可能要写在这了(除非不要动画)。
if [75, 76, 77].include?(skill_id) drain = last_hp - self.hp if drain > 0 user.damage = -drain user.hp -= user.damage end end
if [75, 76, 77].include?(skill_id)
drain = last_hp - self.hp
if drain > 0
user.damage = -drain
user.hp -= user.damage
end
end
然后在Scene_Battle只需要添加damage_pop一项即可。 |