status.tin 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. #nop vim: set filetype=tt:;
  2. /*
  3. 本文件属于 PaoTin++ 的一部分
  4. ===========
  5. PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
  6. 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
  7. ===========
  8. */
  9. #var basic_char_status[META] {
  10. {NAME} {状态面板}
  11. {DESC} {解析 status_me 命令,并储存到变量 char[STATUS]}
  12. {AUTHOR} {担子炮}
  13. {NOTE} {本文件属于 PaoTin++ 的一部分}
  14. };
  15. load-lib event;
  16. event.Define {char/status} {无参} {$MODULE} {已经获取到 status_me 命令输出结果,并更新 char[STATUS]。};
  17. #nop ╭────个人状态────┬────┬──────┬────┬──────┬────┬─────╮;
  18. #nop │姓名 │马后炮 │ID │Mhp │级别 │32 │战斗力 │104611 │;
  19. #nop ├───攻击属性────┼────┼──────┼────┼──────┼────┼──────┤;
  20. #nop │武器伤害│264 │出招速度│0.58 │外伤命中│806 │内伤命中│-2级 │;
  21. #nop │外伤增益│15% │内伤增益│6% │要害攻击│2% │要害伤害│152% │;
  22. #nop │毒伤增强│0% │致晕命中│0级 │ │ │ │ │;
  23. #nop ├───防御属性────┼────┼──────┼────┼──────┼────┼──────┤;
  24. #nop │护甲 │597 │防御 │382 │躲闪 │818 │招架 │2846 │;
  25. #nop │外伤抗性│50% │外伤绝抗│0% │内伤抗性│45% │内伤绝抗│0% │;
  26. #nop │真气减伤│9% │伤害吸收│0% │外伤减伤│0 │技能防御│4级 │;
  27. #nop │要害抗性│1% │毒伤抗性│50% │致晕抗性│+3级 │ │ │;
  28. #nop ├───其他属性────┼────┼──────┼────┼──────┼────┼──────┤;
  29. #nop │臂力影响│54 │悟性影响│45 │根骨影响│75 │身法影响│59 │;
  30. #nop │后天身法│10点 │ │ │ │ │ │ │;
  31. #nop ├───技能加成────┼────┼──────┼────┼──────┼────┼──────┤;
  32. #nop │基本轻功│+57级 │基本招架│+40级 │基本拳法│+25级 │基本爪法│+25级 │;
  33. #nop │基本手法│+24级 │基本剑法│+50级 │基本刀法│+50级 │ │ │;
  34. #nop ├───恢复状态────┼────┼──────┼────┼──────┼────┼──────┤;
  35. #nop │气血基础│3381 │等级加成│1589 │高等加成│0 │其他加成│18050 │;
  36. #nop │精神基础│1964 │等级加成│926 │高等加成│0 │其他加成│2882 │;
  37. #nop │气血恢复│309.37 │气血治疗│49.79 │精神恢复│389.58 │精神治疗│49.79 │;
  38. #nop │内力恢复│43.05 │精力恢复│14.32 │内力精纯│100.00% │加力减耗│0% │;
  39. #nop ├───战斗信息────┴────┴──────┴────┴──────┴────┴──────┤;
  40. #nop │你使用「太极剑法」中的绝招「太极剑·连」攻击对手:喻永思(yu yongsi),命中(986),对方躲闪(1509 │;
  41. #nop │),招架(1795),最终命中概率12.00%。 │;
  42. #nop ├───特殊状态────────────────────────────────────────┤;
  43. #nop │身轻如燕永久有效,躲闪几率增加10%。 │;
  44. #nop │太极神功永久有效,最大气血 + 5100点。 │;
  45. #nop │铜皮铁骨永久有效,防御躲闪 + 117级,护甲防御 + 235点。 │;
  46. #nop ├───健康状态────────────────────────────────────────┤;
  47. #nop │受伤、怒、梯云纵(127秒)、太极剑·随(11秒)、太极剑·连(4秒)、太极剑·缠(1秒) │;
  48. #nop ├───奖励状态────┬────┬──────┬────┬──────┬────┬──────┤;
  49. #nop │幸运值 │25 │奖励系数│115% │识图检查│完整奖励 │ │ │;
  50. #nop ╰────┴──────┴────┴──────┴────┴──────┴──北大侠客行────╯;
  51. #alias {char.status_me.parse.output} {
  52. #local silent {%1};
  53. #class char-parse-status-me open;
  54. #sub {~\e[46m} {<ABB>};
  55. #sub {~\e[42m} {<ABA>};
  56. #sub {~\e[43m} {<CCA>};
  57. #sub {~\e[45m} {<CAC>};
  58. #if { "$silent" == "gag" } {
  59. #gag {^%*$};
  60. };
  61. #nop │气血恢复│6.42 │气血治疗│0.11 │精神恢复│3.16 │精神治疗│0.11 │;
  62. #action {^│气血恢复│%S%!s│气血治疗│%S%!s│精神恢复│%S%!s│精神治疗│%S%!s│$} {
  63. #var char[STATUS][气血恢复] {@str.Trim{%%1}};
  64. #var char[STATUS][气血治疗] {@str.Trim{%%2}};
  65. #var char[STATUS][精神恢复] {@str.Trim{%%3}};
  66. #var char[STATUS][精神治疗] {@str.Trim{%%4}};
  67. };
  68. #nop │内力恢复│4.11 │精力恢复│12.63 │内力精纯│97.69% │加力减耗│0% │;
  69. #action {^│内力恢复│%S%!s│精力恢复│%S%!s│内力精纯│%S\%%!s│加力减耗│%*│$} {
  70. #var char[STATUS][内力恢复] {@str.Trim{%%1}};
  71. #var char[STATUS][精力恢复] {@str.Trim{%%2}};
  72. #var char[STATUS][内力精纯] {@str.Trim{%%3}};
  73. };
  74. #nop 兜底儿的触发,捕获其它所有数值类型字段;
  75. #action {^│%*│%S%!s│%*│%S%!s│%*│%S%!s│%*│%S%!s│$} {
  76. #local data {
  77. {%%1} {%%2}
  78. {%%3} {%%4}
  79. {%%5} {%%6}
  80. {%%7} {%%8}
  81. };
  82. #local key {};
  83. #foreach {*data[]} {key} {
  84. #local value {@str.Trim{$data[$key]}};
  85. #local key {@str.Trim{$key}};
  86. #if { "$key" != "" } {
  87. #replace value {{[^0-9.-]+}} {};
  88. #var char[STATUS][$key] {$value};
  89. };
  90. };
  91. } {5.1};
  92. #nop ├───健康状态────────────────────────────────────────┤;
  93. #nop │ 受伤、怒、梯云纵(127秒)、太极剑· 随(11秒)、太极剑· 连(4秒)、太极剑· 缠(1秒) │;
  94. #action {^├───健康状态──{(┴|─)+}───┤$} {
  95. #line oneshot #action {~^\e[0m│%*\e[2;37;0m{?:|、(.*)\x1b\[2;37;0m}%s%c│\e[0m$} {
  96. #var char[STATUS][健康状态] {%%%1};
  97. #var char[STATUS][持续效果] {%%%2};
  98. };
  99. };
  100. #nop  持续效果提示  梯云纵(87秒)、太极剑· 随(37秒)  ;
  101. #action {^ 持续效果提示  %* $} {
  102. #local status {@str.Trim{%%1}};
  103. };
  104. #nop │幸运值 │2 │奖励系数 │100% │识图检查 │需要 │;
  105. #action {^│幸运值%!s│%d%!s│奖励系数%!s│%d%!.%!s│识图检查%!s│%*│$} {
  106. #var char[STATUS][幸运值] {@str.Trim{%%1}};
  107. #var char[STATUS][奖励系数] {@str.Trim{%%2}};
  108. #var char[STATUS][识图检查] {@str.Trim{%%3}};
  109. };
  110. #nop ╰────┴──────┴────┴──────┴────┴──────┴──北大侠客行────╯;
  111. #line oneshot #action {^╰{(─|┴)+}──%S────╯{|ID=char.status}$} {
  112. #if { "%1" == "gag" } {#line gag};
  113. char.status_me.parse.done;
  114. };
  115. #alias {char.status_me.parse.done} {
  116. #class char-parse-status-me kill;
  117. #class char.GetStatusMe kill;
  118. #delay 0 {okLog 人物状态信息已更新。};
  119. event.Emit char/status;
  120. };
  121. event.ClassHandleOnce GA {char.status_me} {char} {
  122. char.status_me.parse.done;
  123. #nop 吞参数专用,不要删除本行,也不要在末尾加分号或是别的语句
  124. };
  125. #class char-parse-status-me close;
  126. };
  127. #alias {char.GetStatusMe} {
  128. #local silent {%1};
  129. #local args {%2};
  130. #class char.GetStatusMe open;
  131. #nop ╭───个人状态─────┬────────────┬─────────────╮;
  132. #action {^╭─{(─)*}─个人状态─{((─)+┬){2}}──{(─)*}─╮$} {
  133. #if { "%1" == "gag" } {#line gag};
  134. #class char.GetStatusMe kill;
  135. char.status_me.parse.output %1;
  136. };
  137. #nop │当头炮(Dtp) │级别:64 │战斗力:99999999 │;
  138. #action {^│%S(%S)%s│级别:%d%s│战斗力:%d%s│$} {
  139. #if { "%1" == "gag" } {#line gag};
  140. #class char.GetStatusMe kill;
  141. char.status_me.parse.output %1;
  142. };
  143. #action {^等等,系统喘气中......$} {
  144. #class char.GetStatusMe kill;
  145. };
  146. #class char.GetStatusMe close;
  147. xtt.Send {status_me %2};
  148. };
  149. #alias {status_me_gag} {char.GetStatusMe gag {%0}};
  150. #alias {status_me} {char.GetStatusMe nogag {%0}};
  151. #alias {sm} {char.GetStatusMe nogag {%0}};
  152. #delay status_me.Init {char.GetStatusMe gag} 3;