koishi-plugin-ggcevo-game 1.4.7 → 1.4.9
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 +10 -11
- package/lib/weapons.d.ts +0 -1
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -137,7 +137,6 @@ var weaponConfig = {
|
|
|
137
137
|
redCrystalCost: 10,
|
|
138
138
|
isantiair: true,
|
|
139
139
|
tagEffects: {
|
|
140
|
-
"轻甲": 0.5,
|
|
141
140
|
"重甲": 0.2
|
|
142
141
|
}
|
|
143
142
|
},
|
|
@@ -238,7 +237,7 @@ var weaponConfig = {
|
|
|
238
237
|
category: "能量武器",
|
|
239
238
|
damage: 32,
|
|
240
239
|
description: "一种原型能量武器,能够发射强大的脉冲",
|
|
241
|
-
specialeffect: "
|
|
240
|
+
specialeffect: "攻击减少目标的2层技能计数",
|
|
242
241
|
price: 1500,
|
|
243
242
|
redCrystalCost: 15,
|
|
244
243
|
isantiair: true,
|
|
@@ -525,7 +524,7 @@ var spaceStationCrewConfig = [
|
|
|
525
524
|
{
|
|
526
525
|
professionName: "警卫长",
|
|
527
526
|
effect: "攻击伤害+5%,攻击获得的金币+100%",
|
|
528
|
-
requirements: "
|
|
527
|
+
requirements: "当期伤害榜前二十名",
|
|
529
528
|
Jobtransfer: true,
|
|
530
529
|
costcoins: 3e3
|
|
531
530
|
},
|
|
@@ -696,11 +695,12 @@ async function checkTransferRequirements(ctx, handle, profession) {
|
|
|
696
695
|
return { success: false, message: "需要当前职业为警卫员下士" };
|
|
697
696
|
}
|
|
698
697
|
if (!mainBoss) return { success: false, message: "当前暂无伤害榜。" };
|
|
699
|
-
const
|
|
700
|
-
const
|
|
698
|
+
const top20 = await ctx.database.select("ggcevo_boss_damage").where({ bossGroupId: mainBoss.groupId }).orderBy("totalDamage", "desc").limit(20).execute();
|
|
699
|
+
const isInTop202 = top20.some((r) => r.handle === handle);
|
|
701
700
|
return {
|
|
702
|
-
success:
|
|
703
|
-
message: "
|
|
701
|
+
success: isInTop202,
|
|
702
|
+
message: isInTop202 ? "" : "需要当期伤害榜前二十名"
|
|
703
|
+
// 消息提示更新为前二十名
|
|
704
704
|
};
|
|
705
705
|
}
|
|
706
706
|
case "武器中士":
|
|
@@ -2528,7 +2528,7 @@ var PassiveHandler = {
|
|
|
2528
2528
|
{ name: targetBoss.name },
|
|
2529
2529
|
{ Vulnerability: newLayers }
|
|
2530
2530
|
);
|
|
2531
|
-
if (newLayers ===
|
|
2531
|
+
if (newLayers === currentLayers) {
|
|
2532
2532
|
messages.push(`☢️ 【辐射】效果达到上限(10层)`);
|
|
2533
2533
|
} else {
|
|
2534
2534
|
const layerIncrease = newLayers - currentLayers;
|
|
@@ -3709,8 +3709,6 @@ async function handleScatterAttack(ctx, session, config, handle, equippedWeapon,
|
|
|
3709
3709
|
scatterEffectMessages.push("🔆 【中子步枪】触发散射攻击!");
|
|
3710
3710
|
scatterRatio = 0.8;
|
|
3711
3711
|
}
|
|
3712
|
-
const baseDamage = weaponData.damage * (1 + 0.1 * equippedWeapon.level);
|
|
3713
|
-
const secondaryDamage = Math.round(baseDamage * scatterRatio);
|
|
3714
3712
|
for (const secondaryTarget of secondaryTargets) {
|
|
3715
3713
|
const damageResult = await calculateTotalDamage(
|
|
3716
3714
|
ctx,
|
|
@@ -3719,11 +3717,12 @@ async function handleScatterAttack(ctx, session, config, handle, equippedWeapon,
|
|
|
3719
3717
|
equippedWeapon,
|
|
3720
3718
|
secondaryTarget
|
|
3721
3719
|
);
|
|
3720
|
+
const secondaryDamage = Math.round(damageResult.damage * scatterRatio);
|
|
3722
3721
|
const passiveResult = await PassiveHandler.handlePassives(
|
|
3723
3722
|
ctx,
|
|
3724
3723
|
handle,
|
|
3725
3724
|
secondaryTarget,
|
|
3726
|
-
|
|
3725
|
+
secondaryDamage,
|
|
3727
3726
|
secondaryTarget.HP,
|
|
3728
3727
|
getBossMaxHP(secondaryTarget),
|
|
3729
3728
|
weaponName,
|
package/lib/weapons.d.ts
CHANGED