欢迎光临散文网 会员登陆 & 注册

RPGMaker MV 基于Yep系列插件实例教程(1)

2023-04-29 12:43 作者:贝嗷武甫  | 我要投稿


保护黑魔公主殿下!


本贴所有实例来自于Yep官网实例,本人仅作翻译和讲解代码用途,有时带有个人发散性思维。

官网地址:Category:RPG Maker MV Plugin Tips & Tricks - Yanfly.moe Wiki
Day1:Aura of Sacrifice

魔兽圣骑士《奉献光环》的做法:
需求插件:(全部为yep系插件)
Battle Engine Core
Buffs & States Core
Passive Aura Effects


实现这个功能需要写两个buff。
第一个buff是写一个光环buff【奉献光环】加在代替受到伤害的角色身上,
第二个buff则是给队友附加【受保护】的buff,注意受保护的有效度要调低,例子写的是0.

随后,在【奉献光环】状态备注内写:
<Alive Ally Aura: 受保护状态buff的ID>
//用于作为光环附加【受保护】buff效果。

并在【受保护】状态备注内写:
<Custom React Effect>
// 检查动作是否造成伤害
if (this.isHpEffect() && value > 0) {
  // 检索受伤害角色的存活队友列表
  var members = target.friendsUnit().aliveMembers();
  // 检索光环 ID
  var auraOriginId = 你的奉献光环buffID;
  // 定义光环buff拥有者为 undefined
  var auraOriginUser = undefined;
  // 开始在队友列表检索目标的循环
  for (var i = 0; i < members.length; ++i) {
    // 在队友中定义目标
    var member = members;
    // 检查目标是否存活,是否并非为受攻击对象本身,是否为光环持有者。
    if (member && member !== target && member.isStateAffected(你光环buff的ID)) {
      // 选定次光环持有者为目标
      auraOriginUser = member;
      // 跳出检索循环
      break;
    }
  }
  // 检查光环持有者是否存在
  if (auraOriginUser) {
    // 计算减伤
    var reduction = Math.ceil(0.50 * value);
    // 将对原目标的伤害降为0
    value = 0;
    // 对光环持有者造成计算减伤后的伤害
    auraOriginUser.gainHp(-reduction);
    // 显示造成攻击特效(随你选一个,和你动画id里的一样)
    auraOriginUser.startAnimation(2);
    // 对光环持有者跳出伤害数值。
    auraOriginUser.startDamagePopup();
    // 检查光环持有者是否死亡
    if (auraOriginUser.isDead()) {
      // 若光环持有者已死亡。
      auraOriginUser.performCollapse();
    }
    // 清除对光环持有者的计算结果。
    auraOriginUser.clearResult();
  }
}
</Custom React Effect>

RPGMaker MV 基于Yep系列插件实例教程(1)的评论 (共 条)

分享到微博请遵守国家法律