blob: c627cdc7da3b578d3e30778143b080751e656228 (
plain)
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
|
#include "StarCurrency.hpp"
#include "StarRandom.hpp"
#include "StarJsonExtra.hpp"
namespace Star {
CurrencyItem::CurrencyItem(Json const& config, String const& directory) : Item(config, directory) {
m_currency = config.getString("currency");
m_value = config.getUInt("value");
}
ItemPtr CurrencyItem::clone() const {
return make_shared<CurrencyItem>(*this);
}
String CurrencyItem::pickupSound() const {
if (count() <= instanceValue("smallStackLimit", 100).toUInt()) {
if (!instanceValue("pickupSoundsSmall", {}).isNull())
return Random::randFrom(jsonToStringSet(instanceValue("pickupSoundsSmall")));
} else if (count() <= instanceValue("mediumStackLimit", 10000).toUInt()) {
if (!instanceValue("pickupSoundsMedium", {}).isNull())
return Random::randFrom(jsonToStringSet(instanceValue("pickupSoundsMedium")));
} else {
if (!instanceValue("pickupSoundsLarge", {}).isNull())
return Random::randFrom(jsonToStringSet(instanceValue("pickupSoundsLarge")));
}
return Item::pickupSound();
}
String CurrencyItem::currencyType() {
return m_currency;
}
uint64_t CurrencyItem::currencyValue() {
return m_value;
}
uint64_t CurrencyItem::totalValue() {
return m_value * count();
}
}
|