koishi-plugin-toram 0.1.3 → 0.1.4-alpha.2
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 +95 -19
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.apply = exports.name = void 0;
|
|
4
|
+
const koishi_1 = require("koishi");
|
|
4
5
|
exports.name = 'toram';
|
|
5
6
|
async function apply(ctx) {
|
|
6
7
|
//新建托拉姆boss表
|
|
@@ -11,10 +12,7 @@ async function apply(ctx) {
|
|
|
11
12
|
level: 'number',
|
|
12
13
|
map: 'string',
|
|
13
14
|
baseEXP: 'number',
|
|
14
|
-
element: 'string'
|
|
15
|
-
/*
|
|
16
|
-
type: 'string',
|
|
17
|
-
*/
|
|
15
|
+
element: 'string'
|
|
18
16
|
}, {
|
|
19
17
|
// 使用自增的主键值
|
|
20
18
|
primary: 'id'
|
|
@@ -27,17 +25,21 @@ async function apply(ctx) {
|
|
|
27
25
|
var text;
|
|
28
26
|
let arr1;
|
|
29
27
|
let arr2;
|
|
28
|
+
var 版本等级 = 240;
|
|
29
|
+
var 升级_定点王数量 = 8;
|
|
30
|
+
var 升级_野王数量 = 2;
|
|
30
31
|
ctx.command('升级 <等级数:number>').action(async ({ session }, ...args) => {
|
|
31
32
|
{
|
|
32
33
|
let 等级 = args[0];
|
|
33
|
-
if (等级 >=
|
|
34
|
-
let 回复语句 = Math.floor(Math.random() *
|
|
34
|
+
if (等级 >= 版本等级 || 等级 <= 0) {
|
|
35
|
+
let 回复语句 = Math.floor(Math.random() * 6) + 1;
|
|
35
36
|
switch (回复语句) {
|
|
36
37
|
case 1: return '团长!团长你在干什么呀团长!';
|
|
37
38
|
case 2: return '鸮鸮的眼里有大大的疑惑.jpg';
|
|
38
|
-
case 3: return '
|
|
39
|
+
case 3: return '认真的吗?小心我打飞你的医保卡哦!';
|
|
39
40
|
case 4: return '你要不要看看你自己在说些什么?';
|
|
40
41
|
case 5: return '没救了,别练了,埋了罢【无慈悲】';
|
|
42
|
+
case 6: return (String((0, koishi_1.h)('at', { id: (session.userId) } + ' 查询你的精神状态')));
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
;
|
|
@@ -53,12 +55,12 @@ async function apply(ctx) {
|
|
|
53
55
|
return '去女帝陵墓打只因骨龙吧~';
|
|
54
56
|
}
|
|
55
57
|
;
|
|
56
|
-
const
|
|
57
|
-
n =
|
|
58
|
-
text = '';
|
|
58
|
+
const rows1 = await ctx.database.get('toram_boss', { level: { $gte: 等级 - 8, $lte: Math.min(等级 + 8, 版本等级 + 3) }, name: { $or: [{ $regex: /^1星/ }, { $regex: /^2星/ }, { $regex: /^3星/ }, { $regex: /^4星/ }] } });
|
|
59
|
+
n = rows1.length - 1;
|
|
60
|
+
text = '定点王:\n';
|
|
59
61
|
arr1 = [];
|
|
60
62
|
for (i = 0; i <= n; i++) {
|
|
61
|
-
switch (Math.abs(等级 -
|
|
63
|
+
switch (Math.abs(等级 - rows1[i]?.level)) {
|
|
62
64
|
case 0:
|
|
63
65
|
case 1:
|
|
64
66
|
case 2:
|
|
@@ -80,19 +82,19 @@ async function apply(ctx) {
|
|
|
80
82
|
break;
|
|
81
83
|
}
|
|
82
84
|
;
|
|
83
|
-
arr1.push(
|
|
85
|
+
arr1.push(rows1[i]?.baseEXP * x);
|
|
84
86
|
}
|
|
85
87
|
;
|
|
86
88
|
arr2 = [];
|
|
87
|
-
for (i = 0; i <= Math.min(n,
|
|
89
|
+
for (i = 0; i <= Math.min(n, 升级_定点王数量 - 1); i++) {
|
|
88
90
|
y = arr1.indexOf(Math.max(...arr1));
|
|
89
91
|
arr1[y] = 0;
|
|
90
92
|
arr2.push(y);
|
|
91
93
|
}
|
|
92
94
|
;
|
|
93
|
-
for (i = 0; i <= Math.min(n,
|
|
95
|
+
for (i = 0; i <= Math.min(n, 升级_定点王数量 - 1); i++) {
|
|
94
96
|
y = arr2[i];
|
|
95
|
-
switch (Math.abs(等级 -
|
|
97
|
+
switch (Math.abs(等级 - rows1[y]?.level)) {
|
|
96
98
|
case 0:
|
|
97
99
|
case 1:
|
|
98
100
|
case 2:
|
|
@@ -114,8 +116,73 @@ async function apply(ctx) {
|
|
|
114
116
|
break;
|
|
115
117
|
}
|
|
116
118
|
;
|
|
117
|
-
text += [
|
|
118
|
-
|
|
119
|
+
text += [rows1[y]?.name, ' 等级', rows1[y]?.level, ' ', rows1[y]?.map, ' 经验值', rows1[y]?.baseEXP * x, ' ', rows1[y]?.element, '属性'].join('');
|
|
120
|
+
text += '\n';
|
|
121
|
+
}
|
|
122
|
+
;
|
|
123
|
+
const rows2 = await ctx.database.get('toram_boss', { level: { $gte: 等级 - 8, $lte: Math.min(等级 + 8, 版本等级 + 3) }, name: { $regex: /^\D/ } });
|
|
124
|
+
n = rows2.length - 1;
|
|
125
|
+
text += '\n野王:\n';
|
|
126
|
+
arr1 = [];
|
|
127
|
+
for (i = 0; i <= n; i++) {
|
|
128
|
+
switch (Math.abs(等级 - rows2[i]?.level)) {
|
|
129
|
+
case 0:
|
|
130
|
+
case 1:
|
|
131
|
+
case 2:
|
|
132
|
+
case 3:
|
|
133
|
+
case 4:
|
|
134
|
+
x = 11;
|
|
135
|
+
break;
|
|
136
|
+
case 5:
|
|
137
|
+
x = 10;
|
|
138
|
+
break;
|
|
139
|
+
case 6:
|
|
140
|
+
x = 9;
|
|
141
|
+
break;
|
|
142
|
+
case 7:
|
|
143
|
+
x = 7;
|
|
144
|
+
break;
|
|
145
|
+
case 8:
|
|
146
|
+
x = 3;
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
;
|
|
150
|
+
arr1.push(rows2[i]?.baseEXP * x);
|
|
151
|
+
}
|
|
152
|
+
;
|
|
153
|
+
arr2 = [];
|
|
154
|
+
for (i = 0; i <= Math.min(n, 升级_野王数量 - 1); i++) {
|
|
155
|
+
y = arr1.indexOf(Math.max(...arr1));
|
|
156
|
+
arr1[y] = 0;
|
|
157
|
+
arr2.push(y);
|
|
158
|
+
}
|
|
159
|
+
;
|
|
160
|
+
for (i = 0; i <= Math.min(n, 升级_野王数量 - 1); i++) {
|
|
161
|
+
y = arr2[i];
|
|
162
|
+
switch (Math.abs(等级 - rows2[y]?.level)) {
|
|
163
|
+
case 0:
|
|
164
|
+
case 1:
|
|
165
|
+
case 2:
|
|
166
|
+
case 3:
|
|
167
|
+
case 4:
|
|
168
|
+
x = 11;
|
|
169
|
+
break;
|
|
170
|
+
case 5:
|
|
171
|
+
x = 10;
|
|
172
|
+
break;
|
|
173
|
+
case 6:
|
|
174
|
+
x = 9;
|
|
175
|
+
break;
|
|
176
|
+
case 7:
|
|
177
|
+
x = 7;
|
|
178
|
+
break;
|
|
179
|
+
case 8:
|
|
180
|
+
x = 3;
|
|
181
|
+
break;
|
|
182
|
+
}
|
|
183
|
+
;
|
|
184
|
+
text += [rows2[y]?.name, ' 等级', rows2[y]?.level, ' ', rows2[y]?.map, ' 经验值', rows2[y]?.baseEXP * x, ' ', rows2[y]?.element, '属性'].join('');
|
|
185
|
+
if (i != Math.min(n, 升级_野王数量 - 1)) {
|
|
119
186
|
text += '\n';
|
|
120
187
|
}
|
|
121
188
|
}
|
|
@@ -191,9 +258,18 @@ async function apply(ctx) {
|
|
|
191
258
|
return '修改定点王数据成功!';
|
|
192
259
|
}
|
|
193
260
|
});
|
|
261
|
+
ctx.command('写入野王 <名称:string> <基础等级:number> <地图:string> <基础经验:number> <属性:string>').action(async ({ session }, ...args) => {
|
|
262
|
+
{
|
|
263
|
+
let 野王名称 = args[0], 野王等级 = args[1], 野王地图 = args[2], 野王基础经验 = args[3], 野王属性 = args[4];
|
|
264
|
+
const rows = await ctx.database.get('toram_boss', { id: { $gte: 1, $lte: 1000 }, });
|
|
265
|
+
n = rows.length;
|
|
266
|
+
await ctx.database.upsert('toram_boss', [{ id: n + 1, name: 野王名称, level: 野王等级, map: 野王地图, baseEXP: 野王基础经验, element: 野王属性 }]);
|
|
267
|
+
return '写入野王成功!';
|
|
268
|
+
}
|
|
269
|
+
});
|
|
194
270
|
ctx.middleware(async (session, next) => {
|
|
195
|
-
if ((session.content) == '
|
|
196
|
-
return '
|
|
271
|
+
if ((session.content) == String((0, koishi_1.h)('at', { id: (session.bot) })) + String((0, koishi_1.h)('text'))) {
|
|
272
|
+
return '1';
|
|
197
273
|
}
|
|
198
274
|
});
|
|
199
275
|
}
|