@@ -60,16 +60,21 @@ impl CommonItem {
60
60
operator : ArithmeticOperator :: Add ,
61
61
right : CommandInteger :: Constant { value : amount } ,
62
62
} if fetch_identifier == uber_identifier && * amount >= 0 => {
63
+ let amount = * amount as usize ;
63
64
match * uber_identifier {
64
65
uber_identifier:: SPIRIT_LIGHT => {
65
- vec ! [ CommonItem :: SpiritLight ( * amount as usize ) ]
66
+ vec ! [ CommonItem :: SpiritLight ( amount) ]
66
67
}
67
- uber_identifier:: MAX_HEALTH if * amount == 5 => {
68
- vec ! [ CommonItem :: HealthFragment ]
68
+ uber_identifier:: MAX_HEALTH => {
69
+ vec ! [ CommonItem :: HealthFragment ; amount / 5 ]
70
+ }
71
+ uber_identifier:: GORLEK_ORE => {
72
+ vec ! [ CommonItem :: GorlekOre ; amount]
73
+ }
74
+ uber_identifier:: KEYSTONES => vec ! [ CommonItem :: Keystone ; amount] ,
75
+ uber_identifier:: SHARD_SLOTS => {
76
+ vec ! [ CommonItem :: ShardSlot ; amount]
69
77
}
70
- uber_identifier:: GORLEK_ORE if * amount == 1 => vec ! [ CommonItem :: GorlekOre ] ,
71
- uber_identifier:: KEYSTONES if * amount == 1 => vec ! [ CommonItem :: Keystone ] ,
72
- uber_identifier:: SHARD_SLOTS if * amount == 1 => vec ! [ CommonItem :: ShardSlot ] ,
73
78
74
79
_ => vec ! [ ] ,
75
80
}
@@ -88,7 +93,7 @@ impl CommonItem {
88
93
} ,
89
94
operator : ArithmeticOperator :: Add ,
90
95
right : CommandFloat :: Constant { value } ,
91
- } if * value == 0.5 = > vec ! [ CommonItem :: EnergyFragment ] ,
96
+ } = > vec ! [ CommonItem :: EnergyFragment ; ( * * value * 2. ) as usize ] ,
92
97
_ => vec ! [ ] ,
93
98
} ,
94
99
_ => vec ! [ ] ,
0 commit comments