added pipe rifle animation

This commit is contained in:
2026-02-10 02:48:14 +11:00
parent 137a979c5c
commit d8101979b9
113 changed files with 1025 additions and 415 deletions

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_tiqmf"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_bpl71"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_imnjp"]
[resource]
script = ExtResource("2_bpl71")
@@ -10,5 +11,6 @@ attributes = Dictionary[String, float]({
"Fire Delay": 9999.0,
"Range": 1.0
})
features = Array[ExtResource("1_tiqmf")]([ExtResource("2_imnjp")])
text = "DESC_TOWER_PLATFORM_DASH"
metadata/_custom_type_script = "uid://dg7gxxqfqxcmc"

View File

@@ -0,0 +1,8 @@
[gd_resource type="ParticleProcessMaterial" format=3 uid="uid://3m464q2bkdkm"]
[resource]
direction = Vector3(0, 0, -1)
spread = 40.0
initial_velocity_min = 10.0
initial_velocity_max = 10.0
gravity = Vector3(0, 0, 0)

View File

@@ -5,10 +5,17 @@
[ext_resource type="Script" uid="uid://djp7tepdsda8w" path="res://Scripts/effect.gd" id="3_75shm"]
[ext_resource type="ArrayMesh" uid="uid://oxjhqfwlcx5l" path="res://Towers/Assault/assaultmod.res" id="4_1d5pl"]
[ext_resource type="Script" uid="uid://chy7bx8dlwgs0" path="res://Scripts/StatusEffects/status_effect.gd" id="4_lkplr"]
[ext_resource type="AudioStream" uid="uid://ciyphup4n1sbi" path="res://click.wav" id="6_g00m4"]
[sub_resource type="Resource" id="Resource_c6gqc"]
script = ExtResource("3_75shm")
[sub_resource type="AudioStreamRandomizer" id="AudioStreamRandomizer_q14kf"]
random_pitch = 1.005793
random_volume_offset_db = 0.2
streams_count = 1
stream_0/stream = ExtResource("6_g00m4")
[node name="DirectAffectTower" unique_id=252570832 instance=ExtResource("1_cn3qe")]
stats = ExtResource("2_gg1gn")
effect = SubResource("Resource_c6gqc")
@@ -19,3 +26,6 @@ visible = false
[node name="Yaw" parent="." index="2" unique_id=36855242]
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 1.2058, 0)
mesh = ExtResource("4_1d5pl")
[node name="AudioStreamPlayer3D" parent="Yaw" index="0" unique_id=1877101855]
stream = SubResource("AudioStreamRandomizer_q14kf")

Binary file not shown.

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_dcpbj"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_2k5i0"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_mttct"]
[resource]
script = ExtResource("2_2k5i0")
@@ -11,4 +12,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 2.0,
"Range": 20.0
})
features = Array[ExtResource("1_dcpbj")]([ExtResource("2_mttct")])
text = "DESC_TOWER_POISON"

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_73lec"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_1vuma"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_yown4"]
[resource]
script = ExtResource("2_1vuma")
@@ -11,4 +12,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 4.0,
"Range": 8.0
})
features = Array[ExtResource("1_73lec")]([ExtResource("2_yown4")])
text = "DESC_TOWER_BOMB"

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="CardText" format=3 uid="uid://dnvqghpwyuw84"]
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_may4k"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_br2ja"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_nconk"]
[resource]
@@ -11,4 +12,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 3.0,
"Range": 15.0
})
features = Array[ExtResource("1_may4k")]([ExtResource("2_br2ja")])
text = "DESC_TOWER_FIREBALL"

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="CardText" format=3 uid="uid://cdtjbxs21peqg"]
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_8a4q3"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_lp08p"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_wptab"]
[resource]
@@ -11,4 +12,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 0.5,
"Range": 3.0
})
features = Array[ExtResource("1_8a4q3")]([ExtResource("2_lp08p")])
text = "DESC_TOWER_FLAMETHROWER"

View File

