Skip to content

Commit

Permalink
feat: HP摘要配色从此可以定制了
Browse files Browse the repository at this point in the history
  • Loading branch information
dzpao committed Nov 30, 2023
1 parent f420bf3 commit 6dea8a8
Show file tree
Hide file tree
Showing 3 changed files with 112 additions and 72 deletions.
32 changes: 27 additions & 5 deletions etc/ui-settings.tin
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@
{ {place}{BotSepBar} {label}{随手记} {name}{note} {color}{<134>}}
};

#nop 配色主题,注意这里不要直接嵌入 SGR(ansi codes),否则计算宽度时会有问题。;
#var prompt-theme {
VAR {信息栏的配色主题} prompt-theme {
{Disable}{<bbc>}
{BusyColor}{<239>}
{BattleColor}{<119>}
Expand All @@ -27,12 +26,11 @@
{Value}{<299>}
};

#nop 自定义图标;
#var prompt-icon {
VAR {自定义图标} prompt-icon {
{DisableRefresh}{🚫}
};

#var prompt-prompt {};
VAR {命令提示符,默认为空} prompt-prompt {};

#nop 热键绑定;
#list global-key-bindings create {
Expand All @@ -44,3 +42,27 @@
{{key}{\cod} {action}{option.Toggle DebugLog}}
{{key}{\coe} {action}{option.Toggle EchoCommand}}
};

VAR {HP摘要刷新时机,三选一:{总是|从不|自动}} char.HPSummarize.Echo {自动};

VAR {HP摘要配色表} char.HPSummarize.Theme {
{色卡} {<218>;15;<118>;30;<238>;60;<138>;90;<128>;101;<168>}
{前景} {
{平常} {<168>}
{战斗} {<118>}
{战安} {<128>}
{战危} {<118>}
{战忙} {<138>}
{危急} {<158>}
{正忙} {<138>}
}
{背景} {
{平常} {<099>}
{战斗} {<B00A>}
{战安} {<B040>}
{战危} {<B600>}
{战忙} {<B808>}
{危急} {<BA00>}
{正忙} {<B330>}
}
};
Original file line number Diff line number Diff line change
Expand Up @@ -68,27 +68,6 @@
{ {place}{BotSepBar} {label}{类型} {name}{type} }
};

#nop 配色主题,注意这里不要直接嵌入 SGR(ansi codes),否则计算宽度时会有问题。;
#var prompt-theme {
{Disable}{<bbc>}
{BusyColor}{<239>}
{BattleColor}{<119>}
{BattleBusyColor}{<599><119>}
{TopSepBar}{<229>}
{MidSepBar}{<229>}
{BotSepBar}{<229>}
{HotLabel}{<199><F399>}
{CoolLabel}{<109>}
{Value}{<299>}
};

#nop 自定义图标;
#var prompt-icon {
{DisableRefresh}{🚫}
};

#var prompt-prompt {};

#nop 热键绑定;
#list global-key-bindings create {
{{key}{\cd} {action}{cli.SmartToggle}}
Expand All @@ -104,5 +83,3 @@
{{key}{\coM} {action}{option.Toggle MapDebug; look}}
{{key}{\coV} {action}{option.Toggle ShowRoomView; look}}
};

