Project1
标题:
sideview怎么让弓类武器产生穿刺和击打两种伤害?
[打印本页]
作者:
雌性触手
时间:
2011-11-7 02:43
标题:
sideview怎么让弓类武器产生穿刺和击打两种伤害?
#--------------------------------------------------------------------------
# ● 动作指定 从装备着的武器ID来决定通常攻击的动作。
#--------------------------------------------------------------------------
# when 1 ←这个数字是武器ID
# return "通常攻击" ←请填入对应的连贯动作名
def base_action
case @id
#当24号武器攻击时 物品35>1就-1并使用“弓”否则即为“通常攻击”
when 24
if $game_party.item_number($data_items[35]) > 0
$game_party.lose_item($data_items[35],1)
return "弓"
else
return "通常攻击"
end
end
# 上述ID以外的其他全部使用的动作
return "通常攻击"
end
复制代码
这个远程和近战一个伤害…… 能不能让它变成有弹药即为穿刺伤害 伤害较高 而没武器则为击打伤害 伤害低。(动画也改变…… dsu_plus_rewardpost_czw
作者:
月夜神音
时间:
2011-11-7 09:13
修改Game_Actor的def element_set看看?
作者:
雌性触手
时间:
2011-11-7 16:39
不好意思…… 本人不怎么懂脚本…… 这是别人脚本里提取出来然后自己改的……
请问具体要修改那个地方?
作者:
怪蜀黍
时间:
2011-11-7 20:43
本帖最后由 protosssonny 于 2011-11-7 20:43 编辑
在Game_Battler类下面找到def make_attack_damage_value(attacker),添加第8行即可:
#--------------------------------------------------------------------------
# ● 计算普通攻击造成的伤害
# attacker : 攻击者
# 结果代入 @hp_damage。
#--------------------------------------------------------------------------
def make_attack_damage_value(attacker)
damage = attacker.atk * 4 - self.def * 2 # 基本计算
damage /= 3 if $game_party.item_number($data_items[35]) == 0 #添加本行
damage = 0 if damage < 0 # 减少为 0
damage *= elements_max_rate(attacker.element_set) # 修正属性
damage /= 100
if damage == 0 # 伤害为 0
damage = rand(2) # 1/2 概率为伤害 1
elsif damage > 0 # 伤害为正数
@critical = (rand(100) < attacker.cri) # 判断会心一击
@critical = false if prevent_critical # 防止会心一击?
damage *= 3 if @critical # 会心一击修正
end
damage = apply_variance(damage, 20) # 分散
damage = apply_guard(damage) # 防御修正
@hp_damage = damage # HP 伤害
end
复制代码
在35号弹药为0时,攻击力为原来的1/3。
公式什么的可以自己修改,就是damage=……就可以了。
这里的1/3只是我的举例!
作者:
雌性触手
时间:
2011-11-7 22:53
本帖最后由 雌性触手 于 2011-11-7 22:59 编辑
感谢 但是问题又来了……
当本次攻击让弹药无剩余时 和无弹药时的伤害是一样的…… 动画也没改……
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1