<Custom React Effect>
// Check if the damage is positive.检查伤害值是否为正数
if (value > 0) {
// Get the living members of the same party. 若变量大于0,则检索同队内存活的成员。
var members = target.friendsUnit().aliveMembers();
// Make an empty group to list affected members. 制作为空集的受影响队伍列表。
var affected = [];
// We'll go through each member to check them. 开始循环一个一个检索队伍成员
for (var i = 0; i < members.length; ++i) {
// Getting the individual member. 检索到单独成员成为列表中受影响对象
var member = members;
// Does the member exist and is the member affected by state 91 (the Joint Penalty state)? 检索对象是否存活,并是否受到 91 (你的同生共死buff状态的对应ID)影响?
if (member && member.isStateAffected(你同生共死buff对应ID) ){
// If the member is affected, add it to the affected group. 若是,则将其添加入受影响队列清单上。
affected.push(member);
}
}
// Divide up the damage by how many members are affected. 均分并计算每个角色受到的伤害(若要做等额伤害可以删掉这一步或修改)
value = Math.ceil(value / affected.length);
// We'll go through each of the affected members now. 开始循环找寻受影响对象成员
for (var i = 0; i < affected.length; ++i) {
// Getting the individual affected member. 定义受影响对象
var member = affected;
// Ignore the effect if the member is the target of attack. 忽略受到攻击那一个目标,它本身不传导。
if (member !== target) {
// Let's play animation 1 on the affected member. 将动画效果1作为受到传到的动画效果。
member.startAnimation(1);
// The affected member takes damage. 使得受同生共死影响对象承受伤害
member.gainHp(-value);
// We'll have the affected member reveal a damage popup. 跳出受到伤害的数值。
member.startDamagePopup();
// Clear the results of the effect. 清除此效果造成的影响。
member.clearResult();
// Next, check to see if the member is dead. 接下来要检查对象是否死亡。
if (member.isDead()) {
// If the member is dead, we'll make it collapse. 若对象已经死亡,则清除上述进程残留效果。
member.performCollapse();
}
}
}
}
</Custom React Effect>