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


本贴所有实例来自于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>