Project1
标题: 怪物光环效果 [打印本页]
作者: crow2006 时间: 2015-4-27 10:59
标题: 怪物光环效果
本帖最后由 crow2006 于 2015-4-27 17:37 编辑
# ** 怪物光环效果
# 让怪物具有特定的光环属性,让玩家尽可能地优先击杀它们:
# 虚弱光环:使所有敌人攻击降低
# 衰老光环:使所有敌人防御降低
# 退化光环:使所有敌人魔力降低
# 迟钝光环:使所有敌人敏捷降低
# 腐蚀光环:使所有敌人每回合损失生命
# 守护光环:使所有队友所受伤害降低
# 残暴光环:使所有队友击中时追加伤害
# 回复光环:使所有队友每回合恢复生命
# 嗜血光环:使所有队友击中时偷取生命
# 荆棘光环:使所有队友受近战攻击时反弹伤害
范例中提供了提供了腐蚀光环、回复光环、嗜血光环、荆棘光环等四种光环效果,
其他的光环请自行设置,也可以设置诸如
暴击光环:所有队友暴击率提升
黑暗光环:所有敌人命中率降低
迅捷光环:所有队友敏捷提升
等等等等~~~尽情发挥你的想象力吧!
设置方式:
一种是【根据状态设置光环强度】,在class Game_Enemy < Game_Battler中定义,
例如:
def gh8 #回复光环:使所有队友每回合恢复生命
n = 0
return 0 if self.hp == 0 #死亡后光环失效
n += 10 if self.state?(28)
return n
end
def gh8 #回复光环:使所有队友每回合恢复生命
n = 0
return 0 if self.hp == 0 #死亡后光环失效
n += 10 if self.state?(28)
return n
end
一种是【根据怪物ID设置光环强度】,同样是在class Game_Enemy < Game_Battler中定义,
def gh8 #回复光环:使所有队友每回合恢复生命
n = 0
return 0 if self.hp == 0
case @enemy_id #请仿造此处自由设定 怪物ID
when 100 #按照怪物ID设置光环强度
return 100 #ID100的敌人回复光环:100
end
return n
end
def gh8 #回复光环:使所有队友每回合恢复生命
n = 0
return 0 if self.hp == 0
case @enemy_id #请仿造此处自由设定 怪物ID
when 100 #按照怪物ID设置光环强度
return 100 #ID100的敌人回复光环:100
end
return n
end
两种方法可以同时使用,根据状态设置比较适合横版,可以看见怪物的状态。
如果是根据状态设置的话,可以在def initialize(index, enemy_id)中添加给怪物附上状态的部分,编辑起来较为方便,例如:
case @enemy_id
when 1 #范例
self.add_state(25) #腐蚀光环
self.add_state(28) #回复光环
self.add_state(29) #嗜血光环
self.add_state(30) #荆棘光环
end
case @enemy_id
when 1 #范例
self.add_state(25) #腐蚀光环
self.add_state(28) #回复光环
self.add_state(29) #嗜血光环
self.add_state(30) #荆棘光环
end
设置光环需要以下几个步骤:
例如新设置虚弱光环:使所有敌人攻击降低
第一步:在class Game_Enemy < Game_Battler中定义
def gh1 #虚弱光环:使所有敌人攻击降低
n = 0
return 0 if self.hp == 0 #死亡后光环失效
n += 10 if self.state?(21)
return n
end
def gh1 #虚弱光环:使所有敌人攻击降低
n = 0
return 0 if self.hp == 0 #死亡后光环失效
n += 10 if self.state?(21)
return n
end
第二步:在class Game_Unit中定义
def gh1_total
result = 0
for member in members
result += member.gh1
end
return result
end
def gh1_total
result = 0
for member in members
result += member.gh1
end
return result
end
第三步:在class Game_Actor < Game_Battler def base_atk中增加一句:
def base_atk
n = actor.parameters[2, @level]
for item in equips.compact do n += item.atk end
if $game_temp.in_battle #仅在战斗中生效
n -= $game_troop.gh1_total #虚弱光环
end
n = 1 if n < 1
return n
end
def base_atk
n = actor.parameters[2, @level]
for item in equips.compact do n += item.atk end
if $game_temp.in_battle #仅在战斗中生效
n -= $game_troop.gh1_total #虚弱光环
end
n = 1 if n < 1
return n
end
成功。
-
-
怪物光环效果.zip
259.34 KB, 下载次数: 105
作者: 怪蜀黍 时间: 2015-4-27 17:03
如果能配以少量实现方法的讲解就更完美了,编辑完善后吾会来加分
作者: chd114 时间: 2015-4-30 01:44
如果是横版给光环限定范围呢?
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |