summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-10-30 13:46:43 +0100
committerkdx <kikoodx@paranoici.org>2023-10-30 13:46:43 +0100
commitd4ddfa4fc3d1b23d358c67b4fa93b9f3092790e5 (patch)
treefd5c27a1ff870ed4372fb314142b580be648ed15
parent5b508df088db18616f9280bca2f0eb3a95cee63a (diff)
downloadgenshin2-d4ddfa4fc3d1b23d358c67b4fa93b9f3092790e5.tar.gz
fireball
-rw-r--r--arrow.tscn2
-rw-r--r--fireball.gd25
-rw-r--r--fireball.pngbin0 -> 75105 bytes
-rw-r--r--fireball.png.import34
-rw-r--r--fireball.tscn27
-rw-r--r--player.gd6
-rw-r--r--player.tscn4
-rw-r--r--project_time_traker.json8
8 files changed, 99 insertions, 7 deletions
diff --git a/arrow.tscn b/arrow.tscn
index 4b78cdb..7701ee9 100644
--- a/arrow.tscn
+++ b/arrow.tscn
@@ -15,7 +15,7 @@ size = Vector2(732, 20)
scale = Vector2(0.2, 0.2)
script = ExtResource("1_cg6vj")
-[node name="Arrow" type="Sprite2D" parent="."]
+[node name="Sprite2D" type="Sprite2D" parent="."]
material = SubResource("ShaderMaterial_tt0m2")
texture = ExtResource("1_cagmk")
diff --git a/fireball.gd b/fireball.gd
new file mode 100644
index 0000000..54ce497
--- /dev/null
+++ b/fireball.gd
@@ -0,0 +1,25 @@
+extends Area2D
+
+var velocity: Vector2
+
+func _ready() -> void:
+ $ShotSound.play()
+
+
+func type() -> String: return "arrow"
+
+
+func damage(other: Area2D) -> void:
+ other.damage(1.5)
+ queue_free()
+ get_node("../BowHit").play()
+
+
+func _physics_process(delta: float) -> void:
+ position += velocity
+ velocity *= 0.9
+ rotation += velocity.length()
+ if velocity.length() < 0.001: queue_free()
+ if position.x < -Globals.WIDTH / 2. or position.y < -Globals.HEIGHT / 2. or \
+ position.x > Globals.WIDTH / 2. or position.y > Globals.HEIGHT / 2.:
+ queue_free()
diff --git a/fireball.png b/fireball.png
new file mode 100644
index 0000000..24439fe
--- /dev/null
+++ b/fireball.png
Binary files differ
diff --git a/fireball.png.import b/fireball.png.import
new file mode 100644
index 0000000..7b3602c
--- /dev/null
+++ b/fireball.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://1n5ju36f5ly"
+path="res://.godot/imported/fireball.png-c7822e52cb66c739ed23dd48a4e71947.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://fireball.png"
+dest_files=["res://.godot/imported/fireball.png-c7822e52cb66c739ed23dd48a4e71947.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/fireball.tscn b/fireball.tscn
new file mode 100644
index 0000000..4f19a32
--- /dev/null
+++ b/fireball.tscn
@@ -0,0 +1,27 @@
+[gd_scene load_steps=7 format=3 uid="uid://b1i7oqv2tpjd"]
+
+[ext_resource type="Script" path="res://fireball.gd" id="1_in5g7"]
+[ext_resource type="Shader" path="res://arrow.gdshader" id="2_3ixoq"]
+[ext_resource type="Texture2D" uid="uid://1n5ju36f5ly" path="res://fireball.png" id="3_4a7i4"]
+[ext_resource type="AudioStream" uid="uid://bi6rnsdwfyax5" path="res://bowshot.wav" id="4_dw0ft"]
+
+[sub_resource type="ShaderMaterial" id="ShaderMaterial_tt0m2"]
+shader = ExtResource("2_3ixoq")
+
+[sub_resource type="CircleShape2D" id="CircleShape2D_2nx33"]
+radius = 125.1
+
+[node name="Fireball" type="Area2D"]
+scale = Vector2(0.2, 0.2)
+script = ExtResource("1_in5g7")
+
+[node name="Sprite2D" type="Sprite2D" parent="."]
+material = SubResource("ShaderMaterial_tt0m2")
+texture = ExtResource("3_4a7i4")
+
+[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
+shape = SubResource("CircleShape2D_2nx33")
+
+[node name="ShotSound" type="AudioStreamPlayer2D" parent="."]
+stream = ExtResource("4_dw0ft")
+volume_db = 5.0
diff --git a/player.gd b/player.gd
index fdf8db8..b928ab5 100644
--- a/player.gd
+++ b/player.gd
@@ -4,9 +4,11 @@ extends Area2D
@export var projectile_speed := 3.0
@export var visibility := 320.0
@export var arrow: PackedScene
+@export var fireball: PackedScene
@onready var primogemmes = get_node("../CanvasUI/UI/Primogemmes")
@onready var sfxs = [ $SfxOO, $SfxEE, $SfxOO2 ]
var sfx = 0
+var character: String = "venti"
var aiming: Area2D = null
@@ -57,6 +59,7 @@ func _on_area_entered(area: Area2D) -> void:
func select_character(s: String) -> void:
+ character = s
match s:
"venti":
$Sprite2D.frame = 0
@@ -78,7 +81,8 @@ func find_enemy() -> Area2D:
func _on_timer_timeout() -> void:
if aiming == null: return
- var e: Area2D = arrow.instantiate()
+ var projectile := arrow if character == "venti" else fireball
+ var e: Area2D = projectile.instantiate()
e.position = position
var norm := (aiming.position - position).normalized()
e.rotation = norm.angle()
diff --git a/player.tscn b/player.tscn
index 9561d81..abced19 100644
--- a/player.tscn
+++ b/player.tscn
@@ -1,9 +1,10 @@
-[gd_scene load_steps=8 format=3 uid="uid://c2g45v321qddb"]
+[gd_scene load_steps=9 format=3 uid="uid://c2g45v321qddb"]
[ext_resource type="Script" path="res://player.gd" id="1_tleme"]
[ext_resource type="PackedScene" uid="uid://dwmf4eu5xn0bc" path="res://arrow.tscn" id="2_fmkn7"]
[ext_resource type="Texture2D" uid="uid://cq3m7fo355xdf" path="res://characters.png" id="2_mu4pp"]
[ext_resource type="AudioStream" uid="uid://siphq0i4rti2" path="res://oo.wav" id="3_0gvk7"]
+[ext_resource type="PackedScene" uid="uid://b1i7oqv2tpjd" path="res://fireball.tscn" id="3_eqcbl"]
[ext_resource type="AudioStream" uid="uid://dnx38lwh4b34a" path="res://ee.wav" id="4_on1ta"]
[ext_resource type="AudioStream" uid="uid://xbua3i4neqg5" path="res://oo2.wav" id="5_be6a0"]
@@ -16,6 +17,7 @@ speed = 8.0
projectile_speed = 12.0
visibility = 640.0
arrow = ExtResource("2_fmkn7")
+fireball = ExtResource("3_eqcbl")
metadata/_edit_group_ = true
[node name="Sprite2D" type="Sprite2D" parent="."]
diff --git a/project_time_traker.json b/project_time_traker.json
index 81ed0e6..201ef36 100644
--- a/project_time_traker.json
+++ b/project_time_traker.json
@@ -1,6 +1,6 @@
{
- "2D": 3.02399969100952,
- "3D": 3.99900007247925,
- "Editor": 301.720999956131,
- "Script": 294.698000192642
+ "2D": 319.842135190964,
+ "3D": 30.9836082458496,
+ "Editor": 1600.81316947937,
+ "Script": 1249.98742604256
} \ No newline at end of file