koishi-plugin-ggcevo-game 1.4.7 → 1.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +8 -8
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -525,7 +525,7 @@ var spaceStationCrewConfig = [
|
|
|
525
525
|
{
|
|
526
526
|
professionName: "警卫长",
|
|
527
527
|
effect: "攻击伤害+5%,攻击获得的金币+100%",
|
|
528
|
-
requirements: "
|
|
528
|
+
requirements: "当期伤害榜前二十名",
|
|
529
529
|
Jobtransfer: true,
|
|
530
530
|
costcoins: 3e3
|
|
531
531
|
},
|
|
@@ -696,11 +696,12 @@ async function checkTransferRequirements(ctx, handle, profession) {
|
|
|
696
696
|
return { success: false, message: "需要当前职业为警卫员下士" };
|
|
697
697
|
}
|
|
698
698
|
if (!mainBoss) return { success: false, message: "当前暂无伤害榜。" };
|
|
699
|
-
const
|
|
700
|
-
const
|
|
699
|
+
const top20 = await ctx.database.select("ggcevo_boss_damage").where({ bossGroupId: mainBoss.groupId }).orderBy("totalDamage", "desc").limit(20).execute();
|
|
700
|
+
const isInTop202 = top20.some((r) => r.handle === handle);
|
|
701
701
|
return {
|
|
702
|
-
success:
|
|
703
|
-
message: "
|
|
702
|
+
success: isInTop202,
|
|
703
|
+
message: isInTop202 ? "" : "需要当期伤害榜前二十名"
|
|
704
|
+
// 消息提示更新为前二十名
|
|
704
705
|
};
|
|
705
706
|
}
|
|
706
707
|
case "武器中士":
|
|
@@ -3709,8 +3710,6 @@ async function handleScatterAttack(ctx, session, config, handle, equippedWeapon,
|
|
|
3709
3710
|
scatterEffectMessages.push("🔆 【中子步枪】触发散射攻击!");
|
|
3710
3711
|
scatterRatio = 0.8;
|
|
3711
3712
|
}
|
|
3712
|
-
const baseDamage = weaponData.damage * (1 + 0.1 * equippedWeapon.level);
|
|
3713
|
-
const secondaryDamage = Math.round(baseDamage * scatterRatio);
|
|
3714
3713
|
for (const secondaryTarget of secondaryTargets) {
|
|
3715
3714
|
const damageResult = await calculateTotalDamage(
|
|
3716
3715
|
ctx,
|
|
@@ -3719,11 +3718,12 @@ async function handleScatterAttack(ctx, session, config, handle, equippedWeapon,
|
|
|
3719
3718
|
equippedWeapon,
|
|
3720
3719
|
secondaryTarget
|
|
3721
3720
|
);
|
|
3721
|
+
const secondaryDamage = Math.round(damageResult.damage * scatterRatio);
|
|
3722
3722
|
const passiveResult = await PassiveHandler.handlePassives(
|
|
3723
3723
|
ctx,
|
|
3724
3724
|
handle,
|
|
3725
3725
|
secondaryTarget,
|
|
3726
|
-
|
|
3726
|
+
secondaryDamage,
|
|
3727
3727
|
secondaryTarget.HP,
|
|
3728
3728
|
getBossMaxHP(secondaryTarget),
|
|
3729
3729
|
weaponName,
|