koishi-plugin-smmcat-gensokyo 0.0.44 → 0.0.46
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 +136 -6
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -40,7 +40,7 @@ var monsterBenchmark = {
|
|
|
40
40
|
chr: 1.1,
|
|
41
41
|
evasion: 1.1,
|
|
42
42
|
hit: 1.01,
|
|
43
|
-
ghd: 1,
|
|
43
|
+
ghd: 1.005,
|
|
44
44
|
speed: 1.05
|
|
45
45
|
},
|
|
46
46
|
20: {
|
|
@@ -53,7 +53,7 @@ var monsterBenchmark = {
|
|
|
53
53
|
chr: 1.08,
|
|
54
54
|
evasion: 1.008,
|
|
55
55
|
hit: 1.008,
|
|
56
|
-
ghd: 1,
|
|
56
|
+
ghd: 1.004,
|
|
57
57
|
speed: 1.05
|
|
58
58
|
},
|
|
59
59
|
40: {
|
|
@@ -66,7 +66,7 @@ var monsterBenchmark = {
|
|
|
66
66
|
chr: 1.05,
|
|
67
67
|
evasion: 1.005,
|
|
68
68
|
hit: 1.005,
|
|
69
|
-
ghd: 1.
|
|
69
|
+
ghd: 1.003,
|
|
70
70
|
speed: 1.05
|
|
71
71
|
}
|
|
72
72
|
};
|
|
@@ -336,6 +336,32 @@ var monsterData = {
|
|
|
336
336
|
{ name: "大红药", val: 2, radomVal: 50 }
|
|
337
337
|
],
|
|
338
338
|
fn: [{ name: "紧闭的恋之瞳", prob: 3 }, { name: "初级驱散", prob: 1 }, { name: "无意识行动", prob: 2 }]
|
|
339
|
+
},
|
|
340
|
+
"白洲梓": {
|
|
341
|
+
name: "白洲梓",
|
|
342
|
+
type: "野怪" /* 野怪 */,
|
|
343
|
+
info: "基沃托斯中圣三一综合学园所属,补习部的冰之魔女。",
|
|
344
|
+
pic: "http://smmcat.cn/run/gensokyo/白洲梓.png",
|
|
345
|
+
hp: 100,
|
|
346
|
+
maxHp: 100,
|
|
347
|
+
mp: 70,
|
|
348
|
+
maxMp: 70,
|
|
349
|
+
atk: 20,
|
|
350
|
+
def: 2,
|
|
351
|
+
chr: 150,
|
|
352
|
+
csr: 0,
|
|
353
|
+
evasion: 100,
|
|
354
|
+
hit: 1100,
|
|
355
|
+
ghd: 1.3,
|
|
356
|
+
speed: 5,
|
|
357
|
+
giveExp: 16,
|
|
358
|
+
giveMonetary: 3,
|
|
359
|
+
passiveList: ["针女"],
|
|
360
|
+
giveProps: [
|
|
361
|
+
{ name: "大红药", val: 2, radomVal: 20 },
|
|
362
|
+
{ name: "初级复活卷轴", val: 1, radomVal: 50 }
|
|
363
|
+
],
|
|
364
|
+
fn: [{ name: "瓦尼瓦尼", prob: 1 }]
|
|
339
365
|
}
|
|
340
366
|
};
|
|
341
367
|
|
|
@@ -426,7 +452,7 @@ var Monster = {
|
|
|
426
452
|
temp.chr = Math.floor(temp.chr);
|
|
427
453
|
temp.evasion = Math.floor(temp.evasion);
|
|
428
454
|
temp.hit = Math.floor(temp.hit);
|
|
429
|
-
temp.ghd =
|
|
455
|
+
temp.ghd = parseFloat(temp.ghd.toFixed(1));
|
|
430
456
|
temp.speed = Math.round(temp.speed);
|
|
431
457
|
return temp;
|
|
432
458
|
},
|
|
@@ -1377,6 +1403,53 @@ var skillFn = {
|
|
|
1377
1403
|
});
|
|
1378
1404
|
return `${getLineupName(agent.self)} 发动无意识行动!对 ${getLineupName(agent.goal)} 造成 ${damageData.harm} 伤害。${useBuff ? "(沉默)" : ""}` + baseMoreDamage(damageData);
|
|
1379
1405
|
}, "fn")
|
|
1406
|
+
},
|
|
1407
|
+
"瓦尼瓦尼": {
|
|
1408
|
+
name: "瓦尼瓦尼",
|
|
1409
|
+
type: "伤害技" /* 伤害技 */,
|
|
1410
|
+
info: "[伤害技]怪物特有技能:对目标使用Intulit Mortem(瓦尼瓦尼)。造成连续两次并后续每次都会有40%概率追加单体攻击的伤害。每次攻击造成(40%攻击力+5%自身剩余MP)的伤害。",
|
|
1411
|
+
lv: 5,
|
|
1412
|
+
mp: 60,
|
|
1413
|
+
fn: /* @__PURE__ */ __name(function(agent, agentList, fn) {
|
|
1414
|
+
if (agent.self.type == "玩家" || agent.goal.type == "怪物") {
|
|
1415
|
+
fn({
|
|
1416
|
+
type: "释放失败" /* 释放失败 */,
|
|
1417
|
+
isNext: true,
|
|
1418
|
+
err: "释放失败,技能只能怪物指向玩家。"
|
|
1419
|
+
});
|
|
1420
|
+
return ``;
|
|
1421
|
+
}
|
|
1422
|
+
const msgList = [`${getLineupName(agent.self)}对${getLineupName(agent.goal)}释放Intulit Mortem!`];
|
|
1423
|
+
for (let index = 0; index < 2; index++) {
|
|
1424
|
+
const damageData = new Damage(agent).result({
|
|
1425
|
+
before: /* @__PURE__ */ __name((val) => {
|
|
1426
|
+
val.default_harm = Math.floor((agent.self.atk + agent.self.gain.atk) * 0.4) + Math.floor(agent.self.mp * 0.05);
|
|
1427
|
+
}, "before")
|
|
1428
|
+
});
|
|
1429
|
+
fn({
|
|
1430
|
+
type: "伤害技" /* 伤害技 */,
|
|
1431
|
+
damage: damageData,
|
|
1432
|
+
isNext: false,
|
|
1433
|
+
target: [agent.goal]
|
|
1434
|
+
});
|
|
1435
|
+
msgList.push(`- ${getLineupName(agent.goal)} 受到 ${damageData.harm} 伤害。` + baseMoreDamage(damageData));
|
|
1436
|
+
}
|
|
1437
|
+
while (random(0, 10) <= 4) {
|
|
1438
|
+
const damageData = new Damage(agent).result({
|
|
1439
|
+
before: /* @__PURE__ */ __name((val) => {
|
|
1440
|
+
val.default_harm = Math.floor((agent.self.atk + agent.self.gain.atk) * 0.3) + Math.floor(agent.self.mp * 0.05);
|
|
1441
|
+
}, "before")
|
|
1442
|
+
});
|
|
1443
|
+
fn({
|
|
1444
|
+
type: "伤害技" /* 伤害技 */,
|
|
1445
|
+
damage: damageData,
|
|
1446
|
+
isNext: false,
|
|
1447
|
+
target: [agent.goal]
|
|
1448
|
+
});
|
|
1449
|
+
msgList.push(`- ${getLineupName(agent.goal)} 受到 ${damageData.harm} 伤害。` + baseMoreDamage(damageData));
|
|
1450
|
+
}
|
|
1451
|
+
return msgList.join("\n");
|
|
1452
|
+
}, "fn")
|
|
1380
1453
|
}
|
|
1381
1454
|
};
|
|
1382
1455
|
|
|
@@ -2450,7 +2523,7 @@ var User = {
|
|
|
2450
2523
|
temp.chr = Math.floor(temp.chr);
|
|
2451
2524
|
temp.evasion = Math.floor(temp.evasion);
|
|
2452
2525
|
temp.hit = Math.floor(temp.hit);
|
|
2453
|
-
temp.ghd =
|
|
2526
|
+
temp.ghd = parseFloat(temp.ghd.toFixed(1));
|
|
2454
2527
|
temp.speed = Math.round(temp.speed);
|
|
2455
2528
|
return temp;
|
|
2456
2529
|
},
|
|
@@ -3068,7 +3141,64 @@ var GensokyoMap = {
|
|
|
3068
3141
|
type: "BOSS区" /* BOSS区 */,
|
|
3069
3142
|
needLv: 1,
|
|
3070
3143
|
left: "大草场",
|
|
3144
|
+
top: "宁静森林二",
|
|
3145
|
+
down: "咆哮森林",
|
|
3071
3146
|
monster: [{ name: "古明地恋", lv: 25 }]
|
|
3147
|
+
},
|
|
3148
|
+
"宁静森林二": {
|
|
3149
|
+
floor: 2,
|
|
3150
|
+
areaName: "宁静森林二",
|
|
3151
|
+
type: "冒险区" /* 冒险区 */,
|
|
3152
|
+
needLv: 1,
|
|
3153
|
+
top: "宁静部落",
|
|
3154
|
+
down: "森林岔口",
|
|
3155
|
+
monster: [{ name: "白洲梓", lv: 20 }]
|
|
3156
|
+
},
|
|
3157
|
+
"宁静部落": {
|
|
3158
|
+
floor: 2,
|
|
3159
|
+
areaName: "宁静部落",
|
|
3160
|
+
type: "冒险区" /* 冒险区 */,
|
|
3161
|
+
needLv: 1,
|
|
3162
|
+
top: "勇者祭坛",
|
|
3163
|
+
down: "宁静森林二"
|
|
3164
|
+
},
|
|
3165
|
+
"勇者祭坛": {
|
|
3166
|
+
floor: 2,
|
|
3167
|
+
areaName: "勇者祭坛",
|
|
3168
|
+
type: "冒险区" /* 冒险区 */,
|
|
3169
|
+
needLv: 1,
|
|
3170
|
+
down: "宁静部落"
|
|
3171
|
+
},
|
|
3172
|
+
"咆哮森林": {
|
|
3173
|
+
floor: 2,
|
|
3174
|
+
areaName: "咆哮森林",
|
|
3175
|
+
type: "冒险区" /* 冒险区 */,
|
|
3176
|
+
needLv: 1,
|
|
3177
|
+
top: "森林岔口",
|
|
3178
|
+
down: "咆哮森林二"
|
|
3179
|
+
},
|
|
3180
|
+
"咆哮森林二": {
|
|
3181
|
+
floor: 2,
|
|
3182
|
+
areaName: "咆哮森林二",
|
|
3183
|
+
type: "冒险区" /* 冒险区 */,
|
|
3184
|
+
needLv: 1,
|
|
3185
|
+
top: "咆哮森林",
|
|
3186
|
+
down: "咆哮营地"
|
|
3187
|
+
},
|
|
3188
|
+
"咆哮营地": {
|
|
3189
|
+
floor: 2,
|
|
3190
|
+
areaName: "咆哮营地",
|
|
3191
|
+
type: "冒险区" /* 冒险区 */,
|
|
3192
|
+
needLv: 1,
|
|
3193
|
+
top: "咆哮森林二",
|
|
3194
|
+
down: "竞技场"
|
|
3195
|
+
},
|
|
3196
|
+
"竞技场": {
|
|
3197
|
+
floor: 2,
|
|
3198
|
+
areaName: "竞技场",
|
|
3199
|
+
type: "冒险区" /* 冒险区 */,
|
|
3200
|
+
needLv: 1,
|
|
3201
|
+
top: "咆哮营地"
|
|
3072
3202
|
}
|
|
3073
3203
|
}
|
|
3074
3204
|
};
|
|
@@ -3760,7 +3890,7 @@ function apply(ctx, config) {
|
|
|
3760
3890
|
await BattleData.createBattleByMonster(session, [selectMonster]);
|
|
3761
3891
|
} else {
|
|
3762
3892
|
if (!areaInfo.monster?.length) {
|
|
3763
|
-
return
|
|
3893
|
+
return `没有在该区域找到任何怪物。`;
|
|
3764
3894
|
}
|
|
3765
3895
|
const selectMonster = areaInfo.monster;
|
|
3766
3896
|
await Queue.add(async () => await BattleData.createBattleByMonster(session, selectMonster));
|