@@ -1,3 +1,3 @@ | |||
source_md5="e41723119ad098ee6d774b2f16a39de9" | |||
dest_md5="756d0b8eb8901dc659e286aee8d54ccf" | |||
source_md5="86074a28b273b2351f5c7e74e0073a2f" | |||
dest_md5="11c6e7c9bde0cc292ec036e432b178d1" | |||
@@ -2,118 +2,118 @@ | |||
[ext_resource path="res://Data/Graphics/Tileset.png" type="Texture" id=1] | |||
[sub_resource type="ConvexPolygonShape2D" id=3] | |||
[sub_resource type="ConvexPolygonShape2D" id=1] | |||
points = PoolVector2Array( 32.8313, 6.08595, 64, 6.27976, 64, 64, 5.89214, 64, 5.89214, 33.4127 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=4] | |||
[sub_resource type="ConvexPolygonShape2D" id=2] | |||
points = PoolVector2Array( 30.9994, 6.27976, 58.1323, 33.6065, 57.9385, 64, 0, 64, 0.184143, 6.27976 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=5] | |||
[sub_resource type="ConvexPolygonShape2D" id=3] | |||
points = PoolVector2Array( 0, 0, 57.9385, 0, 57.9385, 30.8056, 30.6118, 58.1323, 0, 58.1323 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=6] | |||
[sub_resource type="ConvexPolygonShape2D" id=4] | |||
points = PoolVector2Array( 6.08595, 30.8056, 6.27975, 0, 64, 0, 64, 58.1323, 33.2189, 58.1323 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=7] | |||
[sub_resource type="ConvexPolygonShape2D" id=5] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 6.08595, 64, 6.27976 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=8] | |||
[sub_resource type="ConvexPolygonShape2D" id=6] | |||
points = PoolVector2Array( 57.9385, 64, 0, 64, 0, 0, 58.1323, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=9] | |||
[sub_resource type="ConvexPolygonShape2D" id=7] | |||
points = PoolVector2Array( 6.08595, 0, 64, 0, 64, 64, 5.89214, 64 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=10] | |||
[sub_resource type="ConvexPolygonShape2D" id=8] | |||
points = PoolVector2Array( 64, 57.9385, 0, 58.1323, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=11] | |||
[sub_resource type="ConvexPolygonShape2D" id=9] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=16] | |||
[sub_resource type="ConvexPolygonShape2D" id=10] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=17] | |||
[sub_resource type="ConvexPolygonShape2D" id=11] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=18] | |||
[sub_resource type="ConvexPolygonShape2D" id=12] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=19] | |||
[sub_resource type="ConvexPolygonShape2D" id=13] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=20] | |||
[sub_resource type="ConvexPolygonShape2D" id=14] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=21] | |||
[sub_resource type="ConvexPolygonShape2D" id=15] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=22] | |||
[sub_resource type="ConvexPolygonShape2D" id=16] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=23] | |||
[sub_resource type="ConvexPolygonShape2D" id=17] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=24] | |||
[sub_resource type="ConvexPolygonShape2D" id=18] | |||
points = PoolVector2Array( 27.3148, 6.27084, 37.3617, 6.3755, 58.2928, 27.8648, 58.0137, 36.7954, 37.0826, 58.2847, 27.5938, 58.2847, 6.10455, 36.5163, 6.38361, 26.7485 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=25] | |||
[sub_resource type="ConvexPolygonShape2D" id=19] | |||
points = PoolVector2Array( 64, 0, 64, 64, 5.0731, 63.9027, 0, 59.2514, 0, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=26] | |||
[sub_resource type="ConvexPolygonShape2D" id=20] | |||
points = PoolVector2Array( 64, 0, 64, 64, 0, 64, 0, 5.32932, 5.0731, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=27] | |||
[sub_resource type="ConvexPolygonShape2D" id=21] | |||
points = PoolVector2Array( 64, 64, 0, 64, 0, 0, 58.4137, 0, 64, 5.1355 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=28] | |||
[sub_resource type="ConvexPolygonShape2D" id=22] | |||
points = PoolVector2Array( 64, 58.0885, 58.2823, 64, 6.14835, 64, 6.14835, 27.4671, 27.2733, 5.95453, 64, 5.95453 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=29] | |||
[sub_resource type="ConvexPolygonShape2D" id=23] | |||
points = PoolVector2Array( 64, 58.2823, 0, 58.2823, 0, 6.14835, 64, 6.34213 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=30] | |||
[sub_resource type="ConvexPolygonShape2D" id=24] | |||
points = PoolVector2Array( 0, 6.14835, 36.876, 6.14835, 58.1947, 27.2733, 58.0009, 64, 5.86694, 64, 0, 58.2823 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=31] | |||
[sub_resource type="ConvexPolygonShape2D" id=25] | |||
points = PoolVector2Array( 58.0009, 64, 6.25452, 64, 6.25452, 0, 58.0009, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=32] | |||
[sub_resource type="ConvexPolygonShape2D" id=26] | |||
points = PoolVector2Array( 58.0009, 0, 58.0009, 36.6822, 36.4884, 58.1947, 0, 58.0009, 0, 6.06073, 6.25452, 0.246521 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=33] | |||
[sub_resource type="ConvexPolygonShape2D" id=27] | |||
points = PoolVector2Array( 64, 58.0009, 0, 58.1947, 0, 6.25452, 64, 6.25452 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=34] | |||
[sub_resource type="ConvexPolygonShape2D" id=28] | |||
points = PoolVector2Array( 57.8947, 0, 64, 6.61792, 64, 57.9767, 27.2733, 57.9767, 5.95453, 36.4641, 5.95453, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=35] | |||
[sub_resource type="ConvexPolygonShape2D" id=29] | |||
points = PoolVector2Array( 58.0885, 64, 5.95453, 64, 5.95453, 0, 57.8947, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=36] | |||
[sub_resource type="ConvexPolygonShape2D" id=30] | |||
points = PoolVector2Array( 64, 58.6942, 58.6075, 64, 0, 64, 0, 0, 64, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=37] | |||
[sub_resource type="ConvexPolygonShape2D" id=31] | |||
points = PoolVector2Array( 6.19214, 64, 5.99834, 26.8419, 27.5109, 5.52313, 36.8136, 5.71692, 57.9385, 27.2295, 57.9385, 64 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=38] | |||
[sub_resource type="ConvexPolygonShape2D" id=32] | |||
points = PoolVector2Array( 58.1323, 0, 58.1323, 64, 5.80453, 64, 0, 58.7761, 0, 6.06073, 5.99835, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=39] | |||
[sub_resource type="ConvexPolygonShape2D" id=33] | |||
points = PoolVector2Array( 64, 58.7761, 58.9514, 64, 6.04215, 64, 0, 57.6133, 0, 5.86691, 64, 6.06073 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=40] | |||
[sub_resource type="ConvexPolygonShape2D" id=34] | |||
points = PoolVector2Array( 64, 57.6133, 26.6295, 57.6133, 5.69833, 36.876, 5.89214, 27.5733, 27.2109, 6.06073, 64, 6.06073 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=41] | |||
[sub_resource type="ConvexPolygonShape2D" id=35] | |||
points = PoolVector2Array( 58.3699, 0, 64, 5.2417, 64, 57.9571, 59.1452, 63.7713, 5.84834, 64, 6.42976, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=42] | |||
[sub_resource type="ConvexPolygonShape2D" id=36] | |||
points = PoolVector2Array( 6.23596, 0, 57.7885, 0, 57.9823, 36.4008, 36.4698, 58.1071, 27.1671, 58.1071, 6.04214, 36.0132 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=43] | |||
[sub_resource type="ConvexPolygonShape2D" id=37] | |||
points = PoolVector2Array( 57.7447, 0, 64, 6.01691, 64, 57.9571, 0, 58.1509, 0, 5.43549, 5.41693, 0 ) | |||
[sub_resource type="ConvexPolygonShape2D" id=44] | |||
[sub_resource type="ConvexPolygonShape2D" id=38] | |||
points = PoolVector2Array( 0.527954, 6.21072, 36.576, 6.21072, 58.0885, 27.7233, 58.0885, 36.4445, 36.3822, 58.1509, 0, 57.7633 ) | |||
[resource] | |||
@@ -150,236 +150,236 @@ points = PoolVector2Array( 0.527954, 6.21072, 36.576, 6.21072, 58.0885, 27.7233, | |||
1/navigation_offset = Vector2( 0, 0 ) | |||
1/shape_offset = Vector2( 0, 0 ) | |||
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
1/shape = SubResource( 3 ) | |||
1/shape = SubResource( 1 ) | |||
1/shape_one_way = false | |||
1/shape_one_way_margin = 1.0 | |||
1/shapes = [ { | |||
"autotile_coord": Vector2( 0, 0 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 3 ), | |||
"shape": SubResource( 1 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 2, 0 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 4 ), | |||
"shape": SubResource( 2 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 2, 2 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 5 ), | |||
"shape": SubResource( 3 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 0, 2 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 6 ), | |||
"shape": SubResource( 4 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 0 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 7 ), | |||
"shape": SubResource( 5 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 2, 1 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 8 ), | |||
"shape": SubResource( 6 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 0, 1 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 9 ), | |||
"shape": SubResource( 7 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 2 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 10 ), | |||
"shape": SubResource( 8 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 1 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 11 ), | |||
"shape": SubResource( 9 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 3, 0 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 16 ), | |||
"shape": SubResource( 10 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 4, 0 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 17 ), | |||
"shape": SubResource( 11 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 5, 0 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 18 ), | |||
"shape": SubResource( 12 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 5, 1 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 19 ), | |||
"shape": SubResource( 13 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 5, 2 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 20 ), | |||
"shape": SubResource( 14 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 4, 2 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 21 ), | |||
"shape": SubResource( 15 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 3, 2 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 22 ), | |||
"shape": SubResource( 16 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 3, 1 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 23 ), | |||
"shape": SubResource( 17 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 4, 1 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 24 ), | |||
"shape": SubResource( 18 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 3 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 25 ), | |||
"shape": SubResource( 19 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 4 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 26 ), | |||
"shape": SubResource( 20 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 0, 4 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 27 ), | |||
"shape": SubResource( 21 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 3, 3 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 28 ), | |||
"shape": SubResource( 22 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 4, 3 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 29 ), | |||
"shape": SubResource( 23 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 5, 3 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 30 ), | |||
"shape": SubResource( 24 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 5, 4 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 31 ), | |||
"shape": SubResource( 25 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 5, 5 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 32 ), | |||
"shape": SubResource( 26 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 4, 5 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 33 ), | |||
"shape": SubResource( 27 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 3, 5 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 34 ), | |||
"shape": SubResource( 28 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 3, 4 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 35 ), | |||
"shape": SubResource( 29 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 0, 3 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 36 ), | |||
"shape": SubResource( 30 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 2, 4 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 37 ), | |||
"shape": SubResource( 31 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 2, 5 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 38 ), | |||
"shape": SubResource( 32 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 5 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 39 ), | |||
"shape": SubResource( 33 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 0, 5 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 40 ), | |||
"shape": SubResource( 34 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 6 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 41 ), | |||
"shape": SubResource( 35 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 1, 7 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 42 ), | |||
"shape": SubResource( 36 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 2, 6 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 43 ), | |||
"shape": SubResource( 37 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
}, { | |||
"autotile_coord": Vector2( 3, 6 ), | |||
"one_way": false, | |||
"one_way_margin": 1.0, | |||
"shape": SubResource( 44 ), | |||
"shape": SubResource( 38 ), | |||
"shape_transform": Transform2D( 1, 0, 0, 1, 0, 0 ) | |||
} ] | |||
1/z_index = 0 |
@@ -0,0 +1,25 @@ | |||
[gd_scene load_steps=4 format=2] | |||
[ext_resource path="res://Data/Scripts/Doorway.gd" type="Script" id=2] | |||
[ext_resource path="res://Data/Objects/HalfDoor.tscn" type="PackedScene" id=3] | |||
[sub_resource type="RectangleShape2D" id=1] | |||
extents = Vector2( 40, 40 ) | |||
[node name="Doorway" type="Node2D"] | |||
position = Vector2( 211.518, -137.077 ) | |||
script = ExtResource( 2 ) | |||
[node name="LeftDoor" parent="." instance=ExtResource( 3 )] | |||
position = Vector2( -18.0513, -0.440125 ) | |||
[node name="RightDoor" parent="." instance=ExtResource( 3 )] | |||
position = Vector2( 18.0682, -0.440125 ) | |||
scale = Vector2( -1, 1 ) | |||
[node name="Area2D" type="Area2D" parent="."] | |||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"] | |||
shape = SubResource( 1 ) | |||
[connection signal="body_entered" from="Area2D" to="." method="_on_Area2D_body_entered"] | |||
[connection signal="body_exited" from="Area2D" to="." method="_on_Area2D_body_exited"] |
@@ -4,13 +4,13 @@ | |||
[ext_resource path="res://Data/Scripts/Glowdot.gd" type="Script" id=2] | |||
[ext_resource path="res://Data/Shaders/Glowdot.shader" type="Shader" id=3] | |||
[sub_resource type="ShaderMaterial" id=2] | |||
[sub_resource type="ShaderMaterial" id=1] | |||
shader = ExtResource( 3 ) | |||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||
shader_param/fade_offset = 0.15 | |||
[node name="Glowdot" type="Sprite"] | |||
material = SubResource( 2 ) | |||
material = SubResource( 1 ) | |||
texture = ExtResource( 1 ) | |||
script = ExtResource( 2 ) | |||
@@ -0,0 +1,74 @@ | |||
[gd_scene load_steps=7 format=2] | |||
[ext_resource path="res://Data/Scripts/HalfDoor.gd" type="Script" id=1] | |||
[ext_resource path="res://Data/Shaders/Glowdot.shader" type="Shader" id=3] | |||
[ext_resource path="res://Data/Objects/Glowdot.tscn" type="PackedScene" id=5] | |||
[ext_resource path="res://Data/Graphics/Tileset.png" type="Texture" id=6] | |||
[sub_resource type="ShaderMaterial" id=1] | |||
shader = ExtResource( 3 ) | |||
shader_param/primary_color = Color( 1, 0.8, 0, 1 ) | |||
shader_param/fade_offset = 0.15 | |||
[sub_resource type="RectangleShape2D" id=2] | |||
extents = Vector2( 24, 7 ) | |||
[node name="HalfDoor" type="StaticBody2D"] | |||
position = Vector2( 0.440125, -0.440125 ) | |||
collision_layer = 2 | |||
script = ExtResource( 1 ) | |||
[node name="Backplane" type="Node2D" parent="."] | |||
position = Vector2( -32, 0 ) | |||
[node name="Backplane_Top" type="Sprite" parent="Backplane"] | |||
position = Vector2( 0, -8 ) | |||
scale = Vector2( 1, -1 ) | |||
texture = ExtResource( 6 ) | |||
region_enabled = true | |||
region_rect = Rect2( 0, 528, 32, 16 ) | |||
[node name="Backplane_Bottom" type="Sprite" parent="Backplane"] | |||
position = Vector2( 0, 8 ) | |||
texture = ExtResource( 6 ) | |||
region_enabled = true | |||
region_rect = Rect2( 0, 528, 32, 16 ) | |||
[node name="Doorway" type="KinematicBody2D" parent="."] | |||
position = Vector2( -6, 0 ) | |||
collision_layer = 2 | |||
[node name="Sprite" type="Sprite" parent="Doorway"] | |||
texture = ExtResource( 6 ) | |||
region_enabled = true | |||
region_rect = Rect2( 32, 512, 48, 16 ) | |||
[node name="Glow" parent="Doorway" instance=ExtResource( 5 )] | |||
material = SubResource( 1 ) | |||
position = Vector2( 14.989, -0.323532 ) | |||
scale = Vector2( 0.25, 0.25 ) | |||
pulse_in_time = 0.2 | |||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Doorway"] | |||
shape = SubResource( 2 ) | |||
[node name="Frontplane" type="Node2D" parent="."] | |||
position = Vector2( -32, 0 ) | |||
[node name="Front_Top" type="Sprite" parent="Frontplane"] | |||
position = Vector2( 0, -8 ) | |||
scale = Vector2( 1, -1 ) | |||
texture = ExtResource( 6 ) | |||
region_enabled = true | |||
region_rect = Rect2( 0, 512, 32, 16 ) | |||
[node name="Front_Bottom" type="Sprite" parent="Frontplane"] | |||
position = Vector2( 0, 8 ) | |||
texture = ExtResource( 6 ) | |||
region_enabled = true | |||
region_rect = Rect2( 0, 512, 32, 16 ) | |||
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] | |||
polygon = PoolVector2Array( -47.9044, -15.9911, -30.1666, -15.9101, -18.8273, -9.9975, -19.0703, -8.86357, -21.0952, -7.08169, -27.0888, -5.13782, -29.9236, -1.97902, -29.8426, 1.74673, -27.0888, 5.06752, -21.0952, 7.09238, -18.9893, 9.03626, -18.9893, 10.0892, -30.0855, 15.8398, -47.9854, 15.9208 ) | |||
[node name="Tween" type="Tween" parent="."] |
@@ -9,13 +9,13 @@ | |||
[sub_resource type="CircleShape2D" id=1] | |||
radius = 16.0 | |||
[sub_resource type="Curve" id=4] | |||
[sub_resource type="Curve" id=2] | |||
_data = [ Vector2( 0, 1 ), 0.0, 0.219234, 0, 0, Vector2( 1, 0.434091 ), -0.228985, 0.0, 0, 0 ] | |||
[sub_resource type="CurveTexture" id=5] | |||
curve = SubResource( 4 ) | |||
[sub_resource type="CurveTexture" id=3] | |||
curve = SubResource( 2 ) | |||
[sub_resource type="ParticlesMaterial" id=6] | |||
[sub_resource type="ParticlesMaterial" id=4] | |||
lifetime_randomness = 0.52 | |||
emission_shape = 1 | |||
emission_sphere_radius = 16.0 | |||
@@ -30,10 +30,10 @@ damping_random = 0.41 | |||
angle = 45.0 | |||
angle_random = 0.85 | |||
scale = 2.0 | |||
scale_curve = SubResource( 5 ) | |||
scale_curve = SubResource( 3 ) | |||
color = Color( 0.737255, 0.737255, 0.737255, 1 ) | |||
[sub_resource type="ShaderMaterial" id=8] | |||
[sub_resource type="ShaderMaterial" id=5] | |||
shader = ExtResource( 5 ) | |||
shader_param/cell_color = Color( 0, 0, 0, 1 ) | |||
shader_param/cell_energy = 3.0 | |||
@@ -44,7 +44,9 @@ shader_param/wave_amp = 0.1 | |||
shader_param/wave_freq = 0.075 | |||
shader_param/wave_scale = 0.075 | |||
[node name="Player" type="RigidBody2D"] | |||
[node name="Player" type="RigidBody2D" groups=[ | |||
"Player", | |||
]] | |||
collision_mask = 7171 | |||
continuous_cd = 2 | |||
contacts_reported = 1 | |||
@@ -67,10 +69,10 @@ smoothing_enabled = true | |||
[node name="Particles" type="Particles2D" parent="."] | |||
amount = 50 | |||
local_coords = false | |||
process_material = SubResource( 6 ) | |||
process_material = SubResource( 4 ) | |||
[node name="Sprite" type="Sprite" parent="."] | |||
material = SubResource( 8 ) | |||
material = SubResource( 5 ) | |||
scale = Vector2( 0.5, 0.5 ) | |||
texture = ExtResource( 2 ) | |||
[connection signal="body_entered" from="." to="." method="_on_Player_body_entered"] |
@@ -1,30 +1,62 @@ | |||
[gd_scene load_steps=6 format=2] | |||
[gd_scene load_steps=10 format=2] | |||
[ext_resource path="res://Data/Objects/PulseArrow.tscn" type="PackedScene" id=1] | |||
[ext_resource path="res://Data/Objects/Player.tscn" type="PackedScene" id=2] | |||
[ext_resource path="res://Data/Objects/Liquid.tscn" type="PackedScene" id=3] | |||
[ext_resource path="res://Data/Shaders/Liquid.shader" type="Shader" id=4] | |||
[ext_resource path="res://Data/Objects/BladeSaw.tscn" type="PackedScene" id=5] | |||
[ext_resource path="res://Data/Objects/Doorway.tscn" type="PackedScene" id=6] | |||
[ext_resource path="res://Data/Misc/Tileset.tres" type="TileSet" id=7] | |||
[sub_resource type="ShaderMaterial" id=1] | |||
resource_local_to_scene = true | |||
shader = ExtResource( 4 ) | |||
shader_param/sprite_scale = Vector2( 2.96, 1 ) | |||
shader_param/distortion = 16.265 | |||
shader_param/liquid_color_main = Color( 0.180908, 0.250748, 0.8125, 1 ) | |||
shader_param/liquid_color_surface = Color( 0.576471, 0.760784, 0.996078, 1 ) | |||
shader_param/liquid_surface_thickness = 0.12 | |||
shader_param/wave_amp = 0.25 | |||
shader_param/wave_freq = 1.0 | |||
shader_param/wave_scale = 1.0 | |||
[sub_resource type="ShaderMaterial" id=2] | |||
resource_local_to_scene = true | |||
shader = ExtResource( 4 ) | |||
shader_param/sprite_scale = Vector2( 2.96, 1 ) | |||
shader_param/distortion = 16.265 | |||
shader_param/liquid_color_main = Color( 0.180908, 0.250748, 0.8125, 1 ) | |||
shader_param/liquid_color_surface = Color( 0.576471, 0.760784, 0.996078, 1 ) | |||
shader_param/liquid_surface_thickness = 0.12 | |||
shader_param/wave_amp = 0.25 | |||
shader_param/wave_freq = 1.0 | |||
shader_param/wave_scale = 1.0 | |||
[node name="World" type="Node2D"] | |||
[node name="Liquid2" parent="." instance=ExtResource( 3 )] | |||
material = SubResource( 1 ) | |||
position = Vector2( -127.435, 105.962 ) | |||
scale = Vector2( 2.35979, 1.50659 ) | |||
liquid_body_color = Color( 0.517647, 0.145098, 0.145098, 1 ) | |||
liquid_surface_color = Color( 0.984314, 0.478431, 0.490196, 1 ) | |||
[node name="Liquid" parent="." instance=ExtResource( 3 )] | |||
material = SubResource( 2 ) | |||
position = Vector2( 539.108, -23.1772 ) | |||
scale = Vector2( 1.66713, 1.11691 ) | |||
liquid_body_color = Color( 0.180908, 0.250748, 0.8125, 1 ) | |||
liquid_surface_color = Color( 0.576471, 0.760784, 0.996078, 1 ) | |||
[node name="Doorway" parent="." instance=ExtResource( 6 )] | |||
position = Vector2( 94.9786, 581.025 ) | |||
color = Color( 0.0470588, 0.0156863, 0.980392, 1 ) | |||
[node name="TileMap" type="TileMap" parent="."] | |||
tile_set = ExtResource( 7 ) | |||
collision_layer = 2 | |||
format = 1 | |||
tile_data = PoolIntArray( -327678, 1, 196611, -327677, 1, 327684, -327676, 1, 327684, -327675, 1, 327684, -327674, 1, 327684, -327673, 1, 196612, -327672, 1, 196612, -327671, 1, 327684, -327670, 1, 196613, -262142, 1, 458753, -262134, 1, 262149, -131081, 1, 0, -131080, 1, 1, -131079, 1, 65537, -131078, 1, 327684, -131077, 1, 327684, -131076, 1, 327684, -131075, 1, 327684, -131074, 1, 196612, -131073, 1, 393219, -196598, 1, 262149, -65545, 1, 65536, -65544, 1, 65537, -65543, 1, 65539, -131063, 1, 0, -131062, 1, 65537, -9, 1, 65541, -8, 1, 65537, -7, 1, 65539, -65529, 1, 262146, -65527, 1, 65536, -65526, 1, 65538, 65527, 1, 131072, 65528, 1, 65537, 65529, 1, 131074, 65532, 1, 262146, 65535, 1, 262146, 7, 1, 327683, 8, 1, 327684, 9, 1, 196609, 10, 1, 65539, 131064, 1, 262147, 131068, 1, 262149, 131071, 1, 262147, 65545, 1, 65536, 65546, 1, 65538, 196600, 1, 262149, 196602, 1, 0, 196603, 1, 1, 196604, 1, 65537, 196605, 1, 131076, 196606, 1, 131076, 196607, 1, 65537, 131081, 1, 131072, 131082, 1, 65537, 262136, 1, 262147, 262138, 1, 131072, 262139, 1, 4, 262140, 1, 65537, 262141, 1, 4, 262142, 1, 4, 262143, 1, 131074, 196618, 1, 262147, 327672, 1, 262147, 327676, 1, 262147, 262154, 1, 262149, 393208, 1, 327683, 393209, 1, 196612, 393210, 1, 196612, 393211, 1, 196612, 393212, 1, 393218, 393213, 1, 327684, 393214, 1, 393219, 327683, 1, 327680, 327684, 1, 196612, 327685, 1, 196612, 327686, 1, 327684, 327687, 1, 196612, 327688, 1, 196612, 327689, 1, 196612, 327690, 1, 327685 ) | |||
tile_data = PoolIntArray( -262145, 1, 262146, -327678, 1, 196611, -327677, 1, 327684, -327676, 1, 327684, -327675, 1, 327684, -327674, 1, 327684, -327673, 1, 196612, -327672, 1, 196612, -327671, 1, 327684, -327670, 1, 196613, -196609, 1, 262147, -262143, 0, 0, -262142, 1, 458753, -262134, 1, 262149, -131081, 1, 0, -131080, 1, 1, -131079, 1, 65537, -131078, 1, 327684, -131077, 1, 327684, -131076, 1, 327684, -131075, 1, 327684, -131074, 1, 196612, -131073, 1, 327685, -196607, 0, 0, -196598, 1, 262149, -65545, 1, 65536, -65544, 1, 65537, -65543, 1, 65539, -131070, 0, 0, -131063, 1, 0, -131062, 1, 65537, -9, 1, 65541, -8, 1, 65537, -7, 1, 65539, -65534, 0, 0, -65529, 1, 262146, -65527, 1, 65536, -65526, 1, 65538, 65527, 1, 131072, 65528, 1, 65537, 65529, 1, 131074, 65532, 1, 262146, 65535, 1, 262146, 2, 0, 0, 7, 1, 327683, 8, 1, 327684, 9, 1, 196609, 10, 1, 65539, 131064, 1, 262147, 131068, 1, 262149, 131071, 1, 262147, 65538, 0, 0, 65545, 1, 65536, 65546, 1, 65538, 196600, 1, 262149, 196602, 1, 0, 196603, 1, 1, 196604, 1, 65537, 196605, 1, 131076, 196606, 1, 131076, 196607, 1, 65537, 131074, 0, 0, 131081, 1, 131072, 131082, 1, 65537, 262136, 1, 262147, 262138, 1, 131072, 262139, 1, 4, 262140, 1, 65537, 262141, 1, 4, 262142, 1, 4, 262143, 1, 131074, 196610, 0, 0, 196618, 1, 262147, 327672, 1, 262147, 327676, 1, 262147, 262154, 1, 262149, 393208, 1, 327683, 393209, 1, 196612, 393210, 1, 196612, 393211, 1, 196612, 393212, 1, 393218, 393213, 1, 327684, 393214, 1, 196612, 393215, 1, 327684, 327680, 1, 196613, 327683, 1, 196611, 327684, 1, 327684, 327685, 1, 196612, 327686, 1, 327684, 327687, 1, 196612, 327688, 1, 196612, 327689, 1, 196612, 327690, 1, 327685, 393216, 1, 262149, 393219, 1, 262149, 458752, 1, 262149, 458754, 1, 196611, 458755, 1, 327685, 524288, 1, 262147, 524290, 1, 262149, 589824, 1, 458753, 589826, 1, 458753 ) | |||
[node name="Player" parent="." instance=ExtResource( 2 )] | |||
position = Vector2( -32.4329, -11.6956 ) |
@@ -4,9 +4,8 @@ const COLLISION_MINOR_SPEED_THRESHOLD = 150 | |||
const COLLISION_MAJOR_SPEED_THRESHOLD = 400 | |||
const COLLISION_TIMEDT_THRESHOLD = 0.1 | |||
# The maximum distance from the player in which the mouse will adjust the push force. | |||
# at max_mouse_distance the full base_push_force <+ modifiers> will be applied. | |||
var max_mouse_distance = 128 | |||
export var max_stamina = 1000 | |||
export var stamina_regen_per_sec = 125 | |||
# The base tangential acceleration that will be applied to the particles to give the | |||
# player the illusion it's trying to move on it's own. This is just effects things visually (ATM) | |||
@@ -14,8 +13,14 @@ export var base_tangential_accel = 32 setget _set_base_tangential_accel | |||
# The base force applied when being pushed. | |||
export var base_push_force = 64 setget _set_base_push_force | |||
export var push_stamina_cost = 100 | |||
var current_stamina = max_stamina | |||
# The maximum distance from the player in which the mouse will adjust the push force. | |||
# at max_mouse_distance the full base_push_force <+ modifiers> will be applied. | |||
var max_mouse_distance = 128 | |||
var neutral_rim = Color(0.9, 0.9, 0.9, 1.0) | |||
var mouse_position = Vector2.ZERO | |||
@@ -77,6 +82,9 @@ func get_push_force(): | |||
func get_body_radius(): | |||
return $CollisionShape2D.shape.radius | |||
func get_mood(): | |||
return $Mood | |||
func _set_color_collision_mask(id): | |||
set_collision_mask_bit(10, true) | |||
@@ -106,7 +114,9 @@ func _input(event): | |||
mouse_down = true | |||
elif Input.is_action_just_released("ButtonA"): | |||
mouse_down = false | |||
push = true | |||
if current_stamina >= push_stamina_cost: | |||
current_stamina -= push_stamina_cost | |||
push = true | |||
func _physics_process(delta): | |||
@@ -132,6 +142,10 @@ func _physics_process(delta): | |||
$Mood.shift_mood(delta, in_air, last_speed, (position - mouse_position).length()) | |||
last_speed = linear_velocity.length() | |||
current_stamina += stamina_regen_per_sec * delta | |||
if current_stamina > max_stamina: | |||
current_stamina = max_stamina | |||
func _process(delta): |
@@ -0,0 +1,54 @@ | |||
extends Node2D | |||
export var color:Color | |||
export var transition_rate = 0.75 | |||
func _dominant_color(): | |||
if color.r > color.g and color.r > color.b: | |||
return "r" | |||
if color.g > color.r and color.g > color.b: | |||
return "g" | |||
if color.b > color.r and color.b > color.g: | |||
return "b" | |||
return "n" | |||
func _ready(): | |||
$LeftDoor.set_color(color) | |||
$LeftDoor.transition_rate = transition_rate | |||
$RightDoor.set_color(color) | |||
$RightDoor.transition_rate = transition_rate | |||
func open(): | |||
$LeftDoor.open() | |||
$RightDoor.open() | |||
func close(): | |||
$LeftDoor.close() | |||
$RightDoor.close() | |||
func stop(): | |||
$LeftDoor.stop() | |||
$RightDoor.stop() | |||
func _on_Area2D_body_entered(body): | |||
if body.is_in_group("Player"): | |||
var mood = body.get_mood() | |||
var dc = _dominant_color() | |||
print ("Dominant Color: ", dc) | |||
print ("Is Aggressive: ", mood.is_aggressive()) | |||
print ("Is Needie: ", mood.is_needie()) | |||
print ("Is Content: ", mood.is_content()) | |||
if (dc == "r" and mood.is_aggressive()) or \ | |||
(dc == "g" and mood.is_needie()) or \ | |||
(dc == "b" and mood.is_content()) or \ | |||
(dc == "n" and mood.is_neutral()): | |||
open() | |||
func _on_Area2D_body_exited(body): | |||
if body.is_in_group("Player"): | |||
close() |
@@ -0,0 +1,50 @@ | |||
extends StaticBody2D | |||
const OPENED_POSITION = Vector2(-47, 0) | |||
const CLOSED_POSITION = Vector2(-6, 0) | |||
const POSITION_DIFF = 41 | |||
export var color:Color | |||
export var transition_rate = 0.75 | |||
var _control_state = 0 # 0 = No-OP | 1 = Open | 2 = Close | |||
func _ready(): | |||
set_color(color) | |||
func set_color(c): | |||
$Doorway/Glow.pulse_color = c | |||
func is_opening(): | |||
if $Tween.is_active(): | |||
return _control_state == 1 | |||
return false | |||
func is_closing(): | |||
if $Tween.is_active(): | |||
return _control_state == 2 | |||
return false | |||
func open(): | |||
var t = transition_rate | |||
var cdiff = ($Doorway.position - OPENED_POSITION).length() | |||
if cdiff > 0.001: | |||
t = transition_rate * (cdiff / POSITION_DIFF) | |||
$Tween.interpolate_property($Doorway, "position", $Doorway.position, OPENED_POSITION, t, Tween.TRANS_LINEAR, Tween.EASE_IN) | |||
$Tween.start() | |||
_control_state = 1 | |||
func close(): | |||
var t = transition_rate | |||
var cdiff = ($Doorway.position - CLOSED_POSITION).length() | |||
if cdiff > 0.001: | |||
t = transition_rate * (cdiff / POSITION_DIFF) | |||
$Tween.interpolate_property($Doorway, "position", $Doorway.position, CLOSED_POSITION, t, Tween.TRANS_LINEAR, Tween.EASE_IN) | |||
$Tween.start() | |||
_control_state = 2 | |||
func stop(): | |||
$Tween.stop($Doorway, "position") | |||
_control_state = 0 |
@@ -48,6 +48,9 @@ func is_needie(): | |||
func is_content(): | |||
return _mood.b > _mood.r and _mood.b > _mood.g | |||
func is_neutral(): | |||
return not is_aggressive() and not is_needie() and not is_content() | |||
func get_aggression(): | |||
return _mood.r | |||
@@ -70,13 +73,13 @@ func _agg_shift(in_air, speed): | |||
v = 0.1 # If in the air, going at an "exciting" speed, aggression rises! | |||
elif is_aggressive(): | |||
v = -0.05 # Otherwise, if we're dominantly aggressive, slow aggression cooldown. | |||
if _mood.r * 0.5 > _mood.b and _mood.r * 0.5 > _mood.g: | |||
v = 0.0 # But, if our aggression is more than twice the other emotions, don't cooldown at all. | |||
if speed > 1.0 and _mood.r * 0.5 > _mood.b and _mood.r * 0.5 > _mood.g: | |||
v = 0.0 # But, if we're moving and our aggression is more than twice the other emotions, don't cooldown at all. | |||
return v | |||
func _need_shift(in_air, distance): | |||
var v = -0.1 | |||
if in_air or is_aggressive(): | |||
if in_air: | |||
# Decrease neediness faster while in air, as "player" is giving attension (in the air) or | |||
# otherwise excited!! | |||
v = -0.25 |