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

@@ -18,7 +18,7 @@ var bossSelectionPath: String = "/root/@Control@14/UI/BossFights"
var globalDamage : int = 0
var globalDamagePerClick : int = 1
var globalDamagePerSec : int = 1
var globalDamageMultiplier: int = 1
var globalDamageMultiplier: float = 1.0
##Member 1
##Stats

File diff suppressed because it is too large Load Diff

14
Scenes/Score.gd Normal file
View File

@@ -0,0 +1,14 @@
extends Label
var from_score = 0
var to_score = 100
# Called when the node enters the scene tree for the first time.
func _ready():
#self.value = 100
#var tween = get_tree().create_tween()
#tween.tween_property(self, "value", to_score, 1.0).set_trans(Tween.TRANS_LINEAR)
pass
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

11
Scenes/ScoreTween.gd Normal file
View File

@@ -0,0 +1,11 @@
extends Node
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

View File

@@ -1,8 +1,9 @@
[gd_scene load_steps=6 format=3 uid="uid://xh0p6v5ir05f"]
[gd_scene load_steps=7 format=3 uid="uid://xh0p6v5ir05f"]
[ext_resource type="Script" path="res://Root.gd" id="1_lggo0"]
[ext_resource type="Script" path="res://User Interface/Header.gd" id="2_o6t6l"]
[ext_resource type="Script" path="res://User Interface/TeamButton.gd" id="3_1o3gu"]
[ext_resource type="Script" path="res://Scenes/Score.gd" id="3_gfalh"]
[ext_resource type="Script" path="res://User Interface/Bossbutton.gd" id="4_3csg5"]
[ext_resource type="Script" path="res://Scenes/saveTimer.gd" id="5_85eop"]
@@ -37,6 +38,7 @@ text = "Score:"
[node name="Score" type="Label" parent="UI/CanvasLayer/Header" groups=["Persist"]]
layout_mode = 2
text = "0"
script = ExtResource("3_gfalh")
[node name="Timer" type="Timer" parent="UI/CanvasLayer/Header" groups=["Persist"]]
autostart = true

View File

@@ -21,10 +21,12 @@ grow_vertical = 2
script = ExtResource("1_6ykb6")
[node name="UI" type="Control" parent="."]
layout_mode = 3
anchors_preset = 0
offset_right = 1920.0
offset_bottom = 1080.0
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="CanvasLayer" type="CanvasLayer" parent="UI"]
@@ -91,28 +93,37 @@ autostart = true
script = ExtResource("5_6vp5u")
[node name="AspectRatioContainer" type="AspectRatioContainer" parent="UI"]
layout_mode = 0
offset_left = -3.0
offset_top = 40.0
offset_right = 1152.0
offset_bottom = 648.0
layout_mode = 1
anchors_preset = -1
anchor_top = 0.062
anchor_right = 1.0
anchor_bottom = 1.0
offset_top = -40.176
grow_horizontal = 2
grow_vertical = 2
[node name="TeamScreen" type="HBoxContainer" parent="UI/AspectRatioContainer"]
visibility_layer = 2
layout_mode = 2
size_flags_vertical = 4
alignment = 1
[node name="Member1" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
[node name="VSeparator" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
layout_mode = 2
[node name="Member1" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 300)
layout_mode = 2
stretch_mode = 0
script = ExtResource("6_dqecs")
[node name="VSeparator" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
[node name="VSeparator1" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
layout_mode = 2
[node name="Member2" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
stretch_mode = 0
script = ExtResource("7_ddddf")
[node name="VSeparator2" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
@@ -121,6 +132,7 @@ layout_mode = 2
[node name="Member3" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
stretch_mode = 0
script = ExtResource("8_d2bof")
[node name="VSeparator3" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
@@ -129,6 +141,7 @@ layout_mode = 2
[node name="Member4" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
stretch_mode = 0
script = ExtResource("9_2ploj")
[node name="VSeparator4" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
@@ -137,8 +150,12 @@ layout_mode = 2
[node name="Member5" type="TextureButton" parent="UI/AspectRatioContainer/TeamScreen" groups=["Persist"]]
custom_minimum_size = Vector2(200, 10)
layout_mode = 2
stretch_mode = 0
script = ExtResource("10_vu24c")
[node name="VSeparator5" type="VSeparator" parent="UI/AspectRatioContainer/TeamScreen"]
layout_mode = 2
[node name="Label" type="Label" parent="UI/AspectRatioContainer/TeamScreen"]
visible = false
layout_mode = 2

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))
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(Global.globalDamage) #Changes the score number
$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")