|
|
@@ -29,23 +29,28 @@ event.Define {char/hpneili} {无参} {$MODULE} {已经获取到 hp -neili 命
|
|
|
#var char[HP][经验显示] {1};
|
|
|
#var char[HP][潜能] {1};
|
|
|
#var char[HP][潜能显示] {1};
|
|
|
+ #var char[HP][上次内力] {0};
|
|
|
#var char[HP][当前内力] {0};
|
|
|
#var char[HP][最大内力] {1};
|
|
|
#var char[HP][加力] {0};
|
|
|
#var char[HP][内力百分比] {0};
|
|
|
+ #var char[HP][上次精力] {0};
|
|
|
#var char[HP][当前精力] {0};
|
|
|
#var char[HP][最大精力] {1};
|
|
|
#var char[HP][精力百分比] {0};
|
|
|
+ #var char[HP][上次气血] {0};
|
|
|
#var char[HP][当前气血] {0};
|
|
|
#var char[HP][有效气血] {1};
|
|
|
#var char[HP][最大气血] {1};
|
|
|
#var char[HP][气血百分比] {0};
|
|
|
#var char[HP][气血健康度] {0};
|
|
|
+ #var char[HP][上次精神] {0};
|
|
|
#var char[HP][当前精神] {0};
|
|
|
#var char[HP][有效精神] {1};
|
|
|
#var char[HP][最大精神] {1};
|
|
|
#var char[HP][精神百分比] {0};
|
|
|
#var char[HP][精神健康度] {0};
|
|
|
+ #var char[HP][上次真气] {0};
|
|
|
#var char[HP][当前真气] {0};
|
|
|
#var char[HP][最大真气] {1};
|
|
|
#var char[HP][真气减伤] {0};
|
|
|
@@ -380,6 +385,9 @@ hp -neili 格式:
|
|
|
// - 回气: 由两个数组成,显示样式为为:气血恢复/气血治疗
|
|
|
// - 气血恢复: 展示为每分钟可以恢复的最大血量的比例(以百分比形式)
|
|
|
// - 气血治疗: 展示为每分钟可以治疗的最大血量的比例(以百分比形式)
|
|
|
+// - 回精: 由两个数组成,显示样式为为:精神恢复/精神治疗
|
|
|
+// - 精神恢复: 展示为每分钟可以恢复的最大精神的比例(以百分比形式)
|
|
|
+// - 精神治疗: 展示为每分钟可以治疗的最大精神的比例(以百分比形式)
|
|
|
// - 精神: 由三个数组成,显示样式为为:精神百分比(每秒精神变化)/精神健康度
|
|
|
// - 精神百分比: 展示为当前精神占最大精神的比例,注意这里并没有采用有效精神。
|
|
|
// - 每秒精神变化: 正数展示为绿色,负数展示为红色,如果没有变化,则自动隐藏。
|
|
|
@@ -418,11 +426,11 @@ hp -neili 格式:
|
|
|
};
|
|
|
};
|
|
|
|
|
|
- #local head {};
|
|
|
- #local tail {};
|
|
|
- #local safety {};
|
|
|
- #local label {};
|
|
|
- #local width {@prompt.ScreenWidth{}};
|
|
|
+ #local head {};
|
|
|
+ #local tail {};
|
|
|
+ #local safety {};
|
|
|
+ #local labelColor {};
|
|
|
+ #local width {@prompt.ScreenWidth{}};
|
|
|
|
|
|
#if { $char[HP][气血百分比] < 30 || $char[HP][精神百分比] < 70 } {
|
|
|
#local safety {危险};
|
|
|
@@ -432,7 +440,7 @@ hp -neili 格式:
|
|
|
};
|
|
|
|
|
|
#if { "$char[HP][战斗中]" == "true" } {
|
|
|
- #local label {<188>};
|
|
|
+ #local labelColor {<188>};
|
|
|
};
|
|
|
|
|
|
#local theme {@default{{$char.HPSummarize.Theme};{
|
|
|
@@ -486,13 +494,20 @@ hp -neili 格式:
|
|
|
#local 每秒气血变化 {};
|
|
|
};
|
|
|
|
|
|
+ #local label {气血};
|
|
|
+ #if { $char[HP][食物] <= 0 || $char[HP][饮水] <= 0 } {
|
|
|
+ #local label {<118>气血};
|
|
|
+ };
|
|
|
+
|
|
|
#local 气血 {};
|
|
|
- #format 气血 {$label气血: %s%s/%s}
|
|
|
- {@char.hp.colorit{$char[HP][气血百分比]}} {${每秒气血变化}}
|
|
|
- {@char.hp.colorit{$char[HP][气血健康度]}};
|
|
|
+ #if { !@char.InTuna{} || $width >= 70 } {
|
|
|
+ #format 气血 {$labelColor$label<298>: %s%s/%s}
|
|
|
+ {@char.hp.colorit{$char[HP][气血百分比]}} {${每秒气血变化}}
|
|
|
+ {@char.hp.colorit{$char[HP][气血健康度]}};
|
|
|
+ };
|
|
|
|
|
|
#local 内力 {};
|
|
|
- #if { $width >= 50 || $char[HP][当前内力] > $char[HP][上次内力] } {
|
|
|
+ #if { @char.InCombat{} || $width >= 80 || ($width >= 50 && !@char.InTuna{}) } {
|
|
|
#local 每秒内力变化 {@speedo.GetSpeed{当前内力}};
|
|
|
#if { ${每秒内力变化} > 0 } {
|
|
|
#local 每秒内力变化 {(<128>${每秒内力变化}<298>)};
|
|
|
@@ -503,11 +518,11 @@ hp -neili 格式:
|
|
|
#else {
|
|
|
#local 每秒内力变化 {};
|
|
|
};
|
|
|
- #format 内力 { $label内力: %s%s} {@char.hp.colorit{$char[HP][内力百分比]}} {${每秒内力变化}};
|
|
|
+ #format 内力 { $labelColor内力: %s%s} {@char.hp.colorit{$char[HP][内力百分比]}} {${每秒内力变化}};
|
|
|
};
|
|
|
|
|
|
#local 精神 {};
|
|
|
- #if { $width >= 80 } {
|
|
|
+ #if { @char.InCombat{} || @char.InTuna{} || $width >= 80 || $char[HP][精神百分比] < 70 || $char[HP][精神健康度] < 100 } {
|
|
|
#local 每秒精神变化 {@speedo.GetSpeed{当前精神}};
|
|
|
#if { ${每秒精神变化} > 0 } {
|
|
|
#local 每秒精神变化 {(<128>${每秒精神变化}<298>)};
|
|
|
@@ -518,13 +533,43 @@ hp -neili 格式:
|
|
|
#else {
|
|
|
#local 每秒精神变化 {};
|
|
|
};
|
|
|
- #format 精神 { $label精神: %s%s/%s}
|
|
|
+ #local label {精神};
|
|
|
+ #if { $char[HP][食物] <= 0 || $char[HP][饮水] <= 0 } {
|
|
|
+ #local label {<118>精神};
|
|
|
+ };
|
|
|
+ #format 精神 { $labelColor$label<298>: %s%s/%s}
|
|
|
{@char.hp.colorit{$char[HP][精神百分比]}} {${每秒精神变化}}
|
|
|
{@char.hp.colorit{$char[HP][精神健康度]}};
|
|
|
};
|
|
|
|
|
|
+ #local 回气 {};
|
|
|
+ #if { (@char.InCombat{} || $width >= 80 && !@char.IsBusy{}) && ($char[HP][气血百分比] < 100 || $char[HP][气血健康度] < 100) } {
|
|
|
+ #nop 气血恢复的数值展示为每分钟可以恢复的最大血量的倍数(以百分比形式);
|
|
|
+ #local {气血恢复} {@math.Int{@math.Eval{$char[STATUS][气血恢复] * 100 * 60 / $char[HP][最大气血]}}};
|
|
|
+ #nop 气血治疗的数值展示为每分钟可以治疗的最大血量的倍数(以百分比形式);
|
|
|
+ #local {气血治疗} {@math.Int{@math.Eval{$char[STATUS][气血治疗] * 100 * 60 / $char[HP][最大气血]}}};
|
|
|
+ #local label {回气};
|
|
|
+ #if { !@char.IsBusy{} && $char[HP][食物] > 0 && $char[HP][饮水] > 0 && ($char[HP][气血百分比] < 100 || $char[HP][气血健康度] < 100) } {
|
|
|
+ #local label {<128><588>回气\e[25m};
|
|
|
+ };
|
|
|
+ #format {回气} { $labelColor$label: %s/%s} {@char.hp.colorit{${气血恢复}}} {@char.hp.colorit{${气血治疗}}};
|
|
|
+ };
|
|
|
+
|
|
|
+ #local 回精 {};
|
|
|
+ #if { (@char.InCombat{} || $width >= 80 && !@char.IsBusy{}) && ($char[HP][精神百分比] < 100 || $char[HP][精神健康度] < 100) } {
|
|
|
+ #nop 精神恢复的数值展示为每分钟可以恢复的最大精神的倍数(以百分比形式);
|
|
|
+ #local {精神恢复} {@math.Int{@math.Eval{$char[STATUS][精神恢复] * 100 * 60 / $char[HP][最大精神]}}};
|
|
|
+ #nop 精神治疗的数值展示为每分钟可以治疗的最大精神的倍数(以百分比形式);
|
|
|
+ #local {精神治疗} {@math.Int{@math.Eval{$char[STATUS][精神治疗] * 100 * 60 / $char[HP][最大精神]}}};
|
|
|
+ #local label {回精};
|
|
|
+ #if { !@char.IsBusy{} && $char[HP][食物] > 0 && $char[HP][饮水] > 0 && ($char[HP][精神百分比] < 100 || $char[HP][精神健康度] < 100) } {
|
|
|
+ #local label {<128><588>回精\e[25m};
|
|
|
+ };
|
|
|
+ #format {回精} { $labelColor$label: %s/%s} {@char.hp.colorit{${精神恢复}}} {@char.hp.colorit{${精神治疗}}};
|
|
|
+ };
|
|
|
+
|
|
|
#local 精力 {};
|
|
|
- #if { ($width >= 100 && !@char.InCombat{}) || $char[HP][当前精力] > $char[HP][上次精力] || $char[HP][精力百分比] < 30 } {
|
|
|
+ #if { @char.InTuna{} || $width >= 120 || $char[HP][精力百分比] < 50 } {
|
|
|
#local 每秒精力变化 {@speedo.GetSpeed{当前精力}};
|
|
|
#if { ${每秒精力变化} > 0 } {
|
|
|
#local 每秒精力变化 {(<128>${每秒精力变化}<298>)};
|
|
|
@@ -535,31 +580,26 @@ hp -neili 格式:
|
|
|
#else {
|
|
|
#local 每秒精力变化 {};
|
|
|
};
|
|
|
- #format 精力 { $label精力: %s%s} {@char.hp.colorit{$char[HP][精力百分比]}} {${每秒精力变化}};
|
|
|
- };
|
|
|
-
|
|
|
- #local 回气 {};
|
|
|
- #if { $width >= 110 || @char.InCombat{} } {
|
|
|
- #nop 气血恢复的数值展示为每分钟可以恢复的最大血量的倍数(以百分比形式);
|
|
|
- #local {气血恢复} {@math.Int{@math.Eval{$char[STATUS][气血恢复] * 100 * 60 / $char[HP][最大气血]}}};
|
|
|
- #nop 气血治疗的数值展示为每分钟可以治疗的最大血量的倍数(以百分比形式);
|
|
|
- #local {气血治疗} {@math.Int{@math.Eval{$char[STATUS][气血治疗] * 100 * 60 / $char[HP][最大气血]}}};
|
|
|
- #format {回气} { $label回气: %s/%s} {@char.hp.colorit{${气血恢复}}} {@char.hp.colorit{${气血治疗}}};
|
|
|
+ #format 精力 { $labelColor精力: %s%s} {@char.hp.colorit{$char[HP][精力百分比]}} {${每秒精力变化}};
|
|
|
};
|
|
|
|
|
|
#local 食水 {};
|
|
|
#if { $width >= 110 } {
|
|
|
+ #local label {食水};
|
|
|
+ #if { $char[HP][食物] <= 0 || $char[HP][饮水] <= 0 } {
|
|
|
+ #local label {<118><588>食水\e[25m<288>};
|
|
|
+ };
|
|
|
#if { @char.InCombat{} } {
|
|
|
- #format {食水} { 食水: %s/%s} {$char[HP][食物]} {$char[HP][饮水]};
|
|
|
+ #format {食水} { $label: %s/%s} {$char[HP][食物]} {$char[HP][饮水]};
|
|
|
};
|
|
|
#else {
|
|
|
- #format {食水} { 食水: %s/%s(%s/%s)}
|
|
|
+ #format {食水} { $label: %s/%s(%s/%s)}
|
|
|
{$char[HP][食物]} {$char[HP][饮水]}
|
|
|
{@speedo.GetSpeed{食物;60}} {@speedo.GetSpeed{饮水;60}};
|
|
|
};
|
|
|
};
|
|
|
|
|
|
- #local summarize {<099>$head〔HP摘要〕<298>${气血}${内力}${回气}${精神}${精力}${食水}$tail<099>};
|
|
|
+ #local summarize {<099>$head〔HP摘要〕<298>${气血}${内力}${回气}${精神}${回精}${精力}${食水}$tail<099>};
|
|
|
#showme $summarize;
|
|
|
};
|
|
|
|
|
|
@@ -721,6 +761,32 @@ event.Handle {option/changed} {opt/HPSummarize.Pause/pkuxkx} {$MODULE} {char.HPS
|
|
|
};
|
|
|
};
|
|
|
|
|
|
+///=== {
|
|
|
+// #@ char.InDazuo
|
|
|
+// 如果角色正在打坐,则返回真,否则返回假。无参数。
|
|
|
+// };
|
|
|
+#func {char.InDazuo} {
|
|
|
+ #if { @char.IsBusy{} && "@ga.LastCmd{}" == "{exercise|dazuo} %*" } {
|
|
|
+ #return 1;
|
|
|
+ };
|
|
|
+ #else {
|
|
|
+ #return 0;
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+///=== {
|
|
|
+// #@ char.InTuna
|
|
|
+// 如果角色正在吐纳,则返回真,否则返回假。无参数。
|
|
|
+// };
|
|
|
+#func {char.InTuna} {
|
|
|
+ #if { @char.IsBusy{} && "@ga.LastCmd{}" == "{respirate|tuna} %*" } {
|
|
|
+ #return 1;
|
|
|
+ };
|
|
|
+ #else {
|
|
|
+ #return 0;
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
///=== {
|
|
|
// #@ char.InCombat
|
|
|
// 如果角色正处于战斗中,则返回真,否则返回假。无参数。
|