improved grenade collisions
This commit is contained in:
1 parent
1c2cb39425
commit
40d8f909e8
9 files changed
+236
-22
No files matched your search
@@ -84,6 +84,7 @@ throw={
|
||||
2d_physics/layer_1="player"
|
||||
2d_physics/layer_2="environment"
|
||||
2d_physics/layer_3="objects"
|
||||
2d_physics/layer_4="weapons"
|
||||
|
||||
[rendering]
|
||||
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
size = Vector2(16, 2)
|
||||
|
||||
[node name="Bullet" type="Area2D"]
|
||||
collision_layer = 8
|
||||
collision_mask = 14
|
||||
script = ExtResource("1_mkf8s")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
|
||||
+3
-4
@@ -3,16 +3,15 @@
|
||||
[ext_resource type="Texture2D" uid="uid://7jy7xuy24fug" path="res://graphics/tiles/crate-100-custom.png" id="1_b66cd"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_uwrxv"]
|
||||
size = Vector2(50, 50)
|
||||
size = Vector2(100, 100)
|
||||
|
||||
[node name="Crate" type="RigidBody2D"]
|
||||
[node name="LargeCrate" type="RigidBody2D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 7
|
||||
collision_mask = 15
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
position = Vector2(9.536743e-07, 1.9073486e-06)
|
||||
scale = Vector2(0.50000006, 0.50000006)
|
||||
texture = ExtResource("1_b66cd")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
|
||||
+215
-12
@@ -39,19 +39,73 @@ texture_region_size = Vector2i(32, 32)
|
||||
4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0 = 0
|
||||
6:0/0/terrain_set = 0
|
||||
6:0/0/terrain = 0
|
||||
6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:0/0/terrains_peering_bit/right_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_side = 0
|
||||
6:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:0/0/terrains_peering_bit/left_side = 0
|
||||
6:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:0/0/terrains_peering_bit/top_side = 0
|
||||
6:0/0/terrains_peering_bit/top_right_corner = 0
|
||||
7:0/0 = 0
|
||||
7:0/0/terrain_set = 0
|
||||
7:0/0/terrain = 0
|
||||
7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:0/0/terrains_peering_bit/right_side = 0
|
||||
7:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:0/0/terrains_peering_bit/bottom_side = 0
|
||||
7:0/0/terrains_peering_bit/left_side = 0
|
||||
7:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
7:0/0/terrains_peering_bit/top_side = 0
|
||||
7:0/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:0/0 = 0
|
||||
9:0/0/terrain_set = 0
|
||||
9:0/0/terrain = 0
|
||||
9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:0/0/terrains_peering_bit/right_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:0/0/terrains_peering_bit/bottom_side = 0
|
||||
9:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:0/0/terrains_peering_bit/left_side = 0
|
||||
9:0/0/terrains_peering_bit/top_side = 0
|
||||
10:0/0 = 0
|
||||
10:0/0/terrain_set = 0
|
||||
10:0/0/terrain = 0
|
||||
10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:0/0/terrains_peering_bit/right_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_side = 0
|
||||
10:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
10:0/0/terrains_peering_bit/left_side = 0
|
||||
10:0/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:0/0/terrains_peering_bit/top_side = 0
|
||||
12:0/0 = 0
|
||||
12:0/0/terrain_set = 0
|
||||
12:0/0/terrain = 0
|
||||
12:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:0/0/terrains_peering_bit/right_side = 0
|
||||
12:0/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
12:0/0/terrains_peering_bit/bottom_side = 0
|
||||
12:0/0/terrains_peering_bit/left_side = 0
|
||||
12:0/0/terrains_peering_bit/top_side = 0
|
||||
13:0/0 = 0
|
||||
13:0/0/terrain_set = 0
|
||||
13:0/0/terrain = 0
|
||||
13:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:0/0/terrains_peering_bit/right_side = 0
|
||||
13:0/0/terrains_peering_bit/bottom_side = 0
|
||||
13:0/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
13:0/0/terrains_peering_bit/left_side = 0
|
||||
13:0/0/terrains_peering_bit/top_side = 0
|
||||
15:0/0 = 0
|
||||
15:0/0/terrain_set = 0
|
||||
15:0/0/terrain = 0
|
||||
15:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:0/0/terrains_peering_bit/right_side = 0
|
||||
15:0/0/terrains_peering_bit/bottom_side = 0
|
||||
15:0/0/terrains_peering_bit/left_side = 0
|
||||
15:0/0/terrains_peering_bit/top_side = 0
|
||||
0:1/0 = 0
|
||||
0:1/0/terrain_set = 0
|
||||
0:1/0/terrain = 0
|
||||
@@ -89,21 +143,85 @@ texture_region_size = Vector2i(32, 32)
|
||||
4:1/0/terrains_peering_bit/bottom_side = 0
|
||||
4:1/0/terrains_peering_bit/top_side = 0
|
||||
6:1/0 = 0
|
||||
6:1/0/terrain_set = 0
|
||||
6:1/0/terrain = 0
|
||||
6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:1/0/terrains_peering_bit/right_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
6:1/0/terrains_peering_bit/bottom_side = 0
|
||||
6:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/left_side = 0
|
||||
6:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
6:1/0/terrains_peering_bit/top_side = 0
|
||||
7:1/0 = 0
|
||||
7:1/0/terrain_set = 0
|
||||
7:1/0/terrain = 0
|
||||
7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:1/0/terrains_peering_bit/right_side = 0
|
||||
7:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
7:1/0/terrains_peering_bit/bottom_side = 0
|
||||
7:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
7:1/0/terrains_peering_bit/left_side = 0
|
||||
7:1/0/terrains_peering_bit/top_side = 0
|
||||
7:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
9:1/0 = 0
|
||||
9:1/0/terrain_set = 0
|
||||
9:1/0/terrain = 0
|
||||
9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:1/0/terrains_peering_bit/right_side = 0
|
||||
9:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
9:1/0/terrains_peering_bit/bottom_side = 0
|
||||
9:1/0/terrains_peering_bit/left_side = 0
|
||||
9:1/0/terrains_peering_bit/top_side = 0
|
||||
9:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
10:1/0 = 0
|
||||
10:1/0/terrain_set = 0
|
||||
10:1/0/terrain = 0
|
||||
10:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:1/0/terrains_peering_bit/right_side = 0
|
||||
10:1/0/terrains_peering_bit/bottom_side = 0
|
||||
10:1/0/terrains_peering_bit/left_side = 0
|
||||
10:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
10:1/0/terrains_peering_bit/top_side = 0
|
||||
10:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
12:1/0 = 0
|
||||
12:1/0/terrain_set = 0
|
||||
12:1/0/terrain = 0
|
||||
12:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:1/0/terrains_peering_bit/right_side = 0
|
||||
12:1/0/terrains_peering_bit/bottom_side = 0
|
||||
12:1/0/terrains_peering_bit/left_side = 0
|
||||
12:1/0/terrains_peering_bit/top_side = 0
|
||||
12:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
13:1/0 = 0
|
||||
13:1/0/terrain_set = 0
|
||||
13:1/0/terrain = 0
|
||||
13:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:1/0/terrains_peering_bit/right_side = 0
|
||||
13:1/0/terrains_peering_bit/bottom_side = 0
|
||||
13:1/0/terrains_peering_bit/left_side = 0
|
||||
13:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
13:1/0/terrains_peering_bit/top_side = 0
|
||||
15:1/0 = 0
|
||||
15:1/0/terrain_set = 0
|
||||
15:1/0/terrain = 0
|
||||
15:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:1/0/terrains_peering_bit/right_side = 0
|
||||
15:1/0/terrains_peering_bit/bottom_side = 0
|
||||
15:1/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
15:1/0/terrains_peering_bit/left_side = 0
|
||||
15:1/0/terrains_peering_bit/top_side = 0
|
||||
15:1/0/terrains_peering_bit/top_right_corner = 0
|
||||
16:1/0 = 0
|
||||
16:1/0/terrain_set = 0
|
||||
16:1/0/terrain = 0
|
||||
16:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
16:1/0/terrains_peering_bit/right_side = 0
|
||||
16:1/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
16:1/0/terrains_peering_bit/bottom_side = 0
|
||||
16:1/0/terrains_peering_bit/left_side = 0
|
||||
16:1/0/terrains_peering_bit/top_left_corner = 0
|
||||
16:1/0/terrains_peering_bit/top_side = 0
|
||||
0:2/0 = 0
|
||||
0:2/0/terrain_set = 0
|
||||
0:2/0/terrain = 0
|
||||
@@ -133,21 +251,63 @@ texture_region_size = Vector2i(32, 32)
|
||||
4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
4:2/0/terrains_peering_bit/top_side = 0
|
||||
6:3/0 = 0
|
||||
6:3/0/terrain_set = 0
|
||||
6:3/0/terrain = 0
|
||||
6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:3/0/terrains_peering_bit/right_side = 0
|
||||
6:3/0/terrains_peering_bit/bottom_side = 0
|
||||
6:3/0/terrains_peering_bit/top_side = 0
|
||||
6:3/0/terrains_peering_bit/top_right_corner = 0
|
||||
7:3/0 = 0
|
||||
7:3/0/terrain_set = 0
|
||||
7:3/0/terrain = 0
|
||||
7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:3/0/terrains_peering_bit/bottom_side = 0
|
||||
7:3/0/terrains_peering_bit/left_side = 0
|
||||
7:3/0/terrains_peering_bit/top_left_corner = 0
|
||||
7:3/0/terrains_peering_bit/top_side = 0
|
||||
9:3/0 = 0
|
||||
9:3/0/terrain_set = 0
|
||||
9:3/0/terrain = 0
|
||||
9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:3/0/terrains_peering_bit/right_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_side = 0
|
||||
9:3/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
9:3/0/terrains_peering_bit/left_side = 0
|
||||
10:3/0 = 0
|
||||
10:3/0/terrain_set = 0
|
||||
10:3/0/terrain = 0
|
||||
10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:3/0/terrains_peering_bit/right_side = 0
|
||||
10:3/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
10:3/0/terrains_peering_bit/bottom_side = 0
|
||||
10:3/0/terrains_peering_bit/left_side = 0
|
||||
12:3/0 = 0
|
||||
12:3/0/terrain_set = 0
|
||||
12:3/0/terrain = 0
|
||||
12:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:3/0/terrains_peering_bit/right_side = 0
|
||||
12:3/0/terrains_peering_bit/bottom_side = 0
|
||||
12:3/0/terrains_peering_bit/top_side = 0
|
||||
13:3/0 = 0
|
||||
13:3/0/terrain_set = 0
|
||||
13:3/0/terrain = 0
|
||||
13:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:3/0/terrains_peering_bit/right_side = 0
|
||||
13:3/0/terrains_peering_bit/bottom_side = 0
|
||||
13:3/0/terrains_peering_bit/left_side = 0
|
||||
15:3/0 = 0
|
||||
15:3/0/terrain_set = 0
|
||||
15:3/0/terrain = 0
|
||||
15:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:3/0/terrains_peering_bit/right_side = 0
|
||||
15:3/0/terrains_peering_bit/bottom_side = 0
|
||||
16:3/0 = 0
|
||||
16:3/0/terrain_set = 0
|
||||
16:3/0/terrain = 0
|
||||
16:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
16:3/0/terrains_peering_bit/bottom_side = 0
|
||||
16:3/0/terrains_peering_bit/left_side = 0
|
||||
0:4/0 = 0
|
||||
0:4/0/terrain_set = 0
|
||||
0:4/0/terrain = 0
|
||||
@@ -169,28 +329,70 @@ texture_region_size = Vector2i(32, 32)
|
||||
4:4/0/terrain = 0
|
||||
4:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:4/0 = 0
|
||||
6:4/0/terrain_set = 0
|
||||
6:4/0/terrain = 0
|
||||
6:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
6:4/0/terrains_peering_bit/right_side = 0
|
||||
6:4/0/terrains_peering_bit/bottom_right_corner = 0
|
||||
6:4/0/terrains_peering_bit/bottom_side = 0
|
||||
6:4/0/terrains_peering_bit/top_side = 0
|
||||
7:4/0 = 0
|
||||
7:4/0/terrain_set = 0
|
||||
7:4/0/terrain = 0
|
||||
7:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
7:4/0/terrains_peering_bit/bottom_side = 0
|
||||
7:4/0/terrains_peering_bit/bottom_left_corner = 0
|
||||
7:4/0/terrains_peering_bit/left_side = 0
|
||||
7:4/0/terrains_peering_bit/top_side = 0
|
||||
9:4/0 = 0
|
||||
9:4/0/terrain_set = 0
|
||||
9:4/0/terrain = 0
|
||||
9:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
9:4/0/terrains_peering_bit/right_side = 0
|
||||
9:4/0/terrains_peering_bit/left_side = 0
|
||||
9:4/0/terrains_peering_bit/top_left_corner = 0
|
||||
9:4/0/terrains_peering_bit/top_side = 0
|
||||
10:4/0 = 0
|
||||
10:4/0/terrain_set = 0
|
||||
10:4/0/terrain = 0
|
||||
10:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
10:4/0/terrains_peering_bit/right_side = 0
|
||||
10:4/0/terrains_peering_bit/left_side = 0
|
||||
10:4/0/terrains_peering_bit/top_side = 0
|
||||
10:4/0/terrains_peering_bit/top_right_corner = 0
|
||||
12:4/0 = 0
|
||||
12:4/0/terrain_set = 0
|
||||
12:4/0/terrain = 0
|
||||
12:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
12:4/0/terrains_peering_bit/right_side = 0
|
||||
12:4/0/terrains_peering_bit/left_side = 0
|
||||
12:4/0/terrains_peering_bit/top_side = 0
|
||||
13:4/0 = 0
|
||||
13:4/0/terrain_set = 0
|
||||
13:4/0/terrain = 0
|
||||
13:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
13:4/0/terrains_peering_bit/bottom_side = 0
|
||||
13:4/0/terrains_peering_bit/left_side = 0
|
||||
13:4/0/terrains_peering_bit/top_side = 0
|
||||
15:4/0 = 0
|
||||
15:4/0/terrain_set = 0
|
||||
15:4/0/terrain = 0
|
||||
15:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
15:4/0/terrains_peering_bit/right_side = 0
|
||||
15:4/0/terrains_peering_bit/top_side = 0
|
||||
16:4/0 = 0
|
||||
16:4/0/terrain_set = 0
|
||||
16:4/0/terrain = 0
|
||||
16:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
|
||||
16:4/0/terrains_peering_bit/left_side = 0
|
||||
16:4/0/terrains_peering_bit/top_side = 0
|
||||
|
||||
[sub_resource type="TileSet" id="TileSet_gee14"]
|
||||
tile_size = Vector2i(32, 32)
|
||||
physics_layer_0/collision_layer = 2
|
||||
physics_layer_0/collision_mask = 5
|
||||
physics_layer_0/collision_mask = 13
|
||||
terrain_set_0/mode = 0
|
||||
terrain_set_0/terrain_0/name = "Terrain 0"
|
||||
terrain_set_0/terrain_0/name = "Main Terrain"
|
||||
terrain_set_0/terrain_0/color = Color(0.5, 0.34375, 0.25, 1)
|
||||
sources/1 = SubResource("TileSetAtlasSource_p57ef")
|
||||
|
||||
@@ -234,7 +436,7 @@ script = ExtResource("2_iywne")
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="."]
|
||||
z_index = 10
|
||||
position = Vector2(0, 1)
|
||||
tile_map_data = PackedByteArray("AADy/wMAAQABAAAAAADy/wQAAQABAAIAAADz/wQAAQABAAIAAADz/wMAAQABAAAAAAD0/wMAAQABAAAAAAD0/wQAAQABAAIAAADx/wQAAQAAAAIAAADx/wMAAQAAAAAAAAD4/wMAAQABAAAAAAD4/wQAAQABAAIAAAD5/wQAAQABAAIAAAD6/wQAAQABAAIAAAD7/wQAAQABAAIAAAD8/wQAAQABAAIAAAD9/wQAAQABAAIAAAD+/wQAAQACAAIAAAD+/wMAAQACAAAAAAD9/wMAAQABAAAAAAD8/wMAAQABAAAAAAD7/wMAAQABAAAAAAD6/wMAAQABAAAAAAD5/wMAAQABAAAAAAABAAMAAQAAAAAAAAABAAQAAQAAAAEAAAABAAUAAQAAAAIAAAACAAUAAQABAAIAAAADAAUAAQABAAIAAAAEAAUAAQACAAIAAAAEAAQAAQACAAEAAAAEAAMAAQACAAAAAAADAAMAAQABAAAAAAACAAMAAQABAAAAAAACAAQAAQABAAEAAAADAAQAAQABAAEAAAD3/wMAAQABAAAAAAD2/wMAAQABAAAAAAD1/wMAAQABAAAAAAD1/wQAAQABAAIAAAD2/wQAAQABAAIAAAD3/wQAAQABAAIAAAAGAAIAAQAAAAAAAAAGAAMAAQAAAAEAAAAGAAQAAQAAAAEAAAAGAAUAAQAAAAIAAAAHAAUAAQABAAIAAAAIAAUAAQABAAIAAAAJAAUAAQABAAIAAAAKAAUAAQACAAIAAAAKAAQAAQACAAEAAAAKAAMAAQACAAEAAAAKAAIAAQACAAAAAAAJAAIAAQABAAAAAAAIAAIAAQABAAAAAAAHAAIAAQABAAAAAAAHAAMAAQABAAEAAAAHAAQAAQABAAEAAAAIAAQAAQABAAEAAAAJAAQAAQABAAEAAAAJAAMAAQABAAEAAAAIAAMAAQABAAEAAAAMAAEAAQAAAAAAAAAMAAIAAQAAAAEAAAAMAAMAAQAAAAEAAAAMAAQAAQAAAAEAAAANAAQAAQABAAEAAAANAAUAAQABAAIAAAAOAAUAAQABAAIAAAAPAAUAAQACAAIAAAAMAAUAAQAAAAIAAAANAAEAAQABAAAAAAAOAAEAAQABAAAAAAANAAIAAQABAAEAAAANAAMAAQABAAEAAAAOAAQAAQABAAEAAAAPAAQAAQACAAEAAAAPAAMAAQACAAEAAAAPAAIAAQACAAEAAAAPAAEAAQACAAAAAAAOAAIAAQABAAEAAAAOAAMAAQABAAEAAAARAAIAAQAAAAAAAAARAAMAAQAAAAEAAAARAAQAAQAAAAEAAAARAAUAAQAAAAIAAAASAAUAAQABAAIAAAATAAUAAQABAAIAAAAUAAUAAQABAAIAAAAVAAUAAQABAAIAAAAWAAUAAQACAAIAAAAWAAQAAQACAAEAAAAWAAMAAQACAAEAAAAVAAMAAQABAAEAAAAVAAIAAQABAAAAAAAUAAIAAQABAAAAAAATAAIAAQABAAAAAAASAAIAAQABAAAAAAASAAMAAQABAAEAAAASAAQAAQABAAEAAAATAAQAAQABAAEAAAAUAAQAAQABAAEAAAAUAAMAAQABAAEAAAATAAMAAQABAAEAAAAVAAQAAQABAAEAAAAWAAIAAQACAAAAAADz/wEAAQAAAAQAAAD0/wEAAQABAAQAAAD1/wEAAQABAAQAAAD2/wEAAQACAAQAAAD4//7/AQAAAAAAAAD5//7/AQABAAAAAAD6//7/AQABAAAAAAD7//7/AQACAAAAAAD9//v/AQAAAAAAAAD9//z/AQAAAAEAAAD9//3/AQAAAAIAAAD+//3/AQABAAIAAAD///3/AQABAAIAAAAAAP3/AQABAAIAAAAAAPz/AQABAAEAAAAAAPv/AQABAAAAAAD///v/AQABAAAAAAD+//v/AQABAAAAAAD+//z/AQABAAEAAAD///z/AQABAAEAAAABAPz/AQABAAEAAAACAPz/AQACAAEAAAACAP3/AQACAAIAAAABAP3/AQABAAIAAAABAPv/AQABAAAAAAACAPv/AQACAAAAAAD4////AQAAAAIAAAD5////AQABAAIAAAD6////AQABAAIAAAD7////AQACAAIAAAA=")
|
||||
tile_map_data = PackedByteArray("AADy/wMAAQABAAEAAADy/wQAAQABAAIAAADz/wQAAQABAAIAAADz/wMAAQABAAEAAAD0/wMAAQABAAEAAAD0/wQAAQABAAIAAADx/wQAAQAAAAIAAADx/wMAAQAAAAEAAAD4/wMAAQABAAAAAAD4/wQAAQABAAIAAAD5/wQAAQABAAIAAAD6/wQAAQABAAIAAAD7/wQAAQABAAIAAAD8/wQAAQABAAIAAAD9/wQAAQABAAIAAAD+/wQAAQAHAAAAAAD+/wMAAQABAAAAAAD9/wMAAQABAAAAAAD8/wMAAQABAAAAAAD7/wMAAQABAAAAAAD6/wMAAQABAAAAAAD5/wMAAQABAAAAAAABAAMAAQABAAAAAAABAAQAAQABAAEAAAABAAUAAQABAAIAAAACAAUAAQABAAIAAAADAAUAAQABAAIAAAAEAAUAAQABAAIAAAAEAAQAAQAGAAEAAAAEAAMAAQACAAAAAAADAAMAAQABAAAAAAACAAMAAQABAAAAAAACAAQAAQABAAEAAAADAAQAAQABAAEAAAD3/wMAAQABAAAAAAD2/wMAAQAGAAEAAAD1/wMAAQABAAEAAAD1/wQAAQABAAIAAAD2/wQAAQABAAIAAAD3/wQAAQABAAIAAAAKAAIAAQABAAAAAAAJAAIAAQAAAAAAAAAJAAMAAQAAAAEAAAAMAAEAAQABAAAAAAAMAAIAAQABAAEAAAAMAAMAAQABAAEAAAAMAAQAAQABAAEAAAANAAQAAQABAAEAAAANAAUAAQABAAIAAAAOAAUAAQABAAIAAAAPAAUAAQABAAIAAAAMAAUAAQABAAIAAAANAAEAAQABAAAAAAAOAAEAAQABAAAAAAANAAIAAQABAAEAAAANAAMAAQABAAEAAAAOAAQAAQABAAEAAAAPAAQAAQABAAEAAAAPAAMAAQABAAEAAAAPAAIAAQAGAAEAAAAPAAEAAQACAAAAAAAOAAIAAQABAAEAAAAOAAMAAQABAAEAAAARAAIAAQABAAAAAAARAAMAAQABAAEAAAARAAQAAQABAAEAAAARAAUAAQABAAIAAAASAAUAAQABAAIAAAATAAUAAQABAAIAAAAUAAUAAQABAAIAAAAVAAUAAQABAAIAAAAWAAUAAQABAAIAAAAWAAQAAQABAAEAAAAWAAMAAQAGAAEAAAAVAAMAAQABAAEAAAAVAAIAAQABAAAAAAAUAAIAAQABAAAAAAATAAIAAQABAAAAAAASAAIAAQABAAAAAAASAAMAAQABAAEAAAASAAQAAQABAAEAAAATAAQAAQABAAEAAAAUAAQAAQABAAEAAAAUAAMAAQABAAEAAAATAAMAAQABAAEAAAAVAAQAAQABAAEAAAAWAAIAAQACAAAAAAD4//7/AQABAAQAAAD5//7/AQAKAAMAAAD6//7/AQAHAAEAAAD7//7/AQACAAEAAAD9//3/AQAKAAQAAAD+//3/AQABAAIAAAD///3/AQABAAIAAAAAAP3/AQABAAIAAAAAAPz/AQABAAAAAAD+//z/AQABAAAAAAD///z/AQABAAAAAAACAP3/AQACAAQAAAABAP3/AQAJAAQAAAD5////AQAAAAIAAAD6////AQABAAIAAAD7////AQACAAIAAADx////AQAAAAAAAADy////AQABAAAAAADz////AQACAAAAAADx/wAAAQAAAAEAAADx/wEAAQAAAAEAAADy/wEAAQABAAEAAADz/wEAAQAGAAEAAADz/wAAAQACAAEAAADy/wAAAQABAAEAAADx/wIAAQAAAAEAAADy/wIAAQABAAEAAADz/wIAAQABAAEAAAD0/wIAAQABAAEAAAD1/wIAAQAGAAEAAAD2/wIAAQACAAAAAAD3//7/AQAAAAQAAAD6//3/AQAAAAAAAAD7//3/AQAJAAMAAAABAPz/AQACAAAAAAD9//z/AQAAAAAAAAD8//3/AQABAAQAAAAHAAQAAQABAAAAAAAGAAQAAQABAAAAAAAFAAQAAQABAAAAAAALAAIAAQAHAAEAAAAQAAIAAQABAAAAAAAQAAMAAQABAAEAAAAQAAQAAQABAAEAAAAQAAUAAQABAAIAAAALAAMAAQABAAEAAAAKAAMAAQABAAEAAAAKAAQAAQABAAEAAAAKAAUAAQABAAIAAAAJAAUAAQABAAIAAAAJAAQAAQAHAAEAAAAIAAQAAQABAAAAAAAGAAUAAQABAAIAAAAFAAUAAQABAAIAAAAHAAUAAQABAAIAAAAIAAUAAQABAAIAAAALAAUAAQABAAIAAAALAAQAAQABAAEAAAAAAAQAAQABAAEAAAD//wQAAQABAAEAAAD+/wUAAQAAAAIAAAD//wUAAQABAAIAAAAAAAUAAQABAAIAAAD//wMAAQABAAAAAAAAAAMAAQABAAAAAAALAAEAAQAAAAAAAAD0/wEAAQABAAAAAAD1/wEAAQACAAAAAAALAPv/AQAAAAAAAAALAPz/AQAAAAEAAAALAP3/AQAAAAIAAAAMAPz/AQABAAEAAAANAPz/AQABAAEAAAAOAPz/AQABAAEAAAAOAPv/AQABAAAAAAANAPv/AQABAAAAAAAMAPv/AQABAAAAAAAMAP3/AQABAAIAAAANAP3/AQABAAIAAAAOAP3/AQABAAIAAAAPAPz/AQACAAEAAAAPAPv/AQACAAAAAAAPAP3/AQACAAIAAAAYAAMAAQACAAAAAAAXAAMAAQABAAAAAAAXAAQAAQABAAEAAAAXAAUAAQABAAIAAAAYAAUAAQACAAIAAAAYAAQAAQACAAEAAAAGAP3/AQAAAAQAAAAHAP3/AQACAAQAAAA=")
|
||||
tile_set = SubResource("TileSet_gee14")
|
||||
|
||||
[node name="Background" type="Parallax2D" parent="."]
|
||||
@@ -263,13 +465,13 @@ texture = SubResource("NoiseTexture2D_iywne")
|
||||
z_index = 100
|
||||
position = Vector2(-201, 51)
|
||||
|
||||
[node name="Boundary" type="StaticBody2D" parent="."]
|
||||
position = Vector2(0, 180)
|
||||
[node name="WorldBoundary" type="Area2D" parent="."]
|
||||
position = Vector2(0, 360)
|
||||
collision_layer = 2
|
||||
collision_mask = 5
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Boundary"]
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="WorldBoundary"]
|
||||
shape = SubResource("WorldBoundaryShape2D_8cj0n")
|
||||
debug_color = Color(0, 0.50980395, 0.003921569, 1)
|
||||
|
||||
@@ -282,14 +484,15 @@ position = Vector2(532.00006, 62)
|
||||
scale = Vector2(0.5942757, 0.5465749)
|
||||
intent = "powerup"
|
||||
|
||||
[node name="Crate" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")]
|
||||
position = Vector2(-78, 45)
|
||||
[node name="LargeCrate" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")]
|
||||
position = Vector2(-10, -211)
|
||||
|
||||
[node name="Crate2" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")]
|
||||
position = Vector2(630, 9)
|
||||
[node name="LargeCrate2" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")]
|
||||
position = Vector2(436, -220)
|
||||
|
||||
[node name="Crate3" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")]
|
||||
position = Vector2(269, 0)
|
||||
[node name="LargeCrate3" parent="." groups=["explodable", "pushable"] instance=ExtResource("1_uwrxv")]
|
||||
position = Vector2(669, -2)
|
||||
|
||||
[connection signal="body_entered" from="WorldBoundary" to="SceneManager" method="_on_world_boundary_body_entered"]
|
||||
[connection signal="trigger_fired" from="Trigger" to="." method="_on_trigger_fired"]
|
||||
[connection signal="trigger_fired" from="Trigger2" to="." method="_on_trigger_fired"]
|
||||
+3
-2
@@ -240,8 +240,9 @@ animations = [{
|
||||
}]
|
||||
|
||||
[node name="Grenade" type="RigidBody2D"]
|
||||
collision_layer = 4
|
||||
collision_mask = 7
|
||||
collision_layer = 8
|
||||
collision_mask = 14
|
||||
mass = 0.001
|
||||
contact_monitor = true
|
||||
max_contacts_reported = 2
|
||||
script = ExtResource("1_cvyik")
|
||||
|
||||
@@ -313,7 +313,6 @@ animations = [{
|
||||
[node name="Player" type="CharacterBody2D"]
|
||||
collision_mask = 6
|
||||
script = ExtResource("1_3vyb7")
|
||||
BUMP_POWER = 200
|
||||
metadata/_edit_group_ = true
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
|
||||
@@ -15,12 +15,15 @@ func _ready() -> void:
|
||||
|
||||
func explode() -> void:
|
||||
print("kaboom!")
|
||||
set_deferred("freeze", true)
|
||||
sprite_2d.visible = false
|
||||
animated_sprite_2d.play("explode")
|
||||
await animated_sprite_2d.animation_finished
|
||||
self.queue_free()
|
||||
|
||||
func _on_body_entered(body: Node) -> void:
|
||||
if body is Player:
|
||||
print("grenade hit player")
|
||||
print("grenade hit something")
|
||||
if body.is_in_group("explodable"):
|
||||
body.queue_free()
|
||||
|
||||
+3
-3
@@ -3,14 +3,14 @@ class_name Player extends CharacterBody2D
|
||||
## TODO: fix bullet cooldown timer
|
||||
|
||||
const SPEED = 200.0
|
||||
const JUMP_VELOCITY = -350.0
|
||||
const JUMP_VELOCITY = -500.0
|
||||
|
||||
enum FaceDirection{LEFT, RIGHT}
|
||||
enum State{IDLE, WALK, JUMP, FALLING, SHOOT_STILL, SHOOT_RUN}
|
||||
|
||||
@export var BUMP_POWER := 50
|
||||
@export var SHOVE_POWER := 300
|
||||
@export var ACCELERATION := 4
|
||||
@export var ACCELERATION := 10 ## Amount of "slide-y-ness" in side-to-side-movement
|
||||
@export var HARD_GRAVITY := 2
|
||||
|
||||
var current_state: State = State.IDLE
|
||||
@@ -122,7 +122,7 @@ func handle_collisions() -> void:
|
||||
|
||||
for i in get_slide_collision_count():
|
||||
var c = get_slide_collision(i)
|
||||
if c.get_collider() is RigidBody2D:
|
||||
if c.get_collider() is RigidBody2D and c.get_collider() is not Grenade:
|
||||
c.get_collider().apply_central_impulse(-c.get_normal() * BUMP_POWER)
|
||||
|
||||
if right_cast.is_colliding() and facing == FaceDirection.RIGHT:
|
||||
|
||||
@@ -31,3 +31,9 @@ func bullet_factory() -> Bullet:
|
||||
my_bullet = bullet_array.pop_back()
|
||||
bullet_array.push_front(my_bullet)
|
||||
return my_bullet
|
||||
|
||||
|
||||
func _on_world_boundary_body_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
var current_scene = get_tree()
|
||||
current_scene.call_deferred("reload_current_scene")
|
||||
Reference in new issue
Block a user