Set of tools that manage operations with tf2 currency.
npm install tf2-currencynpm install tf2-currency or via yarn yarn add tf2-currency
ts
export {
Currency, // Currency class that manages operations
CurrencyError, // Error thrown by Currency class
ICurrency, // Interface for currency
c, // Create Currency object faster
fixCurrency, // Fix partial currency objects
}
`
Currency is stored like this:
`ts
{
keys: number,
metalInWeapons: number,
}
`
uses weapons to avoid weird floating point issues. This way it's "immune" against conversion changes.
If you want to use weapons / scrap value as storage, use toWeapons and toScrap methods to convert it to weapons or scrap.
$3
#### Instantiation
##### new Currency(currency: ICurrency, metalInWeapons?: number)
- currency represents plain currency object such as { keys: 12, metal: 52.11 }
- metalInWeapons optional parameter that represents how much metal is in weapons, defaults to 0
- Prioritized over currency.metal
##### Currency.fromWeapons(weapons: number, conversion?: number): Currency
Creates a Currency class from weapons value
- weapons value you are creating currency from
- conversion rate to be used to convert into keys (in metal)
##### Currency.fromScrap(scrap: number, conversion?: number): Currency
Creates a Currency class from scrap value
- scrap value you are creating currency from
- conversion rate to be used to convert into keys (in metal)
##### Currency.fromKeys(keys: number, conversion?: number): Currency
Creates a Currency class from key value
- keys floating point number to create currency from
- conversion rate to be used to convert into metal (in metal)
- Required if keys is not an integer
#### Currency.prototype.toWeapons(conversion?: number): number
Converts currency to weapons
- conversion to convert keys to weapons (in metal)
- Required if keys are present
#### Currency.prototype.toScrap(conversion?: number): number
Converts currency to scrap
- conversion to convert keys to scrap (in metal)
- Required if keys are present
#### Currency.prototype.toKeys(conversion?: number): number
Converts currency to keys
- conversion to convert metal to keys (in metal)
- Required if metal is present
#### Currency.prototype.toString(): string
Builds a currency string readable for humans
#### Currency.prototype.toJSON(): ICurrency
Returns plain currency object, with keys & metal, for json serialization
#### Currency.prototype.toWeaponizedJSON(): ICurrency
Returns plain currency object, with keys & weapons, for json serialization
#### Currency.prototype.addWeapons(weapons: number, conversion?: number): Currency
Adds weapon value to the currency
- weapons value you are adding to the currency
- conversion rate to be used to convert exceeding metal value into keys (in metal)
- Required if weapons is not an integer
#### Currency.prototype.addScrap(scrap: number, conversion?: number): Currency
Adds scrap value to the currency
- scrap value you are adding to the currency
- conversion rate to be used to convert exceeding metal value into keys (in metal)
#### Currency.prototype.addMetal(metal: number, conversion?: number): Currency
Adds metal value to the currency
- metal value you are adding to the currency
- conversion rate to be used to convert exceeding metal value into keys (in metal)
#### Currency.prototype.addKeys(keys: number, conversion?: number): Currency
Adds key value to the currency
- keys value you are adding to the currency
- conversion rate to be used to convert exceeding metal value into keys (in metal)
- Required if keys is not an integer
#### Currency.prototype.addCurrency(currency: ICurrency, conversion?: number): Currency
Adds currency value to the currency
- currency value you are adding to the currency
- conversion rate to be used to convert exceeding metal value into keys
#### Currency.prototype.removeWeapons(weapons: number, conversion?: number): Currency
Removes weapon value from the currency
- weapons value you are removing from the currency
- conversion rate to be used to convert key into weapons (in metal)
- Required when we go to negative values with weapons
#### Currency.prototype.removeScrap(scrap: number, conversion?: number): Currency
Removes scrap value from the currency
- scrap value you are removing from the currency
- conversion rate to be used to convert key into scrap
- Required when we go to negative values with scrap
#### Currency.prototype.removeMetal(metal: number, conversion?: number): Currency
Removes metal value from the currency
- metal value you are removing from the currency
- conversion rate to be used to convert key into metal
- Required when we go to negative values with scrap
#### Currency.prototype.removeKeys(scrap: number, conversion?: number): Currency
Removes key value from the currency
- keys value you are removing from the currency
- conversion rate to be used to convert key decimal to metal
- Required when we go to negative values with scrap or when keys is not an integer
#### Currency.prototype.removeCurrency(currency: ICurrency, conversion?: number): Currency
Removes currency value from the currency
- currency value you are removing from the currency
- conversion rate to be used to convert key into metal
- Required when we go to negative values with scrap
#### Currency.prototype.isEqual(currency: ICurrency): boolean
Compares current currency object with supplied one
- currency we are comparing to
#### Currency.prototype.isBigger(currency: ICurrency): boolean
Compares current currency object with supplied one
- currency we are comparing to
#### Currency.prototype.isSmaller(currency: ICurrency): boolean
Compares current currency object with supplied one
- currency we are comparing to
#### Currency.prototype.isBiggerOrEqual(currency: ICurrency): boolean
Compares current currency object with supplied one
- currency we are comparing to
#### Currency.prototype.isSmallerOrEqual(currency: ICurrency): boolean
Compares current currency object with supplied one
- currency we are comparing to
#### Currency.prototype.compareTo(value: ICurrency): number
Compares current currency object with supplied one
- value we are comparing to
- Returns:
- 0 if equal
- 1 if current is bigger
- -1 if current is smaller
#### Currency.prototype.wIsEqual(currency: IWeaponizedCurrency): boolean
Compares current currency object with supplied weaponized currency (keys and metalInWeapons instead of metal)
- currency we are comparing to
#### Currency.prototype.wIsBigger(currency: IWeaponizedCurrency): boolean
Compares current currency object with supplied weaponized currency
- currency we are comparing to
#### Currency.prototype.wIsSmaller(currency: IWeaponizedCurrency): boolean
Compares current currency object with supplied weaponized currency
- currency we are comparing to
#### Currency.prototype.wIsBiggerOrEqual(currency: IWeaponizedCurrency): boolean
Compares current currency object with supplied weaponized currency
- currency we are comparing to
#### Currency.prototype.wIsSmallerOrEqual(currency: IWeaponizedCurrency): boolean
Compares current currency object with supplied weaponized currency
- currency we are comparing to
#### Currency.prototype.wCompareTo(value: IWeaponizedCurrency): number
Compares current currency object with supplied weaponized currency
- value we are comparing to
- Returns:
- 0 if equal
- 1 if current is bigger
- -1 if current is smaller
$3
#### c(currency: Partial): Currency
Creates Currency object
- currency from which we are creating the object
#### fixCurrency(currency: Partial): ICurrency
Fixes partial currency object
- currency` we are fixing