DungeonCrawler/enemy.tscn
Andre e4efb239f2 Enemy-System komplett überarbeitet, Kamera-Steuerung verbessert
- Enemy: Neues castle_guard_01 Modell mit Animationen (idle, walk, run, autoattack, death, turn)
- Enemy: Patrol-KI mit Turn-Animationen beim Richtungswechsel, 5s idle nach Spawn
- Enemy: Aggro durch Detection Range (15m) und Schadens-Aggro, Patrol→Chase Übergang
- Enemy: Respawn nach 5s am Spawnpunkt, XP-Vergabe beim Tod
- Kamera: LMB frei drehen (umschauen) auch mit markiertem Ziel
- Kamera: RMB Lock-On temporär aufheben zum Weglaufen
- Kamera: LMB-Klick auf freie Fläche visiert Ziel ab
- Kamera: Drag vs Klick Unterscheidung (< 5px Bewegung = Klick)
- Autoattack greift automatisch wieder an wenn Ziel zurück in Range
- Player zur Gruppe "player" hinzugefügt für Enemy-Detection
- Dokumentation vollständig aktualisiert

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 00:56:14 +01:00

28 lines
1.1 KiB
Text

[gd_scene format=3 uid="uid://cvojaeanxugfj"]
[ext_resource type="Script" uid="uid://gaqwoakxyhet" path="res://enemy.gd" id="1_enemy"]
[ext_resource type="PackedScene" uid="uid://daeym1tdcnhhd" path="res://assets/Warrior+Animation/castle_guard_01.fbx" id="2_model"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_7k104"]
height = 2.208252
[node name="Enemy" type="CharacterBody3D" unique_id=393882142]
script = ExtResource("1_enemy")
[node name="Model" parent="." unique_id=842107644 instance=ExtResource("2_model")]
[node name="CollisionShape3D" type="CollisionShape3D" parent="." unique_id=1531674298]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.010422, 0)
shape = SubResource("CapsuleShape3D_7k104")
[node name="NavigationAgent3D" type="NavigationAgent3D" parent="." unique_id=838601477]
[node name="HealthDisplay" type="Node3D" parent="." unique_id=1341862509]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.2, 0)
[node name="Label3D" type="Label3D" parent="HealthDisplay" unique_id=80852959]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1362207, 0)
pixel_size = 0.01
text = "50 / 50"
font_size = 24
outline_size = 8