ソースを参照

feat(pkuxkx): 技能、内力、精力提升时自动记录日志,并更新客户端数据

dzp 2 年 前
コミット
3e4e965e3a

+ 20 - 0
mud/pkuxkx/plugins/basic/char/hp.tin

@@ -681,3 +681,23 @@ hp -neili 格式:
 
     #class char.UncolorEnemy close;
 };
+
+#action {^你的内力增加了!!$E} {
+    #line oneshot #alias {char.log-dazuo} {
+        #local name {$char[Skills][基本内功][jifa-to]};
+        #local limit {$char[Skills][$name][neili-limit]};
+        #if { "$limit" != "" } {
+            #local limit { / $limit};
+        };
+        fullskLog <139>$name<299> 的内力提升!当前进度: $gGMCP[Status][最大内力]$limit;
+    };
+    event.HandleOnce {GMCP.Status} {char.log-dazuo} {char/hp} {char.log-dazuo};
+} {9.1};
+
+#action {^你的精力上限增加了!!$E} {
+    #line oneshot #alias {char.log-tuna} {
+        #local limit {@math.Eval{@char.SkillJifaLevel{基本内功} * 10}};
+        fullskLog <139>你的精力上限增加了!!<299> 当前进度: $gGMCP[Status][最大精力] / $limit;
+    };
+    event.HandleOnce {GMCP.Status} {char.log-tuna} {char/hp} {char.log-tuna};
+} {9.1};

+ 18 - 0
mud/pkuxkx/plugins/basic/char/skills.tin

@@ -396,3 +396,21 @@ event.Define {char/skbrief} {无参}  {$MODULE} {已经获取到 skbrief 命令
 
     #return {@defaultNum{$char[Skills][$skill][jifa-level];$level}};
 };
+
+#action {^你的「%*」进步了!$E} {
+    #local name {%1};
+
+    #if { "$char[Skills][$name]" == "" } {
+        #return;
+    };
+
+    #local level {@math.Floor{ @char.SkillLevel{$name} }};
+    #local limit {@char.SkillLimit{$name}};
+    fullskLog @buffer.RawLine{} 当前进度: $level / $limit;
+
+    skbrief $char[Skills][$name][code];
+
+    #if { "$name" == "基本内功" || "@char.GetJifaSkill{$name}" == "基本内功" } {
+        hp -neili;
+    };
+} {9.1};