1
1
// ==UserScript==
2
2
// @name 后日谈规则
3
3
// @author 简律纯
4
- // @version 2.0.2
4
+ // @version 2.0.3
5
5
// @description 两个后日谈规则【.rnc】与【.rna】,帮助命令【.rnc help】与【.rna help】
6
6
// 2023-03-27
7
7
// @license by-nc-sa 4.0
10
10
11
11
let ext = seal . ext . find ( 'rnc' ) ;
12
12
if ( ! ext ) {
13
- ext = seal . ext . new ( 'rnc' , '简律纯' , '2.0.2 ' ) ;
13
+ ext = seal . ext . new ( 'rnc' , '简律纯' , '2.0.3 ' ) ;
14
14
seal . ext . register ( ext ) ;
15
15
}
16
16
@@ -90,8 +90,8 @@ rna.solve = (ctx, msg, cmdArgs) => {
90
90
}
91
91
default : {
92
92
const rollDice = ( n = 1 , d = 10 , mod = 0 ) => {
93
- const rolls_ = Array . from ( { length : n } , ( ) => Math . ceil ( Math . random ( ) * d ) ) ;
94
- const rolls = rolls_ . map ( ( roll ) => roll + mod ) ;
93
+ const _rolls_ = Array . from ( { length : n } , ( ) => Math . ceil ( Math . random ( ) * d ) ) ;
94
+ const rolls = _rolls_ . map ( ( roll ) => roll + mod ) ;
95
95
const maxRoll = Math . max ( ...rolls ) ;
96
96
let result ;
97
97
//单骰
@@ -101,12 +101,12 @@ rna.solve = (ctx, msg, cmdArgs) => {
101
101
result = "大失败!" ;
102
102
} else if ( maxRoll >= 2 && maxRoll <= 5 ) {
103
103
//[2,5]
104
- result = "失败! " ;
105
- } else if ( maxRoll >= 6 && maxRoll <= 9 ) {
104
+ result = "失败" ;
105
+ } else if ( maxRoll >= 6 && maxRoll <= 10 ) {
106
106
//[6,9]
107
- result = "成功! "
108
- } else if ( maxRoll >= 10 ) {
109
- //[10 ,+∞]
107
+ result = "成功"
108
+ } else if ( maxRoll >= 11 ) {
109
+ //[11 ,+∞]
110
110
result = "大成功!"
111
111
}
112
112
}
@@ -116,20 +116,20 @@ rna.solve = (ctx, msg, cmdArgs) => {
116
116
//(-∞,6) U {1}
117
117
result = "大失败!" ;
118
118
}
119
- else if ( rolls . every ( ( roll ) => roll >= 6 && roll <= 9 ) ) {
120
- //[6,9]
121
- result = "成功!" ;
122
- }
123
- else if ( rolls . some ( ( roll ) => roll >= 10 ) ) {
124
- //[10,+∞]
119
+ else if ( maxRoll >= 11 ) {
120
+ //[11,+∞]
125
121
result = "大成功!" ;
126
- } else {
122
+ }
123
+ else if ( maxRoll >= 6 && maxRoll <= 10 ) {
124
+ //[6,10]
125
+ result = "成功" ;
126
+ } else if ( ( maxRoll > 1 && maxRoll < 6 ) || ( maxRoll < 1 ) ) {
127
127
//(-∞,1) U (1,6)
128
- result = "失败! " ;
128
+ result = "失败" ;
129
129
}
130
130
}
131
131
const finalResult = maxRoll ;
132
- return `${ n } D${ d } ${ mod > 0 ? `+${ mod } ` : mod < 0 ? mod : "" } =[${ rolls_ . join ( "," ) } ]${ mod !== 0 ? mod > 0 ? `+${ mod } ` : mod < 0 ? mod : "" : "" } =${ finalResult } ${ result } ` ;
132
+ return `${ n } D${ d } ${ mod > 0 ? `+${ mod } ` : mod < 0 ? mod : "" } =[${ _rolls_ . join ( "," ) } ]${ mod !== 0 ? mod > 0 ? `+${ mod } ` : mod < 0 ? mod : "" : "" } ${ n > 1 && mod !== 0 ? `=[ ${ rolls . join ( "," ) } ]` : "" } =${ finalResult } ${ result } ` ;
133
133
} ;
134
134
135
135
let modify = msg . message . match ( / [ + - ] ( \d + ) / ) ;
@@ -153,7 +153,7 @@ rna.solve = (ctx, msg, cmdArgs) => {
153
153
} else {
154
154
sides = sides [ 1 ]
155
155
}
156
- seal . replyToSender ( ctx , msg , `<${ msg . sender . nickname } >进行攻击检定 :${ rollDice ( numDice , sides , addvalue ) } ` )
156
+ seal . replyToSender ( ctx , msg , `<${ msg . sender . nickname } >进行检定 :${ rollDice ( numDice , sides , addvalue ) } ` )
157
157
}
158
158
}
159
159
}
0 commit comments