-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathfunction.ink
109 lines (86 loc) · 2.73 KB
/
function.ink
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/* 显示包裹
*/
==list_item(->go_back)//回调1返回,回调2使用
//获取头尾指针
VAR head = ()
~head = LIST_MIN(items)
VAR end = ()
~end = LIST_MAX(items)
//循环标签
-(loop)
//每个物品循环出来选项的线程
<-show_choose(head,go_back)
{
- head < end:
~ head++
->loop
-else:
{LIST_COUNT(items) > 0:
<- menu_back(go_back)
}
-> DONE
}
//使用返回
=menu_back(->go_back_temp)
+ [返回] -> go_back_temp
//循环所使用的选项
=show_choose(id,->go_back_temp)
{LIST_COUNT(items) == 0:
包裹里空空如也了。->go_back_temp
}
//物品总数量大于0,显示每个物品的选项
//如果物品是消耗,显示对应数量
{id==wp_qian:
你拥有 {print_money(get_item_num(wp_qian))} #CLASS:bold
}
//TODO 增加武器已装备状态,需要配合role模块
//{get_item_status(id) == sword:
// 装备【{get_item_name(id)}】 * 【{print_num(get_item_num(id))}】(已装备)
//}
+{items?id and get_item_status(id)!?money and LIST_COUNT(items) > 0}查看【{get_item_name(id)}】{get_item_status(id)?consumables: * 【{print_num(get_item_num(id))}】}
//物品详情
{get_item_intro(id)}
-(use_loop)
//使用对应物品的二级菜单
++ 使用【{get_item_name(id)}】
//使用物品后的回调
// {get_item_use_callback(id)}
->get_item_use_callback(id)->
//物品数量大于0,使用并且跳转到继续使用
//如果物品使用到最后一个,跳转到列表
{
-get_item_num(id) > 1 or get_item_status(id)?loop_item:
~use_item(id)
->use_loop
-get_item_num(id) == 1 :
~use_item(id)
-> loop
}
++ [返回] -> loop
== function add_item(id)
~items+=id
~add_item_num(id)
== function use_item(id)
//判断数量为1时且时消耗品的时候可以从包裹中移除
{get_item_num(id) == 1 && get_item_status(id)?consumables:
~items-=id
}
//判断是消耗品的时候才可以减少数量
{get_item_status(id)?consumables:
~del_item_num(id)
}
//TODO 判断是武器可装备
== function del_item(id)
{get_item_num(id) == 1:
~items-=id
}
~del_item_num(id)
== function buy_item(target_money,target_name,target_item)
{get_item_num(wp_qian) >= target_money and target_money!=0:
~temp calcu_money = get_item_num(wp_qian) - target_money
~set_item_num(wp_qian, calcu_money)
你花了{print_money(target_money)}购买了{target_name}
~add_item(target_item)
-else:
你没有足够的钱
}