Project1

标题: 技能等级怎么做,或者有没有类似的插件 [打印本页]

作者: sushao    时间: 2022-12-22 14:33
标题: 技能等级怎么做,或者有没有类似的插件
如题,需要技能根据技能等级增加伤害,默认1级,可通过装备等增加技能等级。
作者: dabaxhei    时间: 2022-12-22 20:36
http://www.yanfly.moe/wiki/Skill_Mastery_Levels_(YEP)
或者你用事件做
作者: sushao    时间: 2022-12-26 10:30
dabaxhei 发表于 2022-12-22 20:36
http://www.yanfly.moe/wiki/Skill_Mastery_Levels_(YEP)
或者你用事件做

不是熟练度
作者: 天一教主    时间: 2022-12-29 11:39
  1. Game_Action.prototype.evalDamageFormula = function(target) {
  2.     try {
  3.         var item = this.item();
  4.         var a = this.subject();
  5.         //添加
  6.         item = this.skillChange(item,a);
  7.         var b = target;
  8.         var v = $gameVariables._data;
  9.         var sign = ([3, 4].contains(item.damage.type) ? -1 : 1);
  10.         var value = Math.max(eval(item.damage.formula), 0) * sign;
  11.         if (isNaN(value)) value = 0;
  12.         return value;
  13.     } catch (e) {
  14.         return 0;
  15.     }
  16. };

  17. Game_Action.prototype.skillChange = function(skill,a){
  18.     var note1 = /<(?:技能等级变换(\[\d+\])):[ ]*((?:\s*[+-]?\d+)*)>/i;
  19.     var equips = a.equips();
  20.     var level = 0 ;
  21.     for (var i = 0; i < equips.length; i++) {
  22.         var item = equips[i];
  23.         if (item) {
  24.             var notedata = item.note.split(/[\r\n]+/);
  25.             for (var j = 0; j < notedata.length; j++) {
  26.                 var line = notedata[j];
  27.                 if (line.match(note1)) {
  28.                     var p1 = RegExp.$1 ;
  29.                     var p2 = RegExp.$2 ;
  30.                     if(p1 == '[' + skill.id + ']' ){
  31.                         level += parseInt(p2);
  32.                     }
  33.                 }
  34.             }
  35.         }
  36.     }
  37.     return $dataSkills[skill.id + level];
  38. }
复制代码
用技能的时候,根据装备替换掉使用的技能应该就可以了,不过技能要多建几个




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