From: Eduardo Date: Fri, 10 May 2024 15:57:51 +0000 (+0200) Subject: base weapon starting point (WIP) X-Git-Url: http://git.edufdez.es/?a=commitdiff_plain;h=14525ac65b5b8b52b5cc8a501b9af24b6a77a83e;p=routes-n-roots.git base weapon starting point (WIP) --- diff --git a/components/base_weapon/BaseWeapon.tscn b/components/base_weapon/BaseWeapon.tscn new file mode 100644 index 0000000..4c5032e --- /dev/null +++ b/components/base_weapon/BaseWeapon.tscn @@ -0,0 +1,24 @@ +[gd_scene load_steps=3 format=3 uid="uid://b0a3gg120yg5y"] + +[ext_resource type="Script" path="res://components/base_weapon/base_weapon.gd" id="1_4h33d"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_e6hu6"] +radius = 4.96679 + +[node name="BaseWeapon" type="Area2D"] +script = ExtResource("1_4h33d") + +[node name="Polygon2D" type="Polygon2D" parent="."] +scale = Vector2(1.79425, 1.69033) +color = Color(0.685315, 0.874597, 0, 1) +polygon = PackedVector2Array(2.53263, -1.21713, 2.07215, -1.94741, 1.15119, -2.67769, 0, -2.92112, -1.15119, -2.67769, -2, -2, -2.53263, -1.21713, -2.76287, 0, -2.53263, 1.21713, -2.07215, 1.94741, -1.15119, 2.67769, 0, 2.92112, 1.15119, 2.67769, 2, 2, 2.53263, 1.21713, 2.76287, 0) + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +light_mask = 2 +scale = Vector2(1.00669, 1.00809) +shape = SubResource("CircleShape2D_e6hu6") + +[node name="FireTimer" type="Timer" parent="."] +one_shot = true + +[connection signal="timeout" from="FireTimer" to="." method="_on_fire_timer_timeout"] diff --git a/components/base_weapon/base_weapon.gd b/components/base_weapon/base_weapon.gd new file mode 100644 index 0000000..5cfd318 --- /dev/null +++ b/components/base_weapon/base_weapon.gd @@ -0,0 +1,28 @@ +extends Area2D + +enum weapon_type_enum {long_line, circle, boomerang, spiral} + +const LONG_LINE_SPEED = 100 +const CIRCLE_SPEED = 100 +const BOOMERANG_SPEED = 100 +const SPIRAL_SPEED = 100 + +## the player or a big ass enemy I supose +@export var origin: Node2D +@export var weapon_type: weapon_type_enum = 0 +## time between weapon attacks +@export_range(0, 10, 0.1, "or_greater") var fire_time: float = 1.0 +@onready var fire_timer = $FireTimer + +func _ready(): + fire_timer.wait_time = fire_time + fire_timer.start() + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + + +# when the timer ends launch the attack +func _on_fire_timer_timeout(): + print("done")