Fixed explosions and mapping

This commit is contained in:
Marco 2025-07-02 14:23:55 +02:00
commit bacf41e726
11 changed files with 2124 additions and 1034 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,8 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://dgfdnhkmmhiy8"]
[ext_resource type="Texture2D" uid="uid://dkss3dgeqf0jj" path="res://textures/Floors/Floor119.png" id="1_8xfbf"]
[resource]
albedo_texture = ExtResource("1_8xfbf")
metallic_specular = 0.0
texture_filter = 2

View file

@ -0,0 +1,8 @@
[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://5ht7tifebdfo"]
[ext_resource type="Texture2D" uid="uid://cbpp2r6hnpqml" path="res://textures/Floors/Floor87.png" id="1_sedrg"]
[resource]
albedo_texture = ExtResource("1_sedrg")
metallic_specular = 0.0
texture_filter = 2

View file

@ -6,19 +6,15 @@
[resource] [resource]
script = ExtResource("2_w8pa3") script = ExtResource("2_w8pa3")
BulletScene = ExtResource("1_x52yr") BulletScene = ExtResource("1_x52yr")
BulletSize = 0.0
BulletSpeed = 0.0 BulletSpeed = 0.0
Direction = Vector2(1, 0) Direction = Vector2(1, 0)
BulletDamage = 0.0 BulletDamage = 0.0
MaxDamage = 0.0 MaxDamage = 0.0
Knockback = 0.0 Knockback = 0.0
LifeTime = 1.0 LifeTime = 1.0
DestroyOnCollision = false
Owner = 0 Owner = 0
DamageType = 4 DamageType = 4
RotateSprite = false
Controllable = false
Freezable = false
Grazeable = false
GrazeValue = 1.0 GrazeValue = 1.0
Attributes = 0 Attributes = 16
TimeModifiers = [] TimeModifiers = []

View file

@ -6,19 +6,15 @@
[resource] [resource]
script = ExtResource("2_spahw") script = ExtResource("2_spahw")
BulletScene = ExtResource("1_3cxov") BulletScene = ExtResource("1_3cxov")
BulletSize = 0.0
BulletSpeed = 0.0 BulletSpeed = 0.0
Direction = Vector2(1, 0) Direction = Vector2(1, 0)
BulletDamage = 0.0 BulletDamage = 0.0
MaxDamage = 0.0 MaxDamage = 0.0
Knockback = 0.0 Knockback = 0.0
LifeTime = 1.0 LifeTime = 1.0
DestroyOnCollision = false
Owner = 0 Owner = 0
DamageType = 4 DamageType = 4
RotateSprite = false
Controllable = false
Freezable = false
Grazeable = false
GrazeValue = 1.0 GrazeValue = 1.0
Attributes = 0 Attributes = 16
TimeModifiers = [] TimeModifiers = []

View file

@ -402,7 +402,7 @@ Square = NodePath("MagicSquare")
RotationSpeed = 1.0 RotationSpeed = 1.0
[node name="MagicCircle" type="AnimatedSprite3D" parent="StrafeSpriteProvider"] [node name="MagicCircle" type="AnimatedSprite3D" parent="StrafeSpriteProvider"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -0.3, 0) transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -0.2, 0)
modulate = Color(1, 1, 1, 0.501961) modulate = Color(1, 1, 1, 0.501961)
pixel_size = 0.05 pixel_size = 0.05
texture_filter = 0 texture_filter = 0
@ -410,7 +410,7 @@ render_priority = -1
sprite_frames = SubResource("SpriteFrames_h1heu") sprite_frames = SubResource("SpriteFrames_h1heu")
[node name="MagicSquare" type="AnimatedSprite3D" parent="StrafeSpriteProvider"] [node name="MagicSquare" type="AnimatedSprite3D" parent="StrafeSpriteProvider"]
transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -0.3, 0) transform = Transform3D(1, 0, 0, 0, -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, -0.2, 0)
modulate = Color(1, 1, 1, 0.501961) modulate = Color(1, 1, 1, 0.501961)
pixel_size = 0.05 pixel_size = 0.05
texture_filter = 0 texture_filter = 0
@ -418,8 +418,10 @@ render_priority = -1
sprite_frames = SubResource("SpriteFrames_nwocn") sprite_frames = SubResource("SpriteFrames_nwocn")
[node name="Hitbox" type="AnimatedSprite3D" parent="StrafeSpriteProvider"] [node name="Hitbox" type="AnimatedSprite3D" parent="StrafeSpriteProvider"]
transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0)
pixel_size = 0.05 pixel_size = 0.05
billboard = 1 double_sided = false
no_depth_test = true
texture_filter = 0 texture_filter = 0
render_priority = 1 render_priority = 1
sprite_frames = SubResource("SpriteFrames_nk07c") sprite_frames = SubResource("SpriteFrames_nk07c")

View file

