赞 | 45 |
VIP | 271 |
好人卡 | 233 |
积分 | 95 |
经验 | 181865 |
最后登录 | 2025-6-25 |
在线时间 | 2756 小时 |
Lv4.逐梦者 「Pemercyia」 泱 银 Urhurrenna
- 梦石
- 0
- 星屑
- 9542
- 在线时间
- 2756 小时
- 注册时间
- 2008-9-5
- 帖子
- 3544
   
|
本帖最后由 cinderelmini 于 2015-9-21 14:43 编辑
Game_Battler里面的【计算伤害】部分:- #--------------------------------------------------------------------------
- # ● 计算伤害
- #--------------------------------------------------------------------------
- def make_damage_value(user, item)
- value = item.damage.eval(user, self, $game_variables)
- value *= item_element_rate(user, item)
- value *= pdr if item.physical?
- value *= mdr if item.magical?
- value *= rec if item.damage.recover?
- value = apply_critical(value) if @result.critical
- value = apply_variance(value, item.damage.variance)
- value = apply_guard(value)
- if user.is_a?(Game_Actor)
- if item.id == 50 # 消耗全部TP的技能ID分歧,多技能的话请用include?的方式
- value *= 1 + user.tp_rate
- end
- end
- @result.make_damage(value.to_i, item)
- end
复制代码 计算伤害的部分,然后技能设置的时候这个技能的TP消耗设定为0。
(清楚tp的那句还是不要放在这里了。)
之后去【Scene_Battle】里(用了别的战斗系统的话就去新的战斗系统里)找到“use_item”方法,然后把
- @subject.use_item(item)
- refresh_status
复制代码 这两句放到方法的最后去,这样应该真的就可以了。。。。
PS:为了让这个行为可逆,请用复制和注释的方式,以免忘记它们原来的位置(雾
include?的用法的话,如果自己有module的话,
就可以在module里写个技能组,如:- module XXX
- TP_SKILL_IDS = []
- for i in 50..100
- TP_SKILL_IDS.push(i)
- end
- end
复制代码 如果没有自己的模块的话,就在mian脚本里面找个空白的地方写:
- $tp_skill_ids = []
- for i in 50..100
- $tp_skill_ids.push(i)
- end
复制代码 然后用的时候,像这样就行:- if XXX::TP_SKILL_IDS.include?(skill.id)
- # 或者:
- if $tp_skill_ids.include?(skill.id)
复制代码 唔。。就这样。。。
总之就是先建个数组,把包含的ID全塞进去,再判断这个数组是不是包含了当前的技能ID…… |
评分
-
查看全部评分
|