Date: 2015/06/27 18:28:04 UTC-07:00
Type: Denizen Script
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
Lore:
type: world
debug: true
events:
on script reload:
- flag global strenght_id:Strenght
- flag global balance_id:Balance
- flag global balance_values:li@terrible|poor|fair|good|excelent
- flag global protection_id:Protection
- flag global weight_id:Weight
- flag global balance_values:li@nimble|light|moderate|heavy|ponderous
on player holds item:
- if <player.inventory.slot[<context.new_slot>].lore.is_empty||true> {
- flag player strenght:2
- flag player balance:0.9
}
else {
- foreach <player.inventory.slot[<context.new_slot>].lore> {
- if <def[value].starts_with[<server.flag[strenght_id]>]> {
- flag player strenght:<def[value].replace[<server.flag[strenght_id]>:<&sp>]>
}
else if <def[value].starts_with[<server.flag[balance_id]>]> {
- define balance_value <def[value].replace[<server.flag[balance_id]>:<&sp>]>
- foreach <server.flag[balance_values]> {
- if <def[value].is[==].to[<def[balance_value]>]> {
- flag player balance:<def[loop_index].sub[0.5].div[5]>
}
}
}
}
}
- narrate "<player.flag[strenght]> and <player.flag[balance]>"
on player damages entity:
- define damage <util.random.decimal[<player.flag[strenght].mul[<player.flag[balance]>]>].to[<player.flag[strenght]>]>
- narrate "You struck your opponent for <def[damage]> points of damage."
- determine <def[damage]>
on player equips armor:
- if <context.armor.lore.is_empty||true> {
- flag player protection:<player.flag[protection].add[0]>
- flag player weight:<player.flag[weight].add[0]>
}
else {
- foreach <context.armor.lore> {
- if <def[value].starts_with[<server.flag[protection_id]>]> {
- flag player protection:<player.flag[protection].add[def[value].replace[<server.flag[protection_id]>:<&sp>]]>
}
else if <def[value].starts_with[<server.flag[weight_id]>]> {
- define balance_value <def[value].replace[<server.flag[balance_id]>:<&sp>]>
- foreach <server.flag[balance_values]> {
- if <def[value].is[==].to[<def[balance_value]>]> {
- flag player balance:<def[loop_index].sub[0.5].div[5]>
}
}
}
}
}
- narrate "<player.flag[strenght]> and <player.flag[balance]>"
potato:
type: item
display name: potato
material: stone
lore:
- "Strenght: 5"
- "Balance: poor"
banana:
type: item
display name: banana
material: stone
lore:
- "Strenght: 10"
- "Balance: excelent"