VAR {HP摘要刷新时机,三选一:{总是|从不|自动}} char.HPSummarize.Echo {自动};
129 changes: 85 additions & 44 deletions mud/pkuxkx/plugins/basic/char/hp.tin
Original file line number Diff line number Diff line change
Expand Up @@ -250,13 +250,13 @@ hp -neili 格式:
#action {^{|>|> }#%1,%2,%3,%4,%5,%6$} {
#if { "${char.parsingHP}" == "" } {
#var char[HP][经验显示] {%1};
#var char[HP][经验] {@__char_hp_expandBigNumber__{%1}};
#var char[HP][经验] {@char.hp.expandBigNumber{%1}};
#var char[HP][潜能显示] {%2};
#var char[HP][潜能] {@__char_hp_expandBigNumber__{%2}};
#var char[HP][最大内力] {@__char_hp_expandBigNumber__{%3}};
#var char[HP][当前内力] {@__char_hp_expandBigNumber__{%4}};
#var char[HP][最大精力] {@__char_hp_expandBigNumber__{%5}};
#var char[HP][当前精力] {@__char_hp_expandBigNumber__{%6}};
#var char[HP][潜能] {@char.hp.expandBigNumber{%2}};
#var char[HP][最大内力] {@char.hp.expandBigNumber{%3}};
#var char[HP][当前内力] {@char.hp.expandBigNumber{%4}};
#var char[HP][最大精力] {@char.hp.expandBigNumber{%5}};
#var char[HP][当前精力] {@char.hp.expandBigNumber{%6}};

speedo.Set {经验} {$char[HP][经验]} {true} {10};
speedo.Set {潜能} {$char[HP][潜能]} {true} {10};
Expand All @@ -270,12 +270,12 @@ hp -neili 格式:
#line gag;
};
#else {
#var char[HP][最大气血] {@__char_hp_expandBigNumber__{%1}};
#var char[HP][有效气血] {@__char_hp_expandBigNumber__{%2}};
#var char[HP][当前气血] {@__char_hp_expandBigNumber__{%3}};
#var char[HP][最大精神] {@__char_hp_expandBigNumber__{%4}};
#var char[HP][有效精神] {@__char_hp_expandBigNumber__{%5}};
#var char[HP][当前精神] {@__char_hp_expandBigNumber__{%6}};
#var char[HP][最大气血] {@char.hp.expandBigNumber{%1}};
#var char[HP][有效气血] {@char.hp.expandBigNumber{%2}};
#var char[HP][当前气血] {@char.hp.expandBigNumber{%3}};
#var char[HP][最大精神] {@char.hp.expandBigNumber{%4}};
#var char[HP][有效精神] {@char.hp.expandBigNumber{%5}};
#var char[HP][当前精神] {@char.hp.expandBigNumber{%6}};

speedo.Set {当前气血} {$char[HP][当前气血]} {true} {10};
speedo.Set {当前精神} {$char[HP][当前精神]} {true} {10};
Expand All @@ -292,10 +292,10 @@ hp -neili 格式:

#nop 第三行: 真气,真元,食物,饮水;
#action {^#%1,%2,%3,%4,{0|1},{0|1}$} {
#var char[HP][当前真气] {@__char_hp_expandBigNumber__{%1}};
#var char[HP][当前真元] {@__char_hp_expandBigNumber__{%2}};
#var char[HP][食物] {@__char_hp_expandBigNumber__{%3}};
#var char[HP][饮水] {@__char_hp_expandBigNumber__{%4}};
#var char[HP][当前真气] {@char.hp.expandBigNumber{%1}};
#var char[HP][当前真元] {@char.hp.expandBigNumber{%2}};
#var char[HP][食物] {@char.hp.expandBigNumber{%3}};
#var char[HP][饮水] {@char.hp.expandBigNumber{%4}};
#var char[HP][战斗中] {false};
#var char[HP][忙] {false};

Expand All @@ -321,8 +321,8 @@ hp -neili 格式:
} {2.0};

#alias {char.HPSummarize} {
#local color {<168>};
#local combat {};
#local head {};
#local tail {};
#local safety {};
#local width {@prompt.ScreenWidth{}};

Expand All @@ -333,24 +333,40 @@ hp -neili 格式:
#local safety {安全};
};

