| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- #nop vim: set filetype=tt:;
- #var basic_char_jifa[META] {
- {NAME} {武功激发检查}
- {DESC} {解析 jifa 命令的输出结果,并写入到 char[Skills]}
- {AUTHOR} {担子炮}
- {NOTE} {解析结果并不会覆盖 skills 原有数据,只是增加了 skill 之间的激发关系}
- {CONFIG} {
- }
- };
- /*
- ╭───基本功夫──────┬─────────────┬─────────────╮
- │内功 (force) │八荒六合唯我独尊功 │有效等级: 420 │
- │躲闪 (dodge) │月影舞步 │有效等级: 769 │
- │招架 (parry) │天山六阳掌 │有效等级: 419 │
- ├───常用兵器──────┼─────────────┼─────────────┤
- │剑法 (sword) │天羽奇剑 │有效等级: 419 │
- ├───常用拳脚──────┼─────────────┼─────────────┤
- │手法 (hand) │天山折梅手[互备] │有效等级: 419 │
- │掌法 (strike) │天山六阳掌[互备] │有效等级: 419 │
- ├───其他功夫──────┼─────────────┼─────────────┤
- │暗器 (throwing) │天山六阳掌 │有效等级: 419 │
- ╰─────────────┴─────────────┴────北大侠客行────╯
- */
- load-lib event;
- event.Define {char/jifa} {无参} {$MODULE} {已经获取到 jifa/enable 命令输出结果,并更新 char[Skills]。};
- #func {basic_char_jifa.Init} {
- #return true;
- };
- #alias {jifa} {char.Jifa};
- #alias {enable} {char.Jifa};
- #alias {char.Jifa} {
- #local args {%0};
- #if { "$args" != "" } {
- #send {jifa $args};
- #return;
- };
- #class char.Jifa open;
- #action {^╭───基本功夫─{(─|┬)*}───╮$} {
- #local skillName {};
- #foreach {*char[Skills][]} {skillName} {
- #unvar char[Skills][$skillName][jifa-to];
- };
- char.jifa.parse.output;
- };
- #class char.Jifa close;
- #send jifa;
- };
- #alias {char.jifa.parse.output} {
- #class char.Jifa open;
- #var char-jifa-type {基本功夫};
- #action {{*UTF8}{?:^}├───{\p{Han}{4}}──{(─|┼)*}─┤{|ID=char/jifa}$} {
- #var char-jifa-type {%%1};
- };
- #action {^│%S (%*) %s│%S{|\[互备\]} %s│有效等级:%s %d %s │$} {
- #local baseName {基本%%1};
- #if { "$baseName" == "基本躲闪" } {
- #local baseName {基本轻功};
- };
- #local skillName {%%4};
- #local jifaLevel {%%8};
- #if { &char[Skills][$baseName][] > 0 } {
- #var char[Skills][$baseName][jifa-to] {$skillName};
- #var char[Skills][$baseName][jifa-level] {$jifaLevel};
- #var char[Skills][$baseName][jifa-type] {$char-jifa-type};
- };
- #if { &char[Skills][$skillName][] > 0 } {
- #if { "$char[Skills][$skillName][jifa-to]" == "" } {
- #var char[Skills][$skillName][jifa-to] {$baseName};
- };
- #else {
- #cat char[Skills][$skillName][jifa-to] {;$baseName};
- };
- #var char[Skills][$skillName][jifa-level] {$jifaLevel};
- };
- };
- #action {^╰───{(┴|─)*}──%S────╯{|ID=char/jifa}$} {
- char.jifa.done;
- };
- #alias {char.jifa.done} {
- #class char.Jifa kill;
- event.UnHandle {GA} {jifa.parser};
- event.Emit {char/jifa};
- };
- event.HandleOnce {GA} {jifa.parser} {char/jifa} {char.jifa.done};
- #class char.Jifa close;
- };
|