| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- #nop vim: set filetype=tt:;
- /*
- 本文件属于 PaoTin++ 的一部分
- ===========
- PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
- ===========
- */
- #var basic_char_i2[META] {
- {NAME} {背包信息}
- {DESC} {解析背包内容,识别随身物品、穿戴、装备信息,并储存到变量}
- {AUTHOR} {担子炮}
- {NOTE} {本文件属于 PaoTin++ 的一部分}
- };
- /*
- i2 格式:
- 你身上带著下列这些东西(负重 27%):
- 九十一两白银(Silver)
- 一粒牛黃血竭丹(Xuejie dan)
- 二个竹壶(Zhuhu)
- 三块干粮(Gan liang)
- 大砍刀(Dakan dao)
- 青锋剑(Qingfeng sword)
- 北侠战袍(Pkuxkx zhanpao)
- 北侠战甲(Pkuxkx zhanjia)
- 北侠战衣(Pkuxkx zhanyi)
- 北侠战盔(Pkuxkx zhankui)
- 北侠战靴(Pkuxkx zhanxue)
- 锦囊(Jin nang)
- -------------------------------------------
- 你左手拿着:大砍刀(Dakan dao)
- 你右手拿着:青锋剑(Qingfeng sword)
- -------------------------------------------
- 你身上穿着:
- 北侠战袍(Pkuxkx zhanpao)
- 北侠战甲(Pkuxkx zhanjia)
- 北侠战衣(Pkuxkx zhanyi)
- 北侠战盔(Pkuxkx zhankui)
- 北侠战靴(Pkuxkx zhanxue)
- 锦囊(Jin nang)
- */
- #func {basic_char_i2.Init} {
- char.reset.i2;
- char.reset.bag;
- char.reset.sachet;
- #return true;
- };
- #alias {char.reset.i2} {
- #class data/basic/char open;
- #nop 随身物品;
- #var char-Item {};
- #nop 穿戴;
- #var char-Wear {};
- #nop 武器;
- #var char-Wield {};
- #nop 装备;
- #var char-Equip {};
- #class data/basic/char close;
- };
- #alias {char.reset.bag} {
- #class data/basic/char open;
- #nop 包袱;
- #var char-Bag {};
- #class data/basic/char close;
- };
- #alias {char.reset.sachet} {
- #class data/basic/char open;
- #nop 宝石袋;
- #var char-Sachet {};
- #class data/basic/char close;
- };
- #action {^你身上带著下列这些东西(负重 %1%):$} {
- #class {ParseItems} open;
- char.reset.i2;
- #var char-Item[currentType] {随身};
- #nop 你左手拿着:大砍刀(Dakan dao);
- #nop 你右手拿着:青锋剑(Qingfeng sword);
- #action {^你{左手|右手}拿着:%%2(%%3)$} {
- #local hand {%%1};
- #local item {%%2};
- #local id {@str.ToLower{%%3}};
- #var char-Wield[$hand] {
- {item}{$item}
- {id}{$id}
- };
- } {4};
- #action {^你身上穿着:$} {
- #var char-Item[currentType] {装备};
- };
- #nop 九十一两白银(Silver);
- #action {^{(零|一|二|三|四|五|六|七|八|九|十|百|千|万|亿)+}{两|文|张}{黄金|白银|铜板|一千两银票}(%*)$} {
- #local amount {@math.ParseCN{%%1}};
- #local unit {%%3};
- #local item {%%4};
- #local id {@str.ToLower{%%5}};
- #var {char-Item[$item]} {
- {id}{@str.ToLower{$id}}
- {amount}{@math.ParseCN{$amount}}
- };
- } {4};
- #local 武器等级 {沉水|赤焰|荡寇|彗月|照夜|追日|断阙|刑天};
- #local 武器种类 {剑|刀|杖|鞭|斧|枪|锤|戟|匕|针|萧|钩};
- #local 装备等级 {机杼|苍野|青幽|百战|鬼烈|巨灵|深罡|九日};
- #local 装备种类 {铠甲|靴|袍|手套|盔|盾|披风|腰带|护腕};
- #local 饰品等级 {恶来|玄狐|洛神|盘瓠|儵忽|帝江|烛阴|盘古};
- #local 饰品种类 {戒指|项链};
- #local 职业等级 {(..)+};
- #local 职业部位 {盔|护腕|披风|护手|袍|腰带|盾|靴|项链|戒指|(板|布|鳞|皮)甲|面具|护心|护肩|腿甲};
- #local 汉字数词 {(?:零|一|二|三|四|五|六|七|八|九|十|百|千|万|亿)+};
- #local 汉字量词 {(?:本|块|碗|件|册|柄|把|根|枚|个|粒|味|0)};
- #local 词缀修饰 {(?:[^ ][^ ])+};
- #nop 物品;
- #action {^{?:(${汉字数词})(${汉字量词})|}%S(%*)$} {
- #local amount {@math.ParseCN{%%1}};
- #local item {%%3};
- #local id {@str.ToLower{%%4}};
- #if { $amount == 0 } {
- #local amount {1};
- };
- #var {char-Item[$item]} {
- {id}{$id}
- {amount}{$amount}
- };
- } {4};
- #nop 职业装和随机装;
- #nop 二件玄铁之护手(Gauntlet);
- #nop 玄铁之板甲(Armor);
- #nop 天兵华彩 巨灵之手套(Hands);
- #action {^{((零|一|二|三|四|五|六|七|八|九|十|百|千|万|亿)+件)?}{(([^ ]+)[ ])?}%S之%S(%S)$} {
- #local amount {%%3};
- #local title {%%6};
- #local rank {%%7};
- #local item {%%8};
- #local id {@str.ToLower{%%9}};
- #if { "${char-Item[currentType]}" == "装备" } {
- #return;
- };
- #if { "$amount" == "" } { #format amount {%s} {一} };
- #format amount {%s} {@math.ParseCN{$amount}};
- #if { "${char-Equip[$id]}" != "" } {
- #math amount { ${char-Equip[$id]} + $amount };
- };
- #var {char-Equip[$id]} {$amount};
- } {4};
- #nop 二把竹剑(Zhujian);
- #action {^{(零|一|二|三|四|五|六|七|八|九|十|百|千|万|亿)+}{${汉字量词}}%S(%*)$} {
- #local amount {@math.ParseCN{%%1}};
- #local unit {%%3};
- #local item {%%4};
- #local id {@str.ToLower{%%5}};
- #var {char-Item[$item]} {
- {id}{$id}
- {amount}{$amount}
- };
- };
- #nop 大砍刀(Dakan dao);
- #nop 青锋剑(Qingfeng sword);
- #action {^%%1(%%2)$} {
- #local item {%%1};
- #local id {@str.ToLower{%%2}};
- #if { "${char-Item[currentType]}" == "装备" } {
- #var {char-Wear[$item]} {{id}{$id}};
- };
- #elseif { "${char-Item[currentType]}" == "随身" } {
- #var {char-Item[$item]} {{id}{$id}};
- };
- #elseif { "${char-Item[currentType]}" == "包袱" } {
- #var {char-Bag[$item]} {{id}{$id}};
- };
- #elseif { "${char-Item[currentType]}" == "宝石袋" } {
- #var {char-Sachet[$item]} {{id}{$id}};
- };
- } {9};
- #delay 3 {
- #unvar char-Item[currentType];
- #class {ParseItems} kill;
- };
- #class {ParseItems} close;
- };
|