#if { "$char[HP][战斗中]" == "true" } {
#if { "$safety" == "安全" } {
#format color {<B040><128>};
#format combat { <118>战 <128>安<298>};
#local theme {$char.HPSummarize.Theme};
#switch {"$char[HP][战斗中]/$char[HP][忙]/$safety"} {
#case {"false/false/%*"} {
#local head {$theme[背景][平常]$theme[前景][平常]};
#local tail {};
};
#elseif { "$safety" == "危险" } {
#format color {<B400><118>};
#format combat { <118>战 <118>危<298>};
#case {"false/true/%*"} {
#local head {$theme[背景][正忙]$theme[前景][正忙]};
#local tail {};
};
#else {
#format color {<218>};
#format combat { <118>战<298>};
#case {"true/false/"} {
#local head {$theme[背景][战斗]$theme[前景][战斗]};
#local tail { $theme[前景][战斗]战};
};
#case {"true/true/"} {
#local head {$theme[背景][战忙]$theme[前景][战忙]};
#local tail { $theme[前景][战斗]战 $theme[前景][正忙]忙<298>};
};
#case {"true/false/安全"} {
#local head {$theme[背景][战安]$theme[前景][战安]};
#local tail { $theme[前景][战斗]战 $theme[前景][战安]安<298>};
};
#case {"true/true/安全"} {
#local head {$theme[背景][战忙]$theme[前景][战忙]};
#local tail { $theme[前景][战斗]战 $theme[前景][战安]安 $theme[前景][正忙]忙<298>};
};
#case {"true/false/危险"} {
#local head {$theme[背景][战危]$theme[前景][战危]};
#local tail { $theme[前景][战斗]战 $theme[前景][战危]危<298>};
};
#case {"true/true/危险"} {
#local head {$theme[背景][危急]$theme[前景][危急]};
#local tail { $theme[前景][战斗]战 $theme[前景][战危]危 $theme[前景][正忙]忙<298>};
};
};

#if { "$char[HP][忙]" == "true" } {
#format color {<118>};
#format combat {$combat <138>忙<298>};
};

#local 每秒气血变化 {@speedo.GetSpeed{当前气血}};
Expand All @@ -364,8 +380,8 @@ hp -neili 格式:
#local 每秒气血变化 {};
};
#format 气血 {气血: %s%s/%s}
{@__char_hp_colorit__{$char[HP][气血百分比]}} {${每秒气血变化}}
{@__char_hp_colorit__{$char[HP][气血健康度]}};
{@char.hp.colorit{$char[HP][气血百分比]}} {${每秒气血变化}}
{@char.hp.colorit{$char[HP][气血健康度]}};

#local 内力 {};
#if { $width >= 50 || $char[HP][当前内力] > $char[HP][上次内力] } {
Expand All @@ -379,7 +395,7 @@ hp -neili 格式:
#else {
#local 每秒内力变化 {};
};
#format 内力 { 内力: %s%s} {@__char_hp_colorit__{$char[HP][内力百分比]}} {${每秒内力变化}};
#format 内力 { 内力: %s%s} {@char.hp.colorit{$char[HP][内力百分比]}} {${每秒内力变化}};
};

#local 精神 {};
Expand All @@ -395,8 +411,8 @@ hp -neili 格式:
#local 每秒精神变化 {};
};
#format 精神 { 精神: %s%s/%s}
{@__char_hp_colorit__{$char[HP][精神百分比]}} {${每秒精神变化}}
{@__char_hp_colorit__{$char[HP][精神健康度]}};
{@char.hp.colorit{$char[HP][精神百分比]}} {${每秒精神变化}}
{@char.hp.colorit{$char[HP][精神健康度]}};
};

#local 精力 {};
Expand All @@ -411,7 +427,7 @@ hp -neili 格式:
#else {
#local 每秒精力变化 {};
};
#format 精力 { 精力: %s%s} {@__char_hp_colorit__{$char[HP][精力百分比]}} {${每秒精力变化}};
#format 精力 { 精力: %s%s} {@char.hp.colorit{$char[HP][精力百分比]}} {${每秒精力变化}};
};