@@ -31,4 +31,4 @@ func _physics_process(delta: float) -> void:
current_time_between_shots = lerpf(time_between_shots, final_time_between_shots, progress)
if time_since_firing >= current_time_between_shots:
time_since_firing -= current_time_between_shots
shoot()
#shoot(0)

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_qb1t6"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_226sm"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_m4him"]
[resource]
script = ExtResource("2_226sm")
@@ -11,4 +12,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 2.0,
"Range": 10.0
})
features = Array[ExtResource("1_qb1t6")]([ExtResource("2_m4him")])
text = "DESC_TOWER_GLUE"

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="CardText" format=3 uid="uid://d34bfj5togyyt"]
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_ju6am"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_6ypa3"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_dorn5"]
[resource]
@@ -11,4 +12,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 3.0,
"Range": 15.0
})
features = Array[ExtResource("1_ju6am")]([ExtResource("2_6ypa3")])
text = "DESC_TOWER_ICE_SPIKE"

View File

@@ -1,7 +1,7 @@
class_name OverclockTower
extends Tower
func shoot() -> void:
func shoot(count: int) -> void:
#affector.apply_effect(effect, target_finder.targets)
for tower: TowerBase in get_tree().get_nodes_in_group("TowerBases"):
if tower.tower and tower.tower.stats != stats:

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_0swcp"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_fax6y"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_v0e26"]
[resource]
script = ExtResource("2_fax6y")
@@ -10,5 +11,6 @@ attributes = Dictionary[String, float]({
"Fire Delay": 0.0,
"Range": 4.0
})
features = Array[ExtResource("1_0swcp")]([ExtResource("2_v0e26")])
text = "DESC_TOWER_SPEED_INCREASER"
metadata/_custom_type_script = "uid://dg7gxxqfqxcmc"

View File

@@ -2,6 +2,7 @@
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_8hcmy"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_8w61k"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_cqn8u"]
[resource]
script = ExtResource("2_8w61k")
@@ -10,4 +11,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 4.0,
"Range": 30.0
})
features = Array[ExtResource("1_8hcmy")]([ExtResource("2_cqn8u")])
text = "DESC_TOWER_RADIATION"

View File

@@ -1,6 +1,7 @@
[gd_resource type="Resource" script_class="CardText" format=3 uid="uid://st0qrut5nxrm"]
[ext_resource type="Script" uid="uid://bsuinotkvh7eu" path="res://Scripts/Resources/feature.gd" id="1_mfkpu"]
[ext_resource type="Resource" uid="uid://dfup264h2pun7" path="res://Scripts/Features/HeavyRounds/heavy_rounds_feature.tres" id="2_ig77i"]
[ext_resource type="Script" uid="uid://dg7gxxqfqxcmc" path="res://Scripts/Resources/card_text.gd" id="2_w4q6a"]
[resource]
@@ -11,4 +12,5 @@ attributes = Dictionary[String, float]({
"Fire Delay": 1.0,
"Range": 3.0
})
features = Array[ExtResource("1_mfkpu")]([ExtResource("2_ig77i")])
text = "DESC_TOWER_FREEZER"

View File

@@ -61,7 +61,8 @@ func _physics_process(_delta: float) -> void:
if time_since_firing >= time_between_shots:
time_since_firing -= time_between_shots
if affector:
shoot()
pass
#shoot()
func aim() -> void:
@@ -70,14 +71,15 @@ func aim() -> void:
pitch_model.rotation.x = 0.0
func shoot() -> void:
affector.apply_effect(effect, target_finder.targets)
animator.play("shoot")
audio_player.play()
if is_multiplayer_authority():
networked_shoot.rpc()
func shoot(count: int) -> void:
if target_finder.targets.size() > 0 and affector:
affector.apply_effect(effect, target_finder.targets)
animator.play("shoot")
audio_player.play()
if is_multiplayer_authority():
networked_shoot.rpc()
@rpc("reliable")
func networked_shoot() -> void:
shoot()
shoot(0)