Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c09dfd1e7b | |||
| 9db0056c5d | |||
| 7f1d33e4fc | |||
| aaa9b102c1 | |||
| cb348667f5 | |||
| 8d23a95c68 | |||
| a9809abc27 | |||
| db65c02e75 |
@@ -3,19 +3,21 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://db6uqhcmcfs5t"
|
uid="uid://db6uqhcmcfs5t"
|
||||||
path="res://.godot/imported/xbox_lb_outline.svg-609923d5fb24f594348efed4ab529ec6.ctex"
|
path.s3tc="res://.godot/imported/xbox_lb_outline.svg-609923d5fb24f594348efed4ab529ec6.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/xbox_lb_outline.svg-609923d5fb24f594348efed4ab529ec6.etc2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_lb_outline.svg"
|
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_lb_outline.svg"
|
||||||
dest_files=["res://.godot/imported/xbox_lb_outline.svg-609923d5fb24f594348efed4ab529ec6.ctex"]
|
dest_files=["res://.godot/imported/xbox_lb_outline.svg-609923d5fb24f594348efed4ab529ec6.s3tc.ctex", "res://.godot/imported/xbox_lb_outline.svg-609923d5fb24f594348efed4ab529ec6.etc2.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
compress/mode=2
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
compress/uastc_level=0
|
compress/uastc_level=0
|
||||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
|||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
mipmaps/generate=false
|
mipmaps/generate=true
|
||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
@@ -37,7 +39,7 @@ process/normal_map_invert_y=false
|
|||||||
process/hdr_as_srgb=false
|
process/hdr_as_srgb=false
|
||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=0
|
||||||
svg/scale=1.0
|
svg/scale=1.0
|
||||||
editor/scale_with_editor_scale=false
|
editor/scale_with_editor_scale=false
|
||||||
editor/convert_colors_with_editor_theme=false
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
|||||||
@@ -3,19 +3,21 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://nrhxjdpuje3f"
|
uid="uid://nrhxjdpuje3f"
|
||||||
path="res://.godot/imported/xbox_lt_outline.svg-7aebefa9684921bfb5211975ae57164f.ctex"
|
path.s3tc="res://.godot/imported/xbox_lt_outline.svg-7aebefa9684921bfb5211975ae57164f.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/xbox_lt_outline.svg-7aebefa9684921bfb5211975ae57164f.etc2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_lt_outline.svg"
|
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_lt_outline.svg"
|
||||||
dest_files=["res://.godot/imported/xbox_lt_outline.svg-7aebefa9684921bfb5211975ae57164f.ctex"]
|
dest_files=["res://.godot/imported/xbox_lt_outline.svg-7aebefa9684921bfb5211975ae57164f.s3tc.ctex", "res://.godot/imported/xbox_lt_outline.svg-7aebefa9684921bfb5211975ae57164f.etc2.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
compress/mode=2
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
compress/uastc_level=0
|
compress/uastc_level=0
|
||||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
|||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
mipmaps/generate=false
|
mipmaps/generate=true
|
||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
@@ -37,7 +39,7 @@ process/normal_map_invert_y=false
|
|||||||
process/hdr_as_srgb=false
|
process/hdr_as_srgb=false
|
||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=0
|
||||||
svg/scale=1.0
|
svg/scale=1.0
|
||||||
editor/scale_with_editor_scale=false
|
editor/scale_with_editor_scale=false
|
||||||
editor/convert_colors_with_editor_theme=false
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
|||||||
@@ -3,19 +3,21 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://dyjvbsvbriii4"
|
uid="uid://dyjvbsvbriii4"
|
||||||
path="res://.godot/imported/xbox_rb_outline.svg-da022b434843043fffdf7deef5f634f4.ctex"
|
path.s3tc="res://.godot/imported/xbox_rb_outline.svg-da022b434843043fffdf7deef5f634f4.s3tc.ctex"
|
||||||
|
path.etc2="res://.godot/imported/xbox_rb_outline.svg-da022b434843043fffdf7deef5f634f4.etc2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"imported_formats": ["s3tc_bptc", "etc2_astc"],
|
||||||
|
"vram_texture": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_rb_outline.svg"
|
source_file="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_rb_outline.svg"
|
||||||
dest_files=["res://.godot/imported/xbox_rb_outline.svg-da022b434843043fffdf7deef5f634f4.ctex"]
|
dest_files=["res://.godot/imported/xbox_rb_outline.svg-da022b434843043fffdf7deef5f634f4.s3tc.ctex", "res://.godot/imported/xbox_rb_outline.svg-da022b434843043fffdf7deef5f634f4.etc2.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
compress/mode=0
|
compress/mode=2
|
||||||
compress/high_quality=false
|
compress/high_quality=false
|
||||||
compress/lossy_quality=0.7
|
compress/lossy_quality=0.7
|
||||||
compress/uastc_level=0
|
compress/uastc_level=0
|
||||||
@@ -23,7 +25,7 @@ compress/rdo_quality_loss=0.0
|
|||||||
compress/hdr_compression=1
|
compress/hdr_compression=1
|
||||||
compress/normal_map=0
|
compress/normal_map=0
|
||||||
compress/channel_pack=0
|
compress/channel_pack=0
|
||||||
mipmaps/generate=false
|
mipmaps/generate=true
|
||||||
mipmaps/limit=-1
|
mipmaps/limit=-1
|
||||||
roughness/mode=0
|
roughness/mode=0
|
||||||
roughness/src_normal=""
|
roughness/src_normal=""
|
||||||
@@ -37,7 +39,7 @@ process/normal_map_invert_y=false
|
|||||||
process/hdr_as_srgb=false
|
process/hdr_as_srgb=false
|
||||||
process/hdr_clamp_exposure=false
|
process/hdr_clamp_exposure=false
|
||||||
process/size_limit=0
|
process/size_limit=0
|
||||||
detect_3d/compress_to=1
|
detect_3d/compress_to=0
|
||||||
svg/scale=1.0
|
svg/scale=1.0
|
||||||
editor/scale_with_editor_scale=false
|
editor/scale_with_editor_scale=false
|
||||||
editor/convert_colors_with_editor_theme=false
|
editor/convert_colors_with_editor_theme=false
|
||||||
|
|||||||
21
maps/_templates/main_scene_template.gd
Normal file
21
maps/_templates/main_scene_template.gd
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
extends Node3D
|
||||||
|
|
||||||
|
|
||||||
|
@onready var player_fell_respawn: Marker3D = $PlayerFellRespawn
|
||||||
|
@onready var animation_player: AnimationPlayer = $AnimationPlayer
|
||||||
|
|
||||||
|
var _player: Node3D
|
||||||
|
|
||||||
|
func _on_player_fell_tp_body_entered(body: Node3D) -> void:
|
||||||
|
_player = body
|
||||||
|
animation_player.play("player_fell")
|
||||||
|
|
||||||
|
|
||||||
|
func reset_player_position() -> void:
|
||||||
|
if _player == null:
|
||||||
|
return
|
||||||
|
_player.position = player_fell_respawn.position
|
||||||
|
|
||||||
|
|
||||||
|
func _on_death_plane_body_entered(body: Node3D) -> void:
|
||||||
|
body.queue_free()
|
||||||
1
maps/_templates/main_scene_template.gd.uid
Normal file
1
maps/_templates/main_scene_template.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://beof168aw2acj
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
[gd_scene format=3 uid="uid://55wehh6xombr"]
|
[gd_scene format=3 uid="uid://55wehh6xombr"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://beof168aw2acj" path="res://maps/_templates/main_scene_template.gd" id="1_5g5a0"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bkcsjsk2ciff" path="res://addons/maaacks_game_template/base/scenes/music_players/background_music_player.tscn" id="2_roiv2"]
|
[ext_resource type="PackedScene" uid="uid://bkcsjsk2ciff" path="res://addons/maaacks_game_template/base/scenes/music_players/background_music_player.tscn" id="2_roiv2"]
|
||||||
[ext_resource type="AudioStream" uid="uid://f8cvr5s041ej" path="res://assets/audio/ambiance/637083__nox_sound__ambiance_nature_night_cricket_calm_loop_stereo.wav" id="3_boadi"]
|
[ext_resource type="AudioStream" uid="uid://f8cvr5s041ej" path="res://assets/audio/ambiance/637083__nox_sound__ambiance_nature_night_cricket_calm_loop_stereo.wav" id="3_boadi"]
|
||||||
[ext_resource type="Script" uid="uid://cupqhe3qv7ero" path="res://tools/general_manager.gd" id="3_k6got"]
|
[ext_resource type="Script" uid="uid://cupqhe3qv7ero" path="res://tools/general_manager.gd" id="3_k6got"]
|
||||||
@@ -68,13 +69,188 @@ fog_enabled = true
|
|||||||
fog_light_color = Color(1, 1, 1, 1)
|
fog_light_color = Color(1, 1, 1, 1)
|
||||||
fog_sun_scatter = 0.5
|
fog_sun_scatter = 0.5
|
||||||
fog_density = 0.002
|
fog_density = 0.002
|
||||||
|
fog_aerial_perspective = 1.0
|
||||||
fog_sky_affect = 0.184
|
fog_sky_affect = 0.184
|
||||||
volumetric_fog_density = 0.004
|
volumetric_fog_density = 0.004
|
||||||
volumetric_fog_emission = Color(1, 1, 1, 1)
|
volumetric_fog_emission = Color(1, 1, 1, 1)
|
||||||
volumetric_fog_anisotropy = 0.6
|
volumetric_fog_anisotropy = 0.6
|
||||||
adjustment_enabled = true
|
adjustment_enabled = true
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_nyvgt"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("WorldEnvironment:environment:fog_density")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.002]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("WorldEnvironment:environment:fog_sun_scatter")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.5]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("WorldEnvironment:environment:fog_light_energy")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [1.0]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("WorldEnvironment:environment:fog_aerial_perspective")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [1.0]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("WorldEnvironment:environment:fog_height")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.0]
|
||||||
|
}
|
||||||
|
tracks/5/type = "value"
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/path = NodePath("WorldEnvironment:environment:fog_height_density")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"times": PackedFloat32Array(0),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.0]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_5g5a0"]
|
||||||
|
resource_name = "player_fell"
|
||||||
|
length = 2.0
|
||||||
|
tracks/0/type = "value"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("WorldEnvironment:environment:fog_density")
|
||||||
|
tracks/0/interp = 2
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 1, 2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.002, 1.0, 0.002]
|
||||||
|
}
|
||||||
|
tracks/1/type = "value"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("WorldEnvironment:environment:fog_sun_scatter")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 1, 2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.5, 1.0, 0.5]
|
||||||
|
}
|
||||||
|
tracks/2/type = "value"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("WorldEnvironment:environment:fog_light_energy")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 1, 2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [1.0, 10.0, 1.0]
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("WorldEnvironment:environment:fog_aerial_perspective")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 1, 2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [1.0, 0.0, 1.0]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("WorldEnvironment:environment:fog_height")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 1, 2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.0, 1024.0, 0.0]
|
||||||
|
}
|
||||||
|
tracks/5/type = "value"
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/path = NodePath("WorldEnvironment:environment:fog_height_density")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"times": PackedFloat32Array(0, 2),
|
||||||
|
"transitions": PackedFloat32Array(1, 1),
|
||||||
|
"update": 0,
|
||||||
|
"values": [0.0, 0.0]
|
||||||
|
}
|
||||||
|
tracks/6/type = "method"
|
||||||
|
tracks/6/imported = false
|
||||||
|
tracks/6/enabled = true
|
||||||
|
tracks/6/path = NodePath(".")
|
||||||
|
tracks/6/interp = 1
|
||||||
|
tracks/6/loop_wrap = true
|
||||||
|
tracks/6/keys = {
|
||||||
|
"times": PackedFloat32Array(1),
|
||||||
|
"transitions": PackedFloat32Array(1),
|
||||||
|
"values": [{
|
||||||
|
"args": [],
|
||||||
|
"method": &"reset_player_position"
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_nyvgt"]
|
||||||
|
_data = {
|
||||||
|
&"RESET": SubResource("Animation_nyvgt"),
|
||||||
|
&"player_fell": SubResource("Animation_5g5a0")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="WorldBoundaryShape3D" id="WorldBoundaryShape3D_gm8ij"]
|
||||||
|
|
||||||
[node name="Main" type="Node3D" unique_id=955321579]
|
[node name="Main" type="Node3D" unique_id=955321579]
|
||||||
|
script = ExtResource("1_5g5a0")
|
||||||
|
|
||||||
[node name="DebugLayer" type="CanvasLayer" parent="." unique_id=294370189]
|
[node name="DebugLayer" type="CanvasLayer" parent="." unique_id=294370189]
|
||||||
|
|
||||||
@@ -104,6 +280,9 @@ shadow_enabled = true
|
|||||||
shadow_opacity = 0.95
|
shadow_opacity = 0.95
|
||||||
shadow_blur = 2.435
|
shadow_blur = 2.435
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=511897109]
|
||||||
|
libraries/ = SubResource("AnimationLibrary_nyvgt")
|
||||||
|
|
||||||
[node name="Player" parent="." unique_id=1309399929 instance=ExtResource("17_clkha")]
|
[node name="Player" parent="." unique_id=1309399929 instance=ExtResource("17_clkha")]
|
||||||
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
|
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
|
||||||
TutorialDone = true
|
TutorialDone = true
|
||||||
@@ -113,4 +292,26 @@ AccelerationAir = 1.5
|
|||||||
visible = false
|
visible = false
|
||||||
Radius = 2.0
|
Radius = 2.0
|
||||||
|
|
||||||
|
[node name="PlayerFellRespawn" type="Marker3D" parent="." unique_id=479136076]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 300, 0)
|
||||||
|
|
||||||
|
[node name="PlayerFellTP" type="Area3D" parent="." unique_id=1277888169]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -200, 0)
|
||||||
|
collision_layer = 0
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="PlayerFellTP" unique_id=1866249040]
|
||||||
|
shape = SubResource("WorldBoundaryShape3D_gm8ij")
|
||||||
|
|
||||||
|
[node name="DeathPlane" type="Area3D" parent="." unique_id=1766360237]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -100, 0)
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 16
|
||||||
|
monitorable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="DeathPlane" unique_id=835637700]
|
||||||
|
shape = SubResource("WorldBoundaryShape3D_gm8ij")
|
||||||
|
|
||||||
[connection signal="PlayerDied" from="Player" to="GeneralManager" method="on_player_died"]
|
[connection signal="PlayerDied" from="Player" to="GeneralManager" method="on_player_died"]
|
||||||
|
[connection signal="body_entered" from="PlayerFellTP" to="." method="_on_player_fell_tp_body_entered"]
|
||||||
|
[connection signal="body_entered" from="DeathPlane" to="." method="_on_death_plane_body_entered"]
|
||||||
|
|||||||
@@ -8,6 +8,12 @@
|
|||||||
[ext_resource type="Script" uid="uid://dtpxijlnb2c5" path="res://scenes/components/movement/RMovement.cs" id="6_cgfmf"]
|
[ext_resource type="Script" uid="uid://dtpxijlnb2c5" path="res://scenes/components/movement/RMovement.cs" id="6_cgfmf"]
|
||||||
[ext_resource type="Script" uid="uid://baiapod3csndf" path="res://scenes/components/health/RHealth.cs" id="7_hr4qv"]
|
[ext_resource type="Script" uid="uid://baiapod3csndf" path="res://scenes/components/health/RHealth.cs" id="7_hr4qv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://cmlud1hwkd6sv" path="res://scenes/enemies/flying_enemy/flying_enemy.tscn" id="8_dkfm7"]
|
[ext_resource type="PackedScene" uid="uid://cmlud1hwkd6sv" path="res://scenes/enemies/flying_enemy/flying_enemy.tscn" id="8_dkfm7"]
|
||||||
|
[ext_resource type="Script" uid="uid://jitubgv6judn" path="res://scenes/components/damage/RDamage.cs" id="9_ofbe2"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://b8aet6m4m2i83" path="res://scenes/tuto_trigger/TutoTrigger.tscn" id="10_dkfm7"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://nrhxjdpuje3f" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_lt_outline.svg" id="11_nwk5u"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://cjh5cnvdbq5ku" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_button_b_outline.svg" id="12_xy0m1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dyjvbsvbriii4" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_rb_outline.svg" id="13_nwk5u"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://db6uqhcmcfs5t" path="res://assets/ui/input-prompts/Xbox Series/Vector/xbox_lb_outline.svg" id="14_xy0m1"]
|
||||||
|
|
||||||
[sub_resource type="Resource" id="Resource_nwk5u"]
|
[sub_resource type="Resource" id="Resource_nwk5u"]
|
||||||
script = ExtResource("6_cgfmf")
|
script = ExtResource("6_cgfmf")
|
||||||
@@ -19,13 +25,54 @@ script = ExtResource("7_hr4qv")
|
|||||||
StartingHealth = 100.0
|
StartingHealth = 100.0
|
||||||
metadata/_custom_type_script = "uid://baiapod3csndf"
|
metadata/_custom_type_script = "uid://baiapod3csndf"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_invhv"]
|
||||||
|
script = ExtResource("7_hr4qv")
|
||||||
|
StartingHealth = 1.0
|
||||||
|
metadata/_custom_type_script = "uid://baiapod3csndf"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_cgfmf"]
|
||||||
|
script = ExtResource("9_ofbe2")
|
||||||
|
DamageType = 2
|
||||||
|
metadata/_custom_type_script = "uid://jitubgv6judn"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_05lnh"]
|
||||||
|
script = ExtResource("7_hr4qv")
|
||||||
|
StartingHealth = 100.0
|
||||||
|
metadata/_custom_type_script = "uid://baiapod3csndf"
|
||||||
|
|
||||||
|
[sub_resource type="Resource" id="Resource_t5o40"]
|
||||||
|
script = ExtResource("7_hr4qv")
|
||||||
|
StartingHealth = 100.0
|
||||||
|
metadata/_custom_type_script = "uid://baiapod3csndf"
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_xy0m1"]
|
||||||
|
size = Vector3(3, 3.75, 3)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_05lnh"]
|
||||||
|
size = Vector3(9, 11, 19)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_t5o40"]
|
||||||
|
size = Vector3(9, 2.25, 5)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_dkfm7"]
|
||||||
|
size = Vector3(5, 2.25, 3.75)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_nwk5u"]
|
||||||
|
size = Vector3(5.5, 4.5, 2)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_prjj8"]
|
||||||
|
size = Vector3(2, 3.25, 1.25)
|
||||||
|
|
||||||
|
[sub_resource type="BoxShape3D" id="BoxShape3D_1opdv"]
|
||||||
|
size = Vector3(8.25, 3.25, 2.75)
|
||||||
|
|
||||||
[node name="Main" unique_id=955321579 instance=ExtResource("1_8n6bu")]
|
[node name="Main" unique_id=955321579 instance=ExtResource("1_8n6bu")]
|
||||||
|
|
||||||
[node name="Player" parent="." index="6" unique_id=1309399929]
|
[node name="Player" parent="." index="6" unique_id=1309399929]
|
||||||
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 59.5, 0, 0)
|
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, -0.5, 0, 0)
|
||||||
|
|
||||||
[node name="Playground" type="Node3D" parent="." index="7" unique_id=2099606598]
|
[node name="Playground" type="Node3D" parent="." index="7" unique_id=2099606598]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 57.5, 0, 0)
|
transform = Transform3D(-4.371139e-08, 0, -1, 0, 1, 0, 1, 0, -4.371139e-08, -8.25, 13, 58.5)
|
||||||
|
|
||||||
[node name="PlaytestArena" parent="Playground" index="0" unique_id=664535670 instance=ExtResource("2_wsc2c")]
|
[node name="PlaytestArena" parent="Playground" index="0" unique_id=664535670 instance=ExtResource("2_wsc2c")]
|
||||||
|
|
||||||
@@ -245,31 +292,37 @@ Target = NodePath("../../../Player")
|
|||||||
RHealth = SubResource("Resource_xy0m1")
|
RHealth = SubResource("Resource_xy0m1")
|
||||||
RMovement = SubResource("Resource_nwk5u")
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
[node name="Enemy10" parent="Playground/GroundedEnemies" index="19" unique_id=836898496 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
[node name="Enemy27" parent="Playground/GroundedEnemies" index="19" unique_id=854456486 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 20, 0, -44.836807)
|
||||||
|
Target = NodePath("../../../Player")
|
||||||
|
RHealth = SubResource("Resource_xy0m1")
|
||||||
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
|
[node name="Enemy10" parent="Playground/GroundedEnemies" index="20" unique_id=836898496 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 30.5, 11, -33.336807)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 30.5, 11, -33.336807)
|
||||||
Target = NodePath("../../../Player")
|
Target = NodePath("../../../Player")
|
||||||
RHealth = SubResource("Resource_xy0m1")
|
RHealth = SubResource("Resource_xy0m1")
|
||||||
RMovement = SubResource("Resource_nwk5u")
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
[node name="Enemy8" parent="Playground/GroundedEnemies" index="20" unique_id=1015624071 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
[node name="Enemy8" parent="Playground/GroundedEnemies" index="21" unique_id=1015624071 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 34.5, 1.5, -27.33681)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 34.5, 1.5, -27.33681)
|
||||||
Target = NodePath("../../../Player")
|
Target = NodePath("../../../Player")
|
||||||
RHealth = SubResource("Resource_xy0m1")
|
RHealth = SubResource("Resource_xy0m1")
|
||||||
RMovement = SubResource("Resource_nwk5u")
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
[node name="Enemy9" parent="Playground/GroundedEnemies" index="21" unique_id=827865590 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
[node name="Enemy9" parent="Playground/GroundedEnemies" index="22" unique_id=827865590 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 46.5, 0, -27.33681)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 46.5, 0, -27.33681)
|
||||||
Target = NodePath("../../../Player")
|
Target = NodePath("../../../Player")
|
||||||
RHealth = SubResource("Resource_xy0m1")
|
RHealth = SubResource("Resource_xy0m1")
|
||||||
RMovement = SubResource("Resource_nwk5u")
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
[node name="Enemy5" parent="Playground/GroundedEnemies" index="22" unique_id=1267116862 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
[node name="Enemy5" parent="Playground/GroundedEnemies" index="23" unique_id=1267116862 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4, 0, -18.33681)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4, 0, -18.33681)
|
||||||
Target = NodePath("../../../Player")
|
Target = NodePath("../../../Player")
|
||||||
RHealth = SubResource("Resource_xy0m1")
|
RHealth = SubResource("Resource_xy0m1")
|
||||||
RMovement = SubResource("Resource_nwk5u")
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
[node name="Enemy6" parent="Playground/GroundedEnemies" index="23" unique_id=1147823180 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
[node name="Enemy6" parent="Playground/GroundedEnemies" index="24" unique_id=1147823180 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 16.5, 7, -17.33681)
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 16.5, 7, -17.33681)
|
||||||
Target = NodePath("../../../Player")
|
Target = NodePath("../../../Player")
|
||||||
RHealth = SubResource("Resource_xy0m1")
|
RHealth = SubResource("Resource_xy0m1")
|
||||||
@@ -280,20 +333,414 @@ use_collision = true
|
|||||||
collision_layer = 256
|
collision_layer = 256
|
||||||
collision_mask = 65553
|
collision_mask = 65553
|
||||||
|
|
||||||
[node name="CSGBox3D109" type="CSGBox3D" parent="Tutorial" index="0" unique_id=531736596]
|
[node name="FixedDashthroughTarget11" parent="Tutorial" index="0" unique_id=2053952229 instance=ExtResource("4_invhv")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -4.75, -2.25)
|
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, -7.25, 20.5, -27.5)
|
||||||
|
|
||||||
|
[node name="FixedDashthroughTarget13" parent="Tutorial" index="1" unique_id=1470128508 instance=ExtResource("4_invhv")]
|
||||||
|
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 1.3647223, 23.75, -13.75)
|
||||||
|
|
||||||
|
[node name="Enemy28" parent="Tutorial" index="2" unique_id=1765389924 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -5, 22, 16.5)
|
||||||
|
Target = NodePath("../../Player")
|
||||||
|
RHealth = SubResource("Resource_invhv")
|
||||||
|
RDamage = SubResource("Resource_cgfmf")
|
||||||
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
|
[node name="Enemy29" parent="Tutorial" index="3" unique_id=1071267369 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, -10, 22, 28.75)
|
||||||
|
Target = NodePath("../../Player")
|
||||||
|
RHealth = SubResource("Resource_05lnh")
|
||||||
|
RDamage = SubResource("Resource_cgfmf")
|
||||||
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
|
[node name="Enemy30" parent="Tutorial" index="4" unique_id=1982933011 node_paths=PackedStringArray("Target") instance=ExtResource("5_ofbe2")]
|
||||||
|
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 0.25, 22, 28.75)
|
||||||
|
Target = NodePath("../../Player")
|
||||||
|
RHealth = SubResource("Resource_t5o40")
|
||||||
|
RDamage = SubResource("Resource_cgfmf")
|
||||||
|
RMovement = SubResource("Resource_nwk5u")
|
||||||
|
|
||||||
|
[node name="Triggers" type="Node3D" parent="Tutorial" index="5" unique_id=1531131828]
|
||||||
|
|
||||||
|
[node name="TutoTrigger5" parent="Tutorial/Triggers" index="0" unique_id=840713937 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.25, 23.25, -24.25)
|
||||||
|
first_input_texture = ExtResource("11_nwk5u")
|
||||||
|
second_input_texture = ExtResource("12_xy0m1")
|
||||||
|
tuto_text = "Dash through target"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger5" index="1" unique_id=1895232009]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.75, 0.625, 1.75)
|
||||||
|
shape = SubResource("BoxShape3D_xy0m1")
|
||||||
|
|
||||||
|
[node name="TutoTrigger" parent="Tutorial/Triggers" index="1" unique_id=1215265305 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.25, 0, -4.5)
|
||||||
|
first_input_texture = ExtResource("11_nwk5u")
|
||||||
|
second_input_texture = ExtResource("12_xy0m1")
|
||||||
|
tuto_text = "Aimed dash"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger" index="1" unique_id=1774867326]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.25, -3.75, -6.75)
|
||||||
|
shape = SubResource("BoxShape3D_05lnh")
|
||||||
|
|
||||||
|
[node name="TutoTrigger2" parent="Tutorial/Triggers" index="2" unique_id=386301715 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.75, 0, -34.25)
|
||||||
|
first_input_texture = ExtResource("11_nwk5u")
|
||||||
|
complex_input_text = "blue target"
|
||||||
|
tuto_text = "mantle after dash"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger2" index="1" unique_id=525906537]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25, 0.625, 1.25)
|
||||||
|
shape = SubResource("BoxShape3D_t5o40")
|
||||||
|
|
||||||
|
[node name="TutoTrigger3" parent="Tutorial/Triggers" index="3" unique_id=460767120 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9.75, 7, -49)
|
||||||
|
first_input_texture = ExtResource("11_nwk5u")
|
||||||
|
complex_input_text = "in air"
|
||||||
|
tuto_text = "slows down time"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger3" index="1" unique_id=768845413]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.25, 0.625, 0.875)
|
||||||
|
shape = SubResource("BoxShape3D_dkfm7")
|
||||||
|
|
||||||
|
[node name="TutoTrigger4" parent="Tutorial/Triggers" index="4" unique_id=321542244 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -11.5, 17.75, -27.5)
|
||||||
|
first_input_texture = ExtResource("13_nwk5u")
|
||||||
|
complex_input_text = "at target"
|
||||||
|
tuto_text = "dash through"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger4" index="1" unique_id=1601250256]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.5, 1.75, 0)
|
||||||
|
shape = SubResource("BoxShape3D_nwk5u")
|
||||||
|
|
||||||
|
[node name="TutoTrigger6" parent="Tutorial/Triggers" index="5" unique_id=26112457 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.75, 22.75, 11.25)
|
||||||
|
first_input_texture = ExtResource("13_nwk5u")
|
||||||
|
complex_input_text = "at enemy"
|
||||||
|
tuto_text = "dash through"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger6" index="1" unique_id=1214410006]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.625, 1.75, -0.75)
|
||||||
|
shape = SubResource("BoxShape3D_prjj8")
|
||||||
|
|
||||||
|
[node name="TutoTrigger7" parent="Tutorial/Triggers" index="6" unique_id=271532103 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 22.75, 30.25)
|
||||||
|
first_input_texture = ExtResource("11_nwk5u")
|
||||||
|
second_input_texture = ExtResource("13_nwk5u")
|
||||||
|
tuto_text = "throw weapon"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger7" index="1" unique_id=1932556219]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.875, 3.75)
|
||||||
|
shape = SubResource("BoxShape3D_prjj8")
|
||||||
|
|
||||||
|
[node name="TutoTrigger8" parent="Tutorial/Triggers" index="7" unique_id=36196488 instance=ExtResource("10_dkfm7")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 21.75, 28.25)
|
||||||
|
first_input_texture = ExtResource("14_xy0m1")
|
||||||
|
complex_input_text = "at enemy"
|
||||||
|
tuto_text = "knockback"
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Tutorial/Triggers/TutoTrigger8" index="1" unique_id=929676345]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.125, 1.875, 0.375)
|
||||||
|
shape = SubResource("BoxShape3D_1opdv")
|
||||||
|
|
||||||
|
[node name="DashWithMantle" type="CSGCombiner3D" parent="Tutorial" index="6" unique_id=128667834]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 0, -36.5)
|
||||||
|
|
||||||
|
[node name="CSGBox3D109" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="0" unique_id=531736596]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -4.75, 4)
|
||||||
use_collision = true
|
use_collision = true
|
||||||
size = Vector3(19.5, 8.5, 14)
|
size = Vector3(9, 8.5, 6)
|
||||||
material = ExtResource("3_wsc2c")
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
[node name="CSGBox3D110" type="CSGBox3D" parent="Tutorial" index="1" unique_id=731833071]
|
[node name="CSGBox3D112" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="1" unique_id=565292599]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.5, -29.25)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -6.25, 0)
|
||||||
use_collision = true
|
use_collision = true
|
||||||
size = Vector3(19.5, 27, 14)
|
size = Vector3(9, 5.5, 2)
|
||||||
material = ExtResource("3_wsc2c")
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
[node name="CSGBox3D111" type="CSGBox3D" parent="Tutorial" index="2" unique_id=923535141]
|
[node name="CSGBox3D113" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="2" unique_id=28433553]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -21.75, -18.75)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -7.75, -2)
|
||||||
use_collision = true
|
use_collision = true
|
||||||
size = Vector3(19.5, 25.5, 35)
|
size = Vector3(9, 2.5, 2)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D110" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="3" unique_id=731833071]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 6, -12.125)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(5, 1, 4.75)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D115" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="4" unique_id=173458015]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, 5.625, -14)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(9, 29.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D116" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="5" unique_id=1750512788]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.5, 7, -12.125)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 4.75)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D117" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="6" unique_id=391729778]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.5, 7, -12.125)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 4.75)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D134" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="7" unique_id=1136091363]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 21.5, 46.125)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(5, 1, 4.75)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D135" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="8" unique_id=748140231]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 22.5, 46.125)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 4.75)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D136" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="9" unique_id=436209430]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 22.5, 46.125)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 4.75)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D137" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="10" unique_id=1930091014]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 22.5, 58)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 11)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D138" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="11" unique_id=1299444131]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 22.5, 58)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 11)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D139" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="12" unique_id=1708119368]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 2, 22.5, 68.625)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 3.25)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D140" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="13" unique_id=762102441]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 6, 22.5, 68.625)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 1, 3.25)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D120" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="14" unique_id=1446497915]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.5, 17, 6.75)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 2, 6.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D127" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="15" unique_id=1731176595]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -7, 17, 10.5)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(4, 2, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D119" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="16" unique_id=1284139577]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -3.5, 0.625, 10)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(3, 2.25, 6)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D114" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="17" unique_id=1204742131]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 16.5, 4.75)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(12, 1, 2.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D118" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="18" unique_id=1985192046]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 23.125, 6.5)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(18, 12.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D130" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="19" unique_id=1502907002]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 9.25, 23.125, 44)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.5, 12.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D131" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="20" unique_id=632272709]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.25, 23.125, 43)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.5, 12.25, 3)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D123" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="21" unique_id=696789507]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.375, 23.125, 10.5)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.25, 12.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D125" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="22" unique_id=1937274848]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.375, 23.125, 7.5)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.25, 12.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D132" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="23" unique_id=249644458]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 29.625, 25.25)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(18, 0.75, 38.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D126" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="24" unique_id=1606556480]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.125, 18.25, 9)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.75, 2.5, 4)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D128" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="25" unique_id=1927103381]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.375, 25.375, 9)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(7.25, 7.75, 2)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D124" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="26" unique_id=1068505352]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 10.5, 19.487345, 11.25)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(3, 5, 8.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D129" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="27" unique_id=302301078]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 7.25, 19.487345, 38.625)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(9.5, 5, 11.75)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D133" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="28" unique_id=672467040]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 21.487345, 58)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(5, 1, 11)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D141" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="29" unique_id=1207463075]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4, 21.487345, 68.625)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(5, 1, 3.25)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D121" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="30" unique_id=302433684]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.875, 23.125, 26.25)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(13.75, 12.25, 30.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D122" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="31" unique_id=1125662345]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 12.5, 23.125, 25.25)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(1, 12.25, 36.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D111" type="CSGBox3D" parent="Tutorial/DashWithMantle" index="32" unique_id=923535141]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -11.125, -3.75)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(9, 4.25, 21.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D142" type="CSGBox3D" parent="Tutorial" index="7" unique_id=886061699]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 22, 34)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(2, 2, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D145" type="CSGBox3D" parent="Tutorial" index="8" unique_id=1440927327]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 12.25, 34)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(12, 17.5, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D139" type="CSGBox3D" parent="Tutorial" index="9" unique_id=1561729125]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 21.5, 28.75)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(12, 1, 3.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D146" type="CSGBox3D" parent="Tutorial" index="10" unique_id=1614862969]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.75, 23, 55.75)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(19.5, 1, 3.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D147" type="CSGBox3D" parent="Tutorial" index="11" unique_id=1320459108]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.875, 23, 67.25)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(3.25, 1, 19.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D140" type="CSGBox3D" parent="Tutorial" index="12" unique_id=124463390]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.5, 25.125, 34)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(5, 8.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D141" type="CSGBox3D" parent="Tutorial" index="13" unique_id=164888540]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -8.5, 25.125, 34)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(5, 8.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D114" type="CSGBox3D" parent="Tutorial" index="14" unique_id=1217279859]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -4.75, 0)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(9, 8.5, 14)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D116" type="CSGBox3D" parent="Tutorial" index="15" unique_id=720911926]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 9.375, -11.75)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(18, 15.25, 37.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D115" type="CSGBox3D" parent="Tutorial" index="16" unique_id=995233474]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, -1, -26.5)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(18, 1, 6)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D119" type="CSGBox3D" parent="Tutorial" index="17" unique_id=1412582714]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.875, -3.75, -30)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(11.75, 11, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D121" type="CSGBox3D" parent="Tutorial" index="18" unique_id=697302898]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.5, 0.125, -30)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(3, 3.25, 1)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D117" type="CSGBox3D" parent="Tutorial" index="19" unique_id=603171965]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -6.25, -8)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(9, 5.5, 2)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D118" type="CSGBox3D" parent="Tutorial" index="20" unique_id=1950738925]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -7.75, -10)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(9, 2.5, 2)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D120" type="CSGBox3D" parent="Tutorial" index="21" unique_id=1024529143]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.5, -21.75, -11.75)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(9, 25.5, 37.5)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D122" type="CSGBox3D" parent="Tutorial" index="22" unique_id=1261455320]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15.5, 16.5, -28.5)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(3, 1, 4)
|
||||||
|
material = ExtResource("3_wsc2c")
|
||||||
|
|
||||||
|
[node name="CSGBox3D143" type="CSGBox3D" parent="Tutorial" index="23" unique_id=1090375546]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5, 27.625, 34)
|
||||||
|
use_collision = true
|
||||||
|
size = Vector3(2, 3.25, 1)
|
||||||
material = ExtResource("3_wsc2c")
|
material = ExtResource("3_wsc2c")
|
||||||
|
|||||||
@@ -77,6 +77,9 @@ radius = 0.45
|
|||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_q14ux"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_q14ux"]
|
||||||
radius = 1.0
|
radius = 1.0
|
||||||
|
|
||||||
|
[sub_resource type="SphereShape3D" id="SphereShape3D_u8rdp"]
|
||||||
|
radius = 1.5
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nodcl"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nodcl"]
|
||||||
transparency = 1
|
transparency = 1
|
||||||
albedo_color = Color(0, 0.627451, 0.6313726, 0.49019608)
|
albedo_color = Color(0, 0.627451, 0.6313726, 0.49019608)
|
||||||
@@ -157,7 +160,7 @@ WallHugHorizontalDeceleration = 1.0
|
|||||||
WallRunUpwardVelocityFactor = 0.5
|
WallRunUpwardVelocityFactor = 0.5
|
||||||
MinimumWallRunUpwardSpeed = 4.0
|
MinimumWallRunUpwardSpeed = 4.0
|
||||||
WallRunAltitudeLossSpeed = 8.0
|
WallRunAltitudeLossSpeed = 8.0
|
||||||
WallRunSpeedThreshold = 7.0
|
WallRunSpeedThreshold = 2.0
|
||||||
|
|
||||||
[node name="CHealth" parent="." unique_id=1244478698 instance=ExtResource("3_q7bng")]
|
[node name="CHealth" parent="." unique_id=1244478698 instance=ExtResource("3_q7bng")]
|
||||||
RHealth = ExtResource("4_m8gvy")
|
RHealth = ExtResource("4_m8gvy")
|
||||||
@@ -328,6 +331,14 @@ gravity_scale = 3.0
|
|||||||
ThrowForce = 300.0
|
ThrowForce = 300.0
|
||||||
StraightThrowDuration = 0.05
|
StraightThrowDuration = 0.05
|
||||||
|
|
||||||
|
[node name="SwordPickup" type="Area3D" parent="." unique_id=1990087390]
|
||||||
|
collision_layer = 0
|
||||||
|
collision_mask = 65536
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="SwordPickup" unique_id=547241277]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||||
|
shape = SubResource("SphereShape3D_u8rdp")
|
||||||
|
|
||||||
[node name="DashIndicator" type="Node3D" parent="." unique_id=1279477982]
|
[node name="DashIndicator" type="Node3D" parent="." unique_id=1279477982]
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
@@ -384,6 +395,10 @@ shape = SubResource("SphereShape3D_ue7xq")
|
|||||||
[node name="InvincibilityTime" type="Timer" parent="." unique_id=1244463585]
|
[node name="InvincibilityTime" type="Timer" parent="." unique_id=1244463585]
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="WeaponThrowUncatchable" type="Timer" parent="." unique_id=2141801011]
|
||||||
|
wait_time = 0.2
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
[node name="AttackCooldown" type="Timer" parent="." unique_id=1620959518]
|
[node name="AttackCooldown" type="Timer" parent="." unique_id=1620959518]
|
||||||
wait_time = 0.3
|
wait_time = 0.3
|
||||||
one_shot = true
|
one_shot = true
|
||||||
@@ -400,7 +415,7 @@ wait_time = 2.0
|
|||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
[node name="TimeScaleAimInAir" type="Timer" parent="." unique_id=1346687662]
|
[node name="TimeScaleAimInAir" type="Timer" parent="." unique_id=1346687662]
|
||||||
wait_time = 2.0
|
wait_time = 5.0
|
||||||
one_shot = true
|
one_shot = true
|
||||||
ignore_time_scale = true
|
ignore_time_scale = true
|
||||||
|
|
||||||
@@ -409,6 +424,7 @@ offset_left = 1524.0
|
|||||||
offset_top = 1.0
|
offset_top = 1.0
|
||||||
offset_right = -8.0
|
offset_right = -8.0
|
||||||
offset_bottom = 1.0
|
offset_bottom = 1.0
|
||||||
|
enabled = false
|
||||||
initial_node_to_watch = NodePath("../StateChart")
|
initial_node_to_watch = NodePath("../StateChart")
|
||||||
|
|
||||||
[node name="UI" type="Control" parent="." unique_id=856532641]
|
[node name="UI" type="Control" parent="." unique_id=856532641]
|
||||||
@@ -1113,6 +1129,18 @@ to = NodePath("../../Dashing/Dash")
|
|||||||
event = &"dash"
|
event = &"dash"
|
||||||
delay_in_seconds = "0.0"
|
delay_in_seconds = "0.0"
|
||||||
|
|
||||||
|
[node name="OnSlam" type="Node" parent="StateChart/Root/Movement/OnWall" unique_id=448306362]
|
||||||
|
script = ExtResource("28_n7qhm")
|
||||||
|
to = NodePath("../../Slamming")
|
||||||
|
event = &"slam"
|
||||||
|
delay_in_seconds = "0.0"
|
||||||
|
|
||||||
|
[node name="OnMantle2" type="Node" parent="StateChart/Root/Movement/OnWall" unique_id=7136911]
|
||||||
|
script = ExtResource("28_n7qhm")
|
||||||
|
to = NodePath("../../Mantling")
|
||||||
|
event = &"mantle"
|
||||||
|
delay_in_seconds = "0.0"
|
||||||
|
|
||||||
[node name="Hugging" type="Node" parent="StateChart/Root/Movement/OnWall" unique_id=162057636]
|
[node name="Hugging" type="Node" parent="StateChart/Root/Movement/OnWall" unique_id=162057636]
|
||||||
script = ExtResource("27_34snm")
|
script = ExtResource("27_34snm")
|
||||||
|
|
||||||
@@ -1158,3 +1186,4 @@ delay_in_seconds = "0.0"
|
|||||||
[connection signal="input_slide_ended" from="InputController" to="." method="OnInputSlideEnded"]
|
[connection signal="input_slide_ended" from="InputController" to="." method="OnInputSlideEnded"]
|
||||||
[connection signal="input_slide_started" from="InputController" to="." method="OnInputSlideStarted"]
|
[connection signal="input_slide_started" from="InputController" to="." method="OnInputSlideStarted"]
|
||||||
[connection signal="WallDetected" from="WallHugSystem" to="." method="OnWallDetected"]
|
[connection signal="WallDetected" from="WallHugSystem" to="." method="OnWallDetected"]
|
||||||
|
[connection signal="body_entered" from="SwordPickup" to="." method="WalkOnWeapon"]
|
||||||
|
|||||||
@@ -193,6 +193,11 @@ public partial class HeadSystem : Node3D
|
|||||||
private bool _footstepEmitted;
|
private bool _footstepEmitted;
|
||||||
private bool _isPlayingForcingAnim;
|
private bool _isPlayingForcingAnim;
|
||||||
|
|
||||||
|
public void ResetHeadBobbing()
|
||||||
|
{
|
||||||
|
_bobbingAccumulator = 0;
|
||||||
|
}
|
||||||
|
|
||||||
public void LookAround(CameraParameters inputs)
|
public void LookAround(CameraParameters inputs)
|
||||||
{
|
{
|
||||||
if (_isPlayingForcingAnim)
|
if (_isPlayingForcingAnim)
|
||||||
|
|||||||
@@ -317,6 +317,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
|
|
||||||
// Timers
|
// Timers
|
||||||
private Timer _timeScaleAimInAirTimer;
|
private Timer _timeScaleAimInAirTimer;
|
||||||
|
private Timer _weaponThrowUncatchableTimer;
|
||||||
private Timer _simpleDashCooldownTimer;
|
private Timer _simpleDashCooldownTimer;
|
||||||
private Timer _airborneDashCooldownTimer;
|
private Timer _airborneDashCooldownTimer;
|
||||||
private Timer _powerCooldownTimer;
|
private Timer _powerCooldownTimer;
|
||||||
@@ -516,6 +517,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
|
|
||||||
// State timers
|
// State timers
|
||||||
_powerCooldownTimer = GetNode<Timer>("PowerCooldown");
|
_powerCooldownTimer = GetNode<Timer>("PowerCooldown");
|
||||||
|
_weaponThrowUncatchableTimer = GetNode<Timer>("WeaponThrowUncatchable");
|
||||||
_timeScaleAimInAirTimer = GetNode<Timer>("TimeScaleAimInAir");
|
_timeScaleAimInAirTimer = GetNode<Timer>("TimeScaleAimInAir");
|
||||||
_simpleDashCooldownTimer = GetNode<Timer>("DashCooldown");
|
_simpleDashCooldownTimer = GetNode<Timer>("DashCooldown");
|
||||||
_airborneDashCooldownTimer = GetNode<Timer>("AirborneDashCooldown");
|
_airborneDashCooldownTimer = GetNode<Timer>("AirborneDashCooldown");
|
||||||
@@ -562,6 +564,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
|
|
||||||
_grounded.StateEntered += OnGrounded;
|
_grounded.StateEntered += OnGrounded;
|
||||||
_grounded.StatePhysicsProcessing += HandleGrounded;
|
_grounded.StatePhysicsProcessing += HandleGrounded;
|
||||||
|
_airborne.StateEntered += OnAirborne;
|
||||||
_airborne.StatePhysicsProcessing += HandleAirborne;
|
_airborne.StatePhysicsProcessing += HandleAirborne;
|
||||||
_onWall.StatePhysicsProcessing += HandleOnWall;
|
_onWall.StatePhysicsProcessing += HandleOnWall;
|
||||||
|
|
||||||
@@ -711,11 +714,11 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
{
|
{
|
||||||
_isWallJumpAvailable = true;
|
_isWallJumpAvailable = true;
|
||||||
_canDashAirborne = true;
|
_canDashAirborne = true;
|
||||||
|
ResetTimeScale();
|
||||||
|
|
||||||
if (_simpleDashCooldownTimer.IsStopped())
|
if (_simpleDashCooldownTimer.IsStopped())
|
||||||
_simpleDashCooldownTimer.Start();
|
_simpleDashCooldownTimer.Start();
|
||||||
|
|
||||||
|
|
||||||
if (_bufferedAction == BufferedActions.MantleJump)
|
if (_bufferedAction == BufferedActions.MantleJump)
|
||||||
{
|
{
|
||||||
_playerState.SendEvent("jump");
|
_playerState.SendEvent("jump");
|
||||||
@@ -852,6 +855,13 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
///////////////////////////
|
///////////////////////////
|
||||||
// Airborne management //
|
// Airborne management //
|
||||||
///////////////////////////
|
///////////////////////////
|
||||||
|
|
||||||
|
public void OnAirborne()
|
||||||
|
{
|
||||||
|
if (_aiming.Active)
|
||||||
|
ReduceTimeScaleWhileAiming();
|
||||||
|
}
|
||||||
|
|
||||||
public void HandleAirborne(float delta)
|
public void HandleAirborne(float delta)
|
||||||
{
|
{
|
||||||
MoveInAir(delta, IsGroundLike());
|
MoveInAir(delta, IsGroundLike());
|
||||||
@@ -1257,6 +1267,8 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
|
|
||||||
_currentWallContactPoint = WallHugSystem.WallHugLocation.UnwrapOr(Vector3.Zero);
|
_currentWallContactPoint = WallHugSystem.WallHugLocation.UnwrapOr(Vector3.Zero);
|
||||||
|
|
||||||
|
if (MantleSystem.IsMantlePossible && IsPlayerInputtingForward())
|
||||||
|
_playerState.SendEvent("mantle");
|
||||||
if (isOnFloorCustom())
|
if (isOnFloorCustom())
|
||||||
_playerState.SendEvent("grounded");
|
_playerState.SendEvent("grounded");
|
||||||
if (!WallHugSystem.IsWallHugging())
|
if (!WallHugSystem.IsWallHugging())
|
||||||
@@ -1276,23 +1288,23 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
{
|
{
|
||||||
var wallNormal = WallHugSystem.WallHugNormal.UnwrapOr(Vector3.Zero);
|
var wallNormal = WallHugSystem.WallHugNormal.UnwrapOr(Vector3.Zero);
|
||||||
var isIndeedWall = wallNormal.Y < 0.1;
|
var isIndeedWall = wallNormal.Y < 0.1;
|
||||||
|
var isThereInput = GetMoveInput().Length() > Mathf.Epsilon;
|
||||||
var hvel = new Vector3(Velocity.X, 0, Velocity.Z);
|
var hvel = new Vector3(Velocity.X, 0, Velocity.Z);
|
||||||
var hvelProjected = hvel.Slide(_wallHugStartNormal);
|
var hvelProjected = Velocity.Slide(_wallHugStartNormal);
|
||||||
var haveEnoughSpeed = Velocity.Length() > WallRunSpeedThreshold;
|
var haveEnoughSpeed = hvelProjected.Length() > WallRunSpeedThreshold;
|
||||||
var isCoplanarEnough = Velocity.AngleTo(wallNormal) > Math.PI/4 && Velocity.AngleTo(wallNormal) < 3*Math.PI/4;
|
var isCoplanarEnough = Math.Abs(Velocity.Dot(wallNormal)) < 0.3;
|
||||||
var isGoingDownwards = Velocity.AngleTo(Vector3.Down) < Math.PI/4;
|
var isGoingDownwards = Velocity.Dot(Vector3.Down) > 0.9;
|
||||||
var isLookingInDirectionOfRun = hvelProjected.AngleTo(-HeadSystem.GetForwardHorizontalVector()) < Math.PI/2;
|
var isLookingInDirectionOfRun = true; // hvelProjected.Dot(-HeadSystem.GetForwardHorizontalVector()) > 0.5;
|
||||||
var shouldStart = haveEnoughSpeed && !isGoingDownwards && isIndeedWall && isCoplanarEnough && isLookingInDirectionOfRun;
|
var shouldStart = haveEnoughSpeed && isThereInput && !isGoingDownwards && isIndeedWall && isCoplanarEnough && isLookingInDirectionOfRun;
|
||||||
|
|
||||||
var debugText = "--------------\n";
|
var debugText = "--------------\n";
|
||||||
debugText += shouldStart ? "WALL RUN STARTED\n" : "NO WALL RUN\n";
|
debugText += shouldStart ? "WALL RUN STARTED\n" : "NO WALL RUN\n";
|
||||||
debugText += $"Enough speed? {haveEnoughSpeed}\n";
|
debugText += $"Enough speed? {haveEnoughSpeed}\n";
|
||||||
debugText += $"Coplanar enough? {isCoplanarEnough}\n";
|
debugText += $"Coplanar enough? {isCoplanarEnough}\n";
|
||||||
debugText += $"Going downwards? {isGoingDownwards} with angle {Velocity.AngleTo(Vector3.Down)}\n";
|
debugText += $"Going downwards? {isGoingDownwards}\n";
|
||||||
debugText += $"Is looking in direction of run? {isLookingInDirectionOfRun} with angle {hvelProjected.AngleTo(-HeadSystem.GetForwardHorizontalVector())}\n";
|
debugText += $"Is looking in direction of run? {isLookingInDirectionOfRun}\n";
|
||||||
debugText += $"HVelocity on wall: {hvelProjected} - Forward H Vector: {-HeadSystem.GetForwardHorizontalVector()}\n";
|
|
||||||
debugText += "--------------\n";
|
debugText += "--------------\n";
|
||||||
//GD.Print(debugText);
|
GD.Print(debugText);
|
||||||
|
|
||||||
return shouldStart;
|
return shouldStart;
|
||||||
}
|
}
|
||||||
@@ -1514,6 +1526,10 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
// SimpleDashInDirection(directionHorizontal.Normalized());
|
// SimpleDashInDirection(directionHorizontal.Normalized());
|
||||||
SetVelocity(directionHorizontal.Normalized() * _velocityOnMantleStarted.Length());
|
SetVelocity(directionHorizontal.Normalized() * _velocityOnMantleStarted.Length());
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SetVelocity(Vector3.Zero);
|
||||||
|
}
|
||||||
|
|
||||||
_customMantle = false;
|
_customMantle = false;
|
||||||
_playerState.SendEvent("grounded");
|
_playerState.SendEvent("grounded");
|
||||||
@@ -1825,7 +1841,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
public void ReduceTimeScaleWhileAiming()
|
public void ReduceTimeScaleWhileAiming()
|
||||||
{
|
{
|
||||||
Engine.SetTimeScale(TimeScaleAimInAir);
|
Engine.SetTimeScale(TimeScaleAimInAir);
|
||||||
_timeScaleAimInAirTimer.Start();
|
// _timeScaleAimInAirTimer.Start();
|
||||||
}
|
}
|
||||||
public void ResetTimeScale()
|
public void ResetTimeScale()
|
||||||
{
|
{
|
||||||
@@ -1892,7 +1908,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
var plannedDashLocation = targetable.GetTargetGlobalPosition() + Vector3.Down*_playerHeight/2;
|
var plannedDashLocation = targetable.GetTargetGlobalPosition() + Vector3.Down*_playerHeight/2;
|
||||||
travel = plannedDashLocation - GlobalPosition;
|
travel = plannedDashLocation - GlobalPosition;
|
||||||
_dashDirection = travel.Normalized();
|
_dashDirection = travel.Normalized();
|
||||||
var postDashLocation = plannedDashLocation + 2*_dashDirection;
|
var postDashLocation = plannedDashLocation + _dashDirection;
|
||||||
var wallBehindQuery = PhysicsRayQueryParameters3D.Create(GlobalPosition + Vector3.Up*HeadSystem.Position.Y, postDashLocation, GroundDetector.CollisionMask);
|
var wallBehindQuery = PhysicsRayQueryParameters3D.Create(GlobalPosition + Vector3.Up*HeadSystem.Position.Y, postDashLocation, GroundDetector.CollisionMask);
|
||||||
var wallBehindResult = _spaceState.IntersectRay(wallBehindQuery);
|
var wallBehindResult = _spaceState.IntersectRay(wallBehindQuery);
|
||||||
shouldRebound = wallBehindResult.Count > 0;
|
shouldRebound = wallBehindResult.Count > 0;
|
||||||
@@ -1960,6 +1976,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
public void ThrowWeapon()
|
public void ThrowWeapon()
|
||||||
{
|
{
|
||||||
_audioStream.SwitchToClipByName("attacks");
|
_audioStream.SwitchToClipByName("attacks");
|
||||||
|
_weaponThrowUncatchableTimer.Start();
|
||||||
|
|
||||||
_playerState.SendEvent("cancel_aim");
|
_playerState.SendEvent("cancel_aim");
|
||||||
RemoveChildNode(WeaponSystem);
|
RemoveChildNode(WeaponSystem);
|
||||||
@@ -1980,6 +1997,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
HeadSystem.ShowWeapon();
|
HeadSystem.ShowWeapon();
|
||||||
WeaponSystem.ResetWeapon();
|
WeaponSystem.ResetWeapon();
|
||||||
RecoverChildNode(WeaponSystem);
|
RecoverChildNode(WeaponSystem);
|
||||||
|
_audioStream.SwitchToClipByName("parry");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void DashToFlyingWeapon()
|
public void DashToFlyingWeapon()
|
||||||
@@ -2041,6 +2059,8 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
}
|
}
|
||||||
public void DashToPlantedWeaponTweenEnded()
|
public void DashToPlantedWeaponTweenEnded()
|
||||||
{
|
{
|
||||||
|
HeadSystem.ResetHeadBobbing();
|
||||||
|
|
||||||
// Store the weapon state before resetting it
|
// Store the weapon state before resetting it
|
||||||
var isPlantedOnWall = WeaponSystem.IsPlantedInWall();
|
var isPlantedOnWall = WeaponSystem.IsPlantedInWall();
|
||||||
var isPlantedUnderPlatform = WeaponSystem.IsPlantedUnderPlatform();
|
var isPlantedUnderPlatform = WeaponSystem.IsPlantedUnderPlatform();
|
||||||
@@ -2061,6 +2081,16 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
|
|
||||||
_playerState.SendEvent(resultingEvent);
|
_playerState.SendEvent(resultingEvent);
|
||||||
}
|
}
|
||||||
|
public void WalkOnWeapon(Node3D other)
|
||||||
|
{
|
||||||
|
if (_weaponDash.Active) return; // Don't recover weapon if already dashing to it
|
||||||
|
if (WeaponSystem.InHandState.Active) return; // Don't recover weapon if in hand
|
||||||
|
if (!_weaponThrowUncatchableTimer.IsStopped()) return; // Don't get weapon back if timer is still running
|
||||||
|
if (WeaponSystem.PlantObject is ITargetable) return; // Don't recover weapon planted in target
|
||||||
|
|
||||||
|
RecoverWeapon();
|
||||||
|
WeaponSystem.PlantObject = null;
|
||||||
|
}
|
||||||
|
|
||||||
public void ManageAttackedEnemyPostDash(Node enemy)
|
public void ManageAttackedEnemyPostDash(Node enemy)
|
||||||
{
|
{
|
||||||
@@ -2229,7 +2259,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
var travel = plannedDashLocation - GlobalPosition;
|
var travel = plannedDashLocation - GlobalPosition;
|
||||||
_dashDirection = travel.Normalized();
|
_dashDirection = travel.Normalized();
|
||||||
|
|
||||||
var postDashLocation = plannedDashLocation + 2*_dashDirection;
|
var postDashLocation = plannedDashLocation + _dashDirection;
|
||||||
var wallBehindQuery = PhysicsRayQueryParameters3D.Create(GlobalPosition + Vector3.Up*HeadSystem.Position.Y, postDashLocation, GroundDetector.CollisionMask);
|
var wallBehindQuery = PhysicsRayQueryParameters3D.Create(GlobalPosition + Vector3.Up*HeadSystem.Position.Y, postDashLocation, GroundDetector.CollisionMask);
|
||||||
var wallBehindResult = _spaceState.IntersectRay(wallBehindQuery);
|
var wallBehindResult = _spaceState.IntersectRay(wallBehindQuery);
|
||||||
var shouldRebound = wallBehindResult.Count > 0;
|
var shouldRebound = wallBehindResult.Count > 0;
|
||||||
@@ -2293,7 +2323,7 @@ public partial class PlayerController : CharacterBody3D,
|
|||||||
|
|
||||||
if (_onWallHanging.Active) return;
|
if (_onWallHanging.Active) return;
|
||||||
|
|
||||||
if (_aiming.Active && WeaponSystem.InHandState.Active)
|
if (_aiming.Active && WeaponSystem.InHandState.Active && CanPerformEmpoweredAction())
|
||||||
{
|
{
|
||||||
ThrowWeapon();
|
ThrowWeapon();
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user