Project1

标题: 能不能在公式里改变技能的属性 [打印本页]

作者: lirn    时间: 2014-9-12 21:43
标题: 能不能在公式里改变技能的属性
我设置的大部分公式都在make_damage_value里修改,现在想问一些问题。

就是能不能在这些公式里改变技能的属性。

第一种是命中类型,


而命中类型又会影响技能的属性,我是想想公式中能不能改变必中物理魔法技能属性。

比如说,

我想一个技能一定能打中,可以设置成必中,但必中的技能并不属于物理攻击魔法攻击,所以对应减伤无效,而且也无法被反击反弹。

又或者,我想一个技能受命中回避影响,但不属于物理魔法的任何一种,也就是不受反击反弹影响,能做得到不?


第二种是直接的技能属性



我是想通过element_rate的判断,来改变某些技能的属性。比如说,对方element_rate < 100,更改成别的属性。
作者: taroxd    时间: 2014-9-13 07:39
1. 不能
2. 可以。直接修改数据库中道具的属性即可。但是十分不推荐这种做法。

总之你就老老实实在 Game_Battler 里面改吧
作者: 上贺茂润    时间: 2014-9-13 09:51
虽然不能改变技能的属性 但是可以用分歧做出仿真效果 在Damage公式里加一个case的判定 通过Skill的base_id返回一个百分数 然后你可以再伤害计算的属性判定后加上这个百分数
作者: lirn    时间: 2014-9-14 00:58
看来,似乎都还是不行呢,又或者非常麻烦的呢。
作者: chd114    时间: 2014-9-14 11:53
脚本编辑器里可以改,公式不能
作者: czh098tom    时间: 2014-9-14 12:08
最新研究表明脚本中的值和函数最全
脚本Game_BattlerBase 57~84行:
def mhp; param(0); end # 最大HP Maximum Hit Point
def mmp; param(1); end # 最大MP Maximum Magic Point
def atk; param(2); end # 物理攻击 ATtacK power
def def; param(3); end # 物理防御 DEFense power
def mat; param(4); end # 魔法攻击 Magic ATtack power
def mdf; param(5); end # 魔法防御 Magic DeFense power
def agi; param(6); end # 敏 捷 值 AGIlity
def luk; param(7); end # 幸 运 值 LUcK
def hit; xparam(0); end # 成功几率 HIT rate
def eva; xparam(1); end # 闪避几率 EVAsion rate
def cri; xparam(2); end # 必杀几率 CRItical rate
def cev; xparam(3); end # 闪避必杀几率 Critical EVasion rate
def mev; xparam(4); end # 闪避魔法几率 Magic EVasion rate
def mrf; xparam(5); end # 反射魔法几率 Magic ReFlection rate
def cnt; xparam(6); end # 反击几率 CouNTer attack rate
def hrg; xparam(7); end # HP再生速度 Hp ReGeneration rate
def mrg; xparam(8); end # MP再生速度 Mp ReGeneration rate
def trg; xparam(9); end # TP再生速度 Tp ReGeneration rate
def tgr; sparam(0); end # 受到攻击的几率 TarGet Rate
def grd; sparam(1); end # 防御效果比率 GuaRD effect rate
def rec; sparam(2); end # 恢复效果比率 RECovery effect rate
def pha; sparam(3); end # 药理知识 PHArmacology
def mcr; sparam(4); end # MP消费率 Mp Cost Rate
def tcr; sparam(5); end # TP消耗率 Tp Charge Rate
def pdr; sparam(6); end # 物理伤害加成 Physical Damage Rate
def mdr; sparam(7); end # 魔法伤害加成 Magical Damage Rate
def fdr; sparam(8); end # 地形伤害加成 Floor Damage Rate
def exr; sparam(9); end # 经验获得加成 EXperience Rate
无视param(),其它部分证明像闪避率a.eva回复率a.hrg也能带入计算式

所以你可以参照脚本对命中的判定用a.hit b.eva b.mev 以及判定? :仿制一个。第一个应该没问题




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1