@ -1,7 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://cmd3j4xc2f287"] [gd_scene load_steps=5 format=3 uid="uid://cmd3j4xc2f287"]
[ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_l2l87"] [ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_l2l87"]
[ext_resource type="Texture2D" uid="uid://cybpmpb0d8yva" path="res://Sprites/Projectile.png" id="2_rmbhq"]
[ext_resource type="SpriteFrames" uid="uid://lh1q76788ixw" path="res://Resources/Sprites/explosion_proc_1.tres" id="3_rmbhq"] [ext_resource type="SpriteFrames" uid="uid://lh1q76788ixw" path="res://Resources/Sprites/explosion_proc_1.tres" id="3_rmbhq"]
[ext_resource type="Script" uid="uid://cvk4jbit45sfi" path="res://Scripts/Components/Actors/PooledAnimatedSpritePlayer3D.cs" id="4_ny3mn"] [ext_resource type="Script" uid="uid://cvk4jbit45sfi" path="res://Scripts/Components/Actors/PooledAnimatedSpritePlayer3D.cs" id="4_ny3mn"]
@ -15,21 +14,14 @@ script = ExtResource("1_l2l87")
Speed = 200.0 Speed = 200.0
metadata/_edit_group_ = true metadata/_edit_group_ = true
[node name="Sprite" type="Sprite3D" parent="."]
visible = false
pixel_size = 0.05
billboard = 1
texture_filter = 0
texture = ExtResource("2_rmbhq")
[node name="CollisionShape" type="CollisionShape3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_pklkt") shape = SubResource("SphereShape3D_pklkt")
[node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."] [node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."]
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0)
pixel_size = 0.05 pixel_size = 0.05
billboard = 1
texture_filter = 0 texture_filter = 0
sprite_frames = ExtResource("3_rmbhq") sprite_frames = ExtResource("3_rmbhq")
autoplay = "default" autoplay = "default"

View file

@ -1,7 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://bu464cgcdnihv"] [gd_scene load_steps=5 format=3 uid="uid://bu464cgcdnihv"]
[ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_uud1m"] [ext_resource type="Script" uid="uid://cg6y36s7buapp" path="res://Scripts/Weapons/Bullet3D.cs" id="1_uud1m"]
[ext_resource type="Texture2D" uid="uid://cybpmpb0d8yva" path="res://Sprites/Projectile.png" id="2_alu0c"]
[ext_resource type="SpriteFrames" uid="uid://lh1q76788ixw" path="res://Resources/Sprites/explosion_proc_1.tres" id="3_qsphx"] [ext_resource type="SpriteFrames" uid="uid://lh1q76788ixw" path="res://Resources/Sprites/explosion_proc_1.tres" id="3_qsphx"]
[ext_resource type="Script" uid="uid://cvk4jbit45sfi" path="res://Scripts/Components/Actors/PooledAnimatedSpritePlayer3D.cs" id="4_5oowj"] [ext_resource type="Script" uid="uid://cvk4jbit45sfi" path="res://Scripts/Components/Actors/PooledAnimatedSpritePlayer3D.cs" id="4_5oowj"]
@ -15,21 +14,14 @@ script = ExtResource("1_uud1m")
Speed = 200.0 Speed = 200.0
metadata/_edit_group_ = true metadata/_edit_group_ = true
[node name="Sprite" type="Sprite3D" parent="."]
visible = false
pixel_size = 0.05
billboard = 1
texture_filter = 0
texture = ExtResource("2_alu0c")
[node name="CollisionShape" type="CollisionShape3D" parent="."] [node name="CollisionShape" type="CollisionShape3D" parent="."]
shape = SubResource("SphereShape3D_pklkt") shape = SubResource("SphereShape3D_pklkt")
[node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."] [node name="VisibleOnScreenNotifier" type="VisibleOnScreenNotifier3D" parent="."]
[node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."] [node name="AnimatedSprite3D" type="AnimatedSprite3D" parent="."]
transform = Transform3D(0.707107, -0.5, 0.5, 0, 0.707107, 0.707107, -0.707107, -0.5, 0.5, 0, 0, 0)
pixel_size = 0.025 pixel_size = 0.025
billboard = 1
texture_filter = 0 texture_filter = 0
sprite_frames = ExtResource("3_qsphx") sprite_frames = ExtResource("3_qsphx")
autoplay = "default" autoplay = "default"

View file

@ -21,6 +21,8 @@ public partial class GameController : Node
public Vector3? PlayerPosition => _player?.GlobalPosition ?? null; public Vector3? PlayerPosition => _player?.GlobalPosition ?? null;
public Vector3? PlayerVelocity => _player?.Velocity ?? null; public Vector3? PlayerVelocity => _player?.Velocity ?? null;
[Export] public bool DebugDraw { get; set; }
[Signal] [Signal]
public delegate void ManagerReadyEventHandler(); public delegate void ManagerReadyEventHandler();

View file

@ -117,6 +117,7 @@ public partial class Bullet3D : Area3D, IBullet
private void SetSpriteRotationToDirection() private void SetSpriteRotationToDirection()
{ {
if (!BulletInfo.Attributes.HasFlag(BulletFlags.Rotateable)) return;
_sprite?.SetRotation(MakeRotationFromDirection(_direction)); _sprite?.SetRotation(MakeRotationFromDirection(_direction));
} }
@ -283,6 +284,11 @@ public partial class Bullet3D : Area3D, IBullet
{ {
Destroy(); Destroy();
} }
if (GameController.Instance is not null && GameController.Instance.DebugDraw)
{
DebugDraw3D.DrawSphere(this.GlobalPosition, this._bulletInfo.OriginalBulletResource.BulletSize, Colors.DarkRed);
}
} }
public override void _PhysicsProcess(double delta) public override void _PhysicsProcess(double delta)