koishi-plugin-ggcevo-game 1.5.9 → 1.5.11
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 +42 -13
- package/lib/weapons.d.ts +6 -0
- package/package.json +1 -1
|
@@ -403,7 +403,7 @@ export declare const BattleEffectProcessor: {
|
|
|
403
403
|
armorReduction: number;
|
|
404
404
|
layerAdded: boolean;
|
|
405
405
|
} | null;
|
|
406
|
-
handleColdEffect: (targetBoss: any, weaponName: string) => {
|
|
406
|
+
handleColdEffect: (targetBoss: any, weaponName: string, equippedWeapon: any) => {
|
|
407
407
|
messages: string[];
|
|
408
408
|
targetUpdates: {
|
|
409
409
|
name: string;
|
package/lib/index.js
CHANGED
|
@@ -534,6 +534,12 @@ var modConfig = {
|
|
|
534
534
|
effect: "攻击消耗目标双倍能量值",
|
|
535
535
|
exclusiveTo: "弧焊枪",
|
|
536
536
|
isExclusive: true
|
|
537
|
+
},
|
|
538
|
+
"氮气压缩核心": {
|
|
539
|
+
cost: 2e3,
|
|
540
|
+
effect: "双倍叠加[寒冷]层数",
|
|
541
|
+
exclusiveTo: "零度之下",
|
|
542
|
+
isExclusive: true
|
|
537
543
|
}
|
|
538
544
|
};
|
|
539
545
|
|
|
@@ -1786,7 +1792,7 @@ var BattleEffectProcessor = {
|
|
|
1786
1792
|
}, "handleAlienShell"),
|
|
1787
1793
|
// 孤立无援处理(活跃Boss中仅自己时增伤20%)
|
|
1788
1794
|
handleIsolated: /* @__PURE__ */ __name(function(targetBoss, activeBosses, tempMark) {
|
|
1789
|
-
if (tempMark || targetBoss
|
|
1795
|
+
if (tempMark || targetBoss?.testTag) {
|
|
1790
1796
|
return null;
|
|
1791
1797
|
}
|
|
1792
1798
|
const isIsolated = activeBosses.length === 1 && // 活跃Boss仅1个
|
|
@@ -3161,7 +3167,7 @@ var BattleEffectProcessor = {
|
|
|
3161
3167
|
};
|
|
3162
3168
|
}, "handleRadiationEffect"),
|
|
3163
3169
|
// 统一的寒冷效果处理函数
|
|
3164
|
-
handleColdEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName) {
|
|
3170
|
+
handleColdEffect: /* @__PURE__ */ __name(function(targetBoss, weaponName, equippedWeapon) {
|
|
3165
3171
|
const messages = [];
|
|
3166
3172
|
let layerAdded = false;
|
|
3167
3173
|
const currentLayers = targetBoss.coldLayers || 0;
|
|
@@ -3173,16 +3179,18 @@ var BattleEffectProcessor = {
|
|
|
3173
3179
|
}
|
|
3174
3180
|
}
|
|
3175
3181
|
let targetUpdates = null;
|
|
3182
|
+
let layerIncrement = 0;
|
|
3176
3183
|
if (weaponName === "零度之下") {
|
|
3184
|
+
const hasNitrogenCore = equippedWeapon.installedMods?.includes("氮气压缩核心");
|
|
3185
|
+
layerIncrement = hasNitrogenCore ? 2 : 1;
|
|
3177
3186
|
targetUpdates = {
|
|
3178
3187
|
name: targetBoss.name,
|
|
3179
3188
|
updates: {
|
|
3180
|
-
coldLayersChange:
|
|
3181
|
-
//
|
|
3189
|
+
coldLayersChange: layerIncrement
|
|
3190
|
+
// 使用计算后的增量
|
|
3182
3191
|
}
|
|
3183
3192
|
};
|
|
3184
|
-
|
|
3185
|
-
messages.push(`❄️【零度之下】武器效果: 获得1层「寒冷」`);
|
|
3193
|
+
messages.push(`❄️【零度之下】武器效果:获得${layerIncrement}层「寒冷」`);
|
|
3186
3194
|
layerAdded = true;
|
|
3187
3195
|
}
|
|
3188
3196
|
return {
|
|
@@ -3190,7 +3198,6 @@ var BattleEffectProcessor = {
|
|
|
3190
3198
|
targetUpdates,
|
|
3191
3199
|
buffMultiplier,
|
|
3192
3200
|
layerAdded
|
|
3193
|
-
// 返回层数增加标记
|
|
3194
3201
|
};
|
|
3195
3202
|
}, "handleColdEffect"),
|
|
3196
3203
|
// 统一的武器能量消耗处理函数(已添加模组检测)
|
|
@@ -4324,7 +4331,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
|
|
|
4324
4331
|
}
|
|
4325
4332
|
radiationLayerAdded = radiationResult.layerAdded;
|
|
4326
4333
|
}
|
|
4327
|
-
const coldResult = BattleEffectProcessor.handleColdEffect(targetBoss, weaponName);
|
|
4334
|
+
const coldResult = BattleEffectProcessor.handleColdEffect(targetBoss, weaponName, equippedWeapon);
|
|
4328
4335
|
if (coldResult) {
|
|
4329
4336
|
messages.push(...coldResult.messages);
|
|
4330
4337
|
if (coldResult.buffMultiplier) {
|
|
@@ -4970,6 +4977,20 @@ var ggcevoUpdates = [
|
|
|
4970
4977
|
- 赛季奖励中新增辛迪加海盗阵营的排名奖励
|
|
4971
4978
|
- 王权增幅祈愿的伤害加成更改为+5%
|
|
4972
4979
|
`.trim()
|
|
4980
|
+
},
|
|
4981
|
+
{
|
|
4982
|
+
version: "1.5.10",
|
|
4983
|
+
time: "2025-07-02",
|
|
4984
|
+
content: `
|
|
4985
|
+
- 新增攻击假人指令可自定义假人名称
|
|
4986
|
+
`.trim()
|
|
4987
|
+
},
|
|
4988
|
+
{
|
|
4989
|
+
version: "1.5.11",
|
|
4990
|
+
time: "2025-07-02",
|
|
4991
|
+
content: `
|
|
4992
|
+
- 新增专属改装:氮气压缩核心
|
|
4993
|
+
`.trim()
|
|
4973
4994
|
}
|
|
4974
4995
|
];
|
|
4975
4996
|
function compareVersions(a, b) {
|
|
@@ -6177,7 +6198,9 @@ async function handleScatterAttack(ctx, session, handle, config, equippedWeapon,
|
|
|
6177
6198
|
taskUpdates.push({ taskId: 1, count });
|
|
6178
6199
|
}
|
|
6179
6200
|
if (EffectProcessor.coldLayerAdded) {
|
|
6180
|
-
|
|
6201
|
+
const hasNitrogenCore = equippedWeapon.installedMods?.includes("氮气压缩核心");
|
|
6202
|
+
const count = hasNitrogenCore ? 2 : 1;
|
|
6203
|
+
taskUpdates.push({ taskId: 2, count });
|
|
6181
6204
|
}
|
|
6182
6205
|
if (EffectProcessor.bileDetonationTrigger) {
|
|
6183
6206
|
taskUpdates.push({ taskId: 3, count: 1 });
|
|
@@ -9353,7 +9376,9 @@ ${validTypes.join("、")}`;
|
|
|
9353
9376
|
taskUpdates.push({ taskId: 1, count });
|
|
9354
9377
|
}
|
|
9355
9378
|
if (primaryAttackResult.freezing) {
|
|
9356
|
-
|
|
9379
|
+
const hasNitrogenCore = equippedWeapon.installedMods?.includes("氮气压缩核心");
|
|
9380
|
+
const count = hasNitrogenCore ? 2 : 1;
|
|
9381
|
+
taskUpdates.push({ taskId: 2, count });
|
|
9357
9382
|
}
|
|
9358
9383
|
if (primaryAttackResult.bileStacks) {
|
|
9359
9384
|
taskUpdates.push({ taskId: 3, count: 1 });
|
|
@@ -9426,9 +9451,12 @@ ${validTypes.join("、")}`;
|
|
|
9426
9451
|
cleanerRewardBroadcast
|
|
9427
9452
|
);
|
|
9428
9453
|
});
|
|
9429
|
-
ctx.command("ggcevo/攻击假人").option("tags", "-t <tags:string> 添加BOSS标签(逗号分隔)").option("passives", "-p <passives:string> 添加被动技能(逗号分隔)").option("hp", "-l <hp:number> 模拟假人血量").option("energy", "-e <energy:number> 模拟假人能量").option("skillStacks", "-s <stacks:number> 技能层数").option("radiation", "-r <rad:number> 辐射层数").option("cold", "-c <cold:number> 寒冷层数").option("status", "-a <status:number> 状态层数").option("armor", "-d <armor:number> 护甲").option("burn", "-b <burn:number> 燃烧层数").action(async (argv) => {
|
|
9454
|
+
ctx.command("ggcevo/攻击假人 [name]").option("tags", "-t <tags:string> 添加BOSS标签(逗号分隔)").option("passives", "-p <passives:string> 添加被动技能(逗号分隔)").option("hp", "-l <hp:number> 模拟假人血量").option("energy", "-e <energy:number> 模拟假人能量").option("skillStacks", "-s <stacks:number> 技能层数").option("radiation", "-r <rad:number> 辐射层数").option("cold", "-c <cold:number> 寒冷层数").option("status", "-a <status:number> 状态层数").option("armor", "-d <armor:number> 护甲").option("burn", "-b <burn:number> 燃烧层数").action(async (argv, name2) => {
|
|
9430
9455
|
const session = argv.session;
|
|
9431
9456
|
const { options } = argv;
|
|
9457
|
+
if (!name2) {
|
|
9458
|
+
name2 = "测试假人";
|
|
9459
|
+
}
|
|
9432
9460
|
let hp = 1e4;
|
|
9433
9461
|
if (typeof options.hp === "number") {
|
|
9434
9462
|
hp = Math.max(1, Math.min(options.hp, 1e4));
|
|
@@ -9461,7 +9489,7 @@ ${validTypes.join("、")}`;
|
|
|
9461
9489
|
});
|
|
9462
9490
|
if (!equippedWeapon) return '请先输入"装备 武器名称"后再测试。';
|
|
9463
9491
|
const dummyBoss = {
|
|
9464
|
-
name:
|
|
9492
|
+
name: name2,
|
|
9465
9493
|
HP: hp,
|
|
9466
9494
|
type: "主宰",
|
|
9467
9495
|
groupId: 0,
|
|
@@ -9476,7 +9504,8 @@ ${validTypes.join("、")}`;
|
|
|
9476
9504
|
energy,
|
|
9477
9505
|
armor,
|
|
9478
9506
|
isActive: true,
|
|
9479
|
-
lastWeaponName: ""
|
|
9507
|
+
lastWeaponName: "",
|
|
9508
|
+
testTag: true
|
|
9480
9509
|
};
|
|
9481
9510
|
const activeBosses = [dummyBoss];
|
|
9482
9511
|
const weaponConfigEntry = Object.entries(weaponConfig).find(([_, c]) => c.id === equippedWeapon.weaponId);
|
package/lib/weapons.d.ts
CHANGED