Damage animation and abbreviation
This commit is contained in:
@@ -11,8 +11,8 @@ var getMembers = []
|
||||
const Rarity = {
|
||||
"COMMON":1.0,
|
||||
"UNCOMMON": 0.8,
|
||||
"RARE": 0.4,
|
||||
"SUPERRARE": 0.08,
|
||||
"RARE": 0.1,
|
||||
"SUPERRARE": 0.04,
|
||||
"LEGENDARY": 0.02
|
||||
}
|
||||
|
||||
|
||||
@@ -6,81 +6,92 @@ var clickAdd = 1
|
||||
var scorePerSec = 1
|
||||
var scoreMultiplier = 1
|
||||
|
||||
#Click Upgrades Costs
|
||||
var clickUpgradeReq1 = 10
|
||||
var clickUpgradeReq10 = 100
|
||||
var clickUpgradeReq20 = 1000
|
||||
var clickUpgradeReq40 = 10000
|
||||
var clickUpgradeReq60 = 100000
|
||||
var clickUpgradeReq80 = 1000000
|
||||
var clickUpgradeReq100 = 10000000
|
||||
var clickUpgradeReq200 = 100000000
|
||||
var clickUpgradeReq400 = 1000000000
|
||||
|
||||
|
||||
# Click Upgrades Amount
|
||||
var clickUpgradeAmt1 = 1
|
||||
var clickUpgradeAmt10 = 10
|
||||
var clickUpgradeAmt20 = 20
|
||||
var clickUpgradeAmt40 = 40
|
||||
var clickUpgradeAmt60 = 60
|
||||
var clickUpgradeAmt80 = 80
|
||||
var clickUpgradeAmt100 = 100
|
||||
var clickUpgradeAmt200 = 200
|
||||
var clickUpgradeAmt400 = 400
|
||||
|
||||
|
||||
# Passive Upgrades Costs
|
||||
var passiveUpgradeReq2 = 100
|
||||
var passiveUpgradeReq10 = 1000
|
||||
var passiveUpgradeReq20 = 10000
|
||||
var passiveUpgradeReq50 = 100000
|
||||
var passiveUpgradeReq100 = 1000000
|
||||
var passiveUpgradeReq200 = 10000000
|
||||
var passiveUpgradeReq500 = 100000000
|
||||
var passiveUpgradeReq1000 = 1000000000
|
||||
var passiveUpgradeReq10000 = 10000000000
|
||||
|
||||
# Passive Upgrades Amount
|
||||
var passiveUpgradeAmt2 = 2
|
||||
var passiveUpgradeAmt10 = 10
|
||||
var passiveUpgradeAmt20 = 20
|
||||
var passiveUpgradeAmt50 = 50
|
||||
var passiveUpgradeAmt100 = 100
|
||||
var passiveUpgradeAmt200 = 200
|
||||
var passiveUpgradeAmt500 = 500
|
||||
var passiveUpgradeAmt1000 = 1000
|
||||
var passiveUpgradeAmt10000 = 10000
|
||||
|
||||
var current_score: int = Global.globalDamage
|
||||
var target_score: int = 0
|
||||
var animation_duration: float = 1
|
||||
var elapsed_time: float = 0.0
|
||||
var is_animating: bool = false
|
||||
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
#$ClickUpgrades.get_popup().connect("id_pressed",clickUpgrade)
|
||||
#$PassiveUpgrades.get_popup().connect("id_pressed",passiveUpgrade)
|
||||
$Timer.connect("timeout", _on_Timer_timeout)
|
||||
|
||||
$Score.text = str(round(Global.globalDamage))
|
||||
|
||||
|
||||
#Prints all input events, only for debugging
|
||||
#func _input(event):
|
||||
#print(event.as_text())
|
||||
|
||||
func _on_Timer_timeout():
|
||||
#get the current score based on values before new calculation
|
||||
current_score = Global.globalDamage
|
||||
#update values on new calculation
|
||||
Global.globalDamage += Global.globalDamagePerSec * Global.globalDamageMultiplier
|
||||
update_score()
|
||||
pass
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
#Displays normal numbers until commas are needed
|
||||
if Global.globalDamage > 999:
|
||||
$Score.text = str(scoreFormat(score))
|
||||
else:
|
||||
$Score.text = str(Global.globalDamage) #Changes the score number
|
||||
|
||||
if Global.globalDamage <= 999:
|
||||
if is_animating:
|
||||
elapsed_time += delta
|
||||
var t = elapsed_time / animation_duration
|
||||
if t >= 1:
|
||||
t = 1
|
||||
is_animating = false
|
||||
current_score = lerp(current_score, target_score, t)
|
||||
$Score.text = str(round(current_score))
|
||||
else:
|
||||
$Score.text = str(format_number(Global.globalDamage))
|
||||
#Puts commas in score, can't get it with animations yet
|
||||
#if Global.globalDamage > 999:
|
||||
#$Score.text = str(scoreFormat(current_score))
|
||||
#else:
|
||||
#$Score.text = str(Global.globalDamage) #Changes the score number
|
||||
#print("Tween step: ", current_score)
|
||||
#update_score()
|
||||
$ClickAdd.text = str(Global.globalDamagePerClick)
|
||||
$PerSec.text = str(Global.globalDamagePerSec)
|
||||
$Multiplier.text = str(Global.globalDamageMultiplier)
|
||||
|
||||
func update_score():
|
||||
target_score = Global.globalDamage # Increment the target score (or set it based on your game logic)
|
||||
print("Update score called, target score: ", target_score)
|
||||
#Displays normal numbers until commas are needed
|
||||
#commented out for animation testing
|
||||
|
||||
start_animation(current_score, target_score)
|
||||
|
||||
func start_animation(from_score: int, to_score: int):
|
||||
print("Animating score from ", from_score, " to ", to_score)
|
||||
elapsed_time = 0.0
|
||||
is_animating = true
|
||||
|
||||
func format_number(n: int) -> String:
|
||||
if n >= 1_000_000_000_000:
|
||||
# ran for every number <n> greater or equal to a trillion
|
||||
var i:float = snapped(float(n)/1_000_000_000_000, .01)
|
||||
return str(i).replace(",", ".") + "T"
|
||||
elif n >= 1_000_000_000:
|
||||
# ran for every number <n> smaller than 1 trillion BUT
|
||||
# still greater or equal to 1 Billion
|
||||
var i:float = snapped(float(n)/1_000_000_000, .01)
|
||||
return str(i).replace(",", ".") + "B"
|
||||
elif n >= 1_000_000:
|
||||
# ran for every number <n> smaller than 1 trillion BUT
|
||||
# still greater or equal to 1 million
|
||||
var i:float = snapped(float(n)/1_000_000, .01)
|
||||
return str(i).replace(",", ".") + "M"
|
||||
elif n >= 1_000:
|
||||
# ran for every number <n> smaller than 1 million BUT
|
||||
# still greater or equal to 1 thousand
|
||||
var i:float = snapped(float(n)/1_000, .01)
|
||||
return str(i).replace(",", ".") + "k"
|
||||
else:
|
||||
# ran otherwise
|
||||
return str(n)
|
||||
|
||||
|
||||
|
||||
#This checks any input that comes in
|
||||
func _input(event):
|
||||
@@ -104,154 +115,6 @@ func scoreFormat(score):
|
||||
|
||||
func leftClick():
|
||||
Global.globalDamage += Global.globalDamagePerClick * Global.globalDamageMultiplier
|
||||
update_score()
|
||||
|
||||
|
||||
#func clickUpgrade(id):
|
||||
#match id:
|
||||
#0:
|
||||
#if Global.globalDamage >= clickUpgradeReq1:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq1
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt1
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#1:
|
||||
#if Global.globalDamage >= clickUpgradeReq10:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq10
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt10
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#2:
|
||||
#if Global.globalDamage >= clickUpgradeReq20:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq20
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt20
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#3:
|
||||
#if Global.globalDamage >= clickUpgradeReq40:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq40
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt40
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#4:
|
||||
#if Global.globalDamage >= clickUpgradeReq60:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq60
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt60
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#5:
|
||||
#if Global.globalDamage >= clickUpgradeReq80:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq80
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt80
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#6:
|
||||
#if Global.globalDamage >= clickUpgradeReq100:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq100
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt100
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#7:
|
||||
#if Global.globalDamage >= clickUpgradeReq200:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq200
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt200
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#8:
|
||||
#if Global.globalDamage >= clickUpgradeReq400:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=clickUpgradeReq400
|
||||
#$ClickUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerClick += clickUpgradeAmt400
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#
|
||||
#func passiveUpgrade(id):
|
||||
#match id:
|
||||
#0:
|
||||
#if Global.globalDamage >= passiveUpgradeReq2:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq2
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt2
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#1:
|
||||
#if Global.globalDamage >= passiveUpgradeReq10:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq10
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt10
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#2:
|
||||
#if Global.globalDamage >= passiveUpgradeReq20:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq20
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt20
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#3:
|
||||
#if Global.globalDamage >= passiveUpgradeReq50:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq50
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt50
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#4:
|
||||
#if Global.globalDamage >= passiveUpgradeReq100:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq100
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt100
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#5:
|
||||
#if Global.globalDamage >= passiveUpgradeReq200:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq200
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt200
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#6:
|
||||
#if Global.globalDamage >= passiveUpgradeReq500:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq500
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt500
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#7:
|
||||
#if Global.globalDamage >= passiveUpgradeReq1000:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq1000
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt1000
|
||||
#else:
|
||||
#print("not enough score")
|
||||
#8:
|
||||
#if Global.globalDamage >= passiveUpgradeReq10000:
|
||||
#print ("Score sufficient")
|
||||
#Global.globalDamage -=passiveUpgradeReq10000
|
||||
#$PassiveUpgrades.get_popup().set_item_disabled(id, true)
|
||||
#Global.globalDamagePerSec = passiveUpgradeAmt10000
|
||||
#else:
|
||||
#print("not enough score")
|
||||
|
||||
Reference in New Issue
Block a user