More intro stuff, input icon fixes, enemy export var improvements, CHECKPOINTS
|
|
@ -22,7 +22,9 @@ static var button_dictionary = {
|
||||||
JOY_BUTTON_LEFT_SHOULDER: "left_shoulder",
|
JOY_BUTTON_LEFT_SHOULDER: "left_shoulder",
|
||||||
JOY_BUTTON_RIGHT_SHOULDER: "left_shoulder",
|
JOY_BUTTON_RIGHT_SHOULDER: "left_shoulder",
|
||||||
JOY_BUTTON_PADDLE1: "left_shoulder",
|
JOY_BUTTON_PADDLE1: "left_shoulder",
|
||||||
JOY_BUTTON_BACK: "back"
|
JOY_BUTTON_BACK: "back",
|
||||||
|
JOY_BUTTON_LEFT_STICK: "left_stick",
|
||||||
|
JOY_BUTTON_RIGHT_STICK: "right_stick",
|
||||||
}
|
}
|
||||||
|
|
||||||
static var mouse_button_dictionary = {
|
static var mouse_button_dictionary = {
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 508 B After Width: | Height: | Size: 508 B |
|
|
@ -3,15 +3,15 @@
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://c6sh4c72e10ws"
|
uid="uid://c6sh4c72e10ws"
|
||||||
path="res://.godot/imported/xbox_stick_side_l.png-9b2e6474d68e522ac5c74d5b2ae135cd.ctex"
|
path="res://.godot/imported/left_stick.png-b6fd8c2882bba6bbb1bf517e0c2b20b2.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/super_awesome_input_icons/textures/generic/xbox_stick_side_l.png"
|
source_file="res://addons/super_awesome_input_icons/textures/generic/left_stick.png"
|
||||||
dest_files=["res://.godot/imported/xbox_stick_side_l.png-9b2e6474d68e522ac5c74d5b2ae135cd.ctex"]
|
dest_files=["res://.godot/imported/left_stick.png-b6fd8c2882bba6bbb1bf517e0c2b20b2.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 585 B After Width: | Height: | Size: 585 B |
|
|
@ -3,15 +3,15 @@
|
||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://h435fkxc3v6g"
|
uid="uid://h435fkxc3v6g"
|
||||||
path="res://.godot/imported/xbox_stick_side_r.png-902b85f39a099dfd98c9b55995248612.ctex"
|
path="res://.godot/imported/right_stick.png-30fad7bf49d37f7e890b3dc790811c08.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://addons/super_awesome_input_icons/textures/generic/xbox_stick_side_r.png"
|
source_file="res://addons/super_awesome_input_icons/textures/generic/right_stick.png"
|
||||||
dest_files=["res://.godot/imported/xbox_stick_side_r.png-902b85f39a099dfd98c9b55995248612.ctex"]
|
dest_files=["res://.godot/imported/right_stick.png-30fad7bf49d37f7e890b3dc790811c08.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|
@ -225,6 +225,12 @@ aim_down={
|
||||||
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":1.0,"script":null)
|
"events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":1.0,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
toggle_holster={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194329,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":8,"pressure":0.0,"pressed":true,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
[physics]
|
[physics]
|
||||||
|
|
||||||
|
|
|
||||||
133
scenes/enemy_ground.tscn
Normal file
|
|
@ -0,0 +1,133 @@
|
||||||
|
[gd_scene load_steps=14 format=3 uid="uid://dh3psx6ilrtql"]
|
||||||
|
|
||||||
|
[ext_resource type="Script" uid="uid://bv7ymrwe6ciax" path="res://scripts/enemy_ground.gd" id="1_hqfmb"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://dpkn65kpftlmr" path="res://sounds/alerted.mp3" id="2_egpqw"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://boiv2kfau8gop" path="res://sounds/detecting.mp3" id="3_6bsrn"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://c0cyhybh30ogt" path="res://textures/player-ground-sheet.png" id="4_tcxjb"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://csrlh1sbdroud" path="res://textures/pistol.png" id="5_k5k1o"]
|
||||||
|
[ext_resource type="AudioStream" uid="uid://5x8fl2mk082h" path="res://sounds/gunshot_1.mp3" id="6_sh8im"]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_jo68p"]
|
||||||
|
atlas = ExtResource("4_tcxjb")
|
||||||
|
region = Rect2(0, 0, 64, 64)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_6gpfv"]
|
||||||
|
atlas = ExtResource("4_tcxjb")
|
||||||
|
region = Rect2(64, 0, 64, 64)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_fd1o3"]
|
||||||
|
atlas = ExtResource("4_tcxjb")
|
||||||
|
region = Rect2(192, 0, 64, 64)
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id="AtlasTexture_yqhs4"]
|
||||||
|
atlas = ExtResource("4_tcxjb")
|
||||||
|
region = Rect2(128, 0, 64, 64)
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_vmpfq"]
|
||||||
|
animations = [{
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jo68p")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6gpfv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fd1o3")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_yqhs4")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"default",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jo68p")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"idle",
|
||||||
|
"speed": 5.0
|
||||||
|
}, {
|
||||||
|
"frames": [{
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_6gpfv")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_jo68p")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_fd1o3")
|
||||||
|
}, {
|
||||||
|
"duration": 1.0,
|
||||||
|
"texture": SubResource("AtlasTexture_yqhs4")
|
||||||
|
}],
|
||||||
|
"loop": true,
|
||||||
|
"name": &"walk",
|
||||||
|
"speed": 7.0
|
||||||
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_jxmby"]
|
||||||
|
radius = 21.0
|
||||||
|
height = 48.0
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_tvsp8"]
|
||||||
|
radius = 25.0
|
||||||
|
height = 148.0
|
||||||
|
|
||||||
|
[node name="Enemy" type="CharacterBody2D"]
|
||||||
|
script = ExtResource("1_hqfmb")
|
||||||
|
|
||||||
|
[node name="Alerted" type="AudioStreamPlayer2D" parent="."]
|
||||||
|
stream = ExtResource("2_egpqw")
|
||||||
|
volume_db = 8.0
|
||||||
|
bus = &"Sound Effects"
|
||||||
|
|
||||||
|
[node name="Detecting" type="AudioStreamPlayer2D" parent="."]
|
||||||
|
stream = ExtResource("3_6bsrn")
|
||||||
|
bus = &"Sound Effects"
|
||||||
|
parameters/looping = true
|
||||||
|
|
||||||
|
[node name="Sprite" type="AnimatedSprite2D" parent="."]
|
||||||
|
scale = Vector2(2, 2)
|
||||||
|
sprite_frames = SubResource("SpriteFrames_vmpfq")
|
||||||
|
|
||||||
|
[node name="CollisionShape" type="CollisionShape2D" parent="."]
|
||||||
|
position = Vector2(0, 40)
|
||||||
|
shape = SubResource("CapsuleShape2D_jxmby")
|
||||||
|
|
||||||
|
[node name="LineOfSight" type="RayCast2D" parent="."]
|
||||||
|
target_position = Vector2(2048, 0)
|
||||||
|
collision_mask = 2
|
||||||
|
collide_with_areas = true
|
||||||
|
|
||||||
|
[node name="HeldItem" type="Node2D" parent="."]
|
||||||
|
|
||||||
|
[node name="Cast" type="RayCast2D" parent="HeldItem"]
|
||||||
|
position = Vector2(64, 0)
|
||||||
|
target_position = Vector2(2048, 0)
|
||||||
|
collision_mask = 2
|
||||||
|
collide_with_areas = true
|
||||||
|
|
||||||
|
[node name="Sprite" type="Sprite2D" parent="HeldItem"]
|
||||||
|
position = Vector2(56, 0)
|
||||||
|
texture = ExtResource("5_k5k1o")
|
||||||
|
|
||||||
|
[node name="Gunshot" type="AudioStreamPlayer2D" parent="HeldItem"]
|
||||||
|
stream = ExtResource("6_sh8im")
|
||||||
|
bus = &"Sound Effects"
|
||||||
|
|
||||||
|
[node name="Hitbox" type="Area2D" parent="."]
|
||||||
|
collision_layer = 2
|
||||||
|
collision_mask = 2
|
||||||
|
|
||||||
|
[node name="CollisionShape" type="CollisionShape2D" parent="Hitbox"]
|
||||||
|
shape = SubResource("CapsuleShape2D_tvsp8")
|
||||||
|
debug_color = Color(1, 0, 0, 0.41960785)
|
||||||
|
|
||||||
|
[node name="Navagent" type="NavigationAgent2D" parent="."]
|
||||||
|
path_desired_distance = 34.0
|
||||||
|
target_desired_distance = 34.0
|
||||||
|
path_postprocessing = 1
|
||||||
|
avoidance_enabled = true
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=31 format=3 uid="uid://by43ihcec8e8q"]
|
[gd_scene load_steps=32 format=3 uid="uid://by43ihcec8e8q"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://b2sw6ymaf4t0s" path="res://scripts/game_ground.gd" id="1_6ra5r"]
|
[ext_resource type="Script" uid="uid://b2sw6ymaf4t0s" path="res://scripts/game_ground.gd" id="1_6ra5r"]
|
||||||
[ext_resource type="Script" uid="uid://dowu512otgyyf" path="res://scripts/player_ground.gd" id="3_8gbjj"]
|
[ext_resource type="Script" uid="uid://dowu512otgyyf" path="res://scripts/player_ground.gd" id="3_8gbjj"]
|
||||||
|
|
@ -109,6 +109,11 @@ font_size = 48
|
||||||
outline_size = 4
|
outline_size = 4
|
||||||
outline_color = Color(0, 0, 0, 1)
|
outline_color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="LabelSettings" id="LabelSettings_176r3"]
|
||||||
|
font_size = 32
|
||||||
|
outline_size = 4
|
||||||
|
outline_color = Color(0, 0, 0, 1)
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_vuhkc"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_vuhkc"]
|
||||||
atlas = ExtResource("13_176r3")
|
atlas = ExtResource("13_176r3")
|
||||||
region = Rect2(0, 0, 16, 16)
|
region = Rect2(0, 0, 16, 16)
|
||||||
|
|
@ -282,6 +287,155 @@ layout_mode = 2
|
||||||
text = "TO INTERACT"
|
text = "TO INTERACT"
|
||||||
label_settings = SubResource("LabelSettings_c2suo")
|
label_settings = SubResource("LabelSettings_c2suo")
|
||||||
|
|
||||||
|
[node name="MoveTutorial" type="HFlowContainer" parent="UI/Control"]
|
||||||
|
visible = false
|
||||||
|
modulate = Color(1, 1, 1, 0.53333336)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_bottom = -245.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="End2" type="Label" parent="UI/Control/MoveTutorial"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "MOVE"
|
||||||
|
label_settings = SubResource("LabelSettings_176r3")
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect" type="TextureRect" parent="UI/Control/MoveTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "ground_up"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect2" type="TextureRect" parent="UI/Control/MoveTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "ground_down"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect3" type="TextureRect" parent="UI/Control/MoveTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "ground_left"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect4" type="TextureRect" parent="UI/Control/MoveTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "ground_right"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="UnholsterTutorial" type="HFlowContainer" parent="UI/Control"]
|
||||||
|
visible = false
|
||||||
|
modulate = Color(1, 1, 1, 0.53333336)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_bottom = -245.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="End2" type="Label" parent="UI/Control/UnholsterTutorial"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "TOGGLE WEAPON"
|
||||||
|
label_settings = SubResource("LabelSettings_176r3")
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect" type="TextureRect" parent="UI/Control/UnholsterTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "toggle_holster"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="GunTutorial" type="HFlowContainer" parent="UI/Control"]
|
||||||
|
visible = false
|
||||||
|
modulate = Color(1, 1, 1, 0.53333336)
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = -1
|
||||||
|
anchor_top = 0.5
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 0.5
|
||||||
|
offset_bottom = -245.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="End2" type="Label" parent="UI/Control/GunTutorial"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "FIRE"
|
||||||
|
label_settings = SubResource("LabelSettings_176r3")
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect" type="TextureRect" parent="UI/Control/GunTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "fire"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="End3" type="Label" parent="UI/Control/GunTutorial"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = " | AIM"
|
||||||
|
label_settings = SubResource("LabelSettings_176r3")
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect5" type="TextureRect" parent="UI/Control/GunTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "aim_up"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect6" type="TextureRect" parent="UI/Control/GunTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "aim_down"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect7" type="TextureRect" parent="UI/Control/GunTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "aim_left"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
|
[node name="InputIconTextureRect8" type="TextureRect" parent="UI/Control/GunTutorial"]
|
||||||
|
custom_minimum_size = Vector2(64, 64)
|
||||||
|
layout_mode = 2
|
||||||
|
texture = ExtResource("16_e3s4u")
|
||||||
|
expand_mode = 1
|
||||||
|
script = ExtResource("16_hby33")
|
||||||
|
action_name = "aim_right"
|
||||||
|
metadata/_custom_type_script = "uid://b2maxk5g6yb0i"
|
||||||
|
|
||||||
[node name="DialogueOptions" type="VBoxContainer" parent="UI/Control"]
|
[node name="DialogueOptions" type="VBoxContainer" parent="UI/Control"]
|
||||||
visible = false
|
visible = false
|
||||||
custom_minimum_size = Vector2(128, 0)
|
custom_minimum_size = Vector2(128, 0)
|
||||||
|
|
@ -345,7 +499,7 @@ position = Vector2(32, 32)
|
||||||
scale = Vector2(4, 4)
|
scale = Vector2(4, 4)
|
||||||
sprite_frames = SubResource("SpriteFrames_257nh")
|
sprite_frames = SubResource("SpriteFrames_257nh")
|
||||||
autoplay = "default"
|
autoplay = "default"
|
||||||
frame_progress = 0.42345548
|
frame_progress = 0.6029871
|
||||||
|
|
||||||
[node name="Shader" type="ColorRect" parent="UI"]
|
[node name="Shader" type="ColorRect" parent="UI"]
|
||||||
material = SubResource("ShaderMaterial_ypt7u")
|
material = SubResource("ShaderMaterial_ypt7u")
|
||||||
|
|
|
||||||
|
|
@ -17,11 +17,32 @@ var sprinting = false
|
||||||
var equipped_ground_gun = "pistol"
|
var equipped_ground_gun = "pistol"
|
||||||
var ammo_in_mag = 12
|
var ammo_in_mag = 12
|
||||||
|
|
||||||
func set_ground_gun(value: String):
|
func set_ground_gun(value):
|
||||||
equipped_ground_gun = value
|
equipped_ground_gun = value
|
||||||
|
|
||||||
|
if value:
|
||||||
$HeldItem/Sprite.texture = load("res://textures/" + equipped_ground_gun + ".png")
|
$HeldItem/Sprite.texture = load("res://textures/" + equipped_ground_gun + ".png")
|
||||||
ammo_in_mag = global.ground_guns
|
ammo_in_mag = global.ground_guns
|
||||||
|
|
||||||
|
func navigate_to(goal: Vector2):
|
||||||
|
if has_node("Navagent"):
|
||||||
|
$Navagent.target_position = goal
|
||||||
|
|
||||||
|
while !$Navagent.is_navigation_finished():
|
||||||
|
var next_position = $Navagent.get_next_path_position()
|
||||||
|
next_position.y -= 32
|
||||||
|
|
||||||
|
var axes = global_position.direction_to(next_position)
|
||||||
|
|
||||||
|
horizontial_movement = axes.x
|
||||||
|
vertical_movement = axes.y
|
||||||
|
|
||||||
|
# This is a bad way to do this, to be honest. However, I am lazy
|
||||||
|
await get_tree().create_timer(0.05).timeout
|
||||||
|
|
||||||
|
horizontial_movement = 0
|
||||||
|
vertical_movement = 0
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$Sprite.play()
|
$Sprite.play()
|
||||||
|
|
||||||
|
|
@ -36,7 +57,7 @@ func _process(delta: float) -> void:
|
||||||
$Sprite.position.y = 64
|
$Sprite.position.y = 64
|
||||||
$Sprite.animation = "idle"
|
$Sprite.animation = "idle"
|
||||||
|
|
||||||
$HeldItem.visible = false
|
if has_node("HeldItem"): $HeldItem.visible = false
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
@ -74,8 +95,14 @@ func _process(delta: float) -> void:
|
||||||
$Sprite.animation = "idle"
|
$Sprite.animation = "idle"
|
||||||
|
|
||||||
fire_delay -= delta
|
fire_delay -= delta
|
||||||
|
if has_node("HeldItem"):
|
||||||
|
if !equipped_ground_gun:
|
||||||
|
$HeldItem.visible = false
|
||||||
|
else:
|
||||||
|
$HeldItem.visible = true
|
||||||
|
|
||||||
if firing and (fire_delay < 0):
|
if firing and (fire_delay < 0):
|
||||||
if has_node("HeldItem") and (equipped_ground_gun != null):
|
|
||||||
$HeldItem/Cast.force_raycast_update()
|
$HeldItem/Cast.force_raycast_update()
|
||||||
|
|
||||||
var hit_target = $HeldItem/Cast.get_collider()
|
var hit_target = $HeldItem/Cast.get_collider()
|
||||||
|
|
@ -102,6 +129,6 @@ func _process(delta: float) -> void:
|
||||||
|
|
||||||
$HeldItem/Gunshot.play()
|
$HeldItem/Gunshot.play()
|
||||||
|
|
||||||
fire_delay = 0.5
|
fire_delay = global.ground_guns[equipped_ground_gun].fire_rate
|
||||||
|
|
||||||
move_and_slide()
|
move_and_slide()
|
||||||
|
|
|
||||||
147
scripts/doctor.gd
Normal file
|
|
@ -0,0 +1,147 @@
|
||||||
|
extends "res://scripts/character_ground.gd"
|
||||||
|
|
||||||
|
@onready var game = get_parent()
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
super()
|
||||||
|
|
||||||
|
health = 50
|
||||||
|
|
||||||
|
func _interact(player: Node2D) -> void:
|
||||||
|
player.get_node("Camera").enabled = false
|
||||||
|
$Camera.enabled = true
|
||||||
|
$InteractArea.monitoring = false
|
||||||
|
|
||||||
|
player.busy = true
|
||||||
|
|
||||||
|
await game.dialogue("Ready to leave?", "doctor", false)
|
||||||
|
|
||||||
|
var option = await game.make_choice({
|
||||||
|
"yes": "Yes",
|
||||||
|
"no": "No"
|
||||||
|
})
|
||||||
|
|
||||||
|
if option == "yes":
|
||||||
|
await game.dialogue("Alrighty!", "doctor")
|
||||||
|
|
||||||
|
await game.dialogue("We have your stuff back here, let me go grab it real quick...", "doctor")
|
||||||
|
|
||||||
|
|
||||||
|
await game.dialogue("Here's your bag.", "doctor")
|
||||||
|
|
||||||
|
await game.dialogue("Should have everything - tablet, ship keys, a pistol...", "doctor")
|
||||||
|
|
||||||
|
game.get_node("DistantGunshots1").play()
|
||||||
|
|
||||||
|
await get_tree().create_timer(2).timeout
|
||||||
|
|
||||||
|
await game.dialogue("...the hell?", "doctor", false)
|
||||||
|
|
||||||
|
await get_tree().create_timer(1.5).timeout
|
||||||
|
|
||||||
|
game.get_node("IntrusionAlarm").play()
|
||||||
|
|
||||||
|
game.get_node("Map").modulate = Color(0.5, 0.35, 0.35)
|
||||||
|
|
||||||
|
await get_tree().create_timer(1).timeout
|
||||||
|
|
||||||
|
await game.dialogue("Oh, no.", "doctor", true)
|
||||||
|
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
|
||||||
|
await game.dialogue("We need to leave. Now.", "doctor", true)
|
||||||
|
|
||||||
|
await get_tree().create_timer(0.5).timeout
|
||||||
|
|
||||||
|
$Camera.enabled = false
|
||||||
|
player.get_node("Camera").enabled = true
|
||||||
|
|
||||||
|
player.busy = false
|
||||||
|
|
||||||
|
await game.dialogue("Follow me.", "doctor", false)
|
||||||
|
|
||||||
|
await navigate_to(game.get_node("DoctorEscapeWaypoint1").position)
|
||||||
|
|
||||||
|
while !game.get_node("DoctorEscapeWaypoint1/Area").get_overlapping_bodies().has(player): await get_tree().create_timer(0.2).timeout
|
||||||
|
|
||||||
|
player.busy = true
|
||||||
|
|
||||||
|
await game.dialogue("You good with that gun?", "doctor", true)
|
||||||
|
|
||||||
|
var option_2 = await game.make_choice({
|
||||||
|
"yes": "Yes",
|
||||||
|
"no": "No"
|
||||||
|
})
|
||||||
|
|
||||||
|
if option_2 == "yes": await game.dialogue("Good to know.", "doctor", true)
|
||||||
|
else: await game.dialogue("Well, you're still probably better than I would be.", "doctor", true)
|
||||||
|
|
||||||
|
global.stats.story_progress = 2
|
||||||
|
|
||||||
|
game.save_game()
|
||||||
|
|
||||||
|
checkpoint_1()
|
||||||
|
|
||||||
|
elif option == "no":
|
||||||
|
await game.dialogue("Well, I'm here whenever you need me.", "doctor")
|
||||||
|
|
||||||
|
|
||||||
|
player.get_node("Camera").enabled = true
|
||||||
|
$Camera.enabled = false
|
||||||
|
$InteractArea.monitoring = true
|
||||||
|
|
||||||
|
player.busy = false
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
func checkpoint_1():
|
||||||
|
var player = game.get_node("PlayerGround")
|
||||||
|
|
||||||
|
await game.dialogue("You should probably get it out.", "doctor", false)
|
||||||
|
|
||||||
|
player.busy = false
|
||||||
|
|
||||||
|
global.stats.equipped_ground_gun = "pistol"
|
||||||
|
|
||||||
|
game.get_node("UI/Control/UnholsterTutorial").visible = true
|
||||||
|
|
||||||
|
while global.stats.gun_holstered: await get_tree().create_timer(0.2).timeout
|
||||||
|
|
||||||
|
game.get_node("UI/Control/UnholsterTutorial").visible = false
|
||||||
|
|
||||||
|
await game.dialogue("Let's go.", "doctor", false)
|
||||||
|
|
||||||
|
game.checkpoint()
|
||||||
|
|
||||||
|
await navigate_to(game.get_node("DoctorEscapeWaypoint2").position)
|
||||||
|
|
||||||
|
while !game.get_node("DoctorEscapeWaypoint2/Area").get_overlapping_bodies().has(player): await get_tree().create_timer(0.2).timeout
|
||||||
|
|
||||||
|
await game.dialogue("RUN!", "doctor", false)
|
||||||
|
|
||||||
|
game.get_node("MedbayDoorLargeVertical").free()
|
||||||
|
|
||||||
|
vertical_movement = 0.1
|
||||||
|
|
||||||
|
game.get_node("Camper1/HeldItem").look_at(global_position)
|
||||||
|
game.get_node("Camper2/HeldItem").look_at(global_position)
|
||||||
|
|
||||||
|
game.get_node("Camper1").firing = true
|
||||||
|
await get_tree().create_timer(0.06).timeout
|
||||||
|
game.get_node("Camper2").firing = true
|
||||||
|
|
||||||
|
while health > 0: await get_tree().create_timer(0.2).timeout
|
||||||
|
|
||||||
|
await game.end_dialogue()
|
||||||
|
|
||||||
|
game.get_node("Camper1").firing = false
|
||||||
|
await get_tree().create_timer(0.06).timeout
|
||||||
|
game.get_node("Camper2").firing = false
|
||||||
|
|
||||||
|
await get_tree().create_timer(0.333).timeout
|
||||||
|
|
||||||
|
game.get_node("Camper1").concious = true
|
||||||
|
game.get_node("Camper2").concious = true
|
||||||
|
|
||||||
|
game.get_node("Camper3").global_position = game.get_node("CamperSpawn1").global_position
|
||||||
1
scripts/doctor.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
uid://mmptv0l2ahhh
|
||||||
|
|
@ -5,7 +5,6 @@ var alerted = false
|
||||||
|
|
||||||
var inaccuracy = 15
|
var inaccuracy = 15
|
||||||
|
|
||||||
var reaction_time = 0.35
|
|
||||||
var reaction_halve_distance = 720
|
var reaction_halve_distance = 720
|
||||||
var reaction_timer = 0
|
var reaction_timer = 0
|
||||||
|
|
||||||
|
|
@ -29,9 +28,16 @@ var last_seen_player_position = null
|
||||||
@onready var player = null
|
@onready var player = null
|
||||||
var game = null
|
var game = null
|
||||||
|
|
||||||
|
## The enemy's starting gun. Leave blank for no weapon
|
||||||
@export var starting_gun: String = &"pistol"
|
@export var starting_gun: String = &"pistol"
|
||||||
|
## The enemy's starting health.
|
||||||
@export var starting_health: int = 50
|
@export var starting_health: int = 50
|
||||||
|
## Is the enemy's AI enabled?
|
||||||
|
@export var concious: bool = true
|
||||||
|
## Will the enemy always chase the player?
|
||||||
|
@export var always_sees_player: bool = false
|
||||||
|
## The time it takes for an enemy to start shooting / notice the player.
|
||||||
|
@export var reaction_time: float = 0.35
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
super()
|
super()
|
||||||
|
|
@ -47,15 +53,23 @@ func _process(delta: float) -> void:
|
||||||
$Detecting.stop()
|
$Detecting.stop()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
if !concious:
|
||||||
|
$Detecting.stop()
|
||||||
|
return
|
||||||
|
|
||||||
if !player:
|
if !player:
|
||||||
if game:
|
if game:
|
||||||
player = game.get_node("PlayerGround")
|
player = game.get_node("PlayerGround")
|
||||||
else: return
|
else: return
|
||||||
|
|
||||||
|
if always_sees_player:
|
||||||
|
ai_mode = AI_MODE_ATTACK
|
||||||
|
last_seen_player_position = player.global_position
|
||||||
|
|
||||||
if ai_mode == AI_MODE_IDLE:
|
if ai_mode == AI_MODE_IDLE:
|
||||||
$LineOfSight.look_at(player.global_position)
|
$LineOfSight.look_at(player.global_position)
|
||||||
|
|
||||||
if player.is_ancestor_of($LineOfSight.get_collider()):
|
if $LineOfSight.get_collider() && player.is_ancestor_of($LineOfSight.get_collider()):
|
||||||
var divider = clamp((player.global_position - global_position).length() / reaction_halve_distance, 1, 8) * 1.5
|
var divider = clamp((player.global_position - global_position).length() / reaction_halve_distance, 1, 8) * 1.5
|
||||||
reaction_timer += delta / divider
|
reaction_timer += delta / divider
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,15 @@ func save_game() -> void:
|
||||||
|
|
||||||
$UI/Control/SaveIndicator.visible = false
|
$UI/Control/SaveIndicator.visible = false
|
||||||
|
|
||||||
|
func checkpoint() -> void:
|
||||||
|
var packed_scene = PackedScene.new()
|
||||||
|
packed_scene.pack(get_tree().get_current_scene())
|
||||||
|
|
||||||
|
if global.checkpoint:
|
||||||
|
global.checkpoint.free()
|
||||||
|
|
||||||
|
global.checkpoint = packed_scene
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
$UI/Control/Dialogue.visible = false
|
$UI/Control/Dialogue.visible = false
|
||||||
|
|
||||||
|
|
@ -93,7 +102,7 @@ func dialogue(text: String, type: String = "generic", allow_input: bool = true)
|
||||||
|
|
||||||
$Dialogue.play()
|
$Dialogue.play()
|
||||||
|
|
||||||
await get_tree().create_timer(speed).timeout
|
#await get_tree().create_timer(speed).timeout
|
||||||
|
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -31,13 +31,26 @@ var orbit_zones = [
|
||||||
var ground_guns = {
|
var ground_guns = {
|
||||||
"pistol": {
|
"pistol": {
|
||||||
"name": "Oni",
|
"name": "Oni",
|
||||||
"type": "energy",
|
"type": "kinetic",
|
||||||
"damage": 10,
|
"damage": 10,
|
||||||
"magazine_size": 12,
|
"magazine_size": 12,
|
||||||
"fire_rate": 0.3
|
"fire_rate": 0.3
|
||||||
|
},
|
||||||
|
"smg": {
|
||||||
|
"name": "Ripper",
|
||||||
|
"type": "energy",
|
||||||
|
"damage": 8,
|
||||||
|
"magazine_size": 24,
|
||||||
|
"fire_rate": 1.0/6.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var checkpoint = null
|
||||||
|
|
||||||
|
func load_checkpoint():
|
||||||
|
if checkpoint:
|
||||||
|
get_tree().change_scene_to_packed(checkpoint)
|
||||||
|
|
||||||
func generate_save():
|
func generate_save():
|
||||||
var save_dict = {
|
var save_dict = {
|
||||||
"stats": stats
|
"stats": stats
|
||||||
|
|
@ -105,12 +118,13 @@ var default_stats = {
|
||||||
"speed": 512,
|
"speed": 512,
|
||||||
"boost_tank_size": 1,
|
"boost_tank_size": 1,
|
||||||
"marks": 200,
|
"marks": 200,
|
||||||
"location": "space",
|
"location": "space_station_1",
|
||||||
"position": Vector2(),
|
"position": Vector2(),
|
||||||
"rotation": 0,
|
"rotation": 0,
|
||||||
"story_progress": 1,
|
"story_progress": 0,
|
||||||
"navigation_goal": null,
|
"navigation_goal": null,
|
||||||
"equipped_ground_gun": "pistol"
|
"equipped_ground_gun": null,
|
||||||
|
"gun_holstered": true,
|
||||||
}
|
}
|
||||||
|
|
||||||
var stats = default_stats.duplicate_deep()
|
var stats = default_stats.duplicate_deep()
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,13 @@ extends Area2D
|
||||||
var game = null
|
var game = null
|
||||||
|
|
||||||
func _on_body_entered(body: Node2D) -> void:
|
func _on_body_entered(body: Node2D) -> void:
|
||||||
if body.get_name() == "PlayerGround":
|
if !game: return
|
||||||
|
|
||||||
|
if (body.get_name() == "PlayerGround") or (game.get_node("PlayerGround").is_ancestor_of(body)):
|
||||||
game.current_interaction_area = self
|
game.current_interaction_area = self
|
||||||
|
|
||||||
func _on_body_exited(body: Node2D) -> void:
|
func _on_body_exited(body: Node2D) -> void:
|
||||||
if body.get_name() == "PlayerGround":
|
if !game: return
|
||||||
|
|
||||||
|
if (body.get_name() == "PlayerGround") or (game.get_node("PlayerGround").is_ancestor_of(body)):
|
||||||
if game.current_interaction_area == self: game.current_interaction_area = null
|
if game.current_interaction_area == self: game.current_interaction_area = null
|
||||||
|
|
|
||||||
|
|
@ -5,11 +5,19 @@ var last_aim_direction = Vector2(0, 0)
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
super()
|
super()
|
||||||
|
|
||||||
|
if global.stats.gun_holstered:
|
||||||
|
set_ground_gun(null)
|
||||||
|
else:
|
||||||
set_ground_gun(global.stats.equipped_ground_gun)
|
set_ground_gun(global.stats.equipped_ground_gun)
|
||||||
|
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
super(delta)
|
super(delta)
|
||||||
|
|
||||||
|
if dead:
|
||||||
|
if global.checkpoint:
|
||||||
|
global.load_game()
|
||||||
|
get_tree().change_scene_to_file("res://scenes/ground.tscn")
|
||||||
|
|
||||||
if input_icon.using_gamepad:
|
if input_icon.using_gamepad:
|
||||||
if !((Input.get_axis("aim_left", "aim_right") == 0) and (Input.get_axis("aim_up", "aim_down") == 0)):
|
if !((Input.get_axis("aim_left", "aim_right") == 0) and (Input.get_axis("aim_up", "aim_down") == 0)):
|
||||||
$HeldItem.rotation = Vector2(
|
$HeldItem.rotation = Vector2(
|
||||||
|
|
@ -37,4 +45,13 @@ func _process(delta: float) -> void:
|
||||||
$HeldItem/Crosshair.visible = false
|
$HeldItem/Crosshair.visible = false
|
||||||
$HeldItem/Line.visible = false
|
$HeldItem/Line.visible = false
|
||||||
|
|
||||||
|
if Input.is_action_just_pressed("toggle_holster"):
|
||||||
|
global.stats.gun_holstered = !global.stats.gun_holstered
|
||||||
|
|
||||||
|
if global.stats.gun_holstered:
|
||||||
|
set_ground_gun(null)
|
||||||
|
else:
|
||||||
|
set_ground_gun(global.stats.equipped_ground_gun)
|
||||||
|
|
||||||
|
|
||||||
firing = Input.is_action_pressed("fire")
|
firing = Input.is_action_pressed("fire")
|
||||||
|
|
|
||||||
|
|
@ -188,6 +188,10 @@ func _ground_ready() -> void:
|
||||||
|
|
||||||
await game.dialogue("When you're feeling ready, I'll be at the end of the hall.", "doctor_1")
|
await game.dialogue("When you're feeling ready, I'll be at the end of the hall.", "doctor_1")
|
||||||
|
|
||||||
|
await game.get_node("Doctor").navigate_to(game.get_node("DoctorHallWaypoint").position)
|
||||||
|
|
||||||
|
game.get_node("Doctor").global_position = game.get_node("DoctorDeskWaypoint").position
|
||||||
|
|
||||||
global.stats.story_progress = 1
|
global.stats.story_progress = 1
|
||||||
|
|
||||||
player.busy = false
|
player.busy = false
|
||||||
|
|
@ -198,5 +202,32 @@ func _ground_ready() -> void:
|
||||||
game.set_vignette_parameter("softness", i * 0.04)
|
game.set_vignette_parameter("softness", i * 0.04)
|
||||||
|
|
||||||
i += 2
|
i += 2
|
||||||
|
|
||||||
|
game.get_node("UI/Control/MoveTutorial").visible = true
|
||||||
|
|
||||||
|
while player.velocity.length() == 0:
|
||||||
|
await get_tree().create_timer(0.1).timeout
|
||||||
|
|
||||||
|
await get_tree().create_timer(1).timeout
|
||||||
|
|
||||||
|
print("end")
|
||||||
|
|
||||||
|
game.get_node("UI/Control/MoveTutorial").visible = false
|
||||||
|
|
||||||
|
elif global.stats.story_progress == 1:
|
||||||
|
pass
|
||||||
|
elif global.stats.story_progress == 2:
|
||||||
|
game.get_node("Uglyburger").stop()
|
||||||
|
|
||||||
|
game.get_node("IntrusionAlarm").play()
|
||||||
|
|
||||||
|
game.get_node("Map").modulate = Color(0.5, 0.35, 0.35)
|
||||||
|
|
||||||
|
game.get_node("Doctor/InteractArea").monitoring = false
|
||||||
|
|
||||||
|
player.global_position = game.get_node("Checkpoint1PlayerSpawn").global_position
|
||||||
|
game.get_node("Doctor").global_position = game.get_node("Checkpoint1DoctorSpawn").global_position
|
||||||
|
|
||||||
|
game.get_node("Doctor").checkpoint_1()
|
||||||
else:
|
else:
|
||||||
game.save_game()
|
game.save_game()
|
||||||
|
|
|
||||||
BIN
sounds/background_gunshots.mp3
Normal file
19
sounds/background_gunshots.mp3.import
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://f6l56kvndidj"
|
||||||
|
path="res://.godot/imported/background_gunshots.mp3-9d148338da2f4c84e6a101a6a8dec405.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/background_gunshots.mp3"
|
||||||
|
dest_files=["res://.godot/imported/background_gunshots.mp3-9d148338da2f4c84e6a101a6a8dec405.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
BIN
sounds/intrusion_alarm.mp3
Normal file
19
sounds/intrusion_alarm.mp3.import
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="mp3"
|
||||||
|
type="AudioStreamMP3"
|
||||||
|
uid="uid://c13fyse8fxmio"
|
||||||
|
path="res://.godot/imported/intrusion_alarm.mp3-9e530e5459da68390295ed718d582217.mp3str"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://sounds/intrusion_alarm.mp3"
|
||||||
|
dest_files=["res://.godot/imported/intrusion_alarm.mp3-9e530e5459da68390295ed718d582217.mp3str"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
loop=false
|
||||||
|
loop_offset=0
|
||||||
|
bpm=0
|
||||||
|
beat_count=0
|
||||||
|
bar_beats=4
|
||||||
BIN
textures/desk.png
Normal file
|
After Width: | Height: | Size: 237 B |
40
textures/desk.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bahp733iqv2us"
|
||||||
|
path="res://.godot/imported/desk.png-569ac858ccfa866c549921982f2d651c.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://textures/desk.png"
|
||||||
|
dest_files=["res://.godot/imported/desk.png-569ac858ccfa866c549921982f2d651c.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
textures/door_large_horizontial.png
Normal file
|
After Width: | Height: | Size: 284 B |
40
textures/door_large_horizontial.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://iim42wat824h"
|
||||||
|
path="res://.godot/imported/door_large_horizontial.png-be3fcc0a643e3e0a242a5070b84d40a0.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://textures/door_large_horizontial.png"
|
||||||
|
dest_files=["res://.godot/imported/door_large_horizontial.png-be3fcc0a643e3e0a242a5070b84d40a0.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
textures/door_large_vertical.png
Normal file
|
After Width: | Height: | Size: 208 B |
40
textures/door_large_vertical.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://b0c5hws6ki8p5"
|
||||||
|
path="res://.godot/imported/door_large_vertical.png-63c570800cfc026639fdfc69bb1882e3.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://textures/door_large_vertical.png"
|
||||||
|
dest_files=["res://.godot/imported/door_large_vertical.png-63c570800cfc026639fdfc69bb1882e3.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
textures/locker.png
Normal file
|
After Width: | Height: | Size: 215 B |
40
textures/locker.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://bgui3ranlk441"
|
||||||
|
path="res://.godot/imported/locker.png-291655332e65b890583d6d9343e4a2f5.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://textures/locker.png"
|
||||||
|
dest_files=["res://.godot/imported/locker.png-291655332e65b890583d6d9343e4a2f5.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||
BIN
textures/smg.png
Normal file
|
After Width: | Height: | Size: 481 B |
40
textures/smg.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="CompressedTexture2D"
|
||||||
|
uid="uid://dk5ctkygv2n0i"
|
||||||
|
path="res://.godot/imported/smg.png-6e5b1b02de92e8359738de08c577925f.ctex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://textures/smg.png"
|
||||||
|
dest_files=["res://.godot/imported/smg.png-6e5b1b02de92e8359738de08c577925f.ctex"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/high_quality=false
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/uastc_level=0
|
||||||
|
compress/rdo_quality_loss=0.0
|
||||||
|
compress/hdr_compression=1
|
||||||
|
compress/normal_map=0
|
||||||
|
compress/channel_pack=0
|
||||||
|
mipmaps/generate=false
|
||||||
|
mipmaps/limit=-1
|
||||||
|
roughness/mode=0
|
||||||
|
roughness/src_normal=""
|
||||||
|
process/channel_remap/red=0
|
||||||
|
process/channel_remap/green=1
|
||||||
|
process/channel_remap/blue=2
|
||||||
|
process/channel_remap/alpha=3
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/normal_map_invert_y=false
|
||||||
|
process/hdr_as_srgb=false
|
||||||
|
process/hdr_clamp_exposure=false
|
||||||
|
process/size_limit=0
|
||||||
|
detect_3d/compress_to=1
|
||||||