ソースを参照

fix(basic): skills 和锦囊不再是常态触发,改用别名重载的方式

dzp 3 年 前
コミット
afcecba324

+ 19 - 4
mud/pkuxkx/plugins/basic/char/sachet.tin

@@ -14,9 +14,19 @@
 
 #list char[锦囊] create {};
 
-#action {^%S(%S %S) [%1/%2]$E} {
+#alias {jiancha} {char.sachet.jiancha};
+
+#alias {char.sachet.jiancha} {
     #list char[锦囊] create {};
 
+    #line oneshot #action {^%S(%S %S) [%*/%*]{|ID=char.sachet}$} {
+        char.sachet.parse.output;
+    };
+
+    xtt.Send jiancha;
+};
+
+#alias {char.sachet.parse.output} {
     #class char-parse-sachet open;
 
     #local level    {地|山|水|风|雷|火|泽|天};
@@ -38,15 +48,20 @@
             #if { "$item" == "" } {
                 #continue;
             };
-            #nop {( 1)山★ 玄武甲*12};
+            #nop {[M5B]雷★木灵*30};
             #local item {@__char_sachet_parse__{{$item}}};
             #var char[锦囊] {$char[锦囊]{$item[序号]}{$item}};
         };
     };
 
-    #action {^╰─────────┴─────────┴─────────┴─%S────╯{|ID=char.sachet}$} {
-        #delay tmp {};
+    #action {^╰──{(─|┴)+}─%S────╯{|ID=char.sachet}$} {
+        #class char-parse-sachet kill;
+    };
+
+    event.HandleOnce GA {char.sachet} {char} {
         #class char-parse-sachet kill;
+        okLog 锦囊数据已更新。;
+        #nop 吞参数专用,不要删除本行,也不要在末尾加分号或是别的语句
     };
 
     #class char-parse-sachet close;

+ 22 - 3
mud/pkuxkx/plugins/basic/char/skills.tin

@@ -30,7 +30,23 @@
     #return true;
 };
 
-#action {^╭───技能列表(共%*项){(─|┬)*}──╮$} {
+#alias {skills} {char.skills};
+#alias {sk}     {char.skills};
+#alias {cha}    {char.skills};
+
+#alias {char.skills} {
+    #local args {%0};
+
+    #if { "$args" == "" } {
+        #line oneshot #action {^╭───技能列表(共%*项){(─|┬)*}──╮$} {
+            char.skills.parse.output;
+        };
+    };
+
+    xtt.Send skills %0;
+};
+
+#alias {char.skills.parse.output} {
     #class {ParseSkills} open;
 
     #var char[Skills][currentType] {};
@@ -107,17 +123,20 @@
         #line gag;
     };
 
-    #action {^╰───{(┴|─)*}┴────%S────╯{|ID=char.skills}$} {
+    #action {^╰───{(┴|─)*}─%S────╯{|ID=char.skills}$} {
         #unvar char[Skills][currentType];
         #class {ParseSkills} kill;
     };
 
     #action {^你不是查看过吗?{|ID=char/skills}$} {
+        #unvar char[Skills][currentType];
         #class {ParseSkills} kill;
     };
 
-    #delay 5 {
+    event.HandleOnce GA {char.skills} {char} {
+        #unvar char[Skills][currentType];
         #class {ParseSkills} kill;
+        #nop 吞参数专用,不要删除本行,也不要在末尾加分号或是别的语句
     };
 
     #class {ParseSkills} close;

+ 1 - 1
mud/pkuxkx/plugins/basic/title.tin

@@ -18,7 +18,7 @@
     #local title    {?:(.*?)};
     #local nick     {?:(?:「(.+?)」)?};
     #local name     {?:(\p{Han}+)};
-    #local emoji    {?:( (?:(?:\p{So}\S*|🗡|🦅|🧡|🐅|🐒|🐎|⭕️) )+)?};
+    #local emoji    {?:( (?:(?:\p{So}\S*|🗡|🦅|🧡|🐅|🐒|🐎|⭕️|🐍|🙊|🐓) ?)+)?};
     #local id       {?:\(([A-Z][a-z']+(?: [a-z]+)*)\)};
     #local status1  {?:(?: <(.*?)>)?};
     #local status2  {?:(?: \[(.*?)\])?};