Release Candidate v0.1
This commit is contained in:
@@ -9,6 +9,8 @@ public partial class FireAtPlayer : Timer
|
||||
private PackedScene _fireProjectile;
|
||||
[Export]
|
||||
private double _distanceToPlayer = 3;
|
||||
[Export]
|
||||
private AudioStreamPlayer _audioPlayer;
|
||||
|
||||
public void OnFireAtPlayer()
|
||||
{
|
||||
@@ -23,6 +25,8 @@ public partial class FireAtPlayer : Timer
|
||||
projectile.Rotation = new Vector3(0, _enemy.Rotation.Y, 0);
|
||||
projectile.Position = _enemy.Position;
|
||||
AddChild(projectile);
|
||||
_audioPlayer.Play();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
19
Enemies/Attacks/GodCircuitAttacks/BossAttack.cs
Normal file
19
Enemies/Attacks/GodCircuitAttacks/BossAttack.cs
Normal file
@@ -0,0 +1,19 @@
|
||||
using Godot;
|
||||
|
||||
public partial class BossAttack : Node3D
|
||||
{
|
||||
public void OnOrbHit(Node node)
|
||||
{
|
||||
if (node is Character character && character.HasMethod(Character.MethodName.OnHit))
|
||||
{
|
||||
GD.Print("Player hit: " + character.Name);
|
||||
character.Call(Character.MethodName.OnHit, node);
|
||||
Delete();
|
||||
}
|
||||
}
|
||||
|
||||
public void Delete()
|
||||
{
|
||||
QueueFree();
|
||||
}
|
||||
}
|
||||
574
Enemies/Attacks/GodCircuitAttacks/HedronAttack.tscn
Normal file
574
Enemies/Attacks/GodCircuitAttacks/HedronAttack.tscn
Normal file
@@ -0,0 +1,574 @@
|
||||
[gd_scene load_steps=9 format=3 uid="uid://b75khmojjbq4f"]
|
||||
|
||||
[ext_resource type="Script" path="res://Enemies/Attacks/GodCircuitAttacks/BossAttack.cs" id="1_xty5l"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpvq0rru8k7l5" path="res://Textures/Projectiles/Layer 3.png" id="2_kceeh"]
|
||||
[ext_resource type="Texture2D" uid="uid://x8f4g1rccvud" path="res://Textures/Projectiles/Layer 4.png" id="3_1s7oj"]
|
||||
[ext_resource type="AudioStream" uid="uid://cfj82os5p8i4p" path="res://Audio/SFX/shooting.wav" id="4_h0ftg"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8rgmo"]
|
||||
resource_name = "PyramidAttack"
|
||||
length = 8.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainOrb/CollisionShape3D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0), Vector3(0, 1, 3)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainOrb/CollisionShape3D/Sprite3D:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, 0), Vector3(0, 6.26573, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Triangle1/CollisionShape3D:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 3, 8),
|
||||
"transitions": PackedFloat32Array(1, 1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -2.01695), Vector3(0, 0, -2.01695), Vector3(15, 0, -2.017)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Triangle1:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Triangle2:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Triangle2/CollisionShape3D:position")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(3, 8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.0265542, 0, -2.01695), Vector3(0.027, 0, -15)]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Triangle3:visible")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Triangle3/CollisionShape3D:position")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(3, 8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -2.01695), Vector3(-15, 0, -2.017)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Triangle4:visible")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0, 3),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Triangle4/CollisionShape3D:position")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(3, 8),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -2.01695), Vector3(0, 0, 13)]
|
||||
}
|
||||
tracks/10/type = "method"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("MainOrb")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = {
|
||||
"times": PackedFloat32Array(2.9),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"values": [{
|
||||
"args": [],
|
||||
"method": &"Delete"
|
||||
}]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Triangle1:monitoring")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = {
|
||||
"times": PackedFloat32Array(0, 3.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Triangle1:monitorable")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = {
|
||||
"times": PackedFloat32Array(0, 3.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/path = NodePath("Triangle2:monitoring")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/keys = {
|
||||
"times": PackedFloat32Array(0, 3.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/imported = false
|
||||
tracks/14/enabled = true
|
||||
tracks/14/path = NodePath("Triangle2:monitorable")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/keys = {
|
||||
"times": PackedFloat32Array(0, 3.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/15/type = "value"
|
||||
tracks/15/imported = false
|
||||
tracks/15/enabled = true
|
||||
tracks/15/path = NodePath("Triangle3:monitoring")
|
||||
tracks/15/interp = 1
|
||||
tracks/15/loop_wrap = true
|
||||
tracks/15/keys = {
|
||||
"times": PackedFloat32Array(0, 3.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/16/type = "value"
|
||||
tracks/16/imported = false
|
||||
tracks/16/enabled = true
|
||||
tracks/16/path = NodePath("Triangle3:monitorable")
|
||||
tracks/16/interp = 1
|
||||
tracks/16/loop_wrap = true
|
||||
tracks/16/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/17/type = "value"
|
||||
tracks/17/imported = false
|
||||
tracks/17/enabled = true
|
||||
tracks/17/path = NodePath("Triangle4:monitoring")
|
||||
tracks/17/interp = 1
|
||||
tracks/17/loop_wrap = true
|
||||
tracks/17/keys = {
|
||||
"times": PackedFloat32Array(0, 3.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
tracks/18/type = "value"
|
||||
tracks/18/imported = false
|
||||
tracks/18/enabled = true
|
||||
tracks/18/path = NodePath("Triangle4:monitorable")
|
||||
tracks/18/interp = 1
|
||||
tracks/18/loop_wrap = true
|
||||
tracks/18/keys = {
|
||||
"times": PackedFloat32Array(0, 3.2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [false, true]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_js2kt"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("MainOrb/CollisionShape3D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("MainOrb/CollisionShape3D/Sprite3D:rotation")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 6.26573, 0)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Triangle1/CollisionShape3D:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -2.01695)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Triangle1:visible")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Triangle2:visible")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Triangle2/CollisionShape3D:position")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.0265542, 0, -2.01695)]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("Triangle3:visible")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("Triangle3/CollisionShape3D:position")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -2.01695)]
|
||||
}
|
||||
tracks/8/type = "value"
|
||||
tracks/8/imported = false
|
||||
tracks/8/enabled = true
|
||||
tracks/8/path = NodePath("Triangle4:visible")
|
||||
tracks/8/interp = 1
|
||||
tracks/8/loop_wrap = true
|
||||
tracks/8/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/9/type = "value"
|
||||
tracks/9/imported = false
|
||||
tracks/9/enabled = true
|
||||
tracks/9/path = NodePath("Triangle4/CollisionShape3D:position")
|
||||
tracks/9/interp = 1
|
||||
tracks/9/loop_wrap = true
|
||||
tracks/9/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 0, -2.01695)]
|
||||
}
|
||||
tracks/10/type = "value"
|
||||
tracks/10/imported = false
|
||||
tracks/10/enabled = true
|
||||
tracks/10/path = NodePath("Triangle1:monitoring")
|
||||
tracks/10/interp = 1
|
||||
tracks/10/loop_wrap = true
|
||||
tracks/10/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/11/type = "value"
|
||||
tracks/11/imported = false
|
||||
tracks/11/enabled = true
|
||||
tracks/11/path = NodePath("Triangle1:monitorable")
|
||||
tracks/11/interp = 1
|
||||
tracks/11/loop_wrap = true
|
||||
tracks/11/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/12/type = "value"
|
||||
tracks/12/imported = false
|
||||
tracks/12/enabled = true
|
||||
tracks/12/path = NodePath("Triangle2:monitoring")
|
||||
tracks/12/interp = 1
|
||||
tracks/12/loop_wrap = true
|
||||
tracks/12/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/13/type = "value"
|
||||
tracks/13/imported = false
|
||||
tracks/13/enabled = true
|
||||
tracks/13/path = NodePath("Triangle2:monitorable")
|
||||
tracks/13/interp = 1
|
||||
tracks/13/loop_wrap = true
|
||||
tracks/13/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/14/type = "value"
|
||||
tracks/14/imported = false
|
||||
tracks/14/enabled = true
|
||||
tracks/14/path = NodePath("Triangle3:monitoring")
|
||||
tracks/14/interp = 1
|
||||
tracks/14/loop_wrap = true
|
||||
tracks/14/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/15/type = "value"
|
||||
tracks/15/imported = false
|
||||
tracks/15/enabled = true
|
||||
tracks/15/path = NodePath("Triangle3:monitorable")
|
||||
tracks/15/interp = 1
|
||||
tracks/15/loop_wrap = true
|
||||
tracks/15/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/16/type = "value"
|
||||
tracks/16/imported = false
|
||||
tracks/16/enabled = true
|
||||
tracks/16/path = NodePath("Triangle4:monitoring")
|
||||
tracks/16/interp = 1
|
||||
tracks/16/loop_wrap = true
|
||||
tracks/16/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
tracks/17/type = "value"
|
||||
tracks/17/imported = false
|
||||
tracks/17/enabled = true
|
||||
tracks/17/path = NodePath("Triangle4:monitorable")
|
||||
tracks/17/interp = 1
|
||||
tracks/17/loop_wrap = true
|
||||
tracks/17/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [false]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ht5d6"]
|
||||
_data = {
|
||||
"PyramidAttack": SubResource("Animation_8rgmo"),
|
||||
"RESET": SubResource("Animation_js2kt")
|
||||
}
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_uh2on"]
|
||||
radius = 0.266805
|
||||
|
||||
[node name="HedronAttack" type="Node3D"]
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "PyramidAttack"
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_ht5d6")
|
||||
}
|
||||
|
||||
[node name="MainOrb" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.710665)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
script = ExtResource("1_xty5l")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="MainOrb"]
|
||||
transform = Transform3D(0.6, 0, 0, 0, 0.6, 0, 0, 0, 0.6, 0, 1, 0)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="MainOrb/CollisionShape3D"]
|
||||
transform = Transform3D(0.499924, 0, -0.00872726, 0, 0.5, 0, 0.00872726, 0, 0.499924, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("2_kceeh")
|
||||
|
||||
[node name="Triangle1" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.234726, 1, 5.74115)
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
monitoring = false
|
||||
monitorable = false
|
||||
script = ExtResource("1_xty5l")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Triangle1"]
|
||||
transform = Transform3D(-0.107302, 0, -0.590327, 0, 0.6, 0, 0.590327, 0, -0.107302, 0, 0, -2.01695)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Triangle1/CollisionShape3D"]
|
||||
transform = Transform3D(0.499924, 0, -0.00872631, 0, 0.5, 0, 0.00872631, 0, 0.499924, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("3_1s7oj")
|
||||
|
||||
[node name="Triangle2" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.48792)
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
monitoring = false
|
||||
monitorable = false
|
||||
script = ExtResource("1_xty5l")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Triangle2"]
|
||||
transform = Transform3D(0.592349, 0, -0.0955152, 0, 0.6, 0, 0.0955152, 0, 0.592349, 0.0265542, 0, -2.01695)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Triangle2/CollisionShape3D"]
|
||||
transform = Transform3D(0.499924, 0, -0.0087263, 0, 0.5, 0, 0.0087263, 0, 0.499924, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("3_1s7oj")
|
||||
|
||||
[node name="Triangle3" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.230226, 1, 5.64647)
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
monitoring = false
|
||||
monitorable = false
|
||||
script = ExtResource("1_xty5l")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Triangle3"]
|
||||
transform = Transform3D(0.119939, 0, 0.58789, 0, 0.6, 0, -0.58789, 0, 0.119939, 0, 0, -2.01695)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Triangle3/CollisionShape3D"]
|
||||
transform = Transform3D(0.499924, 0, -0.0087263, 0, 0.5, 0, 0.0087263, 0, 0.499924, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("3_1s7oj")
|
||||
|
||||
[node name="Triangle4" type="Area3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.94482)
|
||||
visible = false
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
monitoring = false
|
||||
monitorable = false
|
||||
script = ExtResource("1_xty5l")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Triangle4"]
|
||||
transform = Transform3D(-0.599587, 0, 0.0222583, 0, 0.6, 0, -0.0222583, 0, -0.599587, 0, 0, -2.01695)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Triangle4/CollisionShape3D"]
|
||||
transform = Transform3D(0.499924, 0, -0.0087263, 0, 0.5, 0, 0.0087263, 0, 0.499924, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("3_1s7oj")
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("4_h0ftg")
|
||||
volume_db = 10.0
|
||||
autoplay = true
|
||||
|
||||
[connection signal="body_entered" from="MainOrb" to="MainOrb" method="OnOrbHit"]
|
||||
[connection signal="body_entered" from="Triangle1" to="Triangle1" method="OnOrbHit"]
|
||||
[connection signal="body_entered" from="Triangle2" to="Triangle2" method="OnOrbHit"]
|
||||
[connection signal="body_entered" from="Triangle3" to="Triangle3" method="OnOrbHit"]
|
||||
[connection signal="body_entered" from="Triangle4" to="Triangle4" method="OnOrbHit"]
|
||||
@@ -1,22 +1,27 @@
|
||||
[gd_scene load_steps=4 format=3 uid="uid://uwia12i7yykb"]
|
||||
[gd_scene load_steps=6 format=3 uid="uid://uwia12i7yykb"]
|
||||
|
||||
[ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_4uor3"]
|
||||
[ext_resource type="Texture2D" uid="uid://bunon01jmxhbx" path="res://Textures/Projectiles/Layer 2.png" id="1_a70u8"]
|
||||
[ext_resource type="AudioStream" uid="uid://cgun34h06gvpv" path="res://Audio/SFX/misc1.wav" id="3_vxciy"]
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_n05rs"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, -2, 1, 2, 0, 0, 0, 0, 0, 0, -2, 1, 4, 0, 0, 0, 0, 0, 0, 2, 1, 4, 0, 0, 0, 0, 0, 0, 2, 1, 6),
|
||||
"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0)
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, -2, 1, 2, 0, 0, 0, 0, 0, 0, -2, 1, 3, 0, 0, 0, 0, 0, 0, 2, 1, 3, 0, 0, 0, 0, 0, 0, 2, 1, 4, 0, 0, 0, 0, 0, 0, -4, 1, 4, 0, 0, 0, 0, 0, 0, -4, 1, 5, 0, 0, 0, 0, 0, 0, 1, 1, 5, 0, 0, 0, 0, 0, 0, 1, 1, 10),
|
||||
"tilts": PackedFloat32Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
}
|
||||
point_count = 6
|
||||
point_count = 10
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_g5fdd"]
|
||||
size = Vector3(0.553759, 1.22067, 1.58866)
|
||||
|
||||
[node name="Path3D" type="Path3D"]
|
||||
curve = SubResource("Curve3D_n05rs")
|
||||
script = ExtResource("1_4uor3")
|
||||
_projectileSpeed = 5.0
|
||||
|
||||
[node name="PathFollow3D" type="PathFollow3D" parent="."]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 1, 0)
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 1, 1, 10)
|
||||
progress = 27.0
|
||||
|
||||
[node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"]
|
||||
collision_layer = 0
|
||||
@@ -29,9 +34,16 @@ can_sleep = false
|
||||
freeze_mode = 1
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PathFollow3D/RigidBody3D"]
|
||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0, 0)
|
||||
shape = SubResource("BoxShape3D_g5fdd")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="PathFollow3D/RigidBody3D/CollisionShape3D"]
|
||||
transform = Transform3D(-2.18557e-08, 0, 0.5, 0, 0.5, 0, -0.5, 0, -2.18557e-08, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("1_a70u8")
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("3_vxciy")
|
||||
autoplay = true
|
||||
|
||||
[connection signal="body_entered" from="PathFollow3D/RigidBody3D" to="." method="OnPlayerHit"]
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://cerac64r5jewa"]
|
||||
|
||||
[ext_resource type="Script" path="res://Player/Base/Projectile.cs" id="1_cveok"]
|
||||
[ext_resource type="Texture2D" uid="uid://cpvq0rru8k7l5" path="res://Textures/Projectiles/Layer 3.png" id="1_p5wrg"]
|
||||
|
||||
[sub_resource type="Curve3D" id="Curve3D_h1xf0"]
|
||||
_data = {
|
||||
"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, 0, 0, -2, 1, -1, 0, 0, 0, 0, 0, 0, 0, 1, 0),
|
||||
"tilts": PackedFloat32Array(0, 0, 0, 0, 0)
|
||||
}
|
||||
point_count = 5
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_o3ugd"]
|
||||
radius = 0.25
|
||||
|
||||
[node name="Orb Attack" type="Path3D"]
|
||||
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -3, 0, 1.5)
|
||||
curve = SubResource("Curve3D_h1xf0")
|
||||
script = ExtResource("1_cveok")
|
||||
_projectileSpeed = 1.5
|
||||
|
||||
[node name="PathFollow3D" type="PathFollow3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
rotation_mode = 0
|
||||
|
||||
[node name="RigidBody3D" type="RigidBody3D" parent="PathFollow3D"]
|
||||
transform = Transform3D(1, 0, 7.10543e-15, 0, 1, 0, -7.10543e-15, 0, 1, 0, 0, 0)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
continuous_cd = true
|
||||
max_contacts_reported = 5
|
||||
contact_monitor = true
|
||||
can_sleep = false
|
||||
freeze = true
|
||||
freeze_mode = 1
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="PathFollow3D/RigidBody3D"]
|
||||
transform = Transform3D(1, 0, 7.10543e-15, 0, 1, 0, -7.10543e-15, 0, 1, 0, 0, 0)
|
||||
shape = SubResource("CylinderShape3D_o3ugd")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="PathFollow3D/RigidBody3D/CollisionShape3D"]
|
||||
transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("1_p5wrg")
|
||||
|
||||
[connection signal="body_entered" from="PathFollow3D/RigidBody3D" to="." method="OnPlayerHit"]
|
||||
@@ -5,7 +5,9 @@ public partial class PyramidAttack : Node3D
|
||||
[Export]
|
||||
private AnimationPlayer _animationPlayer;
|
||||
|
||||
public override void _Ready()
|
||||
private bool isDeleted = false;
|
||||
|
||||
public override void _EnterTree()
|
||||
{
|
||||
_animationPlayer.AnimationFinished += Delete;
|
||||
}
|
||||
@@ -20,10 +22,13 @@ public partial class PyramidAttack : Node3D
|
||||
}
|
||||
|
||||
QueueFree();
|
||||
isDeleted = true;
|
||||
}
|
||||
|
||||
public void Delete(StringName name)
|
||||
{
|
||||
QueueFree();
|
||||
if (!isDeleted)
|
||||
QueueFree();
|
||||
isDeleted = true;
|
||||
}
|
||||
}
|
||||
276
Enemies/Attacks/GodCircuitAttacks/PyramidAttack.tscn
Normal file
276
Enemies/Attacks/GodCircuitAttacks/PyramidAttack.tscn
Normal file
@@ -0,0 +1,276 @@
|
||||
[gd_scene load_steps=8 format=3 uid="uid://cql4evq5281n4"]
|
||||
|
||||
[ext_resource type="Script" path="res://Enemies/Attacks/GodCircuitAttacks/PyramidAttack.cs" id="1_yfldc"]
|
||||
[ext_resource type="Texture2D" uid="uid://531b68bg4tn6" path="res://Textures/Projectiles/Layer 1.png" id="2_lufet"]
|
||||
[ext_resource type="AudioStream" uid="uid://cgun34h06gvpv" path="res://Audio/SFX/misc1.wav" id="3_6crjs"]
|
||||
|
||||
[sub_resource type="Animation" id="Animation_8rgmo"]
|
||||
resource_name = "PyramidAttack"
|
||||
length = 2.0
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Center/CollisionShape3D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0), Vector3(0, 1, 3)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Center/CollisionShape3D:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.3, 0.3, 0.3), Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Left/CollisionShape3D:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0), Vector3(0, 1, 3)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Left/CollisionShape3D:scale")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.3, 0.3, 0.3), Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Right/CollisionShape3D:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0), Vector3(0, 1, 3)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Right/CollisionShape3D:scale")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0, 2),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0.3, 0, 0), Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/6/type = "audio"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("AudioStreamPlayer")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"clips": [],
|
||||
"times": PackedFloat32Array()
|
||||
}
|
||||
tracks/6/use_blend = true
|
||||
tracks/7/type = "value"
|
||||
tracks/7/imported = false
|
||||
tracks/7/enabled = true
|
||||
tracks/7/path = NodePath("AudioStreamPlayer:playing")
|
||||
tracks/7/interp = 1
|
||||
tracks/7/loop_wrap = true
|
||||
tracks/7/keys = {
|
||||
"times": PackedFloat32Array(0, 1.9),
|
||||
"transitions": PackedFloat32Array(1, 1),
|
||||
"update": 1,
|
||||
"values": [true, false]
|
||||
}
|
||||
|
||||
[sub_resource type="Animation" id="Animation_js2kt"]
|
||||
length = 0.001
|
||||
tracks/0/type = "value"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("Center/CollisionShape3D:position")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0)]
|
||||
}
|
||||
tracks/1/type = "value"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("Center/CollisionShape3D:scale")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/2/type = "value"
|
||||
tracks/2/imported = false
|
||||
tracks/2/enabled = true
|
||||
tracks/2/path = NodePath("Left/CollisionShape3D:position")
|
||||
tracks/2/interp = 1
|
||||
tracks/2/loop_wrap = true
|
||||
tracks/2/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0)]
|
||||
}
|
||||
tracks/3/type = "value"
|
||||
tracks/3/imported = false
|
||||
tracks/3/enabled = true
|
||||
tracks/3/path = NodePath("Left/CollisionShape3D:scale")
|
||||
tracks/3/interp = 1
|
||||
tracks/3/loop_wrap = true
|
||||
tracks/3/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/4/type = "value"
|
||||
tracks/4/imported = false
|
||||
tracks/4/enabled = true
|
||||
tracks/4/path = NodePath("Right/CollisionShape3D:position")
|
||||
tracks/4/interp = 1
|
||||
tracks/4/loop_wrap = true
|
||||
tracks/4/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(0, 1, 0)]
|
||||
}
|
||||
tracks/5/type = "value"
|
||||
tracks/5/imported = false
|
||||
tracks/5/enabled = true
|
||||
tracks/5/path = NodePath("Right/CollisionShape3D:scale")
|
||||
tracks/5/interp = 1
|
||||
tracks/5/loop_wrap = true
|
||||
tracks/5/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 0,
|
||||
"values": [Vector3(1, 1, 1)]
|
||||
}
|
||||
tracks/6/type = "value"
|
||||
tracks/6/imported = false
|
||||
tracks/6/enabled = true
|
||||
tracks/6/path = NodePath("AudioStreamPlayer:playing")
|
||||
tracks/6/interp = 1
|
||||
tracks/6/loop_wrap = true
|
||||
tracks/6/keys = {
|
||||
"times": PackedFloat32Array(0),
|
||||
"transitions": PackedFloat32Array(1),
|
||||
"update": 1,
|
||||
"values": [true]
|
||||
}
|
||||
|
||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_ht5d6"]
|
||||
_data = {
|
||||
"PyramidAttack": SubResource("Animation_8rgmo"),
|
||||
"RESET": SubResource("Animation_js2kt")
|
||||
}
|
||||
|
||||
[sub_resource type="CylinderShape3D" id="CylinderShape3D_uh2on"]
|
||||
radius = 0.266805
|
||||
|
||||
[node name="PyramidAttack" type="Node3D" node_paths=PackedStringArray("_animationPlayer")]
|
||||
script = ExtResource("1_yfldc")
|
||||
_animationPlayer = NodePath("AnimationPlayer")
|
||||
|
||||
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||
autoplay = "PyramidAttack"
|
||||
libraries = {
|
||||
"": SubResource("AnimationLibrary_ht5d6")
|
||||
}
|
||||
|
||||
[node name="Center" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.710665)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
gravity_scale = 0.0
|
||||
continuous_cd = true
|
||||
max_contacts_reported = 5
|
||||
contact_monitor = true
|
||||
can_sleep = false
|
||||
freeze_mode = 1
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Center"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Center/CollisionShape3D"]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("2_lufet")
|
||||
|
||||
[node name="Left" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(0.939692, 0, 0.34202, 0, 1, 0, -0.34202, 0, 0.939692, 0, 0, 0.710665)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
gravity_scale = 0.0
|
||||
continuous_cd = true
|
||||
max_contacts_reported = 5
|
||||
contact_monitor = true
|
||||
can_sleep = false
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Left"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Left/CollisionShape3D"]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("2_lufet")
|
||||
|
||||
[node name="Right" type="RigidBody3D" parent="."]
|
||||
transform = Transform3D(0.939692, 0, -0.34202, 0, 1, 0, 0.34202, 0, 0.939692, 0, 0, 0.710665)
|
||||
collision_layer = 0
|
||||
collision_mask = 2
|
||||
gravity_scale = 0.0
|
||||
continuous_cd = true
|
||||
max_contacts_reported = 5
|
||||
contact_monitor = true
|
||||
can_sleep = false
|
||||
freeze_mode = 1
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Right"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
|
||||
shape = SubResource("CylinderShape3D_uh2on")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Right/CollisionShape3D"]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
|
||||
axis = 1
|
||||
texture = ExtResource("2_lufet")
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource("3_6crjs")
|
||||
|
||||
[connection signal="body_entered" from="Center" to="." method="OnPlayerHit"]
|
||||
[connection signal="body_entered" from="Left" to="." method="OnPlayerHit"]
|
||||
[connection signal="body_entered" from="Right" to="." method="OnPlayerHit"]
|
||||
Reference in New Issue
Block a user