koishi-plugin-ggcevo-game 1.6.67 → 1.6.69
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/boss/BattleEffectProcessor.d.ts +1 -1
- package/lib/index.js +12 -3
- package/package.json +1 -1
|
@@ -585,7 +585,7 @@ export declare const BattleEffectProcessor: {
|
|
|
585
585
|
fusionExplosionTriggered: boolean;
|
|
586
586
|
messages: string[];
|
|
587
587
|
};
|
|
588
|
-
handleBurnEffect: (targetBoss: any, weaponName: string, equippedWeapon: any) => {
|
|
588
|
+
handleBurnEffect: (targetBoss: any, weaponName: string, equippedWeapon: any, isImmuneFire: boolean) => {
|
|
589
589
|
messages: string[];
|
|
590
590
|
targetUpdates: {
|
|
591
591
|
name: string;
|
package/lib/index.js
CHANGED
|
@@ -3950,9 +3950,12 @@ var BattleEffectProcessor = {
|
|
|
3950
3950
|
return null;
|
|
3951
3951
|
}, "handleFusionCannonEffect"),
|
|
3952
3952
|
// 在 BattleEffectProcessor 对象中添加以下函数
|
|
3953
|
-
handleBurnEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName, equippedWeapon) {
|
|
3953
|
+
handleBurnEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName, equippedWeapon, isImmuneFire) {
|
|
3954
3954
|
const messages = [];
|
|
3955
3955
|
let burnLayerAdded = false;
|
|
3956
|
+
if (isImmuneFire) {
|
|
3957
|
+
return null;
|
|
3958
|
+
}
|
|
3956
3959
|
const isBurnWeapon = weaponName === "焚烧枪" || weaponName === "龙息霰弹枪";
|
|
3957
3960
|
if (!isBurnWeapon) {
|
|
3958
3961
|
return null;
|
|
@@ -4413,7 +4416,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
|
|
|
4413
4416
|
if (fusionEffect) {
|
|
4414
4417
|
messages.push(...fusionEffect.messages);
|
|
4415
4418
|
}
|
|
4416
|
-
const burnEffectResult = BattleEffectProcessor.handleBurnEffect(targetBoss, weaponName, equippedWeapon);
|
|
4419
|
+
const burnEffectResult = BattleEffectProcessor.handleBurnEffect(targetBoss, weaponName, equippedWeapon, isImmuneFire);
|
|
4417
4420
|
if (burnEffectResult) {
|
|
4418
4421
|
messages.push(...burnEffectResult.messages);
|
|
4419
4422
|
if (burnEffectResult.targetUpdates) {
|
|
@@ -5960,6 +5963,13 @@ async function applyItemEffect(ctx, session, handle, itemConfig2, target) {
|
|
|
5960
5963
|
message: "无法对空中目标使用。"
|
|
5961
5964
|
};
|
|
5962
5965
|
}
|
|
5966
|
+
const [damageRecords] = await ctx.database.get("ggcevo_boss_damage", { handle });
|
|
5967
|
+
if (!damageRecords) {
|
|
5968
|
+
return {
|
|
5969
|
+
success: false,
|
|
5970
|
+
message: `至少攻击一次后才能使用该物品。`
|
|
5971
|
+
};
|
|
5972
|
+
}
|
|
5963
5973
|
if (targetBoss.HP === 1) {
|
|
5964
5974
|
return {
|
|
5965
5975
|
success: false,
|
|
@@ -5986,7 +5996,6 @@ async function applyItemEffect(ctx, session, handle, itemConfig2, target) {
|
|
|
5986
5996
|
handle,
|
|
5987
5997
|
totalRewards: (signRecords[0]?.totalRewards || 0) + damage
|
|
5988
5998
|
}], ["handle"]);
|
|
5989
|
-
const [damageRecords] = await ctx.database.get("ggcevo_boss_damage", { handle });
|
|
5990
5999
|
await ctx.database.upsert("ggcevo_boss_damage", [{
|
|
5991
6000
|
handle,
|
|
5992
6001
|
playerName: session.username,
|