Damage animation and abbreviation

This commit is contained in:
2024-06-26 09:11:51 -04:00
parent 3a1b69a987
commit 6465469d31
8 changed files with 719 additions and 812 deletions

View File

@@ -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
}

View File

@@ -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")