conforms file names to consistant standard
This commit is contained in:
64
worlds/green_planet/Enemies/air_enemy.tscn
Normal file
64
worlds/green_planet/Enemies/air_enemy.tscn
Normal file
@@ -0,0 +1,64 @@
|
||||
[gd_scene format=3 uid="uid://bjo2q6vca5qlv"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://worlds/green_planet/Enemies/enemy_controller.gd" id="1_m83kr"]
|
||||
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://scenes/corpse.tscn" id="2_aed6c"]
|
||||
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://ui/enemy_health_bar/health_bar.tscn" id="9_4xla1"]
|
||||
[ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://scripts/status_effector.gd" id="9_7hati"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://assets/textures/minimap_enemy.png" id="9_7yfyh"]
|
||||
[ext_resource type="Script" uid="uid://d147vuqksqhis" path="res://scripts/enemy_ai/beelining_controller.gd" id="9_cx8mv"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_ss5ir"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[node name="Dog" type="CharacterBody3D" unique_id=208032021 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar") groups=["Enemies"]]
|
||||
collision_layer = 4
|
||||
collision_mask = 3
|
||||
motion_mode = 1
|
||||
script = ExtResource("1_m83kr")
|
||||
status_manager = NodePath("StatusEffector")
|
||||
movement_controller = NodePath("BeeliningController")
|
||||
d_n = NodePath("Node3D")
|
||||
corpse_scene = ExtResource("2_aed6c")
|
||||
health_bar = NodePath("SubViewport/HealthBar")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="." unique_id=2020998819]
|
||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0.637873, 0)
|
||||
sorting_offset = 1.0
|
||||
pixel_size = 0.02
|
||||
billboard = 1
|
||||
texture_filter = 0
|
||||
texture = SubResource("ViewportTexture_ss5ir")
|
||||
|
||||
[node name="Sprite3D2" type="Sprite3D" parent="." unique_id=962994983]
|
||||
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 0.886933, 0)
|
||||
layers = 4
|
||||
texture_filter = 0
|
||||
texture = ExtResource("9_7yfyh")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="." unique_id=1270775896]
|
||||
transparent_bg = true
|
||||
size = Vector2i(200, 55)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="SubViewport" unique_id=1986225173]
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
offset_bottom = 32.0
|
||||
grow_horizontal = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="HealthBar" parent="SubViewport" unique_id=220775598 instance=ExtResource("9_4xla1")]
|
||||
visible = false
|
||||
offset_top = 36.0
|
||||
offset_bottom = 236.0
|
||||
|
||||
[node name="BeeliningController" type="Node" parent="." unique_id=1156329369 node_paths=PackedStringArray("character")]
|
||||
script = ExtResource("9_cx8mv")
|
||||
character = NodePath("..")
|
||||
|
||||
[node name="StatusEffector" type="Node" parent="." unique_id=98421530 node_paths=PackedStringArray("sprite_container")]
|
||||
script = ExtResource("9_7hati")
|
||||
sprite_container = NodePath("../SubViewport/HBoxContainer")
|
||||
metadata/_custom_type_script = "uid://cojjgevmbhwal"
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="." unique_id=1433335904]
|
||||
100
worlds/green_planet/Enemies/enemy_controller.gd
Normal file
100
worlds/green_planet/Enemies/enemy_controller.gd
Normal file
@@ -0,0 +1,100 @@
|
||||
class_name EnemyController extends CharacterBody3D
|
||||
|
||||
signal reached_goal(enemy: Enemy, penalty: int)
|
||||
signal died(enemy: Enemy)
|
||||
signal health_changed(health: int)
|
||||
|
||||
@export var stats: Enemy
|
||||
@export var status_manager: StatusEffector
|
||||
@export var movement_controller: EnemyMovement
|
||||
@export var max_health: int = 10
|
||||
@export var d_n: Node3D
|
||||
#@export var sprite: Sprite3D
|
||||
@export var corpse_scene: PackedScene
|
||||
@export var health_bar: HealthBar
|
||||
@export var model: Node3D
|
||||
|
||||
var damage_particle_scene: PackedScene = preload("res://UI/DamageParticle/damage_particle.tscn")
|
||||
var current_health: int
|
||||
var corpse_root: Node
|
||||
var movement_speed: float
|
||||
var movement_speed_penalty: float = 1.0
|
||||
var alive: bool = true
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
max_health = stats.health
|
||||
current_health = stats.health
|
||||
health_changed.connect(health_bar.on_health_changed)
|
||||
health_bar.setup(stats.health)
|
||||
movement_speed = stats.movement_speed
|
||||
status_manager.enemy = self
|
||||
|
||||
|
||||
func spawn_damage_indicator(damage: int, pos: Vector3, damage_type: Data.DamageIndicationType) -> void:
|
||||
var color: Color = Color.WHITE
|
||||
if damage_type == Data.DamageIndicationType.PLAYER:
|
||||
if !Data.preferences.display_self_damage_indicators:
|
||||
return
|
||||
else:
|
||||
color = Color.FIREBRICK
|
||||
if damage_type == Data.DamageIndicationType.TOWER:
|
||||
if !Data.preferences.display_tower_damage_indicators:
|
||||
return
|
||||
else:
|
||||
color = Color.WHITE_SMOKE
|
||||
if damage_type == Data.DamageIndicationType.OTHER_PLAYER:
|
||||
if !Data.preferences.display_party_damage_indicators:
|
||||
return
|
||||
else:
|
||||
color = Color.AQUAMARINE
|
||||
if damage_type == Data.DamageIndicationType.STATUS:
|
||||
if !Data.preferences.display_status_effect_damage_indicators:
|
||||
return
|
||||
else:
|
||||
color = Color.INDIAN_RED
|
||||
var marker: DamageParticle = damage_particle_scene.instantiate()
|
||||
get_tree().root.add_child(marker)
|
||||
marker.set_number(damage)
|
||||
marker.set_color(color)
|
||||
marker.position = pos
|
||||
|
||||
|
||||
func take_damage(damage: int, damage_type: Data.DamageIndicationType = Data.DamageIndicationType.TOWER, damage_point: Vector3 = global_position) -> void:
|
||||
current_health -= damage
|
||||
health_changed.emit(current_health)
|
||||
if damage > 0:
|
||||
spawn_damage_indicator(damage, damage_point, damage_type)
|
||||
if current_health <= 0:
|
||||
die()
|
||||
|
||||
|
||||
func heal_damage(healing: int) -> void:
|
||||
current_health += healing
|
||||
if current_health > max_health:
|
||||
current_health = max_health
|
||||
health_changed.emit(current_health)
|
||||
|
||||
|
||||
func apply_effect(effect: Effect) -> void:
|
||||
take_damage(effect.damage)
|
||||
for status: StatusEffect in effect.status_effects:
|
||||
status_manager.add_effect(status)
|
||||
|
||||
|
||||
func goal_entered() -> void:
|
||||
if alive:
|
||||
alive = false
|
||||
reached_goal.emit(stats, stats.penalty)
|
||||
queue_free()
|
||||
|
||||
|
||||
func die() -> void:
|
||||
if alive:
|
||||
alive = false
|
||||
var corpse: RigidBody3D = corpse_scene.instantiate()
|
||||
corpse.set_sprite(stats.death_sprite)
|
||||
corpse.position = global_position
|
||||
corpse_root.add_child(corpse)
|
||||
died.emit(stats)
|
||||
queue_free()
|
||||
1
worlds/green_planet/Enemies/enemy_controller.gd.uid
Normal file
1
worlds/green_planet/Enemies/enemy_controller.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://ejqql2660u6h
|
||||
91
worlds/green_planet/Enemies/land_enemy.tscn
Normal file
91
worlds/green_planet/Enemies/land_enemy.tscn
Normal file
@@ -0,0 +1,91 @@
|
||||
[gd_scene format=3 uid="uid://b0nady5xm88bo"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://worlds/green_planet/Enemies/enemy_controller.gd" id="1_fwsjt"]
|
||||
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://scenes/8_direction_sprite.tscn" id="2_o7jmg"]
|
||||
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://scenes/corpse.tscn" id="2_y7h25"]
|
||||
[ext_resource type="Texture2D" uid="uid://chmxo0rj26cxh" path="res://enemies/eye_dog/ico_eye_dog.png" id="3_naknq"]
|
||||
[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://scripts/hitbox.gd" id="7_5eo4w"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://assets/textures/minimap_enemy.png" id="9_f8btv"]
|
||||
[ext_resource type="Script" uid="uid://b62xnsbki8axa" path="res://scripts/enemy_ai/pathing_controller.gd" id="10_gljle"]
|
||||
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://ui/enemy_health_bar/health_bar.tscn" id="10_or8n6"]
|
||||
[ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://scripts/status_effector.gd" id="10_txouh"]
|
||||
[ext_resource type="Script" uid="uid://cp77etg1m1hc2" path="res://scripts/sprite_bobber.gd" id="12_2nmk0"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fsgim"]
|
||||
resource_local_to_scene = true
|
||||
atlas = ExtResource("3_naknq")
|
||||
region = Rect2(0, 0, 32, 32)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_132sr"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_4tj6k"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[node name="WalkingEnemy" type="CharacterBody3D" unique_id=180331738 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar") groups=["Enemies"]]
|
||||
collision_layer = 4
|
||||
collision_mask = 3
|
||||
script = ExtResource("1_fwsjt")
|
||||
status_manager = NodePath("StatusEffector")
|
||||
movement_controller = NodePath("PathingController")
|
||||
d_n = NodePath("Node3D")
|
||||
corpse_scene = ExtResource("2_y7h25")
|
||||
health_bar = NodePath("SubViewport/HealthBar")
|
||||
|
||||
[node name="DirectionSprite" parent="." unique_id=447693926 instance=ExtResource("2_o7jmg")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.585, 0)
|
||||
pixel_size = 0.04
|
||||
texture = SubResource("AtlasTexture_fsgim")
|
||||
|
||||
[node name="Hitbox" type="CollisionShape3D" parent="." unique_id=1331889652]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.441355, 0)
|
||||
shape = SubResource("SphereShape3D_132sr")
|
||||
script = ExtResource("7_5eo4w")
|
||||
metadata/_custom_type_script = "uid://cummt2be3r1gq"
|
||||
|
||||
[node name="HealthBar" type="Sprite3D" parent="." unique_id=1156758130]
|
||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
|
||||
sorting_offset = 1.0
|
||||
pixel_size = 0.02
|
||||
billboard = 1
|
||||
texture_filter = 0
|
||||
texture = SubResource("ViewportTexture_4tj6k")
|
||||
|
||||
[node name="MinimapIcon" type="Sprite3D" parent="." unique_id=460763223]
|
||||
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 1.40824, 0)
|
||||
layers = 4
|
||||
texture_filter = 0
|
||||
texture = ExtResource("9_f8btv")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="." unique_id=586330662]
|
||||
transparent_bg = true
|
||||
size = Vector2i(200, 55)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="SubViewport" unique_id=1831772569]
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
offset_bottom = 32.0
|
||||
grow_horizontal = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="HealthBar" parent="SubViewport" unique_id=1496243131 instance=ExtResource("10_or8n6")]
|
||||
visible = false
|
||||
offset_top = 36.0
|
||||
offset_bottom = 236.0
|
||||
|
||||
[node name="PathingController" type="Node" parent="." unique_id=480767089 node_paths=PackedStringArray("character")]
|
||||
script = ExtResource("10_gljle")
|
||||
character = NodePath("..")
|
||||
|
||||
[node name="SpriteBobber" type="Node" parent="." unique_id=1557344974 node_paths=PackedStringArray("character", "sprite")]
|
||||
script = ExtResource("12_2nmk0")
|
||||
character = NodePath("..")
|
||||
sprite = NodePath("../DirectionSprite")
|
||||
|
||||
[node name="StatusEffector" type="Node" parent="." unique_id=1731339216 node_paths=PackedStringArray("sprite_container")]
|
||||
script = ExtResource("10_txouh")
|
||||
sprite_container = NodePath("../SubViewport/HBoxContainer")
|
||||
metadata/_custom_type_script = "uid://cojjgevmbhwal"
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="." unique_id=1624556025]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.429125, 0)
|
||||
66
worlds/green_planet/Enemies/land_enemy.tscn-CAde9Q
Normal file
66
worlds/green_planet/Enemies/land_enemy.tscn-CAde9Q
Normal file
@@ -0,0 +1,66 @@
|
||||
[gd_scene load_steps=15 format=3 uid="uid://b0nady5xm88bo"]
|
||||
|
||||
[ext_resource type="Script" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_fwsjt"]
|
||||
[ext_resource type="Script" path="res://Scripts/hitbox.gd" id="2_j8yin"]
|
||||
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://Scenes/8_direction_sprite.tscn" id="2_o7jmg"]
|
||||
[ext_resource type="Script" path="res://Scripts/health.gd" id="2_swu53"]
|
||||
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://Scenes/corpse.tscn" id="2_y7h25"]
|
||||
[ext_resource type="Texture2D" uid="uid://dj13g1w14mekw" path="res://Assets/Textures/eye_dog.png" id="3_naknq"]
|
||||
[ext_resource type="PackedScene" uid="uid://cqtew0t8sttpm" path="res://Scenes/damage_particle.tscn" id="4_tn1tu"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_f8btv"]
|
||||
[ext_resource type="Script" path="res://Scripts/EnemyAI/pathing_controller.gd" id="10_gljle"]
|
||||
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="10_or8n6"]
|
||||
[ext_resource type="Script" path="res://Scripts/StatusEffector.gd" id="10_txouh"]
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_21dgw"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_o3ikr"]
|
||||
resource_local_to_scene = true
|
||||
atlas = ExtResource("3_naknq")
|
||||
region = Rect2(0, 0, 32, 32)
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_4tj6k"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[node name="Dog" type="CharacterBody3D" node_paths=PackedStringArray("status_manager", "movement_controller", "health", "sprite") groups=["Enemies"]]
|
||||
collision_layer = 4
|
||||
collision_mask = 3
|
||||
script = ExtResource("1_fwsjt")
|
||||
status_manager = NodePath("StatusEffector")
|
||||
movement_controller = NodePath("PathingController")
|
||||
health = NodePath("Health")
|
||||
sprite = NodePath("DirectionSprite")
|
||||
corpse_scene = ExtResource("2_y7h25")
|
||||
|
||||
[node name="Health" type="Node" parent="."]
|
||||
script = ExtResource("2_swu53")
|
||||
damage_particle_scene = ExtResource("4_tn1tu")
|
||||
|
||||
[node name="Hitbox" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.527022, 0)
|
||||
shape = SubResource("SphereShape3D_21dgw")
|
||||
script = ExtResource("2_j8yin")
|
||||
|
||||
[node name="DirectionSprite" parent="." instance=ExtResource("2_o7jmg")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.642479, 0)
|
||||
pixel_size = 0.04
|
||||
texture = SubResource("AtlasTexture_o3ikr")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
|
||||
sorting_offset = 1.0
|
||||
pixel_size = 0.02
|
||||
billboard = 1
|
||||
texture_filter = 0
|
||||
texture = SubResource("ViewportTexture_4tj6k")
|
||||
|
||||
[node name="Sprite3D2" type="Sprite3D" parent="."]
|
||||
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 1.40824, 0)
|
||||
layers = 4
|
||||
texture_filter = 0
|
||||
texture = ExtResource("9_f8btv")
|
||||
|
||||
[node name="StatusEffector" type="Node3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.18114, 0)
|
||||
script = ExtResource("10_txouh")
|
||||
hbox = Object(HBoxContainer,"_import_path":NodePath(""),"unique_name_in_owner":false,"process_mode":0,"process_priority":0,"process_physics_priority":0,"process_thread_group":0,"editor_description":"","visible":true,"modulate":Color(1, 1, 1, 1),"self_modulate":Color(1, 1, 1, 1),"show_behind_parent":false,"top_level":false,"clip_children":0,"light_mask":1,"visibility_layer":1,"z_index":0,"z_as_relative":true,"y_sort_enabled":false,"texture_filter":0,"texture_repeat":0,"material":null,"use_parent_material":false,"clip_contents":false,"custom_minimum_size":Vector2(0, 0),"layout_direction":0,"layout_mode":3,"anchors_preset":10,"anchor_left":0.0,"anchor_top":0.0,"anchor_right":1.0,"anchor_bottom":0.0,"offset_left":0.0,"offset_top":0.0,"offset_right":0.0,"offset_bottom":32.0,"grow_horizontal":2,"grow_vertical":1,"rotation":0.0,"scale":Vector2(1, 1),"pivot_offset":Vector2(0, 0),"size_flags_horizontal":1,"size_flags_vertical":1,"size_flags_stretch_ratio":1.0,"auto_translate":true,"localize_numeral_system":true,"tooltip_text":"","focus_neighbor_left":NodePath(""),
|
||||
0
worlds/green_planet/Enemies/land_enemy.tscn-GE2YKs
Normal file
0
worlds/green_planet/Enemies/land_enemy.tscn-GE2YKs
Normal file
0
worlds/green_planet/Enemies/land_enemy.tscn-OVZSsZ
Normal file
0
worlds/green_planet/Enemies/land_enemy.tscn-OVZSsZ
Normal file
230
worlds/green_planet/Enemies/leaping_enemy.tscn
Normal file
230
worlds/green_planet/Enemies/leaping_enemy.tscn
Normal file
@@ -0,0 +1,230 @@
|
||||
[gd_scene format=3 uid="uid://cmneu5o0m02l8"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://worlds/green_planet/Enemies/enemy_controller.gd" id="1_joiuq"]
|
||||
[ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://scenes/corpse.tscn" id="2_ssgps"]
|
||||
[ext_resource type="Script" uid="uid://bamhci3kawuyt" path="res://scripts/health.gd" id="3_dhcpw"]
|
||||
[ext_resource type="PackedScene" uid="uid://ri8r03wqy80t" path="res://scenes/8_direction_sprite.tscn" id="5_5u3uw"]
|
||||
[ext_resource type="Texture2D" uid="uid://cb66pspr16scy" path="res://assets/textures/leapfrog_2.png" id="6_joiuq"]
|
||||
[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://scripts/hitbox.gd" id="7_72t32"]
|
||||
[ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://assets/textures/minimap_enemy.png" id="8_egpbw"]
|
||||
[ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://scripts/status_effector.gd" id="9_47ywr"]
|
||||
[ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://ui/enemy_health_bar/health_bar.tscn" id="10_lce6w"]
|
||||
[ext_resource type="Script" uid="uid://cp77etg1m1hc2" path="res://scripts/sprite_bobber.gd" id="12_g2knp"]
|
||||
[ext_resource type="Script" uid="uid://dqluvn05min37" path="res://scripts/enemy_ai/leaping_controller.gd" id="12_joiuq"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nhskb"]
|
||||
resource_local_to_scene = true
|
||||
atlas = ExtResource("6_joiuq")
|
||||
region = Rect2(0, 0, 32, 32)
|
||||
|
||||
[sub_resource type="SphereShape3D" id="SphereShape3D_132sr"]
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_4tj6k"]
|
||||
viewport_path = NodePath("SubViewport")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_joiuq"]
|
||||
viewport_path = NodePath("SubViewport2")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_ssgps"]
|
||||
viewport_path = NodePath("SubViewport3")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_dhcpw"]
|
||||
viewport_path = NodePath("SubViewport4")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_yref6"]
|
||||
viewport_path = NodePath("SubViewport5")
|
||||
|
||||
[sub_resource type="ViewportTexture" id="ViewportTexture_5u3uw"]
|
||||
viewport_path = NodePath("SubViewport6")
|
||||
|
||||
[node name="LeapingEnemy" type="CharacterBody3D" unique_id=1033726948 node_paths=PackedStringArray("status_manager", "movement_controller", "d_n", "health_bar") groups=["Enemies"]]
|
||||
collision_layer = 4
|
||||
collision_mask = 3
|
||||
script = ExtResource("1_joiuq")
|
||||
status_manager = NodePath("StatusEffector")
|
||||
movement_controller = NodePath("LeapingController")
|
||||
d_n = NodePath("Node3D")
|
||||
corpse_scene = ExtResource("2_ssgps")
|
||||
health_bar = NodePath("SubViewport/HealthBar")
|
||||
|
||||
[node name="Health" type="Node" parent="." unique_id=1287231964]
|
||||
script = ExtResource("3_dhcpw")
|
||||
|
||||
[node name="DirectionSprite" parent="." unique_id=1545646745 instance=ExtResource("5_5u3uw")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.585, 0)
|
||||
pixel_size = 0.04
|
||||
texture = SubResource("AtlasTexture_nhskb")
|
||||
|
||||
[node name="Hitbox" type="CollisionShape3D" parent="." unique_id=149936442]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.441355, 0)
|
||||
shape = SubResource("SphereShape3D_132sr")
|
||||
script = ExtResource("7_72t32")
|
||||
metadata/_custom_type_script = "uid://cummt2be3r1gq"
|
||||
|
||||
[node name="HealthBar" type="Sprite3D" parent="." unique_id=1144119778]
|
||||
transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0)
|
||||
sorting_offset = 1.0
|
||||
pixel_size = 0.02
|
||||
billboard = 1
|
||||
texture_filter = 0
|
||||
texture = SubResource("ViewportTexture_4tj6k")
|
||||
|
||||
[node name="MinimapIcon" type="Sprite3D" parent="." unique_id=574287380]
|
||||
transform = Transform3D(2, 0, 0, 0, -8.74228e-08, 2, 0, -2, -8.74228e-08, 0, 1.40824, 0)
|
||||
layers = 4
|
||||
texture_filter = 0
|
||||
texture = ExtResource("8_egpbw")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="." unique_id=781492532]
|
||||
transparent_bg = true
|
||||
size = Vector2i(200, 55)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="SubViewport" unique_id=1769007611]
|
||||
anchors_preset = 10
|
||||
anchor_right = 1.0
|
||||
offset_bottom = 32.0
|
||||
grow_horizontal = 2
|
||||
alignment = 1
|
||||
|
||||
[node name="HealthBar" parent="SubViewport" unique_id=841823713 instance=ExtResource("10_lce6w")]
|
||||
visible = false
|
||||
offset_top = 36.0
|
||||
offset_bottom = 236.0
|
||||
|
||||
[node name="SpriteBobber" type="Node" parent="." unique_id=1364493813 node_paths=PackedStringArray("character", "sprite")]
|
||||
script = ExtResource("12_g2knp")
|
||||
character = NodePath("..")
|
||||
sprite = NodePath("../DirectionSprite")
|
||||
|
||||
[node name="LeapingController" type="Node" parent="." unique_id=289839880 node_paths=PackedStringArray("eastl", "westl", "northl", "southl", "easts", "wests", "norths", "souths", "box", "tol", "character")]
|
||||
script = ExtResource("12_joiuq")
|
||||
eastl = NodePath("../SubViewport2/East")
|
||||
westl = NodePath("../SubViewport3/West")
|
||||
northl = NodePath("../SubViewport5/North")
|
||||
southl = NodePath("../SubViewport4/South")
|
||||
easts = NodePath("../east")
|
||||
wests = NodePath("../west")
|
||||
norths = NodePath("../north")
|
||||
souths = NodePath("../south")
|
||||
box = NodePath("../CSGBox3D")
|
||||
tol = NodePath("../SubViewport6/North")
|
||||
character = NodePath("..")
|
||||
metadata/_custom_type_script = "uid://dqluvn05min37"
|
||||
|
||||
[node name="SubViewport2" type="SubViewport" parent="." unique_id=166337897]
|
||||
transparent_bg = true
|
||||
size = Vector2i(277, 52)
|
||||
|
||||
[node name="East" type="Label" parent="SubViewport2" unique_id=114038959]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "east"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SubViewport3" type="SubViewport" parent="." unique_id=1474605948]
|
||||
transparent_bg = true
|
||||
size = Vector2i(277, 52)
|
||||
|
||||
[node name="West" type="Label" parent="SubViewport3" unique_id=1999915202]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "west"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SubViewport4" type="SubViewport" parent="." unique_id=1404404895]
|
||||
transparent_bg = true
|
||||
size = Vector2i(277, 52)
|
||||
|
||||
[node name="South" type="Label" parent="SubViewport4" unique_id=1892141100]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "south"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SubViewport5" type="SubViewport" parent="." unique_id=184881268]
|
||||
transparent_bg = true
|
||||
size = Vector2i(277, 52)
|
||||
|
||||
[node name="North" type="Label" parent="SubViewport5" unique_id=223752275]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "north"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="SubViewport6" type="SubViewport" parent="." unique_id=743109019]
|
||||
transparent_bg = true
|
||||
size = Vector2i(277, 52)
|
||||
|
||||
[node name="North" type="Label" parent="SubViewport6" unique_id=555532262]
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
grow_horizontal = 2
|
||||
grow_vertical = 2
|
||||
text = "north"
|
||||
horizontal_alignment = 1
|
||||
vertical_alignment = 1
|
||||
|
||||
[node name="east" type="Sprite3D" parent="." unique_id=888319817]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.955188, 0.919993, 0)
|
||||
visible = false
|
||||
billboard = 1
|
||||
texture = SubResource("ViewportTexture_joiuq")
|
||||
|
||||
[node name="west" type="Sprite3D" parent="." unique_id=1565886875]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.366, 0.919993, 0)
|
||||
visible = false
|
||||
billboard = 1
|
||||
texture = SubResource("ViewportTexture_ssgps")
|
||||
|
||||
[node name="south" type="Sprite3D" parent="." unique_id=1853039429]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.919993, 1.05626)
|
||||
visible = false
|
||||
billboard = 1
|
||||
texture = SubResource("ViewportTexture_dhcpw")
|
||||
|
||||
[node name="north" type="Sprite3D" parent="." unique_id=80770086]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.919993, -1.24258)
|
||||
visible = false
|
||||
billboard = 1
|
||||
texture = SubResource("ViewportTexture_yref6")
|
||||
|
||||
[node name="north2" type="Sprite3D" parent="." unique_id=1420705378]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.215, 0)
|
||||
visible = false
|
||||
billboard = 1
|
||||
texture = SubResource("ViewportTexture_5u3uw")
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="." unique_id=1412742097]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.141846, 0)
|
||||
visible = false
|
||||
size = Vector3(0.5, 0.783691, 0.5)
|
||||
|
||||
[node name="StatusEffector" type="Node" parent="." unique_id=1259259265 node_paths=PackedStringArray("sprite_container")]
|
||||
script = ExtResource("9_47ywr")
|
||||
sprite_container = NodePath("../SubViewport/HBoxContainer")
|
||||
metadata/_custom_type_script = "uid://cojjgevmbhwal"
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="." unique_id=2094647009]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.440026, 0)
|
||||
|
||||
[connection signal="health_changed" from="Health" to="SubViewport/HealthBar" method="on_health_changed"]
|
||||
[connection signal="health_depleted" from="Health" to="." method="die"]
|
||||
[connection signal="took_damage" from="Hitbox" to="Health" method="take_damage"]
|
||||
Reference in New Issue
Block a user