#local 回气 {};
Expand All @@ -420,7 +436,7 @@ hp -neili 格式:
#local {气血恢复} {@math.Int{@math.Eval{$char[STATUS][气血恢复] * 100 * 60 / $char[HP][最大气血]}}};
#nop 气血治疗的数值展示为每分钟可以治疗的最大血量的倍数(以百分比形式);
#local {气血治疗} {@math.Int{@math.Eval{$char[STATUS][气血治疗] * 100 * 60 / $char[HP][最大气血]}}};
#format {回气} { 回气: %s/%s} {@__char_hp_colorit__{${气血恢复}}} {@__char_hp_colorit__{${气血治疗}}};
#format {回气} { 回气: %s/%s} {@char.hp.colorit{${气血恢复}}} {@char.hp.colorit{${气血治疗}}};
};

#local 食水 {};
Expand All @@ -435,21 +451,22 @@ hp -neili 格式:
};
};

#local summarize {<099>$color〔HP摘要〕<298>${气血}${内力}${回气}${精神}${精力}${食水}$combat<099>};
#local summarize {<099>$head〔HP摘要〕<298>${气血}${内力}${回气}${精神}${精力}${食水}$tail<099>};
#showme $summarize;
};

#func {__char_hp_expandBigNumber__} {
#func {char.hp.expandBigNumber} {
#local number {%1};
#replace number {K} {*1000};
#replace number {M} {*1000000};
#math number {$number};
#return $number;
};

#func {__char_hp_colorit__} {
#func {char.hp.colorit} {
#local percent {@math.Int{@defaultNum{%1;0}}};
#return {@util.Grade{$percent;<218>;15;<118>;30;<238>;60;<138>;90;<128>;101;<168>}$percent%%<298>};
#local color {@default{{$char.HPSummarize.Theme[色卡]};{<218>;15;<118>;30;<238>;60;<138>;90;<128>;101;<168>}}};
#return {@util.Grade{$percent;$color}$percent%%<298>};
};

#alias {char.GetHP} {
Expand Down Expand Up @@ -536,3 +553,27 @@ hp -neili 格式:
#return 0;
};
};

#alias {char.UncolorEnemy} {
#class char.UncolorEnemy open;

#sub {^( %+2..5u看起来气血充盈,并没有受伤。} {%%0};
#sub {^( %+2..5u看起来可能有些累了。} {%%0};
#sub {^( %+2..5u看起来可能受了点轻伤。} {%%0};
#sub {^( %+2..5u看起来已经力不从心了。} {%%0};
#sub {^( %+2..5u气息粗重,动作开始散乱,看来所受的伤著实不轻。} {%%0};
#sub {^( %+2..5u气喘嘘嘘,看起来状况并不太好。} {%%0};
#sub {^( %+2..5u似乎有些疲惫,但是仍然十分有活力。} {%%0};
#sub {^( %+2..5u似乎十分疲惫,看来需要好好休息了。} {%%0};
#sub {^( %+2..5u似乎受了点轻伤,不过光从外表看不大出来。} {%%0};
#sub {^( %+2..5u摇头晃脑、歪歪斜斜地站都站不稳,眼看就要倒在地上。} {%%0};
#sub {^( %+2..5u动作似乎开始有点不太灵光,但是仍然有条不紊。} {%%0};
#sub {^( %+2..5u受伤不轻,看起来状况并不太好。} {%%0};
#sub {^( %+2..5u受了几处伤,不过似乎并不碍事。} {%%0};
#sub {^( %+2..5u受了相当重的伤,只怕会有生命危险。} {%%0};
#sub {^( %+2..5u已经一副头重脚轻的模样,正在勉力支撑著不倒下去。} {%%0};
#sub {^( %+2..5u已经伤痕累累,正在勉力支撑著不倒下去。} {%%0};
#sub {^( %+2..5u已经陷入半昏迷状态,随时都可能摔倒晕去。} {%%0};

#class char.UncolorEnemy close;
};

0 comments on commit 6dea8a8

Please sign in to comment.