Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
6fd53367c0 | |||
abe340f025 | |||
e22d56d0df | |||
3614049c11 |
16
.github/ISSUE_TEMPLATE/5_general_feedback.md
vendored
Normal file
16
.github/ISSUE_TEMPLATE/5_general_feedback.md
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
name: 📝 Feedback
|
||||||
|
about: Let me know what you thought!
|
||||||
|
title: "Feedback: [TITLE]"
|
||||||
|
labels: 'feedback'
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- This the recommended format, not required -->
|
||||||
|
|
||||||
|
### What did you like?
|
||||||
|
|
||||||
|
### What did you dislike?
|
||||||
|
|
||||||
|
### What could be improved?
|
||||||
|
|
||||||
|
### Any addtional thoughts?
|
@ -1,3 +1,3 @@
|
|||||||
source_md5="29f28fa741ffa711826400e7fea90a27"
|
source_md5="3bfdad86a3348e10ad92dce7a0c7edfb"
|
||||||
dest_md5="2fe6ef3f4c5624748dc861a0b95a251b"
|
dest_md5="b2215c68eec5e82ae3b199c3ebef6ca3"
|
||||||
|
|
||||||
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="385e8652393bf9a3fa82a062489c5435"
|
||||||
|
dest_md5="2ca28503838f7dd03b796000ec31111f"
|
||||||
|
|
BIN
client/.import/dirt.png-5a2c7368ec57a5db104fd5562e4bc430.stex
Normal file
BIN
client/.import/dirt.png-5a2c7368ec57a5db104fd5562e4bc430.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="34e50c915b51252660db4c26d6f61d92"
|
||||||
|
dest_md5="284c8f30177baaab7a71e88c2fa18e87"
|
||||||
|
|
BIN
client/.import/doop.wav-c367f72b66b202e52047bea064819597.sample
Normal file
BIN
client/.import/doop.wav-c367f72b66b202e52047bea064819597.sample
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="34e50c915b51252660db4c26d6f61d92"
|
||||||
|
dest_md5="284c8f30177baaab7a71e88c2fa18e87"
|
||||||
|
|
BIN
client/.import/doop.wav-e7e72235859ccaca12113963ce8e590b.sample
Normal file
BIN
client/.import/doop.wav-e7e72235859ccaca12113963ce8e590b.sample
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="130412d800df4b7c2fc9747a6a5805ef"
|
||||||
|
dest_md5="94ec308054667a107722b55e2203ebfc"
|
||||||
|
|
BIN
client/.import/glass.png-c925ddf2663ae6921355b7554750d020.stex
Normal file
BIN
client/.import/glass.png-c925ddf2663ae6921355b7554750d020.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="130412d800df4b7c2fc9747a6a5805ef"
|
||||||
|
dest_md5="94ec308054667a107722b55e2203ebfc"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="b5b713d18d62a88eb579db8fdc12c626"
|
||||||
|
dest_md5="3fa5aa738a28dc6cdeb9786d5398a721"
|
||||||
|
|
BIN
client/.import/godot.png-5a026be5d3bdf3191b324100b5a9082a.stex
Normal file
BIN
client/.import/godot.png-5a026be5d3bdf3191b324100b5a9082a.stex
Normal file
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="60a33f3b90accb46263e6e020ba53220"
|
||||||
|
dest_md5="3ecf06c6cb13d5480124991534f6698c"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="385e8652393bf9a3fa82a062489c5435"
|
||||||
|
dest_md5="2ca28503838f7dd03b796000ec31111f"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="385e8652393bf9a3fa82a062489c5435"
|
||||||
|
dest_md5="2ca28503838f7dd03b796000ec31111f"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,3 @@
|
|||||||
|
source_md5="b85c7252c4e8b281547c84fdfeaec78d"
|
||||||
|
dest_md5="ec0b5aba05be1d14ab11983117a481f1"
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 362 B After Width: | Height: | Size: 326 B |
BIN
client/Assets/Art/Tiles/dirt.png
Normal file
BIN
client/Assets/Art/Tiles/dirt.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
34
client/Assets/Art/Tiles/dirt.png.import
Normal file
34
client/Assets/Art/Tiles/dirt.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/dirt.png-5a2c7368ec57a5db104fd5562e4bc430.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Tiles/dirt.png"
|
||||||
|
dest_files=[ "res://.import/dirt.png-5a2c7368ec57a5db104fd5562e4bc430.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
BIN
client/Assets/Art/Tiles/glass_tile.png
Normal file
BIN
client/Assets/Art/Tiles/glass_tile.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
34
client/Assets/Art/Tiles/glass_tile.png.import
Normal file
34
client/Assets/Art/Tiles/glass_tile.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/Tiles/glass_tile.png"
|
||||||
|
dest_files=[ "res://.import/glass_tile.png-a30ccd4c80c467b85ddbf01116cb0b6a.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=false
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
BIN
client/Assets/Art/UI/Credits/godot.png
Normal file
BIN
client/Assets/Art/UI/Credits/godot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
34
client/Assets/Art/UI/Credits/godot.png.import
Normal file
34
client/Assets/Art/UI/Credits/godot.png.import
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="texture"
|
||||||
|
type="StreamTexture"
|
||||||
|
path="res://.import/godot.png-5a026be5d3bdf3191b324100b5a9082a.stex"
|
||||||
|
metadata={
|
||||||
|
"vram_texture": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Art/UI/Credits/godot.png"
|
||||||
|
dest_files=[ "res://.import/godot.png-5a026be5d3bdf3191b324100b5a9082a.stex" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
compress/mode=0
|
||||||
|
compress/lossy_quality=0.7
|
||||||
|
compress/hdr_mode=0
|
||||||
|
compress/bptc_ldr=0
|
||||||
|
compress/normal_map=0
|
||||||
|
flags/repeat=0
|
||||||
|
flags/filter=true
|
||||||
|
flags/mipmaps=false
|
||||||
|
flags/anisotropic=false
|
||||||
|
flags/srgb=2
|
||||||
|
process/fix_alpha_border=true
|
||||||
|
process/premult_alpha=false
|
||||||
|
process/HDR_as_SRGB=false
|
||||||
|
process/invert_color=false
|
||||||
|
stream=false
|
||||||
|
size_limit=0
|
||||||
|
detect_3d=true
|
||||||
|
svg/scale=1.0
|
21
client/Assets/Sfx/doop.wav.import
Normal file
21
client/Assets/Sfx/doop.wav.import
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamSample"
|
||||||
|
path="res://.import/doop.wav-c367f72b66b202e52047bea064819597.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Sfx/doop.wav"
|
||||||
|
dest_files=[ "res://.import/doop.wav-c367f72b66b202e52047bea064819597.sample" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop=false
|
||||||
|
compress/mode=0
|
BIN
client/Assets/Sfx/intro/doop.wav
Normal file
BIN
client/Assets/Sfx/intro/doop.wav
Normal file
Binary file not shown.
21
client/Assets/Sfx/intro/doop.wav.import
Normal file
21
client/Assets/Sfx/intro/doop.wav.import
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamSample"
|
||||||
|
path="res://.import/doop.wav-e7e72235859ccaca12113963ce8e590b.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Sfx/intro/doop.wav"
|
||||||
|
dest_files=[ "res://.import/doop.wav-e7e72235859ccaca12113963ce8e590b.sample" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop=false
|
||||||
|
compress/mode=0
|
BIN
client/Assets/Sfx/recharge.wav
Normal file
BIN
client/Assets/Sfx/recharge.wav
Normal file
Binary file not shown.
21
client/Assets/Sfx/recharge.wav.import
Normal file
21
client/Assets/Sfx/recharge.wav.import
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="wav"
|
||||||
|
type="AudioStreamSample"
|
||||||
|
path="res://.import/recharge.wav-32ace1901ba67b9ff95108bc1ef3f6bb.sample"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Assets/Sfx/recharge.wav"
|
||||||
|
dest_files=[ "res://.import/recharge.wav-32ace1901ba67b9ff95108bc1ef3f6bb.sample" ]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
force/8_bit=false
|
||||||
|
force/mono=false
|
||||||
|
force/max_rate=false
|
||||||
|
force/max_rate_hz=44100
|
||||||
|
edit/trim=false
|
||||||
|
edit/normalize=false
|
||||||
|
edit/loop=false
|
||||||
|
compress/mode=0
|
@ -1,4 +1,4 @@
|
|||||||
[gd_resource type="Theme" load_steps=10 format=2]
|
[gd_resource type="Theme" load_steps=11 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=1]
|
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/marksman-v1/Marksman.ttf" type="DynamicFontData" id=1]
|
||||||
|
|
||||||
@ -14,16 +14,19 @@
|
|||||||
|
|
||||||
[sub_resource type="StyleBoxEmpty" id=6]
|
[sub_resource type="StyleBoxEmpty" id=6]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxEmpty" id=7]
|
[sub_resource type="StyleBoxLine" id=7]
|
||||||
|
color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
|
||||||
|
|
||||||
[sub_resource type="DynamicFont" id=8]
|
[sub_resource type="StyleBoxEmpty" id=8]
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=9]
|
||||||
size = 32
|
size = 32
|
||||||
outline_size = 1
|
outline_size = 1
|
||||||
outline_color = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
|
outline_color = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
|
||||||
font_data = ExtResource( 1 )
|
font_data = ExtResource( 1 )
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
default_font = SubResource( 8 )
|
default_font = SubResource( 9 )
|
||||||
Button/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
|
Button/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
|
||||||
Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 )
|
Button/colors/font_color_disabled = Color( 0.901961, 0.901961, 0.901961, 0.2 )
|
||||||
Button/colors/font_color_hover = Color( 0.203922, 0.760784, 0.819608, 0.784314 )
|
Button/colors/font_color_hover = Color( 0.203922, 0.760784, 0.819608, 0.784314 )
|
||||||
@ -37,6 +40,8 @@ Button/styles/hover = SubResource( 4 )
|
|||||||
Button/styles/normal = SubResource( 5 )
|
Button/styles/normal = SubResource( 5 )
|
||||||
Button/styles/pressed = SubResource( 6 )
|
Button/styles/pressed = SubResource( 6 )
|
||||||
HBoxContainer/constants/separation = 64
|
HBoxContainer/constants/separation = 64
|
||||||
|
HSeparator/constants/separation = 4
|
||||||
|
HSeparator/styles/separator = SubResource( 7 )
|
||||||
Label/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
|
Label/colors/font_color = Color( 0.203922, 0.760784, 0.819608, 0.54902 )
|
||||||
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
|
Label/colors/font_color_shadow = Color( 0, 0, 0, 0 )
|
||||||
Label/colors/font_outline_modulate = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
|
Label/colors/font_outline_modulate = Color( 0.243137, 0.858824, 0.815686, 0.498039 )
|
||||||
@ -47,4 +52,4 @@ Label/constants/shadow_offset_y = 1
|
|||||||
Label/fonts/font = null
|
Label/fonts/font = null
|
||||||
Label/icons/ = null
|
Label/icons/ = null
|
||||||
Label/styles/normal = null
|
Label/styles/normal = null
|
||||||
Panel/styles/panel = SubResource( 7 )
|
Panel/styles/panel = SubResource( 8 )
|
||||||
|
198
client/Nodes/CreditsList.tscn
Normal file
198
client/Nodes/CreditsList.tscn
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
[gd_scene load_steps=6 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Assets/Art/UI/Credits/godot.png" type="Texture" id=1]
|
||||||
|
[ext_resource path="res://Assets/Proprietary/hf-scifi-complete/improbable-v1/Improbable.otf" type="DynamicFontData" id=2]
|
||||||
|
[ext_resource path="res://Assets/Art/logo.png" type="Texture" id=3]
|
||||||
|
[ext_resource path="res://Assets/Art/head_bg_less.png" type="Texture" id=4]
|
||||||
|
|
||||||
|
[sub_resource type="DynamicFont" id=1]
|
||||||
|
size = 48
|
||||||
|
font_data = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Scolling" type="VBoxContainer"]
|
||||||
|
margin_left = 407.0
|
||||||
|
margin_top = 720.0
|
||||||
|
margin_right = 873.0
|
||||||
|
margin_bottom = 1621.0
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
custom_constants/separation = 64
|
||||||
|
alignment = 1
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Logo" type="HBoxContainer" parent="."]
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 68.0
|
||||||
|
alignment = 1
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Logo"]
|
||||||
|
margin_left = 121.0
|
||||||
|
margin_right = 441.0
|
||||||
|
margin_bottom = 68.0
|
||||||
|
texture = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_use_anchors_": false
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="."]
|
||||||
|
margin_top = 132.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 216.0
|
||||||
|
text = "Writing, Design, and Programming
|
||||||
|
by Joseph Manley
|
||||||
|
@josephbmanley"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="HSeparator" type="HSeparator" parent="."]
|
||||||
|
margin_top = 280.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 284.0
|
||||||
|
|
||||||
|
[node name="AssetLabel" type="Label" parent="."]
|
||||||
|
margin_top = 348.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 396.0
|
||||||
|
custom_fonts/font = SubResource( 1 )
|
||||||
|
text = "Assets"
|
||||||
|
align = 1
|
||||||
|
uppercase = true
|
||||||
|
|
||||||
|
[node name="Music" type="Label" parent="."]
|
||||||
|
margin_top = 460.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 515.0
|
||||||
|
text = "Music by Tim Beek
|
||||||
|
@timbeekmusic"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="Fonts" type="Label" parent="."]
|
||||||
|
margin_top = 579.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 634.0
|
||||||
|
text = "Fonts by somepx
|
||||||
|
@somepx"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="Shaders" type="Label" parent="."]
|
||||||
|
margin_top = 698.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 753.0
|
||||||
|
text = "Scaling Shaders by CptPotato
|
||||||
|
www.github.com/CptPotato"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="HSeparator2" type="HSeparator" parent="."]
|
||||||
|
margin_top = 817.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 821.0
|
||||||
|
|
||||||
|
[node name="ToolsLabel" type="Label" parent="."]
|
||||||
|
margin_top = 885.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 933.0
|
||||||
|
custom_fonts/font = SubResource( 1 )
|
||||||
|
text = "Tools"
|
||||||
|
align = 1
|
||||||
|
uppercase = true
|
||||||
|
|
||||||
|
[node name="Godot" type="HSplitContainer" parent="."]
|
||||||
|
margin_top = 997.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 1139.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Godot"]
|
||||||
|
margin_right = 402.0
|
||||||
|
margin_bottom = 142.0
|
||||||
|
text = "
|
||||||
|
Godot
|
||||||
|
Game Engine
|
||||||
|
www.godotengine.org
|
||||||
|
"
|
||||||
|
align = 1
|
||||||
|
valign = 1
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Godot"]
|
||||||
|
margin_left = 414.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 142.0
|
||||||
|
texture = ExtResource( 1 )
|
||||||
|
expand = true
|
||||||
|
stretch_mode = 5
|
||||||
|
|
||||||
|
[node name="Aseprite" type="Label" parent="."]
|
||||||
|
margin_top = 1203.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 1287.0
|
||||||
|
text = "Aseprite
|
||||||
|
Sprite Editor
|
||||||
|
www.aseprite.org"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="Tilesetter" type="Label" parent="."]
|
||||||
|
margin_top = 1351.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 1435.0
|
||||||
|
text = "Tilesetter
|
||||||
|
Tileset Design Tool
|
||||||
|
www.tilesetter.org"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="DialogSystem" type="Label" parent="."]
|
||||||
|
margin_top = 1499.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 1583.0
|
||||||
|
text = "EXP Godot Dialog System
|
||||||
|
Dialog Editor Godot Addon
|
||||||
|
www.github.com/EXPWorlds/Godot-Dialog-System"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="HSeparator3" type="HSeparator" parent="."]
|
||||||
|
margin_top = 1647.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 1651.0
|
||||||
|
|
||||||
|
[node name="Godot Wild Jam" type="HSplitContainer" parent="."]
|
||||||
|
margin_top = 1715.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 2031.0
|
||||||
|
|
||||||
|
[node name="Label" type="Label" parent="Godot Wild Jam"]
|
||||||
|
margin_right = 230.0
|
||||||
|
margin_bottom = 316.0
|
||||||
|
text = "
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Godot Wild Jam #21
|
||||||
|
Submission
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"
|
||||||
|
align = 1
|
||||||
|
valign = 1
|
||||||
|
|
||||||
|
[node name="TextureRect" type="TextureRect" parent="Godot Wild Jam"]
|
||||||
|
margin_left = 242.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 316.0
|
||||||
|
texture = ExtResource( 4 )
|
||||||
|
expand = true
|
||||||
|
stretch_mode = 5
|
||||||
|
|
||||||
|
[node name="Thanks" type="Label" parent="."]
|
||||||
|
margin_top = 2095.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 2121.0
|
||||||
|
text = "Thanks for playing!"
|
||||||
|
align = 1
|
||||||
|
|
||||||
|
[node name="Feedback" type="Label" parent="."]
|
||||||
|
margin_top = 2185.0
|
||||||
|
margin_right = 562.0
|
||||||
|
margin_bottom = 2240.0
|
||||||
|
text = "Any and all feedback is appreciated!
|
||||||
|
cloudsumu.com/r/confeedback"
|
||||||
|
align = 1
|
@ -1,31 +1,173 @@
|
|||||||
[gd_scene load_steps=7 format=2]
|
[gd_scene load_steps=12 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Assets/Sfx/intro/processed.wav" type="AudioStream" id=1]
|
[ext_resource path="res://Assets/Sfx/intro/processed.wav" type="AudioStream" id=1]
|
||||||
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
|
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://Scripts/Entities/NPCs/Aura.gd" type="Script" id=3]
|
[ext_resource path="res://Scripts/Entities/NPCs/Aura.gd" type="Script" id=3]
|
||||||
[ext_resource path="res://Assets/Art/Characters/aura.png" type="Texture" id=4]
|
[ext_resource path="res://Assets/Art/Characters/aura.png" type="Texture" id=4]
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id=14]
|
[sub_resource type="AtlasTexture" id=1]
|
||||||
atlas = ExtResource( 4 )
|
atlas = ExtResource( 4 )
|
||||||
region = Rect2( 0, 0, 32, 16 )
|
region = Rect2( 23, 0, 5, 16 )
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=15]
|
[sub_resource type="StreamTexture" id=3]
|
||||||
|
load_path = "res://.import/aura.png-d56c2c3c604fb12791bf7613004ed5a9.stex"
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=4]
|
||||||
|
atlas = SubResource( 3 )
|
||||||
|
region = Rect2( 19, 0, 3, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=5]
|
||||||
|
atlas = SubResource( 3 )
|
||||||
|
region = Rect2( 29, 0, 3, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id=2]
|
||||||
extents = Vector2( 62.9439, 20.084 )
|
extents = Vector2( 62.9439, 20.084 )
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=6]
|
||||||
|
resource_name = "Idle"
|
||||||
|
length = 2.0
|
||||||
|
loop = true
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/path = NodePath("Torso/RightArm:position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"points": PoolRealArray( -3, -0.25, 0, 0.25, 0, -3, -0.25, 0, 0.25, 0, -3, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/path = NodePath("Torso/RightArm:position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 4, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/3/type = "bezier"
|
||||||
|
tracks/3/path = NodePath("Torso/LeftArm:position:x")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"points": PoolRealArray( 3, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/4/type = "bezier"
|
||||||
|
tracks/4/path = NodePath("Torso/LeftArm:position:y")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 0.5, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/5/type = "bezier"
|
||||||
|
tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -4, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=7]
|
||||||
|
resource_name = "Shoot"
|
||||||
|
length = 0.5
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/path = NodePath("Torso/RightArm:position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"points": PoolRealArray( -3, -0.25, 0, 0.25, 0, -3.28281, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 0.3 )
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/path = NodePath("Torso/RightArm:position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.791864, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 0.3 )
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 85.9568, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 0.3 )
|
||||||
|
}
|
||||||
|
tracks/3/type = "value"
|
||||||
|
tracks/3/path = NodePath("Torso/RightArm:texture:region")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.1 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 1,
|
||||||
|
"values": [ Rect2( 19, 0, 3, 16 ), Rect2( 4, 0, 3, 16 ) ]
|
||||||
|
}
|
||||||
|
tracks/4/type = "value"
|
||||||
|
tracks/4/path = NodePath("Torso:texture:region")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"times": PoolRealArray( 0, 0.1 ),
|
||||||
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
|
"update": 1,
|
||||||
|
"values": [ Rect2( 23, 0, 5, 16 ), Rect2( 7, 0, 5, 16 ) ]
|
||||||
|
}
|
||||||
|
|
||||||
[node name="Aura" type="Area2D"]
|
[node name="Aura" type="Area2D"]
|
||||||
position = Vector2( 830.805, 1176.02 )
|
|
||||||
script = ExtResource( 3 )
|
script = ExtResource( 3 )
|
||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_group_": true
|
"_edit_group_": true
|
||||||
}
|
}
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="."]
|
[node name="Torso" type="Sprite" parent="."]
|
||||||
texture = SubResource( 14 )
|
texture = SubResource( 1 )
|
||||||
hframes = 2
|
|
||||||
frame = 1
|
[node name="RightArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( -3, 0 )
|
||||||
|
z_index = -1
|
||||||
|
texture = SubResource( 4 )
|
||||||
|
|
||||||
|
[node name="LeftArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( 3, 0 )
|
||||||
|
z_index = -1
|
||||||
|
texture = SubResource( 5 )
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource( 15 )
|
visible = false
|
||||||
|
shape = SubResource( 2 )
|
||||||
|
|
||||||
[node name="Speaker" type="Node" parent="."]
|
[node name="Speaker" type="Node" parent="."]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
@ -45,3 +187,7 @@ color = Color( 0.54902, 0.105882, 0.105882, 1 )
|
|||||||
__meta__ = {
|
__meta__ = {
|
||||||
"_edit_use_anchors_": false
|
"_edit_use_anchors_": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/Idle = SubResource( 6 )
|
||||||
|
anims/Shoot = SubResource( 7 )
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=5 format=2]
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Scripts/Entities/NPCs/CEO.gd" type="Script" id=1]
|
[ext_resource path="res://Scripts/Entities/NPCs/CEO.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
|
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
|
||||||
@ -7,14 +7,104 @@
|
|||||||
[sub_resource type="RectangleShape2D" id=1]
|
[sub_resource type="RectangleShape2D" id=1]
|
||||||
extents = Vector2( 16.0863, 8 )
|
extents = Vector2( 16.0863, 8 )
|
||||||
|
|
||||||
[node name="Scientist" type="Area2D"]
|
[sub_resource type="AtlasTexture" id=7]
|
||||||
script = ExtResource( 1 )
|
atlas = ExtResource( 3 )
|
||||||
|
region = Rect2( 4, 0, 8, 16 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="."]
|
[sub_resource type="AtlasTexture" id=8]
|
||||||
texture = ExtResource( 3 )
|
atlas = ExtResource( 3 )
|
||||||
|
region = Rect2( 2, 0, 2, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=9]
|
||||||
|
atlas = ExtResource( 3 )
|
||||||
|
region = Rect2( 12, 0, 2, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=6]
|
||||||
|
resource_name = "Idle"
|
||||||
|
length = 2.0
|
||||||
|
loop = true
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/path = NodePath("Torso/RightArm:position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/path = NodePath("Torso/RightArm:position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/3/type = "bezier"
|
||||||
|
tracks/3/path = NodePath("Torso/LeftArm:position:x")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/4/type = "bezier"
|
||||||
|
tracks/4/path = NodePath("Torso/LeftArm:position:y")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/5/type = "bezier"
|
||||||
|
tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="CEO" type="Area2D"]
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource( 1 )
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
[node name="Speaker" type="Node" parent="."]
|
[node name="Speaker" type="Node" parent="."]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="Torso" type="Sprite" parent="."]
|
||||||
|
texture = SubResource( 7 )
|
||||||
|
|
||||||
|
[node name="RightArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( -5, -0.25 )
|
||||||
|
rotation = 0.10472
|
||||||
|
texture = SubResource( 8 )
|
||||||
|
|
||||||
|
[node name="LeftArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( 5, -0.25 )
|
||||||
|
rotation = -0.10472
|
||||||
|
texture = SubResource( 9 )
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/Idle = SubResource( 6 )
|
||||||
|
105
client/Nodes/NPCs/Soldier.tscn
Normal file
105
client/Nodes/NPCs/Soldier.tscn
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
[gd_scene load_steps=7 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Assets/Art/Characters/soldier.png" type="Texture" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="GDScript" id=10]
|
||||||
|
script/source = "extends Node2D
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
$AnimationPlayer.play(\"Idle\")
|
||||||
|
$AnimationPlayer.seek(rand_range(0.0, 2.0), true)
|
||||||
|
"
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=7]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 4, 0, 8, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=8]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 2, 0, 2, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=9]
|
||||||
|
atlas = ExtResource( 1 )
|
||||||
|
region = Rect2( 12, 0, 2, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=6]
|
||||||
|
resource_name = "Idle"
|
||||||
|
length = 2.0
|
||||||
|
loop = true
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/path = NodePath("Torso/RightArm:position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/path = NodePath("Torso/RightArm:position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/3/type = "bezier"
|
||||||
|
tracks/3/path = NodePath("Torso/LeftArm:position:x")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/4/type = "bezier"
|
||||||
|
tracks/4/path = NodePath("Torso/LeftArm:position:y")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/5/type = "bezier"
|
||||||
|
tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Soldier" type="Node2D"]
|
||||||
|
script = SubResource( 10 )
|
||||||
|
|
||||||
|
[node name="Torso" type="Sprite" parent="."]
|
||||||
|
texture = SubResource( 7 )
|
||||||
|
|
||||||
|
[node name="RightArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( -5, 0 )
|
||||||
|
texture = SubResource( 8 )
|
||||||
|
|
||||||
|
[node name="LeftArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( 5, 0 )
|
||||||
|
texture = SubResource( 9 )
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/Idle = SubResource( 6 )
|
@ -1,21 +1,113 @@
|
|||||||
[gd_scene load_steps=5 format=2]
|
[gd_scene load_steps=10 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Scripts/Entities/NPCs/IntroScientist.gd" type="Script" id=1]
|
[ext_resource path="res://Scripts/Entities/NPCs/IntroScientist.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
|
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=2]
|
||||||
[ext_resource path="res://Assets/Art/Characters/scientist.png" type="Texture" id=3]
|
[ext_resource path="res://Assets/Art/Characters/scientist.png" type="Texture" id=3]
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=2]
|
||||||
|
atlas = ExtResource( 3 )
|
||||||
|
region = Rect2( 4, 0, 8, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="StreamTexture" id=3]
|
||||||
|
load_path = "res://.import/scientist.png-ed3195bf022f65d4a0546af474992ee0.stex"
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=4]
|
||||||
|
atlas = SubResource( 3 )
|
||||||
|
region = Rect2( 2, 0, 2, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=5]
|
||||||
|
atlas = SubResource( 3 )
|
||||||
|
region = Rect2( 12, 0, 2, 16 )
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=1]
|
[sub_resource type="RectangleShape2D" id=1]
|
||||||
extents = Vector2( 14.1446, 9.58948 )
|
extents = Vector2( 14.1446, 9.58948 )
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=6]
|
||||||
|
resource_name = "Idle"
|
||||||
|
length = 2.0
|
||||||
|
loop = true
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/path = NodePath("Torso/RightArm:position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/path = NodePath("Torso/RightArm:position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/3/type = "bezier"
|
||||||
|
tracks/3/path = NodePath("Torso/LeftArm:position:x")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/4/type = "bezier"
|
||||||
|
tracks/4/path = NodePath("Torso/LeftArm:position:y")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/5/type = "bezier"
|
||||||
|
tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
|
||||||
[node name="Scientist" type="Area2D"]
|
[node name="Scientist" type="Area2D"]
|
||||||
position = Vector2( 167.084, 231.933 )
|
|
||||||
script = ExtResource( 1 )
|
script = ExtResource( 1 )
|
||||||
|
|
||||||
[node name="Sprite" type="Sprite" parent="."]
|
[node name="Torso" type="Sprite" parent="."]
|
||||||
texture = ExtResource( 3 )
|
texture = SubResource( 2 )
|
||||||
|
|
||||||
|
[node name="RightArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( -5, -0.25 )
|
||||||
|
rotation = 0.10472
|
||||||
|
texture = SubResource( 4 )
|
||||||
|
|
||||||
|
[node name="LeftArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( 5, -0.25 )
|
||||||
|
rotation = -0.10472
|
||||||
|
texture = SubResource( 5 )
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
shape = SubResource( 1 )
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
[node name="Speaker" type="Node" parent="."]
|
[node name="Speaker" type="Node" parent="."]
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/Idle = SubResource( 6 )
|
||||||
|
114
client/Nodes/NPCs/Worker.tscn
Normal file
114
client/Nodes/NPCs/Worker.tscn
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://Scripts/Component/StorySpeaker.gd" type="Script" id=1]
|
||||||
|
[ext_resource path="res://Assets/Art/Characters/worker.png" type="Texture" id=2]
|
||||||
|
[ext_resource path="res://Scripts/Component/InteractableDialog.gd" type="Script" id=3]
|
||||||
|
|
||||||
|
[sub_resource type="RectangleShape2D" id=1]
|
||||||
|
extents = Vector2( 13.908, 10 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=7]
|
||||||
|
atlas = ExtResource( 2 )
|
||||||
|
region = Rect2( 4, 0, 8, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=8]
|
||||||
|
atlas = ExtResource( 2 )
|
||||||
|
region = Rect2( 2, 0, 2, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="AtlasTexture" id=9]
|
||||||
|
atlas = ExtResource( 2 )
|
||||||
|
region = Rect2( 12, 0, 2, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id=6]
|
||||||
|
resource_name = "Idle"
|
||||||
|
length = 2.0
|
||||||
|
loop = true
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/path = NodePath("Torso/RightArm:position:x")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"points": PoolRealArray( -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0, -5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/path = NodePath("Torso/RightArm:position:y")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/path = NodePath("Torso/RightArm:rotation_degrees")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, 6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/3/type = "bezier"
|
||||||
|
tracks/3/path = NodePath("Torso/LeftArm:position:x")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"points": PoolRealArray( 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0, 5, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/4/type = "bezier"
|
||||||
|
tracks/4/path = NodePath("Torso/LeftArm:position:y")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -0.25, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
tracks/5/type = "bezier"
|
||||||
|
tracks/5/path = NodePath("Torso/LeftArm:rotation_degrees")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"points": PoolRealArray( 0, -0.25, 0, 0.25, 0, -6, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0 ),
|
||||||
|
"times": PoolRealArray( 0, 1, 2 )
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Worker" type="Area2D"]
|
||||||
|
script = ExtResource( 3 )
|
||||||
|
__meta__ = {
|
||||||
|
"_edit_group_": true
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="Speaker" type="Node" parent="."]
|
||||||
|
script = ExtResource( 1 )
|
||||||
|
speaker_name = "Worker"
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||||
|
shape = SubResource( 1 )
|
||||||
|
|
||||||
|
[node name="Torso" type="Sprite" parent="."]
|
||||||
|
texture = SubResource( 7 )
|
||||||
|
|
||||||
|
[node name="RightArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( -5, -0.25 )
|
||||||
|
rotation = 0.10472
|
||||||
|
texture = SubResource( 8 )
|
||||||
|
|
||||||
|
[node name="LeftArm" type="Sprite" parent="Torso"]
|
||||||
|
position = Vector2( 5, -0.25 )
|
||||||
|
rotation = -0.10472
|
||||||
|
texture = SubResource( 9 )
|
||||||
|
|
||||||
|
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
|
||||||
|
anims/Idle = SubResource( 6 )
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +1,11 @@
|
|||||||
[gd_resource type="TileSet" load_steps=100 format=2]
|
[gd_resource type="TileSet" load_steps=150 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Nodes/Tiles/tileset_science_lab.png" type="Texture" id=1]
|
[ext_resource path="res://Nodes/Tiles/tileset_science_lab.png" type="Texture" id=1]
|
||||||
[ext_resource path="res://Assets/Art/platform.png" type="Texture" id=2]
|
[ext_resource path="res://Assets/Art/platform.png" type="Texture" id=2]
|
||||||
[ext_resource path="res://Assets/Art/metal_wall.png" type="Texture" id=3]
|
[ext_resource path="res://Assets/Art/metal_wall.png" type="Texture" id=3]
|
||||||
[ext_resource path="res://Assets/Art/window.png" type="Texture" id=4]
|
[ext_resource path="res://Assets/Art/window.png" type="Texture" id=4]
|
||||||
|
[ext_resource path="res://Assets/Art/Tiles/dirt.png" type="Texture" id=5]
|
||||||
|
[ext_resource path="res://Assets/Art/Tiles/glass_tile.png" type="Texture" id=6]
|
||||||
|
|
||||||
[sub_resource type="OccluderPolygon2D" id=1]
|
[sub_resource type="OccluderPolygon2D" id=1]
|
||||||
polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
@ -287,8 +289,152 @@ points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
|||||||
[sub_resource type="ConvexPolygonShape2D" id=94]
|
[sub_resource type="ConvexPolygonShape2D" id=94]
|
||||||
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
[sub_resource type="ConvexPolygonShape2D" id=95]
|
[sub_resource type="ConvexPolygonShape2D" id=144]
|
||||||
points = PoolVector2Array( 16, 9, 0, 9, 0, 7, 16, 7 )
|
points = PoolVector2Array( 16, 7.15126, 0, 7.15126, 0, 6.95655, 16, 6.95655 )
|
||||||
|
|
||||||
|
[sub_resource type="OccluderPolygon2D" id=96]
|
||||||
|
polygon = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=97]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=98]
|
||||||
|
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=99]
|
||||||
|
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=100]
|
||||||
|
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=101]
|
||||||
|
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=102]
|
||||||
|
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=103]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=104]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=105]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=106]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=107]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=108]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=109]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=110]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=111]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=112]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=113]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=114]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=115]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=116]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=117]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=118]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=119]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=120]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=121]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=122]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=123]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=124]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=125]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=126]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=127]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=128]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=129]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=130]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=131]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=132]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=133]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=134]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=135]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=136]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=137]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=138]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=139]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=140]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=141]
|
||||||
|
points = PoolVector2Array( 0, 0, 16, 0, 16, 16, 0, 16 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=142]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape2D" id=143]
|
||||||
|
points = PoolVector2Array( 16, 16, 0, 16, 0, 0, 16, 0 )
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
47/name = "tileset_science_lab.png 47"
|
47/name = "tileset_science_lab.png 47"
|
||||||
@ -616,14 +762,14 @@ points = PoolVector2Array( 16, 9, 0, 9, 0, 7, 16, 7 )
|
|||||||
48/navigation_offset = Vector2( 0, 0 )
|
48/navigation_offset = Vector2( 0, 0 )
|
||||||
48/shape_offset = Vector2( 0, 0 )
|
48/shape_offset = Vector2( 0, 0 )
|
||||||
48/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
48/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
48/shape = SubResource( 95 )
|
48/shape = SubResource( 144 )
|
||||||
48/shape_one_way = true
|
48/shape_one_way = true
|
||||||
48/shape_one_way_margin = 1.0
|
48/shape_one_way_margin = 1.0
|
||||||
48/shapes = [ {
|
48/shapes = [ {
|
||||||
"autotile_coord": Vector2( 0, 0 ),
|
"autotile_coord": Vector2( 0, 0 ),
|
||||||
"one_way": true,
|
"one_way": true,
|
||||||
"one_way_margin": 1.0,
|
"one_way_margin": 1.0,
|
||||||
"shape": SubResource( 95 ),
|
"shape": SubResource( 144 ),
|
||||||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
} ]
|
} ]
|
||||||
48/z_index = 0
|
48/z_index = 0
|
||||||
@ -673,3 +819,332 @@ points = PoolVector2Array( 16, 9, 0, 9, 0, 7, 16, 7 )
|
|||||||
50/shape_one_way_margin = 0.0
|
50/shape_one_way_margin = 0.0
|
||||||
50/shapes = [ ]
|
50/shapes = [ ]
|
||||||
50/z_index = 0
|
50/z_index = 0
|
||||||
|
51/name = "dirt.png 51"
|
||||||
|
51/texture = ExtResource( 5 )
|
||||||
|
51/tex_offset = Vector2( 0, 0 )
|
||||||
|
51/modulate = Color( 1, 1, 1, 1 )
|
||||||
|
51/region = Rect2( 0, 0, 176, 80 )
|
||||||
|
51/tile_mode = 1
|
||||||
|
51/autotile/bitmask_mode = 1
|
||||||
|
51/autotile/bitmask_flags = [ Vector2( 0, 0 ), 432, Vector2( 0, 1 ), 438, Vector2( 0, 2 ), 54, Vector2( 0, 3 ), 48, Vector2( 1, 0 ), 504, Vector2( 1, 1 ), 511, Vector2( 1, 2 ), 63, Vector2( 1, 3 ), 56, Vector2( 2, 0 ), 216, Vector2( 2, 1 ), 219, Vector2( 2, 2 ), 27, Vector2( 2, 3 ), 24, Vector2( 3, 0 ), 144, Vector2( 3, 1 ), 146, Vector2( 3, 2 ), 18, Vector2( 3, 3 ), 16, Vector2( 4, 0 ), 176, Vector2( 4, 1 ), 182, Vector2( 4, 2 ), 434, Vector2( 4, 3 ), 50, Vector2( 4, 4 ), 178, Vector2( 5, 0 ), 248, Vector2( 5, 1 ), 255, Vector2( 5, 2 ), 507, Vector2( 5, 3 ), 59, Vector2( 5, 4 ), 251, Vector2( 6, 0 ), 440, Vector2( 6, 1 ), 447, Vector2( 6, 2 ), 510, Vector2( 6, 3 ), 62, Vector2( 6, 4 ), 446, Vector2( 7, 0 ), 152, Vector2( 7, 1 ), 155, Vector2( 7, 2 ), 218, Vector2( 7, 3 ), 26, Vector2( 7, 4 ), 154, Vector2( 8, 0 ), 184, Vector2( 8, 1 ), 191, Vector2( 8, 2 ), 506, Vector2( 8, 3 ), 58, Vector2( 8, 4 ), 186, Vector2( 9, 0 ), 443, Vector2( 9, 1 ), 254, Vector2( 9, 2 ), 442, Vector2( 9, 3 ), 190, Vector2( 10, 2 ), 250, Vector2( 10, 3 ), 187 ]
|
||||||
|
51/autotile/icon_coordinate = Vector2( 0, 0 )
|
||||||
|
51/autotile/tile_size = Vector2( 16, 16 )
|
||||||
|
51/autotile/spacing = 0
|
||||||
|
51/autotile/occluder_map = [ Vector2( 1, 1 ), SubResource( 96 ) ]
|
||||||
|
51/autotile/navpoly_map = [ ]
|
||||||
|
51/autotile/priority_map = [ ]
|
||||||
|
51/autotile/z_index_map = [ ]
|
||||||
|
51/occluder_offset = Vector2( 0, 0 )
|
||||||
|
51/navigation_offset = Vector2( 0, 0 )
|
||||||
|
51/shape_offset = Vector2( 0, 0 )
|
||||||
|
51/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
51/shape = SubResource( 97 )
|
||||||
|
51/shape_one_way = false
|
||||||
|
51/shape_one_way_margin = 1.0
|
||||||
|
51/shapes = [ {
|
||||||
|
"autotile_coord": Vector2( 0, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 97 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 1, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 98 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 2, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 99 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 3, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 100 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 3, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 101 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 2, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 102 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 1, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 103 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 0, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 104 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 0, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 105 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 1, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 106 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 2, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 107 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 3, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 108 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 0, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 109 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 1, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 110 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 2, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 111 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 3, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 112 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 4, 4 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 113 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 5, 4 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 114 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 6, 4 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 115 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 7, 4 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 116 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 8, 4 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 117 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 8, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 118 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 8, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 119 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 8, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 120 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 8, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 121 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 9, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 122 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 9, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 123 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 9, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 124 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 10, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 125 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 10, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 126 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 9, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 127 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 4, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 128 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 5, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 129 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 6, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 130 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 7, 0 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 131 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 4, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 132 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 5, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 133 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 6, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 134 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 7, 1 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 135 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 4, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 136 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 5, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 137 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 6, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 138 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 7, 2 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 139 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 4, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 140 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 5, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 141 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 6, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 142 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
}, {
|
||||||
|
"autotile_coord": Vector2( 7, 3 ),
|
||||||
|
"one_way": false,
|
||||||
|
"one_way_margin": 1.0,
|
||||||
|
"shape": SubResource( 143 ),
|
||||||
|
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
} ]
|
||||||
|
51/z_index = 0
|
||||||
|
52/name = "glass_tile.png 52"
|
||||||
|
52/texture = ExtResource( 6 )
|
||||||
|
52/tex_offset = Vector2( 0, 0 )
|
||||||
|
52/modulate = Color( 1, 1, 1, 1 )
|
||||||
|
52/region = Rect2( 0, 0, 176, 80 )
|
||||||
|
52/tile_mode = 1
|
||||||
|
52/autotile/bitmask_mode = 2
|
||||||
|
52/autotile/bitmask_flags = [ Vector2( 0, 0 ), 432, Vector2( 0, 1 ), 438, Vector2( 0, 2 ), 54, Vector2( 0, 3 ), 48, Vector2( 1, 0 ), 504, Vector2( 1, 1 ), 511, Vector2( 1, 2 ), 63, Vector2( 1, 3 ), 56, Vector2( 2, 0 ), 216, Vector2( 2, 1 ), 219, Vector2( 2, 2 ), 27, Vector2( 2, 3 ), 24, Vector2( 3, 0 ), 144, Vector2( 3, 1 ), 146, Vector2( 3, 2 ), 18, Vector2( 3, 3 ), 16, Vector2( 4, 0 ), 176, Vector2( 4, 1 ), 182, Vector2( 4, 2 ), 434, Vector2( 4, 3 ), 50, Vector2( 4, 4 ), 178, Vector2( 5, 0 ), 248, Vector2( 5, 1 ), 255, Vector2( 5, 2 ), 507, Vector2( 5, 3 ), 59, Vector2( 5, 4 ), 251, Vector2( 6, 0 ), 440, Vector2( 6, 1 ), 447, Vector2( 6, 2 ), 510, Vector2( 6, 3 ), 62, Vector2( 6, 4 ), 446, Vector2( 7, 0 ), 152, Vector2( 7, 1 ), 155, Vector2( 7, 2 ), 218, Vector2( 7, 3 ), 26, Vector2( 7, 4 ), 154, Vector2( 8, 0 ), 184, Vector2( 8, 1 ), 191, Vector2( 8, 2 ), 506, Vector2( 8, 3 ), 58, Vector2( 8, 4 ), 186, Vector2( 9, 0 ), 443, Vector2( 9, 1 ), 254, Vector2( 9, 2 ), 442, Vector2( 9, 3 ), 190, Vector2( 10, 2 ), 250, Vector2( 10, 3 ), 187 ]
|
||||||
|
52/autotile/icon_coordinate = Vector2( 0, 0 )
|
||||||
|
52/autotile/tile_size = Vector2( 16, 16 )
|
||||||
|
52/autotile/spacing = 0
|
||||||
|
52/autotile/occluder_map = [ ]
|
||||||
|
52/autotile/navpoly_map = [ ]
|
||||||
|
52/autotile/priority_map = [ ]
|
||||||
|
52/autotile/z_index_map = [ ]
|
||||||
|
52/occluder_offset = Vector2( 0, 0 )
|
||||||
|
52/navigation_offset = Vector2( 0, 0 )
|
||||||
|
52/shape_offset = Vector2( 0, 0 )
|
||||||
|
52/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||||
|
52/shape_one_way = false
|
||||||
|
52/shape_one_way_margin = 0.0
|
||||||
|
52/shapes = [ ]
|
||||||
|
52/z_index = 0
|
||||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=7 format=2]
|
[gd_scene load_steps=9 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://Nodes/Tiles/tileset_science_lab.tres" type="TileSet" id=1]
|
[ext_resource path="res://Nodes/Tiles/tileset_science_lab.tres" type="TileSet" id=1]
|
||||||
[ext_resource path="res://Nodes/NPCs/CEO.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://Nodes/NPCs/CEO.tscn" type="PackedScene" id=2]
|
||||||
@ -6,6 +6,8 @@
|
|||||||
[ext_resource path="res://Nodes/GUI.tscn" type="PackedScene" id=4]
|
[ext_resource path="res://Nodes/GUI.tscn" type="PackedScene" id=4]
|
||||||
[ext_resource path="res://Nodes/NPCs/Thadd.tscn" type="PackedScene" id=5]
|
[ext_resource path="res://Nodes/NPCs/Thadd.tscn" type="PackedScene" id=5]
|
||||||
[ext_resource path="res://Nodes/NPCs/Aura.tscn" type="PackedScene" id=6]
|
[ext_resource path="res://Nodes/NPCs/Aura.tscn" type="PackedScene" id=6]
|
||||||
|
[ext_resource path="res://Nodes/NPCs/Worker.tscn" type="PackedScene" id=7]
|
||||||
|
[ext_resource path="res://Nodes/NPCs/Soldier.tscn" type="PackedScene" id=8]
|
||||||
|
|
||||||
[node name="World" type="Node2D"]
|
[node name="World" type="Node2D"]
|
||||||
|
|
||||||
@ -13,13 +15,21 @@
|
|||||||
tile_set = ExtResource( 1 )
|
tile_set = ExtResource( 1 )
|
||||||
cell_size = Vector2( 16, 16 )
|
cell_size = Vector2( 16, 16 )
|
||||||
format = 1
|
format = 1
|
||||||
tile_data = PoolIntArray( 720897, 47, 0, 720898, 47, 1, 720899, 47, 1, 720900, 47, 1, 720901, 47, 1, 720902, 47, 1, 720903, 47, 1, 720904, 47, 1, 720905, 47, 1, 720906, 47, 1, 720907, 47, 1, 720908, 47, 1, 720909, 47, 1, 720910, 47, 1, 720911, 47, 1, 720912, 47, 1, 720913, 47, 1, 720914, 47, 1, 720915, 47, 1, 720916, 47, 1, 720917, 47, 1, 720918, 47, 1, 720919, 47, 1, 720920, 47, 1, 720921, 47, 1, 720922, 47, 1, 720923, 47, 1, 720924, 47, 1, 720925, 47, 1, 720926, 47, 1, 720927, 47, 2, 786433, 47, 65536, 786434, 47, 65537, 786435, 47, 65537, 786436, 47, 65537, 786437, 47, 65537, 786438, 47, 65537, 786439, 47, 65537, 786440, 47, 65537, 786441, 47, 65537, 786442, 47, 65537, 786443, 47, 65537, 786444, 47, 65537, 786445, 47, 65537, 786446, 47, 65537, 786447, 47, 65537, 786448, 47, 65537, 786449, 47, 65537, 786450, 47, 65537, 786451, 47, 65537, 786452, 47, 65537, 786453, 47, 65537, 786454, 47, 65537, 786455, 47, 65537, 786456, 47, 65537, 786457, 47, 65537, 786458, 47, 65537, 786459, 47, 65537, 786460, 47, 65537, 786461, 47, 65537, 786462, 47, 65537, 786463, 47, 65538, 851969, 47, 131072, 851970, 47, 131073, 851971, 47, 131073, 851972, 47, 131073, 851973, 47, 131073, 851974, 47, 131073, 851975, 47, 131073, 851976, 47, 131073, 851977, 47, 131073, 851978, 47, 131073, 851979, 47, 131073, 851980, 47, 131073, 851981, 47, 131073, 851982, 47, 131073, 851983, 47, 131073, 851984, 47, 131073, 851985, 47, 131073, 851986, 47, 131073, 851987, 47, 131073, 851988, 47, 131073, 851989, 47, 131073, 851990, 47, 131073, 851991, 47, 131073, 851992, 47, 131073, 851993, 47, 131073, 851994, 47, 131073, 851995, 47, 131073, 851996, 47, 131073, 851997, 47, 131073, 851998, 47, 131073, 851999, 47, 131074 )
|
tile_data = PoolIntArray( 393217, 49, 0, 393218, 49, 0, 393219, 49, 0, 393220, 49, 0, 393221, 49, 0, 524285, 47, 3, 524286, 48, 0, 524287, 47, 3, 458753, 49, 0, 458754, 52, 0, 458755, 52, 2, 458756, 49, 0, 458757, 49, 0, 589821, 47, 65539, 589822, 48, 0, 589823, 47, 65539, 524289, 49, 0, 524290, 52, 65536, 524291, 52, 65538, 524292, 49, 0, 524293, 49, 0, 655357, 47, 131075, 655358, 48, 0, 655359, 47, 131075, 589825, 49, 0, 589826, 52, 65536, 589827, 52, 65538, 589828, 49, 0, 589829, 49, 0, 655361, 49, 0, 655362, 52, 131072, 655363, 52, 131074, 655364, 49, 0, 655365, 49, 0, 786429, 51, 0, 786430, 51, 1, 786431, 51, 1, 720896, 51, 2, 720897, 47, 0, 720898, 47, 1, 720899, 47, 1, 720900, 47, 1, 720901, 47, 1, 720902, 47, 1, 720903, 47, 1, 720904, 47, 1, 720905, 47, 1, 720906, 47, 1, 720907, 47, 1, 720908, 47, 1, 720909, 47, 1, 720910, 47, 1, 720911, 47, 1, 720912, 47, 1, 720913, 47, 1, 720914, 47, 1, 720915, 47, 1, 720916, 47, 1, 720917, 47, 1, 720918, 47, 1, 720919, 47, 1, 720920, 47, 1, 720921, 47, 1, 720922, 47, 1, 720923, 47, 1, 720924, 47, 1, 720925, 47, 1, 720926, 47, 1, 720927, 47, 2, 851965, 51, 65536, 851966, 51, 65537, 851967, 51, 65537, 786432, 51, 65538, 786433, 47, 65536, 786434, 47, 65537, 786435, 47, 65537, 786436, 47, 65537, 786437, 47, 65537, 786438, 47, 65537, 786439, 47, 65537, 786440, 47, 65537, 786441, 47, 65537, 786442, 47, 65537, 786443, 47, 65537, 786444, 47, 65537, 786445, 47, 65537, 786446, 47, 65537, 786447, 47, 65537, 786448, 47, 65537, 786449, 47, 65537, 786450, 47, 65537, 786451, 47, 65537, 786452, 47, 65537, 786453, 47, 65537, 786454, 47, 65537, 786455, 47, 65537, 786456, 47, 65537, 786457, 47, 65537, 786458, 47, 65537, 786459, 47, 65537, 786460, 47, 65537, 786461, 47, 65537, 786462, 47, 65537, 786463, 47, 65538, 917501, 51, 131072, 917502, 51, 131073, 917503, 51, 131073, 851968, 51, 131074, 851969, 47, 131072, 851970, 47, 131073, 851971, 47, 131073, 851972, 47, 131073, 851973, 47, 131073, 851974, 47, 131073, 851975, 47, 131073, 851976, 47, 131073, 851977, 47, 131073, 851978, 47, 131073, 851979, 47, 131073, 851980, 47, 131073, 851981, 47, 131073, 851982, 47, 131073, 851983, 47, 131073, 851984, 47, 131073, 851985, 47, 131073, 851986, 47, 131073, 851987, 47, 131073, 851988, 47, 131073, 851989, 47, 131073, 851990, 47, 131073, 851991, 47, 131073, 851992, 47, 131073, 851993, 47, 131073, 851994, 47, 131073, 851995, 47, 131073, 851996, 47, 131073, 851997, 47, 131073, 851998, 47, 131073, 851999, 47, 131074 )
|
||||||
|
|
||||||
|
[node name="Worker" parent="." instance=ExtResource( 7 )]
|
||||||
|
position = Vector2( -48.0134, 200.126 )
|
||||||
|
face_right_init = false
|
||||||
|
reset_after_dialog = true
|
||||||
|
|
||||||
|
[node name="Soldier" parent="Worker" instance=ExtResource( 8 )]
|
||||||
|
position = Vector2( 208.232, -31.4683 )
|
||||||
|
|
||||||
[node name="Scientist" parent="." instance=ExtResource( 2 )]
|
[node name="Scientist" parent="." instance=ExtResource( 2 )]
|
||||||
position = Vector2( 182.674, 166.939 )
|
position = Vector2( 182.674, 166.939 )
|
||||||
|
|
||||||
[node name="Player" parent="." instance=ExtResource( 3 )]
|
[node name="Player" parent="." instance=ExtResource( 3 )]
|
||||||
position = Vector2( 90.0225, 142.418 )
|
position = Vector2( 82.2741, 164.848 )
|
||||||
|
|
||||||
[node name="GUI" parent="." instance=ExtResource( 4 )]
|
[node name="GUI" parent="." instance=ExtResource( 4 )]
|
||||||
|
|
||||||
|
Binary file not shown.
Binary file not shown.
@ -1,9 +1,26 @@
|
|||||||
extends "res://Scripts/Component/Interactable.gd"
|
extends "res://Scripts/Component/Interactable.gd"
|
||||||
|
|
||||||
export var dialog_name : String = "unconfigured"
|
export var dialog_name : String = "unconfigured"
|
||||||
|
export var face_right_init = true
|
||||||
|
export var face_on_interact = true
|
||||||
|
export var reset_after_dialog = false
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
|
if $AnimationPlayer:
|
||||||
|
$AnimationPlayer.play("Idle")
|
||||||
|
$AnimationPlayer.seek(rand_range(0.0, 2.0), true)
|
||||||
connect("interacted", self, "_on_interact")
|
connect("interacted", self, "_on_interact")
|
||||||
|
$Speaker.connect("dialog_exited", self, "_on_dialog_exit")
|
||||||
|
if $Torso:
|
||||||
|
$Torso.flip_h = face_right_init
|
||||||
|
|
||||||
func _on_interact():
|
func _on_interact():
|
||||||
|
if $Torso:
|
||||||
|
if face_on_interact:
|
||||||
|
$Torso.flip_h = global_position.x < player.global_position.x
|
||||||
$Speaker.start_dialog(dialog_name)
|
$Speaker.start_dialog(dialog_name)
|
||||||
|
|
||||||
|
func _on_dialog_exit():
|
||||||
|
if $Torso:
|
||||||
|
if reset_after_dialog:
|
||||||
|
$Torso.flip_h = face_right_init
|
||||||
|
@ -7,7 +7,8 @@ func _ready():
|
|||||||
$Speaker.speaker_name = "Aura"
|
$Speaker.speaker_name = "Aura"
|
||||||
connect("body_entered", self, "_on_body_enter")
|
connect("body_entered", self, "_on_body_enter")
|
||||||
connect("body_exited", self, "_on_body_exit")
|
connect("body_exited", self, "_on_body_exit")
|
||||||
#$Speaker.connect("dialog_exited", self, "_next")
|
$AnimationPlayer.play("Idle")
|
||||||
|
$AnimationPlayer.seek(rand_range(0.0,2.0))
|
||||||
|
|
||||||
func _on_body_enter(body):
|
func _on_body_enter(body):
|
||||||
if body.has_method("add_interactable"):
|
if body.has_method("add_interactable"):
|
||||||
@ -16,7 +17,7 @@ func _on_body_enter(body):
|
|||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
if state == 1 and not $Speaker.gui.is_in_dialog():
|
if state == 1 and not $Speaker.gui.is_in_dialog():
|
||||||
$Sprite.frame = 0
|
$AnimationPlayer.play("Shoot")
|
||||||
$Speaker.start_dialog("aura_meeting_gun")
|
$Speaker.start_dialog("aura_meeting_gun")
|
||||||
state = 2
|
state = 2
|
||||||
elif state == 2 and not $Speaker.gui.is_in_dialog():
|
elif state == 2 and not $Speaker.gui.is_in_dialog():
|
||||||
|
@ -7,8 +7,11 @@ func _ready():
|
|||||||
$Speaker.speaker_name = "CEO Grant Blevins"
|
$Speaker.speaker_name = "CEO Grant Blevins"
|
||||||
$Speaker.speaker = "ceo"
|
$Speaker.speaker = "ceo"
|
||||||
$Speaker.connect("dialog_exited", self, "_on_dialog_exit")
|
$Speaker.connect("dialog_exited", self, "_on_dialog_exit")
|
||||||
|
$AnimationPlayer.play("Idle")
|
||||||
|
$AnimationPlayer.seek(rand_range(0.0, 2.0), true)
|
||||||
|
|
||||||
func _on_interact():
|
func _on_interact():
|
||||||
|
$Torso.flip_h = global_position.x < player.global_position.x
|
||||||
if state == 0:
|
if state == 0:
|
||||||
$Speaker.start_dialog("intro_meet_ceo")
|
$Speaker.start_dialog("intro_meet_ceo")
|
||||||
if player:
|
if player:
|
||||||
|
@ -4,6 +4,8 @@ export var start_on_play = true
|
|||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
connect("interacted", self, "_on_interact")
|
connect("interacted", self, "_on_interact")
|
||||||
|
$AnimationPlayer.play("Idle")
|
||||||
|
$AnimationPlayer.seek(rand_range(0.0, 2.0), true)
|
||||||
$Speaker.speaker = "fast_talker"
|
$Speaker.speaker = "fast_talker"
|
||||||
$Speaker.speaker_name = "Dr.Thadd"
|
$Speaker.speaker_name = "Dr.Thadd"
|
||||||
$Speaker.connect("dialog_exited", self, "give_tip")
|
$Speaker.connect("dialog_exited", self, "give_tip")
|
||||||
@ -12,6 +14,7 @@ func _ready():
|
|||||||
|
|
||||||
func _on_interact():
|
func _on_interact():
|
||||||
$Speaker.start_dialog("intro_science_followup")
|
$Speaker.start_dialog("intro_science_followup")
|
||||||
|
$Torso.flip_h = global_position.x < player.global_position.x
|
||||||
|
|
||||||
func give_tip():
|
func give_tip():
|
||||||
$Speaker.gui.display_tip("Used A & D to move\nleft and right")
|
$Speaker.gui.display_tip("Used A & D to move\nleft and right")
|
||||||
|
@ -3,13 +3,14 @@ extends KinematicBody2D
|
|||||||
export var clearance_level = 0
|
export var clearance_level = 0
|
||||||
|
|
||||||
# Environment variables
|
# Environment variables
|
||||||
export var baseGravity : float = 9.8
|
var baseGravity : float = 9.8
|
||||||
|
|
||||||
# Player movment variables
|
# Player movment variables
|
||||||
export var maxMoveVelocity : float = 300
|
var maxMoveVelocity : float = 150
|
||||||
export var moveAcceleration : float = 15
|
var moveAcceleration : float = 25
|
||||||
export var moveFriction : float = 45
|
var moveFriction : float = 65
|
||||||
export var jumpVelocity : float = -150
|
var jumpVelocity : float = -150
|
||||||
|
var jumped = false
|
||||||
|
|
||||||
var moveMotion : float = 0 # Player Input ( <- & -> )
|
var moveMotion : float = 0 # Player Input ( <- & -> )
|
||||||
var motion : Vector2 = Vector2(0,0) # Player's current velocity
|
var motion : Vector2 = Vector2(0,0) # Player's current velocity
|
||||||
@ -25,7 +26,7 @@ func add_item(item):
|
|||||||
equip_item(item)
|
equip_item(item)
|
||||||
|
|
||||||
func equip_item(item):
|
func equip_item(item):
|
||||||
var node = get_node_or_null("Torso/RightArm/RightForearm/LeftHand/Node2D/" + item)
|
var node = get_node_or_null("Sprite/Torso/RightArm/RightForearm/LeftHand/Node2D/" + item)
|
||||||
if node:
|
if node:
|
||||||
equiped = item
|
equiped = item
|
||||||
node.show()
|
node.show()
|
||||||
@ -40,6 +41,7 @@ func remove_interactable(interactable):
|
|||||||
interactables.remove(loc)
|
interactables.remove(loc)
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
|
jumped = false
|
||||||
|
|
||||||
# Gravity
|
# Gravity
|
||||||
motion.y += baseGravity
|
motion.y += baseGravity
|
||||||
@ -67,8 +69,11 @@ func user_input():
|
|||||||
interactables[0].interact()
|
interactables[0].interact()
|
||||||
|
|
||||||
if is_on_floor() and Input.is_action_just_pressed("ui_up") and Input.is_action_pressed("ui_down"):
|
if is_on_floor() and Input.is_action_just_pressed("ui_up") and Input.is_action_pressed("ui_down"):
|
||||||
position.y = position.y + 2
|
var test_pos = Vector2(position.x,position.y+5)
|
||||||
return
|
|
||||||
|
if not test_move(Transform2D(0,test_pos), Vector2(0,8)):
|
||||||
|
position.y = position.y + 8
|
||||||
|
return
|
||||||
|
|
||||||
if(Input.is_action_pressed("ui_left")):
|
if(Input.is_action_pressed("ui_left")):
|
||||||
moveMotion -= moveAcceleration
|
moveMotion -= moveAcceleration
|
||||||
@ -77,6 +82,7 @@ func user_input():
|
|||||||
|
|
||||||
if(is_on_floor() and Input.is_action_just_pressed("ui_up")):
|
if(is_on_floor() and Input.is_action_just_pressed("ui_up")):
|
||||||
motion.y = jumpVelocity
|
motion.y = jumpVelocity
|
||||||
|
jumped = true
|
||||||
|
|
||||||
if is_on_floor() and (!Input.is_action_pressed("ui_left") and !Input.is_action_pressed("ui_right")):
|
if is_on_floor() and (!Input.is_action_pressed("ui_left") and !Input.is_action_pressed("ui_right")):
|
||||||
if moveMotion > 0:
|
if moveMotion > 0:
|
||||||
@ -86,12 +92,19 @@ func user_input():
|
|||||||
|
|
||||||
func animation_manager(motion : float):
|
func animation_manager(motion : float):
|
||||||
|
|
||||||
if moveMotion > 0:
|
if not is_on_floor():
|
||||||
|
$AnimationPlayer.play("InAir")
|
||||||
|
elif jumped:
|
||||||
|
if $AnimationPlayer.current_animation != "Jump":
|
||||||
|
$AnimationPlayer.play("Jump")
|
||||||
|
elif moveMotion > 0:
|
||||||
$AnimationPlayer.playback_speed = abs(motion)/200
|
$AnimationPlayer.playback_speed = abs(motion)/200
|
||||||
$AnimationPlayer.play("RunRight")
|
if $AnimationPlayer.current_animation != "RunRight":
|
||||||
|
$AnimationPlayer.play("RunRight")
|
||||||
elif moveMotion < 0:
|
elif moveMotion < 0:
|
||||||
$AnimationPlayer.playback_speed = abs(motion)/200
|
$AnimationPlayer.playback_speed = abs(motion)/200
|
||||||
$AnimationPlayer.play("RunLeft")
|
if $AnimationPlayer.current_animation != "RunLeft":
|
||||||
|
$AnimationPlayer.play("RunLeft")
|
||||||
else:
|
else:
|
||||||
$AnimationPlayer.playback_speed = 1
|
$AnimationPlayer.playback_speed = 1
|
||||||
$AnimationPlayer.play("Idle")
|
$AnimationPlayer.play("Idle")
|
||||||
|
@ -2,11 +2,63 @@ extends Control
|
|||||||
|
|
||||||
const SCROLL_SPEED = 25
|
const SCROLL_SPEED = 25
|
||||||
|
|
||||||
|
var scroll_timer : Timer
|
||||||
|
const SCROLL_TIP_DELAY = 5
|
||||||
|
const SCROLL_FADE_RATE = 0.05
|
||||||
|
const SCROLL_SHOW_RATE = 5
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
$"/root/MusicManager".play_music("Dystopian/The Story Continues")
|
$"/root/MusicManager".play_music("Dystopian/The Story Continues", false)
|
||||||
|
if not scroll_timer:
|
||||||
|
scroll_timer = Timer.new()
|
||||||
|
add_child(scroll_timer)
|
||||||
|
$Tip.modulate.a = 0
|
||||||
|
scroll_timer.connect("timeout", self, "display_tip")
|
||||||
|
scroll_timer.start(SCROLL_TIP_DELAY)
|
||||||
|
set_completed()
|
||||||
|
|
||||||
func _process(delta):
|
func _process(delta):
|
||||||
$Scolling.rect_position.y = $Scolling.rect_position.y - delta * SCROLL_SPEED
|
|
||||||
|
|
||||||
|
if Input.is_action_pressed("ui_accept"):
|
||||||
|
$Scolling.rect_position.y = $Scolling.rect_position.y - delta * SCROLL_SPEED * 10
|
||||||
|
else:
|
||||||
|
$Scolling.rect_position.y = $Scolling.rect_position.y - delta * SCROLL_SPEED
|
||||||
if abs($Scolling.rect_position.y) > $Scolling.rect_size.y + 100:
|
if abs($Scolling.rect_position.y) > $Scolling.rect_size.y + 100:
|
||||||
get_tree().change_scene("res://Scenes/Title.scn")
|
get_tree().change_scene("res://Scenes/Title.scn")
|
||||||
|
|
||||||
|
func display_tip():
|
||||||
|
$Tip.modulate.a = 0
|
||||||
|
$Tip.text = "Press SPACE to speed up."
|
||||||
|
$Tip.show()
|
||||||
|
scroll_timer.disconnect("timeout", self, "display_tip")
|
||||||
|
scroll_timer.disconnect("timeout", self, "fade_tip_out")
|
||||||
|
scroll_timer.disconnect("timeout", self, "start_fade_tip_out")
|
||||||
|
scroll_timer.connect("timeout", self, "fade_tip_in")
|
||||||
|
scroll_timer.start(SCROLL_FADE_RATE)
|
||||||
|
|
||||||
|
func start_fade_tip_out():
|
||||||
|
scroll_timer.disconnect("timeout", self, "display_tip")
|
||||||
|
scroll_timer.disconnect("timeout", self, "fade_tip_in")
|
||||||
|
scroll_timer.disconnect("timeout", self, "start_fade_tip_out")
|
||||||
|
scroll_timer.connect("timeout", self, "fade_tip_out")
|
||||||
|
scroll_timer.start(SCROLL_FADE_RATE)
|
||||||
|
|
||||||
|
func fade_tip_in():
|
||||||
|
$Tip.modulate.a = clamp($Tip.modulate.a + 0.1, 0, 1)
|
||||||
|
if $Tip.modulate.a == 1:
|
||||||
|
scroll_timer.disconnect("timeout", self, "display_tip")
|
||||||
|
scroll_timer.disconnect("timeout", self, "fade_tip_out")
|
||||||
|
scroll_timer.disconnect("timeout", self, "fade_tip_in")
|
||||||
|
scroll_timer.connect("timeout", self, "start_fade_tip_out")
|
||||||
|
scroll_timer.start(SCROLL_SHOW_RATE)
|
||||||
|
|
||||||
|
func fade_tip_out():
|
||||||
|
$Tip.modulate.a = clamp($Tip.modulate.a - 0.1, 0, 1)
|
||||||
|
if $Tip.modulate.a == 0:
|
||||||
|
scroll_timer.stop()
|
||||||
|
|
||||||
|
func set_completed():
|
||||||
|
var file = File.new()
|
||||||
|
file.open("user://progress.json", File.WRITE)
|
||||||
|
file.store_string(to_json({"completed":"true"}))
|
||||||
|
file.close()
|
||||||
|
@ -10,8 +10,8 @@ func _ready():
|
|||||||
audio_player = AudioStreamPlayer.new()
|
audio_player = AudioStreamPlayer.new()
|
||||||
add_child(audio_player)
|
add_child(audio_player)
|
||||||
$Fader/ColorRect.show()
|
$Fader/ColorRect.show()
|
||||||
play_sound(preload("res://Assets/Sfx/intro/processed.wav"))
|
play_sound(preload("res://Assets/Sfx/intro/doop.wav"))
|
||||||
|
|
||||||
func play_sound(audio_stream):
|
func play_sound(audio_stream):
|
||||||
audio_player.stream = audio_stream
|
audio_player.stream = audio_stream
|
||||||
#audio_player.play()
|
audio_player.play()
|
||||||
|
@ -14,6 +14,7 @@ func _ready():
|
|||||||
$CreditsButton.connect("button_down", self, "_on_button_press", ["credits"])
|
$CreditsButton.connect("button_down", self, "_on_button_press", ["credits"])
|
||||||
$OptionsButton.connect("button_down", self, "_on_button_press", ["options"])
|
$OptionsButton.connect("button_down", self, "_on_button_press", ["options"])
|
||||||
$BugButton.connect("button_down", self, "_on_button_press", ["bug"])
|
$BugButton.connect("button_down", self, "_on_button_press", ["bug"])
|
||||||
|
check_completion()
|
||||||
|
|
||||||
|
|
||||||
func _on_button_press(button):
|
func _on_button_press(button):
|
||||||
@ -29,3 +30,20 @@ func _on_button_press(button):
|
|||||||
get_parent().get_parent().get_node("OptionsDialog").popup_centered()
|
get_parent().get_parent().get_node("OptionsDialog").popup_centered()
|
||||||
"bug":
|
"bug":
|
||||||
OS.shell_open("https://github.com/josephbmanley/the-connection/issues/new?labels=bug&template=1_bug_report.md")
|
OS.shell_open("https://github.com/josephbmanley/the-connection/issues/new?labels=bug&template=1_bug_report.md")
|
||||||
|
"feedback":
|
||||||
|
OS.shell_open("https://cloudsumu.com/r/confeedback")
|
||||||
|
|
||||||
|
func check_completion():
|
||||||
|
var file = File.new()
|
||||||
|
if file.file_exists("user://progress.json"):
|
||||||
|
file.open("user://progress.json", File.READ)
|
||||||
|
var data = parse_json(file.get_as_text())
|
||||||
|
file.close()
|
||||||
|
if typeof(data) == TYPE_DICTIONARY:
|
||||||
|
if "completed" in data:
|
||||||
|
if data["completed"] == "true":
|
||||||
|
var feed_back_button = Button.new()
|
||||||
|
feed_back_button.text = "Give Feedback"
|
||||||
|
feed_back_button.connect("button_down", self, "_on_button_press", ["feedback"])
|
||||||
|
add_child(feed_back_button)
|
||||||
|
move_child(feed_back_button, 3)
|
||||||
|
@ -91,7 +91,7 @@ custom_features=""
|
|||||||
export_filter="all_resources"
|
export_filter="all_resources"
|
||||||
include_filter="*"
|
include_filter="*"
|
||||||
exclude_filter=""
|
exclude_filter=""
|
||||||
export_path=""
|
export_path="../../../Downloads/build/The Connection.x86_64"
|
||||||
patch_list=PoolStringArray( )
|
patch_list=PoolStringArray( )
|
||||||
script_export_mode=1
|
script_export_mode=1
|
||||||
script_encryption_key=""
|
script_encryption_key=""
|
||||||
|
@ -74,6 +74,7 @@ interact={
|
|||||||
"deadzone": 0.5,
|
"deadzone": 0.5,
|
||||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"unicode":0,"echo":false,"script":null)
|
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":69,"unicode":0,"echo":false,"script":null)
|
||||||
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":88,"unicode":0,"echo":false,"script":null)
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":88,"unicode":0,"echo":false,"script":null)
|
||||||
|
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777221,"unicode":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user