Project1

标题: 请问如何实现自定义技能类型的消耗 [打印本页]

作者: xkm198510    时间: 2015-4-10 16:18
标题: 请问如何实现自定义技能类型的消耗
比方说原本自带的技能类型是 魔法和特技,我现在增加了一个叫“怒气”的技能类型有些技能必须消费新加的“怒气值”才能使用,但是在数据库编辑里面只有魔法和特技的消耗值,没有新加的怒气消耗值,请问该如何设置?
作者: taroxd    时间: 2015-4-10 16:23
思路就是写在备注里并用脚本读取
作者: xkm198510    时间: 2015-4-10 17:00
taroxd 发表于 2015-4-10 16:23
思路就是写在备注里并用脚本读取

请问这个脚本应该怎么写?
作者: chd114    时间: 2015-4-11 10:44
首先你需要添加怒气这样的属性,然后参考
  1.   #--------------------------------------------------------------------------
  2.   # ● 计算技能消费的 MP
  3.   #--------------------------------------------------------------------------
  4.   def skill_mp_cost(skill)
  5.     (skill.mp_cost * mcr).to_i
  6.   end
  7.   #--------------------------------------------------------------------------
  8.   # ● 计算技能消费的 TP
  9.   #--------------------------------------------------------------------------
  10.   def skill_tp_cost(skill)
  11.     skill.tp_cost
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 判定是否足够扣除技能的使用消耗
  15.   #--------------------------------------------------------------------------
  16.   def skill_cost_payable?(skill)
  17.     tp >= skill_tp_cost(skill) && mp >= skill_mp_cost(skill)
  18.   end
  19.   #--------------------------------------------------------------------------
  20.   # ● 扣除技能的使用消耗
  21.   #--------------------------------------------------------------------------
  22.   def pay_skill_cost(skill)
  23.     self.mp -= skill_mp_cost(skill)
  24.     self.tp -= skill_tp_cost(skill)
  25.   end
复制代码
添加对应的判定,再写进
  1. #--------------------------------------------------------------------------
  2.   # ● 检查技能的使用条件
  3.   #--------------------------------------------------------------------------
  4.   def skill_conditions_met?(skill)
  5.     usable_item_conditions_met?(skill) &&
  6.     skill_wtype_ok?(skill) && skill_cost_payable?(skill) &&
  7.     !skill_sealed?(skill.id) && !skill_type_sealed?(skill.stype_id)
  8.   end
复制代码





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