Damage animation and abbreviation
This commit is contained in:
@@ -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
14
Scenes/Score.gd
Normal 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
11
Scenes/ScoreTween.gd
Normal 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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
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")
|
||||
|
||||
Reference in New Issue
Block a user