koishi-plugin-ggcevo-game 1.6.17 → 1.6.20
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 +4 -0
- package/lib/index.js +75 -28
- package/lib/tasks.d.ts +1 -1
- package/package.json +1 -1
|
@@ -649,6 +649,10 @@ export declare const BattleEffectProcessor: {
|
|
|
649
649
|
nerfMultiplier: number;
|
|
650
650
|
messages: string[];
|
|
651
651
|
} | null;
|
|
652
|
+
handleDragonBreathResistance: (targetBoss: any, weaponName: string) => {
|
|
653
|
+
nerfMultiplier: number;
|
|
654
|
+
messages: string[];
|
|
655
|
+
} | null;
|
|
652
656
|
};
|
|
653
657
|
/**
|
|
654
658
|
* 统一处理所有被动效果(包含伤害修正、免疫检查、状态更新等)
|
package/lib/index.js
CHANGED
|
@@ -388,7 +388,7 @@ var weaponConfig = {
|
|
|
388
388
|
damage: 90,
|
|
389
389
|
armorDamageReduction: 0,
|
|
390
390
|
description: "这是传说中的武器",
|
|
391
|
-
specialeffect: "
|
|
391
|
+
specialeffect: "造成的30%伤害转化为火焰伤害;攻击时为目标附加2层[燃烧]效果,每层使目标受到火焰伤害时额外造成2点伤害(至多额外造成100点伤害)",
|
|
392
392
|
price: 6400,
|
|
393
393
|
redCrystalCost: 200,
|
|
394
394
|
isantiair: false,
|
|
@@ -730,7 +730,7 @@ var spaceStationCrewConfig = [
|
|
|
730
730
|
},
|
|
731
731
|
{
|
|
732
732
|
professionName: "武器中士",
|
|
733
|
-
effect: "攻击伤害+15%;
|
|
733
|
+
effect: "攻击伤害+15%; 购买传奇武器无需权限次数(可消耗权限次数半价购买传奇武器)",
|
|
734
734
|
requirements: "至少拥有一把6级及以上等级的武器",
|
|
735
735
|
Jobtransfer: true,
|
|
736
736
|
costcoins: 3e3
|
|
@@ -1177,7 +1177,7 @@ var Spacestationtechnology = [
|
|
|
1177
1177
|
level: 5,
|
|
1178
1178
|
cost: 5350,
|
|
1179
1179
|
description: "完全恢复空间站安防系统,攻击获得的金币+25%",
|
|
1180
|
-
careerBonus: "攻击获得的金币额外+25%;
|
|
1180
|
+
careerBonus: "攻击获得的金币额外+25%; 获得解锁军械库防爆门权限1次,可以随机获得一把传奇武器"
|
|
1181
1181
|
}
|
|
1182
1182
|
]
|
|
1183
1183
|
},
|
|
@@ -1335,7 +1335,7 @@ var Tasklist = {
|
|
|
1335
1335
|
id: 7,
|
|
1336
1336
|
type: "可重复任务",
|
|
1337
1337
|
target: 1,
|
|
1338
|
-
price:
|
|
1338
|
+
price: 25,
|
|
1339
1339
|
redCrystalCost: 0,
|
|
1340
1340
|
condition: "使用【焚烧枪】或【龙息霰弹枪】攻击目标并成功增加其1层[燃烧]"
|
|
1341
1341
|
}
|
|
@@ -2583,20 +2583,29 @@ var BattleEffectProcessor = {
|
|
|
2583
2583
|
if (!targetBoss.skills.includes("火焰异形")) {
|
|
2584
2584
|
return null;
|
|
2585
2585
|
}
|
|
2586
|
-
const isFireDamage = weaponName === "焚烧枪";
|
|
2586
|
+
const isFireDamage = weaponName === "焚烧枪" || weaponName === "龙息霰弹枪";
|
|
2587
2587
|
if (!isFireDamage) {
|
|
2588
2588
|
return null;
|
|
2589
2589
|
}
|
|
2590
|
-
|
|
2591
|
-
|
|
2592
|
-
|
|
2593
|
-
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
2598
|
-
|
|
2599
|
-
|
|
2590
|
+
let healAmount = 0;
|
|
2591
|
+
let targetUpdates = null;
|
|
2592
|
+
if (weaponName === "焚烧枪") {
|
|
2593
|
+
isImmune = true;
|
|
2594
|
+
healAmount = damage;
|
|
2595
|
+
messages.push(`🔥 【火焰异形】生效:免疫火焰伤害并回复${healAmount}点生命值`);
|
|
2596
|
+
} else if (weaponName === "龙息霰弹枪") {
|
|
2597
|
+
healAmount = Math.round(damage * 0.3);
|
|
2598
|
+
messages.push(`🔥 【火焰异形】生效:受到龙息霰弹枪的火焰伤害,回复${healAmount}点生命值`);
|
|
2599
|
+
}
|
|
2600
|
+
if (healAmount > 0) {
|
|
2601
|
+
targetUpdates = {
|
|
2602
|
+
name: targetBoss.name,
|
|
2603
|
+
updates: {
|
|
2604
|
+
hpChange: healAmount
|
|
2605
|
+
// 生命值变化量
|
|
2606
|
+
}
|
|
2607
|
+
};
|
|
2608
|
+
}
|
|
2600
2609
|
return {
|
|
2601
2610
|
isImmune,
|
|
2602
2611
|
messages,
|
|
@@ -2760,17 +2769,14 @@ var BattleEffectProcessor = {
|
|
|
2760
2769
|
if (hasFearColdTag) {
|
|
2761
2770
|
updates.tagsRemoved = ["惧寒"];
|
|
2762
2771
|
messages.push(`☀️ 【太阳耀斑】触发:移除「惧寒」标签`);
|
|
2763
|
-
}
|
|
2764
|
-
const isColdWeapon = weaponName === "零度之下";
|
|
2765
|
-
if (isColdWeapon) {
|
|
2766
|
-
isImmune = true;
|
|
2767
|
-
immuneCold = true;
|
|
2768
|
-
messages.push(`☀️ 【太阳耀斑】生效:免疫寒冷伤害`);
|
|
2769
2772
|
if (currentColdLayers > 0) {
|
|
2770
2773
|
updates.coldLayersChange = -(currentColdLayers + 2);
|
|
2771
2774
|
messages.push(`☀️ 【太阳耀斑】生效:清除全部寒冷效果`);
|
|
2772
2775
|
}
|
|
2773
2776
|
}
|
|
2777
|
+
const isColdWeapon = weaponName === "零度之下";
|
|
2778
|
+
if (isColdWeapon) {
|
|
2779
|
+
}
|
|
2774
2780
|
if (Object.keys(updates).length > 0) {
|
|
2775
2781
|
targetUpdates = {
|
|
2776
2782
|
name: targetBoss.name,
|
|
@@ -4236,7 +4242,27 @@ var BattleEffectProcessor = {
|
|
|
4236
4242
|
nerfMultiplier,
|
|
4237
4243
|
messages
|
|
4238
4244
|
};
|
|
4239
|
-
}, "handleShiveringHowl")
|
|
4245
|
+
}, "handleShiveringHowl"),
|
|
4246
|
+
// 龙息霰弹枪抗性处理
|
|
4247
|
+
handleDragonBreathResistance: /* @__PURE__ */ __name(function(targetBoss, weaponName) {
|
|
4248
|
+
const isDragonBreath = weaponName === "龙息霰弹枪";
|
|
4249
|
+
if (!isDragonBreath) {
|
|
4250
|
+
return null;
|
|
4251
|
+
}
|
|
4252
|
+
const resistanceSkills = ["火焰异形", "猎手异形", "环境适应"];
|
|
4253
|
+
const activeResistances = resistanceSkills.filter(
|
|
4254
|
+
(skill) => targetBoss.skills.includes(skill)
|
|
4255
|
+
);
|
|
4256
|
+
if (activeResistances.length === 0) {
|
|
4257
|
+
return null;
|
|
4258
|
+
}
|
|
4259
|
+
return {
|
|
4260
|
+
nerfMultiplier: 0.3,
|
|
4261
|
+
messages: [
|
|
4262
|
+
`🔥 【龙息霰弹枪】:${activeResistances.join("、")}免疫30%的火焰伤害`
|
|
4263
|
+
]
|
|
4264
|
+
};
|
|
4265
|
+
}, "handleDragonBreathResistance")
|
|
4240
4266
|
};
|
|
4241
4267
|
function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCrit, ignoreRate, careerData, equippedWeapon) {
|
|
4242
4268
|
const messages = [];
|
|
@@ -4403,6 +4429,7 @@ function applyPassiveEffects(targetBoss, activeBosses, weaponName, damage, hasCr
|
|
|
4403
4429
|
// 双参数效果
|
|
4404
4430
|
{ effect: BattleEffectProcessor.handleStructuralArmor, args: [targetBoss, weaponData] },
|
|
4405
4431
|
{ effect: BattleEffectProcessor.handleDisguise, args: [targetBoss, weaponName] },
|
|
4432
|
+
{ effect: BattleEffectProcessor.handleDragonBreathResistance, args: [targetBoss, weaponName] },
|
|
4406
4433
|
// 多参数效果
|
|
4407
4434
|
{ effect: BattleEffectProcessor.handleIsolated, args: [targetBoss, activeBosses, isolatedImmunityMark] },
|
|
4408
4435
|
{ effect: BattleEffectProcessor.handleInfectedSpaceStation, args: [targetBoss, activeBosses] },
|
|
@@ -4875,7 +4902,7 @@ var passiveConfig = {
|
|
|
4875
4902
|
derivedSkills: []
|
|
4876
4903
|
},
|
|
4877
4904
|
"太阳耀斑": {
|
|
4878
|
-
description: "
|
|
4905
|
+
description: "所有子代阵亡后,移除惧寒标签和孤立无援状态,并清空自身寒冷层数(仅限一次)",
|
|
4879
4906
|
belong: ["烈焰庞兽"],
|
|
4880
4907
|
derivedSkills: []
|
|
4881
4908
|
},
|
|
@@ -4885,7 +4912,7 @@ var passiveConfig = {
|
|
|
4885
4912
|
derivedSkills: []
|
|
4886
4913
|
},
|
|
4887
4914
|
"炼狱爆弹": {
|
|
4888
|
-
description: "每层「灼烧粘液」使受到的伤害降低5
|
|
4915
|
+
description: "每层「灼烧粘液」使受到的伤害降低5%,子代存活时每层额外降低5%",
|
|
4889
4916
|
belong: ["烈焰庞兽"],
|
|
4890
4917
|
derivedSkills: []
|
|
4891
4918
|
},
|
|
@@ -5336,6 +5363,22 @@ var ggcevoUpdates = [
|
|
|
5336
5363
|
- 指令“升级”拆分成“升级科技”和“升级武器”
|
|
5337
5364
|
- 新增“竞猜”功能
|
|
5338
5365
|
`.trim()
|
|
5366
|
+
},
|
|
5367
|
+
{
|
|
5368
|
+
version: "1.6.18",
|
|
5369
|
+
time: "2025-07-12",
|
|
5370
|
+
content: `
|
|
5371
|
+
- 猜测下一个复活主宰的名字的赔率提升至10
|
|
5372
|
+
- 削弱了烈焰庞兽的太阳耀斑技能效果
|
|
5373
|
+
`.trim()
|
|
5374
|
+
},
|
|
5375
|
+
{
|
|
5376
|
+
version: "1.6.19",
|
|
5377
|
+
time: "2025-07-12",
|
|
5378
|
+
content: `
|
|
5379
|
+
- 修改了龙息霰弹枪的特殊效果
|
|
5380
|
+
- 下调了“烈火燎原”任务的奖励金币
|
|
5381
|
+
`.trim()
|
|
5339
5382
|
}
|
|
5340
5383
|
];
|
|
5341
5384
|
function compareVersions(a, b) {
|
|
@@ -5580,6 +5623,10 @@ async function applyItemEffect(ctx, session, handle, itemConfig2, target) {
|
|
|
5580
5623
|
([_, item]) => item.id === itemConfig2.id
|
|
5581
5624
|
)?.[0] || "未知物品";
|
|
5582
5625
|
if (itemConfig2.id === 1) {
|
|
5626
|
+
return {
|
|
5627
|
+
success: false,
|
|
5628
|
+
message: "暂时被禁用了。"
|
|
5629
|
+
};
|
|
5583
5630
|
const activeSentry = await ctx.database.get("ggcevo_boss", {
|
|
5584
5631
|
name: "空间站哨枪塔",
|
|
5585
5632
|
isActive: true
|
|
@@ -5738,7 +5785,7 @@ async function handleTechUpgrade(ctx, handle, target) {
|
|
|
5738
5785
|
type: "武器系统",
|
|
5739
5786
|
field: "legendarypermissions",
|
|
5740
5787
|
amount: 1,
|
|
5741
|
-
message: "🎉
|
|
5788
|
+
message: "🎉 获得传奇武器购买权限1次!"
|
|
5742
5789
|
};
|
|
5743
5790
|
}
|
|
5744
5791
|
if (tech.techname === "安防系统" && currentLevel === 4 && nextLevel === 5) {
|
|
@@ -5746,7 +5793,7 @@ async function handleTechUpgrade(ctx, handle, target) {
|
|
|
5746
5793
|
type: "安防系统",
|
|
5747
5794
|
field: "explosiondoorauthority",
|
|
5748
5795
|
amount: 1,
|
|
5749
|
-
message: "🔓
|
|
5796
|
+
message: "🔓 获得解锁军械库防爆门权限1次!(使用指令“开启军械库防爆门”)"
|
|
5750
5797
|
};
|
|
5751
5798
|
}
|
|
5752
5799
|
await ctx.database.withTransaction(async () => {
|
|
@@ -6043,7 +6090,7 @@ var GUESSING_ITEMS = [
|
|
|
6043
6090
|
{
|
|
6044
6091
|
id: 1,
|
|
6045
6092
|
description: "猜测下一个复活主宰的名字",
|
|
6046
|
-
odds:
|
|
6093
|
+
odds: 10,
|
|
6047
6094
|
status: "open"
|
|
6048
6095
|
}
|
|
6049
6096
|
// 可以继续添加更多竞猜项目
|
|
@@ -11189,7 +11236,7 @@ ${Spacestationtechnology.map((t) => t.techname).join("、")}`;
|
|
|
11189
11236
|
`最大可升级等级:${romanNumerals[tech.maxLevel]}`,
|
|
11190
11237
|
`适用职业:${tech.careerNames.join("、")}`,
|
|
11191
11238
|
// 适用职业移动到最顶部
|
|
11192
|
-
'使用 "
|
|
11239
|
+
'使用 "升级科技 科技名称" 进行升级',
|
|
11193
11240
|
...discountInfo,
|
|
11194
11241
|
"====================",
|
|
11195
11242
|
...techDetails
|
package/lib/tasks.d.ts
CHANGED