fix buff unlock
This commit is contained in:
@@ -40,3 +40,28 @@ func get_summary_text() -> String:
|
||||
|
||||
var currency_name: String = GameState.get_currency_name(get_currency_id())
|
||||
return "%s %s" % [get_amount().to_string_suffix(2), currency_name]
|
||||
|
||||
func get_progress() -> float:
|
||||
if not is_valid():
|
||||
return 0.0
|
||||
|
||||
var current_amount: BigNumber = GameState.get_total_currency_acquired_by_id(get_currency_id())
|
||||
var required_amount: BigNumber = get_amount()
|
||||
|
||||
if required_amount.mantissa <= 0.0:
|
||||
return 1.0
|
||||
|
||||
if current_amount.is_greater_than(required_amount) or current_amount.is_equal_to(required_amount):
|
||||
return 1.0
|
||||
|
||||
if current_amount.mantissa <= 0.0:
|
||||
return 0.0
|
||||
|
||||
var current_log: float = log(maxf(current_amount.mantissa, 0.0001)) / log(10) + float(current_amount.exponent)
|
||||
var required_log: float = log(maxf(required_amount.mantissa, 0.0001)) / log(10) + float(required_amount.exponent)
|
||||
|
||||
if required_log <= 0.0:
|
||||
return 1.0
|
||||
|
||||
var progress: float = current_log / required_log
|
||||
return clampf(progress, 0.0, 1.0)
|
||||
|
||||
Reference in New Issue
Block a user